/* ============================================================
   Showcase: Legislative & Policy page
   ============================================================ */

.scSpeechCard { padding: var(--space-5); }
.scSpeechFade {
    max-height: 9.5em; overflow: hidden; margin-top: var(--space-4);
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 96%);
    mask-image: linear-gradient(to bottom, black 60%, transparent 96%);
}
.scSpeechText {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(1rem, .9rem + .45vw, 1.3rem);
    line-height: 1.65; color: var(--sc-text);
}
.scSpeechText::after {
    content: ''; display: inline-block; width: 2px; height: 1em; background: var(--sc-accent);
    margin-left: 4px; vertical-align: -3px; animation: scSpeechBlink 1s steps(1) infinite;
}
@media (prefers-reduced-motion: reduce) { .scSpeechText::after { animation: none; } }
@keyframes scSpeechBlink { 50% { opacity: 0; } }

.scSessionTimeline { display: flex; gap: var(--space-2); overflow-x: auto; padding-bottom: var(--space-3); }
.scSessionNode {
    flex: 0 0 auto; width: 168px; padding: var(--space-4);
    background: var(--sc-surface); border: 1px solid var(--sc-border); border-radius: var(--sc-radius);
}
.scSessionDot { width: 10px; height: 10px; border-radius: 50%; background: var(--sc-accent); margin-bottom: var(--space-3); }
.scSessionDate { font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sc-text-faint); }
.scSessionLabel { font-size: 13.5px; font-weight: 700; margin-top: 2px; }

.scDeliverableCard { padding: var(--space-5); display: flex; align-items: center; gap: var(--space-4); }
.scDeliverableIcon {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: var(--sc-radius-sm);
    display: flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--sc-accent) 12%, var(--sc-surface));
    color: var(--sc-accent);
}
.scDeliverableIcon svg { width: 22px; height: 22px; }
.scDeliverableName { font-weight: 700; font-size: 14.5px; }
.scDeliverableMeta { font-size: 12px; color: var(--sc-text-muted); margin-top: 2px; }

.scScoreCard { padding: var(--space-4); text-align: center; }

@media (max-width: 639.98px) {
    .scSpeechCard { padding: var(--space-4); }
}
