/* Outcome-led campaign; paired colours inherit the existing Civion tokens. */
.future-page { overflow-wrap: anywhere; }
.future-page h2 { font-size: clamp(30px, 3.5vw, 48px); line-height: 1.15; letter-spacing: -.04em; }
.future-page h3 { font-size: clamp(23px, 2.5vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
.future-page p { line-height: 1.8; }
.future-hero { display: grid; grid-template-columns: 1.25fr .85fr; gap: 64px; align-items: center; padding-block: 64px 80px; }
.future-hero h1 { font-size: clamp(40px, 4.8vw, 68px); line-height: 1.06; letter-spacing: -.055em; margin: 22px 0; }
.future-hero h1 span, .future-final h2 span { color: var(--site-blue); }
.future-lead { font-size: 21px; max-width: 610px; }
.future-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; }
.future-page .future-terms { font-size: 12px; line-height: 1.7; color: var(--site-muted); max-width: 600px; margin: 16px 0 0; }
.future-chapter { background: var(--site-white); color: var(--site-ink); border: 1px solid var(--site-line); border-top: 3px solid var(--site-blue); padding: 32px; border-radius: 4px 4px 22px 22px; }
.future-chapter h2 { font-size: 30px; }
.future-chapter ol { padding: 0; margin: 28px 0; list-style: none; }
.future-chapter li { display: flex; align-items: start; gap: 18px; border-top: 1px solid var(--site-line); padding-block: 20px; }
.future-chapter li>span { flex: 0 0 2ch; color: var(--site-blue); font-size: 13px; padding-top: 4px; }
.future-chapter h3 { font-size: 19px; margin: 0 0 8px; }
.future-chapter p { margin: 0; font-size: 14px; }
.future-caption { color: var(--site-muted); }
.future-recognition { border-block: 1px solid var(--site-line); background: var(--site-white); color: var(--site-ink); padding-block: 64px; }
.future-recognition .container { max-width: 860px; }
.future-recognition p:not(.eyebrow) { max-width: 730px; }
.future-story { padding-block: 72px 20px; }
.future-scene { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; border-bottom: 1px solid var(--site-line); padding-block: 52px; scroll-margin-top: 100px; }
.future-number { display: block; font-size: 12px; font-weight: 650; letter-spacing: .12em; color: var(--site-blue); }
.future-scene h3 { margin: 18px 0; }
.future-scene figure { margin: 0; min-width: 0; }
.future-scene img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--site-line); }
.future-scene figcaption { font-size: 12px; line-height: 1.7; color: var(--site-muted); margin-top: 12px; }
.future-evidence { border-left: 2px solid var(--site-blue); padding-left: 18px; font-size: 14px; color: var(--site-muted); }
.future-evening-note { background: var(--site-white); color: var(--site-ink); padding: 48px; border-radius: 12px; }
.future-evening-note p:not(.eyebrow) { font-size: clamp(26px, 3vw, 40px); line-height: 1.3; letter-spacing: -.04em; }
.future-evening-note>span { color: var(--site-blue); font-size: 14px; }
.future-start { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-block: 64px; }
.future-start ol { padding-left: 24px; }
.future-start li { padding: 0 0 14px 14px; }
.future-start h3 { font-size: 22px; margin-block: 8px; }
.future-faq { padding-block: 40px 64px; }
.future-faq details { padding: 22px 0; border-bottom: 1px solid var(--site-line); }
.future-faq summary { cursor: pointer; font-weight: 600; line-height: 1.6; }
.future-faq details p { max-width: 850px; }
.future-final { padding-block: 48px 80px; border-top: 1px solid var(--site-line); }
.future-final h2 { font-size: clamp(40px, 5vw, 64px); }
.future-final .text-link { display: inline-block; margin-top: 22px; }
@media (max-width: 850px) {
  .future-hero, .future-scene, .future-start { grid-template-columns: 1fr; gap: 30px; }
  .future-hero { padding-block: 28px 48px; }
  .future-hero h1 { font-size: clamp(36px, 8vw, 58px); }
  .future-lead { font-size: 18px; }
  .future-chapter, .future-evening-note { padding: 26px; }
  .future-story { padding-top: 48px; }
  .future-recognition { padding-block: 42px; }
  .future-scene { padding-block: 34px; }
  .future-start { padding-block: 40px; }
}
@media (max-width: 480px) {
  .future-actions { align-items: stretch; }
  .future-actions .button, .future-final .button { width: 100%; text-align: center; }
  .future-chapter { padding: 22px; }
  .future-page .eyebrow { letter-spacing: .09em; font-size: 11px; }
}
