:root {
      /* Theme */
      --primary: #eb4545;            /* rose-700 */
      --primary-hover: #f5c2c2;      /* rose-800 */
      --primary-light: #eb7684;      /* rose-200-ish */
      --academic-red: #f53a3a;       /* red-700 */
      --academic-red-dark: #d11d1d;  /* red-900 */
      --faculty-card: #ffffff;       /* card surface */

      /* Shadows */
      --shadow-elegant: 0 10px 30px rgba(0,0,0,.12);
      --shadow-department: 0 10px 35px rgba(190, 18, 60, .25);
      --shadow-faculty: 0 8px 24px rgba(0,0,0,.12);
    }

    /* Base */
    html { scroll-behavior: smooth; }
    body { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }

    /* Utility bridge */
    .text-academic-red { color: var(--academic-red); }
    .bg-faculty-card { background-color: var(--faculty-card); }
    .bg-department-bg { background: linear-gradient(180deg, #fff, #fff6f7); }
    .text-foreground { color: #0f172a; }         /* slate-900 */
    .text-muted-foreground { color: #64748b; }    /* slate-500 */
    .bg-background { background-color: #ffffff; }
    .bg-primary { background-color: var(--primary); }
    .bg-primary-light { background-color: var(--primary-light); }
    .text-primary { color: var(--primary); }
    .text-primary-foreground { color: #fff; }

    /* Animations */
    @keyframes fade-in-up {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
    @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
    @keyframes zoom-in { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }

    .reveal { opacity: 0; transform: translateY(16px); }
    .reveal.in { opacity: 1; transform: translateY(0); animation: fade-in-up .6s ease-out both; }
    .reveal-zoom.in { animation: zoom-in .5s ease-out both; }
    .float { animation: float 4s ease-in-out infinite; }

    /* Card polish */
    .card-hover { transition: transform .3s ease, box-shadow .3s ease; }
    .card-hover:hover { transform: translateY(-6px); box-shadow: var(--shadow-faculty); }

    /* Ring helper for avatars */
    .ring-soft { box-shadow: 0 0 0 3px rgba(190, 18, 60, .12); }

    /* Quote styling */
    .quote-mark::before { content: '“'; margin-right: .1em; }
    .quote-mark::after { content: '”'; margin-left: .1em; }