:root {
  --viveka-blue: #013d87;
  --viveka-blue-deep: #062a58;
  --viveka-green: #3db166;
  --viveka-ink: #15243a;
  --viveka-muted: #64748b;
  --viveka-surface: #f5f8fc;
  --viveka-white: #ffffff;
  --viveka-shadow: 0 18px 45px rgba(1, 61, 135, .13);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; color: var(--viveka-ink); }
img { max-width: 100%; height: auto; }
iframe, video { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid rgba(61,177,102,.55); outline-offset: 3px; }

.VSOE-header-wrap { box-shadow: 0 7px 28px rgba(8,31,63,.08); }
.VSOE-main-menu a { transition: color .2s ease, transform .2s ease; }
.VSOE-main-menu a:hover { transform: translateY(-1px); }
.VSOE-footer-wrapper a { transition: color .2s ease, opacity .2s ease; }
.VSOE-footer-wrapper a:hover { color: var(--viveka-green) !important; }
.gdlr-core-button, .VSOE-top-bar-right-button { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.gdlr-core-button:hover, .VSOE-top-bar-right-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(1,61,135,.16); }
.gdlr-core-image-item-wrap { overflow: hidden; box-shadow: 0 12px 30px rgba(1,61,135,.09); }
.gdlr-core-image-item-wrap img { transition: transform .55s ease; }
.gdlr-core-image-item-wrap:hover img { transform: scale(1.035); }
.gdlr-core-pbf-wrapper table { max-width: 100%; }

.document-library { background: var(--viveka-surface); }
.document-hero {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(72px, 10vw, 132px) 20px;
  color: #fff;
  background: linear-gradient(125deg, var(--viveka-blue-deep), var(--viveka-blue) 67%, #075ca4);
}
.document-hero::before, .document-hero::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(1px);
}
.document-hero::before { width: 440px; height: 440px; right: -130px; top: -220px; background: rgba(61,177,102,.22); }
.document-hero::after { width: 260px; height: 260px; left: -90px; bottom: -170px; border: 55px solid rgba(255,255,255,.07); }
.document-hero__inner { position: relative; z-index: 1; max-width: 1180px; margin: auto; }
.document-eyebrow { display: inline-block; color: var(--viveka-green); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.document-hero h1 { max-width: 780px; margin: 14px 0 16px; color: #fff; font-size: clamp(34px, 6vw, 64px); line-height: 1.05; letter-spacing: -.035em; }
.document-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(16px, 2vw, 20px); line-height: 1.7; }
.document-section { padding: clamp(62px, 8vw, 110px) 20px; }
.document-section > .VSOE-container { max-width: 1180px; margin: auto; }
.document-section__heading { display: flex; gap: 30px; align-items: end; justify-content: space-between; margin-bottom: 36px; }
.document-section__heading h2 { margin: 8px 0 0; color: var(--viveka-ink); font-size: clamp(28px, 4vw, 42px); letter-spacing: -.025em; }
.document-section__heading > p { max-width: 340px; margin: 0; color: var(--viveka-muted); }
.document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; perspective: 1200px; }
.document-card {
  --rotate-x: 0deg; --rotate-y: 0deg; --shine-x: 50%; --shine-y: 50%;
  position: relative; min-height: 270px; overflow: hidden; border: 1px solid rgba(1,61,135,.1); border-radius: 20px;
  background: linear-gradient(145deg, #fff, #f6f9fd); box-shadow: 0 12px 30px rgba(1,61,135,.09);
  transform: rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateZ(0); transform-style: preserve-3d;
  transition: transform .18s ease, box-shadow .25s ease, border-color .25s ease;
}
.document-card:hover { border-color: rgba(61,177,102,.55); box-shadow: 0 27px 55px rgba(1,61,135,.2); }
.document-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--viveka-green), var(--viveka-blue)); }
.document-card__shine { position: absolute; inset: 0; opacity: 0; background: radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(255,255,255,.9), transparent 37%); transition: opacity .2s ease; }
.document-card:hover .document-card__shine { opacity: .52; }
.document-card__content { position: relative; z-index: 1; display: flex; min-height: 220px; height: 100%; padding: 28px 28px 24px 32px; flex-direction: column; transform: translateZ(28px); }
.document-card__topline { display: flex; align-items: center; justify-content: space-between; }
.document-card__number { color: rgba(1,61,135,.42); font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.document-card__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: #fff; font-size: 19px; background: linear-gradient(135deg, var(--viveka-blue), #075ca4); box-shadow: 0 10px 22px rgba(1,61,135,.2); }
.document-card h3 { margin: 28px 0 10px; color: var(--viveka-ink); font-size: 21px; line-height: 1.35; }
.document-card p { margin: 0; color: var(--viveka-muted); line-height: 1.6; }
.document-card__action { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 26px; color: var(--viveka-blue); font-weight: 700; }
.document-card__action i { transition: transform .2s ease; }
.document-card:hover .document-card__action i { transform: translateX(5px); }
.document-card__link { position: absolute; z-index: 2; inset: 0; border-radius: inherit; }
.document-card--pending { opacity: .78; }
.document-card--pending .document-card__icon { background: #8291a5; box-shadow: none; }

.mandatory-page { padding-bottom: 100px; background: #f2f7fc; }
.mandatory-page__hero { position: relative; min-height: clamp(430px,48vw,565px); display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: linear-gradient(90deg,rgba(5,31,68,.96),rgba(13,69,128,.82) 52%,rgba(8,43,85,.38)),url('../upload/about-title-bg.jpg') center/cover no-repeat; }
.mandatory-page__hero::after { content: ""; position: absolute; width: 430px; height: 430px; right: -120px; top: -185px; border: 78px solid rgba(77,196,115,.17); border-radius: 50%; box-shadow: 0 0 75px rgba(36,126,199,.25); }
.mandatory-page__hero-content { position: relative; z-index: 1; padding-top: 120px; padding-bottom: clamp(75px,9vw,110px); }
.mandatory-page__hero h1 { max-width: 900px; margin: 12px 0 18px; color: #fff; font-size: clamp(43px,6.6vw,72px); line-height: 1; letter-spacing: -.055em; text-shadow: 0 4px 25px rgba(0,0,0,.35); }
.mandatory-page__hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(17px,2vw,20px); line-height: 1.7; }
.mandatory-page__identity { display: inline-flex; margin-top: 28px; padding: 10px 14px; align-items: center; gap: 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; background: rgba(8,43,85,.42); backdrop-filter: blur(9px); }
.mandatory-page__identity span { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mandatory-page__identity strong { color: #fff; font-size: 18px; }
.mandatory-overview { position: relative; z-index: 3; margin-top: -40px; }
.mandatory-overview__grid { display: grid; grid-template-columns: repeat(4,1fr); padding: 10px; border: 1px solid rgba(1,61,135,.09); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 22px 55px rgba(8,43,85,.14); }
.mandatory-overview__grid article { display: flex; min-height: 112px; padding: 22px; align-items: center; gap: 17px; border-right: 1px solid #e1eaf3; }
.mandatory-overview__grid article:last-child { border-right: 0; }
.mandatory-overview__grid i { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--viveka-blue),var(--viveka-navy)); box-shadow: 0 10px 22px rgba(1,61,135,.18); font-size: 18px; }
.mandatory-overview__grid strong,.mandatory-overview__grid span { display: block; }
.mandatory-overview__grid strong { color: var(--viveka-ink); font-size: 24px; line-height: 1.1; }
.mandatory-overview__grid span { margin-top: 5px; color: #708096; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mandatory-jump-nav { display: flex; margin-top: 22px; padding: 12px; gap: 8px; overflow-x: auto; border: 1px solid #dce7f2; border-radius: 15px; background: rgba(255,255,255,.9); scrollbar-width: thin; }
.mandatory-jump-nav a { flex: 0 0 auto; padding: 9px 13px; border-radius: 9px; color: #35516f; font-size: 12px; font-weight: 800; white-space: nowrap; transition: color .2s ease,background .2s ease; }
.mandatory-jump-nav a:hover { color: #fff; background: var(--viveka-blue); }
.mandatory-page__content { max-width: 1180px; margin: 0 auto; padding: 30px 20px 0; position: relative; background: transparent; }
.mandatory-page__content > p:empty,.mandatory-page__content > p:not(.mandatory-section-title):not(.mandatory-section-subtitle):has(> strong:only-child:empty) { display: none; }
.mandatory-section-title { position: relative; margin: 68px 0 22px !important; padding: 0 0 18px 68px; min-height: 52px; border-bottom: 1px solid #d9e4ef; color: var(--viveka-ink) !important; font-size: clamp(24px,3.2vw,34px) !important; font-weight: 800; letter-spacing: -.025em !important; text-align: left !important; scroll-margin-top: 118px; }
.mandatory-section-title::before { content: attr(data-section-number); position: absolute; left: 0; top: -8px; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--viveka-blue),var(--viveka-navy)); box-shadow: 0 11px 25px rgba(1,61,135,.18); font-size: 14px; letter-spacing: .06em; }
.mandatory-section-title strong { font-weight: inherit; }
.mandatory-section-subtitle { margin: -10px 0 20px 68px !important; color: var(--viveka-green-dark,#218148) !important; font-size: 13px !important; font-weight: 800; letter-spacing: .08em !important; text-align: left !important; text-transform: uppercase; }
.mandatory-page__table-wrap { width: 100%; margin: 0 0 26px; overflow-x: auto; border: 1px solid #dce7f2; border-radius: 18px; background: #fff; box-shadow: 0 14px 38px rgba(8,43,85,.08); scrollbar-width: thin; scrollbar-color: #1768ad #edf4fb; }
.mandatory-page__content table { width: 100% !important; min-width: 650px; border: 0 !important; border-collapse: separate; border-spacing: 0; background: #fff; }
.mandatory-page__content th { color: #fff; background: linear-gradient(100deg,#0b4b8f,#1768ad); }
.mandatory-page__content th,.mandatory-page__content td { height: auto !important; padding: 16px 18px; border: 0; border-right: 1px solid #e2eaf2; border-bottom: 1px solid #e2eaf2; vertical-align: middle; text-align: left; }
.mandatory-page__content tr:last-child td { border-bottom: 0; }
.mandatory-page__content th:last-child,.mandatory-page__content td:last-child { border-right: 0; }
.mandatory-page__content tr:nth-child(even) td { background: #f6f9fc; }
.mandatory-page__content td:first-child { color: var(--viveka-blue); font-weight: 800; background: #f9fbfd; }
.mandatory-page__content td:first-child strong { color: var(--viveka-blue-deep); }
.mandatory-page__content td p,.mandatory-page__content th p { margin: 0; line-height: 1.5; }
.mandatory-page__content > .gdlr-core-pbf-wrapper,.mandatory-page__content > .gdlr-core-pbf-element { display: none; }

/* School Management Committee */
#div_983a_29 { background: var(--viveka-surface); }
#div_983a_29 > .gdlr-core-pbf-background-wrap,
#div_983a_29 > .gdlr-core-pbf-wrapper-content { display: none; }
.about-smc-wrapper { min-height: 0 !important; padding: 0 !important; }
.smc-section { max-width: 1180px; margin: 0 auto; padding: clamp(68px, 8vw, 110px) 20px; }
.smc-section__intro { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-bottom: 40px; }
.smc-section__icon { display: grid; width: 74px; height: 74px; place-items: center; border-radius: 22px; color: #fff; font-size: 28px; background: linear-gradient(145deg, var(--viveka-blue), #075ca4); box-shadow: 0 16px 34px rgba(1,61,135,.2); }
.smc-section__intro h2 { margin: 7px 0 8px; color: var(--viveka-ink); font-size: clamp(30px, 4.5vw, 48px); line-height: 1.1; letter-spacing: -.035em; }
.smc-section__intro p { max-width: 710px; margin: 0; color: var(--viveka-muted); font-size: 17px; line-height: 1.7; }
.smc-section__stat { min-width: 150px; padding: 19px 22px; border: 1px solid rgba(1,61,135,.1); border-radius: 18px; text-align: center; background: #fff; box-shadow: 0 12px 28px rgba(1,61,135,.08); }
.smc-section__stat strong { display: block; color: var(--viveka-blue); font-size: 34px; line-height: 1; }
.smc-section__stat span { display: block; margin-top: 8px; color: var(--viveka-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.smc-featured { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 54px; }
.smc-featured-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 23px; min-height: 210px; padding: 34px; align-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; color: #fff; background: radial-gradient(circle at 100% 0,rgba(63,185,106,.32),transparent 35%),linear-gradient(135deg,#082c5c,#115ba1); box-shadow: 0 22px 55px rgba(8,43,89,.19); }
.smc-featured-card::after { content: ""; position: absolute; width: 170px; height: 170px; right: -84px; bottom: -96px; border: 42px solid rgba(255,255,255,.08); border-radius: 50%; }
.smc-featured-card__avatar { position: relative; z-index: 1; display: grid; width: 78px; height: 78px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; color: var(--viveka-navy); background: linear-gradient(145deg,#78df97,var(--viveka-green)); box-shadow: 0 15px 30px rgba(0,0,0,.18); font-size: 22px; font-weight: 850; }
.smc-featured-card__content { position: relative; z-index: 1; }
.smc-featured-card .smc-card__role { color: #89eba6; background: rgba(255,255,255,.11); }
.smc-featured-card h3 { margin: 12px 0 7px; color: #fff; font-size: clamp(21px,2.3vw,27px); line-height: 1.2; }
.smc-featured-card p { margin: 0; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.6; }
.vso-modern-site .smc-featured-card h3 { color: #fff !important; }
.vso-modern-site .smc-featured-card p { color: rgba(255,255,255,.8) !important; }
.smc-featured-card__number { position: absolute; top: 20px; right: 23px; color: rgba(255,255,255,.18); font-size: 36px; font-weight: 850; letter-spacing: -.05em; }
.smc-directory-heading { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; margin: 0 0 25px; padding-top: 4px; }
.smc-directory-heading h3 { margin: 7px 0 0; color: var(--viveka-ink); font-size: clamp(25px,3vw,34px); line-height: 1.16; }
.smc-directory-heading > span { flex: 0 0 auto; padding: 9px 13px; border: 1px solid rgba(1,61,135,.11); border-radius: 999px; color: var(--viveka-blue); background: #fff; font-size: 12px; font-weight: 800; }
.smc-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.smc-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 19px; min-height: 184px; overflow: hidden; padding: 25px; border: 1px solid rgba(1,61,135,.1); border-radius: 20px; background: linear-gradient(145deg,#fff,#f7fbff); box-shadow: 0 10px 28px rgba(1,61,135,.075); }
.smc-card::after { content: ""; position: absolute; width: 120px; height: 120px; right: -68px; bottom: -72px; border: 28px solid rgba(61,177,102,.1); border-radius: 50%; transition: transform .3s ease; }
.smc-card:hover { z-index: 1; border-color: rgba(61,177,102,.48); box-shadow: 0 22px 48px rgba(1,61,135,.14); }
.smc-card:hover::after { transform: scale(1.18); }
.smc-card__topline { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; }
.smc-card__avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(145deg,var(--viveka-blue),var(--viveka-navy)); box-shadow: 0 10px 24px rgba(1,61,135,.18); font-size: 16px; font-weight: 850; }
.smc-card__number { color: rgba(1,61,135,.42); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.smc-card__content { position: relative; z-index: 1; min-width: 0; }
.smc-card__role { display: inline-flex; max-width: 100%; padding: 7px 10px; border-radius: 999px; color: var(--viveka-blue); font-size: 10px; font-weight: 800; line-height: 1.25; letter-spacing: .05em; text-align: center; text-transform: uppercase; background: rgba(1,61,135,.07); }
.smc-card h3 { margin: 15px 0 7px; color: var(--viveka-ink); font-size: 19px; line-height: 1.3; }
.smc-card p { margin: 0; color: var(--viveka-muted); font-size: 14px; line-height: 1.55; }
.smc-card .smc-card__service { color: #7b899a; font-style: italic; }
.smc-invitees { margin-top: 54px; padding: clamp(26px, 4vw, 38px); border-radius: 22px; color: #fff; background: linear-gradient(125deg, var(--viveka-blue-deep), var(--viveka-blue)); box-shadow: var(--viveka-shadow); }
.smc-invitees__heading { display: flex; gap: 17px; align-items: center; margin-bottom: 24px; }
.smc-invitees__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #fff; background: rgba(255,255,255,.12); }
.smc-invitees__heading h2 { margin: 5px 0 0; color: #fff; font-size: 25px; }
.smc-invitees__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.smc-invitee-card { display: flex; gap: 16px; align-items: center; padding: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.08); }
.smc-invitee-card__initial { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: var(--viveka-blue-deep); font-size: 17px; font-weight: 800; background: var(--viveka-green); }
.smc-invitee-card h3 { margin: 0 0 3px; color: #fff; font-size: 17px; }
.smc-invitee-card p { margin: 0; color: rgba(255,255,255,.7); font-size: 14px; }

/* Kingster-inspired About page, rebuilt with VSOE content */
.vso-page-about_us #div_983a_3,
.vso-page-about_us #div_983a_9,
.vso-page-about_us #div_983a_21 { display: none; }
.vso-modern-site .VSOE-breadcrumbs { border-bottom: 1px solid var(--viveka-line); background: #fff; }
.vso-modern-site .VSOE-breadcrumbs-item { padding-top: 18px; padding-bottom: 18px; color: #718097; font-size: 13px; font-weight: 600; }
.vso-modern-site .VSOE-breadcrumbs-item a { color: var(--viveka-blue); }
.about-story-section { padding: clamp(75px,9vw,125px) 0 0; background: #fff; }
.about-story-layout { display: grid; grid-template-columns: minmax(310px,.82fr) minmax(0,1.28fr); gap: clamp(45px,8vw,105px); align-items: start; }
.about-story-heading { position: sticky; top: 115px; }
.about-story-heading h2 { margin: 12px 0 28px; font-size: clamp(36px,5vw,58px); line-height: 1.08; letter-spacing: -.05em; }
.about-story-heading blockquote { margin: 0; padding: 23px 24px; border: 0; border-left: 4px solid var(--viveka-green); color: var(--viveka-navy); background: var(--viveka-soft-blue); font: 600 17px/1.65 "Source Serif 4", Georgia, serif; }
.about-story-heading blockquote cite { display: block; margin-top: 11px; color: var(--viveka-muted); font: 700 11px/1.4 "Manrope",sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.about-story-copy p { margin: 0 0 22px; color: #44546a; font-size: 17px; line-height: 1.85; }
.about-story-copy p:first-child::first-letter { float: left; margin: 8px 9px 0 0; color: var(--viveka-blue); font: 700 64px/.7 "Source Serif 4",Georgia,serif; }
.about-fact-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 60px; padding: 28px 10px; border-radius: 18px; color: #fff; background: linear-gradient(125deg,var(--viveka-navy),var(--viveka-blue)); box-shadow: var(--viveka-shadow); }
.about-fact-strip > div { padding: 8px 22px; border-right: 1px solid rgba(255,255,255,.15); text-align: center; }
.about-fact-strip > div:last-child { border-right: 0; }
.about-fact-strip strong, .about-fact-strip span { display: block; }
.about-fact-strip strong { color: #fff; font-size: 29px; line-height: 1.1; }
.about-fact-strip span { margin-top: 7px; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.about-pillars-section { margin-top: -45px; padding: 125px 0 90px; background: var(--viveka-surface); }
.about-pillars-heading { max-width: 680px; margin-bottom: 35px; }
.about-pillars-heading h2 { margin: 9px 0 0; font-size: clamp(34px,4.4vw,49px); }
.about-pillars-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.about-pillars-grid article { position: relative; min-height: 270px; overflow: hidden; padding: 30px; border: 1px solid var(--viveka-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(8,43,85,.07); transition: .25s ease; }
.about-pillars-grid article:hover { border-color: rgba(66,185,106,.55); box-shadow: var(--viveka-shadow-hover); transform: translateY(-5px); }
.about-pillars-grid article > span { position: absolute; top: 25px; right: 25px; color: #bcc9d8; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.about-pillars-grid i { display: grid; width: 48px; height: 48px; margin-bottom: 29px; place-items: center; border-radius: 13px; color: #fff; background: var(--viveka-blue); }
.about-pillars-grid h3 { margin: 0 0 10px; font-size: 23px; }
.about-pillars-grid p { margin: 0; color: #526176; font-size: 16px; line-height: 1.7; }
.principal-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 650px; background: var(--viveka-navy); }
.principal-section__image { min-height: 650px; background: url('../upload/about-bg-1.jpg') center/cover no-repeat; }
.principal-section__content { display: flex; padding: clamp(55px,8vw,105px); justify-content: center; flex-direction: column; }
.principal-section__content h2 { margin: 12px 0 19px; color: #fff; font-size: clamp(34px,4.5vw,52px); line-height: 1.1; }
.principal-section__content p { margin: 0 0 16px; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.8; }
.principal-section__content > a { display: inline-flex; width: max-content; margin-top: 14px; padding: 12px 15px; border-radius: 9px; align-items: center; gap: 9px; color: var(--viveka-navy); background: var(--viveka-green); font-size: 13px; font-weight: 800; }

@media (max-width: 900px) {
  .document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-section__heading { align-items: start; flex-direction: column; }
  .VSOE-top-bar { display: none; }
  .smc-section__intro { grid-template-columns: auto minmax(0, 1fr); }
  .smc-section__stat { display: none; }
  .smc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smc-featured { grid-template-columns: 1fr; }
  .about-story-layout { grid-template-columns: 1fr; }
  .about-story-heading { position: relative; top: auto; }
  .about-pillars-grid { grid-template-columns: 1fr; }
  .principal-section { grid-template-columns: 1fr; }
  .principal-section__image { min-height: 430px; }
}
@media (max-width: 600px) {
  .document-hero, .mandatory-page__hero { padding-left: 18px; padding-right: 18px; }
  .document-section { padding-left: 14px; padding-right: 14px; }
  .document-grid { grid-template-columns: 1fr; gap: 16px; }
  .document-card { min-height: 230px; }
  .document-card__content { min-height: 180px; padding: 24px; }
  .mandatory-page__content { margin: 0; padding: 28px 14px; border-radius: 0; }
  .gdlr-core-pbf-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
  .gdlr-core-pbf-column-content-margin { min-height: 0 !important; }
  .VSOE-mobile-header .VSOE-logo-inner img { max-width: 78% !important; }
  .VSOE-footer-column { margin-bottom: 12px; }
  .smc-section { padding: 58px 14px; }
  .smc-section__intro { grid-template-columns: 1fr; gap: 18px; }
  .smc-section__icon { width: 60px; height: 60px; border-radius: 18px; font-size: 23px; }
  .smc-grid, .smc-invitees__grid { grid-template-columns: 1fr; }
  .smc-featured-card { grid-template-columns: 1fr; min-height: 0; padding: 28px 24px; }
  .smc-featured-card__avatar { width: 64px; height: 64px; border-radius: 18px; }
  .smc-directory-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .smc-card { grid-template-columns: auto 1fr; min-height: 0; padding: 22px; }
  .smc-card:hover { transform: translateY(-3px); }
  .smc-invitees { margin-top: 36px; border-radius: 18px; }
  .about-story-section { padding-top: 65px; }
  .about-fact-strip { grid-template-columns: repeat(2,1fr); margin-top: 35px; padding: 18px 5px; }
  .about-fact-strip > div { border-bottom: 1px solid rgba(255,255,255,.13); }
  .about-fact-strip > div:nth-child(2) { border-right: 0; }
  .about-fact-strip > div:nth-child(n+3) { border-bottom: 0; }
  .about-pillars-section { padding: 100px 0 65px; }
  .principal-section__image { min-height: 320px; }
  .principal-section__content { padding: 50px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .document-card { transform: none !important; }
}

/* --------------------------------------------------------------------------
   2026 premium site system
   -------------------------------------------------------------------------- */
:root {
  --viveka-navy: #082b55;
  --viveka-blue: #0b4b8f;
  --viveka-blue-bright: #1768ad;
  --viveka-green: #42b96a;
  --viveka-gold: #e6b94a;
  --viveka-ink: #132238;
  --viveka-muted: #627189;
  --viveka-line: #dfe8f1;
  --viveka-surface: #f4f8fc;
  --viveka-soft-blue: #eaf3fb;
  --viveka-white: #fff;
  --viveka-radius: 20px;
  --viveka-shadow: 0 18px 55px rgba(8, 43, 85, .11);
  --viveka-shadow-hover: 0 24px 65px rgba(8, 43, 85, .17);
}

html { scroll-padding-top: 105px; }
body.vso-modern-site {
  margin: 0;
  color: var(--viveka-ink);
  background: #fff;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
.vso-modern-site h1, .vso-modern-site h2, .vso-modern-site h3,
.vso-modern-site h4, .vso-modern-site h5, .vso-modern-site h6 {
  color: var(--viveka-ink);
  font-family: "Manrope", Arial, sans-serif;
  letter-spacing: -.025em;
}
.vso-modern-site p { color: var(--viveka-muted); }
.vso-modern-site a { text-underline-offset: 3px; }
.vso-modern-site .VSOE-body-outer-wrapper,
.vso-modern-site .VSOE-body-wrapper { width: 100%; margin: 0; overflow: visible; background: #fff; box-shadow: none; }
.vso-modern-site .VSOE-body-wrapper { position: relative; }
.vso-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.vso-skip-link { position: fixed; z-index: 99999; top: 12px; left: 12px; padding: 10px 15px; border-radius: 8px; color: #fff; background: var(--viveka-navy); transform: translateY(-150%); }
.vso-skip-link:focus { color: #fff; transform: translateY(0); }

/* Header */
.vso-site-header { position: relative; z-index: 9900; width: 100%; }
.vso-utility-bar { color: #d8e6f5; background: var(--viveka-navy); }
.vso-utility-bar__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 24px; }
.vso-utility-bar p { margin: 0; color: #d8e6f5; font-size: 11px; }
.vso-utility-bar i { margin-right: 6px; color: var(--viveka-green); }
.vso-utility-links { display: flex; align-items: center; gap: 24px; }
.vso-utility-links a { color: #d8e6f5; font-size: 11px; font-weight: 600; }
.vso-utility-links a:hover { color: #fff; }
.vso-utility-links .vso-utility-support { align-self: stretch; display: flex; align-items: center; padding: 0 16px; color: var(--viveka-navy); background: var(--viveka-green); }
.vso-main-header { position: relative; border-bottom: 1px solid rgba(8,43,85,.08); background: rgba(255,255,255,.97); box-shadow: 0 8px 28px rgba(8,43,85,.06); }
.vso-site-header.is-scrolled .vso-main-header { position: fixed; top: 0; right: 0; left: 0; box-shadow: 0 12px 35px rgba(8,43,85,.12); animation: vsoHeaderIn .25s ease; }
@keyframes vsoHeaderIn { from { transform: translateY(-100%); } }
.vso-main-header__inner { width: min(1280px, calc(100% - 40px)); display: flex; min-height: 100px; align-items: center; justify-content: space-between; gap: 22px; }
.vso-brand { display: flex; flex: 0 0 255px; align-items: center; }
.vso-brand img { display: block; width: 255px; max-height: 82px; object-fit: contain; object-position: left center; }
.vso-primary-navigation { display: flex; min-width: 0; align-items: center; gap: 18px; }
.vso-nav-list { display: flex; margin: 0; padding: 0; align-items: center; gap: 2px; list-style: none; }
.vso-nav-list > li { position: relative; margin: 0; }
.vso-nav-list > li > a,
.vso-nav-list > li > button { position: relative; display: flex; min-height: 100px; padding: 0 11px; border: 0; align-items: center; gap: 6px; color: #22354d; background: transparent; font: 700 15px/1 "Manrope", sans-serif; cursor: pointer; }
.vso-nav-list > li > a::after,
.vso-nav-list > li > button::after { content: ""; position: absolute; right: 11px; bottom: 0; left: 11px; height: 3px; border-radius: 3px 3px 0 0; background: var(--viveka-green); transform: scaleX(0); transition: transform .2s ease; }
.vso-nav-list > li:hover > a, .vso-nav-list > li:hover > button,
.vso-nav-list > li > a.is-active, .vso-nav-list > li.is-active > button { color: var(--viveka-blue); }
.vso-nav-list > li:hover > a::after, .vso-nav-list > li:hover > button::after,
.vso-nav-list > li > a.is-active::after, .vso-nav-list > li.is-active > button::after { transform: scaleX(1); }
.vso-submenu { position: absolute; top: calc(100% - 8px); left: 0; width: 260px; margin: 0; padding: 10px; opacity: 0; visibility: hidden; border: 1px solid var(--viveka-line); border-radius: 14px; list-style: none; background: #fff; box-shadow: var(--viveka-shadow); transform: translateY(8px); transition: .2s ease; }
.vso-nav-parent:hover > .vso-submenu, .vso-nav-parent:focus-within > .vso-submenu, .vso-nav-parent.is-open > .vso-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.vso-submenu li { margin: 0; }
.vso-submenu a { display: block; padding: 11px 13px; border-radius: 9px; color: #34465e; font-size: 14px; font-weight: 600; line-height: 1.45; }
.vso-submenu a:hover { color: var(--viveka-blue); background: var(--viveka-soft-blue); }
.vso-modern-site .vso-header-cta { display: inline-flex; min-height: 46px; padding: 0 18px; border-radius: 11px; align-items: center; gap: 9px; color: #fff !important; white-space: nowrap; background: var(--viveka-blue); box-shadow: 0 10px 22px rgba(11,75,143,.2); font-size: 13px; font-weight: 800; }
.vso-modern-site .vso-header-cta:hover { color: #fff !important; background: var(--viveka-navy); transform: translateY(-1px); }
.vso-menu-toggle { display: none; }

/* Legacy theme normalization */
.vso-modern-site .gdlr-core-container, .vso-modern-site .VSOE-container { max-width: 1180px; }
.vso-modern-site .gdlr-core-pbf-wrapper { overflow: hidden; }
.vso-modern-site .gdlr-core-pbf-column-content-margin { border-radius: 0; }
.vso-modern-site .gdlr-core-button { border-radius: 10px !important; font-family: "Manrope", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .01em; text-transform: none; }
.vso-modern-site .gdlr-core-title-item-title { line-height: 1.2; }
.vso-modern-site .gdlr-core-title-item-caption { font-family: "Manrope", sans-serif; line-height: 1.6; }
.vso-modern-site .gdlr-core-image-item-wrap { border-radius: 18px; box-shadow: var(--viveka-shadow); }
.vso-modern-site .gdlr-core-image-item-wrap img { width: 100%; }
.vso-modern-site .gdlr-core-feature-box-item,
.vso-modern-site .gdlr-core-flipbox-item,
.vso-modern-site .gdlr-core-blog-grid,
.vso-modern-site .gdlr-core-event-item-list { border-radius: 18px; }

/* Page heroes */
.vso-modern-site .VSOE-page-title-wrap { position: relative; display: flex; min-height: clamp(280px, 38vw, 470px); align-items: flex-end; overflow: hidden; background-position: center !important; background-size: cover !important; }
.vso-modern-site .VSOE-page-title-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,31,62,.9), rgba(5,31,62,.4) 56%, rgba(5,31,62,.16)); }
.vso-modern-site .VSOE-page-title-overlay,
.vso-modern-site .VSOE-page-title-bottom-gradient { display: none; }
.vso-modern-site .VSOE-page-title-container { position: relative; z-index: 2; width: 100%; }
.vso-modern-site .VSOE-page-title-content,
.vso-modern-site .VSOE-page-title-content[style] { padding-top: 80px !important; padding-bottom: 56px !important; }
.vso-modern-site .VSOE-page-caption { margin-bottom: 9px; color: var(--viveka-green) !important; font-family: "Manrope", sans-serif; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.vso-modern-site .VSOE-page-title,
.vso-modern-site .VSOE-page-title[style] { max-width: 800px; margin: 0; color: #fff !important; font: 800 clamp(36px, 5.4vw, 62px)/1.06 "Manrope", sans-serif !important; letter-spacing: -.045em !important; text-transform: none !important; }

/* Homepage refinement */
.vso-announcement-bar { color: #fff; background: var(--viveka-blue-bright); }
.vso-announcement-bar .vso-shell { display: flex; min-height: 36px; align-items: center; gap: 20px; overflow: hidden; }
.vso-announcement-bar strong { flex: 0 0 auto; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.vso-announcement-bar strong i { margin-right: 6px; color: var(--viveka-green); }
.vso-announcement-track { display: flex; min-width: 0; gap: 25px; overflow-x: auto; scrollbar-width: none; }
.vso-announcement-track::-webkit-scrollbar { display: none; }
.vso-announcement-track a { color: #fff; white-space: nowrap; font-size: 11px; font-weight: 600; }
.vso-page-home #rev_slider_2_1_wrapper { margin-top: 0 !important; }
.vso-page-home .rev_slider_wrapper, .vso-page-home .rev_slider { max-height: 640px; overflow: hidden; }
.vso-page-home .tp-bgimg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,27,55,.67), rgba(5,27,55,.16) 68%); }
.vso-page-home .tp-caption[style*="background"] { border-radius: 12px !important; box-decoration-break: clone; }
.vso-page-home #div_1dd7_0 { position: relative; z-index: 3; margin-top: -1px; padding: 28px 0 !important; border-bottom: 1px solid var(--viveka-line); background: #fff; box-shadow: 0 12px 35px rgba(8,43,85,.06); }
.vso-page-home #div_1dd7_0 .gdlr-core-pbf-column-content-margin { padding-block: 10px !important; }
.vso-page-home #div_1dd7_0 .gdlr-core-column-service-item { margin: 0; padding: 8px 20px; border-right: 1px solid var(--viveka-line); }
.vso-page-home #gdlr-core-column-3 .gdlr-core-column-service-item { border-right: 0; }
.vso-page-home #div_1dd7_0 h3 { color: var(--viveka-navy); font-size: 15px; }
.vso-page-home #div_1dd7_0 .gdlr-core-column-service-caption { color: var(--viveka-muted); font-size: 12px; }
.vso-page-home #div_1dd7_21 { padding-block: clamp(65px, 8vw, 105px) !important; background: #fff; }
.vso-page-home #div_1dd7_21 h3 { font-size: clamp(34px, 4.2vw, 50px); letter-spacing: -.04em; }
.vso-page-home #div_1dd7_21 { position: relative; isolation: isolate; background: linear-gradient(90deg,rgba(5,28,62,.97),rgba(8,48,95,.88) 55%,rgba(8,43,85,.67)),url('../upload/about-bg-3.jpg') center/cover no-repeat !important; }
.vso-page-home #div_1dd7_21::after { content: ""; position: absolute; z-index: -1; width: 390px; height: 390px; right: -140px; top: -180px; border: 70px solid rgba(61,177,102,.15); border-radius: 50%; }
.vso-page-home #div_1dd7_21 #h3_1dd7_5 { color: #66d98a !important; }
.vso-page-home #div_1dd7_21 #div_1dd7_27,
.vso-page-home #div_1dd7_21 #div_1dd7_29,
.vso-page-home #div_1dd7_21 #div_1dd7_27 p,
.vso-page-home #div_1dd7_21 #div_1dd7_29 p { color: rgba(255,255,255,.88) !important; text-shadow: 0 2px 15px rgba(0,0,0,.28); }
.vso-page-home #div_1dd7_21 #gdlr-core-button-id-66813 { padding: 13px 17px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: #fff !important; background: rgba(255,255,255,.1); }
.vso-page-home #div_1dd7_30 { padding-block: 70px !important; background: linear-gradient(130deg,#071f43,#0b376d) !important; }
.vso-page-home #div_1dd7_30 h3 { color: #fff !important; }
.vso-page-home #div_1dd7_30 p { color: rgba(255,255,255,.76) !important; }
.vso-page-home #div_1dd7_30 a { color: #6fdd90 !important; }
.vso-page-home #div_1dd7_30 .gdlr-core-pbf-column-content-margin { overflow: hidden; margin: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; box-shadow: 0 16px 42px rgba(8,43,85,.14); transition: transform .25s ease, box-shadow .25s ease; }
.vso-page-home #div_1dd7_30 .gdlr-core-pbf-column-content-margin:hover { box-shadow: var(--viveka-shadow-hover); transform: translateY(-7px); }
.vso-page-home #div_1dd7_44, .vso-page-home #div_1dd7_91 { padding-block: clamp(68px, 8vw, 105px) !important; }
.vso-page-home #div_1dd7_79 { padding-block: clamp(70px, 9vw, 120px) !important; }
.vso-page-home #div_1dd7_81 { padding-block: 65px !important; }
.vso-page-home #div_1dd7_81 .gdlr-core-pbf-column-content-margin { min-height: 230px; margin: 8px; border-radius: 20px; box-shadow: 0 16px 40px rgba(8,43,85,.14); }
.vso-page-home #div_1dd7_72 h3,.vso-page-home #div_1dd7_72 p,.vso-page-home #div_1dd7_72 a { color: #fff !important; text-shadow: 0 2px 15px rgba(0,0,0,.38); }
.vso-page-home #div_1dd7_82 h3,.vso-page-home #div_1dd7_82 p,
.vso-page-home #div_1dd7_85 h3,.vso-page-home #div_1dd7_85 p,
.vso-page-home #div_1dd7_88 h3,.vso-page-home #div_1dd7_88 p { color: #fff !important; text-shadow: 0 2px 13px rgba(0,0,0,.42); }

/* Contrast safeguards for legacy image and navy content panels. */
.vso-modern-site [style*="background-color: #1b2945"] h1,
.vso-modern-site [style*="background-color: #1b2945"] h2,
.vso-modern-site [style*="background-color: #1b2945"] h3,
.vso-modern-site [style*="background-color: #1c2e51"] h1,
.vso-modern-site [style*="background-color: #1c2e51"] h2,
.vso-modern-site [style*="background-color: #1c2e51"] h3 { color: #fff !important; }
.vso-modern-site [style*="background-color: #1b2945"] p,
.vso-modern-site [style*="background-color: #1c2e51"] p { color: rgba(255,255,255,.82) !important; }

/* Interior content cards and lists */
.vso-modern-site .kingster-page-title-wrap { position: relative; display: flex; min-height: 260px; margin: 0 !important; align-items: flex-end; color: #fff; background: linear-gradient(125deg, var(--viveka-navy), var(--viveka-blue)); }
.vso-modern-site .kingster-page-title-wrap::before { content: ""; position: absolute; width: 330px; height: 330px; top: -190px; right: -70px; border-radius: 50%; background: rgba(66,185,106,.18); }
.vso-modern-site .kingster-page-title-overlay { display: none; }
.vso-modern-site .kingster-page-title-container, .vso-modern-site .kingster-container { position: relative; width: min(1180px, calc(100% - 40px)); max-width: 1180px; margin-inline: auto; }
.vso-modern-site .kingster-page-title-content { padding: 55px 0 45px; }
.vso-modern-site .kingster-page-title,
.vso-modern-site .kingster-page-title[style] { margin: 0; color: #fff !important; text-align: left !important; font: 800 clamp(36px,5vw,58px)/1.05 "Manrope",sans-serif !important; letter-spacing: -.04em !important; }
.vso-modern-site .kingster-page-wrapper { background: var(--viveka-surface); }
.vso-modern-site .kingster-page-wrapper .gdlr-core-pbf-section { padding-block: clamp(55px,7vw,90px); }
.vso-modern-site .kingster-page-wrapper .gdlr-core-event-item-list { overflow: hidden; padding: 0 !important; background: #fff; }
.vso-modern-site .kingster-page-wrapper .gdlr-core-event-item-thumbnail img { width: 100%; height: 220px; object-fit: cover; }
.vso-modern-site .kingster-page-wrapper .gdlr-core-event-item-content-wrap { padding: 20px 20px 22px; }
.vso-modern-site .kingster-page-wrapper .gdlr-core-event-item-title { color: var(--viveka-ink); font-size: 18px; line-height: 1.35; }
.vso-modern-site .gdlr-core-blog-modern { overflow: hidden; border-radius: 18px; box-shadow: var(--viveka-shadow); }
.vso-modern-site .gdlr-core-blog-modern .gdlr-core-blog-thumbnail img { width: 100%; height: 300px; object-fit: cover; }
.vso-modern-site .gdlr-core-load-more-wrap { display: none; }
.vso-modern-site .gdlr-core-personnel-list { overflow: hidden; border: 1px solid var(--viveka-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(8,43,85,.08); }
.vso-modern-site .gdlr-core-personnel-list-content-wrap { padding: 22px !important; }
.vso-modern-site:not(.vso-page-home) .gdlr-core-page-builder-body { background: #fff; }
.vso-modern-site:not(.vso-page-home) .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper { padding-top: clamp(48px, 7vw, 86px); padding-bottom: clamp(48px, 7vw, 86px); }
.vso-modern-site .gdlr-core-feature-box-item { overflow: hidden; border: 1px solid rgba(8,43,85,.1); box-shadow: 0 12px 35px rgba(8,43,85,.09); transition: transform .25s ease, box-shadow .25s ease; }
.vso-modern-site .gdlr-core-feature-box-item:hover { box-shadow: var(--viveka-shadow-hover); transform: translateY(-6px); }
.vso-modern-site .gdlr-core-blog-grid { overflow: hidden; border: 1px solid var(--viveka-line); background: #fff; box-shadow: 0 13px 38px rgba(8,43,85,.09); }
.vso-modern-site .gdlr-core-blog-grid-content-wrap { padding: 22px !important; }
.vso-modern-site .gdlr-core-blog-title { font-size: 19px !important; line-height: 1.35; }
.vso-modern-site .gdlr-core-event-item-list { margin-bottom: 12px !important; padding: 18px !important; border: 1px solid var(--viveka-line); background: #fff; box-shadow: 0 8px 24px rgba(8,43,85,.06); }
.vso-modern-site .gdlr-core-event-item-info.gdlr-core-type-start-date-month { border-radius: 12px; background: var(--viveka-soft-blue); }
.vso-modern-site table { width: 100%; border-collapse: separate; border-spacing: 0; }
.vso-modern-site table th { color: #fff; background: var(--viveka-blue); }
.vso-modern-site table th, .vso-modern-site table td { padding: 13px 15px; border-color: var(--viveka-line); }
.vso-modern-site table tr:nth-child(even) td { background: #f8fbfe; }

/* Footer */
.content-library { background: var(--viveka-surface); }
.content-hero { position: relative; overflow: hidden; padding: clamp(70px,9vw,115px) 0; color: #fff; background: linear-gradient(125deg,var(--viveka-navy),var(--viveka-blue)); }
.content-hero::after { content: ""; position: absolute; width: 390px; height: 390px; top: -230px; right: -90px; border-radius: 50%; background: rgba(66,185,106,.18); }
.content-hero h1 { margin: 10px 0 14px; color: #fff; font-size: clamp(40px,6vw,68px); line-height: 1.03; letter-spacing: -.05em; }
.content-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.75); font-size: 17px; }
.content-library__section { min-height: 390px; padding: clamp(60px,8vw,105px) 0; }
.content-section-heading { display: flex; margin-bottom: 34px; align-items: end; justify-content: space-between; gap: 25px; }
.content-section-heading h2 { margin: 7px 0 0; font-size: clamp(29px,4vw,43px); }
.content-section-heading > p { max-width: 300px; margin: 0; font-size: 13px; }
.event-card-grid, .news-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.event-card, .news-card { overflow: hidden; border: 1px solid var(--viveka-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(8,43,85,.08); transition: transform .25s ease,box-shadow .25s ease; }
.event-card:hover, .news-card:hover { box-shadow: var(--viveka-shadow-hover); transform: translateY(-5px); }
.event-card__image, .news-card__image { position: relative; display: block; height: 215px; overflow: hidden; background: var(--viveka-soft-blue); }
.event-card__image img, .news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.event-card:hover img, .news-card:hover img { transform: scale(1.035); }
.event-card__image time { position: absolute; top: 14px; left: 14px; display: grid; width: 54px; height: 59px; place-items: center; align-content: center; border-radius: 12px; color: var(--viveka-navy); background: #fff; box-shadow: 0 8px 20px rgba(8,43,85,.16); }
.event-card__image time strong { font-size: 20px; line-height: 1; }
.event-card__image time span { color: var(--viveka-green); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.event-card__body, .news-card__body { padding: 22px; }
.event-card h3, .news-card h3 { margin: 0 0 10px; font-size: 19px; line-height: 1.35; }
.event-card__body > p { display: -webkit-box; margin: 0 0 18px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: 13px; }
.event-card__meta { display: grid; gap: 7px; padding-top: 15px; border-top: 1px solid var(--viveka-line); color: var(--viveka-muted); font-size: 10px; font-weight: 700; }
.event-card__meta span { display: flex; gap: 8px; align-items: center; }
.event-card__meta i { width: 13px; color: var(--viveka-green); }
.news-card__meta { display: flex; margin-bottom: 10px; align-items: center; justify-content: space-between; gap: 12px; color: var(--viveka-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.news-card__meta span { color: var(--viveka-blue); }
.news-card h3 a { color: var(--viveka-ink); }
.news-card__action { display: inline-flex; margin-top: 10px; align-items: center; gap: 8px; color: var(--viveka-blue); font-size: 11px; font-weight: 800; }
.content-empty-state { max-width: 660px; margin: 0 auto; padding: 50px 30px; border: 1px dashed #bdcde0; border-radius: 20px; text-align: center; background: #fff; }
.content-empty-state > span { display: grid; width: 60px; height: 60px; margin: 0 auto 18px; place-items: center; border-radius: 18px; color: #fff; background: var(--viveka-blue); font-size: 23px; }
.content-empty-state h1, .content-empty-state h3 { margin: 0 0 8px; }
.content-empty-state p { max-width: 490px; margin: 0 auto 18px; }
.content-empty-state a { display: inline-flex; padding: 10px 14px; border-radius: 9px; color: #fff; background: var(--viveka-blue); font-size: 11px; font-weight: 800; }
.news-detail-page { background: var(--viveka-surface); }
.news-detail-hero { padding: clamp(65px,8vw,105px) 0 clamp(85px,11vw,140px); color: #fff; background: linear-gradient(125deg,var(--viveka-navy),var(--viveka-blue)); }
.news-detail-back { display: inline-flex; margin-bottom: 35px; align-items: center; gap: 8px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; }
.news-detail-meta { display: flex; gap: 18px; color: rgba(255,255,255,.6); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.news-detail-meta span { color: var(--viveka-green); }
.news-detail-hero h1 { max-width: 900px; margin: 12px 0 0; color: #fff; font-size: clamp(37px,6vw,65px); line-height: 1.08; letter-spacing: -.045em; }
.news-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 45px; margin-top: -65px; padding-bottom: 90px; align-items: start; }
.news-detail-content { overflow: hidden; border-radius: 20px; background: #fff; box-shadow: var(--viveka-shadow); }
.news-detail-image { width: 100%; max-height: 560px; object-fit: cover; }
.news-detail-copy { padding: clamp(26px,5vw,55px); color: var(--viveka-muted); font-size: 16px; line-height: 1.85; }
.news-detail-aside { margin-top: 65px; padding: 28px; border: 1px solid var(--viveka-line); border-radius: 18px; background: #fff; }
.news-detail-aside h2 { margin: 8px 0; font-size: 24px; }
.news-detail-aside p { font-size: 12px; }
.news-detail-aside a { color: var(--viveka-blue); font-size: 11px; font-weight: 800; }

.contact-page { background: #fff; }
.contact-hero { position: relative; display: flex; min-height: clamp(430px,56vw,650px); align-items: flex-end; overflow: hidden; isolation: isolate; }
.contact-hero__image { position: absolute; z-index: -2; inset: 0; background: url('../upload/image-bg-1.jpg') center/cover no-repeat; transform: scale(1.01); }
.contact-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5,31,62,.92), rgba(5,31,62,.48) 62%, rgba(5,31,62,.18)); }
.contact-hero__content { padding-bottom: clamp(55px,8vw,92px); }
.contact-hero h1 { max-width: 800px; margin: 12px 0 17px; color: #fff; font-size: clamp(43px,7vw,78px); line-height: 1.02; letter-spacing: -.055em; }
.contact-hero p { max-width: 640px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(16px,2vw,20px); }
.contact-section { padding: clamp(65px,8vw,110px) 0; }
.contact-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(300px,.78fr); gap: clamp(35px,6vw,80px); align-items: start; }
.contact-details > h2 { margin: 9px 0 12px; font-size: clamp(31px,4vw,48px); }
.contact-details > p { max-width: 700px; margin: 0 0 34px; }
.contact-card-grid { display: grid; gap: 12px; }
.contact-card { display: grid; grid-template-columns: auto 1fr; gap: 17px; padding: 19px 20px; border: 1px solid var(--viveka-line); border-radius: 15px; background: #fff; transition: .2s ease; }
.contact-card:hover { border-color: rgba(66,185,106,.55); box-shadow: 0 14px 34px rgba(8,43,85,.08); transform: translateY(-2px); }
.contact-card__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #fff; background: var(--viveka-blue); }
.contact-card h3 { margin: 0 0 4px; font-size: 15px; }
.contact-card p { margin: 0; font-size: 13px; line-height: 1.65; }
.contact-card a { color: var(--viveka-blue); font-weight: 700; }
.contact-socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.contact-socials a { display: inline-flex; padding: 10px 14px; border-radius: 10px; align-items: center; gap: 8px; color: var(--viveka-navy); background: var(--viveka-soft-blue); font-size: 11px; font-weight: 800; }
.contact-socials a:hover { color: #fff; background: var(--viveka-blue); }
.contact-visit-card { position: sticky; top: 95px; overflow: hidden; padding: 34px; border-radius: 22px; color: #fff; background: linear-gradient(145deg,var(--viveka-navy),var(--viveka-blue)); box-shadow: var(--viveka-shadow); }
.contact-visit-card::after { content: ""; position: absolute; width: 170px; height: 170px; right: -80px; bottom: -90px; border-radius: 50%; background: rgba(66,185,106,.18); }
.contact-visit-card__number { color: var(--viveka-green); font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.contact-visit-card h2 { margin: 16px 0 12px; color: #fff; font-size: 28px; line-height: 1.15; }
.contact-visit-card > p { color: rgba(255,255,255,.72); font-size: 13px; }
.contact-visit-card > a { display: inline-flex; margin: 9px 0 30px; align-items: center; gap: 8px; color: var(--viveka-navy); font-size: 11px; font-weight: 800; padding: 11px 14px; border-radius: 9px; background: var(--viveka-green); }
.contact-visit-card__note { display: flex; gap: 13px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.72); font-size: 11px; }
.contact-visit-card__note i { margin-top: 4px; color: var(--viveka-green); }
.contact-visit-card__note strong { display: block; color: #fff; }
.contact-map { line-height: 0; filter: saturate(.8); }
.contact-map iframe { width: 100%; }

.vso-site-footer { padding-top: 68px; color: #cfdaea; background: #061f3e; }
.vso-footer-grid { display: grid; grid-template-columns: 1.4fr .75fr 1fr 1.25fr; gap: clamp(30px, 5vw, 70px); padding-bottom: 58px; }
.vso-site-footer h2 { margin: 8px 0 20px; color: #fff; font-size: 14px; letter-spacing: .02em; }
.vso-site-footer p { color: #aebed2; font-size: 12px; line-height: 1.75; }
.vso-site-footer ul { margin: 0; padding: 0; list-style: none; }
.vso-site-footer li { margin: 0 0 10px; }
.vso-site-footer a { color: #aebed2; font-size: 12px; font-weight: 600; }
.vso-site-footer a:hover { color: var(--viveka-green); }
.vso-footer-logo { display: inline-flex; padding: 12px 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 15px; background: #fff; box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.vso-footer-brand .vso-footer-logo img { display: block; width: 245px; max-width: 100%; max-height: 78px; object-fit: contain; object-position: left center; filter: none; opacity: 1; }
.vso-footer-brand p { max-width: 320px; margin: 21px 0; }
.vso-footer-social { display: flex; gap: 9px; }
.vso-footer-social a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; color: #fff; background: rgba(255,255,255,.04); }
.vso-footer-social a:hover { color: var(--viveka-navy); background: var(--viveka-green); }
.vso-footer-contact p { display: flex; gap: 12px; }
.vso-footer-contact p i { margin-top: 6px; color: var(--viveka-green); }
.vso-footer-direction { display: inline-flex; margin-top: 8px; align-items: center; gap: 8px; color: #fff !important; }
.vso-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); background: #041831; }
.vso-footer-bottom .vso-shell { display: flex; min-height: 62px; align-items: center; justify-content: space-between; color: #8296b0; font-size: 10px; font-weight: 600; letter-spacing: .04em; }

@media (max-width: 1240px) {
  .vso-utility-bar { display: none; }
  .vso-main-header__inner { min-height: 72px; }
  .vso-brand, .vso-brand img { width: 205px; flex-basis: 205px; max-height: 64px; }
  .vso-menu-toggle { display: flex; padding: 9px 12px; border: 1px solid var(--viveka-line); border-radius: 10px; align-items: center; gap: 10px; color: var(--viveka-navy); background: #fff; font: 800 11px/1 "Manrope", sans-serif; }
  .vso-menu-toggle__icon { display: grid; gap: 4px; }
  .vso-menu-toggle__icon span { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; }
  .vso-primary-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; max-height: calc(100vh - 72px); padding: 16px 20px 24px; overflow-y: auto; align-items: stretch; flex-direction: column; background: #fff; box-shadow: 0 22px 40px rgba(8,43,85,.16); }
  .vso-site-header.is-menu-open .vso-primary-navigation { display: flex; }
  .vso-nav-list { align-items: stretch; flex-direction: column; }
  .vso-nav-list > li > a, .vso-nav-list > li > button { width: 100%; min-height: 46px; padding: 0 10px; justify-content: space-between; border-bottom: 1px solid var(--viveka-line); }
  .vso-nav-list > li > a::after, .vso-nav-list > li > button::after { display: none; }
  .vso-submenu { position: static; display: none; width: auto; padding: 6px 8px 10px 18px; opacity: 1; visibility: visible; border: 0; box-shadow: none; transform: none; }
  .vso-nav-parent.is-open > .vso-submenu { display: block; }
  .vso-header-cta { justify-content: center; }
  body.vso-menu-open { overflow: hidden; }
  .vso-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .event-card-grid, .news-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .vso-shell { width: min(100% - 28px, 1180px); }
  .vso-main-header__inner { min-height: 66px; }
  .vso-brand, .vso-brand img { width: 180px; flex-basis: 180px; max-height: 58px; }
  .vso-menu-toggle__label { display: none; }
  .vso-primary-navigation { max-height: calc(100vh - 66px); padding-inline: 14px; }
  .vso-modern-site .VSOE-page-title-wrap { min-height: 300px; }
  .vso-modern-site .VSOE-page-title-content, .vso-modern-site .VSOE-page-title-content[style] { padding: 65px 8px 38px !important; }
  .vso-modern-site .VSOE-page-title { font-size: 38px !important; }
  .vso-modern-site .kingster-page-title-wrap { min-height: 220px; }
  .vso-modern-site .kingster-page-title-container, .vso-modern-site .kingster-container { width: min(100% - 28px,1180px); }
  .vso-modern-site .kingster-page-title-content { padding: 45px 0 34px; }
  .vso-modern-site .kingster-page-title { font-size: 37px !important; }
  .vso-page-home .rev_slider_wrapper, .vso-page-home .rev_slider { min-height: 500px !important; max-height: 500px; }
  .vso-page-home #div_1dd7_0 .gdlr-core-column-service-item { border-right: 0; border-bottom: 1px solid var(--viveka-line); }
  .vso-modern-site .gdlr-core-pbf-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
  .vso-modern-site .gdlr-core-pbf-wrapper-container { padding-right: 14px !important; padding-left: 14px !important; }
  .vso-modern-site .gdlr-core-pbf-column-content-margin { min-height: 0 !important; }
  .vso-footer-grid { grid-template-columns: 1fr; gap: 30px; padding-bottom: 42px; }
  .content-section-heading { align-items: flex-start; flex-direction: column; }
  .event-card-grid, .news-card-grid { grid-template-columns: 1fr; }
  .news-detail-layout { grid-template-columns: 1fr; margin-top: -45px; gap: 0; }
  .news-detail-aside { margin-top: 22px; }
  .contact-hero { min-height: 470px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-visit-card { position: relative; top: auto; padding: 28px; }
  .vso-footer-bottom .vso-shell { padding-block: 18px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; }
  .document-card, .smc-card { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .vso-site-header.is-scrolled .vso-main-header { animation: none; }
}

/* Site-wide legibility scale */
body.vso-modern-site { font-size: 17px; line-height: 1.75; }
.vso-modern-site p, .vso-modern-site li { font-size: 16px; }
.vso-modern-site .gdlr-core-text-box-item-content,
.vso-modern-site .gdlr-core-text-box-item-content p { color: #45566e; }
.vso-modern-site .gdlr-core-skin-caption { color: #64748b; }
.vso-modern-site .gdlr-core-skin-title { color: var(--viveka-ink); }
.vso-modern-site [data-skin="White Text"] .gdlr-core-text-box-item-content,
.vso-modern-site [data-skin="White Text"] .gdlr-core-text-box-item-content p { color: rgba(255,255,255,.88); }
.vso-modern-site .gdlr-core-pbf-wrapper[style*="background-color: #f"] { background-color: var(--viveka-surface) !important; }
.vso-utility-bar p, .vso-utility-links a { font-size: 12px; }
.vso-nav-list > li > a, .vso-nav-list > li > button { font-size: 15px; }
.vso-submenu a { font-size: 14px; }
.vso-modern-site .vso-header-cta { font-size: 13px; }
.vso-modern-site .gdlr-core-button { font-size: 14px; }
.vso-modern-site .gdlr-core-title-item-caption { font-size: 16px; }
.vso-modern-site .gdlr-core-text-box-item-content { font-size: 16px; line-height: 1.75; }
.vso-page-home #div_1dd7_0 h3 { font-size: 17px; }
.vso-page-home #div_1dd7_0 .gdlr-core-column-service-caption { font-size: 14px; }
.vso-announcement-bar strong, .vso-announcement-track a { font-size: 12px; }
.event-card__body > p, .contact-card p, .contact-visit-card > p,
.content-section-heading > p, .news-detail-aside p { font-size: 15px; }
.event-card h3, .news-card h3 { font-size: 21px; }
.event-card__meta, .news-card__meta { font-size: 12px; }
.news-card__action, .contact-socials a, .content-empty-state a,
.news-detail-aside a, .contact-visit-card > a { font-size: 13px; }
.vso-site-footer h2 { font-size: 16px; }
.vso-site-footer p, .vso-site-footer a { font-size: 14px; }
.vso-footer-bottom .vso-shell { font-size: 12px; }
.document-eyebrow, .smc-section .document-eyebrow { font-size: 13px; }
.document-card p, .smc-card p, .smc-invitee-card p { font-size: 15px; }
.vso-modern-site .smc-invitees .document-eyebrow { color: var(--viveka-green); }
.vso-modern-site .smc-invitees__heading h2,
.vso-modern-site .smc-invitee-card h3 { color: #fff; }
.vso-modern-site .smc-invitee-card p { color: rgba(255,255,255,.78); }

/* Banner contrast: protect dark hero text from the global typography rules. */
.vso-modern-site .document-hero h1,
.vso-modern-site .mandatory-page__hero h1 { color: #fff !important; }
.vso-modern-site .document-hero p,
.vso-modern-site .mandatory-page__hero p { color: rgba(255,255,255,.82) !important; }
.vso-modern-site .document-hero .document-eyebrow,
.vso-modern-site .mandatory-page__hero .document-eyebrow { color: #63d486 !important; }
.vso-modern-site .principal-section__content h2 { color: #fff !important; }
.vso-modern-site .principal-section__content p { color: rgba(255,255,255,.8) !important; }
.vso-modern-site .principal-section__content .document-eyebrow { color: #63d486 !important; }
.principal-section, #smc-heading { scroll-margin-top: 112px; }
.principal-section__image { position: relative; }
.principal-section__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,43,85,.04),rgba(8,43,85,.22)); pointer-events: none; }

/* Sainik School */
.sainik-page { background: var(--viveka-surface); }
.sainik-intro { padding: clamp(72px,8vw,112px) 0 0; background: #fff; }
.sainik-intro__layout { display: grid; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: clamp(45px,8vw,105px); align-items: start; }
.sainik-intro__heading h2 { margin: 12px 0 0; color: var(--viveka-ink); font-size: clamp(35px,4.6vw,53px); line-height: 1.1; letter-spacing: -.045em; }
.sainik-intro__copy p { margin: 0 0 20px; color: #45566e; font-size: 17px; line-height: 1.85; }
.sainik-facts { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 54px; padding: 27px 8px; border-radius: 19px; color: #fff; background: linear-gradient(125deg,var(--viveka-navy),var(--viveka-blue)); box-shadow: var(--viveka-shadow); }
.sainik-facts > div { padding: 8px 20px; border-right: 1px solid rgba(255,255,255,.15); text-align: center; }
.sainik-facts > div:last-child { border-right: 0; }
.sainik-facts strong, .sainik-facts span { display: block; }
.sainik-facts strong { color: #fff; font-size: clamp(24px,3vw,32px); line-height: 1.1; }
.sainik-facts span { margin-top: 8px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.sainik-resource-section { margin-top: -42px; padding-top: clamp(112px,12vw,155px); background: var(--viveka-surface); }
.sainik-certificate-section { border-top: 1px solid var(--viveka-line); background: #fff; }
.document-card--resource .document-card__icon { background: linear-gradient(135deg,var(--viveka-green),#259451); }
.sainik-contact-strip { padding: 60px 0; color: #fff; background: linear-gradient(125deg,var(--viveka-navy),var(--viveka-blue)); }
.sainik-contact-strip .vso-shell { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.sainik-contact-strip h2 { margin: 7px 0 0; color: #fff; font-size: clamp(27px,3.5vw,40px); }
.sainik-contact-strip a { display: inline-flex; flex: 0 0 auto; padding: 14px 18px; border-radius: 11px; align-items: center; gap: 10px; color: var(--viveka-navy); background: var(--viveka-green); font-size: 14px; font-weight: 800; }

@media (max-width: 900px) {
  .sainik-intro__layout { grid-template-columns: 1fr; gap: 26px; }
  .sainik-contact-strip .vso-shell { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .sainik-intro { padding-top: 60px; }
  .sainik-facts { grid-template-columns: repeat(2,1fr); margin-top: 35px; padding: 17px 5px; }
  .sainik-facts > div { border-bottom: 1px solid rgba(255,255,255,.14); }
  .sainik-facts > div:nth-child(2) { border-right: 0; }
  .sainik-facts > div:nth-child(n+3) { border-bottom: 0; }
  .sainik-contact-strip { padding: 48px 0; }
}

@media (max-width: 767px) {
  body.vso-modern-site { font-size: 16px; }
  .vso-modern-site p, .vso-modern-site li { font-size: 16px; }
  .vso-nav-list > li > a, .vso-nav-list > li > button { font-size: 14px; }
  .vso-submenu a { font-size: 14px; }
}

/* Premium campus pages and shared interaction layer */
html { scrollbar-width: thin; scrollbar-color: #1768ad #eaf3fb; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #eaf3fb; }
::-webkit-scrollbar-thumb {
  border: 2px solid #eaf3fb;
  border-radius: 999px;
  background: linear-gradient(180deg,#49bf70 0%,#1768ad 48%,#0b4b8f 100%);
  box-shadow: 0 0 10px rgba(23,104,173,.45);
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg,#55ce7d,#0f5d9f 52%,#073d76); }

.premium-visual-hero {
  position: relative;
  display: flex;
  min-height: clamp(430px,50vw,600px);
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}
.premium-visual-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,rgba(7,30,67,.94) 0%,rgba(10,49,96,.78) 48%,rgba(7,30,67,.25) 100%), linear-gradient(0deg,rgba(7,30,67,.8),transparent 55%);
}
.premium-visual-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 380px;
  height: 380px;
  top: -145px;
  right: -80px;
  border-radius: 50%;
  border: 70px solid rgba(73,191,112,.16);
  box-shadow: 0 0 70px rgba(24,114,190,.24);
}
.premium-visual-hero--faculty { background-image: url('../upload/about-bg-1.jpg'); }
.premium-visual-hero--gallery { background-image: url('../upload/g4.jpg'); background-position: center 42%; }
.premium-visual-hero--facilities { background-image: url('../upload/life-title-bg.jpg'); background-position: center 48%; }
.premium-visual-hero__content { padding-top: 120px; padding-bottom: clamp(58px,8vw,92px); }
.premium-visual-hero__content h1 {
  max-width: 850px;
  margin: 12px 0 18px;
  color: #fff !important;
  font-size: clamp(44px,7vw,76px);
  line-height: .98;
  letter-spacing: -.055em;
  text-shadow: 0 4px 28px rgba(0,0,0,.45);
}
.premium-visual-hero__content p {
  max-width: 710px;
  margin: 0;
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(17px,1.8vw,20px);
  line-height: 1.72;
  text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.premium-visual-hero .document-eyebrow { color: #70dd91 !important; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.premium-section { padding: clamp(72px,9vw,118px) 0; background: #f6f9fd; }
.premium-heading-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.72fr); gap: clamp(34px,7vw,90px); align-items: end; margin-bottom: clamp(38px,6vw,65px); }
.premium-heading-row h2 { margin: 10px 0 0; color: var(--viveka-ink); font-size: clamp(35px,5vw,55px); line-height: 1.05; letter-spacing: -.045em; }
.premium-heading-row > p { margin: 0; color: #53637a; font-size: 17px; line-height: 1.8; }

[data-premium-card] { transform: perspective(1100px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) translateY(0); transform-style: preserve-3d; transition: transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .3s ease; will-change: transform; }
[data-premium-card]:hover { transform: perspective(1100px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) translateY(-8px); }

.faculty-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.faculty-card { position: relative; padding: clamp(26px,4vw,40px); overflow: hidden; border: 1px solid #dbe6f1; border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 18px 45px rgba(15,52,92,.09); }
.faculty-card::after { content: ""; position: absolute; width: 170px; height: 170px; right: -85px; bottom: -95px; border-radius: 50%; background: linear-gradient(135deg,rgba(73,191,112,.18),rgba(23,104,173,.12)); }
.faculty-card:hover { border-color: rgba(23,104,173,.35); box-shadow: 0 28px 65px rgba(15,52,92,.17); }
.faculty-card__topline { display: flex; justify-content: space-between; gap: 15px; color: #7890aa; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.faculty-card__role { color: var(--viveka-blue); }
.faculty-card__identity { display: flex; gap: 19px; align-items: center; margin: 28px 0 20px; }
.faculty-card__avatar { display: grid; width: 68px; height: 68px; flex: 0 0 68px; place-items: center; border-radius: 18px; color: #fff; background: linear-gradient(145deg,var(--viveka-blue),var(--viveka-navy)); box-shadow: 0 12px 28px rgba(23,104,173,.24); font-size: 20px; font-weight: 800; }
.faculty-card h3 { margin: 0 0 6px; color: var(--viveka-ink); font-size: 23px; line-height: 1.2; }
.faculty-card__identity p { margin: 0; color: var(--viveka-green-dark,#258a4a); font-size: 13px; font-weight: 800; }
.faculty-card__bio { position: relative; z-index: 1; margin: 0; color: #52637a; font-size: 15px; line-height: 1.75; }
.faculty-governance { padding: clamp(62px,8vw,90px) 0; color: #fff; background: radial-gradient(circle at 85% 5%,rgba(46,135,209,.28),transparent 35%),linear-gradient(125deg,#092a58,var(--viveka-navy)); }
.faculty-governance__layout,.faculty-contact-strip .vso-shell,.gallery-cta .vso-shell { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.faculty-governance h2,.faculty-contact-strip h2,.gallery-cta h2 { margin: 8px 0 10px; color: #fff; font-size: clamp(29px,4vw,43px); line-height: 1.1; }
.faculty-governance p { max-width: 700px; margin: 0; color: rgba(255,255,255,.76); }
.faculty-governance a,.faculty-contact-strip a,.gallery-cta a { display: inline-flex; flex: 0 0 auto; gap: 10px; align-items: center; padding: 15px 19px; border-radius: 12px; color: var(--viveka-navy); background: var(--viveka-green); font-size: 14px; font-weight: 800; box-shadow: 0 12px 28px rgba(0,0,0,.15); }
.faculty-contact-strip,.gallery-cta { padding: 58px 0; background: linear-gradient(100deg,#14569b,#2277b7); }

.campus-gallery-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 235px; gap: 18px; }
.campus-gallery-card { grid-column: span 4; margin: 0; overflow: hidden; border-radius: 20px; background: #0b2c5d; box-shadow: 0 18px 42px rgba(15,52,92,.13); }
.campus-gallery-card--1,.campus-gallery-card--6 { grid-column: span 8; }
.campus-gallery-card--1,.campus-gallery-card--5,.campus-gallery-card--6 { grid-row: span 2; }
.campus-gallery-card a,.campus-gallery-card img { display: block; width: 100%; height: 100%; }
.campus-gallery-card a { position: relative; overflow: hidden; }
.campus-gallery-card img { object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease; }
.campus-gallery-card:hover img { transform: scale(1.075); filter: saturate(1.08); }
.campus-gallery-card__overlay { position: absolute; display: flex; inset: 0; padding: 24px; flex-direction: column; justify-content: flex-end; color: #fff; background: linear-gradient(0deg,rgba(3,22,49,.9),rgba(3,22,49,.06) 70%); }
.campus-gallery-card__overlay span { color: #70dd91; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.campus-gallery-card__overlay strong { margin-top: 6px; color: #fff; font-size: clamp(19px,2.2vw,27px); line-height: 1.15; text-shadow: 0 2px 12px rgba(0,0,0,.55); }
.campus-gallery-card__overlay i { position: absolute; top: 20px; right: 20px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(8,43,85,.48); backdrop-filter: blur(8px); opacity: 0; transform: translateY(8px); transition: .3s ease; }
.campus-gallery-card:hover .campus-gallery-card__overlay i { opacity: 1; transform: none; }

.facilities-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.facility-card { position: relative; min-height: 410px; overflow: hidden; border-radius: 22px; background: #0b2c5d; box-shadow: 0 18px 46px rgba(15,52,92,.14); }
.facility-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.facility-card:hover img { transform: scale(1.07); }
.facility-card__overlay { position: absolute; inset: 0; display: flex; padding: 28px; flex-direction: column; justify-content: flex-end; background: linear-gradient(0deg,rgba(3,25,55,.96),rgba(3,25,55,.1) 70%); }
.facility-card h3 { margin: 7px 0 9px; color: #fff; font-size: 28px; }
.facility-card p { margin: 0; color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.65; }
.facility-card .document-eyebrow { color: #70dd91; }
.ibt-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 610px; background: var(--viveka-navy); }
.ibt-section__image { min-height: 480px; background: linear-gradient(rgba(8,43,85,.12),rgba(8,43,85,.25)),url('../upload/sciencepark.jpg') center/cover no-repeat; }
.ibt-section__content { display: flex; max-width: 720px; padding: clamp(55px,8vw,105px); flex-direction: column; justify-content: center; }
.ibt-section__content h2 { margin: 10px 0 25px; color: #fff; font-size: clamp(36px,5vw,57px); line-height: 1.04; letter-spacing: -.045em; }
.ibt-section__content p { margin: 0 0 18px; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.8; }
.campus-service-section { padding: clamp(68px,8vw,100px) 0; background: #fff; }
.campus-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.campus-service-grid article { padding: 35px; border: 1px solid #dce7f2; border-radius: 20px; background: #fff; box-shadow: 0 14px 36px rgba(15,52,92,.08); }
.campus-service-grid article:hover { box-shadow: 0 24px 55px rgba(15,52,92,.15); }
.campus-service-grid i { display: grid; width: 55px; height: 55px; margin-bottom: 24px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg,var(--viveka-green),var(--viveka-blue)); font-size: 22px; }
.campus-service-grid h3 { margin: 9px 0 12px; color: var(--viveka-ink); font-size: 23px; }
.campus-service-grid p { margin: 0; color: #56677e; font-size: 15px; line-height: 1.72; }
.facility-quote { padding: 70px 0; color: #fff; text-align: center; background: radial-gradient(circle at 50% 0,rgba(59,144,211,.32),transparent 45%),#082b5b; }
.facility-quote i { color: var(--viveka-green); font-size: 26px; }
.facility-quote blockquote { max-width: 930px; margin: 18px auto 0; color: #fff; font-size: clamp(25px,4vw,42px); font-weight: 750; line-height: 1.25; letter-spacing: -.025em; }

.mandatory-page__table-wrap { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #1768ad #edf4fb; }
.mandatory-page__content tbody tr { transition: transform .22s ease,box-shadow .22s ease,background .22s ease; }
.mandatory-page__content tbody tr:hover { position: relative; z-index: 1; transform: translateY(-2px); background: #f3f8fd; box-shadow: 0 8px 20px rgba(15,52,92,.08); }
.mandatory-page__content tbody td:first-child { color: var(--viveka-blue); font-weight: 800; }
.vso-page-academics .gdlr-core-widget-box-shortcode p,
.vso-page-academics .gdlr-core-widget-box-shortcode a { color: rgba(255,255,255,.86) !important; }

.vso-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }
.vso-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .mandatory-overview__grid { grid-template-columns: repeat(2,1fr); }
  .mandatory-overview__grid article:nth-child(2) { border-right: 0; }
  .mandatory-overview__grid article:nth-child(-n+2) { border-bottom: 1px solid #e1eaf3; }
  .premium-heading-row { grid-template-columns: 1fr; gap: 22px; }
  .facilities-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .campus-gallery-card,.campus-gallery-card--1,.campus-gallery-card--6 { grid-column: span 6; }
  .ibt-section { grid-template-columns: 1fr; }
  .ibt-section__content { max-width: none; }
  .campus-service-grid { grid-template-columns: 1fr; }
  .faculty-governance__layout,.faculty-contact-strip .vso-shell,.gallery-cta .vso-shell { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .mandatory-page { padding-bottom: 65px; }
  .mandatory-page__hero { min-height: 480px; }
  .mandatory-page__hero-content { padding-top: 110px; padding-bottom: 78px; }
  .mandatory-page__hero h1 { font-size: 43px; }
  .mandatory-overview { margin-top: -28px; }
  .mandatory-overview__grid { width: calc(100% - 28px); padding: 6px; border-radius: 18px; }
  .mandatory-overview__grid article { min-height: 104px; padding: 15px 11px; gap: 10px; }
  .mandatory-overview__grid i { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; font-size: 15px; }
  .mandatory-overview__grid strong { font-size: 20px; }
  .mandatory-overview__grid span { font-size: 9px; }
  .mandatory-jump-nav { width: calc(100% - 28px); margin-top: 15px; }
  .mandatory-page__content { padding: 16px 14px 0; }
  .mandatory-section-title { margin-top: 52px !important; padding-left: 58px; font-size: 25px !important; }
  .mandatory-section-title::before { width: 44px; height: 44px; border-radius: 13px; }
  .mandatory-section-subtitle { margin-left: 58px !important; }
  .mandatory-page__table-wrap::before { content: "Swipe to view all details  →"; position: sticky; left: 0; display: block; width: max-content; padding: 10px 14px 8px; color: var(--viveka-blue); background: #fff; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .mandatory-page__content table { min-width: 590px; }
  .premium-visual-hero { min-height: 450px; }
  .premium-visual-hero::before { background: linear-gradient(90deg,rgba(7,30,67,.94),rgba(7,30,67,.58)),linear-gradient(0deg,rgba(7,30,67,.88),transparent 68%); }
  .premium-visual-hero__content { padding-top: 105px; padding-bottom: 54px; }
  .premium-visual-hero__content h1 { font-size: 43px; }
  .faculty-card-grid,.facilities-grid { grid-template-columns: 1fr; }
  .faculty-card__identity { align-items: flex-start; }
  .campus-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 310px; }
  .campus-gallery-card,.campus-gallery-card--1,.campus-gallery-card--6 { grid-column: 1; grid-row: span 1; }
  .facility-card { min-height: 390px; }
  .ibt-section__image { min-height: 360px; }
  .ibt-section__content { padding: 52px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  [data-premium-card],.vso-reveal,.facility-card img,.campus-gallery-card img { transition: none !important; transform: none !important; }
}
