.hero {
  background:
    radial-gradient(circle at 78% 24%, rgba(171, 212, 69, .18), transparent 24rem),
    radial-gradient(circle at 20% 20%, rgba(240, 83, 52, .12), transparent 25rem),
    linear-gradient(135deg, #07131f, #102736 62%, #1b2417);
}
.hero h1 { max-width: 980px; }
.figure img { width: min(1400px, 96vw); }
.figure figcaption { max-width: 1000px; }
.source-heading {
  margin: 0 0 2.2rem;
  padding: 1.2rem 1.4rem;
  background: #ece8df;
  border-left: 4px solid var(--gold);
  font-family: var(--sans);
}
.source-heading p { margin: .2rem 0; }
.source-heading .source-title {
  color: #8f6125;
  font: 800 .72rem var(--sans);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.source-heading .source-subtitle { font-size: 1.08rem; font-style: italic; }
.sequence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 2.2rem 0 3rem;
  background: #b9b2a7;
  border: 1px solid #b9b2a7;
}
.sequence div { padding: 1.15rem; background: #fffefa; font-family: var(--sans); font-size: .8rem; }
.sequence strong {
  display: block;
  margin-bottom: .28rem;
  color: #8f6125;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.condition-list {
  columns: 2;
  margin: 1.2rem 0 1.8rem;
  padding: 1.2rem 1.2rem 1.2rem 2.2rem;
  background: #fffefa;
  border: 1px solid var(--rule);
}
.condition-list li { break-inside: avoid; margin: .25rem 0; }
.questions { margin: 1.5rem 0 2rem; padding: 1.2rem 1.5rem; background: #fffefa; border-left: 4px solid #65a8c6; }
.questions p { margin: .35rem 0; font-style: italic; }
.boundary-note,
.practice-note {
  margin: 2.3rem 0;
  padding: 1.25rem 1.4rem;
  background: #fff8e8;
  border: 1px solid #d7b675;
  font-family: var(--sans);
  font-size: .87rem;
}
.boundary-note h3,
.practice-note h3 {
  margin: 0 0 .55rem;
  font: 800 .72rem var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.boundary-note p:last-child,
.practice-note p:last-child { margin-bottom: 0; }
.evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.8rem 0 2.8rem;
}
.evidence-grid section { padding: 1.25rem; background: #fffefa; border-top: 4px solid var(--gold); }
.evidence-grid h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.evidence-grid p { margin: 0; font-family: var(--sans); font-size: .82rem; line-height: 1.55; }
.positioning dl { display: grid; gap: .8rem; }
.positioning div { padding: .85rem 1rem; background: #fffefa; border-left: 3px solid var(--gold); }
.positioning dt { font: 800 .72rem var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.positioning dd { margin: .25rem 0 0; font-family: var(--sans); font-size: .84rem; }
@media (max-width: 820px) {
  .sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .condition-list { columns: 1; } }
