:root {
  --signal-ink: #271c24;
  --signal-muted: #7e6672;
  --signal-carmine: #d13273;
  --signal-carmine-deep: #8f1749;
  --signal-rose: #ff9bb6;
  --signal-gold: #d39a2f;
  --signal-violet: #8a6bd1;
  --signal-paper: #fffafb;
  --signal-line: rgba(105, 46, 76, .13);
}

.signals-main { overflow: hidden; }

.signals-hero {
  position: relative;
  min-height: 46vh;
  display: grid;
  align-items: end;
  padding: clamp(7.5rem, 14vw, 13rem) clamp(1.5rem, 6vw, 6rem) clamp(4rem, 8vw, 7rem);
  border-bottom: 1px solid var(--signal-line);
  background:
    radial-gradient(circle at 78% 36%, rgba(209, 50, 115, .17), transparent 29%),
    radial-gradient(circle at 63% 62%, rgba(255, 179, 137, .22), transparent 31%),
    linear-gradient(135deg, #fff 0%, #fff8fa 50%, #fff3f5 100%);
}

.signals-hero-copy { position: relative; z-index: 2; max-width: 980px; }
.signals-kicker, .signal-story-number, .signal-section-heading > span, .signal-story-date span {
  display: block;
  color: var(--signal-carmine);
  font: 600 .71rem/1.2 "Instrument Sans", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.signals-hero h1 {
  max-width: 920px;
  margin: .6rem 0 1.25rem;
  color: var(--signal-ink);
  font: 500 clamp(3.2rem, 7.2vw, 7.5rem)/.91 "Instrument Sans", sans-serif;
  letter-spacing: -.075em;
}
.signals-hero-copy > p { max-width: 760px; margin: 0; color: var(--signal-muted); font-size: clamp(1rem, 1.4vw, 1.25rem); line-height: 1.6; }

.signals-orbit { position: absolute; inset: 4rem 3vw auto auto; width: min(42vw, 620px); aspect-ratio: 1; opacity: .85; }
.signals-orbit::before, .signals-orbit::after, .signals-orbit i {
  content: ""; position: absolute; inset: 16%; border: 1px solid rgba(209, 50, 115, .19); border-radius: 50%; transform: rotate(-22deg) scaleY(.53);
}
.signals-orbit::after { inset: 28%; transform: rotate(47deg) scaleY(.56); border-color: rgba(211, 154, 47, .22); }
.signals-orbit i { inset: auto; width: 9px; height: 9px; background: var(--signal-carmine); border: 0; box-shadow: 0 0 22px rgba(209, 50, 115, .65); }
.signals-orbit i:nth-child(1) { left: 19%; top: 38%; }
.signals-orbit i:nth-child(2) { right: 13%; top: 49%; width: 6px; height: 6px; background: var(--signal-gold); }
.signals-orbit i:nth-child(3) { left: 43%; bottom: 14%; width: 13px; height: 13px; background: var(--signal-rose); }
.signals-orbit i:nth-child(4) { left: 57%; top: 21%; width: 5px; height: 5px; background: var(--signal-violet); }
.signals-orbit i:nth-child(5) { left: 51%; top: 48%; width: 54px; height: 54px; border: 1px solid rgba(209, 50, 115, .25); background: rgba(255,255,255,.42); box-shadow: 0 0 60px rgba(209, 50, 115, .22); }

/* The index opens directly onto its stories. Individual Signal pages retain
   the larger editorial introduction used for one specific investigation. */
.signals-main--hub .signals-hero { min-height: 0; padding: clamp(7rem, 9vw, 8.5rem) clamp(1.5rem, 6vw, 6rem) clamp(2rem, 3.5vw, 3rem); }
.signals-main--hub .signals-hero-copy { max-width: 720px; }
.signals-main--hub .signals-hero h1 { margin: .35rem 0 .6rem; font-size: clamp(3.2rem, 5.5vw, 5.8rem); }
.signals-main--hub .signals-hero-copy > p { max-width: 620px; font-size: 1rem; }
.signals-main--hub .signals-orbit { inset: 2.5rem 6vw auto auto; width: min(25vw, 330px); opacity: .58; }

.signals-manifesto {
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .7fr); gap: 4rem;
  padding: clamp(3.5rem, 7vw, 7rem) clamp(1.5rem, 6vw, 6rem);
  border-bottom: 1px solid var(--signal-line);
}
.signals-manifesto p { max-width: 930px; margin: 0; color: var(--signal-ink); font: 300 clamp(1.85rem, 3.5vw, 3.65rem)/1.1 "Instrument Sans", sans-serif; letter-spacing: -.045em; }
.signals-manifesto strong { color: var(--signal-carmine); font-weight: 500; }
.signals-manifesto div { display: grid; align-content: center; gap: .65rem; }
.signals-manifesto div span { padding: .7rem 1rem; border-left: 2px solid var(--signal-carmine); background: #fff; color: var(--signal-muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }

.signal-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 clamp(1.5rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem); background: var(--signal-paper); }
.signal-card { position: relative; min-height: 580px; padding: clamp(1.5rem, 3vw, 3rem); overflow: hidden; border: 1px solid var(--signal-line); border-top: 0; background: rgba(255,255,255,.7); }
.signal-card + .signal-card { border-left: 0; }
.signal-card > span { position: relative; z-index: 2; color: var(--signal-carmine); font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.signal-card h2 { position: relative; z-index: 2; max-width: 450px; margin: 1.2rem 0; font: 500 clamp(2rem, 3vw, 3.4rem)/1 "Instrument Sans", sans-serif; letter-spacing: -.055em; }
.signal-card h2 a { color: var(--signal-ink); text-decoration: none; }
.signal-card p { position: relative; z-index: 2; max-width: 430px; color: var(--signal-muted); line-height: 1.65; }
.signal-card > strong { position: absolute; z-index: 2; left: clamp(1.5rem, 3vw, 3rem); bottom: 5.5rem; color: var(--signal-ink); font-weight: 500; }
.signal-card > a { position: absolute; z-index: 2; left: clamp(1.5rem, 3vw, 3rem); bottom: 2.6rem; color: var(--signal-carmine); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.signal-card-art { position: absolute; right: -15%; bottom: -4%; width: 88%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 40%, rgba(209,50,115,.18), rgba(255,255,255,0) 62%); filter: blur(.1px); }
.signal-card-art::before, .signal-card-art::after, .signal-card-art i { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(209,50,115,.18); border-radius: 50%; transform: rotate(32deg) scaleY(.58); }
.signal-card-art::after { inset: 28%; transform: rotate(-28deg) scaleY(.48); }
.signal-card-art i:nth-child(1) { inset: 40%; background: rgba(209,50,115,.07); box-shadow: 0 0 80px rgba(209,50,115,.17); }
.signal-card-art i:nth-child(2) { inset: 13% 47% 75%; background: var(--signal-carmine); border: 0; box-shadow: 0 0 20px var(--signal-rose); }
.signal-card--violet .signal-card-art { filter: hue-rotate(30deg); }
.signal-card--gold .signal-card-art { filter: hue-rotate(315deg) saturate(.75); }
.signal-card--landscape { grid-column: 1 / -1; min-height: 430px; background: radial-gradient(circle at 80% 45%, rgba(209,50,115,.16), transparent 28rem), linear-gradient(125deg, #fff, #fff5f8); }
.signal-card--landscape h2 { max-width: 850px; font-size: clamp(2.6rem, 5vw, 5.7rem); }
.signal-card--landscape p { max-width: 700px; }
.signal-card--landscape .signal-card-art { right: -2%; bottom: -52%; width: min(58%, 690px); }
.signal-deep-dives { padding: clamp(2.5rem, 4vw, 4rem) clamp(1.25rem, 4vw, 4rem) clamp(4rem, 6vw, 6rem); background: var(--signal-paper); }
.signal-deep-dives > .signal-section-heading { margin-bottom: 1.5rem; }
.signal-deep-dives .signal-card-grid { padding: 0; }
.signals-main--hub .signal-section-heading { margin-bottom: 1.5rem; }
.signals-main--hub .signal-section-heading h2 { margin-bottom: 0; font-size: clamp(2.2rem, 3.7vw, 4rem); }
.signals-main--hub .signal-card { min-height: 390px; }

.signal-promise, .signal-journalist, .signal-split {
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 7rem);
  padding: clamp(3.5rem, 7vw, 7rem) clamp(1.5rem, 6vw, 6rem); border-top: 1px solid var(--signal-line);
}
.signal-promise h2, .signal-journalist h2, .signal-split h2 { margin: .7rem 0 0; color: var(--signal-ink); font: 500 clamp(2rem, 3.3vw, 3.5rem)/1.03 "Instrument Sans", sans-serif; letter-spacing: -.055em; }
.signal-promise p, .signal-journalist p, .signal-split p { color: var(--signal-muted); line-height: 1.7; }

.signal-story { background: var(--signal-paper); }
.signal-story-header { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .5fr); gap: 5rem; padding: clamp(3.5rem, 7vw, 7rem) clamp(1.5rem, 6vw, 6rem); }
.signal-story-question { max-width: 880px; margin: 1rem 0 2rem; color: var(--signal-ink); font: 400 clamp(2.25rem, 4.5vw, 4.75rem)/1.02 "Instrument Sans", sans-serif; letter-spacing: -.06em; }
.signal-story-lead { max-width: 900px; margin: 0; color: var(--signal-muted); font-size: clamp(1rem, 1.5vw, 1.28rem); line-height: 1.7; }
.signal-story-date { align-self: end; padding: 1.5rem; border: 1px solid var(--signal-line); border-radius: 1.4rem; background: rgba(255,255,255,.68); }
.signal-story-date strong, .signal-story-date small { display: block; margin-top: .5rem; }
.signal-story-date strong { color: var(--signal-ink); font-size: 1.15rem; }
.signal-story-date small { color: var(--signal-muted); line-height: 1.5; }

.signal-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 clamp(1.5rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem); border: 1px solid var(--signal-line); border-radius: 2rem; overflow: hidden; box-shadow: 0 24px 80px rgba(125,42,77,.06); }
.signal-metrics > * { min-height: 190px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.25rem, 2.5vw, 2.5rem); background: rgba(255,255,255,.82); color: var(--signal-ink); text-decoration: none; }
.signal-metrics > * + * { border-left: 1px solid var(--signal-line); }
.signal-metrics strong { margin-bottom: 2rem; color: var(--signal-carmine); font: 500 clamp(2.4rem, 4vw, 4.4rem)/.9 "Instrument Sans", sans-serif; letter-spacing: -.06em; }
.signal-metrics span { font-weight: 600; }
.signal-metrics small { margin-top: .4rem; color: var(--signal-muted); }

.signal-visual { padding: clamp(4rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem); border-top: 1px solid var(--signal-line); }
.signal-section-heading { max-width: 920px; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.signal-section-heading h2 { margin: .6rem 0 1rem; color: var(--signal-ink); font: 500 clamp(2.4rem, 5vw, 5.4rem)/.95 "Instrument Sans", sans-serif; letter-spacing: -.07em; }
.signal-section-heading p { max-width: 760px; color: var(--signal-muted); line-height: 1.65; }

.signal-world { position: relative; min-height: min(55vw, 690px); overflow: hidden; border: 1px solid rgba(209,50,115,.15); border-radius: 50% 48% 46% 52%; background:
  radial-gradient(ellipse at 21% 42%, rgba(209,50,115,.13) 0 9%, transparent 10%),
  radial-gradient(ellipse at 28% 68%, rgba(209,50,115,.11) 0 8%, transparent 9%),
  radial-gradient(ellipse at 54% 40%, rgba(211,154,47,.12) 0 12%, transparent 13%),
  radial-gradient(ellipse at 76% 48%, rgba(209,50,115,.11) 0 13%, transparent 14%),
  radial-gradient(ellipse at 88% 80%, rgba(138,107,209,.12) 0 7%, transparent 8%),
  linear-gradient(160deg, rgba(255,255,255,.78), rgba(255,234,241,.5));
  box-shadow: inset 0 0 100px rgba(209,50,115,.07), 0 35px 100px rgba(101,41,68,.06);
}
.signal-world-grid { position: absolute; inset: 0; border-radius: inherit; opacity: .4; background-image: linear-gradient(rgba(209,50,115,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(209,50,115,.08) 1px, transparent 1px); background-size: 10% 12.5%; }
.signal-map-bubble { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: var(--size); height: var(--size); transform: translate(-50%, -50%); display: grid; place-content: center; border: 1px solid rgba(209,50,115,.28); border-radius: 50%; background: rgba(255,255,255,.78); color: var(--signal-carmine-deep); text-align: center; text-decoration: none; box-shadow: 0 8px 35px rgba(145,35,80,.13), inset 0 0 28px rgba(209,50,115,.08); backdrop-filter: blur(10px); transition: transform .18s ease, background .18s ease; }
.signal-map-bubble:hover, .signal-map-bubble:focus-visible { z-index: 5; transform: translate(-50%, -50%) scale(1.13); background: #fff; }
.signal-map-bubble strong { font-size: clamp(.68rem, 1.3vw, 1.2rem); }
.signal-map-bubble span { display: none; position: absolute; top: calc(100% + .4rem); left: 50%; transform: translateX(-50%); width: max-content; max-width: 180px; padding: .35rem .55rem; border-radius: .45rem; background: var(--signal-ink); color: white; font-size: .64rem; }
.signal-map-bubble:hover span, .signal-map-bubble:focus-visible span { display: block; }

.signal-split > div { min-width: 0; }
.signal-ranking { display: grid; gap: .7rem; margin-top: 2rem; }
.signal-rank-row { display: grid; grid-template-columns: minmax(110px, 1.1fr) minmax(80px, 1.5fr) auto; align-items: center; gap: 1rem; min-height: 46px; color: var(--signal-ink); text-decoration: none; }
.signal-rank-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.signal-rank-row i { position: relative; height: 5px; border-radius: 99px; background: rgba(209,50,115,.08); }
.signal-rank-row i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--value); border-radius: inherit; background: linear-gradient(90deg, var(--signal-carmine), var(--signal-rose)); }
.signal-rank-row strong { min-width: 3ch; color: var(--signal-carmine); text-align: right; }

.signal-phase-blocks { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); min-height: 310px; align-items: end; gap: 1rem; }
.signal-phase-blocks a { min-height: max(70px, var(--share)); display: flex; flex-direction: column; justify-content: flex-end; padding: 1.3rem; border: 1px solid rgba(209,50,115,.14); border-radius: 1.4rem 1.4rem .4rem .4rem; background: linear-gradient(180deg, rgba(209,50,115,.12), rgba(255,255,255,.9)); color: var(--signal-ink); text-decoration: none; }
.signal-phase-blocks strong { color: var(--signal-carmine); font-size: clamp(1.7rem, 3vw, 3.4rem); font-weight: 500; letter-spacing: -.06em; }
.signal-phase-blocks span { margin-top: .5rem; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }

.signal-cohorts { display: grid; gap: 1.1rem; }
.signal-cohort { display: grid; grid-template-columns: 70px 1fr 120px; align-items: center; gap: 1rem; color: var(--signal-muted); }
.signal-cohort > strong { color: var(--signal-ink); }
.signal-cohort-track { display: flex; height: 18px; gap: 3px; }
.signal-cohort-track i { display: block; width: var(--value); min-width: 2px; border-radius: 99px; }
.signal-legend { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: -2rem 0 3rem; color: var(--signal-muted); font-size: .78rem; }
.signal-legend span::before { content: ""; display: inline-block; width: .7rem; height: .7rem; margin-right: .5rem; border-radius: 50%; background: currentColor; }
.is-posted { background: var(--signal-rose); color: var(--signal-rose); }
.is-gap { background: var(--signal-carmine-deep); color: var(--signal-carmine-deep); }
.is-window { background: #e6c575; color: #c59b33; }
.signal-big-statement { display: block; margin: 1.1rem 0 0; color: var(--signal-carmine); font: 500 clamp(4rem, 10vw, 10rem)/.8 "Instrument Sans", sans-serif; letter-spacing: -.09em; }

.signal-flow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(30px, .13fr) minmax(0, 1fr) minmax(30px, .13fr) minmax(0, 1fr); align-items: stretch; }
.signal-flow > div { display: grid; align-content: start; gap: .65rem; padding: 1.5rem; border: 1px solid var(--signal-line); border-radius: 1.5rem; background: rgba(255,255,255,.7); }
.signal-flow > div > span { margin-bottom: .6rem; color: var(--signal-carmine); font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.signal-flow > div a { padding: .9rem; border-radius: .8rem; background: rgba(209,50,115,.04); color: var(--signal-ink); text-decoration: none; }
.signal-flow > div a strong, .signal-flow > div a span { display: block; }
.signal-flow > div a span { margin-top: .25rem; color: var(--signal-muted); font-size: .72rem; }
.signal-flow > i { min-width: 30px; background: repeating-linear-gradient(160deg, transparent 0 12px, rgba(209,50,115,.14) 13px 14px, transparent 15px 28px); }
.signal-history { height: 260px; display: flex; align-items: end; gap: .55rem; margin-top: 2rem; border-bottom: 1px solid var(--signal-line); }
.signal-history a { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: end; align-items: center; color: var(--signal-muted); text-decoration: none; }
.signal-history a i { width: 100%; height: var(--height); min-height: 4px; border-radius: .5rem .5rem 0 0; background: linear-gradient(180deg, var(--signal-rose), var(--signal-carmine)); }
.signal-history a strong { margin-top: .45rem; color: var(--signal-carmine); font-size: .7rem; }
.signal-history a span { font-size: .65rem; }

.signal-records { padding: clamp(4rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem); border-top: 1px solid var(--signal-line); }
.signal-records ol { padding: 0; margin: 0 0 2rem; list-style: none; border-top: 1px solid var(--signal-line); }
.signal-records li { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1.4fr) minmax(180px, .5fr); gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--signal-line); align-items: start; }
.signal-records li > span { color: var(--signal-carmine); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.signal-records li a { color: var(--signal-ink); font-size: 1.1rem; font-weight: 500; text-decoration: none; }
.signal-records li small { color: var(--signal-muted); line-height: 1.5; }
.signal-primary-action { display: inline-flex; padding: .85rem 1.15rem; border: 1px solid rgba(209,50,115,.35); border-radius: 999px; color: var(--signal-carmine); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.signal-scope { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 3rem; margin: 0 clamp(1.5rem, 6vw, 6rem) clamp(4rem, 7vw, 7rem); padding: 2rem; border: 1px solid rgba(211,154,47,.25); border-radius: 1.6rem; background: rgba(255,248,226,.56); }
.signal-scope span { display: block; margin-bottom: .55rem; color: var(--signal-gold); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.signal-scope p { margin: 0; color: var(--signal-muted); line-height: 1.65; }
.signal-scope p + p { margin-top: .8rem; }

.signal-journalist { background: linear-gradient(135deg, #2a1b24, #4a1d31); color: white; }
.signal-journalist h2 { color: white; }
.signal-journalist p { color: rgba(255,255,255,.68); }
.signal-journalist-actions { display: grid; align-content: center; gap: .7rem; }
.signal-journalist-actions a { padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: .8rem; color: white; text-decoration: none; transition: background .18s ease; }
.signal-journalist-actions a:hover { background: rgba(255,255,255,.08); }

/* The 180-field landscape: a reader-first visual story built from the frozen
   October 2026 release. */
.landscape-opening { background: radial-gradient(circle at 86% 20%, rgba(209,50,115,.1), transparent 30rem), #fffafb; }
.landscape-ladder { display: grid; gap: .8rem; max-width: 1120px; }
.landscape-rung { display: grid; grid-template-columns: 2rem minmax(90px, 1fr) 6rem minmax(180px, .62fr); align-items: center; gap: 1rem; min-height: 72px; color: var(--signal-ink); text-decoration: none; }
.landscape-rung > span { color: var(--signal-muted); font-size: .72rem; }
.landscape-rung > i { position: relative; height: 100%; min-height: 56px; overflow: hidden; border-radius: 999px; background: rgba(209,50,115,.055); }
.landscape-rung > i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--width); border-radius: inherit; background: linear-gradient(90deg, rgba(143,23,73,.96), rgba(209,50,115,.76), rgba(255,155,182,.48)); box-shadow: 0 10px 36px rgba(209,50,115,.14); }
.landscape-rung > strong { color: var(--signal-carmine); font: 500 clamp(2rem, 4vw, 4.2rem)/1 "Instrument Sans", sans-serif; letter-spacing: -.07em; text-align: right; }
.landscape-rung b, .landscape-rung small { display: block; }
.landscape-rung b { font-size: .92rem; }
.landscape-rung small { margin-top: .3rem; color: var(--signal-muted); line-height: 1.35; }
.landscape-plain-note { max-width: 900px; margin: 2.5rem 0 0; padding: 1.2rem 1.35rem; border-left: 3px solid var(--signal-gold); background: rgba(255,249,232,.65); color: var(--signal-muted); line-height: 1.65; }
.landscape-plain-note strong { color: var(--signal-ink); }

.landscape-contrast { background: linear-gradient(155deg, #fff, #fff6f9); }
.landscape-contrast a { color: var(--signal-carmine-deep); }
.landscape-duel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-self: start; }
.landscape-duel-card { min-height: 390px; padding: clamp(1.4rem, 2.5vw, 2.4rem); border: 1px solid var(--signal-line); border-radius: 48% 48% 1.6rem 1.6rem / 20% 20% 1.6rem 1.6rem; background: rgba(255,255,255,.82); box-shadow: 0 25px 70px rgba(99,35,62,.07); }
.landscape-duel-card > span { display: block; color: var(--signal-carmine); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.landscape-duel-card h3 { margin: 1rem 0 3rem; font: 500 clamp(2rem, 3.2vw, 3.5rem)/.95 "Instrument Sans", sans-serif; letter-spacing: -.06em; }
.landscape-duel-card h3 a { color: var(--signal-ink); text-decoration: none; }
.landscape-duel-card dl { margin: 0; }
.landscape-duel-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--signal-line); }
.landscape-duel-card dt { color: var(--signal-muted); }
.landscape-duel-card dd { margin: 0; color: var(--signal-carmine); font-weight: 600; }
.landscape-duel-card--gold { background: radial-gradient(circle at 70% 12%, rgba(211,154,47,.17), transparent 12rem), #fff; }
.landscape-duel-card--gold > span, .landscape-duel-card--gold dd { color: #a87313; }

.landscape-domains { background: #fff; }
.landscape-domain-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.landscape-domain-pair article { padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid var(--signal-line); border-radius: 2rem; background: rgba(255,250,251,.74); }
.landscape-domain-pair header { display: grid; }
.landscape-domain-pair header > span { min-height: 2.6rem; color: var(--signal-ink); font-weight: 600; }
.landscape-domain-pair header > strong { margin-top: 2rem; color: var(--signal-carmine); font: 500 clamp(3rem, 6vw, 6rem)/.9 "Instrument Sans", sans-serif; letter-spacing: -.075em; }
.landscape-domain-pair header > small { margin-top: .45rem; color: var(--signal-muted); }
.landscape-domain-track { height: 18px; margin: 2rem 0 1.5rem; overflow: hidden; border-radius: 999px; background: rgba(209,50,115,.07); }
.landscape-domain-track i { display: block; width: max(10px, var(--share)); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--signal-carmine), var(--signal-rose)); }
.landscape-domain-pair p { color: var(--signal-muted); line-height: 1.55; }
.landscape-domain-pair p strong { color: var(--signal-ink); }
.landscape-domain-pair a { display: inline-block; margin-top: 1.3rem; color: var(--signal-carmine); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.landscape-results { background: radial-gradient(circle at 10% 25%, rgba(143,23,73,.12), transparent 28rem), linear-gradient(135deg, #fff8fa, #fff); }
.landscape-results .signal-big-statement { font-size: clamp(6rem, 14vw, 13rem); }
.landscape-results a:not(.signal-primary-action) { color: var(--signal-carmine-deep); }
.landscape-movement { background: linear-gradient(145deg, #fff, #fff8f1); }
.landscape-momentum { display: flex; min-height: 260px; align-items: end; gap: .7rem; }
.landscape-momentum div { width: var(--share); min-width: 4.2rem; min-height: max(78px, var(--share)); display: flex; flex-direction: column; justify-content: end; padding: 1.2rem; border: 1px solid rgba(209,50,115,.13); border-radius: 1.4rem 1.4rem .35rem .35rem; background: linear-gradient(180deg, rgba(209,50,115,.16), rgba(255,255,255,.92)); }
.landscape-momentum strong { color: var(--signal-carmine); font-size: clamp(1.7rem, 3vw, 3.6rem); font-weight: 500; letter-spacing: -.06em; }
.landscape-momentum span { margin-top: .35rem; color: var(--signal-muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1000px) {
  .signal-card-grid { grid-template-columns: 1fr; }
  .signal-card { min-height: 430px; border-left: 1px solid var(--signal-line) !important; }
  .signal-metrics { grid-template-columns: repeat(2, 1fr); }
  .signal-metrics > *:nth-child(3) { border-left: 0; border-top: 1px solid var(--signal-line); }
  .signal-metrics > *:nth-child(4) { border-top: 1px solid var(--signal-line); }
  .signal-flow { grid-template-columns: 1fr; gap: 1rem; }
  .signal-flow > i { min-height: 38px; transform: rotate(90deg); }
  .signal-phase-blocks { grid-template-columns: repeat(3, 1fr); }
  .signal-card--landscape { grid-column: auto; }
  .landscape-rung { grid-template-columns: 1.5rem minmax(80px, 1fr) 5rem minmax(150px, .7fr); }
}

@media (max-width: 720px) {
  .signals-hero { min-height: 62vh; padding-top: 8.5rem; }
  .signals-hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .signals-orbit { width: 92vw; right: -25vw; top: 5.5rem; opacity: .55; }
  .signals-manifesto, .signal-promise, .signal-journalist, .signal-split, .signal-story-header, .signal-scope { grid-template-columns: 1fr; gap: 2rem; }
  .signals-manifesto { padding-top: 3rem; }
  .signals-manifesto div { grid-template-columns: repeat(2, 1fr); }
  .signal-card-grid { padding-inline: 1rem; }
  .signal-card { padding: 1.4rem; }
  .signal-story-header { padding-top: 3rem; }
  .signal-story-date { align-self: start; }
  .signal-metrics { grid-template-columns: 1fr 1fr; margin-inline: 1rem; border-radius: 1.3rem; }
  .signal-metrics > * { min-height: 150px; padding: 1.15rem; }
  .signal-metrics strong { margin-bottom: 1rem; font-size: clamp(2rem, 10vw, 3rem); }
  .signal-world { min-height: 78vh; border-radius: 2rem; }
  .signal-map-bubble { min-width: 28px; min-height: 28px; max-width: 58px; max-height: 58px; }
  .signal-phase-blocks { grid-template-columns: repeat(2, 1fr); }
  .signal-cohort { grid-template-columns: 52px 1fr; }
  .signal-cohort > span { grid-column: 2; font-size: .7rem; }
  .signal-records li { grid-template-columns: 1fr; gap: .55rem; }
  .signal-scope { margin-inline: 1rem; }
  .signal-history { gap: .25rem; }
  .landscape-rung { grid-template-columns: 1.2rem 1fr auto; gap: .65rem; }
  .landscape-rung > i { min-height: 42px; }
  .landscape-rung > strong { font-size: 2rem; }
  .landscape-rung > div { grid-column: 2 / -1; margin: -.35rem 0 .55rem; }
  .landscape-duel, .landscape-domain-pair { grid-template-columns: 1fr; }
  .landscape-duel-card { min-height: 0; border-radius: 1.5rem; }
  .landscape-duel-card h3 { margin-bottom: 1.7rem; }
  .landscape-momentum { min-height: 230px; gap: .35rem; }
  .landscape-momentum div { min-width: 0; padding: .8rem .45rem; }
  .landscape-momentum span { writing-mode: vertical-rl; transform: rotate(180deg); }
}

/* Automatically published topic pulses */
.signal-auto-section { padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); border-top: 1px solid var(--signal-line); background: radial-gradient(circle at 8% 18%, rgba(211,47,107,.1), transparent 28rem), linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,246,249,.72)); }
.signal-auto-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.signal-auto-card { min-height: 25rem; padding: 1.7rem; border: 1px solid rgba(211,47,107,.2); border-radius: 2rem; background: radial-gradient(circle at 82% 15%, rgba(246,177,199,.36), transparent 9rem), rgba(255,255,255,.78); box-shadow: 0 1.8rem 5rem rgba(93,37,59,.07); display: flex; flex-direction: column; overflow: hidden; position: relative; }
.signal-auto-card::after { content: ''; position: absolute; width: 10rem; height: 10rem; right: -4rem; bottom: -5rem; border: 1px solid rgba(211,47,107,.16); border-radius: 50%; box-shadow: 0 0 3rem rgba(211,47,107,.12); }
.signal-auto-card > span, .signal-auto-card > small { color: var(--signal-carmine); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.signal-auto-card h3 { margin: 2.3rem 0 1rem; font-size: clamp(1.65rem, 2.3vw, 2.7rem); line-height: .98; letter-spacing: -.045em; }
.signal-auto-card h3 a { color: inherit; text-decoration: none; }
.signal-auto-card p { color: var(--signal-muted); line-height: 1.55; }
.signal-auto-card div { margin-top: auto; display: grid; padding: 1.5rem 0; }
.signal-auto-card div strong { color: var(--signal-carmine); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; }
.signal-auto-card div small { color: var(--signal-muted); margin-top: .45rem; }
.signal-auto-card > a { color: var(--signal-carmine); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.signal-auto-card > small { margin-top: 1.1rem; color: var(--signal-muted); }
.signal-auto-card--milestone { background: radial-gradient(circle at 88% 12%, rgba(209,50,115,.24), transparent 11rem), linear-gradient(145deg,#fff,#fff3f7); }
.signal-auto-card--capital { border-color: rgba(196,139,31,.27); background: radial-gradient(circle at 88% 12%, rgba(232,184,82,.26), transparent 11rem), linear-gradient(145deg,#fff,#fffaf0); }
.signal-auto-card--capital div strong, .signal-auto-card--capital > span { color: #a66e08; }
.signal-auto-card--integrity { border-color: rgba(52,87,132,.23); background: radial-gradient(circle at 88% 12%, rgba(99,139,186,.22), transparent 11rem), linear-gradient(145deg,#fff,#f4f8fc); }
.signal-auto-card--integrity div strong, .signal-auto-card--integrity > span { color: #315f91; }
.signal-auto-card--maturity { border-color: rgba(125,88,190,.22); background: radial-gradient(circle at 88% 12%, rgba(151,117,211,.22), transparent 11rem), linear-gradient(145deg,#fff,#f8f4ff); }
.signal-auto-card--maturity div strong, .signal-auto-card--maturity > span { color: #7654ad; }
.signal-auto-card--geography { border-color: rgba(46,135,137,.22); background: radial-gradient(circle at 88% 12%, rgba(87,178,170,.2), transparent 11rem), linear-gradient(145deg,#fff,#f1fbfa); }
.signal-auto-card--geography div strong, .signal-auto-card--geography > span { color: #277f7d; }
.signal-auto-card--universities { border-color: rgba(197,102,72,.22); background: radial-gradient(circle at 88% 12%, rgba(231,151,117,.22), transparent 11rem), linear-gradient(145deg,#fff,#fff5f1); }
.signal-auto-card--universities div strong, .signal-auto-card--universities > span { color: #b7583c; }
.signal-auto-card--connections { border-color: rgba(79,77,167,.23); background: radial-gradient(circle at 20% 16%, rgba(209,50,115,.14), transparent 9rem), radial-gradient(circle at 88% 80%, rgba(92,99,190,.2), transparent 12rem), #fff; }
.signal-auto-card--connections div strong, .signal-auto-card--connections > span { color: #5752a5; }
.signals-main--hub .signal-auto-section { padding: clamp(2.25rem, 3.5vw, 3.5rem) clamp(1.25rem, 4vw, 4rem) clamp(3rem, 5vw, 5rem); border-top: 0; }
.signals-main--hub .signal-auto-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.5rem; }
.signals-main--hub .signal-auto-card { min-height: 21rem; padding: 1.45rem; border-radius: 1.55rem; }
.signals-main--hub .signal-auto-card h3 { margin: 1.35rem 0 .7rem; font-size: clamp(1.45rem, 2vw, 2.15rem); }
.signals-main--hub .signal-auto-card p { margin: 0; }
.signals-main--hub .signal-auto-card div { padding: 1rem 0; }
.signals-main--hub .signal-auto-card div strong { font-size: clamp(2.3rem, 4vw, 4rem); }

/* Each newsroom format has a distinct visual grammar while sharing the same
   source, accessibility and mobile contracts. */
.signal-story--milestone { --newsroom-accent: #d13273; --newsroom-soft: #fff0f5; }
.signal-story--capital { --newsroom-accent: #a66e08; --newsroom-soft: #fff8e8; }
.signal-story--integrity { --newsroom-accent: #315f91; --newsroom-soft: #eff6fc; }
.signal-story--maturity { --newsroom-accent: #7654ad; --newsroom-soft: #f6f0ff; }
.signal-story--geography { --newsroom-accent: #277f7d; --newsroom-soft: #ecfaf8; }
.signal-story--universities { --newsroom-accent: #b7583c; --newsroom-soft: #fff1ec; }
.signal-story--connections { --newsroom-accent: #5752a5; --newsroom-soft: #f3f2ff; }
.signal-story[class*="signal-story--"] .signal-story-number,
.signal-story[class*="signal-story--"] .signal-metrics strong { color: var(--newsroom-accent, var(--signal-carmine)); }
.signal-newsroom-visual { position: relative; overflow: hidden; padding: clamp(4rem,8vw,8rem) clamp(1.5rem,6vw,6rem); border-top: 1px solid var(--signal-line); background: radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--newsroom-accent) 18%, transparent), transparent 25rem), linear-gradient(145deg,#fff,var(--newsroom-soft)); }
.signal-newsroom-visual::after { content: ''; position: absolute; z-index: 0; width: min(45vw,35rem); aspect-ratio: 1; right: -12%; bottom: -45%; border: 1px solid color-mix(in srgb, var(--newsroom-accent) 25%, transparent); border-radius: 50%; box-shadow: 0 0 7rem color-mix(in srgb, var(--newsroom-accent) 12%, transparent); }
.signal-newsroom-visual > * { position: relative; z-index: 1; }
.signal-newsroom-visual .signal-section-heading > span { color: var(--newsroom-accent); }
.signal-newsroom-bars { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem 2.5rem; }
.signal-newsroom-bar { display: grid; grid-template-columns: minmax(9rem,.8fr) minmax(6rem,1.5fr) 4rem; align-items: center; gap: 1rem; min-height: 4.5rem; padding: .75rem 0; border-bottom: 1px solid color-mix(in srgb, var(--newsroom-accent) 15%, transparent); color: var(--signal-ink); text-decoration: none; }
.signal-newsroom-bar > span { font-weight: 500; }
.signal-newsroom-bar > i { height: .75rem; border-radius: 999px; background: linear-gradient(90deg,var(--newsroom-accent) var(--bar),color-mix(in srgb,var(--newsroom-accent) 8%,transparent) var(--bar)); }
.signal-newsroom-bar > strong { color: var(--newsroom-accent); font-size: 1.45rem; text-align: right; }
.signal-newsroom-bar > small { grid-column: 1/-1; color: var(--signal-muted); }
.signal-newsroom-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2.5rem; }
.signal-newsroom-links a { min-width: 12rem; padding: 1.1rem 1.25rem; border: 1px solid color-mix(in srgb,var(--newsroom-accent) 25%,transparent); border-radius: 999px; background: rgba(255,255,255,.65); color: var(--signal-ink); text-decoration: none; }
.signal-newsroom-links a span { margin-right: .7rem; }
.signal-newsroom-links a strong { color: var(--newsroom-accent); }
.signal-newsroom-meaning .signal-big-statement { color: var(--newsroom-accent,var(--signal-carmine)); }

.signal-newsroom-visual--milestone .signal-newsroom-bar { grid-template-columns: minmax(12rem,1fr) minmax(8rem,2fr) 4rem; }
.signal-newsroom-visual--capital .signal-newsroom-bar > i { height: 1.15rem; border-radius: .25rem; box-shadow: 0 .35rem 1rem rgba(166,110,8,.12); }
.signal-newsroom-visual--integrity { background: linear-gradient(145deg,#f9fcff,#eaf3fa); }
.signal-newsroom-visual--integrity .signal-newsroom-bar { border-left: 3px solid var(--newsroom-accent); padding-left: 1rem; }
.signal-newsroom-visual--maturity .signal-newsroom-bars { min-height: 22rem; display: flex; align-items: end; gap: 1rem; }
.signal-newsroom-visual--maturity .signal-newsroom-bar { flex: 1; min-width: 7rem; min-height: max(7rem,var(--bar)); display: flex; flex-direction: column; justify-content: end; align-items: start; padding: 1.2rem; border: 1px solid rgba(118,84,173,.18); border-radius: 1.5rem 1.5rem .35rem .35rem; background: linear-gradient(180deg,rgba(118,84,173,.2),rgba(255,255,255,.8)); }
.signal-newsroom-visual--maturity .signal-newsroom-bar > i { display: none; }
.signal-newsroom-visual--maturity .signal-newsroom-bar > strong { order: -1; font-size: clamp(2rem,4vw,4rem); }
.signal-newsroom-visual--geography .signal-newsroom-bars { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.signal-newsroom-visual--geography .signal-newsroom-bar { min-height: 8rem; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid rgba(39,127,125,.18); border-radius: 50%; background: rgba(255,255,255,.68); text-align: center; }
.signal-newsroom-visual--geography .signal-newsroom-bar > i { width: 2.5rem; height: 2.5rem; border-radius: 50%; background: color-mix(in srgb,var(--newsroom-accent) var(--bar),white); }
.signal-newsroom-visual--geography .signal-newsroom-bar > strong { text-align: center; }
.signal-newsroom-visual--universities .signal-newsroom-bar > i { height: 1.3rem; border-radius: .2rem .8rem .2rem .2rem; }
.signal-connection-orbit { display: grid; grid-template-columns: minmax(0,1fr) minmax(8rem,.3fr) minmax(0,1fr); align-items: center; max-width: 1100px; margin: 2rem auto 0; }
.signal-connection-orbit > a { min-height: 18rem; display: grid; place-items: center; padding: 2rem; border: 1px solid rgba(87,82,165,.2); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.96),rgba(87,82,165,.09)); color: var(--signal-ink); font-size: clamp(1.5rem,3vw,3.2rem); font-weight: 500; letter-spacing: -.05em; text-align: center; text-decoration: none; box-shadow: 0 2rem 6rem rgba(87,82,165,.09); }
.signal-connection-orbit > i { display: grid; place-items: center; min-height: 7rem; margin-inline: -1rem; border-radius: 50%; background: var(--newsroom-accent); color: white; font-style: normal; box-shadow: 0 0 3rem rgba(87,82,165,.28); }
.signal-connection-orbit > i strong,.signal-connection-orbit > i small { display:block; }
.signal-connection-orbit > i strong { font-size: 2rem; }
.signal-connection-orbit > i small { font-size: .62rem; text-transform: uppercase; }
.signal-visual--pulse { background: radial-gradient(circle at 72% 22%, rgba(203,159,48,.13), transparent 24rem), linear-gradient(160deg, #fff, #fff4f7); }
.signal-pulse-legend { display: flex; gap: 1.5rem; margin: 2.25rem 0 1.4rem; color: var(--signal-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.signal-pulse-legend span::before { content: ''; display: inline-block; width: .72rem; height: .72rem; margin-right: .45rem; border-radius: 50%; vertical-align: -.05rem; }
.signal-pulse-legend .is-current::before { background: var(--signal-carmine); }
.signal-pulse-legend .is-previous::before { background: rgba(203,159,48,.5); }
.signal-pulse-chart { display: grid; gap: 1.15rem; }
.signal-pulse-row { display: grid; grid-template-columns: 8rem 1fr 12rem; align-items: center; gap: 1rem; }
.signal-pulse-row > strong { font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.signal-pulse-row > span { color: var(--signal-muted); font-size: .84rem; text-align: right; }
.signal-pulse-row > div { display: grid; gap: .3rem; }
.signal-pulse-row i { display: block; height: .65rem; width: max(.35rem, var(--value)); border-radius: 999px; }
.signal-pulse-row .is-current { background: linear-gradient(90deg, var(--signal-carmine), #f39ab8); }
.signal-pulse-row .is-previous { background: linear-gradient(90deg, rgba(203,159,48,.7), rgba(203,159,48,.22)); }

@media (max-width: 1050px) { .signals-main--hub .signal-auto-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .signal-auto-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) {
  .signal-auto-grid { grid-template-columns: 1fr; }
  .signal-auto-card { min-height: 22rem; }
  .signal-pulse-row { grid-template-columns: 1fr; gap: .45rem; }
  .signal-pulse-row > span { text-align: left; }
  .signal-newsroom-bars, .signal-newsroom-visual--geography .signal-newsroom-bars { grid-template-columns: 1fr; }
  .signal-newsroom-bar, .signal-newsroom-visual--milestone .signal-newsroom-bar { grid-template-columns: minmax(7rem,1fr) minmax(4rem,1fr) 3rem; }
  .signal-newsroom-visual--maturity .signal-newsroom-bars { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .signal-newsroom-visual--maturity .signal-newsroom-bar { min-width: 0; min-height: 9rem; }
  .signal-newsroom-visual--geography .signal-newsroom-bar { width: min(14rem,100%); justify-self: center; }
  .signal-connection-orbit { grid-template-columns: 1fr; gap: .8rem; }
  .signal-connection-orbit > a { min-height: 13rem; }
  .signal-connection-orbit > i { width: 7rem; justify-self: center; margin: -2rem 0; z-index: 2; }
  .signals-main--hub .signals-hero { min-height: 0; padding: 7.25rem 1.25rem 1.8rem; }
  .signals-main--hub .signals-hero h1 { font-size: clamp(3rem, 17vw, 4.6rem); }
  .signals-main--hub .signals-orbit { width: 11rem; right: -2.5rem; top: 4.6rem; opacity: .38; }
  .signals-main--hub .signal-auto-section, .signal-deep-dives { padding: 2rem 1rem 3.5rem; }
  .signals-main--hub .signal-auto-grid { grid-template-columns: 1fr; gap: .8rem; margin-top: 1.2rem; }
  .signals-main--hub .signal-auto-card { min-height: 19rem; }
  .signals-main--hub .signal-card-grid { padding: 0; }
  .signals-main--hub .signal-card { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-map-bubble { transition: none; }
}
