/* ============ TOKENS ============ */
  :root{
    --maroon-900:#5c1420;
    --maroon-700:#7a1f2b;
    --maroon-600:#8f2733;
    --navy-900:#0f2236;
    --navy-800:#16324c;
    --gold-600:#b6862c;
    --gold-500:#c9972a;
    --gold-100:#f3e4bf;
    --paper:#faf7f1;
    --paper-dim:#f1ece1;
    --ink:#211b17;
    --ink-soft:#544c44;
    --line:#e4dbc9;
    --white:#ffffff;

    --font-head:'Spectral', Georgia, serif;
    --font-body:'Work Sans', -apple-system, Segoe UI, sans-serif;

    --radius-s:4px;
    --radius-m:8px;
    --shadow-1:0 6px 24px rgba(15,34,54,0.10);
    --shadow-2:0 14px 40px rgba(15,34,54,0.16);
    --container:1180px;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:var(--font-head);margin:0;color:var(--navy-900);font-weight:600;}
  p{margin:0 0 1em;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
  :focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;}

  .eyebrow-tag{
    display:inline-flex;align-items:center;gap:8px;
    font-size:0.78rem;letter-spacing:0.02em;
    color:var(--maroon-700);
    background:var(--gold-100);
    border:1px solid var(--gold-500);
    padding:5px 14px;border-radius:999px;
    font-weight:600;
  }
  .section-head{max-width:860px;margin-bottom:36px;}
  .section-head h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2;margin-top:10px;}
  .section-head p{color:var(--ink-soft);margin-top:12px;font-size:1.02rem;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 26px;border-radius:var(--radius-s);
    font-weight:600;font-size:0.95rem;border:2px solid transparent;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  }
  .btn-primary{background:var(--maroon-700);color:var(--white);}
  .btn-primary:hover{background:var(--maroon-900);}
  .btn-outline{border-color:var(--navy-900);color:var(--navy-900);}
  .btn-outline:hover{background:var(--navy-900);color:var(--white);}
  .btn-gold{background:var(--gold-500);color:var(--navy-900);}
  .btn-gold:hover{background:var(--gold-600);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important;transition-duration:0.001ms !important;}
  }

  /* ============ TOP UTILITY BAR ============ */
  .topbar{
    background:var(--navy-900);
    color:#dfe6ec;
    font-size:0.85rem;
  }
  .topbar .wrap{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;padding:8px 24px;flex-wrap:wrap;
  }
  .topbar-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
  .topbar-left a{display:inline-flex;align-items:center;gap:7px;color:#dfe6ec;}
  .topbar-left a:hover{color:var(--gold-500);}
  .topbar-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .topbar-badge{
    display:inline-flex;align-items:center;gap:7px;
    background:rgba(201,151,42,0.16);
    border:1px solid rgba(201,151,42,0.5);
    color:var(--gold-100);
    padding:4px 12px;border-radius:999px;
    font-weight:600;font-size:0.78rem;
  }
  .topbar-social{display:flex;gap:12px;}
  .topbar-social a{
    width:26px;height:26px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,0.08);
    font-size:0.75rem;color:#dfe6ec;
  }
  .topbar-social a:hover{background:var(--gold-500);color:var(--navy-900);}
  .topbar-switch{
    font-weight:600;color:var(--navy-900);
    background:var(--gold-500);
    padding:5px 14px;border-radius:var(--radius-s);
    font-size:0.78rem;
  }
  .topbar-switch:hover{background:var(--gold-600);}

  /* ============ MAIN HEADER ============ */
  .site-header{
    background:var(--white);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;gap:20px;
  }
  .brand{display:flex;align-items:center;gap:14px;}
  .brand-name{line-height:1.25;}
  .brand-name .school-name{
    font-family:var(--font-head);font-weight:700;
    font-size:1.28rem;color:var(--maroon-700);display:block;
  }
  .brand-name .school-sub{
    font-size:0.78rem;color:var(--ink-soft);letter-spacing:0.03em;
  }
  .header-right{display:flex;align-items:center;gap:22px;}
  .jubilee-badge{width:100px;height:100px;}

  /* ============ NAVIGATION ============ */
  .navbar{
    background:var(--maroon-700);
    position:relative;z-index:60;
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:0 24px;
  }
  .nav-menu{display:flex;align-items:stretch;}
  .nav-menu > li{position:relative;}
  .nav-menu > li > a, .nav-menu > li > button.nav-top-link{
    display:flex;align-items:center;gap:6px;
    padding:16px 18px;color:#f4e9dd;font-weight:500;
    font-size:0.94rem;background:none;border:none;
    white-space:nowrap;
  }
  .nav-menu > li > a:hover, .nav-menu > li > a:focus-visible,
  .nav-menu > li.open > button.nav-top-link{
    background:var(--maroon-900);color:var(--white);
  }
  .nav-menu .caret{font-size:0.7rem;transition:transform .2s ease;}
  .nav-menu > li.open .caret{transform:rotate(180deg);}

  /* simple dropdown */
  .dropdown{
    position:absolute;top:100%;left:0;min-width:230px;
    background:var(--white);box-shadow:var(--shadow-2);
    border-top:3px solid var(--gold-500);
    padding:10px 0;
    opacity:0;visibility:hidden;transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .nav-menu > li.open > .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
  .dropdown li a{
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 20px;color:var(--ink);font-size:0.92rem;
  }
  .dropdown li a:hover{background:var(--paper-dim);color:var(--maroon-700);}
  .dropdown li{position:relative;}

  /* 2-level dropdown for About Us */
  .dropdown .sub-dropdown{
    position:absolute;top:0;left:100%;min-width:210px;
    background:var(--white);box-shadow:var(--shadow-2);
    border-top:3px solid var(--gold-500);padding:10px 0;
    opacity:0;visibility:hidden;transform:translateX(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .dropdown li.has-sub.open .sub-dropdown{opacity:1;visibility:visible;transform:translateX(0);}
  .dropdown li.has-sub > a i.fa-chevron-right{font-size:0.7rem;}

  /* mega menu for facilities */
  .mega{
    position:absolute;top:100%;left:0;
    background:var(--white);box-shadow:var(--shadow-2);
    border-top:3px solid var(--gold-500);
    width:min(760px, 90vw);
    padding:26px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
    opacity:0;visibility:hidden;transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .nav-menu > li.open > .mega{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-col h4{font-size:1rem;letter-spacing:0.06em;color:var(--gold-500);margin-bottom:10px;text-transform:uppercase;}
  .mega-col a{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:0.9rem;color:var(--ink);}
  .mega-col a i{color:var(--gold-600);width:16px;text-align:center;}
  .mega-col a:hover{color:var(--gold-600);}

  .nav-toggle{
    display:none;background:none;border:none;color:var(--white);
    font-size:1.4rem;padding:14px 18px;
  }

  @media (max-width: 991px) {
    /* Hide 3rd level sub-dropdown by default in mobile view */
    .has-sub .sub-dropdown {
      display: none;
      position: static; /* Forces it to flow inline inside the parent menu */
      width: 100%;
      background-color: rgba(0, 0, 0, 0.15); /* Slightly darker shade for depth */
      padding-left: 15px;
    }

    /* Display 3rd level sub-dropdown when 'open-sub' class is toggled */
    .has-sub.open-sub > .sub-dropdown {
      display: block !important;
    }

    /* Rotate the chevron icon down when active */
    .has-sub.open-sub > .sub-toggle .submenu-arrow {
      transform: rotate(90deg);
      transition: transform 0.2s ease;
    }
  }


  /* ============ HERO / BANNER SLIDER ============ */
  .hero-slider{position:relative;overflow:hidden;background:var(--navy-900);}
  .slides{position:relative;height:clamp(360px,58vw,560px);}
  .slide{
    position:absolute;inset:0;opacity:0;visibility:hidden;
    transition:opacity .7s ease;
    display:flex;align-items:flex-end;
  }
  .slide.active{opacity:1;visibility:visible;}
  .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .slide::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(15,34,54,0.85) 0%, rgba(15,34,54,0.25) 55%, rgba(15,34,54,0.05) 100%);
  }
  .slide-copy{position:relative;z-index:2;color:var(--white);padding:48px 24px 64px;max-width:640px;margin:0 auto;width:100%;}
  .slide-copy .eyebrow-tag{background:rgba(201,151,42,0.18);border-color:var(--gold-500);color:var(--gold-100);}
  .slide-copy h2{color:var(--white);font-size:clamp(1.7rem,4vw,2.7rem);margin-top:12px;line-height:1.15;}
  .slide-copy p{color:#e6ecf1;margin-top:12px;max-width:480px;}
  .slide-copy .btn{margin-top:18px;}

  .slider-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:5;
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.4);
    color:var(--white);display:flex;align-items:center;justify-content:center;
    font-size:1rem;
  }
  .slider-arrow:hover{background:var(--gold-500);color:var(--navy-900);border-color:var(--gold-500);}
  .slider-arrow.prev{left:20px;}
  .slider-arrow.next{right:20px;}

  .slider-dots{
    position:absolute;bottom:18px;left:0;right:0;z-index:5;
    display:flex;justify-content:center;gap:9px;
  }
  .slider-dots button{
    width:9px;height:9px;border-radius:50%;border:1px solid var(--white);
    background:transparent;padding:0;
  }
  .slider-dots button.active{background:var(--gold-500);border-color:var(--gold-500);}


  /* ============ ANNOUNCEMENT MARQUEE ============ */
  .marquee-bar{display:flex;align-items:stretch;background:var(--gold-100);border-bottom:3px solid #2454d6;}
  .marquee-badge{flex:none;display:flex;align-items:center;gap:8px;background:var(--maroon-700);color:var(--white);font-weight:700;font-size:0.82rem;letter-spacing:0.04em;text-transform:uppercase;padding:12px 22px;white-space:nowrap;}
  .marquee-scroll{flex:1;overflow:hidden;display:flex;align-items:center;padding:0 20px;min-width:0;}
  .marquee-content{color:var(--navy-900);font-size:0.92rem;font-weight:500;white-space:nowrap;}
  .marquee-content strong{font-weight:700;}
  .marquee-content span{margin-right:60px;}
  .marquee-content a{color:#1d4ed8;font-weight:700;text-decoration:underline;text-underline-offset:2px;}
  .marquee-content a:hover{color:#15308f;}
  @media (max-width:760px){
    .marquee-badge{padding:10px 14px;font-size:0.74rem;}
    .marquee-scroll{padding:0 12px;}
    .marquee-content{font-size:0.82rem;}
    .marquee-content span{margin-right:36px;}
  }

  /* ============ ABOUT SECTION ============ */
  .about-section{padding:76px 0;}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;}
  .about-left .motto-card{
    background:var(--navy-900);color:var(--white);
    border-radius:var(--radius-m);padding:30px;margin-top:22px;
    box-shadow:var(--shadow-1);
  }
  .motto-card .motto-line{
    font-family:var(--font-head);font-size:1.4rem;color:var(--gold-100);
    border-left:3px solid var(--gold-500);padding-left:16px;margin-bottom:20px;
  }
  .vmm-list{display:flex;flex-direction:column;gap:14px;margin-top:22px;}
  .vmm-item{
    display:flex;gap:14px;padding:16px;background:var(--white);
    border:1px solid var(--line);border-radius:var(--radius-m);
  }
  .vmm-item i{color:var(--maroon-700);font-size:1.2rem;margin-top:3px;}
  .vmm-item h4{font-size:1rem;margin-bottom:4px;}
  .vmm-item p{margin:0;font-size:0.92rem;color:var(--ink-soft);}

  .about-right img{border-radius:var(--radius-m);box-shadow:var(--shadow-1);}
  .about-more{max-height:78px;overflow:hidden;transition:max-height .4s ease;position:relative;}
  .about-more.expanded{max-height:600px;}
  .read-more-btn{margin-top:16px;}
  .read-more-btn i{transition:transform .25s ease;}
  .read-more-btn.expanded i{transform:rotate(180deg);}

  /* ============ BREADCRUMB ============ */
  .breadcrumb-section{
    background:var(--navy-900);
    background-image:radial-gradient(circle at 85% 20%, rgba(201,151,42,0.16), transparent 55%);
    padding:52px 0;
    position:relative;
    border-bottom:3px solid var(--gold-500);
  }
  .breadcrumb-section .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .breadcrumb-section h1{color:var(--white);font-size:clamp(1.7rem,3.4vw,2.5rem);}
  .breadcrumb-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:0.92rem;}
  .breadcrumb-list li{display:flex;align-items:center;gap:10px;color:var(--gold-100);}
  .breadcrumb-list li a{color:#dfe6ec;}
  .breadcrumb-list li a:hover{color:var(--gold-500);}
  .breadcrumb-list li:not(:last-child)::after{content:"/";color:rgba(255,255,255,0.35);margin-left:10px;}
  .breadcrumb-list li:last-child{color:var(--gold-500);font-weight:600;}

  /*Page President*/
    /* ============ GALLERY FILTER + GRID ============ */
  .gallery-intro{padding:76px 0 12px;}
  .gallery-category-section{padding:44px 0;border-bottom:1px solid var(--line);}
  .gallery-category-section.alt{background:var(--paper-dim);}
  .gallery-category-section:last-of-type{border-bottom:none;}
  .category-head{max-width:640px;margin-bottom:26px;}
  .category-head .eyebrow-tag{margin-bottom:12px;}
  .category-head h3{font-size:clamp(1.4rem,2.6vw,1.9rem);}
  .category-head p{color:var(--ink-soft);margin-top:8px;font-size:0.98rem;}

/* ---------- Row / column grid (mobile-first) ---------- */
.row{display:flex;flex-wrap:wrap;margin:0 -12px;}
.row > [class*="col-"]{padding:0 12px;margin-bottom:24px;}
.col-12{flex:0 0 100%;max-width:100%;}
.col-md-6{flex:0 0 100%;max-width:100%;}
.col-lg-4{flex:0 0 100%;max-width:100%;}
.col-lg-6{flex:0 0 100%;max-width:100%;}
.col-lg-8{flex:0 0 100%;max-width:100%;}

@media (min-width:601px){
    .col-md-6{flex:0 0 50%;max-width:50%;}
    .col-md-4{flex:0 0 50%;max-width:50%;}
  }
  
@media (min-width:981px){
  .col-lg-4{flex:0 0 33.3333%;max-width:33.3333%;}
  .col-lg-6{flex:0 0 50%;max-width:50%;}
  .col-lg-8{flex:0 0 66.6667%;max-width:66.6667%;}
}



  .gallery-row{margin-bottom:-18px;}
  .gallery-item{
    margin:0;position:relative;overflow:hidden;border-radius:var(--radius-m);
    cursor:pointer;box-shadow:var(--shadow-1);
  }
  .gallery-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .4s ease;}
  .gallery-item:hover img{transform:scale(1.06);}
  .gallery-overlay{
    position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,34,54,0.8), rgba(15,34,54,0) 55%);
    display:flex;align-items:flex-end;padding:14px;opacity:0;transition:opacity .25s ease;
  }
  .gallery-item:hover .gallery-overlay{opacity:1;}
  .gallery-overlay span{color:var(--white);font-weight:600;font-size:0.88rem;display:flex;align-items:center;gap:8px;}

  .lightbox{
    position:fixed;inset:0;background:rgba(10,18,28,0.94);
    display:none;align-items:center;justify-content:center;z-index:200;padding:20px;
  }
  .lightbox.open{display:flex;}
  .lightbox-inner{max-width:900px;width:100%;text-align:center;}
  .lightbox img{max-height:76vh;margin:0 auto;border-radius:var(--radius-s);}
  .lightbox-caption{color:#e6ecf1;margin-top:14px;font-size:0.95rem;}
  .lightbox-close{position:absolute;top:22px;right:26px;color:var(--white);font-size:1.7rem;background:none;border:none;}
  .lightbox-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;color:var(--white);
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.35);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  }
  .lightbox-arrow:hover{background:var(--gold-500);color:var(--navy-900);}
  .lightbox-arrow.prev{left:24px;}
  .lightbox-arrow.next{right:24px;}

  .rules-list{list-style:none;counter-reset:rule-counter;}
  .rules-list li{counter-increment:rule-counter;display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:0.95rem;color:var(--ink-soft);}
  .rules-list li::before{content:counter(rule-counter);flex:none;width:28px;height:28px;border-radius:50%;background:var(--maroon-700);color:var(--white);font-weight:700;font-size:0.82rem;display:flex;align-items:center;justify-content:center;}
  .rules-list li:last-child{border-bottom:none;}


  /* ============ CAMPUS HIGHLIGHTS / GALLERY ============ */
  .gallery-section{padding:76px 0;background:var(--paper-dim);}
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .gallery-grid figure{
    margin:0;position:relative;overflow:hidden;border-radius:var(--radius-m);
    cursor:pointer;box-shadow:var(--shadow-1);
  }
  .gallery-grid figure:nth-child(1){grid-column:span 2;grid-row:span 2;}
  .gallery-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;transition:transform .4s ease;}
  .gallery-grid figure:nth-child(1) img{aspect-ratio:1/1;}
  .gallery-grid figure:hover img{transform:scale(1.06);}
  .gallery-overlay{
    position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,34,54,0.78), rgba(15,34,54,0) 55%);
    display:flex;align-items:flex-end;padding:14px;opacity:0;transition:opacity .25s ease;
  }
  .gallery-grid figure:hover .gallery-overlay{opacity:1;}
  .gallery-overlay span{color:var(--white);font-weight:600;font-size:0.92rem;display:flex;align-items:center;gap:8px;}

  .lightbox{
    position:fixed;inset:0;background:rgba(10,18,28,0.94);
    display:none;align-items:center;justify-content:center;z-index:200;padding:20px;
  }
  .lightbox.open{display:flex;}
  .lightbox-inner{max-width:900px;width:100%;text-align:center;}
  .lightbox img{max-height:76vh;margin:0 auto;border-radius:var(--radius-s);}
  .lightbox-caption{color:#e6ecf1;margin-top:14px;font-size:0.95rem;}
  .lightbox-close{
    position:absolute;top:22px;right:26px;color:var(--white);font-size:1.7rem;
    background:none;border:none;
  }
  .lightbox-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;color:var(--white);
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.35);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  }
  .lightbox-arrow:hover{background:var(--gold-500);color:var(--navy-900);}
  .lightbox-arrow.prev{left:24px;}
  .lightbox-arrow.next{right:24px;}

   /* ============ VIDEO GALLERY ============ */
  .video-section{padding:76px 0;background:var(--paper-dim);}
  .video-row{margin-bottom:-22px;}
  .video-card{background:var(--white);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-1);display:block;}
  .video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
  .video-thumb img{width:100%;height:100%;object-fit:cover;}
  .video-play{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(15,34,54,0.35);
  }
  .video-play i{
    width:56px;height:56px;border-radius:50%;background:var(--gold-500);color:var(--navy-900);
    display:flex;align-items:center;justify-content:center;font-size:1.2rem;
    box-shadow:var(--shadow-2);
  }
  .video-card-body{padding:16px 18px;}
  .video-card-body h4{font-size:1rem;margin-bottom:4px;}
  .video-card-body p{margin:0;font-size:0.86rem;color:var(--ink-soft);}

  /* ============ EDUCATIONAL WINGS ============ */
  .wings-section{padding:76px 0;}
  .wings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .wing-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);
    padding:30px 24px;text-align:left;position:relative;overflow:hidden;
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .wing-card:hover{box-shadow:var(--shadow-1);transform:translateY(-3px);}
  .wing-card .wing-icon{
    width:52px;height:52px;border-radius:50%;background:var(--gold-100);
    display:flex;align-items:center;justify-content:center;color:var(--maroon-700);
    font-size:1.3rem;margin-bottom:18px;
  }
  .wing-card h3{font-size:1.12rem;margin-bottom:6px;}
  .wing-card .wing-range{
    display:inline-block;font-size:0.78rem;font-weight:600;color:var(--maroon-700);
    background:var(--paper-dim);padding:3px 10px;border-radius:999px;margin-bottom:10px;
  }
  .wing-card p{font-size:0.9rem;color:var(--ink-soft);margin:0;}

  /* ============ PRINCIPAL ============ */
  .principal-section{padding:76px 0;background:var(--navy-900);color:#dfe6ec;}
  .principal-grid{display:grid;grid-template-columns:340px 1fr;gap:52px;align-items:center;}
  .principal-photo{position:relative;}
  .principal-photo img{border-radius:var(--radius-m);box-shadow:var(--shadow-2);}
  .principal-photo .frame-tag{
    position:absolute;bottom:-16px;left:-16px;background:var(--gold-500);
    color:var(--navy-900);padding:10px 18px;border-radius:var(--radius-s);
    font-weight:700;font-size:0.82rem;box-shadow:var(--shadow-1);
  }
  .principal-section .eyebrow-tag{background:rgba(201,151,42,0.16);border-color:var(--gold-500);color:var(--gold-100);}
  .principal-section h2{color:var(--white);margin-top:14px;font-size:clamp(1.6rem,3vw,2.2rem);}
  .principal-quote{
    font-family:var(--font-head);font-size:1.15rem;color:var(--gold-100);
    border-left:3px solid var(--gold-500);padding-left:18px;margin:20px 0;line-height:1.5;
  }
  .principal-section p.msg{color:#c7d2db;}
  .principal-name{margin-top:18px;}
  .principal-name strong{display:block;color:var(--white);font-family:var(--font-head);font-size:1.05rem;}
  .principal-name span{font-size:0.85rem;color:var(--gold-100);}


  /* ============ GENERIC CONTENT BLOCKS ============ */
  .content-section{padding:64px 0;}
  .content-section.alt{background:var(--paper-dim);}
  .content-section.dark{background:var(--navy-900);color:#dfe6ec;}
  .content-section.dark h2, .content-section.dark h3{color:var(--white);}
  .content-section.dark p{color:#c7d2db;}
  .lead-text{max-width:820px;font-size:1.05rem;color:var(--ink-soft);}

  .info-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;height:100%;box-shadow:var(--shadow-1);}
  .info-card .card-icon{width:48px;height:48px;border-radius:50%;background:var(--gold-100);color:var(--maroon-700);display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:16px;}
  .info-card h3{font-size:1.08rem;margin-bottom:10px;}
  .info-card p{font-size:0.92rem;color:var(--ink-soft);margin:0 0 10px;}
  .info-card ul{margin-top:8px;}
  .info-card ul li{font-size:0.88rem;color:var(--ink-soft);padding-left:18px;position:relative;margin-bottom:6px;}
  .info-card ul li::before{content:"";position:absolute;left:0;top:0.55em;width:6px;height:6px;border-radius:50%;background:var(--gold-500);}

  .numbered-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;height:100%;box-shadow:var(--shadow-1);position:relative;}
  .numbered-card .num{font-family:var(--font-head);font-size:1.6rem;color:var(--gold-500);font-weight:700;margin-bottom:10px;display:block;}
  .numbered-card h3{font-size:1.05rem;margin-bottom:8px;}
  .numbered-card p{font-size:0.9rem;color:var(--ink-soft);margin:0;}

  .subject-list{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;height:100%;}
  .subject-list h3{font-size:1.05rem;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
  .subject-list h3 i{color:var(--maroon-700);}
  .subject-list .tag-row{display:flex;flex-wrap:wrap;gap:8px;}
  .subject-list .tag-row span{background:var(--paper-dim);border:1px solid var(--line);color:var(--ink-soft);font-size:0.84rem;padding:6px 12px;border-radius:999px;}

  .rules-list{list-style:none;counter-reset:rule-counter;}
  .rules-list li{counter-increment:rule-counter;display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:0.95rem;color:var(--ink-soft);}
  .rules-list li::before{content:counter(rule-counter);flex:none;width:28px;height:28px;border-radius:50%;background:var(--maroon-700);color:var(--white);font-weight:700;font-size:0.82rem;display:flex;align-items:center;justify-content:center;}
  .rules-list li:last-child{border-bottom:none;}

  .contact-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px 24px;text-align:center;height:100%;box-shadow:var(--shadow-1);}
  .contact-card .card-icon{width:56px;height:56px;border-radius:50%;background:var(--maroon-700);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 16px;}
  .contact-card h3{font-size:1rem;margin-bottom:8px;}
  .contact-card p{font-size:0.92rem;color:var(--ink-soft);margin:0;}
  .contact-card a{color:var(--maroon-700);font-weight:600;}

  .map-frame{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-1);border:1px solid var(--line);}
  .map-frame iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}

  .form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:32px;box-shadow:var(--shadow-1);}
  .form-field{margin-bottom:18px;}
  .form-field label{display:block;font-size:0.86rem;font-weight:600;color:var(--navy-900);margin-bottom:6px;}
  .form-field input, .form-field textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-s);font-family:inherit;font-size:0.94rem;background:var(--paper-dim);}
  .form-field input:focus, .form-field textarea:focus{outline:2px solid var(--gold-500);outline-offset:1px;background:var(--white);}
  .form-field textarea{resize:vertical;min-height:120px;}

  .staff-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-1);}
  .staff-card .staff-photo{cursor:pointer;overflow:hidden;}
  .staff-card .staff-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .staff-card .staff-photo:hover img{transform:scale(1.04);}
  .staff-card .staff-body{padding:18px 20px;}
  .staff-card h3{font-size:1.05rem;margin-bottom:4px;}
  .staff-card p{margin:0;font-size:0.88rem;color:var(--ink-soft);}

  .committee-frame{border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-2);cursor:pointer;}
  .committee-frame img{width:100%;display:block;}

  .quote-block{font-family:var(--font-head);font-size:1.2rem;color:var(--gold-100);border-left:3px solid var(--gold-500);padding-left:20px;margin:22px 0;line-height:1.55;}
  .principal-photo-frame{position:relative;}
  .principal-photo-frame img{border-radius:var(--radius-m);box-shadow:var(--shadow-2);width:100%;}
  .principal-photo-frame .frame-tag{position:absolute;bottom:-14px;left:-14px;background:var(--gold-500);color:var(--navy-900);padding:9px 16px;border-radius:var(--radius-s);font-weight:700;font-size:0.8rem;box-shadow:var(--shadow-1);}
  .principal-name-block strong{display:block;color:var(--white);font-family:var(--font-head);font-size:1.05rem;}
  .principal-name-block span{font-size:0.85rem;color:var(--gold-100);}

    .principal-photo-frame{position:relative;}
  .principal-photo-frame img{border-radius:var(--radius-m);box-shadow:var(--shadow-2);width:100%;}
  .principal-photo-frame .frame-tag{position:absolute;bottom:-14px;left:-14px;background:var(--gold-500);color:var(--navy-900);padding:9px 16px;border-radius:var(--radius-s);font-weight:700;font-size:0.8rem;box-shadow:var(--shadow-1);}
  .principal-name-block strong{display:block;color:var(--white);font-family:var(--font-head);font-size:1.05rem;}
  .principal-name-block span{font-size:0.85rem;color:var(--gold-100);}
  .quote-block{font-family:var(--font-head);font-size:1.2rem;color:var(--gold-100);border-left:3px solid var(--gold-500);padding-left:20px;margin:22px 0;line-height:1.55;}

  .lightbox{position:fixed;inset:0;background:rgba(10,18,28,0.94);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
  .lightbox.open{display:flex;}
  .lightbox-inner{max-width:900px;width:100%;text-align:center;}
  .lightbox img{max-height:80vh;margin:0 auto;border-radius:var(--radius-s);}
  .lightbox-close{position:absolute;top:22px;right:26px;color:var(--white);font-size:1.7rem;background:none;border:none;}

  .table-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-1);overflow-x:auto;}
  .members-table{width:100%;border-collapse:collapse;min-width:520px;}
  .members-table thead th{background:var(--maroon-700);color:var(--white);text-align:left;padding:14px 20px;font-family:var(--font-head);font-weight:600;font-size:0.92rem;}
  .members-table thead th:first-child{width:90px;}
  .members-table tbody td{padding:13px 20px;border-bottom:1px solid var(--line);font-size:0.94rem;color:var(--ink);}
  .members-table tbody tr:last-child td{border-bottom:none;}
  .members-table tbody tr:nth-child(even){background:var(--paper-dim);}
  .designation-tag{display:inline-block;background:var(--gold-100);color:var(--maroon-700);border:1px solid var(--gold-500);font-size:0.8rem;font-weight:600;padding:3px 12px;border-radius:999px;}


  /* ============ FOOTER ============ */
  .site-footer{background:var(--maroon-900);color:#f0e2d8;padding-top:64px;}
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;
    padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .footer-grid h4{
    color:var(--gold-100);font-size:1.2rem;margin-bottom:18px;
    font-family:var(--font-head);
  }
  .footer-col p{font-size:0.9rem;color:#e6d2c4;}
  .footer-col ul li{margin-bottom:11px;}
  .footer-col ul li a{font-size:0.9rem;color:#e6d2c4;display:flex;align-items:center;gap:8px;}
  .footer-col ul li a:hover{color:var(--gold-500);}
  .footer-contact li{display:flex;gap:10px;align-items:flex-start;font-size:0.9rem;color:#e6d2c4;margin-bottom:14px;}
  .footer-contact i{color:var(--gold-500);margin-top:3px;width:16px;}
  .footer-social{display:flex;gap:10px;margin-top:18px;}
  .footer-social a{
    width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.1);
    display:flex;align-items:center;justify-content:center;color:var(--white);
  }
  .footer-social a:hover{background:var(--gold-500);color:var(--navy-900);}
  .footer-bottom{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 20px;font-size:0.82rem;color:#d8bfae;flex-wrap:wrap;gap:10px;
  }

    @media (max-width:480px){
    .topbar-badge{display:none;}
    .breadcrumb-section h1{font-size:1.5rem;}
  }

  /* ============ BACK TO TOP + FLOATING SOCIAL ============ */
  .back-to-top{
    position:fixed;right:24px;bottom:24px;z-index:150;
    width:46px;height:46px;border-radius:50%;
    background:var(--maroon-700);color:var(--white);border:none;
    display:flex;align-items:center;justify-content:center;font-size:1.05rem;
    box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(10px);
    transition:opacity .25s ease, transform .25s ease, background .2s ease;
  }
  .back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
  .back-to-top:hover{background:var(--maroon-900);}

  .floating-social{position:fixed;left:0;top:40%;z-index:150;display:flex;flex-direction:column;}
  .floating-social-toggle{
    width:42px;height:42px;border-radius:0 8px 8px 0;
    background:var(--navy-900);color:var(--white);border:none;font-size:1.05rem;
    box-shadow:var(--shadow-1);
  }
  .floating-social-links{
    display:flex;flex-direction:column;overflow:hidden;
    max-height:0;transition:max-height .35s ease;
    background:var(--navy-900);border-radius:0 8px 8px 0;
  }
  .floating-social-links.open{max-height:260px;}
  .floating-social-links a{
    width:42px;height:42px;display:flex;align-items:center;justify-content:center;
    color:var(--white);font-size:1rem;border-top:1px solid rgba(255,255,255,0.12);
  }
  .floating-social-links a:hover{background:var(--gold-500);color:var(--navy-900);}

  /* ============ MOBILE ============ */
  @media (max-width:980px){
    .about-grid{grid-template-columns:1fr;}
    .wings-grid{grid-template-columns:repeat(2,1fr);}
    .principal-grid{grid-template-columns:1fr;}
    .principal-photo{max-width:300px;margin:0 auto;}
    .gallery-grid{grid-template-columns:repeat(3,1fr);}
    .gallery-grid figure:nth-child(1){grid-column:span 3;grid-row:span 1;aspect-ratio:16/9;}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }

  @media (max-width:760px){
    .topbar .wrap{justify-content:center;text-align:center;}
    .topbar-left{justify-content:center;}
    .nav-toggle{display:block;margin-left:auto;}
    .nav-menu{
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;background:var(--maroon-900);
      max-height:0;overflow:hidden;transition:max-height .3s ease;
    }
    .nav-menu.open{max-height:1200px;}
    .nav-menu > li{width:100%;}
    .nav-menu > li > a, .nav-menu > li > button.nav-top-link{width:100%;justify-content:space-between;}
    .dropdown, .mega{
      position:static;box-shadow:none;width:100%;opacity:1;visibility:visible;transform:none;
      display:none;border-top:1px solid rgba(255,255,255,0.15);background:var(--maroon-600);
      grid-template-columns:1fr;
    }
    .nav-menu > li.open > .dropdown, .nav-menu > li.open > .mega{display:block;}
    .dropdown li a{color:#f4e9dd;}
    .dropdown li a:hover{background:var(--maroon-900);color:var(--white);}
    .sub-dropdown{position:static;box-shadow:none;transform:none;display:none;width:100%;background:var(--maroon-700);}
    .dropdown li.has-sub.open .sub-dropdown{display:block;}
    .mega-col a{color:#f4e9dd;}
    .wings-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid figure:nth-child(1){grid-column:span 2;}
    .footer-grid{grid-template-columns:1fr;}
  }

  /* ============ VIDEO GALLERY ============ */
  .video-section{padding:76px 0;background:var(--paper-dim);}
  .video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .video-card{background:var(--white);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-1);}
  .video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
  .video-thumb img{width:100%;height:100%;object-fit:cover;}
  .video-play{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(15,34,54,0.35);
  }
  .video-play i{
    width:56px;height:56px;border-radius:50%;background:var(--gold-500);color:var(--navy-900);
    display:flex;align-items:center;justify-content:center;font-size:1.2rem;
    box-shadow:var(--shadow-2);
  }
  .video-card-body{padding:16px 18px;}
  .video-card-body h4{font-size:1rem;margin-bottom:4px;}
  .video-card-body p{margin:0;font-size:0.86rem;color:var(--ink-soft);}



/*CTA*/
/* Admissions Banner Card Container */
    .admissions-card {
      background-color: #fdfbf8;
      border: 1px solid #eae3d9;
      border-radius: 20px;
      padding: 52px 36px;
      max-width: 820px;
      width: 100%;
      text-align: center;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.015);
    }

    /* Badge Icon Styling */
    .icon-badge {
      width: 52px;
      height: 52px;
      border: 1.5px solid #d4a359;
      border-radius: 50%;
      background-color: #fdfbf7;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      color: #8c3825;
      font-size: 20px;
    }

    /* Card Heading */
    .card-title {
      font-family: 'Playfair Display', Georgia, serif;
      font-size: 28px;
      font-weight: 700;
      color: #1f1915;
      margin-bottom: 16px;
      line-height: 1.3;
    }

    /* Card Paragraph Text */
    .card-description {
      font-size: 15px;
      line-height: 1.6;
      color: #665e55;
      max-width: 620px;
      margin: 0 auto 28px auto;
    }

    /* Action Buttons Area */
    .button-group {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 24px;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.2s ease-in-out;
    }

    /* Primary Dark Red / Brown Button */
    .btn-primary {
      background-color: #8c3825;
      color: #ffffff;
      border: 1px solid #8c3825;
    }

    .btn-primary:hover {
      background-color: #722c1c;
      border-color: #722c1c;
    }

    /* Secondary White Button */
    .btn-secondary {
      background-color: #ffffff;
      color: #4a423a;
      border: 1px solid #d6cec5;
    }

    .btn-secondary:hover {
      background-color: #f5f2ed;
      border-color: #c4bbb0;
    }

    /* Responsive tweaks for smaller screens */
    @media (max-width: 600px) {
      .admissions-card {
        padding: 32px 20px;
      }

      .card-title {
        font-size: 22px;
      }

      .card-description {
        font-size: 14px;
      }

      .button-group {
        flex-direction: column;
        width: 100%;
      }

      .btn {
        width: 100%;
        justify-content: center;
      }
    }


      /* ---- Fallback styling for the enquiry form (safe if these classes aren't yet in style.css) ---- */
  .enquiry-form .form-row{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:20px;}
  .enquiry-form .form-group{flex:1 1 260px;display:flex;flex-direction:column;}
  .enquiry-form .form-group.full{flex:1 1 100%;}
  .enquiry-form label{margin-bottom:8px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:.2px;}
  .enquiry-form label .req{color:#c9972a;margin-left:3px;}
  .enquiry-form input[type="text"],
  .enquiry-form input[type="tel"],
  .enquiry-form input[type="email"],
  .enquiry-form input[type="date"],
  .enquiry-form select{
    padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.06);color:inherit;font-family:'Work Sans',sans-serif;font-size:15px;
  }
  .enquiry-form input::placeholder{color:rgba(255,255,255,0.45);}
  .enquiry-form input:focus,
  .enquiry-form select:focus{outline:none;border-color:var(--gold-500, #c9972a);}
  .captcha-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .captcha-box{
    display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:8px 12px;
  }
  #captchaCanvas{border-radius:6px;background:#f3e4bf;}
  .captcha-refresh{background:none;border:none;cursor:pointer;font-size:16px;color:var(--gold-500,#c9972a);}
  .form-note{font-size:13px;opacity:.75;margin-top:6px;}
  .form-error{color:#e2665a;font-size:13px;margin-top:6px;display:none;}
  .form-success{
    display:none;margin-top:24px;padding:16px 18px;border-radius:8px;
    background:rgba(90,180,120,0.14);border:1px solid rgba(90,180,120,0.4);color:#bfe8cf;font-family:'Work Sans',sans-serif;
  }
  .enquiry-submit-btn{
    margin-top:8px;display:inline-flex;align-items:center;gap:10px;
    background:var(--gold-500,#c9972a);color:#2a1508;border:none;
    padding:14px 32px;border-radius:8px;font-family:'Work Sans',sans-serif;
    font-weight:600;font-size:15px;letter-spacing:.3px;cursor:pointer;transition:opacity .2s ease;
  }
  .enquiry-submit-btn:hover{opacity:.9;}



  /* Desktop Hover & Open Class Display */
.dropdown li.has-sub:hover > ul,
.dropdown li.has-sub.open > ul,
.dropdown li.has-sub.open-sub > ul {
  display: block !important;
  visibility: visible;
  opacity: 1;
}

/* Mobile Level 2 & Level 3 Dropdown Fix */
@media (max-width: 760px) {
  .dropdown .has-sub > ul {
    display: none;
  }
  
  .dropdown .has-sub.open > ul,
  .dropdown .has-sub.open-sub > ul {
    display: block !important;
  }
}

/* 3rd Level Active Open (Fix) */
  .nav-menu ul li.has-sub.active > ul {
    display: block !important;
  }


/* ================= FLOATING SOCIAL ================= */
.floating-social{
  --fs-bg:#0f2340;
  --fs-size:44px;
  position:fixed !important;
  left:0;top:55%;
  transform:translateY(-50%);
  z-index:9998;
  display:flex;flex-direction:column;align-items:flex-start;
  filter:drop-shadow(2px 3px 8px rgba(0,0,0,.18));
}
.fs-toggle{
  width:var(--fs-size);height:var(--fs-size);
  background:var(--fs-bg);color:#fff;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:17px;
  border-radius:0 8px 8px 0;
  transition:border-radius .25s ease, background .2s;
}
.fs-toggle:hover{background:#c9972a;}
.fs-toggle:focus-visible,.fs-list a:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.floating-social.open .fs-toggle{border-radius:0 8px 0 0}

.fs-list{
  display:flex;flex-direction:column;
  background:var(--fs-bg);
  border-radius:0 0 8px 0;
  overflow:hidden;
  max-height:0;
  transition:max-height .35s ease;
}
.floating-social.open .fs-list{max-height:calc(var(--fs-size) * 5 + 10px)}
.fs-list a{
  width:var(--fs-size);height:var(--fs-size);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:17px;
  border-top:1px solid rgba(255,255,255,.12);
  transition:background .2s,color .2s;
}
.fs-list a:hover{background:var(--gold);color:var(--fs-bg)}
