/* ── CARDS ── */
.card { background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-lg);padding:28px;transition:all var(--t-normal); }
.card:hover { border-color:var(--navy);transform:translateY(-3px);box-shadow:var(--shadow-md); }
.card-accent-red  { border-top:4px solid var(--red); }
.card-accent-navy { border-top:4px solid var(--navy); }
.card-accent-teal { border-top:4px solid var(--teal); }
.card-accent-gold { border-top:4px solid var(--gold); }

/* ── BADGE SYSTEM ── */
.badge { display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.04em; }
.badge-red    { background:rgba(196,30,42,.1);color:var(--red);border:1px solid rgba(196,30,42,.25); }
.badge-gold   { background:rgba(217,119,6,.1);color:var(--gold);border:1px solid rgba(217,119,6,.3); }
.badge-teal   { background:rgba(13,148,136,.1);color:var(--teal);border:1px solid rgba(13,148,136,.3); }
.badge-green  { background:rgba(5,150,105,.1);color:var(--green);border:1px solid rgba(5,150,105,.3); }
.badge-navy   { background:rgba(15,25,35,.1);color:var(--navy);border:1px solid rgba(15,25,35,.25); }

/* ── STAT BLOCK ── */
.stat-block { text-align:center;padding:32px 20px; }
.stat-number { font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:800;line-height:1;margin-bottom:8px; }
.stat-label { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted); }

/* ── PULL QUOTE ── */
.pull-quote { border-left:3px solid var(--red);padding:12px 0 12px 20px;margin:24px 0; }
.pull-quote-text { font-family:var(--font-display);font-size:16px;font-style:italic;color:var(--navy);line-height:1.6; }
.pull-quote-source { font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:8px; }

/* ── CASE STUDY CARD ── */
.case-card { background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-lg);overflow:hidden; }
.case-card-header { background:var(--navy);padding:20px 24px;display:flex;justify-content:space-between;align-items:flex-start; }
.case-card-title { font-family:var(--font-display);font-size:20px;font-weight:700;color:white;margin-bottom:4px; }
.case-card-partner { font-size:12px;color:rgba(255,255,255,.55);font-weight:500; }
.case-card-year { font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:rgba(196,30,42,.15);padding:4px 10px;border-radius:20px;white-space:nowrap; }
.case-card-body { padding:24px; }
.case-card-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:20px; }
.case-card-metric { background:var(--bg-raised);padding:16px 12px;text-align:center; }
.case-card-metric-num { font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--navy);margin-bottom:4px; }
.case-card-metric-label { font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted); }

/* ── AWARD ROW ── */
.award-row { display:flex;align-items:flex-start;gap:20px;padding:20px 0;border-bottom:1px solid var(--bg-border); }
.award-row:last-child { border-bottom:none; }
.award-year { font-size:13px;font-weight:700;color:var(--gold);min-width:44px; }
.award-name { font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:3px; }
.award-body { font-size:13px;color:var(--text-secondary); }

/* ── TIMELINE ── */
.timeline { position:relative;padding-left:32px; }
.timeline::before { content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--bg-border); }
.timeline-item { position:relative;padding-bottom:32px; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-dot { position:absolute;left:-28px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--bg-card);border:2px solid var(--bg-border);transition:all var(--t-normal); }
.timeline-item:hover .timeline-dot { border-color:var(--red);background:var(--red); }
.timeline-year { font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:4px; }
.timeline-event { font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px; }
.timeline-detail { font-size:13px;color:var(--text-secondary);line-height:1.55; }

/* ── PAGE HERO ── */
.page-hero { background:var(--navy);padding:80px 0 72px; }
.page-hero-label { font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(196,30,42,.8);margin-bottom:12px; }
.page-hero-title { font-family:var(--font-display);font-size:clamp(32px,5vw,58px);font-weight:700;line-height:1.1;color:white;margin-bottom:20px; }
.page-hero-sub { font-size:17px;color:rgba(255,255,255,.65);max-width:580px;line-height:1.65; }

/* ── GRIDS ── */
.grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:32px; }
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.grid-4 { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.grid-2-1 { display:grid;grid-template-columns:2fr 1fr;gap:48px; }
.grid-1-2 { display:grid;grid-template-columns:1fr 2fr;gap:48px; }

@media(max-width:900px){
  .grid-2,.grid-3,.grid-4,.grid-2-1,.grid-1-2 { grid-template-columns:1fr !important; }
  .case-card-metrics { grid-template-columns:1fr 1fr !important; }
}
