:root{
    --lab-primary: #4f46e5; /* indigo-600 */
    --lab-secondary: #06b6d4; /* cyan-500 */
    --lab-accent: #ef4444; /* red-500 */
    --hero-gradient: linear-gradient(120deg, rgba(0, 0, 0, 0.95), rgba(255, 0, 0, 0.95));
}
body{
    scroll-behavior:smooth;
}
.section{
    padding: 4rem 0;
}
.hero{
    background: var(--hero-gradient), url('assets/background.jpg') center/cover no-repeat;
    color:#fff;
    padding-top: 7rem; /* account for fixed navbar */
    padding-bottom: 5rem;
}
.hero .display-5{ text-wrap: balance; }
.badge-gradient{
    background: linear-gradient(45deg, var(--lab-primary), var(--lab-secondary));
}
.avatar{
    width: 96px; height: 96px; border-radius: 50%; object-fit: cover;
    border: 3px solid rgba(0,0,0,.1);
}
.card-hover:hover{ transform: translateY(-3px); box-shadow: 0 1rem 2rem rgba(0,0,0,.08); }
.sticky-offset { top: 72px; }
.back-to-top{
    position: fixed; bottom: 1rem; right: 1rem; display:none; z-index:1030;
}
.timeline {
    border-left: 2px solid var(--bs-border-color); padding-left: 1rem;
}
.timeline .event{ position: relative; margin-bottom: 1.25rem; }
.timeline .event::before{
    content: ""; position: absolute; left: -10px; top: .4rem; width: .75rem; height: .75rem; border-radius: 50%; background: var(--lab-secondary);
}
.footer-links a{ text-decoration: none; }
.navbar-brand .dot{ color: var(--lab-secondary); }
.offcanvas-lg{ --bs-offcanvas-width: 280px; }
/* card styles */
/* #news .card { height: 100%; }
#news .card-img-top { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
#news .card-body { display: flex; flex-direction: column; }
#news .card-body .btn-group,
#news .card-body .d-flex.gap-2 { margin-top: auto; } */
/* Buttons tuned for red shades */

    /* Bootstrap primary (dark mode) */
[data-bs-theme="dark"] {
  --bs-primary: #ef4444;
  --bs-primary-rgb: 239, 68, 68;
  --bs-link-color: #ef4444;
  --bs-link-hover-color: #f87171;
  --bs-focus-ring-color: rgba(239, 68, 68, .35);
}

/* Buttons tuned for red shades */
.btn-primary {
  --bs-btn-bg: #c90000;
  --bs-btn-border-color: white;
  --bs-btn-hover-bg: #b91c1c;
  --bs-btn-hover-border-color: #b91c1c;
  --bs-btn-active-bg: #991b1b;
  --bs-btn-active-border-color: #991b1b;
}
.btn-outline-primary {
  --bs-btn-color: Black;
  --bs-btn-border-color: Black;
  --bs-btn-hover-bg: rgb(0, 0, 0);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
}

/* Badges & accents */
.badge-gradient {
  background: linear-gradient(45deg, var(--lab-primary), var(--lab-secondary));
}
.badge.text-bg-primary {
  background-color: var(--bs-primary) !important;
}

/* Optional: ensure any .text-primary uses the new red */
.text-primary { color: var(--bs-primary) !important; }

