/* Westline, redesign (November 2026). Laid over westline.css: the board, the bar, the clocks and the masthead are the
   ones Westline already had. Colours, type and sizes are the approved design's tokens. Spacing is only
   4 8 12 16 24 32 48 72. No italics. Nothing starts hidden: text and pictures are there before any script runs, and
   all motion (the board, the masthead line and its pulse) stops under prefers-reduced-motion. */

body.wl-v2 {
  --wl2-ink: #14111d;
  --wl2-panel: #1c1926;
  --wl2-rule: #282434;
  --wl2-rule-strong: #3a3548;
  --wl2-violet: #7f6cff;
  --wl2-violet-deep: #5a45f0;
  --wl2-violet-soft: #b1a7ff;
  --wl2-paper: #f1eff7;
  --wl2-paper-dim: #d9d5e6;
  --wl2-muted: #9f99b2;
  --wl2-light: #f4f4f4;
  --wl2-light-ink: #17141f;
  --wl2-light-muted: #5d586c;
  --wl2-light-rule: #d6d4dd;
  --wl2-bar-grey: #5b5670;
  --wl2-max: 1344px;
  --wl2-gutter: clamp(16px, 4vw, 48px);
  --wl2-measure: 680px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 72px;
  --wl2-section: clamp(32px, 5vw, 72px);
  --wl2-h-lead: clamp(42px, 5.4vw, 84px);
  --wl2-h-story: clamp(40px, 5.2vw, 80px);
  --wl2-h-card: 26px;
  --wl2-body: 20px;
  --wl2-label: 11px;
}

/* nothing starts hidden */
body.wl-v2 .wl-js .wl-reveal, .wl-v2 .wl-js .wl-reveal, .wl-v2 .wl-reveal { opacity: 1 !important; transform: none !important; }

/* ---------------------------------------------------------------- shared */

.wl-v2 .wl2-in { width: 100%; max-width: var(--wl2-max); margin-inline: auto; padding-inline: var(--wl2-gutter); }
.wl-v2 .wl2-main { display: block; }
.wl-v2 .wl2-band { border-bottom: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-band > .wl2-in, .wl-v2 .wl2-band > .wl2-in + .wl2-in { padding-block: var(--wl2-section); }
.wl-v2 .wl2-band > .wl2-in + .wl2-in { padding-top: 0; }

.wl-v2 .wl2-eyebrow { display: flex; align-items: center; gap: var(--s3); margin: 0 0 var(--s5); font: 700 12px/1.3 var(--wl-mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--wl2-violet-soft); }
.wl-v2 .wl2-eyebrow::before { content: ""; flex: none; width: var(--s6); height: 2px; background: var(--wl2-violet); }
.wl-v2 .wl2-meta { margin: 0; font: 500 var(--wl2-label)/1.7 var(--wl-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-meta a, .wl-v2 .wl2-meta .wl-by a { color: var(--wl2-paper); }
.wl-v2 .wl2-meta a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--s2) var(--s5); margin-bottom: var(--s5); }
.wl-v2 .wl2-head .wl2-eyebrow { margin-bottom: 0; }
.wl-v2 .wl2-head__note { margin: 0; font: 400 17px/1.4 var(--wl-serif); color: var(--wl2-muted); }
.wl-v2 .wl2-more-link { display: inline-flex; align-items: center; gap: var(--s2); min-height: 44px; font: 700 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-soft); }
.wl-v2 .wl2-more-link:hover { color: var(--wl2-paper); }
.wl-v2 .wl2-cap { margin: var(--s3) 0 0; font: 500 10.5px/1.6 var(--wl-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--wl2-muted); }

.wl-v2 .wl2-pic { display: block; aspect-ratio: var(--r, 16 / 10); overflow: hidden; background: var(--wl2-panel); }
.wl-v2 .wl2-pic .wl2-img { display: block; width: 100%; height: 100%; object-fit: cover; }

.wl-v2 .wl2-kicker { margin: 0; font: 500 var(--wl2-label)/1.6 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; }
.wl-v2 .wl2-kicker__s { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-kicker__d, .wl-v2 .wl2-kicker__sep { color: var(--wl2-muted); }
.wl-v2 a.wl2-kicker__s:hover, .wl-v2 a.wl2-kicker__d:hover { color: var(--wl2-paper); }

.wl-v2 .wl2-empty, .wl-v2 .wl2-deskempty { padding-block: var(--wl2-section); }
.wl-v2 .wl2-empty__text, .wl-v2 .wl2-deskempty__text { margin: 0; font: 400 clamp(19px, 1.6vw, 24px)/1.4 var(--wl-serif); color: var(--wl2-paper-dim); }

/* every link and control that can be focused shows it, on the ink and on the light page */
.wl-v2 a:focus-visible, .wl-v2 button:focus-visible, .wl-v2 input:focus-visible, .wl-v2 textarea:focus-visible, .wl-v2 summary:focus-visible { outline: 2px solid var(--wl2-violet-soft); outline-offset: 3px; }
.wl-v2 .wl2-light a:focus-visible, .wl-v2 .wl2-light button:focus-visible { outline-color: var(--wl2-violet-deep); }

/* ---------------------------------------------------------------- the head: bar, and the navigation */

/* "A Thursday Times publication" stays on a phone too. */
.wl-v2 .wl-bar { height: auto; min-height: 46px; padding-block: var(--s2); flex-wrap: wrap; row-gap: var(--s1); }
.wl-v2 .wl-bar__tt span { display: inline !important; }
.wl-v2 .wl-bar__tt { min-height: 44px; }
.wl-v2 .wl-bar__tt:hover { color: var(--wl2-paper); }
/* all four clocks stay on a phone, wrapping to a second line (the older head hid the last two) */
.wl-v2 .wl-clocks { flex-wrap: wrap; row-gap: var(--s1); }
.wl-v2 .wl-clocks .wl-clock:nth-child(n+3) { display: inline-flex; }

.wl-v2 .wl-nav { background: var(--wl2-ink); border-color: var(--wl2-rule); }
.wl-v2 .wl-nav__in { gap: var(--s4); height: 56px; }
.wl-v2 .wl-nav__list { gap: var(--s5); flex: 1 1 0; min-width: 0; }
.wl-v2 .wl-nav__list a { padding: 19px 0 17px; font: 600 12px/1 var(--wl-mono); letter-spacing: 0.12em; color: var(--wl2-paper-dim); border-bottom: 2px solid transparent; }
.wl-v2 .wl-nav__list a::after { display: none; }
.wl-v2 .wl-nav__list a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.wl-v2 .wl-nav__mark { min-height: 44px; align-items: center; }
.wl-v2 .wl-nav__list a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl-nav__list a[aria-current] { color: var(--wl2-paper); border-bottom-color: var(--wl2-violet); }
.wl-v2 .wl-nav__list a.wl-nav__quiet { color: var(--wl2-muted); }
.wl-v2 .wl-nav__list a.wl-nav__quiet[aria-current], .wl-v2 .wl-nav__list a.wl-nav__quiet:hover { color: var(--wl2-paper); }
.wl-v2 .wl-nav__sep { background: var(--wl2-rule); margin: 2px 0; height: auto; align-self: stretch; }
.wl-v2 .wl-nav__search { width: 44px; height: 44px; border-color: var(--wl2-rule); }
.wl-v2 .wl2-cta { flex: none; display: inline-flex; align-items: center; height: 44px; padding: 0 var(--s4); background: var(--wl2-violet); color: var(--wl2-ink); font: 700 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }
.wl-v2 .wl2-cta:hover { background: var(--wl2-violet-soft); }
.wl-v2 .wl2-cta:focus-visible { outline-color: var(--wl2-paper); }
.wl-v2 .wl-searchbox { background: var(--wl2-ink); border-top: 1px solid var(--wl2-rule); }

/* ---------------------------------------------------------------- cards */

.wl-v2 .wl2-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--s7) var(--s6); }
.wl-v2 .wl2-card { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; }
.wl-v2 .wl2-card__media { display: block; border-bottom: 2px solid var(--wl2-violet); }
.wl-v2 .wl2-card .wl2-kicker { margin-top: var(--s1); }
.wl-v2 .wl2-card__title { margin: 0; font: 750 var(--wl2-h-card)/1.04 var(--wl-display); font-stretch: 82%; letter-spacing: -0.01em; }
.wl-v2 .wl2-card__title a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-card__stand { margin: 0; font: 400 17px/1.45 var(--wl-serif); color: var(--wl2-paper-dim); }

/* ---------------------------------------------------------------- home */

.wl-v2 .wl2-lead { border-bottom: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-lead__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s5); padding-block: var(--s5) var(--s7); align-items: center; }
.wl-v2 .wl2-lead__words { display: flex; flex-direction: column; gap: var(--s4); min-width: 0; }
.wl-v2 .wl2-lead__title { margin: 0; font: 800 var(--wl2-h-lead)/0.94 var(--wl-display); font-stretch: 78%; letter-spacing: -0.02em; }
.wl-v2 .wl2-lead__title a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-lead__stand { margin: 0; max-width: 34em; font: 400 clamp(18px, 1.5vw, 22px)/1.4 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-lead__fig { margin: 0; min-width: 0; order: -1; }
.wl-v2 .wl2-lead__media { display: block; border-bottom: 2px solid var(--wl2-violet); }
@media (min-width: 960px) {
  .wl-v2 .wl2-lead__in--pic { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s7); padding-block: var(--s6) var(--s7); }
  .wl-v2 .wl2-lead__fig { order: 0; }
}

.wl-v2 .wl2-lines__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); column-gap: var(--s8); }
.wl-v2 .wl2-line-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--s4); padding-block: var(--s5); border-top: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-line-item__n { font: 300 44px/0.9 var(--wl-display); font-stretch: 70%; color: var(--wl2-violet); }
.wl-v2 .wl2-line-item__body { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; }
.wl-v2 .wl2-line-item__text { margin: 0; font: 400 19px/1.45 var(--wl-serif); }
.wl-v2 .wl2-line-item__link { display: flex; flex-direction: column; gap: var(--s1); min-height: 44px; justify-content: center; }
.wl-v2 .wl2-line-item__k { font: 500 10.5px/1.5 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-soft); }
.wl-v2 .wl2-line-item__t { font: 650 15px/1.3 var(--wl-display); }
.wl-v2 .wl2-line-item__link:hover .wl2-line-item__t { color: var(--wl2-violet-soft); }

.wl-v2 .wl2-poll__in { display: flex; flex-wrap: wrap; gap: var(--s6) var(--s8); align-items: center; }
.wl-v2 .wl2-poll__words { flex: 1 1 300px; display: flex; flex-direction: column; gap: var(--s3); }
.wl-v2 .wl2-poll__words .wl2-eyebrow { margin: 0; }
.wl-v2 .wl2-poll__h { margin: 0; font: 800 40px/1 var(--wl-display); font-stretch: 80%; }
.wl-v2 .wl2-bars { flex: 2 1 480px; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--s4); min-width: 0; }
.wl-v2 .wl2-bar { display: grid; grid-template-columns: minmax(104px, 160px) minmax(0, 1fr) 64px; align-items: center; gap: var(--s4); }
.wl-v2 .wl2-bar__name { font: 650 17px/1.2 var(--wl-display); }
.wl-v2 .wl2-bar__track { position: relative; display: block; height: 28px; background: var(--wl2-panel); }
.wl-v2 .wl2-bar__fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--wl2-bar-grey); }
.wl-v2 .wl2-bar.is-mark .wl2-bar__fill { background: var(--wl2-violet); }
.wl-v2 .wl2-bar__n { text-align: right; font: 800 28px/1 var(--wl-display); font-stretch: 80%; font-variant-numeric: tabular-nums; }

.wl-v2 .wl2-desks__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 var(--s6); }
.wl-v2 .wl2-desk { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5) 0 var(--s6); border-top: 1px solid var(--wl2-rule); min-height: 44px; }
.wl-v2 .wl2-desk__logo { display: flex; align-items: center; gap: var(--s3); }
.wl-v2 .wl2-desk__name { font: 740 34px/1 var(--wl-display); font-stretch: 72%; text-transform: uppercase; }
.wl-v2 .wl2-desk__tail { display: block; height: 16px; width: auto; color: var(--wl2-violet); }
.wl-v2 .wl2-desk__desc { font: 400 16px/1.45 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-desk__latest { font: 500 10.5px/1.5 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-desk:hover .wl2-desk__name { color: var(--wl2-violet-soft); }

.wl-v2 .wl2-series__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--s5); }
.wl-v2 .wl2-scard { display: flex; flex-direction: column; gap: var(--s4); padding: var(--s5); background: var(--wl2-panel); border: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-scard:hover { border-color: var(--wl2-violet); }
.wl-v2 .wl2-scard__top { display: flex; justify-content: space-between; gap: var(--s3); font: 500 10.5px/1.5 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-scard__name { font: 800 32px/1 var(--wl-display); font-stretch: 80%; }
.wl-v2 .wl2-scard__map { display: flex; align-items: center; }
.wl-v2 .wl2-scard__rule { flex: 1 1 0; height: 2px; background: var(--wl2-rule-strong); }
.wl-v2 .wl2-scard__sq { flex: none; width: 12px; height: 12px; margin-left: var(--s3); background: var(--wl2-violet); }
.wl-v2 .wl2-scard__new { display: flex; flex-direction: column; gap: var(--s2); margin-top: auto; }
.wl-v2 .wl2-scard__k { font: 500 10.5px/1.5 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-soft); }
.wl-v2 .wl2-scard__t { font: 400 17px/1.35 var(--wl-serif); }

/* ---------------------------------------------------------------- a story */

.wl-v2 .wl2-story__head { padding-block: var(--wl2-section) var(--s6); }
.wl-v2 .wl2-story__headin { max-width: 980px; display: flex; flex-direction: column; gap: var(--s4); }
.wl-v2 .wl2-story__title { margin: 0; font: 800 var(--wl2-h-story)/0.95 var(--wl-display); font-stretch: 78%; letter-spacing: -0.02em; }
.wl-v2 .wl2-story__stand { margin: 0; max-width: 36em; font: 400 clamp(19px, 1.6vw, 24px)/1.4 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-story__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s3) var(--s5); padding-top: var(--s4); border-top: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-story__meta .wl-by { color: var(--wl2-paper); }
.wl-v2 .wl2-share { display: flex; flex-wrap: wrap; gap: var(--s2); font: 700 10.5px/1 var(--wl-mono); letter-spacing: 0.12em; text-transform: uppercase; }
.wl-v2 .wl2-share a, .wl-v2 .wl2-share button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--s3); margin: 0; background: none; border: 1px solid var(--wl2-rule); color: var(--wl2-paper); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.wl-v2 .wl2-share a:hover, .wl-v2 .wl2-share button:hover { border-color: var(--wl2-violet); color: var(--wl2-violet-soft); }
.wl-v2 .wl2-story__fig { margin-block: 0; padding-bottom: var(--s7); }
.wl-v2 .wl2-story__fig .wl2-pic { --r: 2 / 1; }
@media (max-width: 720px) { .wl-v2 .wl2-story__fig .wl2-pic { --r: 16 / 10 !important; } }

.wl-v2 .wl2-light { background: var(--wl2-light); color: var(--wl2-light-ink); }
.wl-v2 .wl2-light a:hover { color: var(--wl2-violet-deep); }
.wl-v2 .wl2-story__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s7) var(--s8); max-width: 1180px; padding-block: var(--wl2-section); }
.wl-v2 .wl2-story__main { flex: 1 1 560px; max-width: var(--wl2-measure); min-width: 0; display: flex; flex-direction: column; gap: var(--s5); }
.wl-v2 .wl2-story__rail { flex: 0 1 300px; min-width: 260px; align-self: flex-start; display: flex; flex-direction: column; gap: var(--s6); }

.wl-v2 .wl2-prose { font: 400 var(--wl2-body)/1.62 var(--wl-serif); color: var(--wl2-light-ink); }
.wl-v2 .wl2-prose > * { margin-block: 0 var(--s5); }
.wl-v2 .wl2-prose p, .wl-v2 .wl2-prose li { font: 400 var(--wl2-body)/1.62 var(--wl-serif); color: var(--wl2-light-ink); }
.wl-v2 .wl2-prose > p:first-of-type { font-size: var(--wl2-body); }
.wl-v2 .wl2-prose > p:first-of-type::first-line { font-variant-caps: all-small-caps; letter-spacing: 0.04em; font-weight: 600; }
.wl-v2 .wl2-prose h2, .wl-v2 .wl2-prose h3 { margin: var(--s6) 0 var(--s3); font: 800 30px/1.05 var(--wl-display); font-stretch: 82%; color: var(--wl2-light-ink); }
.wl-v2 .wl2-prose h3 { font-size: 24px; }
.wl-v2 .wl2-prose a { color: var(--wl2-violet-deep); text-decoration: underline; text-underline-offset: 3px; }
.wl-v2 .wl2-prose a:hover { color: var(--wl2-light-ink); }
.wl-v2 .wl2-prose ul, .wl-v2 .wl2-prose ol { padding-left: var(--s5); }
.wl-v2 .wl2-prose blockquote { margin-inline: 0; padding-left: var(--s5); border-left: 3px solid var(--wl2-violet-deep); }
.wl-v2 .wl2-prose blockquote p { font-style: normal; }
.wl-v2 .wl2-prose figure { margin-inline: 0; }
.wl-v2 .wl2-prose img { max-width: 100%; height: auto; }
.wl-v2 .wl2-prose figcaption { font: 500 10.5px/1.6 var(--wl-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--wl2-light-muted); }
.wl-v2 .wl2-prose em, .wl-v2 .wl2-prose i, .wl-v2 .wl2-prose cite { font-style: normal; }
.wl-v2 .wl2-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.wl-v2 .wl2-prose th, .wl-v2 .wl2-prose td { padding: var(--s2) var(--s3); border-bottom: 1px solid var(--wl2-light-rule); text-align: left; }
/* the story's opening paragraph: only its first words in small capitals (a story that wraps the whole paragraph in bold gets no bold) */
.wl-v2 .wl2-prose > p:first-of-type strong, .wl-v2 .wl2-prose > p:first-of-type b { font-weight: inherit; }
/* the charts a story carries in its own markup: a white panel, a deep-violet top rule, deep violet for the accent */
.wl-v2 .wl2-prose > div:has(> .wlv-bar), .wl-v2 .wl2-prose > div:has(> .wlv-vs), .wl-v2 .wl2-prose > div:has(> .wlv-donut-wrap), .wl-v2 .wl2-prose > div:has(> .wlv-brk) { --wl-accent: var(--wl2-violet-deep); margin: var(--s6) 0 !important; padding: var(--s5); background: #fff; border-top: 3px solid var(--wl2-violet-deep); }
/* a chart inside a story: a white panel with a deep-violet top rule */
.wl-v2 .wl2-prose .wl-chart, .wl-v2 .wl2-prose figure.wlv-chart, .wl-v2 .wl2-prose .wlv-panel, .wl-v2 .wl2-chart { background: #fff; border-top: 3px solid var(--wl2-violet-deep); padding: var(--s5); }

.wl-v2 .wl2-light-h { margin: 0; font: 700 var(--wl2-label)/1.4 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-deep); }
.wl-v2 .wl2-sources { display: flex; flex-direction: column; gap: var(--s3); padding-top: var(--s5); border-top: 1px solid var(--wl2-light-rule); }
.wl-v2 .wl2-sources ul { margin: 0; padding-left: var(--s5); font: 400 16px/1.55 var(--wl-serif); }
.wl-v2 .wl2-sources a { text-decoration: underline; text-underline-offset: 3px; }
.wl-v2 .wl2-filed { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s3) var(--s5); padding-top: var(--s4); border-top: 1px solid var(--wl2-light-rule); font: 500 var(--wl2-label)/1.6 var(--wl-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--wl2-light-muted); }
.wl-v2 .wl2-filed a { color: var(--wl2-light-ink); font-weight: 700; }
.wl-v2 .wl2-filed a.wl2-filed__err { color: var(--wl2-violet-deep); }
.wl-v2 .wl2-box { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5); background: #fff; border-top: 3px solid var(--wl2-violet-deep); }
.wl-v2 .wl2-box__name { margin: 0; font: 800 26px/1 var(--wl-display); font-stretch: 80%; }
.wl-v2 .wl2-box__part { margin: 0; font: 400 16px/1.45 var(--wl-serif); color: #3c3848; }
.wl-v2 .wl2-box__link { display: inline-flex; align-items: center; gap: var(--s2); min-height: 44px; font: 700 10.5px/1.3 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-deep); }
.wl-v2 .wl2-box__link:hover { color: var(--wl2-light-ink); }
.wl-v2 .wl2-rail section + section { margin-top: 0; }
.wl-v2 .wl2-story__rail section[aria-labelledby="wl2-people-h"] { display: flex; flex-direction: column; gap: var(--s3); }

/* chips: people in a story, what to follow on a desk */
.wl-v2 .wl2-chips { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: var(--s2); font: 600 14px/1 var(--wl-display); }
.wl-v2 .wl2-chips a, .wl-v2 .wl2-chips span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s3); border: 1px solid var(--wl2-rule-strong); color: var(--wl2-paper); }
.wl-v2 .wl2-chips a:hover { border-color: var(--wl2-violet); color: var(--wl2-violet-soft); }
.wl-v2 .wl2-chips--light a, .wl-v2 .wl2-chips--light span { background: #fff; border-color: var(--wl2-light-rule); color: var(--wl2-light-ink); }
.wl-v2 .wl2-chips--light a:hover { border-color: var(--wl2-violet-deep); color: var(--wl2-violet-deep); }

/* comments keep their place on the ink, after the story */
.wl-v2 .wl-talk { background: var(--wl2-ink); border-bottom: 1px solid var(--wl2-rule); }

/* ---------------------------------------------------------------- a desk */

.wl-v2 .wl2-deskhead { padding-block: var(--wl2-section) var(--s7); border-bottom: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-deskhead__title { margin: 0 0 var(--s5); font: inherit; }
.wl-v2 .wl2-deskhead__desc { margin: 0 0 var(--s5); max-width: 36em; font: 400 clamp(19px, 1.8vw, 26px)/1.4 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-follow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s4); }
.wl-v2 .wl2-follow__label { font: 500 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-deskstories { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s7) var(--s7); padding-block: var(--s7); }
.wl-v2 .wl2-deskstories__lead { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; }
.wl-v2 .wl2-deskstories__lead .wl2-card__media { margin-bottom: var(--s2); }
.wl-v2 .wl2-deskstories__title { margin: 0; font: 800 clamp(34px, 4vw, 56px)/0.98 var(--wl-display); font-stretch: 78%; letter-spacing: -0.02em; }
.wl-v2 .wl2-deskstories__title a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-deskstories__stand { margin: 0; font: 400 clamp(18px, 1.5vw, 21px)/1.45 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-deskstories__side { display: flex; flex-direction: column; min-width: 0; }
.wl-v2 .wl2-sidecard { display: flex; flex-direction: column; gap: var(--s3); padding-block: var(--s5); border-bottom: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-sidecard:first-child { padding-top: 0; }
.wl-v2 .wl2-sidecard__title { margin: 0; font: 750 28px/1.04 var(--wl-display); font-stretch: 82%; }
.wl-v2 .wl2-sidecard__title a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-sidecard__stand { margin: 0; font: 400 17px/1.45 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-deskstories__side .wl2-more-link { margin-top: var(--s4); }
@media (min-width: 960px) { .wl-v2 .wl2-deskstories { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); } }
.wl-v2 .wl-pages { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s6); font: 600 13px/1 var(--wl-mono); }

/* ---------------------------------------------------------------- the simple pages */

.wl-v2 .wl2-page__head { padding-block: var(--wl2-section) var(--s7); }
.wl-v2 .wl2-page__head .wl2-eyebrow { margin-bottom: var(--s4); }
.wl-v2 .wl2-page__title { margin: 0; font: 800 var(--wl2-h-story)/0.95 var(--wl-display); font-stretch: 78%; letter-spacing: -0.02em; }
.wl-v2 .wl2-page__body { max-width: calc(var(--wl2-measure) + 2 * var(--wl2-gutter)); padding-block: var(--wl2-section); }
.wl-v2 .wl2-chart { margin: 0 0 var(--s6); display: flex; flex-direction: column; gap: var(--s4); }
.wl-v2 .wl2-chart figcaption { display: flex; flex-direction: column; gap: var(--s1); }
.wl-v2 .wl2-chart__k { font: 700 var(--wl2-label)/1.4 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-violet-deep); }
.wl-v2 .wl2-chart__t { font: 700 20px/1.2 var(--wl-display); color: var(--wl2-light-ink); }
.wl-v2 .wl2-chart__row { display: grid; grid-template-columns: minmax(104px, 130px) minmax(0, 1fr) 48px; align-items: center; gap: var(--s3); }
.wl-v2 .wl2-chart__name { font: 650 15px/1.2 var(--wl-display); }
.wl-v2 .wl2-chart__track { display: block; position: relative; height: 22px; background: #ebeaf0; }
.wl-v2 .wl2-chart__fill { position: absolute; left: 0; top: 0; bottom: 0; background: #a29db3; }
.wl-v2 .wl2-chart__row:first-of-type .wl2-chart__fill { background: var(--wl2-violet-deep); }
.wl-v2 .wl2-chart__n { text-align: right; font: 800 22px/1 var(--wl-display); font-stretch: 80%; color: var(--wl2-light-ink); }
.wl-v2 .wl2-chart__src { font: 500 10.5px/1.5 var(--wl-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--wl2-light-muted); }

/* ---------------------------------------------------------------- The Line (the sign-up) and the foot */

.wl-v2 .wl2-line { background: var(--wl2-panel); border-top: 1px solid var(--wl2-rule); border-bottom: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-line__in { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s5) var(--s8); padding-block: var(--wl2-section); }
.wl-v2 .wl2-line__words { flex: 1 1 380px; display: flex; flex-direction: column; gap: var(--s3); }
.wl-v2 .wl2-line__words .wl2-eyebrow { margin: 0; }
.wl-v2 .wl2-line__h { margin: 0; font: 800 clamp(32px, 3.4vw, 48px)/1 var(--wl-display); font-stretch: 80%; }
.wl-v2 .wl2-line__sub { margin: 0; font: 400 18px/1.45 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-line__form { flex: 1 1 380px; min-width: 0; }
.wl-v2 .wl2-line .tt-nl { --nl-orange: var(--wl2-violet); display: flex; flex-direction: column; gap: var(--s3); padding: 0; background: none; color: var(--wl2-paper); border: 0; }
.wl-v2 .wl2-label { font: 500 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-line .tt-nl__row { display: flex; flex-wrap: wrap; gap: var(--s3); max-width: none; }
.wl-v2 .wl2-line .tt-nl__email { flex: 1 1 220px; min-width: 0; height: 52px; min-height: 52px; padding: 0 var(--s4); background: var(--wl2-ink); color: var(--wl2-paper); border: 1px solid var(--wl2-rule-strong); border-radius: 0; font: 400 18px/1 var(--wl-serif); box-shadow: none; }
.wl-v2 .wl2-line .tt-nl__email::placeholder { color: var(--wl2-muted); opacity: 1; }
.wl-v2 .wl2-line .tt-nl__email:focus { outline: 2px solid var(--wl2-violet-soft); outline-offset: 2px; border-color: var(--wl2-violet); }
.wl-v2 .wl2-line .tt-nl__button { flex: none; height: 52px; min-height: 52px; padding: 0 var(--s5); background: var(--wl2-violet); color: var(--wl2-ink); border: 0; border-radius: 0; font: 700 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; box-shadow: none; cursor: pointer; }
.wl-v2 .wl2-line .tt-nl__button:hover { background: var(--wl2-violet-soft); box-shadow: none; }
.wl-v2 .wl2-line .tt-nl__button:focus-visible { outline: 2px solid var(--wl2-paper); outline-offset: 2px; }
.wl-v2 .wl2-line .tt-nl__small, .wl-v2 .wl2-line .tt-nl__note { margin: 0; font: 400 16px/1.4 var(--wl-serif); color: var(--wl2-muted); }
.wl-v2 .wl2-line .tt-nl__note { color: var(--wl2-paper); }
.wl-v2 .wl2-line .tt-nl.is-error .tt-nl__note { color: #ffb3a1; }

.wl-v2 .wl2-foot { background: var(--wl2-ink); color: var(--wl2-paper); }
.wl-v2 .wl2-foot__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: var(--s6) var(--s7); padding-block: var(--wl2-section) var(--s7); }
.wl-v2 .wl2-foot__about { display: flex; flex-direction: column; gap: var(--s3); align-items: flex-start; }
.wl-v2 .wl2-foot__mark { font-size: 40px; }
.wl-v2 .wl2-foot__motto { margin: 0; font: 400 18px/1.4 var(--wl-serif); color: var(--wl2-paper-dim); }
.wl-v2 .wl2-foot__h { margin: 0 0 var(--s3); font: 500 var(--wl2-label)/1.4 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-foot__col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.wl-v2 .wl2-foot__col a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font: 400 17px/1.3 var(--wl-display); }
.wl-v2 .wl2-foot__col a:hover { color: var(--wl2-violet-soft); }
.wl-v2 .wl2-foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s3) var(--s5); padding-block: var(--s5); border-top: 1px solid var(--wl2-rule); }
.wl-v2 .wl2-foot__tt { display: inline-flex; align-items: center; gap: var(--s3); min-height: 44px; font: 500 var(--wl2-label)/1 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }
.wl-v2 .wl2-foot__tt:hover { color: var(--wl2-paper); }
.wl-v2 .wl2-foot__tt .tt-logo { height: 14px; width: auto; }
.wl-v2 .wl2-foot__url { margin: 0; font: 500 var(--wl2-label)/1.6 var(--wl-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wl2-muted); }

/* hit areas: at least 44 px every way, without moving anything (a larger padding paid back with an equal negative margin) */
.wl-v2 .wl2-kicker a { display: inline-block; padding-block: 15px; margin-block: -15px; }
.wl-v2 .wl2-card__title a, .wl-v2 .wl2-sidecard__title a, .wl-v2 .wl2-deskstories__title a, .wl-v2 .wl2-lead__title a { display: inline-block; padding-block: 9px; margin-block: -9px; }
.wl-v2 .wl2-share a, .wl-v2 .wl2-share button { min-width: 44px; }
.wl-v2 .wl2-filed a { display: inline-flex; align-items: center; min-height: 44px; }
.wl-v2 .wl2-foot__mark { min-height: 44px; display: inline-flex; align-items: center; }

/* ---------------------------------------------------------------- narrower screens */

@media (max-width: 900px) {
  .wl-v2 .wl2-foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wl-v2 .wl2-foot__about { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  /* no menu button: the desks scroll sideways on their own row under the wordmark, the search and the button */
  .wl-v2 .wl-nav__in { flex-wrap: wrap; height: auto; padding-top: var(--s2); row-gap: 0; gap: var(--s3); }
  .wl-v2 .wl-nav__mark { order: 0; }
  .wl-v2 .wl-nav__search { order: 1; margin-left: auto; }
  .wl-v2 .wl2-cta { order: 2; }
  .wl-v2 .wl-nav__list { order: 3; flex: 1 1 100%; position: static; display: flex !important; flex-direction: row; align-items: stretch; gap: var(--s5); padding: 0; background: none; border: 0; overflow-x: auto; scrollbar-width: none; }
  .wl-v2 .wl-nav__list::-webkit-scrollbar { display: none; }
  .wl-v2 .wl-nav__list a { padding: 15px 0 13px; font-size: 12px; border-bottom: 2px solid transparent; white-space: nowrap; }
  .wl-v2 .wl-nav__list a[aria-current] { border-bottom-color: var(--wl2-violet); }
  .wl-v2 .wl-nav__sep { display: block; }
  .wl-v2 .wl2-bar, .wl-v2 .wl-bar { gap: var(--s2) var(--s4); }
  .wl-v2 .wl-bar__tt { font-size: 10px; letter-spacing: 0.1em; }
  .wl-v2 .wl-clocks { gap: var(--s2) var(--s4); flex-wrap: wrap; }
  .wl-v2 .wl2-line-item { grid-template-columns: 52px minmax(0, 1fr); gap: var(--s3); }
  .wl-v2 .wl2-line-item__n { font-size: 40px; }
  .wl-v2 .wl2-bar { grid-template-columns: minmax(96px, 120px) minmax(0, 1fr) 56px; gap: var(--s3); }
  .wl-v2 .wl2-bar__n { font-size: 24px; }
  .wl-v2 .wl2-poll__h { font-size: 34px; }
  .wl-v2 .wl2-desk__name { font-size: 30px; }
  .wl-v2 .wl2-scard__name { font-size: 28px; }
  .wl-v2 .wl2-story__grid { padding-inline: var(--wl2-gutter); }
  .wl-v2 .wl2-share { width: 100%; }
  .wl-v2 .wl2-share a, .wl-v2 .wl2-share button { flex: 1 1 auto; }
  .wl-v2 .wl2-line .tt-nl__button { flex: 1 1 100%; }
  .wl-v2 .wl2-foot__grid { grid-template-columns: minmax(0, 1fr); }
  .wl-v2 .wl2-prose, .wl-v2 .wl2-prose p, .wl-v2 .wl2-prose li { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .wl-v2 *, .wl-v2 *::before, .wl-v2 *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
