.signal-site { --signal-rule: rgba(7, 20, 38, .2); background: var(--paper); }

.signals-home-copy > p { max-width: 720px; color: #d5dfec; font-size: 20px; }
.signals-home-code { align-items: flex-start; gap: 14px; }
.signals-home-code span { color: var(--coral); font-size: clamp(110px, 15vw, 210px); font-weight: 700; letter-spacing: -.1em; line-height: .72; }
.signals-home-code strong { font-family: var(--mono); font-size: clamp(36px, 5vw, 70px); letter-spacing: -.08em; }
.signals-home-code small { color: #aebfd2; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

.signals-masthead,
.signal-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
  min-height: 680px;
  background: var(--night);
  color: var(--white);
}

.signals-masthead-copy,
.signal-article-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(76px, 10vw, 145px) var(--gutter) clamp(64px, 8vw, 110px);
}

.signals-masthead h1 {
  margin: 14px 0 28px;
  font-size: clamp(92px, 15vw, 230px);
  line-height: .78;
}

.signals-masthead-copy > p,
.signal-article-deck {
  max-width: 760px;
  margin: 0;
  color: #c8d5e5;
  font-size: clamp(21px, 2.3vw, 31px);
  line-height: 1.35;
}

.signals-year-board,
.signal-hero-code {
  display: grid;
  align-content: space-between;
  min-height: 100%;
  padding: clamp(34px, 5vw, 70px);
  background: var(--coral);
  border-left: 1px solid rgba(7, 20, 38, .3);
  color: var(--night);
}

.signals-year-board > span,
.signals-year-board small,
.signal-hero-code small,
.signals-issue-meta,
.signal-byline,
.signal-watch > span,
.signal-actions > span {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.signals-year-board strong,
.signal-hero-code strong {
  font-size: clamp(92px, 13vw, 188px);
  font-weight: 600;
  letter-spacing: -.09em;
  line-height: .72;
}

.signals-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  border-bottom: 1px solid var(--signal-rule);
  background: var(--white);
}

.signals-feature-lead {
  padding: clamp(62px, 8vw, 120px) var(--gutter);
  border-right: 1px solid var(--signal-rule);
}

.signals-issue-meta,
.signal-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  color: var(--muted);
}

.signals-feature h2 {
  max-width: 880px;
  margin: clamp(32px, 6vw, 70px) 0 25px;
  font-size: clamp(48px, 7vw, 100px);
  line-height: .91;
}

.signals-feature h2 a { text-decoration: none; }
.signals-feature h2 a:hover { color: var(--blue-dark); }

.signals-feature-lead > p {
  max-width: 690px;
  color: var(--muted);
  font-size: 21px;
}

.signal-read-link {
  display: inline-flex;
  gap: 30px;
  margin-top: 32px;
  color: var(--blue-dark);
  font-weight: 700;
  text-decoration: none;
}

.signals-trend-map {
  display: grid;
  align-content: center;
  margin: 0;
  padding: clamp(50px, 6vw, 88px) var(--gutter);
  list-style: none;
  counter-reset: none;
}

.signals-trend-map li {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--signal-rule);
  line-height: 1.25;
}

.signals-trend-map li:first-child { border-top: 1px solid var(--signal-rule); }
.signals-trend-map span { color: var(--coral-dark); font-family: var(--mono); font-size: 12px; font-weight: 700; }

.signals-decisions-intro { color: var(--muted); font-size: 20px; }
.signals-decision-topic { display: block; color: var(--coral-dark); font: 700 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }

.signals-purpose,
.signal-related,
.signal-faqs {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: clamp(45px, 8vw, 130px);
  padding: clamp(74px, 10vw, 140px) var(--gutter);
}

.signals-purpose { background: var(--mist); }
.signals-purpose h2,
.signal-related h2,
.signal-faqs h2 {
  max-width: 900px;
  margin: 0 0 28px;
  font-size: clamp(42px, 6vw, 82px);
  line-height: .95;
}

.signals-purpose p { max-width: 720px; color: var(--muted); font-size: 20px; }

.signals-library {
  padding: clamp(74px, 10vw, 140px) var(--gutter);
  background: var(--paper);
  border-bottom: 1px solid var(--signal-rule);
}

.signals-library-head {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: clamp(45px, 8vw, 130px);
  margin-bottom: clamp(55px, 8vw, 100px);
}

.signals-library-head h2 {
  max-width: 980px;
  margin: 0 0 24px;
  font-size: clamp(44px, 6.2vw, 90px);
  line-height: .94;
}

.signals-library-head p { max-width: 760px; margin: 0; color: var(--muted); font-size: 20px; line-height: 1.6; }

.signals-library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--signal-rule);
}

.signals-library-card {
  display: flex;
  min-height: 440px;
  flex-direction: column;
  padding: clamp(30px, 4vw, 58px);
  border-right: 1px solid var(--signal-rule);
  border-bottom: 1px solid var(--signal-rule);
  background: var(--white);
}

.signals-library-card:nth-child(4n + 2),
.signals-library-card:nth-child(4n + 3) { background: var(--mist); }

.signals-library-card:last-child {
  grid-column: 1 / -1;
  min-height: 390px;
  background: var(--night);
  color: var(--white);
}

.signals-library-meta,
.signals-library-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.signals-library-meta span:first-child { color: var(--coral-dark); }
.signals-library-card:last-child .signals-library-meta,
.signals-library-card:last-child .signals-library-foot { color: #9eb0c7; }

.signals-library-card h3 {
  max-width: 720px;
  margin: auto 0 24px;
  padding-top: 60px;
  font-size: clamp(34px, 4.2vw, 62px);
  line-height: .96;
}

.signals-library-card h3 a { text-decoration: none; }
.signals-library-card h3 a:hover { color: var(--blue-dark); }
.signals-library-card:last-child h3 a:hover { color: var(--coral); }
.signals-library-card > p { max-width: 670px; margin: 0 0 42px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.signals-library-card:last-child > p { color: #c8d5e5; }
.signals-library-foot { justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid var(--signal-rule); }
.signals-library-card:last-child .signals-library-foot { border-color: var(--line-dark); }
.signals-library-foot a { color: var(--blue-dark); text-decoration: none; }
.signals-library-card:last-child .signals-library-foot a { color: var(--coral); }
.signals-library-foot b { margin-left: 8px; font-size: 18px; }

.signal-article-hero { min-height: 760px; }
.signal-article-hero h1 {
  max-width: 1000px;
  margin: 20px 0 28px;
  font-size: clamp(58px, 8vw, 122px);
  line-height: .88;
}

.signal-byline { margin-top: 36px; color: #9eb0c7; }
.signal-hero-code { position: relative; overflow: hidden; background: var(--blue); color: var(--white); }
.signal-hero-code > span { font-size: clamp(170px, 22vw, 340px); font-weight: 700; letter-spacing: -.12em; line-height: .7; }
.signal-hero-code[data-code-size="compact"] > span { font-size: clamp(64px, 7vw, 98px); letter-spacing: -.07em; }
.signal-hero-code strong { color: transparent; -webkit-text-stroke: 1.5px #9fb1ff; }

.signal-premise {
  display: grid;
  grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr);
  gap: clamp(45px, 8vw, 130px);
  padding: clamp(75px, 10vw, 145px) var(--gutter);
  background: var(--white);
}

.signal-premise aside {
  align-self: start;
  padding: 22px;
  border-top: 5px solid var(--coral);
  background: var(--paper);
}

.signal-premise aside span { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.signal-premise aside p { margin: 14px 0 0; color: var(--muted); }
.signal-premise h2 { max-width: 900px; margin: 0 0 35px; font-size: clamp(45px, 6vw, 90px); line-height: .94; }
.signal-premise > div > p { max-width: 760px; color: var(--muted); font-size: 19px; line-height: 1.7; }

.signal-contents {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(40px, 7vw, 110px);
  padding: clamp(65px, 8vw, 110px) var(--gutter);
  background: var(--night);
  color: var(--white);
  scroll-margin-top: 20px;
}

.signal-contents h2 { max-width: 560px; margin: 18px 0 0; font-size: clamp(38px, 4.5vw, 66px); line-height: .98; }
.signal-contents ol { margin: 0; padding: 0; list-style: none; }
.signal-contents li { border-bottom: 1px solid var(--line-dark); }
.signal-contents li:first-child { border-top: 1px solid var(--line-dark); }
.signal-contents a { display: grid; grid-template-columns: 46px 1fr; gap: 12px; padding: 13px 0; color: #d6e0ec; line-height: 1.25; text-decoration: none; }
.signal-contents a:hover { color: var(--coral); }
.signal-contents a span { color: var(--coral); font-family: var(--mono); font-size: 11px; font-weight: 700; }

.signal-trends { background: var(--paper); }
.signal-trend { padding: clamp(72px, 9vw, 130px) var(--gutter); border-bottom: 1px solid var(--signal-rule); scroll-margin-top: 15px; }
.signal-trend:nth-child(even) { background: var(--white); }
.signal-trend > header { display: grid; grid-template-columns: minmax(90px, .25fr) minmax(0, 1.75fr); gap: 25px; align-items: start; margin-bottom: clamp(45px, 7vw, 90px); }
.signal-trend-index { color: var(--coral-dark); font-family: var(--mono); font-size: clamp(48px, 7vw, 96px); font-weight: 700; line-height: .85; }
.signal-trend h2 { max-width: 1050px; margin: 0; font-size: clamp(44px, 6.2vw, 92px); line-height: .94; }
.signal-trend-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(50px, 8vw, 120px); margin-left: calc(12.5% + 25px); }
.signal-trend-copy p { max-width: 750px; color: var(--muted); font-size: 18px; line-height: 1.72; }
.signal-trend-copy p:first-child { color: var(--ink); font-size: 22px; }
.signal-trend-aside { align-self: start; border-top: 1px solid var(--ink); }
.signal-watch, .signal-actions { padding: 24px 0; border-bottom: 1px solid var(--signal-rule); }
.signal-watch > span, .signal-actions > span { color: var(--coral-dark); }
.signal-watch p { margin: 12px 0 0; font-weight: 700; line-height: 1.45; }
.signal-actions ul { margin: 14px 0 0; padding-left: 19px; color: var(--muted); }
.signal-actions li + li { margin-top: 10px; }
.signal-back { display: block; width: max-content; margin: 45px 0 0 calc(12.5% + 25px); color: var(--blue-dark); font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.signal-faqs { background: var(--mist); }
.signal-faq-list { border-top: 1px solid var(--signal-rule); }
.signal-faq-list details { border-bottom: 1px solid var(--signal-rule); }
.signal-faq-list summary { padding: 22px 0; cursor: pointer; font-size: 21px; font-weight: 700; list-style-position: outside; }
.signal-faq-list summary::marker { color: var(--coral-dark); }
.signal-faq-list p { max-width: 760px; padding: 0 0 26px; color: var(--muted); line-height: 1.7; }

.signal-related { background: var(--white); }
.signal-related-links { border-top: 1px solid var(--signal-rule); }
.signal-related-links a { display: grid; grid-template-columns: 1fr auto; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--signal-rule); font-size: 20px; font-weight: 700; text-decoration: none; }
.signal-related-links a:hover { color: var(--blue-dark); }
.signal-related-links b { color: var(--blue); font-size: 24px; }

.signal-article-cta { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 120px); padding: clamp(74px, 9vw, 130px) var(--gutter); background: var(--coral); }
.signal-article-cta h2 { max-width: 760px; margin: 18px 0 0; font-size: clamp(44px, 6vw, 84px); line-height: .94; }
.signal-article-cta > div:last-child { align-self: end; }
.signal-article-cta p { max-width: 650px; font-size: 20px; }

@media (max-width: 980px) {
  .signals-masthead, .signal-article-hero { grid-template-columns: 1fr; }
  .signals-year-board, .signal-hero-code { min-height: 330px; }
  .signals-year-board strong, .signal-hero-code strong { font-size: 100px; }
  .signal-hero-code > span { font-size: 180px; }
  .signals-feature, .signals-purpose, .signals-library-head, .signal-premise, .signal-contents, .signal-faqs, .signal-related, .signal-article-cta { grid-template-columns: 1fr; }
  .signals-library-grid { grid-template-columns: 1fr; }
  .signals-library-card:last-child { grid-column: auto; }
  .signals-feature-lead { border-right: 0; border-bottom: 1px solid var(--signal-rule); }
  .signal-trend-grid { margin-left: 0; grid-template-columns: 1fr; }
  .signal-back { margin-left: 0; }
}

@media (max-width: 620px) {
  .signals-masthead, .signal-article-hero { min-height: auto; }
  .signals-masthead-copy, .signal-article-hero-copy { padding-top: 70px; }
  .signals-masthead h1 { font-size: 76px; }
  .signals-feature h2, .signal-article-hero h1 { overflow-wrap: anywhere; }
  .signal-trend > header { grid-template-columns: 1fr; }
  .signal-trend-index { font-size: 48px; }
  .signals-issue-meta, .signal-byline { flex-direction: column; gap: 6px; }
  .signals-library-card { min-height: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-site { scroll-behavior: auto; }
}
