  :root{
    --primary:#5c1466;
    --primary-dark:#3c0d46;
    --primary-light:#8a3a99;
    --gold:#f0a500;
    --gold-light:#ffcf5c;
    --cream:#faf6fb;
    --ink:#241026;
    --gray:#6d5c72;
  }

  *{scroll-behavior:smooth;}

  body{
    font-family:'Work Sans', sans-serif;
    color:var(--ink);
    background:#fff;
  }

  h1,h2,h3,h4,.brand-font{
    font-family:'Fraunces', serif;
  }

  .eyebrow{
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:.78rem;
    font-weight:600;
    color:var(--primary);
  }

  .flame-underline{
    position:relative;
    display:inline-block;
    padding-bottom:.5rem;
  }
  .flame-underline::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:64px; height:4px;
    border-radius:4px;
    background:linear-gradient(90deg,var(--gold),var(--primary));
  }
  .text-center .flame-underline::after{left:50%;transform:translateX(-50%);}

  .btn-gold{
    background:var(--gold);
    border:none;
    color:var(--primary-dark);
    font-weight:600;
    padding:.7rem 1.6rem;
    border-radius:30px;
    transition:.25s;
  }
  .btn-gold:hover{background:var(--gold-light); color:var(--primary-dark); transform:translateY(-2px);}

  .btn-outline-cream{
    border:1.5px solid rgba(255,255,255,.7);
    color:#fff;
    border-radius:30px;
    padding:.65rem 1.5rem;
    font-weight:600;
  }
  .btn-outline-cream:hover{background:#fff; color:var(--primary);}

  /* ---------- Utility top bar ---------- */
  .topbar{
    background:var(--primary-dark);
    color:#e9d8ee;
    font-size:.83rem;
  }
  .topbar a{color:#e9d8ee; text-decoration:none;}
  .topbar a:hover{color:var(--gold-light);}
  .topbar .social-icon{font-size:1rem; margin-left:.9rem;}

  /* ---------- Navbar ---------- */
  .navbar-school{
    background:#fff;
    box-shadow:0 2px 14px rgba(60,13,70,.08);
    padding-top:.6rem; padding-bottom:.6rem;
  }
  .navbar-school .navbar-brand small{
    display:block; font-size:.72rem; letter-spacing:.08em; color:var(--gray); font-weight:500;
  }
  .navbar-school .navbar-brand span{
    font-family:'Fraunces',serif; font-weight:700; font-size:1.35rem; color:var(--primary);
  }
  @media (max-width:1266px){
	  .navbar-school .navbar-brand span{
		font-size:1.10rem;
	  }
  }
  @media (max-width:420px){
	  .navbar-school .navbar-brand small{
		font-size:.62rem;
	  }
	  .navbar-school .navbar-brand span{
		font-size:1rem;
	  }
  }
  .navbar-school .nav-link{
    font-weight:600; color:var(--ink); margin:0 .4rem; font-size:.94rem;
  }
  @media (max-width:1100px){
	 .navbar-school .nav-link{
		margin:0 .2rem; font-size:.84rem;
	  } 
  }
  @media (max-width:991px){
	 .navbar-school .nav-link{
		margin:0 .4rem; font-size:.94rem;
	  } 
  }
  .navbar-school .nav-link:hover, .navbar-school .nav-link.active{color:var(--primary);}
  .logo-lamp{
    width:46px; height:46px; margin-right:.6rem;
  }

  /* ---------- Hero ---------- */
  .hero-carousel .carousel-item{
    height:88vh; min-height:520px;
    background-size:cover; background-position:center;
  }
  .hero-carousel .carousel-item::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(60,13,70,.15) 0%, rgba(60,13,70,.45) 40%, rgba(60,13,70,.38) 100%);
  }
  .hero-caption{
    position:relative; z-index:2;
    max-width:680px;
  }
  .hero-caption .eyebrow{color:var(--gold-light);}
  .hero-caption h1{
    color:#fff; font-weight:700; font-size:3rem; line-height:1.1;
  }
  .hero-caption p{color:#eadff0; font-size:1.1rem;}
  @media (max-width:768px){
    .hero-carousel .carousel-item{height:78vh;}
    .hero-caption h1{font-size:2rem;}
  }
  .hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{width:5%;}
  .hero-carousel .carousel-indicators [data-bs-target]{background:var(--gold);}

/* ---------- Inner page hero ---------- */
.page-hero{
  background:linear-gradient(120deg,var(--primary-dark),var(--primary) 70%);
  padding:60px 0 70px;
  position:relative;
  overflow:hidden;
}
.page-hero::after{
  content:"";
  position:absolute; right:-80px; bottom:-80px;
  width:260px; height:260px; border-radius:50%;
  background:rgba(240,165,0,.14);
}
.page-hero h1{
  color:#fff;
  font-size:2.6rem;
  margin:.5rem 0 1rem;
}
.page-hero .breadcrumb-item a{
  color:#e5d3ea;
  text-decoration:none;
}
.page-hero .breadcrumb-item a:hover{
  color:var(--gold-light);
}
.page-hero .breadcrumb-item.active{
  color:var(--gold-light);
}
.page-hero .breadcrumb-item+.breadcrumb-item::before{
  color:#cdb6d3;
}
@media(max-width:576px){
  .page-hero{padding:130px 0 50px;}
  .page-hero h1{font-size:1.9rem;}
}

  /* ---------- Stats strip ---------- */
  .stats-strip{
    background:var(--primary);
    border-radius:18px;
    margin-top:-70px;
    position:relative; z-index:5;
    box-shadow:0 20px 40px rgba(60,13,70,.28);
  }
  .stats-strip .stat{
    padding:1.8rem 1rem;
    text-align:center;
    border-right:1px solid rgba(255,255,255,.14);
  }
  .stats-strip .col:last-child .stat{border-right:none;}
  .stats-strip .stat .num{
    font-family:'Fraunces',serif; font-weight:700; font-size:2.1rem; color:var(--gold-light);
  }
  .stats-strip .stat .lbl{color:#e9d8ee; font-size:.85rem; letter-spacing:.03em;}

  /* ---------- About ---------- */
  .about-frame{
    position:relative;
  }
  .about-frame::before{
    content:"";
    position:absolute; top:18px; left:18px;
    width:100%; height:100%;
    border:3px solid var(--gold);
    border-radius:14px;
    z-index:0;
  }
  .about-frame img{
    position:relative; z-index:1;
    border-radius:14px;
    width:100%; object-fit:cover; height:420px;
  }
  .about-badge{
    position:absolute; bottom:-24px; right:-16px; z-index:2;
    background:var(--gold);
    color:var(--primary-dark);
    border-radius:50%;
    width:118px; height:118px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; font-family:'Fraunces',serif; font-weight:700;
    box-shadow:0 12px 24px rgba(240,165,0,.4);
    line-height:1.05;
  }
  .about-badge span{display:block; font-size:1.5rem;}
  .about-badge small{font-family:'Work Sans',sans-serif; font-weight:600; font-size:.68rem;}

  section{padding:5rem 0;}
  .bg-cream{background:var(--cream);}

  /* ---------- Academic cards ---------- */
  .feature-card{
    background:#fff;
    border-radius:16px;
    padding:2rem 1.6rem;
    height:100%;
    box-shadow:0 8px 30px rgba(60,13,70,.07);
    border-top:4px solid transparent;
    transition:.25s;
  }
  .feature-card:hover{
    border-top:4px solid var(--gold);
    transform:translateY(-6px);
    box-shadow:0 16px 34px rgba(60,13,70,.14);
  }
  .feature-icon{
    width:58px; height:58px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-light); font-size:1.5rem;
    margin-bottom:1.1rem;
  }

  /* ---------- Gallery ---------- */
  .gallery-item{
    position:relative; overflow:hidden; border-radius:12px; cursor:pointer;
    margin-bottom:1.5rem;
  }
  .gallery-item img{
    width:100%; height:230px; object-fit:cover;
    transition:transform .4s ease;
  }
  .gallery-item .overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(60,13,70,0) 40%, rgba(60,13,70,.85) 100%);
    opacity:0; transition:.3s;
    display:flex; align-items:flex-end; padding:1rem;
  }
  .gallery-item:hover img{transform:scale(1.08);}
  .gallery-item:hover .overlay{opacity:1;}
  .gallery-item .overlay .zoom-icon{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:44px; height:44px; border-radius:50%;
    background:var(--gold); color:var(--primary-dark);
    display:flex; align-items:center; justify-content:center; font-size:1.2rem;
  }
  .gallery-item .overlay span{color:#fff; font-weight:600; font-size:.9rem;}

  #lightboxModal .modal-dialog{
  max-width:92vw;
  margin:3vh auto;
}
  #lightboxModal .modal-content{background:transparent; border:none;}
  #lightboxModal img{width:auto; max-width:100%; border-radius:10px; max-height:88vh; object-fit:contain; background:#000;}
  #lightboxModal .btn-close{filter:invert(1); opacity:.9;}
  .lightbox-nav-btn{
    background:rgba(255,255,255,.15); border:none; color:#fff;
    width:48px; height:48px; border-radius:50%; font-size:1.4rem;
    display:flex; align-items:center; justify-content:center;
  }
  .lightbox-nav-btn:hover{background:var(--gold); color:var(--primary-dark);}
  
  .app-lightbox-overlay{position:fixed;inset:0;background:rgba(20,5,25,.92);display:none;align-items:center;justify-content:center;z-index:2000;padding:2rem;}
.app-lightbox-overlay.active{display:flex;}
.app-lightbox-img-wrap{max-width:92vw;max-height:88vh;position:relative;display:flex;align-items:center;justify-content:center;touch-action:pan-y;cursor:grab;}
.app-lightbox-img-wrap img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:10px;user-select:none;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.app-lightbox-caption{position:absolute;bottom:-2.5rem;left:0;right:0;text-align:center;color:#f0ddf2;font-size:.95rem;}
.app-lightbox-close{position:absolute;top:1.2rem;right:1.5rem;color:#fff;font-size:2rem;background:none;border:none;cursor:pointer;z-index:2001;}
.app-lightbox-prev,.app-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.app-lightbox-prev{left:1rem;} .app-lightbox-next{right:1rem;}
@media(max-width:576px){.app-lightbox-prev,.app-lightbox-next{width:42px;height:42px;font-size:1.1rem;}}
/* ---------- Album filter buttons (gallery-all.php) ---------- */
.album-filter-btn{
  border-radius:30px;
  padding:.55rem 1.4rem;
  font-weight:600;
  font-size:.88rem;
  border:1.5px solid #ecd9f0;
  color:var(--gray);
  background:#fff;
  transition:.2s;
}
.album-filter-btn:hover{
  border-color:var(--primary);
  color:var(--primary);
}
.album-filter-btn.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

  /* ---------- Video ---------- */
  .video-card{
    position:relative; border-radius:14px; overflow:hidden; cursor:pointer;
    box-shadow:0 10px 26px rgba(60,13,70,.15);
  }
  .video-card img{width:100%; height:210px; object-fit:cover; display:block; transition:transform .4s;}
  .video-card:hover img{transform:scale(1.06);}
  .video-card .play-btn{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:64px; height:64px; border-radius:50%;
    background:rgba(240,165,0,.92); color:var(--primary-dark);
    display:flex; align-items:center; justify-content:center; font-size:1.8rem;
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    transition:.25s;
  }
  .video-card:hover .play-btn{background:var(--gold-light); transform:translate(-50%,-50%) scale(1.08);}
  .video-card .video-title{
    position:absolute; bottom:0; left:0; right:0;
    padding:.8rem 1rem;
    background:linear-gradient(180deg, rgba(60,13,70,0), rgba(30,7,35,.85));
    color:#fff; font-weight:600; font-size:.95rem;
  }
  #videoModal .modal-content{background:#000; border:none;}
  #videoModal .ratio{--bs-aspect-ratio:56.25%;}

  /* ---------- Notices / events ---------- */
  .notice-item{
    display:flex; gap:1rem; padding:1rem 0;
    border-bottom:1px dashed #e2d3e6;
  }
  .notice-date{
    background:var(--cream); color:var(--primary);
    border-radius:10px; width:58px; height:58px; flex:0 0 58px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-weight:700; border:1px solid #ecd9f0;
  }
  .notice-date .d{font-size:1.15rem; line-height:1;}
  .notice-date .m{font-size:.65rem; text-transform:uppercase; letter-spacing:.06em;}

  .event-card{
    background:#fff; border-radius:14px; padding:1.2rem;
    border-left:4px solid var(--gold);
    box-shadow:0 6px 20px rgba(60,13,70,.06);
    margin-bottom:1rem;
  }

  /* ---------- CTA banner ---------- */
  .cta-banner{
    background:linear-gradient(120deg,var(--primary-dark),var(--primary) 60%, var(--primary-light));
    border-radius:22px;
    padding:3rem 2rem;
    color:#fff;
    position:relative; overflow:hidden;
  }
  .cta-banner::after{
    content:"";
    position:absolute; right:-60px; top:-60px;
    width:220px; height:220px; border-radius:50%;
    background:rgba(240,165,0,.18);
  }

  /* ---------- Testimonials ---------- */
  .testimonial-card{
    background:#fff; border-radius:16px; padding:2.2rem;
    box-shadow:0 10px 30px rgba(60,13,70,.08);
    max-width:720px; margin:0 auto; text-align:center;
  }
  .testimonial-card i.bi-quote{font-size:2rem; color:var(--gold);}

  /* ---------- Contact ---------- */
  .contact-info-item{display:flex; gap:1rem; margin-bottom:1.4rem;}
  .contact-info-item .ico{
    width:46px; height:46px; border-radius:12px; flex:0 0 46px;
    background:var(--cream); color:var(--primary);
    display:flex; align-items:center; justify-content:center; font-size:1.15rem;
  }
  .map-frame{border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(60,13,70,.12);}
  .footer-social-inline{
    width:38px; height:38px; border-radius:50%; background:var(--cream); color:var(--primary);
    display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  }
  .footer-social-inline:hover{background:var(--primary); color:#fff;}
  .form-control, .form-select{
    border-radius:10px; padding:.7rem .9rem; border:1px solid #ddc9e2;
  }
  .form-control:focus,.form-select:focus{border-color:var(--primary); box-shadow:0 0 0 .2rem rgba(92,20,102,.12);}

  /* ---------- Footer ---------- */
  footer{background:var(--primary-dark); color:#dcc7e2;}
  footer h6{color:#fff; font-weight:700; margin-bottom:1.1rem; font-family:'Fraunces',serif;}
  footer a{color:#dcc7e2; text-decoration:none; font-size:.92rem; line-height:2.1;}
  footer a:hover{color:var(--gold-light);}
  .footer-bottom{background:#2c0a34; font-size:.85rem; color:#c6aecb;}
  .footer-social a{
    width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
    display:inline-flex; align-items:center; justify-content:center; margin-right:.5rem;
  }
  .footer-social a:hover{background:var(--gold); color:var(--primary-dark);}

  /* ---------- Floating action buttons ---------- */
  .float-actions{
    position:fixed; right:20px; bottom:24px; z-index:1040;
    display:flex; flex-direction:column; gap:12px; align-items:flex-end;
  }
  .float-btn{
    display:flex; align-items:center;
    width:52px; height:52px; border-radius:50%;
    color:#fff; font-size:1.4rem; text-decoration:none;
    box-shadow:0 8px 20px rgba(0,0,0,.25);
    justify-content:center;
    transition:.25s; overflow:hidden; white-space:nowrap;
  }
  .float-btn .lbl{
    max-width:0; opacity:0; font-size:.85rem; font-weight:600; transition:.25s;
  }
  .float-btn:hover{width:auto; padding:0 1.1rem 0 .95rem; border-radius:30px;}
  .float-btn:hover .lbl{max-width:160px; opacity:1;}
  .float-whatsapp{background:#25D366;}
  .float-call{background:var(--gold); color:var(--primary-dark);}
  .float-enquire{background:var(--primary);}

  .back-to-top{
    position:fixed; left:20px; bottom:24px; z-index:1030;
    width:44px; height:44px; border-radius:50%;
    background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,.2); opacity:0; visibility:hidden; transition:.3s;
  }
  .back-to-top.show{opacity:1; visibility:visible;}

  /* ---------- Section eyebrow helper ---------- */
  .section-head{max-width:640px;}
  .section-head.mx-auto{margin-left:auto; margin-right:auto;}

  /* ---------- Keyword pills ---------- */
  .kw-pill{
    display:inline-flex; align-items:center; gap:.4rem;
    background:var(--cream); color:var(--primary);
    border:1px solid #ecd9f0; border-radius:30px;
    padding:.45rem 1rem; font-size:.85rem; font-weight:600;
    margin:0 .4rem .6rem 0;
  }
  .kw-pill i{color:var(--gold); font-size:.7rem;}

  /* ---------- About pills nav (Legacy/Mission/Vision/Values) ---------- */
  .about-tabs .nav-link{
    border:none; border-radius:30px; padding:.6rem 1.3rem;
    font-weight:600; font-size:.88rem; color:var(--gray);
    background:var(--cream); margin-right:.5rem; margin-bottom:.5rem;
  }
  .about-tabs .nav-link.active{background:var(--primary); color:#fff;}
  .about-tab-pane p{color:var(--gray);}

  /* ---------- Principal section ---------- */
  .principal-section{
    background:linear-gradient(120deg,var(--primary-dark),var(--primary) 70%);
    border-radius:26px; overflow:hidden; position:relative;
  }
  .principal-section::after{
    content:"";
    position:absolute; left:-70px; bottom:-70px;
    width:240px; height:240px; border-radius:50%;
    background:rgba(240,165,0,.14);
  }
  .principal-photo-wrap{position:relative;}
  .principal-photo-wrap img{
    width:100%; height:100%; min-height:360px; object-fit:cover;
    border-radius:0;
  }
  .principal-quote-mark{
    font-family:'Fraunces',serif; font-size:5rem; line-height:1;
    color:var(--gold); opacity:.85;
  }
  .principal-section h2, .principal-section h3{color:#fff;}
  .principal-section p{color:#e5d3ea;}
  .principal-sign{font-family:'Fraunces',serif; font-style:italic; color:var(--gold-light); font-size:1.2rem;}
  .principal-tab-toggle .btn{
    border-radius:30px; font-size:.85rem; font-weight:600; padding:.45rem 1.1rem;
    border:1px solid rgba(255,255,255,.35); color:#e5d3ea; background:transparent;
  }
  .principal-tab-toggle .btn.active{background:var(--gold); color:var(--primary-dark); border-color:var(--gold);}

  /* ---------- Academic Programs (accordion) ---------- */
  .program-accordion .accordion-item{
    border:none; border-radius:14px!important; overflow:hidden;
    margin-bottom:1rem; box-shadow:0 6px 22px rgba(60,13,70,.06);
  }
  .program-accordion .accordion-button{
    font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem;
    color:var(--primary); background:#fff; padding:1.2rem 1.4rem;
  }
  .program-accordion .accordion-button:not(.collapsed){
    background:var(--primary); color:#fff; box-shadow:none;
  }
  .program-accordion .accordion-button:not(.collapsed) .stage-badge{background:var(--gold); color:var(--primary-dark);}
  .program-accordion .accordion-button::after{filter:none;}
  .program-accordion .accordion-body{padding:1.3rem 1.4rem 1.5rem; color:var(--gray);}
  .stage-badge{
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:50%;
    background:var(--cream); color:var(--primary);
    font-family:'Work Sans',sans-serif; font-weight:700; font-size:.8rem;
    margin-right:.9rem; flex:0 0 34px;
  }
  .stream-chip{
    background:var(--cream); border:1px solid #ecd9f0; border-radius:12px;
    padding:.9rem 1.1rem; font-weight:600; color:var(--primary);
    display:flex; align-items:center; gap:.7rem;
  }
  .stream-chip i{color:var(--gold); font-size:1.2rem;}

  /* ---------- Campus Facilities ---------- */
  .facility-card{
    background:#fff; border-radius:16px; padding:1.6rem 1.2rem; text-align:center;
    box-shadow:0 8px 26px rgba(60,13,70,.07); height:100%;
    transition:.25s;
  }
  .facility-card:hover{transform:translateY(-5px); box-shadow:0 14px 30px rgba(60,13,70,.13);}
  .facility-card .f-ico{
    width:52px; height:52px; border-radius:50%;
    background:var(--cream); color:var(--primary);
    display:flex; align-items:center; justify-content:center;
    font-size:1.35rem; margin:0 auto 1rem;
  }
  .facility-card h6{margin-bottom:.3rem;}
  .facility-card p{font-size:.82rem; margin-bottom:0;}

  /* ---------- Student life / co-curricular ---------- */
  .life-pillar{
    background:#fff; border-radius:16px; padding:1.8rem; height:100%;
    box-shadow:0 8px 26px rgba(60,13,70,.07);
  }
  .life-pillar .f-ico{
    width:50px; height:50px; border-radius:12px;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:var(--gold-light); display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; margin-bottom:1rem;
  }
  .cocurricular-scroll{
    display:flex; gap:1.1rem; overflow-x:auto; padding-bottom:1rem; scroll-snap-type:x mandatory;
  }
  .cocurricular-scroll::-webkit-scrollbar{height:6px;}
  .cocurricular-scroll::-webkit-scrollbar-thumb{background:#ddc9e2; border-radius:6px;}
  .cc-card{
    flex:0 0 220px; scroll-snap-align:start;
    background:#fff; border-radius:14px; overflow:hidden;
    box-shadow:0 8px 22px rgba(60,13,70,.08);
  }
  .cc-card img{width:100%; height:130px; object-fit:cover;}
  .cc-card .cc-body{padding:1rem;}
  .cc-card h6{margin-bottom:.15rem; font-size:.95rem;}
  .cc-card span{font-size:.76rem; color:var(--gray);}

  /* ---------- Achievements ---------- */
  .achieve-card{
    background:#fff; border-radius:16px; padding:1.8rem 1.4rem;
    box-shadow:0 8px 26px rgba(60,13,70,.07); height:100%;
    border-bottom:4px solid var(--gold);
  }
  .achieve-card .num{font-family:'Fraunces',serif; font-weight:700; font-size:2rem; color:var(--primary);}
  .achieve-card h6{font-weight:700; margin-bottom:.4rem;}
  .achieve-card p{font-size:.85rem; color:var(--gray); margin-bottom:0;}
  .achieve-card .f-ico{color:var(--gold); font-size:1.4rem; margin-bottom:.6rem;}

  /* ---------- Faculty ---------- */
  .faculty-card{
    background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 8px 26px rgba(60,13,70,.08); text-align:center;
  }
  .faculty-card img{width:100%; height:230px; object-fit:cover;}
  .faculty-card .fb{padding:1.2rem 1rem 1.4rem;}
  .faculty-card h6{margin-bottom:.15rem;}
  .faculty-card .role{color:var(--primary); font-size:.82rem; font-weight:600;}
  .faculty-card .desc{font-size:.8rem; color:var(--gray); margin-top:.5rem;}
  .faculty-social a{
    color:var(--gray); margin:0 .3rem; font-size:.95rem;
  }
  .faculty-social a:hover{color:var(--primary);}

  /* ---------- Testimonial tabs ---------- */
  .testi-tab-toggle .btn{
    border-radius:30px; padding:.5rem 1.4rem; font-weight:600; font-size:.9rem;
    border:1.5px solid #ecd9f0; color:var(--gray); background:#fff;
  }
  .testi-tab-toggle .btn.active{background:var(--primary); color:#fff; border-color:var(--primary);}

  /* ---------- Admission process ---------- */
  .admission-steps{list-style:none; padding:0; margin:0; counter-reset:step;}
  .admission-steps li{
    display:flex; gap:1.1rem; padding:1.1rem 0;
    border-bottom:1px dashed #e2d3e6;
  }
  .admission-steps li:last-child{border-bottom:none;}
  .step-num{
    counter-increment:step; flex:0 0 40px; height:40px; border-radius:50%;
    background:var(--primary); color:#fff; font-family:'Fraunces',serif; font-weight:700;
    display:flex; align-items:center; justify-content:center;
  }
  .step-num::before{content:counter(step);}
  .admission-info-card{
    background:#fff; border-radius:16px; padding:1.6rem;
    box-shadow:0 8px 26px rgba(60,13,70,.08); height:100%;
  }
  .admission-info-card h6{color:var(--primary); font-weight:700;}
  .fee-table{width:100%; font-size:.9rem;}
  .fee-table td{padding:.55rem .2rem; border-bottom:1px solid #f0e4f3;}
  .fee-table tr:last-child td{border-bottom:none;}

  /* ---------- Safety & Wellbeing ---------- */
  .safety-section{background:var(--primary-dark); color:#e9d8ee; border-radius:26px; position:relative; overflow:hidden;}
  .safety-section::before{
    content:""; position:absolute; right:-80px; top:-80px; width:260px; height:260px;
    border-radius:50%; background:rgba(240,165,0,.12);
  }
  .safety-card{
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    border-radius:16px; padding:1.6rem; height:100%;
  }
  .safety-card .f-ico{
    width:52px; height:52px; border-radius:14px; background:rgba(240,165,0,.16);
    color:var(--gold-light); display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; margin-bottom:1rem;
  }
  .safety-card h6{color:#fff;}
  .safety-card p{color:#cdb6d3; font-size:.85rem; margin-bottom:0;}

  /* ---------- Alumni ---------- */
  .alumni-card{
    background:#fff; border-radius:16px; overflow:hidden; text-align:center;
    box-shadow:0 8px 26px rgba(60,13,70,.08);
  }
  .alumni-card img{width:100%; height:210px; object-fit:cover;}
  .alumni-card .ab{padding:1.1rem;}
  .alumni-card .batch{color:var(--gold); font-weight:700; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;}
  .alumni-card .role{color:var(--gray); font-size:.82rem;}
  .alumni-network-card{
    background:var(--cream); border-radius:16px; padding:1.8rem; text-align:center; height:100%;
    border:1px dashed #ddc0e3;
  }