/* Journal-only editorial foundation. All selectors are rooted in publication
   page classes so the seven-app platform and its other products are untouched. */

:where(.pub-hero, .pub-section, .pub-front-package, .pub-latest, .pub-section-front, .publication-article, .pub-section-nav, .journal-ad, .journal-composed-block, .journal-composed-grid, .journal-composed-list, .pub-cta, .markets-strip) {
  /* Journal aliases resolve to the platform tokens (01-settings.css) so the
     journal cannot drift from the rest of the site. */
  --journal-ink: var(--ink);
  --journal-body: var(--ink);
  --journal-muted: var(--muted);
  --journal-rule: var(--hairline);
  --journal-rule-strong: var(--hairline);
  --journal-link: var(--brand-700);
  --journal-canvas: var(--paper);
  --journal-nav: var(--brand-900);
  --journal-live: #9f0000;
  --journal-new: #e34605;

  --journal-serif: var(--font-serif);
  --journal-sans: var(--font-sans);
  --journal-space-1: var(--space-1);
  --journal-space-2: var(--space-2);
  --journal-space-3: var(--space-3);
  --journal-space-4: var(--space-4);
  --journal-space-5: var(--space-5);
  --journal-space-6: var(--space-6);
  --journal-space-7: var(--space-7);
  --journal-space-8: var(--space-8);
  --journal-grid-margin: 20px;
  --journal-grid-gutter: 24px;
  --journal-content-max: 1144px;
  --journal-type-display: var(--weight-semibold) var(--text-display)/var(--leading-tight) var(--journal-serif);
  --journal-type-lead: var(--weight-semibold) var(--text-h1)/var(--leading-tight) var(--journal-serif);
  --journal-type-card: var(--weight-bold) var(--text-h3)/1.2 var(--journal-serif);
  --journal-type-body: var(--text-body)/var(--leading-body) var(--journal-serif);
  --journal-type-meta: var(--weight-semibold) var(--text-caption)/1.5 var(--journal-sans);
  color: var(--journal-body);
}

.journal-story__flag {
  display: inline-block;
  margin-right: 6px;
  color: var(--journal-ink);
  font-weight: 700;
}

.journal-story--lead .journal-story__headline {
  font-size: var(--text-h1);
  letter-spacing: -.025em;
}

/* Band leads support the page; only the front-page lead carries h1 size. */
.pub-section-front__lead .journal-story--lead .journal-story__headline {
  font-size: var(--text-h2);
  letter-spacing: -.015em;
}
.pub-section-front__lead .journal-story--lead .journal-story__standfirst { font-size: var(--text-body); }

.journal-story--lead .journal-story__standfirst {
  margin-top: 12px;
  font-size: var(--text-h3);
}

.journal-story--vertical .journal-story__media { margin-bottom: 12px; }

.journal-composed-list > .journal-story + .journal-story,
.pub-front-package__secondary-item + .pub-front-package__secondary-item {
  border-top: 1px dashed var(--journal-rule);
}

.article-share {
  display: none;
  font: var(--journal-type-meta);
}

.article-share__label { margin: 0 0 8px; text-transform: uppercase; letter-spacing: .08em; }
.article-share a,
.article-share button {
  display: block;
  width: 100%;
  padding: 8px 0;
  border: 0;
  border-top: 1px solid var(--journal-rule);
  background: transparent;
  color: var(--journal-link);
  font: inherit;
  text-align: left;
}

.article-contents,
.article-evidence-note,
.article-format-note {
  max-width: 680px;
  margin: 0 0 28px;
  padding: 16px 0;
  border-block: 1px solid var(--journal-rule-strong);
  font-family: var(--journal-sans);
}

.article-contents ol { margin: 10px 0 0; padding-left: 20px; }
.article-contents li + li { margin-top: 6px; }
.article-evidence-note { display: grid; gap: 6px; }

.publication-article--breaking .pub-hero { border-top: 5px solid var(--journal-live); }
.publication-article--breaking .pub-hero__kicker { color: var(--journal-live); }
.publication-article--analysis .pub-hero,
.publication-article--interview .pub-hero { background: var(--journal-canvas); }
.publication-article--investigation .pub-hero { border-top: 5px solid var(--journal-ink); }
.publication-article--feature .pub-hero__title { max-width: 980px; }
.publication-article--feature .article-body { max-width: 720px; }

.article-body figure,
.article-body table,
.article-body blockquote { margin-block: var(--space-6); }

.article-body img { display: block; width: 100%; height: auto; }

.article-image-pair { display: grid; gap: 16px; margin-block: var(--space-6); }
.article-image-pair figure,
.article-gallery figure { margin: 0; }
.article-image-pair img { aspect-ratio: 4 / 3; object-fit: cover; }
.article-gallery { margin-block: var(--space-6); }
.article-gallery__viewport img { aspect-ratio: 3 / 2; object-fit: cover; }
.article-gallery__controls { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--journal-rule); font: var(--journal-type-meta); }
.article-gallery__controls button { border: 0; background: transparent; color: var(--journal-link); font: inherit; }
.article-pull-quote { padding: 24px 0; border-block: 3px solid var(--journal-ink); font: var(--weight-bold) var(--text-h1)/1.25 var(--journal-serif); }
.article-pull-quote p { margin: 0; }
.article-pull-quote cite { display: block; margin-top: 12px; font: var(--journal-type-meta); }
.article-key-figure { display: grid; gap: 6px; margin-block: 28px; padding: 20px 0; border-block: 1px solid var(--journal-ink); }
.article-key-figure strong { font: var(--weight-bold) var(--text-h1)/1 var(--journal-serif); color: var(--journal-ink); }
.article-key-figure span { font: var(--journal-type-meta); }
.article-fact-box { margin-block: 28px; padding: 20px; border-top: 4px solid var(--journal-ink); background: var(--journal-canvas); }
.article-fact-box h2 { margin-top: 0; }
.article-table-wrap { max-width: 100%; margin-block: var(--space-6); overflow-x: auto; border-block: 1px solid var(--journal-ink); }
.article-table-wrap table { width: 100%; border-collapse: collapse; font-family: var(--journal-sans); }
.article-table-wrap caption { padding: 12px 0; font-weight: 700; text-align: left; }
.article-table-wrap th,
.article-table-wrap td { padding: 10px 12px; border-bottom: 1px solid var(--journal-rule); text-align: left; }
.article-inline-source { padding-left: 16px; border-left: 3px solid var(--journal-rule-strong); font: var(--text-small)/1.5 var(--journal-sans); }

@media (max-width: 47.99rem) {
  .journal-story--lead .journal-story__media,
  .publication-article .article-media:first-child,
  .article-gallery__viewport {
    margin-inline: -20px;
  }
  .journal-story--horizontal { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  .journal-story--horizontal .journal-story__standfirst { display: none; }
  .journal-composed-grid--three .journal-story:nth-child(n+2) .journal-story__media { display: none; }
  .pub-front-package__secondary-item { padding-block: 14px; }
  .publication-article .pub-hero__title { text-wrap: pretty; }
}

@media (min-width: 27.5rem) {
  :where(.pub-hero, .pub-section, .pub-front-package, .pub-latest, .pub-section-front, .publication-article) {
    --journal-grid-margin: 24px;
    --journal-grid-gutter: 32px;
  }
}

/* Masthead and section navigation */
.journal-masthead {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  padding: 30px 0 20px;
  overflow: visible;
  border-bottom: 1px solid var(--journal-rule-strong);
  background: #fff;
  color: var(--journal-ink);
  text-align: center;
}

.journal-masthead .pub-hero__kicker,
.journal-masthead .pub-hero__dateline {
  font-family: var(--journal-sans);
  font-size: var(--text-caption);
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--journal-muted);
}

.journal-masthead .pub-hero__title {
  margin: 5px auto;
  font-family: var(--journal-serif);
  font-size: var(--text-display);
  line-height: 1.125;
  letter-spacing: -.035em;
  color: var(--journal-ink);
}

.journal-masthead .pub-hero__title a {
  color: inherit;
  text-decoration: none;
}

.journal-masthead .pub-hero__lede {
  margin: 5px auto 0;
  font-family: var(--journal-serif);
  font-size: var(--text-body);
  line-height: 1.5;
  color: var(--journal-muted);
}

.pub-section-nav {
  min-height: 50px;
  margin: 0;
  padding-inline: 0;
  overflow-x: auto;
  border: 0;
  background: var(--journal-nav);
  scrollbar-width: thin;
}

/* Sticky desk rail (Times secondary-nav pattern) under the sticky site
   chrome. Full-bleed dark band via the box-shadow/clip-path technique so the
   centered wrap does not clip the band edges. Journal pages force the chrome
   row to 72px (lane-publication.css), so the offset is 72px, not --header-h.
   Sticky only at and above 48rem: mobile chrome height varies. */
.journal-desk-rail {
  margin-bottom: var(--space-5);
  background: var(--journal-nav);
}
@media (min-width: 48rem) {
  .journal-desk-rail {
    position: sticky;
    top: 72px;
    z-index: var(--z-sticky);
    box-shadow: 0 0 0 100vmax var(--journal-nav);
    clip-path: inset(0 -100vmax);
  }
}

/* Scroll-mask edges, toggled by journal.js when the rail can scroll. */
.pub-section-nav.journal-nav--can-scroll-back .pub-section-nav__list {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 24px);
  mask-image: linear-gradient(to right, transparent, #000 24px);
}
.pub-section-nav.journal-nav--can-scroll-forward .pub-section-nav__list {
  -webkit-mask-image: linear-gradient(to left, transparent, #000 24px);
  mask-image: linear-gradient(to left, transparent, #000 24px);
}
.pub-section-nav.journal-nav--can-scroll-back.journal-nav--can-scroll-forward .pub-section-nav__list {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}

.pub-section-nav__list {
  display: flex;
  width: max-content;
  min-width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0;
  align-items: stretch;
  gap: 0;
  list-style: none;
}

.pub-section-nav__item { display: flex; }

.pub-section-nav__link {
  display: flex;
  min-height: 50px;
  align-items: center;
  padding: 0 14px;
  border: 0;
  font-family: var(--journal-sans);
  font-size: var(--text-small);
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}

.pub-section-nav__link:hover,
.pub-section-nav__link:focus-visible,
.pub-section-nav__link--active {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 5px;
}

/* Advertising reservations prevent layout shift before an ad server exists. */
.journal-ad {
  display: grid;
  place-items: center;
  width: 100%;
  margin: 20px auto 30px;
  border-block: 1px solid var(--journal-rule);
  background: var(--journal-canvas);
  color: var(--journal-muted);
  font-family: var(--journal-sans);
  text-align: center;
  padding-bottom: 24px;
}

.journal-ad--header { min-height: 90px; }
.journal-ad--inline { min-height: 100px; }
.journal-ad--rail { min-height: 250px; }
.journal-ad--footer { min-height: 100px; }
.journal-ad__label {
  align-self: end;
  font-size: var(--text-caption);
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.journal-ad__creative {
  align-self: start;
  padding-top: 10px;
  font-size: var(--text-caption);
}

/* Front packages reproduce the inspected ruled, asymmetric newspaper grid. */
.pub-front-package,
.pub-latest,
.pub-section-front {
  margin-block: 30px;
  padding-top: 15px;
  border-top: 1px solid var(--journal-ink);
}

.pub-front-package__lead,
.pub-section-front__lead {
  min-width: 0;
}

.pub-front-package__lead img,
.pub-section-front__lead img,
.pub-analysis-card img,
.journal-story__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

@media (min-width: 64rem) {
  .pub-front-package__lead img,
  .journal-story--lead .journal-story__media img { aspect-ratio: 16 / 9; }
}

.pub-featured__title {
  margin: 10px 0;
  font-family: var(--journal-serif);
  font-size: var(--text-h1);
  font-weight: 800;
  line-height: 1.125;
  letter-spacing: 0em;
  text-wrap: balance;
}

.pub-featured__title a,
.pub-card__title a,
.pub-most-read__headline a,
.pub-section__lead-title a,
.pub-section__headline a,
.journal-story__headline a {
  color: var(--journal-ink);
  text-decoration: none;
}

.pub-featured__title a:hover,
.pub-card__title a:hover,
.pub-most-read__headline a:hover,
.pub-section__lead-title a:hover,
.pub-section__headline a:hover,
.journal-story__headline a:hover {
  color: var(--journal-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pub-featured__summary,
.pub-card__summary,
.pub-section__standfirst,
.pub-section__lead-standfirst,
.journal-story__standfirst {
  font-family: var(--journal-serif);
  line-height: 1.5;
  color: var(--journal-muted);
}

.pub-meta,
.pub-section__meta,
.journal-story__meta {
  font-family: var(--journal-sans);
  font-size: var(--text-caption);
  line-height: 1.5;
  color: var(--journal-muted);
}

/* R1 WS4: signpost row carries the desk identity; meta row is quiet data. */
.journal-story__signpost {
  margin: 0 0 2px;
  font-family: var(--journal-sans);
  font-size: var(--text-caption);
  font-weight: var(--weight-semibold);
  line-height: 1.5;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}
.journal-story__signpost .journal-story__flag { margin-right: var(--space-1); }
.journal-story__badge {
  display: inline-block;
  margin-right: var(--space-2);
  color: var(--live);
}
.journal-story__meta { margin: 0; }
.journal-story__meta time { color: var(--journal-muted); }

/* R1 WS4: read-time suppressed on narrow cards; compact hides media. */
@media (max-width: 47.99rem) {
  .journal-story__readtime { display: none; }
}
.journal-story--compact .journal-story__media { display: none; }

.pub-front-package__secondary-item,
.pub-list__item,
.pub-section-front__supporting > li,
.pub-analysis-card {
  padding-block: 16px;
  border-top: 1px solid var(--journal-rule);
}

.pub-card__title,
.pub-most-read__headline,
.journal-story__headline {
  margin: 5px 0;
  font-family: var(--journal-serif);
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
}

.pub-section-front__header,
.pub-latest__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--journal-rule-strong);
}

.pub-section-front__title,
.pub-latest__title {
  margin: 0 0 -1px;
  padding: 0 16px 8px 0;
  border-bottom: 3px solid var(--journal-ink);
  font-family: var(--journal-serif);
  font-size: var(--text-h1);
  font-weight: 800;
  line-height: 1.125;
  letter-spacing: 0em;
  color: var(--journal-link);
}

.pub-section-front__link,
.pub-latest__feed a {
  font-family: var(--journal-sans);
  font-size: var(--text-small);
  font-weight: 600;
  color: var(--journal-link);
}

.pub-most-read__item {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  padding-block: var(--space-3);
  border-top: 1px solid var(--journal-rule);
}

.pub-most-read__number {
  font-family: var(--journal-serif);
  font-size: var(--text-h2);
  line-height: 1;
  color: var(--journal-muted);
  text-align: right;
}

.pub-most-read.journal-composed-block {
  border-top: 2px solid var(--journal-ink);
  padding-top: var(--space-2);
}
/* Reusable story partial. */
.journal-story { min-width: 0; }
.journal-story__content { min-width: 0; }
.journal-story--horizontal {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.journal-story--horizontal:has(.journal-story__media) { grid-template-columns: 98px 1fr; }
/* R1 R5: media frame locks to 3:2 instead of stretching with row height. */
.journal-story--horizontal .journal-story__media {
  aspect-ratio: 3 / 2;
  align-self: start;
  overflow: hidden;
}
.journal-story--horizontal .journal-story__media img { height: 100%; }
.journal-story--compact { grid-template-columns: 1fr; }

/* R1 recovery: text-only lead package keeps full width. */
.o-media--text-only { display: block; }

.journal-composed-block,
.journal-composed-grid,
.journal-composed-list {
  margin-block: 30px;
  padding-block-start: 15px;
  border-block-start: 1px solid var(--journal-ink, var(--journal-ink));
}

.journal-composed-grid,
.journal-composed-list {
  display: grid;
  gap: 16px;
}

.journal-composed-grid > .journal-story,
.journal-composed-list > .journal-story {
  padding-block: var(--space-3);
  border-block-start: 1px dashed var(--journal-rule, var(--journal-rule));
}

/* R1 WS5: latest stream meta row — date on a fixed column, right-aligned. */
.journal-composed-list .journal-story__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
}
.journal-composed-list .journal-story__meta time {
  min-width: 92px;
}

.journal-composed-rule {
  border: 0;
  border-block-start: 1px solid var(--journal-rule, var(--journal-rule));
  margin-block: 30px;
}

/* Desk identity: signpost and band rule take the desk accent color.
   Tokens in 01-settings.css; values mapped in logs/r1_desk_mapping.csv. */
.desk-supply-chain .journal-story__desk, .desk-supply-chain .pub-section-front__title { color: var(--desk-supply-chain); }
.desk-trade .journal-story__desk, .desk-trade .pub-section-front__title { color: var(--desk-trade); }
.desk-manufacturing .journal-story__desk, .desk-manufacturing .pub-section-front__title { color: var(--desk-manufacturing); }
.desk-materials .journal-story__desk, .desk-materials .pub-section-front__title { color: var(--desk-materials); }
.desk-procurement .journal-story__desk, .desk-procurement .pub-section-front__title { color: var(--desk-procurement); }
.desk-corporate-deals .journal-story__desk, .desk-corporate-deals .pub-section-front__title { color: var(--desk-corporate-deals); }
.desk-policy .journal-story__desk, .desk-policy .pub-section-front__title { color: var(--desk-policy); }
.desk-markets .journal-story__desk, .desk-markets .pub-section-front__title { color: var(--desk-markets); }
.desk-supply-chain.pub-section-front { border-top-color: var(--desk-supply-chain); }
.desk-trade.pub-section-front { border-top-color: var(--desk-trade); }
.desk-manufacturing.pub-section-front { border-top-color: var(--desk-manufacturing); }
.desk-materials.pub-section-front { border-top-color: var(--desk-materials); }
.desk-procurement.pub-section-front { border-top-color: var(--desk-procurement); }
.desk-corporate-deals.pub-section-front { border-top-color: var(--desk-corporate-deals); }
.desk-policy.pub-section-front { border-top-color: var(--desk-policy); }
.desk-markets.pub-section-front { border-top-color: var(--desk-markets); }

/* Byline signpost takes the desk accent (beats .publication-article base rule). */
.publication-article .article-byline.desk-supply-chain .article-byline__desk { color: var(--desk-supply-chain); }
.publication-article .article-byline.desk-trade .article-byline__desk { color: var(--desk-trade); }
.publication-article .article-byline.desk-manufacturing .article-byline__desk { color: var(--desk-manufacturing); }
.publication-article .article-byline.desk-materials .article-byline__desk { color: var(--desk-materials); }
.publication-article .article-byline.desk-procurement .article-byline__desk { color: var(--desk-procurement); }
.publication-article .article-byline.desk-corporate-deals .article-byline__desk { color: var(--desk-corporate-deals); }
.publication-article .article-byline.desk-policy .article-byline__desk { color: var(--desk-policy); }
.publication-article .article-byline.desk-markets .article-byline__desk { color: var(--desk-markets); }
.journal-section.desk-supply-chain .pub-section__header { border-bottom-color: var(--desk-supply-chain); }
.journal-section.desk-trade .pub-section__header { border-bottom-color: var(--desk-trade); }
.journal-section.desk-manufacturing .pub-section__header { border-bottom-color: var(--desk-manufacturing); }
.journal-section.desk-materials .pub-section__header { border-bottom-color: var(--desk-materials); }
.journal-section.desk-procurement .pub-section__header { border-bottom-color: var(--desk-procurement); }
.journal-section.desk-corporate-deals .pub-section__header { border-bottom-color: var(--desk-corporate-deals); }
.journal-section.desk-policy .pub-section__header { border-bottom-color: var(--desk-policy); }
.journal-section.desk-markets .pub-section__header { border-bottom-color: var(--desk-markets); }
.journal-desk-rail.desk-supply-chain .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-supply-chain); }
.journal-desk-rail.desk-trade .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-trade); }
.journal-desk-rail.desk-manufacturing .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-manufacturing); }
.journal-desk-rail.desk-materials .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-materials); }
.journal-desk-rail.desk-procurement .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-procurement); }
.journal-desk-rail.desk-corporate-deals .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-corporate-deals); }
.journal-desk-rail.desk-policy .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-policy); }
.journal-desk-rail.desk-markets .pub-section-nav__link--active { box-shadow: inset 0 -2px 0 var(--desk-markets); }

/* Empty-state signpost takes the desk accent. */
.journal-section.desk-supply-chain .empty-state__signpost { color: var(--desk-supply-chain); }
.journal-section.desk-trade .empty-state__signpost { color: var(--desk-trade); }
.journal-section.desk-manufacturing .empty-state__signpost { color: var(--desk-manufacturing); }
.journal-section.desk-materials .empty-state__signpost { color: var(--desk-materials); }
.journal-section.desk-procurement .empty-state__signpost { color: var(--desk-procurement); }
.journal-section.desk-corporate-deals .empty-state__signpost { color: var(--desk-corporate-deals); }
.journal-section.desk-policy .empty-state__signpost { color: var(--desk-policy); }
.journal-section.desk-markets .empty-state__signpost { color: var(--desk-markets); }

/* Section lead metadata desk label takes the desk accent. */
.journal-section.desk-supply-chain .pub-section__meta-desk { color: var(--desk-supply-chain); }
.journal-section.desk-trade .pub-section__meta-desk { color: var(--desk-trade); }
.journal-section.desk-manufacturing .pub-section__meta-desk { color: var(--desk-manufacturing); }
.journal-section.desk-materials .pub-section__meta-desk { color: var(--desk-materials); }
.journal-section.desk-procurement .pub-section__meta-desk { color: var(--desk-procurement); }
.journal-section.desk-corporate-deals .pub-section__meta-desk { color: var(--desk-corporate-deals); }
.journal-section.desk-policy .pub-section__meta-desk { color: var(--desk-policy); }
.journal-section.desk-markets .pub-section__meta-desk { color: var(--desk-markets); }

/* Desk hover: links darken to the 800 level. */
.desk-supply-chain .journal-story__headline a:hover, .desk-supply-chain .journal-story__headline a:focus-visible, .journal-section.desk-supply-chain .pub-section__lead-title a:hover { color: var(--desk-supply-chain-800); }
.desk-trade .journal-story__headline a:hover, .desk-trade .journal-story__headline a:focus-visible, .journal-section.desk-trade .pub-section__lead-title a:hover { color: var(--desk-trade-800); }
.desk-manufacturing .journal-story__headline a:hover, .desk-manufacturing .journal-story__headline a:focus-visible, .journal-section.desk-manufacturing .pub-section__lead-title a:hover { color: var(--desk-manufacturing-800); }
.desk-materials .journal-story__headline a:hover, .desk-materials .journal-story__headline a:focus-visible, .journal-section.desk-materials .pub-section__lead-title a:hover { color: var(--desk-materials-800); }
.desk-procurement .journal-story__headline a:hover, .desk-procurement .journal-story__headline a:focus-visible, .journal-section.desk-procurement .pub-section__lead-title a:hover { color: var(--desk-procurement-800); }
.desk-corporate-deals .journal-story__headline a:hover, .desk-corporate-deals .journal-story__headline a:focus-visible, .journal-section.desk-corporate-deals .pub-section__lead-title a:hover { color: var(--desk-corporate-deals-800); }
.desk-policy .journal-story__headline a:hover, .desk-policy .journal-story__headline a:focus-visible, .journal-section.desk-policy .pub-section__lead-title a:hover { color: var(--desk-policy-800); }
.desk-markets .journal-story__headline a:hover, .desk-markets .journal-story__headline a:focus-visible, .journal-section.desk-markets .pub-section__lead-title a:hover { color: var(--desk-markets-800); }
.empty-state__signpost {
  margin: 0 0 var(--space-2);
  font-family: var(--journal-sans);
  font-size: var(--text-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

/* Dark full-width band (Times source pattern, mapped to journal nav ink). */
.pub-cta--inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "kicker form"
    "title form"
    "body form";
  gap: 4px 40px;
  align-items: start;
  margin-block: var(--space-6);
  padding: 24px max(20px, calc((100vw - 1144px) / 2));
  background: var(--journal-nav);
  color: #fff;
  text-align: left;
}
.pub-cta--inline .pub-cta__body { max-width: none; }
.pub-cta--inline .pub-cta__kicker { grid-area: kicker; }
.pub-cta--inline .pub-cta__title { grid-area: title; }
.pub-cta--inline .pub-cta__body { grid-area: body; }
.pub-cta--inline .newsletter-form { grid-area: form; margin-top: 0; }
.pub-cta--inline .pub-cta__kicker { color: #fff; opacity: .7; }
.pub-cta--inline .pub-cta__title,
.pub-cta--inline .pub-cta__body { color: #fff; }
.pub-cta--inline .newsletter-form__label,
.pub-cta--inline .newsletter-form__note,
.pub-cta--inline .newsletter-form__privacy { color: rgba(255, 255, 255, .75); }
.pub-cta--inline .newsletter-form__input {
  border-color: rgba(255, 255, 255, .35);
  background: #fff;
}
.pub-cta--inline .newsletter-form__input:focus-visible { outline-color: #fff; }
.pub-cta--inline .newsletter-form__privacy a { color: #fff; }

/* Section front */
.journal-section {
  padding-block: 30px 60px;
}

.journal-section .pub-section__header {
  padding-bottom: 15px;
  border-bottom: 1px solid var(--journal-ink);
}

/* R1 WS8: solo-desk layout — lead spans full width, no dead rail column. */
.journal-section .pub-section__grid--solo { display: block; }

.journal-section .pub-section__signpost {
  font: var(--journal-type-meta);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.journal-section .pub-section__title {
  margin: 5px 0;
  font: var(--journal-type-display);
  letter-spacing: -.03em;
}

.journal-section .pub-section__description {
  max-width: 680px;
  font: var(--text-h4)/var(--leading-body) var(--journal-serif);
  color: var(--journal-muted);
}

/* Index family (latest, author) rides the platform wrap. Latest renders its
   wrapper as `main > .o-wrap.pub-section.journal-section`; author renders
   `main > .o-wrap` wrapping `.pub-section-front`. The front wrapper
   (`.journal-front-page`) also contains `.pub-section-front` sections and is
   excluded with :not() so front grids keep their own rhythm. */
body:has(.pub-hero--landing) main > .o-wrap.pub-section.journal-section,
body:has(.pub-hero--landing) main > .o-wrap:has(.pub-section-front):not(.journal-front-page) {
  width: min(100% - 2 * var(--space-5), var(--wrap-max));
}

@media (max-width: 40rem) {
  body:has(.pub-hero--landing) main > .o-wrap.pub-section.journal-section,
  body:has(.pub-hero--landing) main > .o-wrap:has(.pub-section-front):not(.journal-front-page) {
    width: min(100% - 2 * var(--space-4), var(--wrap-max));
  }
}

/* Author index h1 uses the display register. The author view loads
   lane-publication-article.css, whose generic `.pub-hero__title` defaults to
   --text-display; scope the journal index title to the same ramp. */
.pub-hero--author .pub-hero__title {
  font-size: var(--text-display);
  line-height: 1.125;
}

.journal-section .pub-section__lead-title {
  margin: 10px 0;
  font: var(--journal-type-lead);
  letter-spacing: -.02em;
}

.journal-section .pub-section__headline {
  margin: 5px 0;
  font: var(--journal-type-card);
}

.journal-section .pub-section__item {
  padding-block: 20px;
  border-top: 1px solid var(--journal-rule);
}

/* Article geometry from the inspected article page. */
.publication-article > .pub-hero {
  padding-block: 30px 20px;
  background: #fff;
  color: var(--journal-ink);
}

.publication-article > .pub-hero > .o-wrap {
  width: min(calc(100% - 40px), 1142px);
}

.publication-article .article-crumbs,
.publication-article .pub-hero__kicker,
.publication-article .pub-hero__title,
.publication-article .article-byline,
.publication-article .pub-hero__lede {
  margin-inline: auto;
}

.publication-article .pub-hero__title {
  font-family: var(--journal-serif);
  font-size: var(--text-h1);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.022em;
  color: var(--journal-ink);
}

.publication-article .pub-hero__lede {
  margin-top: 16px;
  font-family: var(--journal-serif);
  font-size: var(--text-h3);
  line-height: 1.3;
  color: var(--journal-body);
}

.publication-article .article-byline {
  margin-top: 20px;
  border-top-color: var(--journal-ink);
  font-family: var(--journal-sans);
}

.publication-article .article-layout {
  width: min(calc(100% - 40px), 1142px);
}

.publication-article .article-body {
  max-width: 680px;
  font-family: var(--journal-serif);
  font-size: var(--text-body);
  line-height: 1.5;
  color: var(--journal-body);
}

.publication-article .article-body h2,
.publication-article .article-related__name,
.publication-article .article-subscribe__title,
.publication-article .article-citations__title {
  font-family: var(--journal-serif);
  color: var(--journal-ink);
}

.publication-article .article-body .article-subhead {
  margin: 40px 0 8px;
  font-size: var(--text-h2);
  line-height: 1.2;
  letter-spacing: -.01em;
}

.publication-article .article-citations,
.publication-article .article-methodology,
.publication-article .article-related,
.publication-article .article-subscribe {
  border-top-color: var(--journal-ink);
}

@media (min-width: 32.5rem) {
  .pub-front-package__secondary {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    column-gap: 16px;
  }
  .pub-front-package__secondary::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    background: var(--journal-rule);
  }
  .pub-front-package__secondary-item:nth-child(1) { grid-column: 1; }
  .pub-front-package__secondary-item:nth-child(2) { grid-column: 3; }
}

@media (min-width: 48rem) {
  .article-image-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .journal-composed-list .journal-story--horizontal:has(.journal-story__media) { grid-template-columns: 168px minmax(0, 1fr); }
  .pub-section-nav {
    height: 61px;
    min-height: 61px;
  }
  .pub-section-nav__list,
  .pub-section-nav__item,
  .pub-section-nav__link {
    height: 60px;
    min-height: 60px;
  }

  .journal-ad--header { min-height: 267px; }
  .publication-article .journal-ad--header { min-height: 250px; }

  .publication-article .article-crumbs,
  .publication-article .pub-hero__kicker,
  .publication-article .pub-hero__title,
  .publication-article .article-byline,
  .publication-article .pub-hero__lede { width: 80.8%; }

  .publication-article .pub-hero__title {
    font-size: var(--text-display);
    line-height: 1.125;
  }
  .publication-article .pub-hero__lede {
    font-size: var(--text-h3);
    line-height: 1.5;
  }

  .pub-analysis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 32px;
  }

  .journal-composed-grid--three {
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    column-gap: 16px;
  }
  .journal-composed-grid--three > .journal-story:nth-child(1) { grid-column: 1; }
  .journal-composed-grid--three > .journal-story:nth-child(2) { grid-column: 3; }
  .journal-composed-grid--three > .journal-story:nth-child(3) { grid-column: 5; }
}

@media (min-width: 64rem) {
  .journal-composed-block,
  .journal-composed-grid,
  .journal-composed-list { margin-block: 40px; }
  .article-layout {
    display: grid;
    grid-template-columns: 72px minmax(0, 760px) minmax(200px, 1fr);
    gap: 32px;
  }
  .article-share {
    display: block;
    position: sticky;
    top: 96px;
    align-self: start;
  }
  .article-main { min-width: 0; }
  .article-rail { min-width: 0; }
  .journal-composed-grid--asymmetric {
    grid-template-columns: 432px 1px minmax(0, 1fr);
    column-gap: 20px;
  }

  .pub-front-package {
    display: grid;
    grid-template-columns: minmax(0, 2fr) 1px minmax(280px, 1fr);
    column-gap: 20px;
  }
  .pub-front-package::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    background: var(--journal-rule);
  }
  .pub-front-package__lead { grid-column: 1; grid-row: 1; }
  .pub-front-package__secondary {
    grid-column: 3;
    grid-row: 1;
    display: block;
  }

  .pub-latest__grid,
  .pub-section-front__grid,
  .journal-section .pub-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) 1px minmax(280px, 1fr);
    column-gap: 20px;
  }
  .pub-latest__grid::before,
  .pub-section-front__grid::before,
  .journal-section .pub-section__grid::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    background: var(--journal-rule);
  }
  .pub-latest__stream,
  .pub-section-front__lead,
  .journal-section .pub-section__lead { grid-column: 1; grid-row: 1; }
  .pub-most-read,
  .pub-section-front__supporting,
  .journal-section .pub-section__list { grid-column: 3; grid-row: 1; }

  .pub-analysis-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 80rem) {
  .publication-article .article-crumbs,
  .publication-article .pub-hero__kicker,
  .publication-article .pub-hero__title,
  .publication-article .article-byline,
  .publication-article .pub-hero__lede { width: 56.2%; }
}

@media (prefers-reduced-motion: reduce) {
  :where(.pub-section-nav, .publication-article, .journal-story) * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  .journal-ad { display: none !important; }
}

body:has(.journal-front-page) main > .o-wrap,
.pub-hero--landing .o-wrap {
  width: min(100% - 2 * var(--space-5), var(--wrap-max));
}

.pub-hero--landing.journal-masthead {
  min-height: 0;
  padding-block: var(--space-3);
}

/* Landing page: nameplate only. The kicker and mission lede push the first
   story out of the first viewport; the paper's identity is the nameplate. */
.pub-hero--landing.journal-masthead .pub-hero__kicker,
.pub-hero--landing.journal-masthead .pub-hero__lede {
  display: none;
}

/* Article pages: compact nameplate, not the landing masthead. The article
   carries its own hero; the masthead here is just the paper's identity. */
.journal-masthead--compact {
  padding-block: 10px 6px;
}

.journal-masthead--compact .pub-hero__kicker,
.journal-masthead--compact .pub-hero__lede {
  display: none;
}

.journal-masthead--compact .pub-hero__title {
  margin: 0;
  font-size: var(--text-h1);
  letter-spacing: -.02em;
}

.pub-hero--landing.journal-masthead .pub-hero__kicker {
  margin-bottom: 4px;
  font-size: var(--text-caption);
  line-height: 1.2;
}

.pub-hero--landing.journal-masthead .pub-hero__title {
  margin: 2px auto;
  font-size: var(--text-display);
  font-weight: 700;
  line-height: 1.125;
  letter-spacing: -.025em;
}

.pub-hero--landing.journal-masthead .pub-hero__lede {
  margin: 2px auto 0;
  font-size: var(--text-small);
  line-height: 1.25;
}

.pub-hero--landing.journal-masthead .pub-hero__dateline {
  margin-top: 8px;
  padding-block: 6px 0;
  font-size: var(--text-caption);
  line-height: 1.35;
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

.pub-section-nav,
.pub-section-nav__list,
.pub-section-nav__link { min-height: 48px; }

.pub-section-nav {
  margin-bottom: 0;
  scrollbar-width: none;
}

.pub-section-nav::-webkit-scrollbar { display: none; }

.journal-ad--header {
  margin-top: 0;
  margin-bottom: 20px;
}

.pub-front-package,
.pub-latest,
.pub-section-front {
  margin-block: var(--space-6);
  padding-top: 12px;
  border-top-width: 1px;
}

.pub-front-package__lead .pub-front-package__media {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pub-front-package__lead-body { order: 1; }
.pub-front-package__lead-media { order: 2; margin: 0; }

.pub-front-package .pub-featured__title {
  max-width: none;
  margin: 5px 0 0;
  font-size: var(--text-h1);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
}

.pub-front-package .pub-featured__summary {
  margin-top: 8px;
  font-size: var(--text-body);
  line-height: 1.25;
}

.pub-front-package__secondary {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: 156px;
  gap: 0;
  margin-top: 20px;
  overflow-x: auto;
  border-top: 1px solid var(--journal-rule);
  scrollbar-width: none;
}

.pub-front-package__secondary::-webkit-scrollbar { display: none; }
.pub-front-package__secondary::before { display: none; }

.pub-front-package .pub-front-package__secondary-item {
  padding: 12px;
  border-top: 0;
  border-left: 1px solid var(--journal-rule);
}

.pub-front-package .pub-front-package__secondary-item:first-child {
  padding-left: 0;
  border-left: 0;
}

.pub-front-package__secondary-item .pub-card__title,
.pub-card__title {
  margin: 5px 0;
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.pub-front-package__secondary .pub-card__summary { display: none; }

/* R1 WS3: rail card type — h4 headlines, clamped standfirsts. */
.pub-front-package__secondary-item .journal-story__headline { font-size: var(--text-h4); }
.pub-front-package__secondary-item .journal-story__standfirst {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.journal-story--lead .journal-story__standfirst {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.pub-most-read__headline {
  font-size: var(--text-h4);
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pub-list--latest .pub-card__title {
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.5;
}

.pub-section-directory {
  display: grid;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.pub-section-directory .pub-section-front {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--journal-ink);
}

.pub-section-front {
  padding-top: 0;
  border-top: 3px solid var(--journal-link);
}

.pub-section-front__header,
.pub-latest__header {
  min-height: 72px;
  margin-bottom: 12px;
  padding: 12px 20px;
  align-items: center;
}

.pub-section-front__title,
.pub-latest__title {
  padding: 0;
  border-bottom: 0;
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.pub-section-directory .pub-section-front__lead .pub-featured__title {
  font-size: var(--text-h2);
  font-weight: 700;
  line-height: 1.5;
}

.pub-section-front__lead .pub-featured__title {
  font-size: var(--text-h1);
  font-weight: 700;
  line-height: 1.125;
}

.pub-section-front__lead .pub-featured__summary {
  font-size: var(--text-body);
  line-height: 1.25;
}

@media (min-width: 48rem) {
  .pub-section-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }



  .pub-section-nav__list,
  .pub-section-nav__item,
  .pub-section-nav__link {
    height: 60px;
    min-height: 60px;
  }

  .pub-front-package__lead .pub-front-package__media {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
  }

  .pub-front-package__lead-body { grid-column: 1; grid-row: 1; }
  .pub-front-package__lead-media { grid-column: 2; grid-row: 1; }

  .pub-section-front,
  .pub-latest { border-top: 1px solid var(--journal-ink); }

  .pub-section-front__header,
  .pub-latest__header { padding-inline: 0; }

  .pub-section-front__title,
  .pub-latest__title {
    font-size: var(--text-h2);
    line-height: 1.5;
  }
}

@media (min-width: 64rem) {


  .pub-front-package,
  .pub-latest__grid {
    grid-template-columns: minmax(0, 2.6fr) 1px minmax(15rem, 0.9fr);
    column-gap: 17px;
  }

  .pub-section-directory .pub-section-front__grid {
    display: block;
  }

  .pub-section-directory .pub-section-front__grid::before {
    display: none;
  }

  .pub-section-directory .pub-section-front__lead,
  .pub-section-directory .pub-section-front__supporting {
    display: block;
    margin-top: 0;
    padding-left: 0;
    border-left: 0;
  }

  .pub-front-package__secondary {
    display: block;
    margin-top: 0;
    overflow: visible;
    border-top: 0;
  }

  .pub-front-package .pub-front-package__secondary-item {
    padding: 12px 0;
    border-left: 0;
    border-top: 1px solid var(--journal-rule);
  }

  .pub-front-package .pub-front-package__secondary-item:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .pub-front-package__secondary-item .pub-card__title {
    font-size: var(--text-h3);
    line-height: 1.5;
  }

  .pub-front-package .pub-featured__summary,
  .pub-section-front__lead .pub-featured__summary {
    font-size: var(--text-small);
    line-height: 1.25;
  }
}

@media (min-width: 80rem) {


  .pub-front-package,
  .pub-latest__grid {
    grid-template-columns: minmax(0, 1fr) 1px 320px;
    column-gap: 16px;
  }

  .pub-front-package__secondary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }

  .pub-front-package .pub-front-package__secondary-item:nth-child(2n) {
    padding-left: 16px;
    border-left: 1px solid var(--journal-rule);
  }

  .pub-front-package__secondary .pub-card__summary {
    display: -webkit-box;
  }
}

body:has(.pub-hero--landing) .pub-section-nav {
  position: sticky;
  top: var(--header-h);
  z-index: 20;
  margin-top: 0;
  margin-bottom: 0;
  border-top: 0;
  border-bottom: 1px solid var(--journal-rule);
  background: #fff;
}

body:has(.pub-hero--landing) .pub-section-nav__list { gap: 0; }

body:has(.pub-hero--landing) .pub-section-nav__link {
  padding: 0 16px;
  border-bottom: 3px solid transparent;
  color: var(--brand-900);
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: none;
}

body:has(.pub-hero--landing) .pub-section-nav__link:hover,
body:has(.pub-hero--landing) .pub-section-nav__link:focus-visible,
body:has(.pub-hero--landing) .pub-section-nav__link--active {
  border-bottom-color: var(--brand-900);
  background: transparent;
  color: var(--brand-900);
  text-decoration: none;
}


/* Full-page flow pass: preserve the inspected four-story rail at every
   breakpoint and neutralize older explicit child placements. */
.pub-front-package .pub-front-package__secondary > .pub-front-package__secondary-item {
  grid-column: auto;
}

.pub-front-package,
.pub-latest,
.pub-section-front {
  margin-block: 20px;
}


@media (min-width: 48rem) and (max-width: 63.99rem) {
  .pub-front-package__secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    column-gap: 16px;
    overflow: visible;
  }

  .pub-front-package .pub-front-package__secondary-item {
    padding: 12px 0 0;
    border-top: 0;
    border-left: 0;
  }

  .pub-front-package .pub-front-package__secondary-item + .pub-front-package__secondary-item {
    padding-left: 16px;
    border-left: 1px solid var(--journal-rule);
  }
}

@media (min-width: 64rem) {
  .pub-front-package__secondary {
    padding-left: 0;
    border-left: 0;
  }
}

@media (min-width: 80rem) {
  .pub-front-package__secondary {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .pub-front-package .pub-front-package__secondary-item {
    padding: 0 0 16px;
    border-top: 0;
    border-left: 0;
  }

  .pub-front-package .pub-front-package__secondary-item:nth-child(n + 3) {
    padding-top: 16px;
    border-top: 1px solid var(--journal-rule);
  }
}

/* Four-card features package with the reference's 16px gutters and vertical
   hairlines. */
.pub-section-front--analysis .pub-analysis-grid {
  column-gap: 16px;
  row-gap: 20px;
}

.pub-section-front--analysis .pub-analysis-card {
  position: relative;
  min-width: 0;
  padding: 12px 0 0;
}

.pub-section-front--analysis .pub-analysis-card + .pub-analysis-card::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 0;
  left: calc(var(--journal-gutter, 16px) / -2);
  border-left: 1px solid var(--journal-rule);
}

.pub-section-front--analysis .pub-card__summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .pub-section-front--analysis .pub-analysis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .pub-section-front--analysis .pub-analysis-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Keep the closing advertisement and provenance in the same compact 20px
   vertical rhythm used between inspected editorial slices. */
.o-wrap > .journal-ad--footer {
  min-height: 90px;
  margin: 20px auto 0;
}

.pub-provenance {
  display: grid;
  grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 1.8fr);
  gap: 12px 32px;
  margin-top: var(--space-6);
  padding: 20px 24px;
  border: 1px solid var(--journal-rule);
  border-top: 2px solid var(--journal-ink);
  border-radius: 2px;
  background: #fff;
}

.pub-provenance__body { max-width: none; margin: 0; }
.pub-provenance__links { grid-column: 2; margin: 0; }

@media (max-width: 47.99rem) {
  .pub-cta--inline {
    display: block;
    margin-block: var(--space-6);
    padding: 24px 20px;
  }

  .pub-cta--inline .newsletter-form { margin-top: 16px; }
  .pub-cta--inline .newsletter-form__input { flex: none; min-height: 44px; }

  .markets-strip__viewport {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .pub-section-directory {
    gap: var(--space-5);
    margin-top: var(--space-6);
  }

  .pub-section-directory .pub-section-front__lead .pub-featured__title {
    font-size: var(--text-h2);
    line-height: 1.4;
  }

  .pub-section-directory .pub-section-front__lead .pub-featured__summary {
    display: none;
  }

  .pub-provenance {
    display: block;
    padding: 20px;
  }

  .pub-provenance__body,
  .pub-provenance__links {
    margin-top: 12px;
  }
}

/* Article page: source-measured against the current Times main-standard
   article template. The Journal keeps its own typefaces, colour and content. */
.publication-article > .journal-ad--header {
  min-height: 90px;
  margin: 0;
  padding: 0 0 10px;
  border: 0;
  background: #fff;
}

.publication-article > .journal-ad--header .journal-ad__creative { display: none; }

.publication-article > .pub-hero {
  padding: 0;
  background: #fff;
}

.publication-article > .pub-hero > .o-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: none;
}

.publication-article .article-lead-media {
  order: 0;
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 48rem) {
  .publication-article .article-lead-media { width: 80.8%; }
}

@media (min-width: 64rem) {
  .publication-article .article-lead-media { width: 56.2%; }
}

.publication-article .article-lead-media img {
  display: block;
  width: 100%;
  height: auto;
}

.publication-article .article-lead-media__caption {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  width: calc(100% - 20px);
  margin: 10px auto 0;
  color: var(--journal-muted);
  font: var(--text-caption)/1.4 var(--journal-sans);
}

.publication-article .article-crumbs,
.publication-article .pub-hero__kicker,
.publication-article .pub-hero__title,
.publication-article .pub-hero__lede,
.publication-article .article-byline,
.publication-article .article-share--top {
  width: calc(100% - 20px);
  max-width: 664px;
  margin-inline: auto;
}

.publication-article .article-crumbs {
  order: 1;
  margin-top: 20px;
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

.publication-article .article-crumbs__list {
  gap: 8px;
  color: var(--journal-muted);
  font: var(--text-caption)/1.4 var(--journal-sans);
}

.publication-article .pub-hero__kicker {
  order: 2;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--journal-link);
  font: var(--journal-type-meta);
  letter-spacing: .05em;
}

.publication-article .pub-hero__title {
  order: 3;
  margin: 0 auto;
  color: var(--journal-ink);
  font-family: var(--journal-serif);
  font-size: var(--text-h1);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
  text-wrap: pretty;
}

.publication-article .pub-hero__lede {
  order: 4;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--journal-body);
  font: var(--text-h3)/1.3 var(--journal-serif);
}

.publication-article .article-byline {
  order: 5;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  margin-top: 0;
  padding-block: 10px;
  border-block: 1px solid var(--journal-rule-strong);
  font-family: var(--journal-sans);
}

.publication-article .article-byline__author {
  margin: 0;
  font: var(--weight-semibold) var(--text-body)/1.25 var(--journal-serif);
}

.publication-article .article-byline__desk {
  margin-top: 3px;
  color: var(--journal-link);
  font: var(--journal-type-meta);
  letter-spacing: .05em;
}

.publication-article .article-byline__dates {
  grid-column: 1;
  grid-row: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 5px;
  padding: 0;
  border: 0;
  text-align: left;
}

.publication-article .article-byline__date {
  color: var(--journal-muted);
  font: var(--text-small)/1.25 var(--journal-sans);
}

.publication-article .article-share--top {
  order: 6;
  position: sticky;
  top: 60px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--journal-rule-strong);
  background: #fff;
  font: var(--journal-type-meta);
}

.publication-article .article-share--top .article-share__label {
  margin: 0 auto 0 0;
  letter-spacing: .05em;
}

.publication-article .article-share--top a,
.publication-article .article-share--top button {
  display: inline;
  width: auto;
  padding: 0;
  border: 0;
  color: var(--journal-link);
  text-align: left;
}

.publication-article .article-layout {
  display: block;
  width: 100%;
  max-width: 1144px;
  padding: 15px 0 40px;
}

.publication-article .article-main { width: 100%; }

.publication-article .article-body,
.publication-article .article-layout .corrections,
.publication-article .article-contents,
.publication-article .article-evidence-note,
.publication-article .article-format-note,
.publication-article .article-citations,
.publication-article .article-methodology,
.publication-article .article-subscribe {
  width: calc(100% - 20px);
  max-width: 664px;
  margin-inline: auto;
}

.publication-article .article-body {
  margin-top: 0;
  color: var(--journal-body);
  font: var(--journal-type-body);
}

.publication-article .byline,
.publication-article .brief-data,
.publication-article > .o-wrap > .prose,
.publication-article > .o-wrap > .source-panel,
.publication-article > .o-wrap > .corrections,
.publication-article > .o-wrap > .article-endcap {
  width: calc(100% - 20px);
  max-width: 664px;
  margin-inline: auto;
}

.publication-article > .o-wrap > .prose {
  font: var(--journal-type-body);
}

.pub-list--latest .pub-list__item {
  min-height: 0;
}

.pub-list--latest .pub-list__item + .pub-list__item {
  border-top: 1px solid var(--journal-rule);
}

.publication-article .article-body > p { margin: 0 0 25px; }

.publication-article .article-body > h2 {
  margin: 30px 0 10px;
  font: var(--journal-type-card);
  letter-spacing: 0;
}

.publication-article .article-body > h3 {
  margin: 25px 0 10px;
  font: var(--weight-bold) var(--text-body)/1.2 var(--journal-serif);
  letter-spacing: 0;
}

.publication-article .article-body > ul,
.publication-article .article-body > ol {
  margin: 0 0 25px;
  padding-left: 24px;
}

.publication-article .article-body li + li { margin-top: 8px; }

.publication-article .article-media--body,
.publication-article .article-image-pair,
.publication-article .article-gallery {
  width: min(840px, 100vw);
  margin-inline: 50%;
  transform: translateX(-50%);
}

.publication-article .article-media__caption,
.publication-article .article-image-pair figcaption,
.publication-article .article-gallery figcaption {
  margin-top: 10px;
  padding: 0 10px;
  border: 0;
  color: var(--journal-muted);
  font: var(--text-caption)/1.4 var(--journal-sans);
}

.publication-article .journal-ad--inline {
  min-height: 90px;
  margin-block: 30px;
  padding-block: 10px;
  border-block: 1px solid var(--journal-rule-strong);
  background: #fff;
}

.publication-article .article-related {
  width: 100%;
  max-width: none;
  margin-top: 30px;
  padding-top: 0;
  border-block: 1px solid var(--journal-rule-strong);
}

.publication-article .article-related__title {
  margin: 0 0 var(--space-2);
  padding: 0;
  color: var(--journal-ink);
  font: var(--weight-semibold) var(--text-h3)/var(--leading-tight) var(--journal-serif);
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}

.publication-article .article-related__list {
  width: calc(100% - 20px);
  margin-inline: auto;
}

.publication-article .article-related__item {
  padding-block: 10px;
  border-top: 0;
}

.publication-article .article-related__item + .article-related__item {
  border-top: 1px solid var(--journal-rule-strong);
}

.publication-article .article-related__name {
  margin: 0;
  font: var(--weight-bold) var(--text-h3)/1.25 var(--journal-serif);
}

.publication-article .article-related__summary {
  margin-top: 5px;
  color: var(--journal-muted);
  font: var(--text-small)/1.5 var(--journal-sans);
}

.publication-article .article-previous-next {
  position: fixed;
  inset: auto 0 0;
  z-index: 100;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 45px;
  margin: 0 auto;
  background: var(--journal-canvas);
  box-shadow: 0 -2px 5px -2px rgb(0 0 0 / 20%);
}

.publication-article .article-previous-next[hidden] { display: none; }

.publication-article .article-previous-next a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 7px 20px;
  color: inherit;
  text-decoration: none;
}

.publication-article .article-previous-next .next {
  grid-column: 2;
  border-left: 1px solid var(--journal-rule-strong);
  text-align: right;
}

.publication-article .article-previous-next span {
  color: var(--journal-link);
  font: var(--weight-medium) var(--text-caption)/1.25 var(--journal-sans);
  text-transform: uppercase;
}

.publication-article .article-previous-next strong {
  display: none;
  overflow: hidden;
  color: var(--journal-body);
  font: var(--weight-bold) var(--text-small)/1.1 var(--journal-serif);
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 48rem) {
  .pub-list--latest .pub-list__item {
    grid-template-columns: minmax(0, 1fr);
  }

  .pub-list--latest .pub-list__item:has(.pub-list__thumbnail) {
    grid-template-columns: minmax(0, 1fr) 192px;
  }

  .publication-article > .journal-ad--header { min-height: 250px; }

  .publication-article .article-lead-media { width: 80.8%; }

  .publication-article .article-crumbs,
  .publication-article .pub-hero__kicker,
  .publication-article .pub-hero__title,
  .publication-article .pub-hero__lede,
  .publication-article .article-byline,
  .publication-article .article-share--top { width: 80.8%; }

  .publication-article .article-body,
  .publication-article .article-layout .corrections,
  .publication-article .article-contents,
  .publication-article .article-evidence-note,
  .publication-article .article-format-note,
  .publication-article .article-citations,
  .publication-article .article-methodology,
  .publication-article .article-subscribe { width: 80.8%; }

  .publication-article .pub-hero__title {
    font-size: var(--text-display);
    line-height: 1;
  }

  .publication-article .article-body { font-size: var(--text-body); line-height: 1.5; }

  .publication-article .article-related__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 21px;
    width: calc(100% - 40px);
  }

  .publication-article .article-related__item + .article-related__item {
    position: relative;
    border-top: 0;
  }

  .publication-article .article-related__item + .article-related__item::before {
    position: absolute;
    inset: 10px auto 10px -11px;
    border-left: 1px solid var(--journal-rule-strong);
    content: "";
  }

  .publication-article .article-previous-next {
    min-height: 61px;
    max-width: 1182px;
  }

  .publication-article .article-previous-next strong { display: block; }
}

@media (min-width: 64rem) {
  .publication-article > .pub-hero > .o-wrap { gap: 20px; }

  .publication-article .article-crumbs { order: 0; }
  .publication-article .pub-hero__kicker { order: 1; }
  .publication-article .pub-hero__title { order: 2; }
  .publication-article .pub-hero__lede { order: 3; }
  .publication-article .article-lead-media { order: 4; width: min(72%, 840px); }
  .publication-article .article-byline { order: 5; }
  .publication-article .article-share--top { order: 6; }

  .publication-article .pub-hero__title { margin-top: 30px; }

  .publication-article .article-crumbs,
  .publication-article .pub-hero__kicker,
  .publication-article .pub-hero__title,
  .publication-article .pub-hero__lede,
  .publication-article .article-byline,
  .publication-article .article-share--top { width: min(56.2%, 664px); }

  .publication-article .article-body,
  .publication-article .article-layout .corrections,
  .publication-article .article-contents,
  .publication-article .article-evidence-note,
  .publication-article .article-format-note,
  .publication-article .article-citations,
  .publication-article .article-methodology,
  .publication-article .article-subscribe { width: min(56.2vw, 664px); }
}
