/* ============================================================
   DCE PATIALA — GLOBAL STYLESHEET
   LPU-inspired | Green & White Theme
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600&display=swap');

:root {
  --green:        #0a5c36;
  --green-dark:   #063d24;
  --green-mid:    #0d7342;
  --green-light:  #12a05a;
  --green-pale:   #e8f5ee;
  --green-tint:   #f0f9f4;
  --gold:         #c8a951;
  --gold-light:   #e8cb7a;
  --white:        #ffffff;
  --off-white:    #f8f8f6;
  --gray-100:     #f5f5f3;
  --gray-200:     #e8e8e4;
  --gray-400:     #b0b0a8;
  --gray-600:     #6b6b65;
  --gray-800:     #2d2d28;
  --black:        #111110;
  --topbar-h:     40px;
  --navbar-h:     74px;
  --radius-sm:    6px;
  --radius:       12px;
  --radius-lg:    20px;
  --radius-xl:    32px;
  --shadow-sm:    0 1px 8px rgba(0,0,0,0.06);
  --shadow:       0 4px 20px rgba(0,0,0,0.09);
  --shadow-md:    0 8px 40px rgba(0,0,0,0.12);
  --shadow-lg:    0 20px 60px rgba(0,0,0,0.15);
  --t:            0.28s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Outfit', sans-serif; background: var(--white); color: var(--black); overflow-x: hidden; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--gray-100); }
::-webkit-scrollbar-thumb { background: var(--green-mid); border-radius: 3px; }

.container { max-width: 1260px; margin: 0 auto; padding: 0 28px; }
.container-wide { max-width: 1480px; margin: 0 auto; padding: 0 32px; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:50px; font-weight:600; font-size:14px; transition:all var(--t); cursor:pointer; border:none; font-family:'Outfit',sans-serif; }
.btn-green { background:var(--green); color:var(--white); box-shadow:0 4px 16px rgba(10,92,54,0.3); }
.btn-green:hover { background:var(--green-mid); transform:translateY(-2px); box-shadow:0 8px 24px rgba(10,92,54,0.4); }
.btn-gold { background:var(--gold); color:var(--green-dark); font-weight:700; }
.btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline-white { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.65); }
.btn-outline-white:hover { background:rgba(255,255,255,0.1); }
.btn-outline-green { background:transparent; color:var(--green); border:1.5px solid var(--green); }
.btn-outline-green:hover { background:var(--green); color:var(--white); }
.btn-sm { padding:9px 20px; font-size:13px; }

/* Typography helpers */
.label-tag { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--green-mid); margin-bottom:12px; }
.label-tag::before { content:''; width:22px; height:2px; background:var(--gold); border-radius:2px; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(26px,3.5vw,46px); font-weight:800; line-height:1.15; color:var(--green-dark); }
.section-title em { font-style:italic; color:var(--green-mid); }
.section-sub { font-size:15.5px; color:var(--gray-600); line-height:1.7; max-width:620px; margin-top:12px; }
.text-center { text-align:center; }
.text-center .section-sub { margin:12px auto 0; }

/* Section padding */
.section-pad { padding:80px 0; }
.section-pad-lg { padding:110px 0; }

/* Reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal.up { opacity:1; transform:translateY(0); }
.reveal-l { opacity:0; transform:translateX(-30px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal-l.up { opacity:1; transform:translateX(0); }
.reveal-r { opacity:0; transform:translateX(30px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal-r.up { opacity:1; transform:translateX(0); }

/* ── TOPBAR ── */
.topbar { height:var(--topbar-h); background:var(--green-dark); position:fixed; top:0; left:0; right:0; z-index:1100; display:flex; align-items:center; }
.topbar .container-wide { display:flex; align-items:center; justify-content:space-between; width:100%; }
.topbar-links { display:flex; }
.topbar-links a { height:var(--topbar-h); display:flex; align-items:center; padding:0 14px; font-size:12px; font-weight:500; color:rgba(255,255,255,0.72); border-right:1px solid rgba(255,255,255,0.09); transition:all 0.2s; }
.topbar-links a:first-child { border-left:1px solid rgba(255,255,255,0.09); }
.topbar-links a:hover { color:var(--gold-light); background:rgba(255,255,255,0.05); }
.topbar-right { display:flex; align-items:center; gap:18px; }
.topbar-right a { font-size:12px; color:rgba(255,255,255,0.65); transition:color 0.2s; }
.topbar-right a:hover { color:var(--gold-light); }
.topbar-social { display:flex; gap:14px; }
.topbar-social a { font-size:13.5px; }

/* ── NAVBAR ── */
.navbar { position:fixed; top:var(--topbar-h); left:0; right:0; z-index:1000; height:var(--navbar-h); background:var(--white); border-bottom:1px solid var(--gray-200); box-shadow:var(--shadow-sm); transition:all 0.32s ease; }
.navbar.scrolled { top:0; height:60px; box-shadow:var(--shadow); }
.navbar .container-wide { height:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.nav-logo { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-logo img { height:54px; width:auto; object-fit:contain; transition:height 0.3s; }
.navbar.scrolled .nav-logo img { height:42px; }
.nav-logo-text .name { font-size:14.5px; font-weight:800; color:var(--green-dark); letter-spacing:-0.2px; line-height:1.2; }
.nav-logo-text .sub { font-size:9.5px; color:var(--gray-600); letter-spacing:1.8px; text-transform:uppercase; font-weight:500; }

.nav-main { display:flex; align-items:center; height:100%; flex:1; justify-content:center; }
.nav-main > ul { display:flex; align-items:center; height:100%; }
.nav-main > ul > li { position:relative; height:100%; display:flex; align-items:center; }
.nav-main > ul > li > a { display:flex; align-items:center; gap:5px; padding:0 15px; height:100%; font-size:13px; font-weight:700; color:var(--gray-800); letter-spacing:0.3px; border-bottom:3px solid transparent; white-space:nowrap; transition:all 0.2s; text-transform:uppercase; }
.nav-main > ul > li > a .chev { font-size:9px; transition:transform 0.2s; }
.nav-main > ul > li:hover > a, .nav-main > ul > li > a.active { color:var(--green); border-bottom-color:var(--green); }
.nav-main > ul > li:hover > a .chev { transform:rotate(180deg); }

/* Mega menu */
.mega-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(-10px); background:var(--white); border-radius:var(--radius-lg); box-shadow:0 20px 80px rgba(0,0,0,0.15); border:1px solid var(--gray-200); opacity:0; visibility:hidden; transition:all 0.25s ease; min-width:260px; z-index:300; overflow:hidden; }
.mega-menu.wide { min-width:820px; }
.mega-menu.ultra { min-width:1020px; }
.nav-main > ul > li:hover .mega-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.mega-inner { display:flex; }
.mega-col { padding:24px 20px; flex:1; border-right:1px solid var(--gray-100); min-width:180px; }
.mega-col:last-child { border-right:none; }
.mega-col-title { font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--green); margin-bottom:12px; padding-bottom:10px; border-bottom:2px solid var(--green-pale); }
.mega-col a { display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:6px; font-size:13px; font-weight:500; color:var(--gray-800); transition:all 0.18s; }
.mega-col a i { color:var(--green-light); font-size:11px; width:14px; }
.mega-col a:hover { background:var(--green-pale); color:var(--green); padding-left:14px; }
.mega-highlight { background:linear-gradient(160deg,var(--green-dark) 0%,var(--green) 100%); min-width:220px; padding:28px 22px; display:flex; flex-direction:column; justify-content:space-between; }
.mega-highlight h4 { font-family:'Playfair Display',serif; font-size:18px; color:var(--white); margin-bottom:10px; line-height:1.3; }
.mega-highlight p { font-size:12.5px; color:rgba(255,255,255,0.68); line-height:1.6; flex:1; margin-bottom:20px; }

/* Simple dropdown */
.simple-drop { position:absolute; top:100%; left:0; background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow-md); border:1px solid var(--gray-200); min-width:210px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:all 0.22s; overflow:hidden; z-index:300; }
.nav-main > ul > li:hover .simple-drop { opacity:1; visibility:visible; transform:translateY(0); }
.simple-drop a { display:flex; align-items:center; gap:10px; padding:11px 18px; font-size:13.5px; font-weight:500; color:var(--gray-800); border-bottom:1px solid var(--gray-100); transition:all 0.18s; }
.simple-drop a:last-child { border-bottom:none; }
.simple-drop a i { color:var(--green-light); font-size:13px; width:16px; }
.simple-drop a:hover { background:var(--green-pale); color:var(--green); padding-left:24px; }

.nav-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav-search { background:none; border:none; font-size:18px; color:var(--gray-600); cursor:pointer; padding:8px; transition:color 0.2s; }
.nav-search:hover { color:var(--green); }
.nav-apply { background:var(--green); color:var(--white); padding:10px 22px; border-radius:50px; font-size:13px; font-weight:700; display:flex; align-items:center; gap:8px; transition:all 0.25s; box-shadow:0 4px 14px rgba(10,92,54,0.28); white-space:nowrap; }
.nav-apply:hover { background:var(--green-mid); transform:translateY(-1px); }
.hamburger { display:none; flex-direction:column; gap:5px; padding:8px; cursor:pointer; background:none; border:none; }
.hamburger span { display:block; width:24px; height:2px; background:var(--green-dark); border-radius:2px; transition:all 0.3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile nav */
.mobile-nav { display:none; position:fixed; inset:0; background:var(--white); z-index:990; overflow-y:auto; padding:90px 24px 40px; transform:translateX(-100%); transition:transform 0.35s ease; }
.mobile-nav.open { transform:translateX(0); }
.mobile-nav a { display:block; padding:13px 0; font-size:15px; font-weight:600; color:var(--gray-800); border-bottom:1px solid var(--gray-100); transition:color 0.2s; }
.mobile-nav a:hover { color:var(--green); }
.mobile-section-label { font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--green-mid); margin:20px 0 8px; padding:0; border:none; background:none; display:block; }
.mobile-apply { display:block; background:var(--green) !important; color:var(--white) !important; text-align:center; border-radius:50px; margin-top:20px; border:none !important; }

/* ── HERO SLIDER ── */
.hero-slider { position:relative; height:100vh; min-height:580px; overflow:hidden; margin-top:calc(var(--topbar-h) + var(--navbar-h)); }
.slide { position:absolute; inset:0; opacity:0; transition:opacity 0.9s ease; }
.slide.active { opacity:1; z-index:1; }
.slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 7s ease; }
.slide.active .slide-bg { transform:scale(1); }
.slide-overlay { position:absolute; inset:0; background:linear-gradient(110deg, rgba(6,61,36,0.9) 0%, rgba(10,92,54,0.6) 55%, rgba(0,0,0,0.2) 100%); }
.slide-content { position:absolute; inset:0; display:flex; align-items:center; z-index:2; }
.slide-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(200,169,81,0.18); border:1px solid rgba(200,169,81,0.5); color:var(--gold-light); padding:6px 16px; border-radius:50px; font-size:11.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; }
.slide-title { font-family:'Playfair Display',serif; font-size:clamp(32px,5.5vw,72px); font-weight:800; color:var(--white); line-height:1.06; margin-bottom:18px; max-width:760px; }
.slide-title em { font-style:italic; color:var(--gold-light); }
.slide-desc { font-size:clamp(14px,1.5vw,17px); color:rgba(255,255,255,0.78); max-width:540px; line-height:1.72; margin-bottom:36px; }
.slide-btns { display:flex; gap:14px; flex-wrap:wrap; }
.hero-nav { position:absolute; top:50%; transform:translateY(-50%); left:0; right:0; display:flex; justify-content:space-between; padding:0 28px; z-index:5; pointer-events:none; }
.hero-arrow { pointer-events:all; width:52px; height:52px; background:rgba(255,255,255,0.1); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.25); border-radius:50%; color:var(--white); font-size:18px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.25s; }
.hero-arrow:hover { background:var(--green); border-color:var(--green); }
.hero-dots { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:5; }
.dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.38); border:none; cursor:pointer; transition:all 0.3s; }
.dot.active { background:var(--gold); width:28px; border-radius:4px; }

/* ── TICKER ── */
.ticker-bar { background:var(--gold); overflow:hidden; padding:11px 0; }
.ticker-inner { display:flex; animation:ticker 38s linear infinite; white-space:nowrap; }
.ticker-item { display:inline-flex; align-items:center; gap:10px; padding:0 40px; font-size:13px; font-weight:600; color:var(--green-dark); }
.ticker-item i { color:var(--green); }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── STATS BAR ── */
.stats-bar { background:var(--green-dark); }
.stats-bar .container-wide { display:flex; }
.stat-blk { flex:1; padding:28px 22px; border-right:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; gap:16px; transition:background 0.22s; }
.stat-blk:last-child { border-right:none; }
.stat-blk:hover { background:rgba(255,255,255,0.05); }
.stat-blk .si { font-size:28px; color:var(--gold); }
.stat-blk .sn { font-family:'Playfair Display',serif; font-size:30px; font-weight:700; color:var(--white); line-height:1; }
.stat-blk .sn em { font-style:normal; font-size:18px; color:var(--gold); }
.stat-blk .sl { font-size:12px; color:rgba(255,255,255,0.58); margin-top:3px; font-weight:500; }

/* ── RANKINGS ── */
.rankings-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.rank-card { background:var(--white); border-radius:var(--radius-lg); padding:30px 22px; text-align:center; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); transition:all var(--t); position:relative; overflow:hidden; }
.rank-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--green),var(--gold)); }
.rank-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.rn { font-family:'Playfair Display',serif; font-size:54px; font-weight:800; color:var(--green); line-height:1; margin-bottom:8px; }
.rn sup { font-size:24px; color:var(--gold); }
.rb { font-size:13px; color:var(--gray-600); line-height:1.55; }
.rank-badge { display:inline-block; background:var(--green-pale); color:var(--green); padding:4px 12px; border-radius:50px; font-size:11px; font-weight:700; margin-top:12px; letter-spacing:0.5px; }

/* ── PROGRAMMES ── */
.prog-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px; }
.prog-tab { padding:10px 22px; border-radius:50px; font-size:13.5px; font-weight:600; color:var(--gray-600); background:var(--gray-100); border:none; cursor:pointer; transition:all 0.22s; font-family:'Outfit',sans-serif; }
.prog-tab:hover, .prog-tab.active { background:var(--green); color:var(--white); }
.prog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.prog-panel { display:none; }
.prog-panel.active { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.prog-card { background:var(--white); border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); transition:all var(--t); }
.prog-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(10,92,54,0.3); }
.prog-top { background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-mid) 100%); padding:26px 24px; position:relative; overflow:hidden; }
.prog-top::after { content:''; position:absolute; top:-20px; right:-20px; width:100px; height:100px; border-radius:50%; background:rgba(255,255,255,0.06); }
.prog-ico { width:50px; height:50px; background:rgba(255,255,255,0.12); border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--gold-light); margin-bottom:14px; }
.prog-top h3 { font-family:'Playfair Display',serif; font-size:20px; color:var(--white); margin-bottom:4px; }
.prog-top span { font-size:12px; color:rgba(255,255,255,0.62); }
.prog-body { padding:18px 24px; }
.prog-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--gray-100); font-size:13px; color:var(--gray-600); }
.prog-row:last-child { border:none; padding-bottom:0; }
.prog-row i { color:var(--green-mid); font-size:12px; width:14px; }
.prog-row strong { color:var(--gray-800); font-weight:600; }
.prog-foot { padding:14px 24px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--gray-100); }
.prog-apply { display:inline-flex; align-items:center; gap:6px; background:var(--green); color:var(--white); padding:9px 20px; border-radius:50px; font-size:13px; font-weight:600; transition:all 0.22s; }
.prog-apply:hover { background:var(--green-mid); }
.seats { background:var(--green-pale); color:var(--green-dark); padding:5px 12px; border-radius:50px; font-size:11.5px; font-weight:700; }

/* ── PLACEMENTS ── */
.placement-section { background:linear-gradient(160deg,var(--green-dark) 0%,var(--green) 100%); position:relative; overflow:hidden; }
.placement-section::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,0.03); }
.placement-section .section-title { color:var(--white); }
.placement-section .label-tag { color:var(--gold-light); }
.placement-section .label-tag::before { background:var(--gold); }
.placement-section .section-sub { color:rgba(255,255,255,0.65); }
.pstats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:40px 0; }
.ps { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-lg); padding:28px 20px; text-align:center; transition:all 0.25s; }
.ps:hover { background:rgba(255,255,255,0.13); transform:translateY(-4px); }
.ps .n { font-family:'Playfair Display',serif; font-size:44px; font-weight:700; color:var(--white); line-height:1; }
.ps .n em { font-style:normal; font-size:22px; color:var(--gold-light); }
.ps .l { font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:6px; font-weight:500; }
.co-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.co { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.85); padding:10px 20px; border-radius:var(--radius-sm); font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px; transition:all 0.22s; }
.co:hover { background:rgba(255,255,255,0.18); transform:translateY(-2px); }
.co i { color:var(--gold-light); }

/* ── ABOUT ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.img-wrap { position:relative; }
.img-main { width:100%; border-radius:var(--radius-xl); aspect-ratio:4/3; object-fit:cover; box-shadow:var(--shadow-lg); }
.img-badge { position:absolute; bottom:-22px; right:-22px; background:var(--green-dark); color:var(--white); padding:22px 26px; border-radius:var(--radius-lg); text-align:center; box-shadow:var(--shadow-md); }
.img-badge .n { font-family:'Playfair Display',serif; font-size:40px; font-weight:800; color:var(--gold-light); line-height:1; }
.img-badge .l { font-size:12px; color:rgba(255,255,255,0.62); margin-top:4px; }
.about-text p { color:var(--gray-600); line-height:1.78; margin-bottom:16px; font-size:15px; }
.pills { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.pill { display:flex; align-items:center; gap:8px; padding:9px 16px; background:var(--green-pale); border:1px solid rgba(10,92,54,0.15); border-radius:50px; font-size:13px; font-weight:600; color:var(--green-dark); transition:all 0.22s; }
.pill:hover { background:var(--green); color:var(--white); }
.pill i { color:var(--gold); font-size:13px; }
.pill:hover i { color:var(--gold-light); }

/* ── CAMPUS ── */
.campus-mosaic { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:16px; }
.cm { border-radius:var(--radius-lg); overflow:hidden; position:relative; cursor:pointer; }
.cm.wide { grid-column:span 2; }
.cm.tall { grid-row:span 2; }
.cm img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.cm:hover img { transform:scale(1.07); }
.cm-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(6,61,36,0.88) 0%,transparent 55%); display:flex; align-items:flex-end; padding:22px; opacity:0; transition:opacity 0.3s; }
.cm:hover .cm-ov { opacity:1; }
.cm-ov h4 { font-family:'Playfair Display',serif; font-size:17px; color:var(--white); }
.cm-ov p { font-size:12px; color:rgba(255,255,255,0.72); margin-top:3px; }
.cm-ov i { font-size:20px; color:var(--gold-light); margin-bottom:8px; display:block; }

/* ── FACULTY ── */
.fac-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.fac-card { background:var(--white); border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); text-align:center; transition:all 0.3s; }
.fac-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.fac-img { width:100%; height:220px; object-fit:cover; object-position:top; display:block; }
.fac-ph { width:100%; height:220px; display:flex; align-items:center; justify-content:center; font-size:64px; }
.fac-body { padding:20px 16px; }
.fac-name { font-family:'Playfair Display',serif; font-size:17px; color:var(--green-dark); margin-bottom:4px; }
.fac-dept { font-size:12px; color:var(--gold); font-weight:700; letter-spacing:0.5px; margin-bottom:6px; }
.fac-qual { font-size:12px; color:var(--gray-600); line-height:1.45; }
.fac-exp { display:inline-block; background:var(--green-dark); color:var(--gold-light); padding:4px 14px; border-radius:50px; font-size:11px; font-weight:700; margin-top:12px; }

/* ── TESTIMONIALS ── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tc { background:var(--white); border-radius:var(--radius-lg); padding:30px; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); transition:all 0.3s; }
.tc:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(10,92,54,0.3); }
.tc-stars { color:#f5a623; font-size:14px; letter-spacing:3px; margin-bottom:16px; }
.tc-text { font-family:'Playfair Display',serif; font-size:16px; font-style:italic; color:var(--gray-800); line-height:1.68; margin-bottom:22px; }
.tc-text::before { content:'\201C'; font-size:32px; color:var(--green); line-height:0; vertical-align:-14px; margin-right:4px; }
.tc-author { display:flex; align-items:center; gap:14px; }
.tc-av { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:var(--white); flex-shrink:0; }
.tc-name { font-size:14.5px; font-weight:700; color:var(--green-dark); }
.tc-role { font-size:12px; color:var(--gold); font-weight:600; margin-top:2px; }

/* ── PAGE HERO ── */
.page-hero { background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%); padding:90px 0 70px; margin-top:calc(var(--topbar-h) + var(--navbar-h)); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-60px; right:-60px; width:360px; height:360px; border-radius:50%; background:rgba(255,255,255,0.04); }
.ph-label { font-size:11.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold-light); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.ph-label::before { content:''; width:20px; height:2px; background:var(--gold); border-radius:2px; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(28px,4vw,56px); font-weight:800; color:var(--white); line-height:1.1; margin-bottom:14px; }
.page-hero p { font-size:15.5px; color:rgba(255,255,255,0.72); max-width:580px; line-height:1.7; }
.breadcrumb { display:flex; align-items:center; gap:8px; margin-top:24px; font-size:13px; }
.breadcrumb a { color:rgba(255,255,255,0.58); transition:color 0.2s; }
.breadcrumb a:hover { color:var(--gold-light); }
.breadcrumb span { color:rgba(255,255,255,0.3); }
.breadcrumb .cur { color:var(--gold-light); font-weight:600; }

/* ── INFO CARDS ── */
.ic { background:var(--white); border-radius:var(--radius-lg); padding:28px; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); transition:all 0.3s; }
.ic:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:rgba(10,92,54,0.25); }
.ic-ico { width:54px; height:54px; background:var(--green-pale); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--green); margin-bottom:16px; }
.ic h4 { font-family:'Playfair Display',serif; font-size:18px; color:var(--green-dark); margin-bottom:8px; }
.ic p { font-size:13.5px; color:var(--gray-600); line-height:1.65; }

/* ── CONTACT FORM ── */
.form-wrap { background:var(--white); border-radius:var(--radius-lg); padding:36px; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm); }
.form-wrap h3 { font-family:'Playfair Display',serif; font-size:24px; color:var(--green-dark); margin-bottom:24px; }
.fg { margin-bottom:18px; }
.fg label { display:block; font-size:12px; font-weight:700; color:var(--green-dark); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:7px; }
.fg input,.fg select,.fg textarea { width:100%; padding:13px 16px; border:1.5px solid var(--gray-200); border-radius:var(--radius-sm); font-family:'Outfit',sans-serif; font-size:14px; color:var(--black); background:var(--gray-100); outline:none; transition:all 0.22s; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--green-mid); background:var(--white); box-shadow:0 0 0 3px rgba(13,115,66,0.1); }
.fg textarea { resize:vertical; min-height:110px; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.btn-submit { width:100%; padding:14px; background:var(--green-dark); color:var(--white); border:none; border-radius:50px; font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:all 0.28s; }
.btn-submit:hover { background:var(--green-mid); transform:translateY(-2px); box-shadow:0 8px 24px rgba(10,92,54,0.35); }

/* ── FOOTER ── */
footer { background:var(--black); color:var(--white); }
.footer-top { padding:70px 0 50px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1.3fr; gap:44px; }
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.footer-logo img { height:50px; object-fit:contain; }
.footer-logo .fn { font-size:15px; font-weight:800; color:var(--gold-light); line-height:1.2; }
.footer-logo .fs { font-size:10px; color:rgba(255,255,255,0.45); letter-spacing:1.8px; text-transform:uppercase; margin-top:2px; }
footer .footer-brand p { font-size:13.5px; color:rgba(255,255,255,0.5); line-height:1.7; margin-bottom:22px; }
.f-badges { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.f-badge { background:rgba(200,169,81,0.12); border:1px solid rgba(200,169,81,0.3); color:var(--gold-light); padding:5px 12px; border-radius:50px; font-size:11px; font-weight:700; }
.f-social { display:flex; gap:10px; }
.f-social a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.07); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); font-size:15px; transition:all 0.22s; border:1px solid rgba(255,255,255,0.1); }
.f-social a:hover { background:var(--green-mid); color:var(--white); border-color:var(--green-mid); transform:translateY(-2px); }
footer h5 { font-family:'Playfair Display',serif; font-size:16px; color:var(--white); margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.08); }
.f-links li { padding:6px 0; }
.f-links a { font-size:13.5px; color:rgba(255,255,255,0.5); display:flex; align-items:center; gap:6px; transition:all 0.2s; }
.f-links a::before { content:'›'; color:var(--gold); font-size:16px; }
.f-links a:hover { color:var(--gold-light); padding-left:6px; }
.f-ci { display:flex; gap:12px; padding:9px 0; align-items:flex-start; }
.f-ci i { color:var(--gold); font-size:14px; margin-top:2px; flex-shrink:0; }
.f-ci span { font-size:13px; color:rgba(255,255,255,0.5); line-height:1.55; }
.f-ci a { color:var(--green-light); }
.f-ci a:hover { color:var(--gold-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.07); padding:22px 0; }
.footer-bottom .container-wide { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.footer-bottom p { font-size:13px; color:rgba(255,255,255,0.33); }
.footer-bottom a { color:var(--gold-light); }

/* ── BTT ── */
#btt { position:fixed; bottom:28px; right:28px; width:48px; height:48px; background:var(--green-dark); color:var(--white); border:2px solid rgba(200,169,81,0.4); border-radius:50%; font-size:18px; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:all 0.3s; z-index:999; cursor:pointer; box-shadow:var(--shadow); }
#btt.show { opacity:1; visibility:visible; transform:translateY(0); }
#btt:hover { background:var(--green); transform:translateY(-3px); }

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .rankings-grid{grid-template-columns:repeat(2,1fr)}
  .prog-panel.active,.prog-grid{grid-template-columns:1fr 1fr}
  .fac-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .img-badge{bottom:-16px;right:16px}
  .testi-grid{grid-template-columns:1fr 1fr}
  .pstats{grid-template-columns:repeat(2,1fr)}
  .campus-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .cm.wide{grid-column:span 2}
  .cm.tall{grid-row:span 1}
}
@media(max-width:768px){
  :root{--topbar-h:0px;--navbar-h:62px}
  .topbar{display:none}
  .nav-main{display:none}
  .hamburger{display:flex}
  .mobile-nav{display:block}
  .hero-slider{margin-top:var(--navbar-h);height:88vh}
  .hero-nav{display:none}
  .stats-bar .container-wide{flex-direction:column}
  .stat-blk{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08);width:100%}
  .rankings-grid{grid-template-columns:1fr 1fr}
  .prog-panel.active,.prog-grid{grid-template-columns:1fr}
  .campus-mosaic{grid-template-columns:1fr;grid-auto-rows:200px}
  .cm.wide{grid-column:span 1}
  .testi-grid{grid-template-columns:1fr}
  .pstats{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .page-hero{margin-top:var(--navbar-h)}
  .fg-row{grid-template-columns:1fr}
  .fac-grid{grid-template-columns:1fr 1fr}
  section,.section-pad,.section-pad-lg{padding:60px 0}
  .nav-right .nav-search{display:none}
}
@media(max-width:480px){
  .rankings-grid{grid-template-columns:1fr}
  .fac-grid{grid-template-columns:1fr}
  .pstats{grid-template-columns:1fr}
  .slide-btns{flex-direction:column}
  .hero-dots{bottom:18px}
}
