/*
 * Vedic Vishva Vidyapeeth - public site design system ("Modern Premium Indian")
 * Loaded after Bootstrap 5 and the old template stylesheet, so everything here wins.
 *
 *   1  tokens & Bootstrap variables      6  inner page banner
 *   2  base type & links                 7  cards, forms, tables, alerts, modal
 *   3  layout helpers & section titles   8  legacy page content clean-up
 *   4  buttons                           9  footer
 *   5  ticker, top bar, main menu        10 floating buttons, reveal, motion
 *
 * Palette: deep maroon (brand), saffron (action), warm cream (ground), subtle gold (detail).
 */

/* ============================== 1  tokens ============================== */
:root {
    --vv-maroon-950: #2a0708;
    --vv-maroon-900: #3d0b0c;
    --vv-maroon-800: #561012;
    --vv-maroon: #711516;
    --vv-maroon-600: #8c1c1d;
    --vv-saffron: #e8731a;
    --vv-saffron-600: #d2620f;
    --vv-saffron-700: #b4500a; /* saffron for TEXT on light backgrounds (5.4:1) */
    --vv-btn-grad: linear-gradient(135deg, #bf540a 0%, #a94406 100%); /* white text on it is 4.7:1 or better */
    --vv-saffron-300: #f6a04d;
    --vv-gold: #c9a24a;
    --vv-gold-300: #e8cf8b;
    --vv-cream: #fff8ef;
    --vv-cream-2: #f8ecd9;
    --vv-ink: #2b1b18;
    --vv-muted: #6b5a54;
    --vv-line: #ecdcc4;
    --vv-white: #fff;
    --vv-mandala: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20200%22%20fill%3D%22none%22%20stroke%3D%22%23e8cf8b%22%20stroke-width%3D%221.1%22%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%2298%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%2274%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%2216%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%280%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%2830%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%2860%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%2890%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28120%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28150%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28180%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28210%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28240%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28270%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28300%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%206C113%2032%20113%2056%20100%2072C87%2056%2087%2032%20100%206Z%22%20transform%3D%22rotate%28330%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%2815%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%2845%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%2875%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28105%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28135%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28165%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28195%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28225%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28255%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28285%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28315%20100%20100%29%22%2F%3E%3Cpath%20d%3D%22M100%2030C108%2046%20108%2060%20100%2072C92%2060%2092%2046%20100%2030Z%22%20transform%3D%22rotate%28345%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%280%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2815%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2830%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2845%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2860%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2875%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%2890%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28105%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28120%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28135%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28150%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28165%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28180%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28195%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28210%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28225%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28240%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28255%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28270%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28285%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28300%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28315%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28330%20100%20100%29%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2297%22%20r%3D%221.6%22%20fill%3D%22%23e8cf8b%22%20stroke%3D%22none%22%20transform%3D%22rotate%28345%20100%20100%29%22%2F%3E%3C%2Fsvg%3E");

    --vv-radius: 20px;
    --vv-radius-sm: 12px;
    --vv-shadow-sm: 0 4px 14px rgba(61, 11, 12, .07);
    --vv-shadow: 0 12px 32px rgba(61, 11, 12, .11);
    --vv-shadow-lg: 0 24px 56px rgba(61, 11, 12, .20);
    --vv-ease: cubic-bezier(.22, .61, .36, 1);

    --vv-font: 'Poppins', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
    --vv-font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;

    /* Bootstrap 5 variables */
    --bs-body-font-family: var(--vv-font);
    --bs-body-color: var(--vv-ink);
    --bs-body-bg: #fff;
    --bs-heading-color: var(--vv-maroon-900);
    --bs-link-color: var(--vv-maroon);
    --bs-link-color-rgb: 113, 21, 22;
    --bs-link-hover-color: var(--vv-saffron-600);
    --bs-link-hover-color-rgb: 210, 98, 15;
    --bs-primary: #711516;
    --bs-primary-rgb: 113, 21, 22;
    --bs-danger: #b3261e;
    --bs-danger-rgb: 179, 38, 30;
    --bs-border-color: var(--vv-line);
    --bs-border-radius: 12px;
    --bs-border-radius-lg: 20px;
    --bs-focus-ring-color: rgba(232, 115, 26, .30);
}

/* ============================== 2  base ============================== */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body.vv-body {
    font-family: var(--vv-font);
    color: var(--vv-ink);
    background: #fff;
    font-size: 1rem;
    line-height: 1.7;
    padding-top: 0 !important;
    overflow-x: clip; /* reveal animations start 30px off to the side; never let that widen the page */
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
:where(body.vv-body) :is(h1, h2, h3, h4, h5, h6) {
    color: var(--vv-maroon-900);
    line-height: 1.22;
    letter-spacing: -.005em;
}
:where(body.vv-body) :is(h1, h2, h3) { font-family: var(--vv-font-head); font-weight: 700; }
:where(body.vv-body) :is(h4, h5, h6) { font-weight: 600; }
:where(body.vv-body) p { color: #4d3d38; }
:where(body.vv-body) a { color: var(--vv-maroon); text-decoration: none; transition: color .2s ease; }
:where(body.vv-body) a:hover, :where(body.vv-body) a:focus { color: var(--vv-saffron-700); }
body.vv-body img { max-width: 100%; }
body.vv-body ::selection { background: var(--vv-saffron); color: #fff; }

:focus-visible { outline: 3px solid rgba(232, 115, 26, .55); outline-offset: 2px; border-radius: 4px; }

.vv-skip {
    position: absolute; left: 12px; top: -60px; z-index: 3000; background: var(--vv-maroon); color: #fff !important;
    padding: 10px 18px; border-radius: 0 0 12px 12px; font-weight: 600; transition: top .2s;
}
.vv-skip:focus { top: 0; }

/* ============================== 3  layout helpers ============================== */
.vv-section { padding: clamp(36px, 4.5vw, 64px) 0; position: relative; }
.vv-section--cream { background: var(--vv-cream); }
.vv-section--tight { padding: clamp(24px, 3vw, 40px) 0; }

.vv-head { text-align: center; max-width: 760px; margin: 0 auto clamp(22px, 2.6vw, 36px); }
.vv-eyebrow {
    display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px;
    font-size: .78rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--vv-saffron-700);
}
.vv-eyebrow::before, .vv-eyebrow::after { content: ""; width: 28px; height: 1.5px; background: linear-gradient(90deg, transparent, var(--vv-gold)); }
.vv-eyebrow::after { transform: scaleX(-1); }
.vv-title { font-size: clamp(1.8rem, 3.6vw, 2.9rem); margin: 0 0 14px; }
.vv-lead { font-size: 1.06rem; color: var(--vv-muted); margin: 0; }
.vv-ornament { display: block; width: 74px; height: 14px; margin: 18px auto 0; color: var(--vv-gold); }

/* ============================== 4  buttons ============================== */
.btn { font-family: var(--vv-font); font-weight: 600; border-radius: 999px; padding: .66rem 1.5rem; letter-spacing: .01em; transition: transform .2s var(--vv-ease), box-shadow .2s, background-color .2s, color .2s, border-color .2s; }
.btn:focus { box-shadow: none; }
.btn:hover { transform: translateY(-2px); }
.btn-lg { padding: .85rem 2rem; font-size: 1.05rem; }
.btn-sm { padding: .42rem 1.05rem; font-size: .86rem; }

.vv-btn, .btn-primary, .btn-danger, .btn-theme {
    --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff;
    background: var(--vv-btn-grad);
    border: 0; color: #fff; box-shadow: 0 8px 20px rgba(169, 68, 6, .32);
}
/* the old template painted these buttons yellow/orange with white text; always use the accessible gradient */
.btn-primary, .btn-danger, .btn-theme, .download .btn-primary, .admission-sec .btn-primary { background: var(--vv-btn-grad) !important; border: 0 !important; color: #fff !important; }
.admission-sec .btn-outline-danger { background: var(--vv-maroon) !important; border-color: var(--vv-maroon) !important; color: #fff !important; }
.vv-btn:hover { background: linear-gradient(135deg, #a94406 0%, #8f3705 100%); color: #fff; box-shadow: 0 12px 26px rgba(143, 55, 5, .42); }
.btn-primary:hover, .btn-danger:hover, .btn-theme:hover,
.btn-primary:focus, .btn-danger:focus { background: linear-gradient(135deg, #a94406 0%, #8f3705 100%) !important; color: #fff; box-shadow: 0 12px 26px rgba(143, 55, 5, .42); }
.btn-primary:active, .btn-danger:active { background: #8f3705 !important; }
.btn-success { background: #2f7d4f; border-color: #2f7d4f; }
.btn-dark { background: var(--vv-maroon-900); border-color: var(--vv-maroon-900); }
.btn-dark:hover { background: var(--vv-maroon); border-color: var(--vv-maroon); }
.vv-btn--maroon { background: var(--vv-maroon); box-shadow: 0 8px 20px rgba(113, 21, 22, .32); }
.vv-btn--maroon:hover { background: var(--vv-maroon-600); }

.btn-outline-primary, .btn-outline-danger, .vv-btn--outline {
    background: transparent; color: var(--vv-maroon); border: 2px solid var(--vv-maroon); box-shadow: none;
}
.btn-outline-primary:hover, .btn-outline-danger:hover, .vv-btn--outline:hover { background: var(--vv-maroon); color: #fff; border-color: var(--vv-maroon); box-shadow: 0 10px 22px rgba(113, 21, 22, .25); }
.vv-btn--light { background: #fff; color: var(--vv-maroon) !important; box-shadow: 0 10px 26px rgba(0, 0, 0, .22); }
.vv-btn--light:hover { background: var(--vv-cream); color: var(--vv-maroon-900) !important; }
.vv-btn--ghost { background: rgba(255, 255, 255, .08); color: #fff !important; border: 1.5px solid rgba(255, 255, 255, .55); box-shadow: none; backdrop-filter: blur(4px); }
.vv-btn--ghost:hover { background: rgba(255, 255, 255, .2); border-color: #fff; color: #fff !important; box-shadow: none; }
.vv-btn--gold { background: linear-gradient(135deg, var(--vv-gold-300), var(--vv-gold)); color: var(--vv-maroon-950) !important; box-shadow: 0 8px 20px rgba(201, 162, 74, .35); }
.vv-btn--gold:hover { color: var(--vv-maroon-950) !important; background: linear-gradient(135deg, #f0dba0, #d8b25a); }

/* ============================== 5  ticker, top bar, menu ============================== */
.vv-ticker { background: var(--vv-maroon-950); color: var(--vv-gold-300); font-size: .84rem; position: relative; z-index: 1031; }
.vv-ticker__in { display: flex; align-items: center; height: 36px; overflow: hidden; }
.vv-ticker__tag { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; height: 100%; padding: 0 18px 0 0; margin-right: 16px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; color: var(--vv-saffron-300); border-right: 1px solid rgba(232, 207, 139, .25); }
.vv-ticker__tag i { animation: vv-pulse 1.8s ease-in-out infinite; }
.vv-ticker__track { flex: 1 1 auto; overflow: hidden; white-space: nowrap; mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); }
.vv-ticker__move { display: inline-flex; gap: 48px; padding-left: 100%; animation: vv-marquee 60s linear infinite; }
.vv-ticker__track:hover .vv-ticker__move { animation-play-state: paused; }
.vv-ticker__item { color: #f6e7c1; }
.vv-ticker__item a { color: #fff !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(232, 207, 139, .6); }
.vv-ticker__item::after { content: "\2726"; margin-left: 48px; color: var(--vv-gold); }
@keyframes vv-marquee { to { transform: translateX(-100%); } }
@keyframes vv-pulse { 50% { opacity: .35; } }

.vv-topbar { display: none; position: relative; z-index: 1040; background: var(--vv-cream); border-bottom: 1px solid var(--vv-line); font-size: .84rem; }
@media (min-width: 1280px) { .vv-topbar { display: block; } }
.vv-topbar .dropdown-menu, .vv-menu + .dropdown-menu { background: #fff; border: 1px solid var(--vv-line); border-radius: 16px; box-shadow: var(--vv-shadow-lg); padding: 8px; min-width: 230px; margin-top: 10px !important; }
.vv-topbar .dropdown-item { padding: 9px 14px; border-radius: 10px; font-size: .88rem; font-weight: 500; color: var(--vv-ink); }
.vv-topbar .dropdown-item:hover, .vv-topbar .dropdown-item:focus, .vv-topbar .dropdown-item:active { background: var(--vv-cream) !important; color: var(--vv-maroon) !important; }
.vv-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; }
.vv-topbar a { color: var(--vv-maroon-900); font-weight: 500; }
.vv-topbar a:hover { color: var(--vv-saffron-700); }
.vv-topbar__left, .vv-topbar__right { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 20px; }
.vv-topbar__left i { color: var(--vv-saffron); margin-right: 6px; }
.vv-social { display: flex; gap: 6px; }
.vv-social a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1px solid var(--vv-line); color: var(--vv-maroon); font-size: .8rem; transition: all .2s var(--vv-ease); }
.vv-social a:hover { background: var(--vv-maroon); color: #fff; border-color: var(--vv-maroon); transform: translateY(-2px); }
.vv-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px; border-radius: 999px; font-weight: 600; font-size: .78rem; border: 1px solid var(--vv-line); background: #fff; color: var(--vv-maroon-900) !important; }
.vv-chip:hover { border-color: var(--vv-saffron); color: var(--vv-saffron-700) !important; }
.vv-chip--solid { background: var(--vv-maroon); border-color: var(--vv-maroon); color: #fff !important; }
.vv-chip--solid:hover { background: var(--vv-saffron-600); border-color: var(--vv-saffron-600); color: #fff !important; }
.vv-topbar .dropdown-toggle { background: none; border: 0; padding: 4px 2px; font-weight: 500; color: var(--vv-maroon-900); font-size: .84rem; }
.vv-topbar .dropdown-toggle::after { margin-left: 6px; vertical-align: .15em; }
.vv-topbar__in, .vv-topbar__left, .vv-topbar__right { flex-wrap: nowrap; white-space: nowrap; }
@media (max-width: 1439.98px) { .vv-topbar .vv-social { display: none; } .vv-topbar__left, .vv-topbar__right { gap: 6px 14px; } }

.vv-nav { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--vv-line); transition: box-shadow .25s ease; }
.vv-nav.is-scrolled { box-shadow: 0 10px 30px rgba(61, 11, 12, .13); }
.vv-nav__in { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 76px; }
.vv-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.vv-brand img { height: 52px; width: auto; max-width: min(300px, 62vw); object-fit: contain; display: block; }
@media (min-width: 1400px) { .vv-brand img { height: 58px; } }
@media (min-width: 1280px) { .vv-nav .container, .vv-topbar .container { max-width: min(1320px, 100%); } }

.vv-menu { display: none; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.vv-menu > li { position: relative; }
.vv-menu > li > a, .vv-menu > li > button {
    display: inline-flex; align-items: center; gap: 6px; padding: 28px 12px; background: none; border: 0;
    font: 600 .9rem/1 var(--vv-font); color: var(--vv-maroon-900); position: relative; white-space: nowrap; cursor: pointer;
}
.vv-menu > li > a::after, .vv-menu > li > button::before {
    content: ""; position: absolute; left: 12px; right: 12px; bottom: 18px; height: 2.5px; border-radius: 3px;
    background: linear-gradient(90deg, var(--vv-saffron), var(--vv-gold)); transform: scaleX(0); transform-origin: left; transition: transform .28s var(--vv-ease);
}
.vv-menu > li > button::after { content: ""; border: 0; width: 7px; height: 7px; margin: -3px 0 0 2px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s; opacity: .7; }
.vv-menu > li:hover > a, .vv-menu > li:hover > button, .vv-menu > li > .show, .vv-menu > li > a.is-active { color: var(--vv-saffron-700); }
.vv-menu > li:hover > a::after, .vv-menu > li:hover > button::before, .vv-menu > li > .show::before, .vv-menu > li > a.is-active::after { transform: scaleX(1); }
.vv-menu > li > .show::after { transform: rotate(-135deg); margin-top: 3px; }
.vv-menu .fa-house { font-size: 1rem; }

.vv-drop {
    position: absolute; top: calc(100% - 8px); left: 0; min-width: 250px; margin: 0; padding: 10px; background: #fff;
    border: 1px solid var(--vv-line); border-radius: 18px; box-shadow: var(--vv-shadow-lg); list-style: none;
    opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .22s ease, transform .22s var(--vv-ease), visibility .22s; z-index: 5;
}
.vv-drop::before { content: ""; position: absolute; top: -7px; left: 30px; width: 14px; height: 14px; background: #fff; border-left: 1px solid var(--vv-line); border-top: 1px solid var(--vv-line); transform: rotate(45deg); }
.vv-menu > li:hover > .vv-drop, .vv-menu > li:focus-within > .vv-drop, .vv-menu > li > .vv-drop.show { opacity: 1; visibility: visible; transform: none; }
.vv-drop a { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 12px; color: var(--vv-ink); font-size: .88rem; font-weight: 500; line-height: 1.35; white-space: normal; }
.vv-drop a::before { content: ""; flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--vv-gold); opacity: .55; transition: transform .2s, opacity .2s, background .2s; }
.vv-drop a:hover { background: var(--vv-cream); color: var(--vv-maroon); }
.vv-drop a:hover::before { opacity: 1; transform: scale(1.5); background: var(--vv-saffron); }
.vv-drop--wide { width: min(640px, 92vw); columns: 2; column-gap: 8px; }
.vv-drop--wide li { break-inside: avoid; }
.vv-drop--faculties { width: min(420px, 92vw); }
.vv-drop--end { left: auto; right: 0; }
.vv-drop--end::before { left: auto; right: 30px; }

.vv-nav__cta { display: none; align-items: center; gap: 10px; }
.vv-nav__actions { display: flex; align-items: center; gap: 10px; }
.vv-burger { width: 46px; height: 46px; display: inline-grid; place-items: center; border-radius: 14px; border: 1px solid var(--vv-line); background: var(--vv-cream); color: var(--vv-maroon); font-size: 1.15rem; }
.vv-burger:hover { background: var(--vv-maroon); color: #fff; }

@media (min-width: 1280px) {
    .vv-menu { display: flex; }
    .vv-nav__cta { display: flex; }
    .vv-burger { display: none; }
}
@media (max-width: 575.98px) {
    .vv-nav__in { min-height: 66px; }
    .vv-brand img { height: 40px; }
    .vv-nav__actions .vv-btn { padding: .5rem 1.05rem; font-size: .85rem; }
}

/* mobile menu (Bootstrap offcanvas) */
.vv-offcanvas { --bs-offcanvas-width: min(400px, 92vw); background: var(--vv-cream); }
.vv-offcanvas .offcanvas-header { border-bottom: 1px solid var(--vv-line); padding: 14px 18px; background: #fff; }
.vv-offcanvas .offcanvas-header img { height: 46px; width: auto; max-width: 70vw; object-fit: contain; }
.vv-offcanvas .offcanvas-body { padding: 0 0 24px; }
.vv-oc-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 18px 6px; }
.vv-oc-actions .btn { font-size: .82rem; padding: .6rem .5rem; display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-align: center; }
.vv-oc-actions .btn-oc { background: #fff; border: 1px solid var(--vv-line); color: var(--vv-maroon-900); box-shadow: none; }
.vv-oc-contact { padding: 8px 18px 10px; font-size: .86rem; display: grid; gap: 2px; }
.vv-oc-contact a { color: var(--vv-ink); padding: 4px 0; }
.vv-oc-contact i { width: 22px; color: var(--vv-saffron); }
.vv-oc-nav { list-style: none; margin: 8px 0 0; padding: 0 18px; }
.vv-oc-nav > li { border-bottom: 1px solid var(--vv-line); }
.vv-oc-link { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 4px; background: none; border: 0; text-align: left; font: 600 .98rem/1.2 var(--vv-font); color: var(--vv-maroon-900) !important; }
.vv-oc-link > i:first-child { width: 22px; color: var(--vv-saffron); text-align: center; }
.vv-oc-link .vv-chev { margin-left: auto; font-size: .75rem; transition: transform .25s; color: var(--vv-muted); }
.vv-oc-link[aria-expanded="true"] .vv-chev { transform: rotate(180deg); }
.vv-oc-sub { list-style: none; margin: 0 0 12px; padding: 6px; background: #fff; border-radius: 14px; border: 1px solid var(--vv-line); }
.vv-oc-sub a { display: block; padding: 9px 12px; border-radius: 10px; font-size: .9rem; color: var(--vv-ink); }
.vv-oc-sub a:hover { background: var(--vv-cream); color: var(--vv-maroon); }
.vv-oc-social { display: flex; gap: 8px; padding: 14px 18px 0; flex-wrap: wrap; }

/* ============================== 6  inner page banner ============================== */
.vv-banner {
    position: relative; overflow: hidden; color: #fff; text-align: center;
    padding: clamp(26px, 3.6vw, 46px) 0 clamp(40px, 5vw, 62px);
    background: radial-gradient(900px 340px at 82% 0, rgba(232, 115, 26, .30), transparent 60%), linear-gradient(135deg, var(--vv-maroon-950) 0%, var(--vv-maroon-800) 55%, var(--vv-maroon) 100%);
}
.vv-banner::before { content: ""; position: absolute; inset: 0; background: var(--vv-mandala) center/520px; opacity: .07; }
.vv-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 34px; background: #fff; clip-path: ellipse(60% 100% at 50% 100%); }
.vv-banner .container { position: relative; z-index: 1; }
.vv-banner h1 { color: #fff !important; font-size: clamp(1.8rem, 4.2vw, 3rem); margin: 0; }
.vv-banner__crumbs { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; font-size: .82rem; color: rgba(255, 255, 255, .75); }
.vv-banner__crumbs li + li::before { content: "\203A"; margin-right: 6px; opacity: .7; }
.vv-banner__crumbs a { color: var(--vv-gold-300) !important; }
.vv-banner__crumbs a:hover { color: #fff !important; }
.vv-banner__line { display: block; width: 70px; height: 3px; margin: 18px auto 0; border-radius: 3px; background: linear-gradient(90deg, var(--vv-saffron), var(--vv-gold)); }

/* ============================== 7  cards, forms, tables, alerts, modal ============================== */
.card { border: 1px solid var(--vv-line); border-radius: var(--vv-radius); box-shadow: var(--vv-shadow-sm); overflow: hidden; background: #fff; transition: transform .25s var(--vv-ease), box-shadow .25s; }
.card-header, .team .card-header { background: linear-gradient(120deg, var(--vv-cream), var(--vv-cream-2)); color: var(--vv-maroon-900); border-bottom: 1px solid var(--vv-line); font-weight: 700; padding: 16px 22px; }
.card-body { padding: 22px; }
.card-header .btn-link { color: var(--vv-maroon-900) !important; font-weight: 700; text-decoration: none; text-align: left; width: 100%; padding-left: 0; }
.card-header .btn-link:hover { color: var(--vv-saffron-700) !important; }
.card-header.bg-primary, .card-header.bg-danger, .card-header.bg-dark { background: linear-gradient(135deg, var(--vv-maroon-900), var(--vv-maroon)) !important; color: #fff; }
.courses-sec h5.card-header { background: linear-gradient(135deg, var(--vv-maroon-900), var(--vv-maroon)); color: #fff; font-family: var(--vv-font-head); font-size: 1.1rem; padding: 16px 22px; border: 0; }
.admission-sec.team { background: var(--vv-cream) !important; }
.courses-sec .card:hover { transform: translateY(-5px); box-shadow: var(--vv-shadow); }
.courses-sec .list-group, .card .list-group { --bs-list-group-border-width: 0; border: 0; }
.courses-sec li a { color: var(--vv-ink); padding: 7px 0; }
.courses-sec li a:hover { color: var(--vv-saffron-700); }
.courses-sec li a .fa { color: var(--vv-gold); margin-right: 10px; margin-top: 5px; }

label { font-weight: 600; font-size: .9rem; color: var(--vv-maroon-900); margin-bottom: .4rem; }
.form-control, .form-select, .custom-select {
    border: 1.5px solid #e0cdb2; border-radius: 12px; padding: .7rem .95rem; font-size: .95rem; color: var(--vv-ink); background-color: #fffdf9; min-height: 48px;
    transition: border-color .2s, box-shadow .2s, background-color .2s;
}
textarea.form-control { min-height: 110px; }
.form-control:focus, .form-select:focus { border-color: var(--vv-saffron); box-shadow: 0 0 0 4px rgba(232, 115, 26, .16); background-color: #fff; }
.form-control::placeholder { color: #a8968c; }
.form-group { margin-bottom: 1.1rem; }
.form-check-input:checked { background-color: var(--vv-maroon); border-color: var(--vv-maroon); }
.form-check-input:focus { border-color: var(--vv-saffron); box-shadow: 0 0 0 4px rgba(232, 115, 26, .16); }
.input-group-text { background: var(--vv-cream); border: 1.5px solid #e0cdb2; color: var(--vv-maroon); }
.invalid-feedback, .text-danger { font-size: .84rem; }
.form-text { color: var(--vv-muted); }
.vv-body .lf-btn { background: var(--vv-btn-grad); color: #fff; }
.vv-body .lf-btn:hover { background: linear-gradient(135deg, #a94406, #8f3705); }

.table { --bs-table-bg: transparent; border-color: var(--vv-line); }
.table > :not(caption) > * > * { padding: .85rem 1rem; vertical-align: middle; }
.table thead th, .table-dark thead th, .table > thead.table-dark > tr > th {
    background: var(--vv-maroon) !important; color: #fff !important; border-color: var(--vv-maroon-800) !important; font-weight: 600; font-size: .88rem; letter-spacing: .02em;
}
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: var(--vv-cream); }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: var(--vv-cream-2); }
.table-responsive { border-radius: var(--vv-radius-sm); }

.alert { border-radius: 14px; border-width: 1px; padding: 14px 18px; }
.alert-danger { background: #fdf0ef; border-color: #f0c4c0; color: #8a1d16; }
.alert-success { background: #eef8f1; border-color: #bfe0cb; color: #1f5c38; }
.alert-warning { background: #fff7e3; border-color: #f0dc9c; color: #7a5a0a; }
.alert-info { background: #eef4fb; border-color: #c4d8ef; color: #1f4a7a; }
.badge { border-radius: 999px; font-weight: 600; padding: .42em .8em; }

.modal-content { border: 0; border-radius: var(--vv-radius); box-shadow: var(--vv-shadow-lg); overflow: hidden; }
.modal-header { background: linear-gradient(135deg, var(--vv-maroon-900), var(--vv-maroon)); color: #fff; border: 0; padding: 18px 24px; }
.modal-header .modal-title { color: #fff; font-family: var(--vv-font-head); font-weight: 700; }
.modal-header .btn-close { filter: invert(1) grayscale(1) brightness(2); opacity: .9; }
.modal-body { padding: 24px; }
.pagination .page-link { color: var(--vv-maroon); border-radius: 10px; margin: 0 3px; border-color: var(--vv-line); }
.pagination .active > .page-link { background: var(--vv-maroon); border-color: var(--vv-maroon); color: #fff; }

/* ============================== 8  legacy page content ============================== */
/* big top/bottom margins that used to keep content clear of the old fixed header */
.m-95, .m-110, .m-50 { margin-top: 0 !important; margin-bottom: 0 !important; padding: clamp(18px, 2.2vw, 28px) 0 0; }
main { padding-bottom: clamp(16px, 2vw, 28px); }
main > :last-child { margin-bottom: 0 !important; }
.section-header { margin-bottom: 16px; }
.section-header.is-dup { display: none; }
.p-110, .p-155 { padding: clamp(24px, 3vw, 40px) 0 !important; }

/* the old heading strip is replaced by the page banner */
.new-heading2 { display: none; }
.has-vv-banner .new-heading2 { display: none; }

.section-header p, .section-header h4, .section-header h2 { font-family: var(--vv-font-head); font-weight: 700; color: var(--vv-maroon-900); font-size: clamp(1.6rem, 3vw, 2.4rem); }
.section-header h6 { background: var(--vv-saffron); border-radius: 999px; display: inline-block; }
.team, .about-sec, .how-to-apply-sec, .admission-sec, .login-sec, .courses-sec, .gallery-section { background: transparent; }
.team .team-item { border: 1px solid var(--vv-line); border-radius: var(--vv-radius); box-shadow: var(--vv-shadow-sm); overflow: hidden; background: #fff; }
.team .team-text h2 { font-family: var(--vv-font-head); color: var(--vv-maroon-900); }
.elementor-text-editor { color: #4d3d38; font-size: 1rem; line-height: 1.85; }
.elementor-text-editor p, .about-sec p { color: #4d3d38; }
.elementor-text-editor span[style*="underline"] { text-decoration: none !important; }
.how-to-apply-sec h6 { font-family: var(--vv-font-head); font-size: 1.6rem; color: var(--vv-maroon-900); }
.how-to-apply-sec .admisson-form a { display: inline-block; background: linear-gradient(135deg, var(--vv-saffron), var(--vv-saffron-600)); color: #fff; padding: 12px 28px; border-radius: 999px; font-weight: 600; box-shadow: 0 8px 20px rgba(210, 98, 15, .3); }
.how-to-apply-sec .admisson-form a:hover { color: #fff; transform: translateY(-2px); }
.downloads-box { border: 1px solid var(--vv-line); border-radius: var(--vv-radius-sm); background: #fff; box-shadow: var(--vv-shadow-sm); }
.admission-sec .btn-primary, .login-sec .btn-dark { border-radius: 999px; }
section img.img-fluid, .team-img img { border-radius: var(--vv-radius-sm); }

/* ============================== 9  footer ============================== */
.vv-footer { padding: 0; position: relative; background: var(--vv-maroon-950); color: rgba(255, 255, 255, .74); margin-top: 48px; }
.vv-footer::before { content: ""; position: absolute; inset: 0; background: var(--vv-mandala) 85% 30%/620px no-repeat; opacity: .05; pointer-events: none; }
.vv-cta {
    position: relative; z-index: 2; top: -48px; margin: 0 auto -48px; border-radius: 28px; overflow: hidden; padding: clamp(26px, 4vw, 42px) clamp(22px, 4vw, 52px);
    background: radial-gradient(520px 220px at 88% 0, rgba(255, 255, 255, .16), transparent 60%), linear-gradient(120deg, #9c3d05, #bf540a 60%, #d2620f);
    box-shadow: 0 26px 56px rgba(0, 0, 0, .34); display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap;
}
.vv-cta h2 { color: #fff !important; font-size: clamp(1.4rem, 2.8vw, 2.1rem); margin: 0 0 4px; }
.vv-cta p { color: #fff; margin: 0; }
.vv-cta .vv-btn--ghost { background: rgba(42, 7, 8, .28); border-color: #fff; }
.vv-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.vv-footer__main { position: relative; z-index: 1; padding: 56px 0 28px; }
.vv-footer__brand img { height: 64px; width: auto; max-width: 100%; object-fit: contain; background: #fff; border-radius: 12px; padding: 6px 10px; }
.vv-footer__name { margin: 16px 0 0; font-family: var(--vv-font-head); font-size: 1.15rem; font-weight: 700; color: #fff; letter-spacing: .02em; }
.vv-footer__about { margin: 8px 0 18px; font-size: .9rem; line-height: 1.75; color: rgba(255, 255, 255, .66); max-width: 420px; }
.vv-footer__social { display: flex; flex-wrap: wrap; gap: 10px; }
.vv-footer__social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .12); transition: all .22s var(--vv-ease); }
.vv-footer__social a:hover { background: var(--vv-saffron); border-color: var(--vv-saffron); color: #fff; transform: translateY(-3px); }
.vv-footer h2.vv-footer__h { position: relative; font-family: var(--vv-font); font-size: .82rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--vv-gold-300); margin: 4px 0 22px; padding-bottom: 14px; }
.vv-footer h2.vv-footer__h::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 2px; background: var(--vv-saffron); }
.vv-footer__links { list-style: none; margin: 0; padding: 0; }
.vv-footer__links li { margin-bottom: 10px; }
.vv-footer__links a { color: rgba(255, 255, 255, .72); font-size: .9rem; display: inline-block; transition: color .2s, transform .2s; }
.vv-footer__links a:hover { color: var(--vv-saffron-300); transform: translateX(5px); }
.vv-footer__contact { list-style: none; margin: 0; padding: 0; }
.vv-footer__contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; font-size: .9rem; line-height: 1.55; }
.vv-footer__contact i { flex: 0 0 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: rgba(232, 115, 26, .16); color: var(--vv-saffron-300); font-size: .95rem; }
.vv-footer__contact a, .vv-footer__contact span { color: rgba(255, 255, 255, .8); padding-top: 7px; word-break: break-word; }
.vv-footer__contact a:hover { color: var(--vv-saffron-300); }
.vv-footer__bottom { position: relative; z-index: 1; border-top: 1px solid rgba(255, 255, 255, .1); background: rgba(0, 0, 0, .25); padding: 18px 0; font-size: .84rem; }
.vv-footer__bottom .container { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.vv-footer__bottom p { margin: 0; color: rgba(255, 255, 255, .58); }
.vv-footer__bottom a { color: var(--vv-gold-300); font-weight: 600; }
.vv-footer__legal { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.vv-footer__legal a { color: rgba(255, 255, 255, .66); font-weight: 500; }
.vv-footer__legal a:hover { color: var(--vv-saffron-300); }

/* ============================== 10  floating buttons, reveal, motion ============================== */
.vv-fab { position: fixed; right: 18px; bottom: 18px; z-index: 1040; display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }
.vv-fab a, .vv-fab button { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; border: 0; color: #fff !important; font-size: 1.35rem; box-shadow: 0 10px 24px rgba(0, 0, 0, .28); transition: transform .2s var(--vv-ease), opacity .25s, visibility .25s; }
.vv-fab a:hover, .vv-fab button:hover { transform: translateY(-3px) scale(1.05); }
.vv-fab__wa { background: #25d366; position: relative; }
.vv-fab__wa::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: vv-ring 2.2s ease-out infinite; }
.vv-fab__top { background: var(--vv-maroon); font-size: 1rem !important; width: 44px !important; height: 44px !important; opacity: 0; visibility: hidden; }
.vv-fab__top.is-on { opacity: 1; visibility: visible; }
@keyframes vv-ring { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.6); opacity: 0; } }

.js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--vv-ease), transform .7s var(--vv-ease); transition-delay: var(--vv-d, 0s); }
.js [data-reveal="left"] { transform: translateX(-30px); }
.js [data-reveal="right"] { transform: translateX(30px); }
.js [data-reveal="zoom"] { transform: scale(.94); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

@media (max-width: 575.98px) {
    .vv-fab { right: 12px; bottom: 12px; }
    .vv-fab a { width: 48px; height: 48px; }
}
@media print { .vv-ticker, .vv-topbar, .vv-nav, .vv-footer, .vv-fab, .vv-banner { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
    .vv-ticker__move { animation: none; padding-left: 0; }
}

/* the old template styled every dropdown orange; keep Bootstrap menus white and consistent */
.dropdown-menu { background-color: #fff; }

/* ---- contrast fixes for legacy pieces found by the site-wide audit ---- */
.pricingTable .price-value { color: var(--vv-maroon) !important; }
.pricingTable .pricing-content li, .pricingTable .pricing-content p { color: #4d3d38 !important; }
.pricingTable .pricingTable-signup a { background: var(--vv-btn-grad) !important; color: #fff !important; }
.how-to-apply-sec .admisson-form a { background: var(--vv-btn-grad); }
.vv-body .lf-copy { color: var(--vv-saffron-700); }
.vv-body .lf-opt, .vv-body .lf-card .lf-opt { color: var(--vv-muted) !important; }

/* admission form: the old page padded the card on every side */
.admission-sec .p-lg-5 { padding: clamp(12px, 2vw, 28px) !important; }
.admission-sec .container-fluid { max-width: 1320px; }
