/* Closing slide inherits Causes typography, surfaces, and colors. */
.continuity-slide { padding: clamp(28px,4vw,64px); min-height: 640px; display: flex; flex-direction: column; justify-content: center; gap: var(--space-16); }
.continuity-title { margin: 0; letter-spacing: -.035em; line-height: 1.08; }
.continuity-title > span { display: block; font-size: clamp(30px,3.6vw,52px); font-weight: 650; color: var(--label); }
.continuity-title > strong { display: block; margin-top: var(--space-3); font-size: clamp(40px,4.8vw,72px); font-weight: 750; color: var(--causes-indigo); }
.continuity-diagram { --campaign-end: 40%; position: relative; min-height: 260px; }
.continuity-campaign-label, .continuity-cluster-label { position: absolute; left: 0; font-size: var(--type-body); line-height: 1.4; font-weight: 600; color: var(--label); }
.continuity-campaign-label { top: 0; }
.continuity-cluster-label { top: 106px; color: var(--causes-indigo); }
.continuity-end-label { position: absolute; left: var(--campaign-end); top: 0; padding-left: var(--space-3); color: var(--label); font-size: var(--type-footnote); line-height: 1.8; }
.continuity-end-guide { position: absolute; top: 30px; bottom: 0; left: var(--campaign-end); border-left: 1px dashed var(--separator); }
.continuity-campaign-bar { position: absolute; top: 38px; left: 0; width: var(--campaign-end); height: 10px; background: var(--causes-red); }
.continuity-campaign-bar::after { content: ''; position: absolute; top: -6px; right: 20px; width: 2px; height: 22px; background: var(--causes-red); }
.continuity-cluster-path { position: absolute; top: 142px; left: 0; right: 20px; height: 32px; color: var(--causes-indigo); }
.continuity-cluster-line { position: absolute; top: 10px; left: 0; right: 12px; height: 12px; background: linear-gradient(90deg, var(--causes-indigo) 0%, var(--causes-red) 35%, var(--causes-yellow) 68%, var(--causes-green) 100%); }
.continuity-cluster-path svg { position: absolute; right: -4px; top: -4px; width: 40px; height: 40px; color: var(--causes-green); }
.continuity-outcomes { position: relative; margin-left: var(--campaign-end); padding: 196px 0 0 var(--space-5); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); color: var(--causes-indigo); font-size: var(--type-body); line-height: 1.45; font-weight: 600; }
@keyframes continuity-draw { from { clip-path: inset(-8px 100% -8px 0); } to { clip-path: inset(-8px -8px -8px 0); } }
@media (prefers-reduced-motion: no-preference) {
 .continuity-slide.is-revealed .continuity-campaign-bar { animation: continuity-draw .8s cubic-bezier(.32,.72,0,1) both; }
 .continuity-slide.is-revealed .continuity-cluster-path { animation: continuity-draw 1.8s cubic-bezier(.32,.72,0,1) .7s both; }
}
@media (max-width: 900px) {
 .continuity-slide { min-height: 580px; gap: var(--space-12); }
 .continuity-outcomes { grid-template-columns: 1fr; gap: var(--space-3); }
 .continuity-diagram { min-height: 320px; }
}
@media (max-width: 600px) {
 .continuity-slide { padding: var(--space-6); gap: var(--space-10); min-height: 0; }
 .continuity-title > span { font-size: clamp(26px,6.5vw,34px); }
 .continuity-title > strong { font-size: clamp(36px,9vw,48px); }
 .continuity-campaign-label, .continuity-cluster-label { font-size: var(--type-footnote); }
 .continuity-end-label { top: 55px; font-size: var(--type-caption); padding-left: var(--space-2); }
 .continuity-outcomes { font-size: var(--type-callout); padding-left: var(--space-3); }
}
@media print {
 .continuity-campaign-bar, .continuity-cluster-path { animation: none !important; clip-path: none !important; }
}
