/* CHRIST University Lavasa — Shared Stylesheet */
/* Generated from index.html base styles */


:root{--cu-navy:#0B1F3A;--cu-blue:#0C4D8B;--cu-blue-lt:#1A6BC4;--cu-blue-pale:#E8F0FB;--cu-gold:#C8860A;--cu-gold-lt:#E9A820;--cu-gold-pale:#FDF3E0;--cu-cream:#F8F6F1;--cu-text:#1C1C1E;--cu-text-2:#4A5568;--cu-text-3:#9CA3AF;--cu-border:#E5E9F0;--shadow-sm:0 2px 12px rgba(11,31,58,.07);--shadow:0 6px 32px rgba(11,31,58,.10);--shadow-lg:0 20px 60px rgba(11,31,58,.14);}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--cu-text);-webkit-font-smoothing:antialiased;}html{overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Cormorant Garamond',serif;}
a{text-decoration:none;}
.font-serif{font-family:'Cormorant Garamond',serif;}
.font-mono{font-family:'DM Mono',monospace;}
.text-gold{color:var(--cu-gold)!important;}
.text-gold-lt{color:var(--cu-gold-lt)!important;}
.text-navy{color:var(--cu-navy)!important;}
.bg-navy{background-color:var(--cu-navy)!important;}
.bg-blue{background-color:var(--cu-blue)!important;}
.bg-cream{background-color:var(--cu-cream)!important;}
.bg-blue-pale{background-color:var(--cu-blue-pale)!important;}
.bg-gold-pale{background-color:var(--cu-gold-pale)!important;}
.section-label{display:inline-flex;align-items:center;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cu-gold);margin-bottom:.9rem;padding-left:.85rem;border-left:3px solid var(--cu-gold);}
.section-title{font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;color:var(--cu-navy);line-height:1.15;letter-spacing:-.01em;}
.section-title em{font-style:italic;color:var(--cu-blue);}
.section-sub{font-size:.97rem;color:var(--cu-text-2);line-height:1.75;max-width:520px;}
.btn-cu-gold{background:var(--cu-gold);color:var(--cu-navy);font-weight:600;border:none;transition:all .22s;}
.btn-cu-gold:hover{background:var(--cu-gold-lt);color:var(--cu-navy);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,134,10,.35);}
.btn-cu-blue{background:var(--cu-blue);color:#fff;font-weight:600;border:none;transition:all .22s;}
.btn-cu-blue:hover{background:var(--cu-navy);color:#fff;transform:translateY(-2px);}
.btn-cu-ghost{border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.88);background:transparent;transition:all .22s;}
.btn-cu-ghost:hover{border-color:rgba(255,255,255,.7);color:#fff;background:transparent;}
.btn-cu-white{background:#fff;color:var(--cu-navy);font-weight:600;border:none;transition:all .22s;}
.btn-cu-white:hover{background:var(--cu-gold-lt);color:var(--cu-navy);}
.btn-cu-outline{border:1.5px solid var(--cu-border);color:var(--cu-text);background:transparent;transition:all .22s;}
.btn-cu-outline:hover{border-color:var(--cu-blue);color:var(--cu-blue);}
.reveal{opacity:1;transform:none;}
.reveal.visible{opacity:1;transform:none;}

/* TOP BAR */
#topbar{background:var(--cu-navy);padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.05);}
#topbar a{font-size:.72rem;color:rgba(255,255,255,.55);letter-spacing:.04em;transition:color .2s;}
#topbar a:hover{color:var(--cu-gold-lt);}
#topbar .apply-pill{background:var(--cu-gold);color:var(--cu-navy)!important;font-weight:600;padding:.22rem .85rem;border-radius:2rem;}
#topbar .apply-pill:hover{background:var(--cu-gold-lt)!important;}
#topbar .careers-pill{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85)!important;
  font-weight:600;padding:.22rem .85rem;border-radius:2rem;border:1px solid rgba(255,255,255,.18);
  transition:all .2s!important;}
#topbar .careers-pill:hover{background:rgba(255,255,255,.18)!important;color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;}
/* CAMPUS SWITCHER */
.campus-switcher{position:relative;}
.campus-current-btn{display:flex;align-items:center;gap:.5rem;
  background:rgba(200,134,10,.18);border:1px solid rgba(200,134,10,.35);
  color:var(--cu-gold-lt)!important;font-weight:600!important;font-size:.72rem!important;
  padding:.28rem .85rem!important;border-radius:2rem;cursor:pointer;
  transition:all .22s;white-space:nowrap;letter-spacing:.03em;}
.campus-current-btn:hover{background:rgba(200,134,10,.28)!important;border-color:var(--cu-gold)!important;
  color:#fff!important;}
.campus-current-btn .cc-dot{width:7px;height:7px;border-radius:50%;
  background:var(--cu-gold);flex-shrink:0;animation:ccPulse 2s infinite;}
@keyframes ccPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.8);}}
.campus-current-btn .cc-chevron{font-size:.55rem;transition:transform .22s;margin-left:.1rem;}
.campus-switcher.open .cc-chevron{transform:rotate(180deg);}
/* Dropdown panel */
.campus-drop{will-change:opacity,transform;position:absolute;top:calc(100% + 2px);left:0;right:auto;
  background:#fff;border-radius:1rem;border:1px solid rgba(11,31,58,.1);
  box-shadow:0 20px 60px rgba(11,31,58,.18);z-index:1050;
  width:700px;max-width:calc(100vw - 2rem);opacity:0;transform:translateY(-8px);
  pointer-events:none;transition:opacity .25s,transform .25s;}
.campus-switcher.open .campus-drop{opacity:1;transform:translateY(0);pointer-events:all;}
.campus-drop-head{padding:1rem 1.4rem .75rem;border-bottom:1px solid rgba(11,31,58,.07);
  display:flex;align-items:center;justify-content:space-between;}
.campus-drop-title{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;
  color:var(--cu-navy);}
.campus-drop-subtitle{font-size:.65rem;color:var(--cu-text-3);font-family:'DM Mono',monospace;
  letter-spacing:.1em;text-transform:uppercase;}
.campus-drop-close{width:26px;height:26px;border-radius:50%;border:1px solid var(--cu-border);
  background:transparent;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--cu-text-3);font-size:.7rem;transition:all .18s;}
.campus-drop-close:hover{background:var(--cu-navy);border-color:var(--cu-navy);color:#fff;}
/* Campus drop hover bridge */
.campus-switcher.open .campus-drop::before,
.campus-drop::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}
/* Campus grid */
.campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:1rem 1.1rem 1.1rem;}
.campus-item{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;
  border-radius:.75rem;border:1.5px solid var(--cu-border);cursor:pointer;
  transition:all .22s;text-decoration:none;position:relative;overflow:hidden;}
.campus-item::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .22s;
  background:linear-gradient(135deg,rgba(12,77,139,.06),rgba(200,134,10,.04));}
.campus-item:hover{border-color:var(--cu-blue);box-shadow:0 4px 18px rgba(12,77,139,.1);
  transform:translateY(-2px);}
.campus-item:hover::before{opacity:1;}
.campus-item.current{border-color:var(--cu-gold);background:rgba(200,134,10,.05);}
.campus-item.current::after{content:'You are here';position:absolute;top:.35rem;right:.5rem;
  font-size:.5rem;font-family:'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cu-gold);font-weight:600;}
/* Campus icon */
.ci-icon{width:36px;height:36px;border-radius:.55rem;display:flex;align-items:center;
  justify-content:center;font-size:1.1rem;flex-shrink:0;background:rgba(12,77,139,.08);}
.campus-item.current .ci-icon{background:rgba(200,134,10,.12);}
.campus-item:hover .ci-icon{background:rgba(12,77,139,.14);}
/* Campus text */
.ci-city{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--cu-text-3);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:.15rem;}
.ci-name{font-size:.8rem;font-weight:600;color:var(--cu-navy);line-height:1.2;}
.ci-tag{font-size:.6rem;color:var(--cu-text-3);margin-top:.1rem;}
/* Footer note */
.campus-drop-footer{padding:.6rem 1.4rem;border-top:1px solid rgba(11,31,58,.06);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(11,31,58,.02);border-radius:0 0 1rem 1rem;}
.campus-drop-footer span{font-size:.65rem;color:var(--cu-text-3);}
.campus-drop-footer a{font-size:.65rem;color:var(--cu-blue);font-weight:600;text-decoration:none;}
.campus-drop-footer a:hover{color:var(--cu-navy);}

.topbar-sep{width:1px;height:12px;background:rgba(255,255,255,.15);display:inline-block;margin:0 .25rem;vertical-align:middle;}

/* NAVBAR */
#mainNav{background:#fff!important;border-bottom:1px solid var(--cu-border);box-shadow:var(--shadow-sm);padding:0;}
#mainNav .navbar-brand img{height:52px;width:auto;}
#mainNav .nav-link{font-size:.85rem;color:var(--cu-text-2)!important;font-weight:500;padding:.5rem .9rem!important;border-radius:.5rem;transition:all .2s;}
#mainNav .nav-link:hover{color:var(--cu-blue)!important;background:var(--cu-blue-pale);}
.mega-dropdown .dropdown-menu{min-width:480px;border:1px solid var(--cu-border);border-radius:1rem;box-shadow:var(--shadow-lg);padding:1.5rem;margin-top:.5rem;}
.dd-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.6rem;transition:background .18s;cursor:pointer;}
.dd-item:hover{background:var(--cu-blue-pale);}
.dd-icon{width:36px;height:36px;border-radius:.5rem;background:var(--cu-blue-pale);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.dd-item:hover .dd-icon{background:var(--cu-blue);}
.dd-text h6{font-size:.83rem;font-weight:600;color:var(--cu-navy);margin-bottom:.2rem;font-family:'DM Sans',sans-serif;}
.dd-text small{font-size:.73rem;color:var(--cu-text-3);line-height:1.45;}

/* HERO CAROUSEL */
#heroCarousel{height:calc(100vh - 100px);min-height:560px;max-height:820px;}
.hero-slide{height:calc(100vh - 100px);min-height:560px;max-height:820px;position:relative;display:flex;align-items:center;}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 8s ease;}
.carousel-item.active .slide-bg{transform:scale(1);}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,15,30,.82) 0%,rgba(7,15,30,.45) 55%,rgba(7,15,30,.18) 100%);}
.slide-overlay::after{content:'';position:absolute;bottom:0;left:0;right:0;height:38%;background:linear-gradient(to top,rgba(7,15,30,.88),transparent);}
.sb1{background:url("images/common/banner/1.webp") center center/cover no-repeat;}
.sb2{background:url("images/common/banner/2.webp") center center/cover no-repeat;}
.sb3{background:url("images/common/banner/3.webp") center 30%/cover no-repeat;}
.sb4{background:url("images/common/banner/4.webp") center 40%/cover no-repeat;}
.sb5{background:url("images/common/banner/5.webp") center 40%/cover no-repeat;}
.sb1::before,.sb2::before,.sb3::before,.sb4::before,.sb5::before{content:'';position:absolute;inset:0;opacity:.035;background-image:linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);background-size:64px 64px;}
.sb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:8rem;opacity:.06;pointer-events:none;}
.slide-tag{opacity:0;transform:translateY(18px);transition:opacity .55s .2s,transform .55s .2s;}
.slide-h1{opacity:0;transform:translateY(24px);transition:opacity .65s .38s,transform .65s .38s;font-size:clamp(2.8rem,5.5vw,5.2rem);font-weight:300;line-height:1.05;}
.slide-h1 em{font-style:italic;color:var(--cu-gold-lt);}
.slide-p{opacity:0;transform:translateY(18px);transition:opacity .6s .55s,transform .6s .55s;font-size:1.02rem;color:rgba(255,255,255,.62);line-height:1.72;font-weight:300;max-width:460px;}
.slide-btns{opacity:0;transform:translateY(14px);transition:opacity .55s .7s,transform .55s .7s;}
.carousel-item.active .slide-tag,.carousel-item.active .slide-h1,.carousel-item.active .slide-p,.carousel-item.active .slide-btns{opacity:1;transform:translateY(0);}
.slide-eyebrow-line{width:24px;height:2px;background:var(--cu-gold);display:inline-block;vertical-align:middle;margin-right:.6rem;}
.slide-tag-text{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cu-gold-lt);}
.carousel-control-prev,.carousel-control-next{width:52px;height:52px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:50%;opacity:1;backdrop-filter:blur(8px);transition:all .25s;}
.carousel-control-prev{left:2%;}
.carousel-control-next{right:2%;}
.carousel-control-prev:hover,.carousel-control-next:hover{background:var(--cu-gold);border-color:var(--cu-gold);}
.carousel-control-prev-icon,.carousel-control-next-icon{width:18px;height:18px;}
.carousel-indicators{bottom:4.5rem;}
.carousel-indicators [data-bs-target]{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);border:none;margin:0 4px;transition:all .3s;}
.carousel-indicators .active{background:var(--cu-gold);width:26px;border-radius:3.5px;}
.hero-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);z-index:20;}
.hero-progress-fill{height:100%;background:linear-gradient(90deg,var(--cu-gold),var(--cu-gold-lt));width:0;transition:width linear;}
.hero-live-badge{position:absolute;z-index:20;bottom:110px;right:22%;left:auto;background:rgba(11,31,58,.92);border:1px solid rgba(212,163,61,.35);backdrop-filter:blur(16px);border-radius:.85rem;padding:.85rem 1.2rem;opacity:0;transform:translateY(10px);transition:opacity .5s 1s,transform .5s 1s;width:auto;max-width:260px;}
.hero-live-badge.show{opacity:1;transform:translateY(0);}
#heroCarousel{overflow:hidden;}
#heroCarousel{overflow:hidden;}
.live-badge-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);border-radius:50%;flex-shrink:0;}
.live-dot{width:9px;height:9px;background:#22c55e;border-radius:50%;animation:lpulse 1.8s infinite;flex-shrink:0;}
.live-badge-body strong{font-size:.8rem;color:#fff;letter-spacing:.03em;text-transform:uppercase;}
.live-badge-body span{display:block;font-size:.72rem;color:rgba(255,255,255,.55);margin:.1rem 0 .55rem;}
.live-badge-cta{display:inline-block;font-size:.72rem;font-weight:700;color:var(--cu-navy);background:var(--cu-gold);padding:.22rem .75rem;border-radius:2rem;text-decoration:none;letter-spacing:.02em;transition:background .2s;}
.live-badge-cta:hover{background:var(--cu-gold-lt);color:var(--cu-navy);}
@keyframes lpulse{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.3)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.06)}}
.hero-thumbs{position:absolute;right:2%;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:.6rem;}
.hero-thumb{display:flex;align-items:center;gap:.55rem;cursor:pointer;opacity:.35;transition:opacity .3s,transform .3s;padding:.2rem 0;}
.hero-thumb:hover{opacity:.65;}
.hero-thumb.active{opacity:1;}
.ht-line{display:block;width:2px;height:28px;background:rgba(255,255,255,.35);border-radius:2px;transition:height .3s,background .3s;}
.hero-thumb.active .ht-line{height:36px;background:var(--cu-gold);}
.ht-label{font-family:'DM Mono',monospace;font-size:.6rem;color:rgba(255,255,255,.5);letter-spacing:.08em;transition:color .3s;}
.hero-thumb.active .ht-label{color:var(--cu-gold);}
.hero-thumb-inner{display:none;}
.hero-counter{position:absolute;bottom:1.8rem;right:3%;z-index:20;display:flex;align-items:baseline;gap:.35rem;}
.hero-counter .cur{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:600;color:#fff;line-height:1;}
.hero-counter .sep{color:rgba(255,255,255,.3);font-size:.85rem;}
.hero-counter .tot{font-size:.85rem;color:rgba(255,255,255,.4);}
.hero-stats-strip{background:rgba(11,31,58,.72);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);position:absolute;bottom:0;left:0;right:0;z-index:10;}
.h-stat{padding:1rem 1.5rem;border-right:1px solid rgba(255,255,255,.08);}
.h-stat:last-child{border-right:none;}
.h-stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--cu-gold-lt);line-height:1;}
.h-stat-lbl strong{display:block;font-size:.82rem;color:rgba(255,255,255,.85);font-weight:500;}
.h-stat-lbl span{font-size:.75rem;color:rgba(255,255,255,.5);}

/* TICKER */
.ticker-bar{background:var(--cu-gold-pale);border-bottom:1px solid rgba(200,134,10,.2);padding:.6rem 0;}
.ticker-label{background:var(--cu-gold);color:var(--cu-navy);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.22rem .75rem;border-radius:2rem;font-family:'DM Mono',monospace;white-space:nowrap;}
.ticker-scroll{overflow:hidden;flex:1;}
.ticker-inner{display:flex;gap:3rem;animation:tickerAnim 32s linear infinite;white-space:nowrap;}
@keyframes tickerAnim{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-item{font-size:.8rem;color:var(--cu-text-2);flex-shrink:0;display:flex;align-items:center;gap:.5rem;}
.t-item::before{content:'›';color:var(--cu-gold);font-size:1rem;}

/* MARQUEE */
.marquee-bar{background:var(--cu-blue);padding:.8rem 0;overflow:hidden;}
.marquee-track{display:flex;gap:2.5rem;animation:marqueeAnim 40s linear infinite;white-space:nowrap;}
@keyframes marqueeAnim{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m-item{font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);flex-shrink:0;display:flex;align-items:center;gap:1rem;}
.m-sep{width:4px;height:4px;background:rgba(255,255,255,.3);border-radius:50%;}

/* PROGRAMMES */
.school-tab-btn{padding:.52rem 1.2rem;border-radius:2rem;font-size:.82rem;font-weight:500;border:1.5px solid var(--cu-border);color:var(--cu-text-2);cursor:pointer;transition:all .22s;background:transparent;white-space:nowrap;}
.school-tab-btn:hover{border-color:var(--cu-blue);color:var(--cu-blue);}
.school-tab-btn.active{background:var(--cu-navy);border-color:var(--cu-navy);color:#fff;}
/* COURSE SEARCH */
.course-search-wrap{position:relative;max-width:680px;margin:0 auto 2.5rem;}
.course-search-box{display:flex;align-items:center;background:#fff;border:2px solid var(--cu-border);
  border-radius:1rem;padding:.6rem .6rem .6rem 1.2rem;transition:all .3s;
  box-shadow:0 4px 20px rgba(11,31,58,.07);}
.course-search-box:focus-within{border-color:var(--cu-blue);box-shadow:0 4px 28px rgba(12,77,139,.15);}
.course-search-box i{color:var(--cu-text-3);font-size:1.1rem;margin-right:.75rem;flex-shrink:0;transition:color .2s;}
.course-search-box:focus-within i{color:var(--cu-blue);}
.course-search-input{flex:1;border:none;outline:none;font-size:.95rem;color:var(--cu-text);
  background:transparent;font-family:'DM Sans',sans-serif;}
.course-search-input::placeholder{color:var(--cu-text-3);}
.course-search-btn{background:var(--cu-blue);color:#fff;border:none;border-radius:.65rem;
  padding:.65rem 1.4rem;font-size:.82rem;font-weight:600;cursor:pointer;
  transition:all .2s;white-space:nowrap;flex-shrink:0;}
.course-search-btn:hover{background:var(--cu-navy);}
.course-search-clear{width:30px;height:30px;border:none;background:var(--cu-cream);
  border-radius:50%;display:none;align-items:center;justify-content:center;
  cursor:pointer;color:var(--cu-text-3);font-size:.8rem;margin-right:.4rem;transition:all .2s;}
.course-search-clear:hover{background:var(--cu-border);color:var(--cu-navy);}
.course-search-clear.show{display:flex;}
/* Dropdown results */
.course-results-drop{position:absolute;top:calc(100% + .6rem);left:0;right:0;
  background:#fff;border:1.5px solid var(--cu-border);border-radius:1rem;
  box-shadow:0 16px 50px rgba(11,31,58,.13);z-index:200;
  max-height:420px;overflow-y:auto;display:none;}
.course-results-drop.open{display:block;}
.course-results-drop::-webkit-scrollbar{width:5px;}
.course-results-drop::-webkit-scrollbar-thumb{background:var(--cu-border);border-radius:3px;}
/* Result item */
.cr-item{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.25rem;
  border-bottom:1px solid var(--cu-border);cursor:pointer;transition:background .18s;}
.cr-item:last-child{border-bottom:none;}
.cr-item:hover{background:var(--cu-blue-pale);}
.cr-item:hover .cr-i-name{color:var(--cu-blue);}
.cr-i-icon{width:38px;height:38px;border-radius:.6rem;display:flex;align-items:center;
  justify-content:center;font-size:1.1rem;flex-shrink:0;margin-top:.1rem;}
.cr-i-body{flex:1;}
.cr-i-name{font-size:.88rem;font-weight:600;color:var(--cu-navy);line-height:1.3;
  margin-bottom:.3rem;transition:color .18s;}
.cr-i-breadcrumb{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;}
.cr-i-school{font-size:.68rem;font-weight:500;padding:.15rem .6rem;border-radius:2rem;}
.cr-i-dept{font-size:.68rem;color:var(--cu-text-3);font-family:'DM Mono',monospace;}
.cr-i-level{font-size:.65rem;font-weight:600;padding:.13rem .55rem;border-radius:2rem;
  font-family:'DM Mono',monospace;letter-spacing:.06em;}
.lv-ug  {background:#EFF6FF;color:#1D4ED8;}
.lv-pg  {background:#F0FDF4;color:#166534;}
.lv-phd {background:#FDF3E0;color:#92400E;}
.cr-i-tags{display:flex;gap:.3rem;margin-top:.35rem;flex-wrap:wrap;}
.cr-i-tag{font-size:.6rem;background:rgba(200,134,10,.1);color:var(--cu-gold);
  padding:.1rem .45rem;border-radius:2rem;font-family:'DM Mono',monospace;}
/* school colour pills */
.sc-law    {background:rgba(12,77,139,.1); color:var(--cu-blue);}
.sc-mgmt   {background:rgba(22,101,52,.1); color:#166534;}
.sc-comm   {background:rgba(146,64,14,.1); color:#92400E;}
.sc-human  {background:rgba(76,29,149,.1); color:#4C1D95;}
.sc-sci    {background:rgba(12,77,139,.1); color:var(--cu-blue);}
/* No results */
.cr-no-result{padding:2rem;text-align:center;color:var(--cu-text-3);}
.cr-no-result i{font-size:2rem;display:block;margin-bottom:.5rem;opacity:.35;}
/* Result count badge */
.cr-count{font-family:'DM Mono',monospace;font-size:.68rem;color:var(--cu-text-3);
  padding:.35rem 1.25rem;border-bottom:1px solid var(--cu-border);background:var(--cu-cream);}
/* Search hint chips */
.search-hints{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:.85rem;}
.sh-chip{font-size:.72rem;padding:.28rem .85rem;border-radius:2rem;border:1px solid var(--cu-border);
  color:var(--cu-text-2);cursor:pointer;transition:all .2s;background:#fff;}
.sh-chip:hover{border-color:var(--cu-blue);color:var(--cu-blue);background:var(--cu-blue-pale);}
.sh-chip i{font-size:.65rem;margin-right:.2rem;}
.lvl-btn{padding:.4rem 1rem;border-radius:2rem;font-size:.78rem;border:1.5px solid var(--cu-border);color:var(--cu-text-2);cursor:pointer;transition:all .2s;background:transparent;}
.lvl-btn.active,.lvl-btn:hover{background:var(--cu-blue);border-color:var(--cu-blue);color:#fff;}
.school-panel{display:none;}
.school-panel.active{display:block;}
.school-card{border:1px solid var(--cu-border);border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-sm);}
.school-header{display:flex;align-items:center;gap:1.5rem;padding:2rem 2.5rem;}
.school-icon-wrap{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;}
.school-hd-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:#fff;line-height:1.2;margin-bottom:.25rem;}
.school-hd-sub{font-size:.78rem;color:rgba(255,255,255,.6);}
.school-prog-count .num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--cu-gold-lt);line-height:1;}
.school-prog-count .lbl{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);font-family:'DM Mono',monospace;}
.dept-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;background:var(--cu-cream);border-bottom:1px solid var(--cu-border);border-top:1px solid var(--cu-border);}
.dept-name-label{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cu-blue);font-weight:500;}
.dept-level-badge{font-size:.65rem;background:var(--cu-blue-pale);color:var(--cu-blue);padding:.18rem .65rem;border-radius:2rem;}
.level-group{padding:1.5rem 2.5rem;border-bottom:1px solid var(--cu-border);}
.level-group:last-of-type{border-bottom:none;}
.level-label{display:inline-flex;align-items:center;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:.28rem .85rem;border-radius:2rem;margin-bottom:1.1rem;}
.ll-ug{background:#EFF6FF;color:#1D4ED8;}
.ll-pg{background:#F0FDF4;color:#166534;}
.ll-phd{background:var(--cu-gold-pale);color:#92400E;}
.course-row{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;border-radius:.6rem;border:1px solid transparent;transition:all .2s;cursor:pointer;}
.course-row:hover{background:var(--cu-blue-pale);border-color:rgba(12,77,139,.15);}
.cr-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.cr-ug{background:#3B82F6;}
.cr-pg{background:#22C55E;}
.cr-phd{background:var(--cu-gold);}
.cr-name{font-size:.88rem;font-weight:500;color:var(--cu-navy);line-height:1.4;}
.cr-tag{display:inline-block;font-size:.62rem;background:rgba(200,134,10,.12);color:var(--cu-gold);padding:.1rem .5rem;border-radius:2rem;margin-left:.4rem;vertical-align:middle;font-family:'DM Mono',monospace;letter-spacing:.08em;}
.cr-arrow{font-size:.75rem;color:var(--cu-text-3);margin-top:3px;transition:transform .2s;flex-shrink:0;}
.course-row:hover .cr-arrow{transform:translateX(3px);color:var(--cu-blue);}
.school-apply-strip{padding:1.5rem 2.5rem;border-top:1px solid var(--cu-border);}

/* WHY LAVASA */
.why-feat{display:flex;gap:1.1rem;align-items:flex-start;padding:1.2rem;border-radius:.75rem;background:#fff;border:1px solid var(--cu-border);transition:all .25s;}
.why-feat:hover{border-color:rgba(12,77,139,.2);box-shadow:var(--shadow-sm);transform:translateX(4px);}
.feat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.fi-blue{background:var(--cu-blue-pale);}
.fi-gold{background:var(--cu-gold-pale);}
.feat-title{font-size:.92rem;font-weight:600;color:var(--cu-navy);margin-bottom:.25rem;font-family:'DM Sans',sans-serif;}
.feat-desc{font-size:.8rem;color:var(--cu-text-2);line-height:1.6;margin:0;}
.why-img-ph{border-radius:1.25rem;overflow:hidden;}
.why-img-ph .ph-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;}
.ph-icon{font-size:3rem;opacity:.25;}
.ph-lbl{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;opacity:.3;color:#fff;}
.wv-overlay{padding:1rem 1.25rem;background:linear-gradient(to top,rgba(11,31,58,.85),transparent);}
.wv-overlay h5{font-family:'Cormorant Garamond',serif;font-size:1rem;color:#fff;margin:0;}
.wv-overlay small{font-size:.72rem;color:rgba(255,255,255,.6);}

/* STATS */
.stats-band{background:var(--cu-navy);padding:5rem 0;position:relative;overflow:hidden;}
.stats-band::before{content:'';position:absolute;top:-30%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(12,77,139,.3) 0%,transparent 70%);}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:600;color:var(--cu-gold-lt);line-height:1;}
.stat-title{font-size:.88rem;color:rgba(255,255,255,.85);font-weight:500;}
.stat-sub{font-size:.75rem;color:rgba(255,255,255,.4);}

/* BENTO */
.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:280px 220px;gap:1.25rem;}
/* ════════════════════════════════════════
   CAMPUS LIFE — ICON GRID
════════════════════════════════════════ */
#campusLife {
  background: linear-gradient(160deg, #EAF3FB 0%, #F5F8FF 50%, #EDF5F8 100%);
  position: relative; overflow: hidden;
}
#campusLife::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(12,77,139,0.06) 0%, transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(200,134,10,0.05) 0%, transparent 40%);
}
/* Diagonal decorative lines */
#campusLife::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.03;
  background-image: repeating-linear-gradient(
    -45deg, var(--cu-navy) 0px, var(--cu-navy) 1px, transparent 1px, transparent 60px
  );
}
/* Grid layout — 3 cols, last row centred */
.cl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  position: relative; z-index: 1;
}
@media (min-width: 992px) {
  .cl-grid { grid-template-columns: repeat(3, 1fr); }
  /* 9 cards = 3 perfect rows of 3 — no orphan, no centering needed */
}
@media (min-width: 1200px) {
  .cl-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575px) {
  .cl-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}
/* Card */
.cl-card {
  background: #fff;
  border: 1px solid rgba(12,77,139,0.09);
  border-radius: 1.35rem;
  padding: 2rem 1.5rem 1.5rem;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  cursor: pointer; transition: all 0.32s;
  position: relative; overflow: hidden;
  box-shadow: 0 2px 16px rgba(11,31,58,0.05);
}
.cl-card::before {
  content: ''; position: absolute; inset: 0; border-radius: 1.35rem;
  opacity: 0; transition: opacity 0.32s;
}
.cl-card:hover { transform: translateY(-7px); box-shadow: 0 18px 50px rgba(11,31,58,0.13); border-color: transparent; }
/* Colour variants — bg tint on hover */
.cl-card[data-color="blue"]::before   { background: linear-gradient(145deg,rgba(12,77,139,0.06),rgba(12,77,139,0.02)); }
.cl-card[data-color="gold"]::before   { background: linear-gradient(145deg,rgba(200,134,10,0.07),rgba(200,134,10,0.02)); }
.cl-card[data-color="teal"]::before   { background: linear-gradient(145deg,rgba(8,145,178,0.07),rgba(8,145,178,0.02)); }
.cl-card[data-color="navy"]::before   { background: linear-gradient(145deg,rgba(11,31,58,0.06),rgba(11,31,58,0.02)); }
.cl-card[data-color="purple"]::before { background: linear-gradient(145deg,rgba(124,58,237,0.07),rgba(124,58,237,0.02)); }
.cl-card[data-color="green"]::before  { background: linear-gradient(145deg,rgba(22,163,74,0.07),rgba(22,163,74,0.02)); }
.cl-card[data-color="orange"]::before { background: linear-gradient(145deg,rgba(234,88,12,0.07),rgba(234,88,12,0.02)); }
.cl-card:hover::before { opacity: 1; }
/* Icon circle */
.cl-icon-wrap {
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--cu-blue-pale);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.2rem; transition: all 0.32s; position: relative; z-index: 1;
  box-shadow: 0 4px 16px rgba(12,77,139,0.10);
}
.cl-card:hover .cl-icon-wrap { transform: scale(1.1); }
/* icon colour per variant */
.cl-card[data-color="blue"]   .cl-icon-wrap { background: rgba(12,77,139,0.10); color: var(--cu-blue); }
.cl-card[data-color="gold"]   .cl-icon-wrap { background: rgba(200,134,10,0.10); color: var(--cu-gold); }
.cl-card[data-color="teal"]   .cl-icon-wrap { background: rgba(8,145,178,0.10);  color: #0891B2; }
.cl-card[data-color="navy"]   .cl-icon-wrap { background: rgba(11,31,58,0.08);   color: var(--cu-navy); }
.cl-card[data-color="purple"] .cl-icon-wrap { background: rgba(124,58,237,0.10); color: #7C3AED; }
.cl-card[data-color="green"]  .cl-icon-wrap { background: rgba(22,163,74,0.10);  color: #16A34A; }
.cl-card[data-color="orange"] .cl-icon-wrap { background: rgba(234,88,12,0.10);  color: #EA580C; }
.cl-card:hover[data-color="blue"]   .cl-icon-wrap { background: var(--cu-blue);  color: #fff; box-shadow: 0 8px 28px rgba(12,77,139,0.35); }
.cl-card:hover[data-color="gold"]   .cl-icon-wrap { background: var(--cu-gold);  color: #fff; box-shadow: 0 8px 28px rgba(200,134,10,0.35); }
.cl-card:hover[data-color="teal"]   .cl-icon-wrap { background: #0891B2;         color: #fff; box-shadow: 0 8px 28px rgba(8,145,178,0.35); }
.cl-card:hover[data-color="navy"]   .cl-icon-wrap { background: var(--cu-navy);  color: #fff; box-shadow: 0 8px 28px rgba(11,31,58,0.35); }
.cl-card:hover[data-color="purple"] .cl-icon-wrap { background: #7C3AED;         color: #fff; box-shadow: 0 8px 28px rgba(124,58,237,0.35); }
.cl-card:hover[data-color="green"]  .cl-icon-wrap { background: #16A34A;         color: #fff; box-shadow: 0 8px 28px rgba(22,163,74,0.35); }
.cl-card:hover[data-color="orange"] .cl-icon-wrap { background: #EA580C;         color: #fff; box-shadow: 0 8px 28px rgba(234,88,12,0.35); }
.cl-icon { width: 28px; height: 28px; }
/* Label */
.cl-label {
  font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 600;
  color: var(--cu-navy); margin-bottom: 0.45rem; position: relative; z-index: 1;
  transition: color 0.25s;
}
/* Desc */
.cl-desc {
  font-size: 0.76rem; color: var(--cu-text-3); line-height: 1.55;
  position: relative; z-index: 1;
}
/* Arrow */
.cl-arrow {
  margin-top: 1.1rem; width: 30px; height: 30px; border-radius: 50%;
  border: 1.5px solid var(--cu-border); display: flex; align-items: center;
  justify-content: center; font-size: 0.75rem; color: var(--cu-text-3);
  transition: all 0.25s; position: relative; z-index: 1;
}
.cl-card:hover .cl-arrow { background: var(--cu-blue); border-color: var(--cu-blue); color: #fff; transform: translateX(3px); }


.bento-card{border-radius:1.25rem;overflow:hidden;position:relative;cursor:pointer;}
.bento-card.span-2{grid-column:span 2;grid-row:span 2;}
.bento-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;}
.bp1{background:linear-gradient(145deg,#0B2A50,#1460A8,#0D3B6E);}
.bp2{background:linear-gradient(145deg,#3A1A0B,#8A3F05,#C8700A);}
.bp3{background:linear-gradient(145deg,#0A1E10,#145C22,#1A7030);}
.bp4{background:linear-gradient(145deg,#1A0B3A,#3A1A6B,#5A2A90);}
.bp5{background:linear-gradient(145deg,#0B1F3A,#1A3050,#0C4D8B);}
.bento-ph-icon{font-size:3rem;opacity:.18;}
.bento-card.span-2 .bento-ph-icon{font-size:5rem;}
.bento-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,31,58,.88) 0%,rgba(11,31,58,.1) 60%,transparent 100%);}
.bento-hover{position:absolute;inset:0;background:rgba(12,77,139,.15);opacity:0;transition:opacity .3s;z-index:1;}
.bento-card:hover .bento-hover{opacity:1;}
.bento-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;z-index:2;}
.bento-info h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:#fff;margin-bottom:.25rem;}
.bento-card.span-2 .bento-info h4{font-size:1.9rem;}
.bento-info p{font-size:.75rem;color:rgba(255,255,255,.6);margin:0;}
.bento-tag{display:inline-block;background:var(--cu-gold);color:var(--cu-navy);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .6rem;border-radius:2rem;margin-bottom:.5rem;}

/* PANORAMIC GALLERY */
#gallery{background:#0B1F3A;position:relative;overflow:hidden;}
#gallery::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 20% 50%,rgba(200,134,10,.06) 0%,transparent 50%),
  radial-gradient(circle at 80% 50%,rgba(12,77,139,.1) 0%,transparent 50%);}

/* ── 9-photo bento grid ── */
#galGrid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.4fr;
  grid-template-rows:260px 200px 200px;
  gap:10px;
}
/* Row 1: tall left | wide center | normal right */
#galGrid .gal-item:nth-child(1){grid-column:1;   grid-row:1/3;}
#galGrid .gal-item:nth-child(2){grid-column:2/4; grid-row:1;}
#galGrid .gal-item:nth-child(3){grid-column:4;   grid-row:1;}
/* Row 2: fills under wide + right */
#galGrid .gal-item:nth-child(4){grid-column:2;   grid-row:2;}
#galGrid .gal-item:nth-child(5){grid-column:3;   grid-row:2;}
#galGrid .gal-item:nth-child(6){grid-column:4;   grid-row:2;}
/* Row 3: wide left | normal | normal */
#galGrid .gal-item:nth-child(7){grid-column:1/3; grid-row:3;}
#galGrid .gal-item:nth-child(8){grid-column:3;   grid-row:3;}
#galGrid .gal-item:nth-child(9){grid-column:4;   grid-row:3;}

.gal-item{position:relative;border-radius:.85rem;overflow:hidden;cursor:pointer;}
.gal-item img{width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;transition:transform .5s ease;}
.gal-item:hover img{transform:scale(1.07);}

/* Overlay */
.gal-overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,31,58,.82) 0%,transparent 55%);
  opacity:0;transition:opacity .3s;display:flex;flex-direction:column;
  justify-content:flex-end;padding:.85rem 1rem;}
.gal-item:hover .gal-overlay{opacity:1;}
.gal-overlay-cat{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cu-gold-lt);margin-bottom:.2rem;}
.gal-overlay-title{font-size:.78rem;font-weight:600;color:#fff;line-height:1.3;}
.gal-overlay-zoom{position:absolute;top:.65rem;right:.65rem;width:30px;height:30px;
  border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:.7rem;backdrop-filter:blur(4px);}

/* Responsive */
@media(max-width:991px){
  #galGrid{
    grid-template-columns:1fr 1fr 1fr;
    grid-template-rows:repeat(4,160px);
  }
  #galGrid .gal-item{grid-column:auto!important;grid-row:auto!important;}
  #galGrid .gal-item:nth-child(1),
  #galGrid .gal-item:nth-child(7){grid-column:span 2!important;}
}
@media(max-width:575px){
  #galGrid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,140px);}
  #galGrid .gal-item:nth-child(1),
  #galGrid .gal-item:nth-child(7){grid-column:span 2!important;}
}
/* Lightbox */
#galLightbox{position:fixed;inset:0;background:rgba(5,10,20,.96);z-index:2000;
  display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px);}
#galLightbox.open{display:flex;}
.lb-wrap{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;}
.lb-img{max-width:80vw;max-height:85vh;border-radius:.75rem;object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lb-close{position:fixed;top:1.25rem;right:1.25rem;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);
  color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1rem;transition:all .2s;z-index:2001;}
.lb-close:hover{background:rgba(255,255,255,.2);}
.lb-arrow{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;
  justify-content:center;cursor:pointer;font-size:1rem;transition:all .22s;flex-shrink:0;}
.lb-arrow:hover{background:var(--cu-gold);border-color:var(--cu-gold);color:var(--cu-navy);}
.lb-caption{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  text-align:center;color:rgba(255,255,255,.7);font-size:.8rem;
  font-family:'DM Mono',monospace;letter-spacing:.08em;}
/* Loading state */
.gal-loading{display:flex;align-items:center;justify-content:center;
  min-height:300px;color:rgba(255,255,255,.4);flex-direction:column;gap:1rem;}
.gal-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);
  border-top-color:var(--cu-gold);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
/* API key notice */
.gal-api-notice{background:rgba(200,134,10,.1);border:1px solid rgba(200,134,10,.2);
  border-radius:.75rem;padding:1rem 1.25rem;font-size:.78rem;color:rgba(255,255,255,.6);
  display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;}
.gal-api-notice i{color:var(--cu-gold-lt);font-size:1rem;flex-shrink:0;margin-top:.1rem;}
.gal-api-notice code{background:rgba(255,255,255,.08);padding:.1rem .45rem;
  border-radius:.3rem;font-size:.72rem;color:var(--cu-gold-lt);}

/* TESTIMONIALS */
.testi-card{border:1px solid var(--cu-border);border-radius:1.25rem;padding:1.75rem;transition:all .3s;background:#fff;}
.testi-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.testi-card.featured{background:var(--cu-navy);border-color:var(--cu-navy);}
.t-stars{color:var(--cu-gold);font-size:.82rem;letter-spacing:.1em;}
.t-quote{font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.65;color:var(--cu-navy);}
.testi-card.featured .t-quote{color:#fff;font-size:1.2rem;}
.t-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;flex-shrink:0;}
.ta-blue{background:linear-gradient(135deg,var(--cu-blue),var(--cu-blue-lt));}
.ta-gold{background:linear-gradient(135deg,var(--cu-gold),var(--cu-gold-lt));}
.ta-navy{background:linear-gradient(135deg,#1A3A5A,#2A5A8A);}
.t-name{font-size:.85rem;font-weight:600;color:var(--cu-navy);}
.testi-card.featured .t-name{color:#fff;}
.t-role{font-size:.72rem;color:var(--cu-text-3);}
.testi-card.featured .t-role{color:rgba(255,255,255,.5);}
.big-quote{font-family:'Cormorant Garamond',serif;font-size:6rem;color:var(--cu-gold);line-height:.8;opacity:.4;}

/* ADMISSIONS */
.admissions-section{background:linear-gradient(135deg,var(--cu-navy) 0%,var(--cu-blue) 100%);position:relative;overflow:hidden;}
.admissions-section::before{content:'';position:absolute;top:-50%;right:-15%;width:700px;height:700px;background:radial-gradient(circle,rgba(200,134,10,.1) 0%,transparent 65%);}
.step-num{width:36px;height:36px;border-radius:50%;background:rgba(200,134,10,.2);border:1px solid rgba(200,134,10,.35);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:var(--cu-gold-lt);flex-shrink:0;}
.adm-steps-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;backdrop-filter:blur(8px);padding:2rem;}
.adm-step-title{font-size:.88rem;font-weight:600;color:#fff;font-family:'DM Sans',sans-serif;}
.adm-step-sub{font-size:.78rem;color:rgba(255,255,255,.5);}

/* FACULTY */
.fac-card{border:1px solid var(--cu-border);border-radius:1.25rem;overflow:hidden;transition:all .3s;}
.fac-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.fac-photo{height:200px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.fp1{background:linear-gradient(145deg,#0B2A50,#1460A8);}
.fp2{background:linear-gradient(145deg,#0A1E10,#1A5C28);}
.fp3{background:linear-gradient(145deg,#2A1A0A,#7A4A15);}
.fp4{background:linear-gradient(145deg,#1A0B30,#4A2A70);}
.fac-dept{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cu-gold);}
.fac-desc{font-size:.78rem;color:var(--cu-text-2);line-height:1.55;}

/* ACHIEVEMENTS */
#achievements{background:linear-gradient(160deg,#f4f7fb 0%,#fafcff 60%,#f0f5fb 100%);position:relative;overflow:hidden;}
#achievements::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 80% 20%,rgba(12,77,139,.05) 0%,transparent 45%),
  radial-gradient(circle at 10% 80%,rgba(200,134,10,.04) 0%,transparent 40%);}
/* Tab buttons */
.ach-tab{padding:.6rem 1.8rem;border-radius:.5rem;font-size:.88rem;font-weight:600;border:none;cursor:pointer;transition:all .22s;background:transparent;color:var(--cu-text-2);}
.ach-tab.active[data-cat="faculty"]{background:var(--cu-gold);color:#fff;box-shadow:0 4px 16px rgba(200,134,10,.35);}
.ach-tab.active[data-cat="student"]{background:var(--cu-blue);color:#fff;box-shadow:0 4px 16px rgba(12,77,139,.3);}
.ach-tab.active[data-cat="university"]{background:var(--cu-navy);color:#fff;box-shadow:0 4px 16px rgba(11,31,58,.3);}
.ach-tab:not(.active):hover{background:rgba(12,77,139,.07);color:var(--cu-navy);}
/* Panel */
.ach-panel{display:none;}
.ach-panel.active{display:block;}
/* Achievement card */
.ach-card{background:#fff;border-radius:1.25rem;border:1.5px solid transparent;overflow:hidden;transition:all .32s;box-shadow:0 3px 18px rgba(11,31,58,.07);}
.ach-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(11,31,58,.12);}
.ach-card[data-accent="gold"]{border-color:rgba(200,134,10,.25);}
.ach-card[data-accent="blue"]{border-color:rgba(12,77,139,.18);}
.ach-card[data-accent="navy"]{border-color:rgba(11,31,58,.15);}
/* Card image panel */
.ach-img{width:260px;min-width:260px;position:relative;overflow:hidden;flex-shrink:0;}
.ach-img-ph{width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.ach-img img{width:100%;height:100%;object-fit:cover;}
/* Card accent bar */
.ach-accent-bar{position:absolute;top:0;left:0;right:0;height:4px;}
[data-accent="gold"] .ach-accent-bar{background:linear-gradient(90deg,var(--cu-gold),var(--cu-gold-lt));}
[data-accent="blue"] .ach-accent-bar{background:linear-gradient(90deg,var(--cu-blue),var(--cu-blue-lt));}
[data-accent="navy"] .ach-accent-bar{background:linear-gradient(90deg,var(--cu-navy),#1A4070);}
/* Card body */
.ach-body{padding:2rem 2.2rem;display:flex;flex-direction:column;justify-content:center;}
.ach-category{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.6rem;}
[data-accent="gold"] .ach-category{color:var(--cu-gold);}
[data-accent="blue"] .ach-category{color:var(--cu-blue);}
[data-accent="navy"] .ach-category{color:var(--cu-navy);}
.ach-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--cu-navy);line-height:1.3;margin-bottom:.75rem;}
.ach-desc{font-size:.86rem;color:var(--cu-text-2);line-height:1.75;margin-bottom:1.2rem;}
.ach-person{display:flex;align-items:center;gap:.75rem;}
.ach-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
[data-accent="gold"] .ach-avatar{background:rgba(200,134,10,.12);}
[data-accent="blue"] .ach-avatar{background:rgba(12,77,139,.1);}
[data-accent="navy"] .ach-avatar{background:rgba(11,31,58,.08);}
.ach-person-name{font-size:.85rem;font-weight:600;color:var(--cu-navy);}
.ach-person-dept{font-size:.72rem;color:var(--cu-text-3);font-family:'DM Mono',monospace;}
/* Carousel nav */
.ach-nav{display:flex;align-items:center;gap:.75rem;}
.ach-arrow{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--cu-border);background:#fff;color:var(--cu-navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 10px rgba(11,31,58,.07);}
.ach-arrow:hover{background:var(--cu-blue);border-color:var(--cu-blue);color:#fff;}
.ach-arrow:disabled{opacity:.3;cursor:default;}
.ach-counter{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--cu-text-3);min-width:48px;text-align:center;}
.ach-dots{display:flex;gap:.4rem;align-items:center;}
.ach-dot{width:7px;height:7px;border-radius:50%;background:rgba(12,77,139,.18);border:none;padding:0;cursor:pointer;transition:all .28s;}
.ach-dot.active{width:22px;border-radius:3.5px;background:var(--cu-blue);}
@media(max-width:767px){.ach-img{display:none;}}

/* ALUMNI */
#proudAlumni{background:linear-gradient(155deg,#0B1F3A 0%,#0f2d52 40%,#0C4D8B 100%);position:relative;overflow:hidden;}
#proudAlumni::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 80% 50%,rgba(200,134,10,.12) 0%,transparent 50%),
  radial-gradient(circle at 5% 80%,rgba(255,255,255,.04) 0%,transparent 40%);}
/* Decorative large quote */
#proudAlumni .deco-quote{position:absolute;top:-1rem;left:3%;font-family:'Cormorant Garamond',serif;
  font-size:18rem;line-height:1;color:rgba(255,255,255,.03);pointer-events:none;font-weight:700;user-select:none;}
/* Alumni card */
.alumni-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:1.35rem;overflow:hidden;display:flex;transition:all .35s;
  backdrop-filter:blur(6px);flex-shrink:0;cursor:pointer;}
.alumni-card:hover{background:rgba(255,255,255,.1);border-color:rgba(200,134,10,.4);
  transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.3);}
/* Photo side */
.alumni-photo{width:180px;min-width:180px;position:relative;overflow:hidden;flex-shrink:0;}
.alumni-photo-ph{width:100%;height:100%;min-height:220px;display:flex;align-items:center;
  justify-content:center;font-size:5rem;}
.alumni-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
/* Gold top-border reveal on hover */
.alumni-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--cu-gold),var(--cu-gold-lt));
  transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.alumni-card:hover::before{transform:scaleX(1);}
/* Info side */
.alumni-info{padding:1.75rem 1.8rem;display:flex;flex-direction:column;justify-content:center;position:relative;}
.alumni-badge{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Mono',monospace;
  font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cu-gold-lt);
  margin-bottom:.75rem;padding:.22rem .75rem;background:rgba(200,134,10,.15);
  border:1px solid rgba(200,134,10,.25);border-radius:2rem;width:fit-content;}
.alumni-name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;
  color:#fff;line-height:1.2;margin-bottom:.5rem;}
.alumni-role{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:.2rem;}
.alumni-org{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:.2rem;}
.alumni-location{font-size:.75rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.35rem;
  font-family:'DM Mono',monospace;margin-bottom:1rem;}
.alumni-programme{display:inline-flex;align-items:center;font-size:.67rem;
  background:rgba(12,77,139,.35);color:rgba(255,255,255,.65);
  padding:.18rem .7rem;border-radius:2rem;font-family:'DM Mono',monospace;
  letter-spacing:.08em;border:1px solid rgba(12,77,139,.5);}
/* Quote bubble */
.alumni-quote{font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-style:italic;
  color:rgba(255,255,255,.55);line-height:1.65;margin-top:.85rem;padding-top:.85rem;
  border-top:1px solid rgba(255,255,255,.08);}
/* Slider / track */
.alumni-track-wrap{overflow:hidden;}
.alumni-track{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
  transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
@media(max-width:991px){.alumni-track{grid-template-columns:1fr;}}
@media(max-width:767px){.alumni-photo{display:none;}}
/* Nav */
.alumni-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);display:flex;align-items:center;
  justify-content:center;cursor:pointer;transition:all .22s;backdrop-filter:blur(6px);}
.alumni-arrow:hover{background:var(--cu-gold);border-color:var(--cu-gold);color:var(--cu-navy);}
.alumni-arrow:disabled{opacity:.25;cursor:default;}
.alumni-dots{display:flex;gap:.45rem;align-items:center;}
.alumni-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2);
  border:none;padding:0;cursor:pointer;transition:all .28s;}
.alumni-dot.active{background:var(--cu-gold);width:24px;border-radius:3.5px;}
/* Stats strip */
.alumni-stat-strip{border-top:1px solid rgba(255,255,255,.07);margin-top:3.5rem;padding-top:2rem;}
.alumni-stat-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:600;
  color:var(--cu-gold-lt);line-height:1;}
.alumni-stat-lbl{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:.2rem;}

/* EMINENT VISITORS */
#eminentVisitors{background:linear-gradient(135deg,#EAF6FB 0%,#F0F8FF 40%,#E8F4F8 100%);position:relative;overflow:hidden;}
#eminentVisitors::before{content:'';position:absolute;top:-60%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(12,77,139,.07) 0%,transparent 70%);pointer-events:none;}
.visitor-card{border-radius:1.25rem;overflow:hidden;background:#fff;border:1px solid rgba(12,77,139,.08);box-shadow:0 4px 20px rgba(11,31,58,.07);transition:all .35s;flex-shrink:0;width:220px;}
.visitor-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(11,31,58,.14);}
.visitor-photo-ph{width:100%;height:200px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;}
.visitor-info{padding:1.2rem 1.3rem 1.35rem;position:relative;}
.visitor-info::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;}
.vc-blue .visitor-info::before{background:var(--cu-blue);}
.vc-gold .visitor-info::before{background:var(--cu-gold);}
.vc-navy .visitor-info::before{background:var(--cu-navy);}
.vc-teal .visitor-info::before{background:#0891B2;}
.vc-green .visitor-info::before{background:#16A34A;}
.vc-purple .visitor-info::before{background:#7C3AED;}
.vc-blue .visitor-name{color:var(--cu-blue);}
.vc-gold .visitor-name{color:var(--cu-gold);}
.vc-navy .visitor-name{color:var(--cu-navy);}
.vc-teal .visitor-name{color:#0891B2;}
.vc-green .visitor-name{color:#16A34A;}
.vc-purple .visitor-name{color:#7C3AED;}
.vc-blue .visitor-photo-ph{background:rgba(12,77,139,.07);}
.vc-gold .visitor-photo-ph{background:rgba(200,134,10,.08);}
.vc-navy .visitor-photo-ph{background:rgba(11,31,58,.06);}
.vc-teal .visitor-photo-ph{background:rgba(8,145,178,.07);}
.vc-green .visitor-photo-ph{background:rgba(22,163,74,.07);}
.vc-purple .visitor-photo-ph{background:rgba(124,58,237,.07);}
.visitor-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;line-height:1.25;margin-bottom:.4rem;}
.visitor-role{font-size:.78rem;color:var(--cu-text-2);line-height:1.5;}
.visitor-org{font-size:.68rem;color:var(--cu-text-3);margin-top:.2rem;font-family:'DM Mono',monospace;letter-spacing:.05em;}
.ev-track-wrap{overflow:hidden;}
.ev-track{display:flex;gap:1.25rem;transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ev-arrow{width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--cu-border);color:var(--cu-navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 12px rgba(11,31,58,.08);}
.ev-arrow:hover{background:var(--cu-blue);border-color:var(--cu-blue);color:#fff;}
.ev-arrow:disabled{opacity:.35;cursor:default;}
.ev-dots{display:flex;gap:.4rem;align-items:center;}
.ev-dot{width:7px;height:7px;border-radius:50%;background:rgba(12,77,139,.2);cursor:pointer;transition:all .3s;border:none;padding:0;}
.ev-dot.active{background:var(--cu-blue);width:22px;border-radius:3.5px;}

/* UPCOMING EVENTS */
#upcomingEvents{background:#fff;position:relative;overflow:hidden;}
#upcomingEvents::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 95% 10%,rgba(12,77,139,.04) 0%,transparent 45%),
  radial-gradient(circle at 5% 90%,rgba(200,134,10,.03) 0%,transparent 40%);}
/* Filter tabs */
.ev-filter-tab{padding:.55rem 1.5rem;border-radius:2rem;font-size:.82rem;font-weight:600;
  border:1.5px solid var(--cu-border);color:var(--cu-text-2);background:transparent;
  cursor:pointer;transition:all .22s;white-space:nowrap;}
.ev-filter-tab:hover{border-color:var(--cu-blue);color:var(--cu-blue);}
.ev-filter-tab.active{background:var(--cu-navy);border-color:var(--cu-navy);color:#fff;
  box-shadow:0 4px 16px rgba(11,31,58,.2);}
/* Event card */
.event-card{background:#fff;border:1px solid var(--cu-border);border-radius:1.2rem;
  overflow:hidden;transition:all .3s;display:flex;gap:0;position:relative;}
.event-card:hover{box-shadow:0 12px 40px rgba(11,31,58,.1);transform:translateY(-4px);border-color:transparent;}
/* Left date block */
.event-date-block{width:90px;min-width:90px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:1.5rem .5rem;flex-shrink:0;position:relative;}
.event-date-block::after{content:'';position:absolute;right:0;top:15%;bottom:15%;
  width:1px;background:var(--cu-border);}
.ev-day{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:700;
  line-height:1;color:var(--cu-navy);}
.ev-month{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cu-text-3);margin-top:.1rem;}
.ev-weekday{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.12em;
  text-transform:uppercase;margin-top:.35rem;padding:.15rem .55rem;border-radius:2rem;}
/* colour themes */
.ec-today   .event-date-block{background:linear-gradient(160deg,#FFF7E6,#FFFBF2);}
.ec-today   .ev-day{color:var(--cu-gold);}
.ec-today   .ev-weekday{background:rgba(200,134,10,.12);color:var(--cu-gold);}
.ec-week    .event-date-block{background:linear-gradient(160deg,#EEF4FF,#F5F8FF);}
.ec-week    .ev-day{color:var(--cu-blue);}
.ec-week    .ev-weekday{background:rgba(12,77,139,.1);color:var(--cu-blue);}
.ec-month   .event-date-block{background:linear-gradient(160deg,#EFF9F4,#F5FDF8);}
.ec-month   .ev-day{color:#059669;}
.ec-month   .ev-weekday{background:rgba(5,150,105,.1);color:#059669;}
/* Card body */
.event-body{padding:1.35rem 1.5rem;flex:1;display:flex;flex-direction:column;justify-content:center;}
.event-cat-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem;flex-wrap:wrap;}
.event-cat{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;padding:.2rem .65rem;border-radius:2rem;}
.ec-today  .event-cat{background:rgba(200,134,10,.1);color:var(--cu-gold);}
.ec-week   .event-cat{background:rgba(12,77,139,.09);color:var(--cu-blue);}
.ec-month  .event-cat{background:rgba(5,150,105,.1);color:#059669;}
.event-urgency{font-size:.65rem;font-weight:700;padding:.15rem .6rem;border-radius:2rem;}
.urgency-today{background:#FEF3C7;color:#D97706;}
.urgency-week {background:#DBEAFE;color:#1D4ED8;}
.urgency-month{background:#D1FAE5;color:#065F46;}
.event-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;
  color:var(--cu-navy);line-height:1.3;margin-bottom:.4rem;}
.event-meta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:.5rem;}
.event-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--cu-text-3);}
.event-meta-item i{font-size:.78rem;}
.event-desc{font-size:.8rem;color:var(--cu-text-2);line-height:1.65;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* Right action */
.event-action{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:1.25rem 1.5rem 1.25rem .5rem;gap:.75rem;flex-shrink:0;}
.event-register-btn{text-decoration:none;font-size:.75rem;font-weight:600;padding:.5rem 1.1rem;border-radius:2rem;
  border:none;cursor:pointer;transition:all .22s;white-space:nowrap;}
.ec-today  .event-register-btn{background:var(--cu-gold);color:#fff;}
.ec-today  .event-register-btn:hover{background:var(--cu-gold-lt);}
.ec-week   .event-register-btn{background:var(--cu-blue);color:#fff;}
.ec-week   .event-register-btn:hover{background:var(--cu-navy);}
.ec-month  .event-register-btn{background:#059669;color:#fff;}
.ec-month  .event-register-btn:hover{background:#047857;}
.event-save-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--cu-border);
  background:transparent;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;color:var(--cu-text-3);}
.event-save-btn:hover{border-color:#4285F4;color:#4285F4;background:rgba(66,133,244,.08);}
.event-save-btn i{font-size:.85rem;}
/* Timeline left line */
.events-list{display:flex;flex-direction:column;gap:1rem;position:relative;}
.events-list::before{content:'';position:absolute;left:44px;top:0;bottom:0;
  width:2px;background:linear-gradient(to bottom,var(--cu-border),transparent);z-index:0;}
/* Empty state */
.events-empty{text-align:center;padding:4rem 2rem;color:var(--cu-text-3);}
.events-empty i{font-size:3rem;margin-bottom:1rem;display:block;opacity:.3;}
/* Sticky date label */
.ev-date-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cu-text-3);padding:.3rem .8rem;
  background:var(--cu-cream);border-radius:2rem;border:1px solid var(--cu-border);
  display:inline-flex;align-items:center;gap:.4rem;width:fit-content;margin-bottom:.5rem;}
/* Count badge */
.ev-count-badge{display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;font-size:.65rem;font-weight:700;
  background:var(--cu-blue);color:#fff;margin-left:.4rem;}
@media(max-width:575px){
  .event-action{display:none;}
  .event-date-block{width:70px;min-width:70px;}
  .ev-day{font-size:2rem;}
}

/* NEWS */
.news-card{border:1px solid var(--cu-border);border-radius:1.25rem;overflow:hidden;transition:all .3s;background:#fff;}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.news-img-main{height:260px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.news-cat{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cu-gold);}
.news-date{font-size:.75rem;color:var(--cu-text-3);}
.news-sm-card{border:1px solid var(--cu-border);border-radius:.75rem;overflow:hidden;transition:all .3s;background:#fff;display:flex;}
.news-sm-card:hover{box-shadow:var(--shadow-sm);border-color:rgba(12,77,139,.15);}
.news-img-sm{width:90px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:2rem;}

/* RECOGNITIONS & ACCREDITATIONS */
#recognitions{background:linear-gradient(160deg,#FAFBFF 0%,#F4F7FB 50%,#FAFBFF 100%);position:relative;overflow:hidden;}
#recognitions::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 20% 50%,rgba(12,77,139,.04) 0%,transparent 45%),
  radial-gradient(circle at 80% 50%,rgba(200,134,10,.03) 0%,transparent 45%);}
/* Scrolling marquee row */
.rec-marquee-wrap{overflow:hidden;position:relative;}
.rec-marquee-wrap::before,.rec-marquee-wrap::after{content:'';position:absolute;top:0;bottom:0;
  width:120px;z-index:2;pointer-events:none;}
.rec-marquee-wrap::before{left:0;background:linear-gradient(to right,#FAFBFF,transparent);}
.rec-marquee-wrap::after{right:0;background:linear-gradient(to left,#FAFBFF,transparent);}
.rec-marquee-track{display:flex;gap:1.5rem;animation:recMarquee 35s linear infinite;width:max-content;}
.rec-marquee-track:hover{animation-play-state:paused;}
@keyframes recMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Recognition card */
.rec-card{background:#fff;border:1px solid var(--cu-border);border-radius:1.1rem;
  padding:1.5rem 1.75rem 1.35rem;display:flex;flex-direction:column;align-items:center;
  text-align:center;transition:all .32s;cursor:pointer;flex-shrink:0;width:200px;
  box-shadow:0 2px 12px rgba(11,31,58,.05);position:relative;overflow:hidden;}
.rec-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  transform:scaleX(0);transform-origin:left;transition:transform .32s;}
.rec-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(11,31,58,.12);
  border-color:transparent;}
.rec-card:hover::before{transform:scaleX(1);}
/* colour variants */
.rc-gold::before{background:linear-gradient(90deg,var(--cu-gold),var(--cu-gold-lt));}
.rc-blue::before{background:linear-gradient(90deg,var(--cu-blue),var(--cu-blue-lt));}
.rc-navy::before{background:linear-gradient(90deg,var(--cu-navy),#1A4070);}
.rc-teal::before{background:linear-gradient(90deg,#0891B2,#06B6D4);}
.rc-green::before{background:linear-gradient(90deg,#059669,#10B981);}
.rc-purple::before{background:linear-gradient(90deg,#7C3AED,#8B5CF6);}
.rc-red::before{background:linear-gradient(90deg,#DC2626,#EF4444);}
/* Logo box */
.rec-logo-box{width:80px;height:80px;border-radius:.85rem;display:flex;align-items:center;
  justify-content:center;margin-bottom:1rem;font-size:2rem;transition:all .32s;
  border:1px solid rgba(0,0,0,.06);}
.rc-gold   .rec-logo-box{background:rgba(200,134,10,.09);}
.rc-blue   .rec-logo-box{background:rgba(12,77,139,.08);}
.rc-navy   .rec-logo-box{background:rgba(11,31,58,.07);}
.rc-teal   .rec-logo-box{background:rgba(8,145,178,.08);}
.rc-green  .rec-logo-box{background:rgba(5,150,105,.08);}
.rc-purple .rec-logo-box{background:rgba(124,58,237,.08);}
.rc-red    .rec-logo-box{background:rgba(220,38,38,.07);}
.rec-card:hover .rec-logo-box{transform:scale(1.08);}
.rc-gold:hover   .rec-logo-box{background:rgba(200,134,10,.15);}
.rc-blue:hover   .rec-logo-box{background:rgba(12,77,139,.13);}
.rc-navy:hover   .rec-logo-box{background:rgba(11,31,58,.1);}
.rc-teal:hover   .rec-logo-box{background:rgba(8,145,178,.13);}
.rc-green:hover  .rec-logo-box{background:rgba(5,150,105,.13);}
.rc-purple:hover .rec-logo-box{background:rgba(124,58,237,.13);}
.rc-red:hover    .rec-logo-box{background:rgba(220,38,38,.12);}
/* Logo text inside box */
.rec-logo-text{font-family:'DM Mono',monospace;font-weight:700;font-size:.72rem;
  letter-spacing:.06em;text-align:center;line-height:1.3;}
.rc-gold   .rec-logo-text{color:var(--cu-gold);}
.rc-blue   .rec-logo-text{color:var(--cu-blue);}
.rc-navy   .rec-logo-text{color:var(--cu-navy);}
.rc-teal   .rec-logo-text{color:#0891B2;}
.rc-green  .rec-logo-text{color:#059669;}
.rc-purple .rec-logo-text{color:#7C3AED;}
.rc-red    .rec-logo-text{color:#DC2626;}
/* Card text */
.rec-name{font-size:.82rem;font-weight:600;color:var(--cu-navy);line-height:1.35;margin-bottom:.25rem;}
.rec-year{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--cu-text-3);
  letter-spacing:.1em;text-transform:uppercase;}
/* Category filter pills */
.rec-filter{padding:.42rem 1.1rem;border-radius:2rem;font-size:.78rem;font-weight:500;
  border:1.5px solid var(--cu-border);color:var(--cu-text-2);background:transparent;
  cursor:pointer;transition:all .2s;white-space:nowrap;}
.rec-filter:hover{border-color:var(--cu-blue);color:var(--cu-blue);}
.rec-filter.active{background:var(--cu-navy);border-color:var(--cu-navy);color:#fff;}
/* Grid view (all) */
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem;}
.rec-card.hidden{display:none;}

/* NEWS & MEDIA */
#newsMedia{background:var(--cu-cream);}
/* Tab buttons */
.nm-tab{padding:.52rem 1.3rem;border-radius:.6rem;font-size:.8rem;font-weight:600;
  border:1.5px solid var(--cu-border);color:var(--cu-text-2);background:#fff;
  cursor:pointer;transition:all .22s;white-space:nowrap;}
.nm-tab:hover{border-color:var(--cu-blue);color:var(--cu-blue);}
.nm-tab.active{background:var(--cu-navy);border-color:var(--cu-navy);color:#fff;
  box-shadow:0 4px 14px rgba(11,31,58,.18);}
/* Story card (side news) */
.nm-story-card{display:flex;align-items:center;gap:1rem;background:#fff;
  border:1px solid var(--cu-border);border-radius:.9rem;padding:.9rem 1.1rem;
  transition:all .28s;cursor:pointer;flex:1;}
.nm-story-card:hover{border-color:var(--cu-blue);box-shadow:0 6px 24px rgba(11,31,58,.09);
  transform:translateX(4px);}
.nm-story-icon{width:46px;height:46px;border-radius:.65rem;display:flex;align-items:center;
  justify-content:center;font-size:1.4rem;flex-shrink:0;}
.nm-story-body{flex:1;min-width:0;}
.nm-story-title{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:600;
  color:var(--cu-navy);line-height:1.35;margin-bottom:.2rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.nm-story-meta{font-size:.68rem;color:var(--cu-text-3);font-family:'DM Mono',monospace;}
.nm-story-arrow{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--cu-border);
  display:flex;align-items:center;justify-content:center;color:var(--cu-text-3);
  flex-shrink:0;transition:all .22s;text-decoration:none;}
.nm-story-card:hover .nm-story-arrow{background:var(--cu-blue);border-color:var(--cu-blue);color:#fff;}
/* Publications */
.pub-card{background:#fff;border:1px solid var(--cu-border);border-radius:1.1rem;
  overflow:hidden;transition:all .3s;}
.pub-card:hover{transform:translateY(-6px);box-shadow:0 16px 44px rgba(11,31,58,.12);}
.pub-cover{height:180px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;position:relative;}
.pub-cover-icon{font-size:3.5rem;}
.pub-issue-badge{position:absolute;bottom:.75rem;right:.75rem;font-family:'DM Mono',monospace;
  font-size:.6rem;background:rgba(255,255,255,.2);color:#fff;
  padding:.18rem .65rem;border-radius:2rem;letter-spacing:.1em;
  border:1px solid rgba(255,255,255,.25);}
.pub-body{padding:1.25rem 1.35rem 1.4rem;}
.pub-type{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cu-gold);margin-bottom:.4rem;}
.pub-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;
  color:var(--cu-navy);margin-bottom:.5rem;line-height:1.3;}
.pub-desc{font-size:.78rem;color:var(--cu-text-2);line-height:1.65;margin-bottom:1rem;}
.pub-dl-btn{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;
  color:var(--cu-blue);text-decoration:none;transition:color .2s;}
.pub-dl-btn:hover{color:var(--cu-navy);}
/* Media coverage */
.media-card{background:#fff;border:1px solid var(--cu-border);border-radius:1rem;
  overflow:hidden;transition:all .28s;display:flex;flex-direction:column;}
.media-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(11,31,58,.1);
  border-color:transparent;}
.media-outlet-bar{display:flex;align-items:center;justify-content:space-between;
  padding:.75rem 1.1rem;border-bottom:1px solid var(--cu-border);}
.media-outlet-name{font-weight:700;font-size:.82rem;}
.media-date{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--cu-text-3);}
.media-body{padding:1rem 1.1rem;flex:1;}
.media-headline{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;
  color:var(--cu-navy);line-height:1.35;margin-bottom:.5rem;}
.media-excerpt{font-size:.75rem;color:var(--cu-text-2);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.media-read-link{display:block;padding:.65rem 1.1rem;font-size:.75rem;font-weight:600;
  color:var(--cu-blue);text-decoration:none;border-top:1px solid var(--cu-border);
  transition:all .2s;}
.media-read-link:hover{background:var(--cu-blue-pale);color:var(--cu-navy);}

/* STUDENT RESOURCES BAR */
#resourcesBar{background:var(--cu-navy);border-top:1px solid rgba(255,255,255,.07);}
.res-bar-inner{display:flex;align-items:stretch;flex-wrap:wrap;}
.res-bar-label{display:flex;align-items:center;padding:1.35rem 1.75rem 1.35rem 0;
  font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.4);white-space:nowrap;border-right:1px solid rgba(255,255,255,.08);
  margin-right:1.25rem;flex-shrink:0;}
.res-bar-links{display:flex;align-items:stretch;flex-wrap:wrap;flex:1;gap:0;}
.res-link{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.5rem;
  text-decoration:none;transition:all .22s;flex:1;min-width:130px;}
.res-link:hover{background:rgba(255,255,255,.07);}
.res-link-icon{width:34px;height:34px;border-radius:.5rem;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:var(--cu-gold-lt);
  font-size:.95rem;flex-shrink:0;transition:all .22s;}
.res-link:hover .res-link-icon{background:var(--cu-gold);color:var(--cu-navy);}
.res-link-name{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.85);
  line-height:1.2;white-space:nowrap;}
.res-link-sub{font-size:.62rem;color:rgba(255,255,255,.35);font-family:'DM Mono',monospace;
  white-space:nowrap;}
.res-bar-sep{width:1px;background:rgba(255,255,255,.07);flex-shrink:0;margin:.6rem 0;}
@media(max-width:991px){
  .res-bar-label{display:none;}
  .res-link{min-width:calc(50% - 1px);}
}
@media(max-width:575px){
  .res-link{min-width:calc(50% - 1px);padding:.9rem 1rem;}
  .res-link-sub{display:none;}
}

/* FOOTER */
#footer{background:var(--cu-navy);}
.footer-heading{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:1.25rem;}
.footer-link{font-size:.82rem;color:rgba(255,255,255,.5);transition:color .2s;display:flex;align-items:center;gap:.4rem;}
.footer-link::before{content:'›';color:rgba(255,255,255,.2);}
.footer-link:hover{color:var(--cu-gold-lt);}
.footer-contact-item{font-size:.78rem;color:rgba(255,255,255,.5);display:flex;align-items:flex-start;gap:.5rem;}
.footer-contact-item .icon{color:var(--cu-gold);flex-shrink:0;}
.footer-border{border-top:1px solid rgba(255,255,255,.08);}
.footer-badge{border:1px solid rgba(255,255,255,.12);border-radius:.4rem;padding:.28rem .7rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);font-family:'DM Mono',monospace;}
.social-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.88rem;text-decoration:none;transition:all .2s;}
.social-btn:hover{background:var(--cu-gold);border-color:var(--cu-gold);color:var(--cu-navy);}

/* SCROLL TOP */




@media(max-width:991px){#topbar{display:none!important;}.hero-thumbs{display:none!important;}.bento-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.bento-card.span-2{grid-column:span 2;min-height:280px;}}
@media(max-width:575px){.bento-grid{grid-template-columns:1fr;}.bento-card.span-2{grid-column:span 1;}#heroCarousel,.hero-slide{height:60vh;max-height:600px;}.hero-stats-strip{display:none!important;}}


/* ── DESKTOP MEGA DROPDOWN ENHANCEMENTS ── */
/* Wide 2-column dropdown for About Us */
.dd-wide{min-width:680px!important;padding:0!important;}
.dd-wide-inner{display:flex;gap:0;padding:1.25rem 1.5rem;gap:1.5rem;}
.dd-col-head{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cu-gold);margin-bottom:.6rem;font-weight:600;}
.dd-divider-v{width:1px;background:var(--cu-border);flex-shrink:0;margin:0 .25rem;}
/* Link list style (for simple dropdowns) */
.dd-link-list{display:flex;flex-direction:column;gap:.05rem;}
.dd-link{display:flex;align-items:center;gap:.65rem;padding:.5rem .75rem;
  border-radius:.5rem;font-size:.82rem;color:var(--cu-text-2);text-decoration:none;
  transition:all .18s;white-space:nowrap;}
.dd-link:hover{background:var(--cu-blue-pale);color:var(--cu-blue);
  padding-left:1rem;}
.dd-link i{font-size:.75rem;color:var(--cu-gold);width:14px;
  text-align:center;flex-shrink:0;transition:color .18s;}
.dd-link:hover i{color:var(--cu-blue);}
.dd-link.dd-gold{color:var(--cu-gold)!important;font-weight:600;}
.dd-link.dd-gold i{color:var(--cu-gold)!important;}
.dd-link.dd-gold:hover{background:rgba(200,134,10,.08)!important;color:var(--cu-gold)!important;}
/* Dropdown positioning fixes */
.mega-dropdown .dropdown-menu{
  border:1px solid rgba(11,31,58,.1);
  border-radius:.85rem;
  box-shadow:0 20px 60px rgba(11,31,58,.15);
  padding:1rem;
  margin-top:.5rem!important;
  animation: ddFadeIn .18s ease;
}
@keyframes ddFadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}

/* ── MOBILE DRAWER ── */
.mob-overlay{position:fixed;inset:0;background:rgba(11,31,58,.6);z-index:2099;
  opacity:0;pointer-events:none;transition:opacity .32s;backdrop-filter:blur(4px);}
.mob-overlay.open{opacity:1;pointer-events:all;}
.mob-drawer{will-change:transform;position:fixed;top:0;right:0;bottom:0;width:320px;max-width:94vw;
  background:#fff;z-index:2100;display:flex;flex-direction:column;
  transform:translateX(110%);transition:transform .35s cubic-bezier(.25,.46,.45,.94);
  box-shadow:-12px 0 50px rgba(11,31,58,.2);}
.mob-drawer.open{transform:translateX(0);}
.mob-drawer-head{display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.25rem;background:var(--cu-navy);flex-shrink:0;}
.mob-drawer-title{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,.5);}
.mob-drawer-close{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);
  background:transparent;color:rgba(255,255,255,.7);display:flex;align-items:center;
  justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s;flex-shrink:0;}
.mob-drawer-close:hover{background:rgba(255,255,255,.15);color:#fff;}
.mob-quick{display:flex;gap:.6rem;padding:.85rem 1.25rem;
  border-bottom:1px solid var(--cu-border);flex-shrink:0;}
.mob-quick-btn{flex:1;text-align:center;padding:.55rem .5rem;border-radius:.6rem;
  font-size:.72rem;font-weight:700;text-decoration:none;letter-spacing:.05em;
  text-transform:uppercase;transition:all .2s;}
.mob-quick-btn.primary{background:var(--cu-blue);color:#fff;}
.mob-quick-btn.primary:hover{background:var(--cu-navy);}
.mob-quick-btn.secondary{background:rgba(200,134,10,.1);color:var(--cu-gold);
  border:1.5px solid rgba(200,134,10,.25);}
.mob-quick-btn.secondary:hover{background:var(--cu-gold);color:var(--cu-navy);}
.mob-nav-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;}
.mob-nav-scroll::-webkit-scrollbar{width:3px;}
.mob-nav-scroll::-webkit-scrollbar-thumb{background:var(--cu-border);border-radius:3px;}
.mob-nav-item{border-bottom:1px solid var(--cu-border);}
.mob-nav-btn{display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:.9rem 1.25rem;background:transparent;border:none;
  font-size:.88rem;font-weight:500;color:var(--cu-navy);cursor:pointer;
  transition:background .18s;text-align:left;gap:.75rem;}
.mob-nav-btn:hover,.mob-nav-btn.open{background:rgba(12,77,139,.04);}
.mob-nav-btn.open{color:var(--cu-blue);}
.mob-chevron{width:28px;height:28px;min-width:28px;border-radius:.45rem;
  background:rgba(200,134,10,.1);display:flex;align-items:center;justify-content:center;
  color:var(--cu-gold);font-size:.62rem;transition:all .22s;}
.mob-nav-btn.open .mob-chevron{transform:rotate(180deg);background:var(--cu-blue);color:#fff;}
.mob-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;
  background:rgba(11,31,58,.02);border-top:0px solid var(--cu-border);}
.mob-sub.open{max-height:400px;border-top:1px solid var(--cu-border);}
.mob-sub a{display:flex;align-items:center;gap:.7rem;padding:.65rem 1.5rem;
  font-size:.82rem;color:var(--cu-text-2);text-decoration:none;
  border-bottom:1px solid rgba(11,31,58,.04);transition:all .18s;}
.mob-sub a:last-child{border-bottom:none;}
.mob-sub a:hover{color:var(--cu-blue);background:rgba(12,77,139,.05);padding-left:1.9rem;}
.mob-sub a i{font-size:.8rem;color:var(--cu-gold);flex-shrink:0;width:14px;text-align:center;}
.mob-nav-plain{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;
  font-size:.88rem;font-weight:500;color:var(--cu-navy);text-decoration:none;
  border-bottom:1px solid var(--cu-border);transition:all .18s;}
.mob-nav-plain:hover{color:var(--cu-blue);background:rgba(12,77,139,.04);padding-left:1.5rem;}
.mob-nav-plain i{color:var(--cu-gold);font-size:.85rem;width:16px;text-align:center;}
.mob-drawer-footer{padding:.9rem 1.25rem;border-top:1px solid var(--cu-border);
  background:var(--cu-cream);flex-shrink:0;}
.mob-footer-links{display:flex;flex-wrap:wrap;gap:.3rem .65rem;margin-bottom:.7rem;}
.mob-footer-links a{font-size:.68rem;color:var(--cu-text-3);text-decoration:none;transition:color .18s;}
.mob-footer-links a:hover{color:var(--cu-blue);}
.mob-footer-social{display:flex;gap:.5rem;}
.mob-social-btn{width:30px;height:30px;border-radius:50%;background:var(--cu-navy);
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-size:.75rem;text-decoration:none;transition:all .18s;}
.mob-social-btn:hover{background:var(--cu-blue);}
#mobMenuBtn{display:none;width:40px;height:40px;border-radius:.55rem;
  border:1.5px solid var(--cu-border);background:#fff;
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;cursor:pointer;
  padding:0;transition:all .2s;flex-shrink:0;}
#mobMenuBtn:hover{border-color:var(--cu-blue);background:var(--cu-blue-pale);}
#mobMenuBtn span{display:block;width:20px;height:2px;background:var(--cu-navy);
  border-radius:2px;transition:all .28s;}
#mobMenuBtn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#mobMenuBtn.open span:nth-child(2){opacity:0;transform:scaleX(0);}
#mobMenuBtn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:991px){
  #mobMenuBtn{display:flex!important;}
  .navbar-toggler{display:none!important;}
  #navMenu{display:none!important;}
}


/* ══ FYD — FIND YOUR DEGREE ══════════════════════════════════════════ */
.fyd-section {
  background: linear-gradient(160deg, #f0f4f8 0%, #e8eef5 55%, #f0f4f8 100%);
  padding: 5rem 0 4rem;
}
.fyd-label {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  font-size: .68rem; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: var(--cu-gold); margin-bottom: .9rem;
}
.fyd-label::before {
  content: ''; display: inline-block;
  width: 3px; height: 1.05em; background: var(--cu-gold); border-radius: 2px;
}
.fyd-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 5vw, 3.2rem);
  font-weight: 700; color: var(--cu-navy);
  text-align: center; line-height: 1.1; margin-bottom: .75rem;
}
.fyd-heading em { font-style: italic; color: var(--cu-blue); }
.fyd-subtext {
  text-align: center; color: #000;
  font-size: .96rem; max-width: 540px;
  margin: 0 auto 2rem; line-height: 1.65;
}
/* Search */
.fyd-search-wrap {
  max-width: 640px; margin: 0 auto 1rem;
  display: flex; align-items: center;
  background: #fff; border: 1.5px solid rgba(12,77,139,.15);
  border-radius: 3rem; padding: .42rem .42rem .42rem 1.3rem;
  box-shadow: 0 6px 24px rgba(11,31,58,.08); transition: all .2s;
}
.fyd-search-wrap:focus-within {
  border-color: var(--cu-blue);
  box-shadow: 0 8px 30px rgba(12,77,139,.14);
}
.fyd-search-wrap .bi-search { color: #9ca3af; font-size: .88rem; margin-right: .4rem; flex-shrink: 0; }
.fyd-search-input {
  flex: 1; border: none; outline: none; background: none;
  font-size: .92rem; font-family: 'DM Sans', sans-serif; color: #000; min-width: 0;
}
.fyd-search-input::placeholder { color: #9ca3af; }
.fyd-search-btn {
  background: var(--cu-navy); color: #fff; border: none; border-radius: 2rem;
  padding: .52rem 1.25rem; font-size: .83rem; font-weight: 600;
  font-family: 'DM Sans', sans-serif; cursor: pointer;
  display: flex; align-items: center; gap: .35rem;
  transition: background .2s; white-space: nowrap; flex-shrink: 0;
}
.fyd-search-btn:hover { background: var(--cu-blue); }
.fyd-hint {
  text-align: center; font-size: .76rem; color: #9ca3af;
  margin-bottom: 2rem;
  display: flex; align-items: center; justify-content: center; gap: .4rem;
}
/* Level cards — white default; only .active gets navy */
.fyd-cards {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1rem; margin-bottom: 1.6rem;
}
@media(max-width:900px) { .fyd-cards { grid-template-columns: repeat(2,1fr); } }
@media(max-width:480px) { .fyd-cards { grid-template-columns: 1fr; } }
.fyd-card {
  background: #fff;
  border-radius: 1rem;
  border: 2px solid rgba(12,77,139,.1);
  padding: 1.25rem 1.1rem 1rem;
  cursor: pointer; transition: all .2s;
  box-shadow: 0 2px 10px rgba(11,31,58,.05);
  display: flex; flex-direction: column; gap: .35rem;
  position: relative; overflow: hidden;
}
.fyd-card::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
  background: var(--cu-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .2s;
}
.fyd-card:hover { box-shadow: 0 6px 20px rgba(11,31,58,.1); transform: translateY(-2px); border-color: rgba(12,77,139,.2); }
.fyd-card:hover::after { transform: scaleX(1); }
.fyd-card.active { background: var(--cu-navy); border-color: var(--cu-navy); box-shadow: 0 8px 24px rgba(11,31,58,.2); transform: translateY(-2px); }
.fyd-card.active::after { transform: scaleX(1); background: var(--cu-gold); }
.fyd-card-icon {
  width: 38px; height: 38px; border-radius: .65rem;
  background: #e8f0fb;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; margin-bottom: .2rem; transition: background .2s;
}
.fyd-card.active .fyd-card-icon { background: rgba(255,255,255,.15); }
.fyd-card-level {
  font-size: .7rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--cu-navy);
  font-family: 'DM Mono', monospace;
}
.fyd-card.active .fyd-card-level { color: rgba(255,255,255,.72); }
.fyd-card-count { font-size: .79rem; color: #000; }
.fyd-card.active .fyd-card-count { color: rgba(255,255,255,.58); }
.fyd-card-tags { display: flex; flex-wrap: wrap; gap: .22rem; margin-top: .28rem; }
.fyd-card-tag {
  font-size: .63rem; font-weight: 700; padding: .16rem .44rem; border-radius: 2rem;
  background: rgba(12,77,139,.09); color: var(--cu-navy);
  font-family: 'DM Mono', monospace; transition: background .2s, color .2s;
}
.fyd-card.active .fyd-card-tag { background: rgba(255,255,255,.18); color: #fff; }
/* Results panel — light */
.fyd-panel {
  background: #fff; border-radius: 1rem; overflow: hidden;
  border: 1.5px solid rgba(12,77,139,.1);
  box-shadow: 0 4px 20px rgba(11,31,58,.07);
}
.fyd-panel-hdr {
  display: flex; align-items: center; justify-content: space-between;
  padding: .85rem 1.25rem; background: var(--cu-navy);
  flex-wrap: wrap; gap: .55rem;
}
.fyd-panel-title-wrap { display: flex; align-items: center; gap: .6rem; }
.fyd-panel-icon {
  width: 25px; height: 25px; background: rgba(255,255,255,.12);
  border-radius: .3rem; display: flex; align-items: center;
  justify-content: center; font-size: .82rem; flex-shrink: 0;
}
.fyd-panel-title {
  font-size: .73rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #fff; font-family: 'DM Mono', monospace;
}
.fyd-panel-right { display: flex; align-items: center; gap: .6rem; }
.fyd-campus-badge {
  font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  background: rgba(255,255,255,.11); color: rgba(255,255,255,.78);
  padding: .2rem .6rem; border-radius: .28rem;
  border: 1px solid rgba(255,255,255,.16); font-family: 'DM Mono', monospace;
}
.fyd-result-count { font-size: .73rem; color: rgba(255,255,255,.58); font-family: 'DM Mono', monospace; }
/* School filter row */
.fyd-school-row {
  display: flex; align-items: center; gap: .45rem; flex-wrap: wrap;
  padding: .7rem 1.25rem;
  border-bottom: 1px solid rgba(12,77,139,.07);
  background: var(--cu-blue-pale);
}
.fyd-school-lbl {
  font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--cu-text-2); font-family: 'DM Mono', monospace; white-space: nowrap;
}
.fyd-sb {
  font-size: .75rem; font-weight: 500; padding: .26rem .75rem; border-radius: 2rem;
  border: 1.5px solid rgba(12,77,139,.15); cursor: pointer; background: #fff;
  color: var(--cu-text); font-family: 'DM Sans', sans-serif;
  transition: all .16s; line-height: 1.3; display: flex; align-items: center; gap: .25rem;
}
.fyd-sb:hover { border-color: var(--cu-blue); color: var(--cu-blue); background: #eef3fb; }
.fyd-sb.active { background: var(--cu-navy); border-color: var(--cu-navy); color: #fff; font-weight: 600; }
/* Programme list */
.fyd-body { max-height: 380px; overflow-y: auto; scroll-behavior: smooth; background: #fff; }
.fyd-body::-webkit-scrollbar { width: 4px; }
.fyd-body::-webkit-scrollbar-track { background: transparent; }
.fyd-body::-webkit-scrollbar-thumb { background: rgba(12,77,139,.15); border-radius: 4px; }
.fyd-grp-hdr {
  display: flex; align-items: center; gap: .42rem;
  font-size: .63rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cu-text-2); padding: .48rem 1.25rem .28rem;
  background: var(--cu-blue-pale); border-bottom: 1px solid rgba(12,77,139,.06);
  font-family: 'DM Mono', monospace;
}
.fyd-grp-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.fyd-row {
  display: flex; align-items: center; gap: .7rem; padding: .6rem 1.25rem;
  text-decoration: none; color: #000; transition: background .13s;
  border-bottom: 1px solid rgba(12,77,139,.05);
}
.fyd-row:hover { background: #f0f5ff; color: #000; }
.fyd-row:last-child { border-bottom: none; }
.fyd-row-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 1px; }
.fyd-row-dot.ug     { background: #3B82F6; }
.fyd-row-dot.pg     { background: #16a34a; }
.fyd-row-dot.phd    { background: var(--cu-gold); }
.fyd-row-dot.online { background: #a855f7; }
.fyd-row-body { flex: 1; min-width: 0; }
.fyd-row-name { font-size: .83rem; font-weight: 600; color: #000; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fyd-row-meta { font-size: .69rem; color: var(--cu-text-2); margin-top: .06rem; }
.fyd-row-tags { display: flex; gap: .2rem; flex-wrap: wrap; margin-top: .15rem; }
.fyd-row-tag { font-size: .6rem; background: #e8f0fb; color: var(--cu-blue); padding: .07rem .36rem; border-radius: 2rem; font-weight: 600; }
.fyd-row-right { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
.fyd-row-dur { font-size: .69rem; color: var(--cu-text-2); white-space: nowrap; }
.fyd-row-arr { color: var(--cu-blue); font-size: .76rem; opacity: 0; transition: all .13s; }
.fyd-row:hover .fyd-row-arr { opacity: 1; transform: translateX(3px); }
.fyd-empty { padding: 2.5rem; text-align: center; color: var(--cu-text-2); font-size: .86rem; }
.fyd-empty a { color: var(--cu-blue); }
.fyd-panel-ftr {
  display: flex; align-items: center; justify-content: space-between;
  padding: .7rem 1.25rem; border-top: 1px solid rgba(12,77,139,.08);
  background: var(--cu-blue-pale); flex-wrap: wrap; gap: .5rem;
}
.fyd-legend { display: flex; gap: .85rem; flex-wrap: wrap; }
.fyd-leg { display: flex; align-items: center; gap: .3rem; font-size: .69rem; color: var(--cu-text-2); }
.fyd-leg-dot { width: 7px; height: 7px; border-radius: 50%; }
.fyd-view-all {
  font-size: .77rem; font-weight: 700; color: var(--cu-blue);
  text-decoration: none; display: flex; align-items: center; gap: .28rem;
  transition: gap .17s;
}
.fyd-view-all:hover { gap: .52rem; color: var(--cu-blue); }
/* ══ END FYD ══════════════════════════════════════════════════════════ */

/* FYD card photo strip */
.fyd-card-photo {
  width: calc(100% + 2.2rem);
  margin: -1.25rem -1.1rem .9rem -1.1rem;
  height: 160px;
  overflow: hidden;
  border-radius: .9rem .9rem 0 0;
  position: relative;
  flex-shrink: 0;
}
.fyd-card-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 20%;
  transition: transform .4s ease;
  display: block;
}
.fyd-card:hover .fyd-card-photo img { transform: scale(1.05); }
.fyd-card-photo::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(11,31,58,0) 40%, rgba(11,31,58,.35) 100%);
}
/* Active card — photo gets navy tint overlay */
.fyd-card.active .fyd-card-photo::after {
  background: none;
}

/* FYD panel scroll-reveal pulse */
@keyframes fydPanelPulse {
  0%   { box-shadow: 0 0 0 0 rgba(12,77,139,.35), 0 4px 20px rgba(11,31,58,.07); }
  50%  { box-shadow: 0 0 0 8px rgba(12,77,139,.0), 0 8px 32px rgba(11,31,58,.15); }
  100% { box-shadow: 0 4px 20px rgba(11,31,58,.07); }
}
.fyd-panel.fyd-panel--flash {
  animation: fydPanelPulse .7s ease-out forwards;
}

/* On mobile: hide level cards when search query is active so results show directly below search bar */
@media (max-width: 767px) {
  .fyd-cards.fyd-cards--hidden { display: none; }
  .fyd-hint.fyd-hint--hidden   { display: none; }
}

/* FYD search clear button */
.fyd-clear-btn {
  display: none;
  align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  border: none; background: #e2e8f0; color: #64748b;
  font-size: .75rem; cursor: pointer; flex-shrink: 0;
  transition: background .15s, color .15s; margin-right: .2rem;
  line-height: 1;
}
.fyd-clear-btn:hover { background: #cbd5e1; color: #1e293b; }
.fyd-clear-btn.visible { display: flex; }

/* ── HOVER DROPDOWNS (desktop) ── */
@media (min-width: 992px) {
  #mainNav .mega-dropdown:hover > .dropdown-menu {
    display: block;
  }
}






/* ── SCROLL TO TOP BUTTON ── */
#scrollTop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9999;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--cu-blue);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  box-shadow: 0 4px 20px rgba(11,31,58,.25);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .3s, transform .3s;
}
#scrollTop.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
#scrollTop:hover {
  background: var(--cu-navy);
  transform: translateY(-2px);
}
/* ── NAV DROPDOWN HOVER (desktop) ── */
@media (min-width: 992px) {

  /* Show dropdown on hover — only after nav-ready class is set (prevents flash on load) */
  #mainNav.nav-ready .mega-dropdown:hover > .dropdown-menu,
  #mainNav.nav-ready .nav-item.dropdown:hover > .dropdown-menu {
    display: block !important;
  }

  /* Sit flush below nav — zero margin so no gap */
  #mainNav .mega-dropdown > .dropdown-menu,
  #mainNav .nav-item.dropdown > .dropdown-menu {
    margin-top: 0 !important;
    top: 100% !important;
  }

  /* Invisible 12px bridge above the menu to cover the hairline gap
     so moving the mouse from nav-link into menu never triggers mouseleave */
  #mainNav .mega-dropdown > .dropdown-menu::before,
  #mainNav .nav-item.dropdown > .dropdown-menu::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
    background: transparent;
  }
}

/* ── REMOVE BOOTSTRAP FOCUS RING ON NAV LINKS ── */
#mainNav .nav-link:focus,
#mainNav .nav-link:focus-visible,
#mainNav .nav-link.show,
#mainNav .dropdown-toggle:focus,
#mainNav .dropdown-toggle:focus-visible,
#mainNav .dropdown-toggle.show:focus,
#mainNav .dropdown-toggle.show:focus-visible,
#mainNav .nav-item.show > .nav-link,
#mainNav .mega-dropdown.show > .nav-link {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Remove focus ring on campus switcher button */
.campus-current-btn:focus,
.campus-current-btn:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ══ GLASS NAVBAR — Frosted Light v1 ════════════════════════════════════ */
#mainNav{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(18px) saturate(1.8)!important;-webkit-backdrop-filter:blur(18px) saturate(1.8)!important;border-bottom:1px solid rgba(255,255,255,.45)!important;box-shadow:0 2px 20px rgba(11,31,58,.08),inset 0 1px 0 rgba(255,255,255,.6)!important;transition:background .35s ease,box-shadow .35s ease!important;}
#mainNav.is-sticky{background:rgba(255,255,255,.88)!important;box-shadow:0 4px 28px rgba(11,31,58,.11),inset 0 1px 0 rgba(255,255,255,.8)!important;}
#mainNav .dropdown-menu{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* ══ GLASS — FYD Search Bar ═════════════════════════════════════════════ */
.fyd-search-wrap{background:rgba(255,255,255,.75)!important;backdrop-filter:blur(16px) saturate(1.6)!important;-webkit-backdrop-filter:blur(16px) saturate(1.6)!important;border:1.5px solid rgba(255,255,255,.55)!important;box-shadow:0 8px 32px rgba(11,31,58,.1),inset 0 1px 0 rgba(255,255,255,.8)!important;}
.fyd-search-wrap:focus-within{background:rgba(255,255,255,.92)!important;border-color:rgba(12,77,139,.35)!important;box-shadow:0 8px 36px rgba(12,77,139,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;}

/* ══ GLASS — Applications Open Badge ═══════════════════════════════════ */
.hero-live-badge,#heroLive{background:rgba(11,31,58,.65)!important;backdrop-filter:blur(20px) saturate(1.8)!important;-webkit-backdrop-filter:blur(20px) saturate(1.8)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 8px 32px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08)!important;}

/* ══ GLASS — Scroll To Top Button ══════════════════════════════════════ */
#scrollTop{background:rgba(12,77,139,.75)!important;backdrop-filter:blur(12px) saturate(1.6)!important;-webkit-backdrop-filter:blur(12px) saturate(1.6)!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 4px 20px rgba(12,77,139,.3),inset 0 1px 0 rgba(255,255,255,.15)!important;}
#scrollTop:hover{background:rgba(11,31,58,.85)!important;box-shadow:0 6px 28px rgba(12,77,139,.4)!important;}

/* ══ GLASS — Hero Stats Strip ═══════════════════════════════════════════ */
.hero-stats-strip{background:rgba(11,31,58,.55)!important;backdrop-filter:blur(20px) saturate(1.8)!important;-webkit-backdrop-filter:blur(20px) saturate(1.8)!important;border-top:1px solid rgba(255,255,255,.08)!important;}

/* ══ GLASS — Campus Switcher Dropdown ══════════════════════════════════ */
.campus-drop{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(24px) saturate(2)!important;-webkit-backdrop-filter:blur(24px) saturate(2)!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 20px 60px rgba(11,31,58,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;}

/* ══ GLASS — Mobile Drawer Header ══════════════════════════════════════ */
.mob-drawer-header{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid rgba(11,31,58,.08)!important;}

/* ══ MEGA MENU FIXES ════════════════════════════════════════════════════ */
.mega-dropdown .dropdown-menu.dd-mega{padding:0!important;max-width:900px!important;overflow:hidden!important;}
.dd-mega-inner{display:flex!important;align-items:flex-start!important;padding:1.2rem 1rem!important;gap:0!important;flex-wrap:nowrap!important;overflow:hidden!important;}
.dd-col{flex:1 1 0!important;min-width:0!important;overflow:hidden!important;}
.dd-col .dd-col-head{font-size:.58rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-bottom:.55rem!important;}
.dd-link{font-size:.8rem!important;white-space:normal!important;line-height:1.3!important;padding:.38rem .5rem!important;gap:.4rem!important;}
.dd-link i{flex-shrink:0!important;}
.dd-divider-v{flex-shrink:0!important;width:1px!important;margin:0 .6rem!important;}

/* ══ MOBILE DRAWER SCROLL ═══════════════════════════════════════════════ */
.mob-sub{max-height:0!important;overflow:hidden!important;transition:max-height .4s ease!important;}
.mob-sub.open{max-height:2400px!important;border-top:1px solid var(--cu-border)!important;}
#mobDrawer{overflow-x:hidden!important;overflow-y:hidden!important;}
.mob-drawer-body{flex:1 1 0%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;}

/* ══ WHATSAPP BUTTON MOBILE ═════════════════════════════════════════════ */
@media(max-width:991px){#waFloatBtn{width:36px!important;height:36px!important;bottom:1rem!important;left:1rem!important;}#waFloatBtn svg{width:18px!important;height:18px!important;}}
@media(max-width:575px){#waFloatBtn{width:32px!important;height:32px!important;}#waFloatBtn svg{width:14px!important;height:14px!important;}}
/* ══ END ════════════════════════════════════════════════════════════════ */

/* ══ FYD V2 — SCHOOL CAROUSEL + SMART SEARCH ════════════════════════════ */
.fyd-carousel-wrap{position:relative;margin:0 -8px 2rem;overflow:hidden;}
.fyd-carousel-track{display:flex;gap:16px;padding:8px 8px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;}
.fyd-carousel-track::-webkit-scrollbar{display:none;}
.fyd-school-card{flex:0 0 calc(25% - 12px);min-width:200px;scroll-snap-align:start;background:#fff;border:1.5px solid var(--cu-border);border-radius:16px;padding:24px 20px 20px;cursor:pointer;transition:all .28s ease;position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(11,31,58,.05);}
.fyd-school-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--cu-gold);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;}
.fyd-school-card:hover,.fyd-school-card.active{border-color:var(--cu-blue);box-shadow:0 8px 28px rgba(12,77,139,.13);transform:translateY(-4px);}
.fyd-school-card:hover::before,.fyd-school-card.active::before{transform:scaleX(1);background:var(--cu-blue);}
.fyd-school-card.active{background:var(--cu-navy);}
.fyd-school-card.active .fyd-sc-name,.fyd-school-card.active .fyd-sc-count{color:#fff;}
.fyd-school-card.active .fyd-sc-icon{background:rgba(255,255,255,.1);}
.fyd-sc-icon{width:48px;height:48px;border-radius:12px;background:var(--cu-blue-pale);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px;transition:background .2s;}
.fyd-sc-name{font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:600;color:var(--cu-navy);line-height:1.35;margin-bottom:6px;transition:color .2s;}
.fyd-sc-count{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--cu-text-3);letter-spacing:.06em;transition:color .2s;}
.fyd-carousel-prev,.fyd-carousel-next{position:absolute;top:50%;transform:translateY(-60%);width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid var(--cu-border);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;font-size:.85rem;color:var(--cu-navy);box-shadow:0 2px 12px rgba(11,31,58,.1);transition:all .2s;}
.fyd-carousel-prev:hover,.fyd-carousel-next:hover{background:var(--cu-navy);color:#fff;border-color:var(--cu-navy);}
.fyd-carousel-prev{left:0;}.fyd-carousel-next{right:0;}

/* Search results panel */
.fyd-search-results{display:none;background:#fff;border:1.5px solid var(--cu-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(11,31,58,.09);margin-bottom:1.5rem;}
.fyd-search-results.show{display:block;}
.fyd-sr-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--cu-navy);color:#fff;}
.fyd-sr-title{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.fyd-sr-count{font-size:.75rem;color:var(--cu-gold-lt);font-weight:600;}
.fyd-sr-body{max-height:420px;overflow-y:auto;}
.fyd-sr-group-label{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cu-gold);padding:10px 20px 4px;background:rgba(200,134,10,.04);border-bottom:1px solid var(--cu-border);display:flex;align-items:center;gap:6px;}
.fyd-sr-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(11,31,58,.05);cursor:pointer;transition:background .15s;gap:12px;}
.fyd-sr-item:last-child{border-bottom:none;}
.fyd-sr-item:hover{background:var(--cu-blue-pale);}
.fyd-sr-item-left{flex:1;}
.fyd-sr-item-name{font-size:.88rem;font-weight:600;color:var(--cu-navy);margin-bottom:3px;}
.fyd-sr-item-meta{font-size:.72rem;color:var(--cu-text-3);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fyd-sr-badge{font-size:.6rem;font-family:'DM Mono',monospace;letter-spacing:.08em;padding:2px 8px;border-radius:20px;text-transform:uppercase;}
.fyd-sr-badge.ug{background:#EFF6FF;color:#1D4ED8;}
.fyd-sr-badge.pg{background:#F0FDF4;color:#166534;}
.fyd-sr-badge.phd{background:var(--cu-gold-pale);color:#92400E;}
.fyd-sr-badge.online{background:#F5F3FF;color:#6D28D9;}
.fyd-sr-item-dur{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--cu-text-3);flex-shrink:0;margin-left:12px;}
.fyd-sr-empty{padding:2.5rem;text-align:center;color:var(--cu-text-3);font-size:.88rem;}

/* School detail panel */
.fyd-school-detail{background:#fff;border:1.5px solid var(--cu-border);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(11,31,58,.07);animation:fydSlideIn .25s ease;}
@keyframes fydSlideIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.fyd-sd-header{background:var(--cu-navy);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;}
.fyd-sd-title{display:flex;align-items:center;gap:12px;}
.fyd-sd-icon{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.fyd-sd-name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:#fff;}
.fyd-sd-badge{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cu-gold-lt);background:rgba(200,134,10,.15);border:1px solid rgba(200,134,10,.3);padding:3px 10px;border-radius:20px;}
.fyd-sd-dept-block{border-bottom:1px solid var(--cu-border);}
.fyd-sd-dept-block:last-child{border-bottom:none;}
.fyd-sd-dept-name{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cu-blue);padding:10px 24px 6px;background:var(--cu-blue-pale);border-bottom:1px solid var(--cu-border);}
.fyd-sd-prog{display:flex;align-items:center;justify-content:space-between;padding:11px 24px;border-bottom:1px solid rgba(11,31,58,.04);transition:background .15s;cursor:pointer;gap:12px;}
.fyd-sd-prog:last-child{border-bottom:none;}
.fyd-sd-prog:hover{background:var(--cu-blue-pale);}
.fyd-sd-prog-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.fyd-sd-prog-name{flex:1;font-size:.87rem;font-weight:500;color:var(--cu-navy);}
.fyd-sd-prog-tags{display:flex;gap:5px;flex-wrap:wrap;}
.fyd-sd-prog-tag{font-size:.6rem;padding:2px 7px;border-radius:20px;background:var(--cu-blue-pale);color:var(--cu-blue);font-family:'DM Mono',monospace;letter-spacing:.04em;}
.fyd-sd-prog-dur{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--cu-text-3);white-space:nowrap;}
.fyd-sd-footer{padding:14px 24px;border-top:1px solid var(--cu-border);display:flex;align-items:center;justify-content:space-between;background:var(--cu-cream);}
.fyd-sd-legend{display:flex;gap:14px;}
.fyd-sd-leg{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--cu-text-3);}
.fyd-sd-leg-dot{width:7px;height:7px;border-radius:50%;}

@media(max-width:767px){
  .fyd-school-card{flex:0 0 calc(50% - 8px);min-width:160px;}
  .fyd-carousel-prev,.fyd-carousel-next{display:none;}
  .fyd-sd-prog{flex-wrap:wrap;}
}
@media(max-width:480px){.fyd-school-card{flex:0 0 calc(85% - 8px);}}
/* ══ END FYD V2 ═══════════════════════════════════════════════════════════ */

/* ══ FYD INLINE SEARCH DROPDOWN ═════════════════════════════════════════ */
.fyd-search-wrap{position:relative;}
.fyd-inline-drop{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;right:0;
  background:#fff;
  border:1.5px solid var(--cu-border);
  border-radius:14px;
  box-shadow:0 16px 48px rgba(11,31,58,.14);
  z-index:500;
  overflow:hidden;
  animation:fydDropIn .18s ease;
}
.fyd-inline-drop.open{display:block;}
@keyframes fydDropIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.fyd-idr-header{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;
  background:var(--cu-navy);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.fyd-idr-title{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.fyd-idr-count{font-size:.72rem;font-weight:600;color:var(--cu-gold-lt);margin-left:auto;}
.fyd-idr-close{background:transparent;border:none;color:rgba(255,255,255,.45);cursor:pointer;font-size:.8rem;padding:0;line-height:1;transition:color .15s;}
.fyd-idr-close:hover{color:#fff;}
.fyd-idr-body{max-height:320px;overflow-y:auto;}
.fyd-idr-body::-webkit-scrollbar{width:3px;}
.fyd-idr-body::-webkit-scrollbar-thumb{background:var(--cu-border);border-radius:3px;}
.fyd-idr-group{
  font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cu-gold);
  padding:8px 16px 4px;
  background:rgba(200,134,10,.04);
  border-bottom:1px solid var(--cu-border);
}
.fyd-idr-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;
  border-bottom:1px solid rgba(11,31,58,.04);
  cursor:pointer;transition:background .15s;gap:10px;
}
.fyd-idr-item:last-child{border-bottom:none;}
.fyd-idr-item:hover{background:var(--cu-blue-pale);}
.fyd-idr-item-name{font-size:.85rem;font-weight:600;color:var(--cu-navy);margin-bottom:2px;}
.fyd-idr-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.7rem;color:var(--cu-text-3);}
.fyd-idr-empty{padding:1.5rem;text-align:center;color:var(--cu-text-3);font-size:.84rem;}
.fyd-idr-footer{
  padding:10px 16px;
  border-top:1px solid var(--cu-border);
  background:var(--cu-cream);
}
.fyd-idr-viewall{
  font-size:.78rem;font-weight:600;color:var(--cu-blue);
  text-decoration:none;display:block;text-align:center;
  transition:color .15s;
}
.fyd-idr-viewall:hover{color:var(--cu-navy);}

/* Level cards — link style, no active state */
.fyd-level-cards .fyd-lcard{
  text-decoration:none;
  display:flex;
  flex-direction:column;
}
.fyd-level-cards .fyd-lcard:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(11,31,58,.12);
  border-color:var(--cu-blue);
}
.fyd-level-cards .fyd-lcard .fyd-card-level{color:var(--cu-navy);}
.fyd-level-cards .fyd-lcard .fyd-card-count{color:var(--cu-text-3);}
/* ══ END FYD INLINE DROP ═════════════════════════════════════════════════ */

/* ══ FYD DROPDOWN Z-INDEX FIX ═══════════════════════════════════════════ */
/* Give the search wrap its own stacking context above everything in section */
.fyd-search-wrap {
  position: relative !important;
  z-index: 100 !important;
  isolation: isolate;
}
/* Ensure dropdown punches above level cards and carousel */
.fyd-inline-drop {
  z-index: 9999 !important;
}
/* Section must not clip the dropdown */
.fyd-section, .fyd-section .container-xl {
  overflow: visible !important;
}
/* Level cards stay below search wrap */
.fyd-cards, .fyd-carousel-wrap, .fyd-school-detail {
  position: relative;
  z-index: 1;
}
/* ══ END Z-INDEX FIX ═════════════════════════════════════════════════════ */

/* ══ SCHOOL PHOTO CAROUSEL — Option B ════════════════════════════════════ */

/* Section label + dots row */
.fyd-schools-wrap { margin-bottom: 1rem; }
.fyd-schools-label {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.fyd-schools-label span {
  font-family: 'DM Mono', monospace; font-size: .65rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--cu-gold);
  display: flex; align-items: center; gap: 6px;
}
.fyd-schools-label span::before {
  content: ''; width: 3px; height: 1em; background: var(--cu-gold); border-radius: 2px;
}
.fyd-schools-dots { display: flex; align-items: center; gap: 6px; }
.fyd-s-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--cu-border); border: none; cursor: pointer;
  transition: all .25s; padding: 0; flex-shrink: 0;
}
.fyd-s-dot.active {
  background: var(--cu-gold); width: 22px; border-radius: 4px;
}

/* Track wrapper */
.fyd-schools-track-wrap {
  position: relative;
  overflow: hidden;
  margin: 0 -8px;
  padding: 0 8px;
}

/* Arrow buttons */
.fyd-schools-prev, .fyd-schools-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%;
  background: #fff; border: 1.5px solid var(--cu-border);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 20;
  font-size: .85rem; color: var(--cu-navy);
  box-shadow: 0 4px 16px rgba(11,31,58,.12);
  transition: all .2s;
}
.fyd-schools-prev:hover, .fyd-schools-next:hover {
  background: var(--cu-navy); color: #fff; border-color: var(--cu-navy);
  transform: translateY(-50%) scale(1.08);
}
.fyd-schools-prev { left: -4px; }
.fyd-schools-next { right: -4px; }

/* Sliding track */
.fyd-schools-track {
  display: flex;
  gap: 16px;
  transition: transform .55s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}

/* Photo card base */
.fyd-pc {
  flex: 0 0 calc(33.333% - 11px);
  min-width: 0;
  height: 240px;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  display: block;
  cursor: pointer;
  transition: transform .3s ease, box-shadow .3s ease;
}
.fyd-pc:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 20px 50px rgba(11,31,58,.22);
}

/* Background emoji */
.fyd-pc-bg {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 80px; opacity: .1;
  pointer-events: none;
}

/* Dark gradient overlay */
.fyd-pc-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to top,
    rgba(11,31,58,.96) 0%,
    rgba(11,31,58,.65) 40%,
    rgba(11,31,58,.18) 75%,
    rgba(11,31,58,.05) 100%
  );
  transition: background .3s;
}
.fyd-pc:hover .fyd-pc-overlay {
  background: linear-gradient(
    to top,
    rgba(11,31,58,.98) 0%,
    rgba(11,31,58,.75) 45%,
    rgba(11,31,58,.3) 75%,
    rgba(11,31,58,.1) 100%
  );
}

/* Content area */
.fyd-pc-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 18px 20px 20px;
}
.fyd-pc-badge {
  font-family: 'DM Mono', monospace;
  font-size: .58rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 4px;
}
.fyd-pc-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem; font-weight: 600;
  color: #fff; line-height: 1.25;
  margin-bottom: 10px;
}
.fyd-pc-meta {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 8px;
}
.fyd-pc-count {
  font-size: .68rem; font-weight: 600;
  color: var(--cu-navy);
  background: var(--cu-gold);
  padding: 3px 10px; border-radius: 20px;
  font-family: 'DM Mono', monospace; letter-spacing: .06em;
}
.fyd-pc-tags {
  display: flex; flex-wrap: wrap; gap: 5px;
  max-height: 0; overflow: hidden;
  transition: max-height .3s ease, opacity .3s;
  opacity: 0;
}
.fyd-pc:hover .fyd-pc-tags { max-height: 60px; opacity: 1; }
.fyd-pc-tags span {
  font-size: .62rem; padding: 2px 8px; border-radius: 20px;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  font-family: 'DM Mono', monospace; letter-spacing: .04em;
  backdrop-filter: blur(4px);
}

/* Explore arrow */
.fyd-pc-explore {
  position: absolute; top: 16px; right: 16px;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; color: #fff;
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18);
  transition: all .25s;
}
.fyd-pc:hover .fyd-pc-explore {
  background: var(--cu-gold);
  border-color: var(--cu-gold);
  transform: rotate(45deg);
}

/* School colour backgrounds */
.bg-law    { background: linear-gradient(145deg, #0B2040 0%, #1B4A7A 100%); }
.bg-mgmt   { background: linear-gradient(145deg, #0A2D1A 0%, #1A5C35 100%); }
.bg-com    { background: linear-gradient(145deg, #1A1040 0%, #3A2580 100%); }
.bg-sci    { background: linear-gradient(145deg, #0A2A2A 0%, #0F5050 100%); }
.bg-arts   { background: linear-gradient(145deg, #2A1040 0%, #5A2070 100%); }
.bg-edu    { background: linear-gradient(145deg, #2A1500 0%, #7A4000 100%); }
.bg-online { background: linear-gradient(145deg, #001A2A 0%, #005070 100%); }

/* Responsive */
@media (max-width: 991px) {
  .fyd-pc { flex: 0 0 calc(50% - 8px); height: 210px; }
}
@media (max-width: 575px) {
  .fyd-pc { flex: 0 0 calc(85% - 8px); height: 200px; }
  .fyd-schools-prev, .fyd-schools-next { display: none; }
}
/* ══ END SCHOOL PHOTO CAROUSEL ════════════════════════════════════════════ */

/* ══ MOBILE DRAWER — Contact Strip (topbar info) ═════════════════════════ */
.mob-contact-strip {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.03);
  margin: 0;
  padding: 4px 0;
}
.mob-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  text-decoration: none;
  color: rgba(255,255,255,.55) !important;
  font-size: .78rem;
  transition: background .15s, color .15s;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.mob-contact-item:last-child { border-bottom: none; }
.mob-contact-item:hover {
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.85) !important;
}
.mob-contact-item i {
  font-size: .82rem;
  color: var(--cu-gold);
  flex-shrink: 0;
  width: 14px;
  text-align: center;
}
.mob-contact-item span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* ══ END MOBILE CONTACT STRIP ════════════════════════════════════════════ */

/* ══ MOBILE DRAWER — Topbar plain links group ═══════════════════════════ */
.mob-topbar-links {
  border-top: 1px solid rgba(11,31,58,.08);
  margin-top: 4px;
  padding-top: 4px;
}
.mob-nav-plain {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  font-size: .88rem;
  font-weight: 500;
  color: var(--cu-navy);
  text-decoration: none;
  border-bottom: 1px solid rgba(11,31,58,.05);
  transition: background .15s, color .15s;
}
.mob-nav-plain:last-child { border-bottom: none; }
.mob-nav-plain:hover { background: var(--cu-blue-pale); color: var(--cu-blue); }
.mob-nav-plain i { font-size: .88rem; color: var(--cu-gold); flex-shrink: 0; width: 16px; text-align: center; }
.mob-nav-plain.gold { color: var(--cu-gold) !important; font-weight: 600; }
.mob-nav-plain.gold i { color: var(--cu-gold) !important; }

/* ══ MOBILE DRAWER — Contact Strip ═════════════════════════════════════ */
.mob-contact-strip {
  border-top: 1px solid rgba(11,31,58,.08);
  border-bottom: 1px solid rgba(11,31,58,.08);
  background: #f8fbff;
}
.mob-contact-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 20px;
  text-decoration: none;
  color: var(--cu-text-2) !important;
  font-size: .78rem;
  border-bottom: 1px solid rgba(11,31,58,.05);
  transition: background .15s;
}
.mob-contact-item:last-child { border-bottom: none; }
.mob-contact-item:hover { background: var(--cu-blue-pale); }
.mob-contact-item i { font-size: .8rem; color: var(--cu-gold); flex-shrink: 0; width: 14px; text-align: center; }
.mob-contact-item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* ══ END MOBILE TOPBAR ITEMS ════════════════════════════════════════════ */

/* ══ MOBILE DRAWER v2 — Categorized menus + E-Services grid ══════════════ */

/* E-Services quick access grid */
.mob-eservices-grid {
  background: var(--cu-navy);
  padding: 12px 16px 14px;
  flex-shrink: 0;
}
.mob-eservices-label {
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: 10px;
}
.mob-eservices-btns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.mob-eservice-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 8px 4px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  text-decoration: none;
  transition: all .2s;
}
.mob-eservice-btn:hover, .mob-eservice-btn:active {
  background: var(--cu-gold);
  border-color: var(--cu-gold);
}
.mob-eservice-btn i {
  font-size: 1.1rem;
  color: var(--cu-gold);
  transition: color .2s;
}
.mob-eservice-btn:hover i, .mob-eservice-btn:active i { color: var(--cu-navy); }
.mob-eservice-btn span {
  font-size: .58rem;
  font-family: 'DM Mono', monospace;
  font-weight: 600;
  letter-spacing: .04em;
  color: rgba(255,255,255,.75);
  text-align: center;
  line-height: 1.2;
  transition: color .2s;
}
.mob-eservice-btn:hover span, .mob-eservice-btn:active span { color: var(--cu-navy); }

/* Nav accordion items */
.mob-nav-item { border-bottom: 1px solid var(--cu-border); }
.mob-nav-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1.2rem;
  background: transparent;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: .9rem;
  font-weight: 500;
  color: var(--cu-navy);
  cursor: pointer;
  text-align: left;
  transition: background .15s, color .15s;
}
.mob-nav-btn:hover { background: var(--cu-blue-pale); color: var(--cu-blue); }
.mob-nav-btn.open { color: var(--cu-blue); background: var(--cu-blue-pale); }
.mob-chevron {
  font-size: .72rem;
  color: var(--cu-text-3);
  transition: transform .25s, color .2s;
  flex-shrink: 0;
}
.mob-nav-btn.open .mob-chevron { transform: rotate(180deg); color: var(--cu-blue); }

/* Accordion sub panel */
.mob-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s cubic-bezier(.4,0,.2,1);
  background: #fafbfc;
  border-top: 1px solid var(--cu-border);
}
.mob-sub.open { max-height: 3000px; }

/* Sub groups */
.mob-sub-group { padding: .7rem 1.2rem .25rem; }
.mob-sub-group + .mob-sub-group { border-top: 1px solid var(--cu-border); }
.mob-sub-label {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cu-gold);
  margin-bottom: .45rem;
}
.mob-sub-link {
  display: block;
  padding: .42rem .35rem;
  font-size: .84rem;
  color: var(--cu-text-2);
  text-decoration: none;
  border-radius: .35rem;
  line-height: 1.35;
  transition: background .13s, color .13s;
}
.mob-sub-link:hover { background: var(--cu-blue-pale); color: var(--cu-blue); }
.mob-sub-link--featured { color: var(--cu-gold) !important; font-weight: 600; }
.mob-sub-link--gold { color: var(--cu-gold) !important; font-weight: 600; }
.mob-sub-link--blue { color: var(--cu-blue) !important; font-weight: 600; }
.mob-badge {
  font-size: .58rem;
  background: var(--cu-blue);
  color: #fff;
  padding: .1rem .4rem;
  border-radius: 2rem;
  margin-left: .3rem;
  font-family: 'DM Mono', monospace;
  vertical-align: middle;
}

/* Topbar links section */
.mob-topbar-links { border-top: 1px solid rgba(11,31,58,.08); }
.mob-nav-plain {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  font-size: .87rem;
  font-weight: 500;
  color: var(--cu-navy);
  text-decoration: none;
  border-bottom: 1px solid rgba(11,31,58,.05);
  transition: background .13s, color .13s;
}
.mob-nav-plain:last-child { border-bottom: none; }
.mob-nav-plain:hover { background: var(--cu-blue-pale); color: var(--cu-blue); }
.mob-nav-plain i { font-size: .88rem; color: var(--cu-gold); flex-shrink: 0; width: 16px; text-align: center; }
.mob-nav-plain.gold { color: var(--cu-gold) !important; font-weight: 600; }

/* Careers — highlighted row */
.mob-careers {
  background: linear-gradient(90deg, rgba(200,134,10,.08) 0%, transparent 100%) !important;
  color: var(--cu-gold) !important;
  font-weight: 700 !important;
  border-left: 3px solid var(--cu-gold) !important;
  padding-left: 17px !important;
}
.mob-careers i { color: var(--cu-gold) !important; }
.mob-careers:hover { background: rgba(200,134,10,.14) !important; color: var(--cu-gold) !important; }

/* nav scroll area */
.mob-nav-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.mob-nav-scroll::-webkit-scrollbar { width: 3px; }
.mob-nav-scroll::-webkit-scrollbar-thumb { background: var(--cu-border); border-radius: 3px; }

/* btn-cu-gold */
.btn-cu-gold { background: var(--cu-gold); color: var(--cu-navy) !important; border: none; font-weight: 700; }
.btn-cu-gold:hover { background: #b37500; color: #fff !important; }

/* ══ END MOBILE DRAWER v2 ═══════════════════════════════════════════════ */

/* ══ MOBILE DRAWER v3 — Less congested, refined ═══════════════════════════ */

/* Quick links grid — 4 cols, wraps naturally for 7 items */
.mob-eservices-grid {
  background: var(--cu-navy);
  padding: 10px 14px 12px;
  flex-shrink: 0;
}
.mob-eservices-label {
  font-family: 'DM Mono', monospace;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
  margin-bottom: 8px;
}
.mob-eservices-btns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.mob-eservice-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 7px 3px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 9px;
  text-decoration: none;
  transition: all .18s;
}
.mob-eservice-btn:hover, .mob-eservice-btn:active {
  background: rgba(200,134,10,.22);
  border-color: rgba(200,134,10,.4);
}
.mob-eservice-btn i { font-size: .95rem; color: rgba(255,255,255,.65); transition: color .18s; }
.mob-eservice-btn:hover i, .mob-eservice-btn:active i { color: #C8860A; }
.mob-eservice-btn span {
  font-size: .52rem;
  font-family: 'DM Mono', monospace;
  color: rgba(255,255,255,.5);
  text-align: center;
  line-height: 1.2;
  transition: color .18s;
}
.mob-eservice-btn:hover span, .mob-eservice-btn:active span { color: rgba(255,255,255,.85); }

/* Careers button — highlighted in grid */
.mob-eservice-careers {
  background: rgba(200,134,10,.15) !important;
  border-color: rgba(200,134,10,.35) !important;
}
.mob-eservice-careers i { color: #C8860A !important; }
.mob-eservice-careers span { color: rgba(255,255,255,.75) !important; }
.mob-eservice-careers:hover { background: rgba(200,134,10,.3) !important; }

/* Admission button — subtle highlight */
.mob-eservice-btn:nth-child(6) i { color: rgba(255,255,255,.8); }

/* Nav accordion — reduce padding */
.mob-nav-btn { padding: .72rem 1.1rem; font-size: .88rem; }
.mob-sub-group { padding: .55rem 1.1rem .15rem; }
.mob-sub-label { font-size: .56rem; margin-bottom: .35rem; }
.mob-sub-link { padding: .35rem .3rem; font-size: .82rem; }

/* Topbar plain links — tighter */
.mob-nav-plain { padding: 9px 16px; font-size: .84rem; }

/* Contact strip — compact single row layout */
.mob-contact-strip {
  display: flex;
  flex-direction: row;
  border-top: 1px solid rgba(11,31,58,.07);
  background: #f4f6f9;
  overflow: hidden;
}
.mob-contact-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 4px;
  text-decoration: none;
  color: var(--cu-text-2) !important;
  font-size: .62rem;
  border-right: 1px solid rgba(11,31,58,.07);
  transition: background .13s;
  text-align: center;
  min-width: 0;
}
.mob-contact-item:last-child { border-right: none; }
.mob-contact-item:hover { background: #e8edf3; }
.mob-contact-item i { font-size: .8rem; color: var(--cu-gold); flex-shrink: 0; }
.mob-contact-item span { 
  font-size: .55rem; 
  line-height: 1.25; 
  word-break: break-all; 
  color: var(--cu-text-2);
  max-width: 100%;
}

/* Footer — tighter */
.mob-drawer-footer {
  padding: 8px 14px 10px;
  border-top: 1px solid var(--cu-border);
  flex-shrink: 0;
}
.mob-footer-links { 
  display: flex; 
  flex-wrap: wrap; 
  gap: 2px 10px; 
  margin-bottom: 8px; 
}
.mob-footer-links a { 
  font-size: .68rem; 
  color: var(--cu-text-3); 
  text-decoration: none; 
}
.mob-footer-links a:hover { color: var(--cu-blue); }

/* Social buttons — smaller */
.mob-social-btn {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid var(--cu-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--cu-text-3); font-size: .78rem; text-decoration: none;
  transition: all .18s;
}
.mob-social-btn:hover { background: var(--cu-navy); border-color: var(--cu-navy); color: #fff; }
.mob-footer-social { display: flex; gap: 6px; align-items: center; }

/* Apply Now — small, blue, white text, clear */
.mob-apply-btn {
  display: inline-block;
  padding: 5px 14px;
  background: var(--cu-blue);
  color: #fff !important;
  font-size: .72rem;
  font-weight: 700;
  font-family: 'DM Sans', sans-serif;
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: .02em;
  transition: background .18s;
  border: none;
}
.mob-apply-btn:hover { background: #0a3d6e; color: #fff !important; }

/* Drawer header — tighter */
.mob-drawer-head {
  padding: .7rem 1.1rem;
}

/* Overall drawer scroll area */
.mob-nav-scroll { 
  flex: 1; 
  overflow-y: auto; 
  overflow-x: hidden; 
  -webkit-overflow-scrolling: touch; 
  overscroll-behavior: contain; 
  min-height: 0;
}

/* ══ END MOBILE DRAWER v3 ═══════════════════════════════════════════════ */

/* Nav placeholder skeleton — prevents CLS during fetch */
#cu-nav-placeholder{background:#0B1F3A;transition:none;}
#cu-footer-placeholder{background:#0B1F3A;min-height:60px;}
