.dan70-page { max-width: 820px; margin: 0 auto; padding: 32px 20px 80px; }
.dan70-hero { margin-bottom: 36px; }
.dan70-eyebrow {
  font-family: var(--font); font-size: 0.78rem; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 14px;
}
.dan70-title {
  font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600; color: var(--text); margin: 0; letter-spacing: -0.01em;
}
.dan70-subtitle {
  font-family: var(--font-display); font-style: italic; color: var(--text-secondary);
  font-size: 1.15rem; margin-top: 10px;
}
.dan70-viz-wrap {
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  padding: 20px 24px; margin-bottom: 40px;
}
.dan70-viz-wrap h2 { font-family: var(--font-display); color: var(--gold); font-size: 1.25rem; margin: 0 0 12px 0; }
.dan70-timeline svg { display: block; width: 100%; height: auto; }
.dan70-seg.s1 { fill: #5d7aaa; }
.dan70-seg.s2 { fill: #9b7ec8; }
.dan70-seg.s3 { fill: #c9a96e; }
.dan70-seg-inner {
  font-family: var(--font); font-size: 0.82rem; fill: #0b0f1a;
  font-weight: 700; letter-spacing: 0.08em;
}
.dan70-seg-outer {
  font-family: var(--font); font-size: 0.78rem; fill: var(--text-secondary);
  letter-spacing: 0.06em; text-transform: uppercase;
}
.dan70-tick { stroke: var(--text-dim); stroke-width: 1; }
.dan70-tick-label { font-family: var(--font); font-size: 0.82rem; fill: var(--text-secondary); }
.dan70-callout-leader { stroke: var(--text-dim); stroke-width: 1; stroke-dasharray: 2,3; }
.dan70-cross { font-family: var(--font-display); font-size: 1.4rem; fill: var(--gold); }
.dan70-callout-main {
  font-family: var(--font-display); font-style: italic; font-size: 0.95rem;
  fill: var(--text); font-weight: 500;
}
.dan70-callout-sub {
  font-family: var(--font); font-size: 0.75rem; fill: var(--text-dim);
  letter-spacing: 0.04em;
}
.dan70-half-mark { stroke: #cb8245; stroke-width: 2; stroke-dasharray: 3,3; }
.dan70-legend {
  font-family: var(--font); font-size: 0.85rem; color: var(--text-dim);
  margin: 12px 0 0; display: flex; gap: 20px; flex-wrap: wrap;
}
.legend-swatch {
  display: inline-block; width: 12px; height: 12px; border-radius: 3px;
  margin-right: 6px; vertical-align: -1px;
}
.legend-swatch.s1 { background: #5d7aaa; }
.legend-swatch.s2 { background: #9b7ec8; }
.legend-swatch.s3 { background: #c9a96e; }
.dan70-section { margin: 40px 0; }
.dan70-section h2 {
  font-family: var(--font-display); color: var(--gold); font-size: 1.5rem;
  margin: 0 0 12px 0; font-weight: 600; letter-spacing: -0.01em;
}
.dan70-section p {
  font-family: var(--font); color: var(--text-secondary); font-size: 1rem;
  line-height: 1.7; margin: 0 0 12px 0;
}
.dan70-refs table {
  width: 100%; border-collapse: collapse; margin-top: 12px;
  font-family: var(--font); font-size: 0.92rem;
}
.dan70-refs th, .dan70-refs td {
  text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--border);
}
.dan70-refs th { color: var(--gold); font-weight: 600; }
.dan70-refs td { color: var(--text-secondary); }
@media (max-width: 720px) {
  .dan70-page { padding: 20px 14px 60px; }
  .dan70-viz-wrap { padding: 14px 14px; }
}
