@import url('https://fonts.googleapis.com/css2?family=La+Belle+Aurore&amp;family=Libre+Franklin:wght@300&amp;family=Noto+Sans:wght@100&amp;family=Poppins:wght@300;500&amp;display=swap');



.whatsapp-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 60px;
    font-size: 24px;
    z-index: 999;
    transition: all 0.3s ease-in-out;
  }
  
  .whatsapp-button:hover {
    background-color: #128c7e;
  }
  
  


.footer-right-bottom-section a {
text-decoration: none;
}





.centered-video {
    display: block;
    margin: 0 auto;
    width: 1900px; 
    height: 350px; 
    object-fit: cover; 
  }

.home-ideal-video {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
}

.home-ideal-video iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw;
    min-width: 177.78vh;
    min-height: 100%;
    border: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}


.gallerysa {

    width: 100%;
  
    margin: 0 auto;
  
    padding: 5px;
  
    background: #fff;
  
  
  
    box-shadow: 0 1px 2px rgba(0,0,0,.3);
  
  box-sizing: border-box;
  
  }
  
  
  
  .gallerysa > div {
  
    position: relative;
  
    float: left;
  
    padding: 5px;
  
  }
  
  
  
  .gallerysa > div > img {
  
    display: block;
  
    width: 75px;
  
    height:100px;
  
    transition: .1s transform;
  
    transform: translateZ(0); 
  
  }
  
  
  
  .gallerysa > div:hover {
  
    z-index: 1;
  
  }
  
  
  
  .gallerysa > div:hover > img {
  
    transform: scale(3,4);
  
    transition: .3s transform;
  
  }
  
  
  
  .cf:before, .cf:after {
  
    display: table;
  
    content: "";
  
    line-height: 0;
  
  }
  
  
  
  .cf:after {
  
    clear: both;
  
  }




.card:hover {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
    transform: translateY(-5px);
    transition: all 0.3s ease-in-out;
  }


#sidebar h5{
	background:#322935;
	color:#fff;
	padding:10px;
	font-size:15px;
	font-weight:500;
	margin: 0px;
}
#sidebar .list-group-item{
    font-size:14px;
    color:#333;
    font-weight:500;
    padding:6px 10px;
    text-decoration: none;
}

#sidebar .list-group > div > .list-group-item{
	padding-left: 20px !important;
}
#sidebar .list-group-item:hover,
#sidebar .list-group-item.active{
	color: #fff;
	background: #07377d;
    border: 1px solid rgba(0,0,0,.125);
}



.top-strip{
    background-color: #062966;
    height: 40px;
    display: block;
}
.top-strip-all{
    padding: 10px 8px 0px 8px;
    height: 40px;
}
.top-strip-one{
    width:15%;
}
.top-strip-one-text{
    font: normal normal bold 15px/17px Arial;
    text-align: center;
}
.top-strip-two {
    width: 20%;
}
.top-strip-two-text{
    font: normal normal bold 15px/23px 'Poppins', sans-serif;
    letter-spacing: 0px;
    color: #fff;
}
.top-strip-three{
    width: 25%;
}
.top-strip-three-text{
    font: normal normal normal 14px/17px Arial;
    text-align: center;
}
.top-strip-last{
    background-color: #213A7C;
    display: flex;
    height: 40px;
    width: 50%;
}
.top-strip-text ul{
    list-style: none;
    display: flex;
    margin: 0px;
    padding: 0px;
}
.top-strip-text ul li:first-child a{
    
    padding: 12px 7px 10px 7px;
}
.top-strip-text ul li a:hover {
	background: #fff;
  
    font: normal normal normal 15px/17px Arial;
    letter-spacing: 0.23px;
    text-decoration: none;
    color: #000;
}
.top-strip-text ul li a {
   padding: 11px 17px;
    font: normal normal normal 15px/17px Arial;
    letter-spacing: 0.23px;
    text-decoration: none;
    color: #fff;
}
.top-strip-icons ul{
    list-style: none;
    display: flex;
    margin: 0px;
    padding: 0px;
}
.top-strip-icons ul li {
    padding: 11px 9px;
    font: normal normal normal 15px/17px Arial;
}
.top-strip-icons ul:first-child::before {
    content: '|';
    margin-top: 5px;
}

.top-nav{
    padding: 10px 0px;
    display: flex;
    align-items: center;
}
.top-nav ul li{
    display: inline; 
    font: normal normal normal 15px/23px 'Poppins', sans-serif;
    white-space: normal; 

}
.top-strip-text {
    display: flex;
    align-items: center;
}
.top-nav ul li a {
    color: #4A4A4A;
    padding: 10px 9px;
    text-decoration: none;
    word-break: break-word; 
    display: inline-block;
}
.top-nav ul {
    width: 100%;
    text-align: right;
    padding: 0;
    margin: 0;
    display: flex; 
    flex-wrap: wrap; 
    gap: 10px; 
}
.top-nav ul li {
    display: inline-flex; 
    font: normal normal normal 15px/23px 'Poppins', sans-serif;
    white-space: normal; 
    max-width: 120px; 
}
.md-top-nav-secion{
    display: block;
}

.large-main-nav{
    
    background-color: #213A7C;
}
.navbar-brand{
    display: none;
}






.mbl-top-section{
    display: none;
}
.inner-mbl-top-nav a{
    color: #fff;
    padding: 2px 7px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
    text-decoration: none;
}
.inner-mbl-top-nav a:hover {
    color: #fff;
    opacity: 0.5;
}

.mbl-top-nav{
    background-color: #172855;
    padding-top: 5px;
    padding-bottom: 5px;
    display: none;
}
img.logo.img-fluid {
    margin: 10px 0px;
    width: 400px;
}


.navbar-brand img {
    width: 200px;
}
.navbar-collapse.show {
    background-color: #172855;
    padding: 20px 40px;
}
.navbar-dark .navbar-toggler-icon{
    background-image: url(../img/logo/hamburger.png) !important;
}
.navbar-dark .navbar-toggler {
    color: #eee !important;
    border-color: #eee !important;
}
ul.navbar-nav {
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
}

@media (min-width: 992px) {
    #large-main-nav .container {
        max-width: 100%;
        display: flex;
        justify-content: center;
    }

    #large-main-nav #main_nav {
        flex-grow: 0;
        justify-content: center;
    }

    #large-main-nav .navbar-nav {
        flex-grow: 0;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        margin: 0 auto;
    }
}


.banner-img{
    width: 100%;
}

.tabs-section-bg-img{
    background-image: linear-gradient(rgba(23,90,159,0.9),rgba(23,90,159,0.9)), url(../img/banner_section/square-photos.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 600px;
}
.marquee-heading{
    
	background: #07377d 0% 0% no-repeat padding-box;
    padding: 6px 20px;
    font: normal normal normal 19px/29px 'Poppins', sans-serif;
    color: #fff;
}
.marquee-text{
    background: #FFD500 0% 0% no-repeat padding-box;
    font: normal normal bold 15px/29px 'Poppins', sans-serif;
    color: #512900;
    padding: 8px 20px;
}
.marquee-section{
    height: 40px;
}

.arrow-tabs {
    width:100%;
    min-width:348px;
  }
  .arrow-tabs > ul {
    text-align:center;
    font-weight:500;
    padding:0;
    position:relative;
    border-bottom:1px solid rgba(0,0,0,0.2);
    z-index:1;
  }
   
  .arrow-tabs > ul > li {
    display: inline-block;
    background:#3C59A5;
    padding:0.6em 0;
    position:relative;
    width: 25%;
    margin: 0 -2px 0 -3px;
  }
  .arrow-tabs > ul > li:before, .arrow-tabs > ul > li:after {
    opacity:0;
    transition:0.3s ease;
  }
  .arrow-tabs > ul > li.ui-tabs-active:before, .arrow-tabs > ul > li.ui-tabs-active:after {
    opacity:1;
  }
  .arrow-tabs > ul > li.ui-tabs-active a {
    color:#fff;
  }
  .arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:before, .arrow-tabs > ul > li:focus:after {
    opacity:1;
  }
  .arrow-tabs > ul > li:before, .arrow-tabs > ul > li.ui-state-active:hover:before, .arrow-tabs > ul > li.ui-state-active:focus:before {
    content:"";
    position:absolute;
    z-index:-1;
    box-shadow:0 2px 3px rgba(0,153,148,0.5);
    top:50%;
    bottom:0px;
    left:5px;
    right:5px;
    border-radius:100px /10px;
  }
  .arrow-tabs > ul > li:after, .arrow-tabs > ul > li.ui-state-active:hover:after, .arrow-tabs > ul > li.ui-state-active:focus:after {
    content: "";
    clip-path: polygon(100% 0, 0 0, 51% 100%);
    background-color: #213A7C;
    position: absolute;
    width: 25px;
    height: 16px;
    left: 50%;
    bottom: -16px;
    margin-left: -6px;
    box-shadow:3px 3px 3px rgba(0,153,148,0.5),1px 1px 1px rgba(0,0,0,0.3);
  }
  .arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:focus:before {
    box-shadow:0 2px 3px rgba(0,0,0,0.2);
  }
  .arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:after {
    box-shadow:3px 3px 3px rgba(0,0,0,0.2),1px 1px 1px rgba(0,0,0,0.3);
  }
  .arrow-tabs > ul > li:focus {
    outline:none;
  }
  .arrow-tabs > ul > li a {
    color:#fff;
    text-decoration:none;
    padding: 30px 40px;
  }
  .arrow-tabs > ul > li a:focus {
    outline:none;
    text-decoration:none;
  }
  .arrow-tabs > ul > li a span {
    position:relative;
    top:10px;
  }
li.ui-state-default.ui-corner-top.ui-tabs-active {
    background-color: #213A7C;
}
li.ui-state-default.ui-corner-top {
    height: 65px;
}
.arrow-tabs > ul > li a {
    font: normal normal normal 16px/26px 'Poppins', sans-serif;
}
.contents {
    margin-top: -15px;
    background-color: #fff;
    height: 400px;
    overflow: auto;
}
.tab-img {
    padding: 0px 20px;
}
.img-one{
    padding: 11px 20px 0px 0px;
}
.tab-content ul li{
    font: normal normal 600 15px/23px 'Poppins', sans-serif;
    letter-spacing: 0.23px;
    list-style: none;
    padding: 20px 20px 20px 30px;
}
.tab-left{
    color: #3D3D3D;
    width: 16%;
    display: flex;
    align-items: center;
}
.tab-right{
    color: #0A65BF;
    width:100%;
}
.tab-content ul{
    display: flex;
    margin-bottom: 0px;
    width: 100%;
}
.tab-left-odd{
    background-color: #E8EEFF;
}
.tab-right-odd{
    background-color: #FBFEFF;
}
.tab-ul{
    padding-inline-start: 0px;
}
.tab-left-even{
    background: #D4DFFF 0% 0% no-repeat padding-box;
}
.tab-right-even{
    background: #E1F7FF 0% 0% no-repeat padding-box;
}

.our-features-heading h2{
    font: normal normal 300 49px/73px 'Poppins', sans-serif;
    letter-spacing: 1.18px;
    color: #213A7C;
}
.row-one{
    background: #213A7C 0% 0% no-repeat padding-box;
    padding: 30px;
}
.feature-text p{
    color: #fff;
    font: normal normal 300 20px/28px 'Poppins', sans-serif;
    letter-spacing: 0.34px;
    padding: 20px 10px;
}
.featured-img img{
    width: 95px;
    height: 95px;
}
.row-main-heading{
    font: normal normal medium 32px/48px 'Poppins', sans-serif;
    letter-spacing: 0.54px;
    color: #FFFFFF;
}
.row-main-heading span{
    font: normal normal 300 25px/34px 'Poppins', sans-serif;
    letter-spacing: 0.42px;
}
.row-two{
    padding: 25px;
    background: #E1F5FF 0% 0% no-repeat padding-box;
}
.row-two-heading{
    color: #213A7C;
}
.text-two p{
    color: #565656;
}
.row-two-img img{
    filter: invert(1);
}






.img-gallery {
    background: #213A7C;
    padding: 50px 0;
}

.img-gallery-heading {
    text-align: center;
}

.img-gallery-heading h3 {
    font: normal normal medium 34px/51px 'Poppins', sans-serif;
    letter-spacing: 0.82px;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.img-gallery-heading .subtitle {
    color: #E0E7FF;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 30px;
}


.img-col {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 320px;
    display: flex;
    align-items: flex-end;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.img-col:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}


.img-one-one {
    background-image: linear-gradient(rgba(60, 89, 165, 0.5), rgba(60, 89, 165, 0.5)), url(../img/campus-facilities/library.jpg);
}

.img-two {
    background-image: linear-gradient(rgba(249, 0, 0, 0.5), rgba(249, 0, 0, 0.5)), url(../img/campus-facilities/sports-ground.jpg);
}

.img-three {
    background-image: linear-gradient(rgba(251, 188, 5, 0.5), rgba(251, 188, 5, 0.5)), url(../img/campus-facilities/vans.jpg);
}

.img-four {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/campus-facilities/college-canteen.jpg);
}

.img-five {
    background-image: linear-gradient(rgba(212, 0, 0, 0.5), rgba(212, 0, 0, 0.5)), url(../img/campus-facilities/gym.jpg);
    background-position: right center;
}

.img-six {
    background-image: linear-gradient(rgba(60, 89, 165, 0.5), rgba(60, 89, 165, 0.5)), url(../img/campus-facilities/hostel.png);
}


.img-inner-text {
    width: 100%;
    padding: 25px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
    transition: padding 0.3s ease;
}

.img-col:hover .img-inner-text {
    padding: 30px 25px;
}

.img-inner-text p {
    font: normal normal 500 34px/51px 'Poppins', sans-serif;
    letter-spacing: 0.82px;
    color: #fff;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    transition: transform 0.3s ease;
}

.img-col:hover .img-inner-text p {
    transform: translateX(5px);
}


@media (max-width: 768px) {
    .img-col {
        height: 250px;
    }
    
    .img-gallery-heading h3 {
        font-size: 28px;
        line-height: 40px;
    }
    
    .img-inner-text p {
        font-size: 26px;
        line-height: 38px;
    }
}

@media (max-width: 576px) {
    .img-col {
        height: 200px;
    }
    
    .img-gallery-heading h3 {
        font-size: 24px;
        line-height: 36px;
    }
    
    .img-gallery-heading .subtitle {
        font-size: 14px;
    }
    
    .img-inner-text p {
        font-size: 22px;
        line-height: 32px;
    }
    
    .img-inner-text {
        padding: 15px;
    }
}











.events-main-heading h2{
    font: normal normal 500 44px/71px 'Poppins', sans-serif;
    letter-spacing: 1.3px;
    color: #FFFFFF;
}
.events{
    background-image: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), url(../img/events/library-cse-block.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    height: auto;
}
.events-main-heading h2::after {
    content: '';
    height: 20px;
    width: 55px;
    background-color: #DC3545;
    display: block;
    margin-top: -28px;
    margin-left: -8px;
    border-radius: 3px;
}

.cards-wrapper {
    display: flex;
    justify-content: center;
  }
  .card img {
    max-width: 100%;
    max-height: 100%;
  }
  img.card-img-top {
    height: 250px !important;
}
  .card {
    margin: 0 0.5em;
    box-shadow: 2px 6px 8px 0 rgba(22, 22, 26, 0.18);
    border: none;
    border-radius: 0;
  }
  .carousel-inner {
    padding: 1em;
  }
  .card-date{
    color: #B6B6B6;
    font: normal normal 500 15px/20px 'Poppins', sans-serif;
    letter-spacing: 0.36px;
    margin-bottom: 0px;
  }
  .carousel-control-prev,
  .carousel-control-next {
    
    width: 100px;
    height: 100px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
  }
  .carousel-control-prev-icon{
    background-image: url(../img/events/left-post-indicator.svg) !important;
    height: 100px;
    width: 100px;
  }
  .carousel-control-next-icon{
    background-image: url(../img/events/left-post-indicator.svg) !important;
    height: 100px;
    width: 100px;
    transform: rotate(180deg);
  }
  .carousel-control-prev {
    left: -70px ;
}
.carousel-control-next {
    right: -70px ;
}



  

.color-line-yellow{
    width: 100%;
    height: 10px;
    background-color: #FBBC05;
}
.color-line-red{
    width: 100%;
    height: 15px;
	
    background-color: #07377d;
}

.image-line-innerpage-common{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/common-banner.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}

.image-line-innerpage-research{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/research-banner.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-civil{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-civil.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-sh{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-sh.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-robotics{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-robotics.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-mechanical{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-mech.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}

.image-line-innerpage-ece{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-ece.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-eee{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-eee.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}



.image-line-innerpage-it{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-it.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
    
}
.image-line-innerpage{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-mba{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-mba.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-cse{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-cse.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-aiml{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-aiml.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-aids{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-aids.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-csebs{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-csebs.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-csecs{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-csecs.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-ds{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-ds.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-bca{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-bca.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}
.image-line-innerpage-bba{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-bba.png);
    background-size: cover;
	background-position:center  center;
    background-repeat: no-repeat;
}

.footer-secion{
    background: #213A7C 0% 0% no-repeat padding-box;
}
.footer-logo img{
    opacity: 1;
}
.footer-logo {
    margin-left: 30px;
}
.footer-top-right-img img {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 50%;
    opacity: 1;
    border: 25px solid #ffffff36;
}
.footer-top-right-text h3{
    font: normal normal 500 24px/31px 'Poppins', sans-serif;
    letter-spacing: 0.36px;
    color: #FFFFFF;
}
.footer-top-right-text p{
    font: normal normal normal 14px/19px 'Poppins', sans-serif;
    letter-spacing: 0.21px;
    color: #CDD4E6;
}
.footer-top-right-text{
    width: 600px;
}
.footer-top-right-text img {
    margin-left: 10px;
    margin-top: -5px;
}
.footer-mini-logo > img{
    width: 50px;
    height: 50px;
    background-color: #ffffff36;
    margin: 5px;
    border-radius: 5px;
    padding: 10px;
}
.contact-us-section h3{
    font: normal normal medium 24px/31px 'Poppins', sans-serif;
    letter-spacing: 0.36px;
    color: #FFFFFF;
}
.contact-us-section ul {
    list-style: none;
    padding-inline-start: 0px;
    margin: 20px 0px;
}
.contact-us-section ul li {
    margin: 15px 0px;
}
.contact-us-section ul li a {
    padding-inline-start: 20px;
    font: normal normal normal 16px/27px 'Poppins', sans-serif;
    letter-spacing: 0.24px;
    color: #D8E0F2;
}

.contact-us-section ul li i{
    color: #728DC4;
    font-size: 30px;
}
ul.contact-address{
    list-style: none;
    margin: -14px 0px 0px 30px;
    font: normal normal normal 16px/20px 'Poppins', sans-serif;
    letter-spacing: 0.24px;
    color: #D8E0F2;
}
.footer-right-bottom-list h3{
    font: normal normal 500 24px/31px 'Poppins', sans-serif;
    letter-spacing: 0.36px;
    color: #FFFFFF;
}
.footer-right-bottom-list ul{
    list-style: none;
    padding-inline-start: 0px;
}
.footer-right-bottom-list ul li{
    font: normal normal normal 14px/25px 'Poppins', sans-serif;
    letter-spacing: 0.21px;
    color: #CDD4E6;
}
.footer-right-bottom-section{
    float: right;
}
.footer-right-bottom-left-list h3{
    font: normal normal 500 24px/31px 'Poppins', sans-serif;
    letter-spacing: 0.36px;
    color: #FFFFFF;
}
.footer-right-bottom-left-list ul{
    list-style: none;
    padding-inline-start: 0px;
}
.footer-right-bottom-left-list ul li a{
    font: normal normal normal 14px/20px 'Poppins', sans-serif;
    letter-spacing: 0.21px;
    color: #CDD4E6;
}

.footer-copyright{
    background-color: #2C468B;
}
.footer-copyright p{
    font: normal normal normal 17px/23px Arial;
    color: #fff;
    padding: 20px;
}
.footer-copyright p a{
    color: #ECB500;
}
.bi::before, [class^="bi-"]::before, [class*=" bi-"]::before {
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -0.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}




.bi-list::before {
    content: "\f479";
}


@media only screen and (max-width:992px){
    
	.image-line-innerpage{
    
        width: 100%;
        height: 150px;
        background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new.png);
        background-size: cover;
        background-position:center  left;
        background-repeat: no-repeat;
    
}
.image-line-innerpage-mba{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-mba.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-common{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/common-banner.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-research{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/research-banner.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-it{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/common-banner.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-cse{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-cse.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-aiml{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-aiml.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-aids{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-aids.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-csebs{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-csebs.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-csecs{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-csecs.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-ds{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-ds.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-bca{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-bca.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}
.image-line-innerpage-bba{
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-bba.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
}

.image-line-innerpage-civil{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-civil.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-sh{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-sh.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}

.image-line-innerpage-mechanical{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-mech.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}

.image-line-innerpage-ece{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-ece.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}
.image-line-innerpage-eee{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-eee.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}

.image-line-innerpage-robotics{
    
    width: 100%;
    height: 150px;
    background-image: linear-gradient(rgba(90,23,23,0),rgba(90,23,23,0)), url(../img/banner_section/ideal-inner-banner-new-robotics.png);
    background-size: cover;
	background-position:center  left;
    background-repeat: no-repeat;
    
}












    .navbar-brand{
        display: block;
    }
    .md-top-nav-secion{
        display: none;
    }
    .top-strip{
        display: none;
    }
    .large-main-nav{
        background-color: unset;
    }
    
    .mbl-top-section{
        display: block;
    }
    .top-strip-all {
        padding: 0px 0px 0px 0px;
        height: 20px;
    }
    .top-strip-one-text{
        font-size:11px;
        line-height:18px;
        text-align: center;
    }
    .top-strip-two-text{
        font-size: 12px;
    }
    .top-strip-two{
        background-color: #FFD500;
    }
    .top-strip-three {
        padding: 4px 0px 0px 0px;
        text-align: center;
        height: 25px;
    }
    .top-strip-three-text{
        font-size: 11px;
    }
    .top-strip-icons ul:first-child::before{
        margin: 0px;
    }
    .top-strip-icons ul li{
        padding: 3px 10px;
    }
    .mbl-top-nav{
        display: block;
    }
    
    .navbar-brand{
        width: 60%;
    }
    .logo{
        height: auto;
    }
    .nav-full-bg-color{
        clip-path: unset;
    }
    .nav-nav{
        padding: .5rem 0rem !important;
    }
    
    .marquee-heading,.marquee-text{
        padding: 0px 5px;
        font-size:14px;
    }
    .marquee-section{
        height: 30px;
    }
    
    li.ui-state-default.ui-corner-top {
        height: 50px;
    }
    .arrow-tabs > ul > li a {
        font-size: 12px;
    }
    .arrow-tabs > ul > li a span{
        top: 0px;
    }
    .tab-img{
        display: none;
    }
    .tab-content ul li{
        padding: 10px 10px;
        font-size: 12px;
    }
    .tab-left{
        width: 20%;
    }
    .arrow-tabs > ul > li a{
        padding: 0px;
    }
    
    .latest-section-img{
        height: 400px;
        width: auto;
    }
	
	.large-main-nav {
    background-color: #fff;
}
	
    
    .img-col{
        width:250px;
    }
    
    .footer-logo {
        margin-left: 0px;
    }
    .latest-section {
        background-image: unset;
    }
    
    .feature-text p {
        font-size: 15px;
    }
    .featured-img img {
        width: 50px;
        height: 50px;
    }
}

@media (min-width: 768px) {
    #mycard img {
      height: 11em;
    }
 
  }


@media only screen and (min-width:1024px) and (max-width: 1227px){

    .top-strip-text ul li:first-child a{
        padding: 15px 9px 10px 9px;
    }
    .top-strip-text ul li a{
        font-size: 11px;
    }
    .top-strip-one-text{
        font-size: 13px;
    }
    .top-strip-three-text{
        font-size: 11px;
    }
    .top-nav ul li a{
        font-size:12px;
    }
}
@media only screen and (min-width: 1024px) and (max-width:1397px){
    .navbar>.container, .navbar>.container-fluid, .navbar>.container-lg, .navbar>.container-md, .navbar>.container-sm, .navbar>.container-xl, .navbar>.container-xxl {
        font-size: 12px;
        font-weight: 600;
    }
    .top-strip-text ul li a{
        padding: 11px 6px;
    }
}

  
  object {
    width: 100%;
    height: 800px; 
}


@media only screen and (max-width: 768px) {
    object {
        height: 600px; 
    }
}



       


.companies-list img{
    width: 220px !important;
}
*+.uk-margin {
    margin-top: 40px !important;
}
.uk-dotnav>.uk-active>*{
    background-color: var(--orange);
}
.uk-dotnav>*>*{
    background-color: #545454;
}






.center-links {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 38px;
    padding: 5px 0;
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, #1e3a8a 0%, #2857ba 42%, #377de8 100%);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.16), 0 2px 8px rgba(0, 0, 0, 0.18);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.center-links::before,
.center-links::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 2;
    width: 110px;
    height: 100%;
    pointer-events: none;
}

.center-links::before {
    left: 0;
    background: linear-gradient(90deg, #1e3a8a 0%, rgba(30, 58, 138, 0) 100%);
}

.center-links::after {
    right: 0;
    background: linear-gradient(270deg, #377de8 0%, rgba(55, 125, 232, 0) 100%);
}

.center-links__viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.center-links__track {
    display: flex;
    justify-content: center;
    width: 100%;
    animation: none !important;
    transform: none !important;
}

.centered-nav[aria-hidden="true"] {
    display: none !important;
}

.centered-nav {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 9px;
    list-style: none;
    padding: 0 9px 0 0;
    margin: 0;
}

.centered-nav li {
    flex: 0 0 auto;
    font: normal normal 600 13px/20px 'Poppins', Arial, sans-serif;
}

.centered-nav li a {
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(6px);
    white-space: nowrap;
}

.centered-nav li a:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #1f3f8e;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(14, 33, 76, 0.22);
}

.centered-nav li a:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.centered-nav li a i {
    margin-right: 6px;
    font-size: 15px;
}

@keyframes topNavScroll {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .center-links__track {
        animation: none;
        transform: none;
    }
}


#large-main-nav.navbar {
    
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

#large-main-nav .nav-link {
    color: #ffffff !important;
    font-weight: 500;
    transition: all 0.3s ease;
    padding: 10px 15px !important;
}

#large-main-nav .nav-link:hover {
    color: #fbbf24 !important;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
}


#large-main-nav .dropdown-menu {
    background: #ffffff;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

#large-main-nav .dropdown-item {
    color: #1e3a8a;
    transition: all 0.2s ease;
}

#large-main-nav .dropdown-item:hover {
    background: #e0e7ff;
    color: #1e3a8a;
    padding-left: 20px;
}


.md-top-nav-secion {
    background: #ffffff;
    padding: 15px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.ideal-college-masthead {
    background: #273f82;
    color: #ffffff;
}

.ideal-college-masthead__inner {
    min-height: clamp(180px, 14.5vw, 304px);
    max-width: 1540px;
    margin: 0 auto;
    padding: 18px 24px;
    display: grid;
    grid-template-columns: clamp(170px, 13vw, 260px) minmax(0, 1fr);
    align-items: center;
    column-gap: clamp(26px, 5vw, 110px);
}

.ideal-college-masthead__logo-link {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ideal-college-masthead__logo {
    width: clamp(150px, 11.5vw, 236px);
    max-width: 100%;
    height: auto;
    display: block;
}

.ideal-college-masthead__text,
.ideal-college-masthead__text:hover {
    color: #ffffff;
    text-align: center;
    text-decoration: none;
}

.ideal-college-masthead__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    line-height: 1.08;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.ideal-college-masthead__name {
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(62px, 5.6vw, 112px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .92;
}

.ideal-college-masthead__subtitle {
    display: block;
    margin-top: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 2.75vw, 54px);
    font-weight: 800;
    letter-spacing: 1px;
}

.ideal-college-masthead__meta,
.ideal-college-masthead__affiliation,
.ideal-college-masthead__place {
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 1.55vw, 30px);
    font-weight: 700;
    letter-spacing: 1.4px;
}

.ideal-college-masthead__affiliation {
    margin-top: 10px;
    font-size: clamp(15px, 1.28vw, 25px);
}

.ideal-college-masthead__place {
    margin-top: 5px;
    font-size: clamp(17px, 1.45vw, 28px);
    white-space: nowrap;
}

.navbar-brand.ideal-mobile-brand {
    display: none;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.navbar-brand.ideal-mobile-brand img {
    width: 42px;
    height: auto;
}

.navbar-brand.ideal-mobile-brand span {
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

@media only screen and (max-width: 992px) {
    .ideal-college-masthead__inner {
        min-height: 138px;
        grid-template-columns: 128px minmax(0, 1fr);
        column-gap: 18px;
        padding: 10px 16px;
    }

    .ideal-college-masthead__logo {
        width: 124px;
    }

    .ideal-college-masthead__name {
        font-size: 42px;
    }

    .ideal-college-masthead__subtitle {
        font-size: 22px;
    }

    .ideal-college-masthead__meta,
    .ideal-college-masthead__place {
        font-size: 15px;
    }

    .ideal-college-masthead__affiliation {
        font-size: 12px;
    }

    .navbar-brand.ideal-mobile-brand {
        display: flex;
    }
}

@media only screen and (max-width: 576px) {
    .ideal-college-masthead__inner {
        min-height: 120px;
        grid-template-columns: 86px minmax(0, 1fr);
        column-gap: 10px;
        padding: 8px 10px;
    }

    .ideal-college-masthead__logo {
        width: 82px;
    }

    .ideal-college-masthead__name {
        font-size: 28px;
    }

    .ideal-college-masthead__subtitle {
        margin-top: 4px;
        font-size: 15px;
    }

    .ideal-college-masthead__meta,
    .ideal-college-masthead__place {
        font-size: 10px;
        letter-spacing: .4px;
    }

    .ideal-college-masthead__affiliation {
        font-size: 9px;
        letter-spacing: .4px;
    }
}


.small-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.small-logos img {
    width: 90px;
    height: auto;
    transition: transform 0.3s ease;
}

.small-logos img:hover {
    transform: scale(1.1);
}


.headlines-banner {
    background: linear-gradient(90deg, #1e3a8a 0%, #2563eb 50%, #1e3a8a 100%);
    color: #ffffff;
    padding: 12px 20px;
    font-weight: 600;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}


@media (max-width: 767px) {
    .center-links {
        display: flex;
        min-height: 34px;
        padding: 4px 0;
    }

    .center-links::before,
    .center-links::after {
        width: 42px;
    }

    .center-links__track {
        justify-content: flex-start;
    }
    
    .centered-nav li a {
        min-height: 26px;
        padding: 3px 9px;
        font-size: 12px;
    }
}

.small-logos {
    display: flex;
    justify-content: center; 
    align-items: center; 
    gap: 10px; 
}

.small-logos img {
    width: 80px;
    height: auto; 
}

.ideal-profile-page {
    background: #f5f7fb;
    padding: 38px 0 58px;
}

.ideal-profile-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.ideal-profile-section {
    margin-bottom: 34px;
}

.ideal-profile-title,
.ideal-profile-heading {
    color: #062966;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
    letter-spacing: 0;
}

.ideal-profile-title {
    margin: 0 0 18px;
    font-size: 30px;
}

.ideal-profile-heading {
    margin: 0 0 18px;
    font-size: 28px;
}

.ideal-profile-copy,
.ideal-organogram-frame,
.ideal-pdf-viewer,
.ideal-profile-doc {
    background: #ffffff;
    border: 1px solid #e1e7f2;
    box-shadow: 0 10px 26px rgba(24, 39, 75, 0.08);
}

.ideal-profile-copy {
    padding: 28px;
}

.ideal-profile-copy p {
    margin: 0 0 16px;
    color: #202532;
    font-size: 16px;
    line-height: 1.75;
    text-align: justify;
}

.ideal-profile-copy p:last-child {
    margin-bottom: 0;
}

.ideal-profile-copy h2 {
    margin: 28px 0 12px;
    color: #062966;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0;
}

.ideal-organogram-frame {
    overflow-x: auto;
    padding: 18px;
}

.ideal-organogram-img {
    display: block;
    width: 100%;
    min-width: 980px;
    height: auto;
}

.ideal-profile-doc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.ideal-profile-doc {
    overflow: hidden;
}

.ideal-profile-doc__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
    padding: 18px 20px;
    background: linear-gradient(135deg, #062966, #07377d);
    color: #ffffff;
}

.ideal-profile-doc__head span {
    grid-column: 1 / -1;
    width: fit-content;
    padding: 5px 9px;
    color: #062966;
    background: #f3c414;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.ideal-profile-doc__head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
}

.ideal-profile-doc__head a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    color: #062966;
    background: #ffffff;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.ideal-profile-doc__head a:hover {
    color: #ffffff;
    background: #b32234;
}

.ideal-profile-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.ideal-profile-doc-actions a:nth-child(2) {
    color: #062966;
    background: #f3c414;
}

.ideal-pdf-viewer {
    height: min(82vh, 760px);
    min-height: 560px;
    overflow: hidden;
    border-width: 0;
    box-shadow: none;
}

.ideal-pdf-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.ideal-site-footer {
    position: relative;
    overflow: hidden;
    color: #eef5ff;
    background:
        linear-gradient(135deg, rgba(18, 36, 87, 0.96), rgba(39, 63, 130, 0.98)),
        #273f82;
}

.ideal-site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.12), transparent 24%),
        radial-gradient(circle at 86% 16%, rgba(251, 191, 36, 0.16), transparent 28%);
}

.ideal-footer-accent {
    display: flex;
    width: 100%;
    height: 12px;
}

.ideal-footer-accent__yellow {
    flex: 0 0 32%;
    background: #f3c414;
}

.ideal-footer-accent__red {
    flex: 1;
    background: #e43d30;
}

.ideal-footer-main {
    position: relative;
    z-index: 1;
    padding: 48px 0 34px;
}

.ideal-footer-grid {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(260px, 1.05fr) minmax(260px, .95fr) minmax(280px, 1fr);
    gap: 32px;
    align-items: start;
}

.ideal-footer-logo-link {
    display: inline-flex;
    width: 110px;
    height: 132px;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.ideal-footer-logo {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ideal-footer-brand h2,
.ideal-footer-links h3,
.ideal-footer-map h3 {
    margin: 0;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
    letter-spacing: 0;
}

.ideal-footer-brand h2 {
    max-width: 360px;
    font-size: 24px;
    line-height: 1.2;
}

.ideal-footer-subtitle {
    margin: 7px 0 14px;
    color: #f3c414;
    font-weight: 700;
}

.ideal-footer-brand p,
.ideal-footer-feedback,
.ideal-footer-contact-list,
.ideal-footer-links li,
.ideal-footer-bottom p {
    font-size: 14px;
    line-height: 1.65;
}

.ideal-footer-contact-list,
.ideal-footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ideal-footer-contact-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.ideal-footer-contact-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ideal-footer-contact-list i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #273f82;
    background: #f3c414;
    border-radius: 50%;
    font-size: 13px;
}

.ideal-site-footer a {
    color: #ffffff;
    text-decoration: none;
}

.ideal-site-footer a:hover {
    color: #f3c414;
}

.ideal-footer-feedback {
    margin: 18px 0 0;
    padding: 12px 14px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.ideal-footer-links h3,
.ideal-footer-map h3 {
    margin-bottom: 15px;
    font-size: 21px;
}

.ideal-footer-links ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.ideal-footer-links li {
    position: relative;
    padding-left: 18px;
    color: #dce8ff;
}

.ideal-footer-links li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #f3c414;
}

.ideal-map-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
    background: rgba(255, 255, 255, 0.08);
}

.ideal-map-card iframe {
    display: block;
    filter: saturate(1.08) contrast(1.02);
}

.ideal-footer-bottom {
    position: relative;
    z-index: 1;
    padding: 16px;
    text-align: center;
    background: rgba(0, 0, 0, 0.16);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ideal-footer-bottom p {
    margin: 0;
}

@media (max-width: 767px) {
    .ideal-profile-page {
        padding: 26px 0 42px;
    }

    .ideal-profile-container {
        width: min(100% - 20px, 1180px);
    }

    .ideal-profile-title {
        font-size: 25px;
    }

    .ideal-profile-heading {
        font-size: 23px;
    }

    .ideal-profile-copy {
        padding: 18px;
    }

    .ideal-profile-copy p {
        font-size: 15px;
        line-height: 1.65;
    }

    .ideal-organogram-frame {
        padding: 10px;
    }

    .ideal-organogram-img {
        min-width: 860px;
    }

    .ideal-pdf-viewer {
        height: 72vh;
        min-height: 480px;
    }

    .ideal-profile-doc-grid {
        grid-template-columns: 1fr;
    }

    .ideal-profile-doc__head {
        grid-template-columns: 1fr;
    }

    .ideal-profile-doc__head a {
        width: fit-content;
    }

    .ideal-profile-doc-actions {
        justify-content: flex-start;
    }

    .ideal-footer-main {
        padding: 34px 0 26px;
    }

    .ideal-footer-grid {
        width: min(100% - 22px, 1180px);
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ideal-footer-brand h2 {
        font-size: 22px;
    }

    .ideal-map-card iframe {
        height: 240px;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .ideal-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ideal-footer-map {
        grid-column: 1 / -1;
    }
}




.intake-badge {
    display: inline-block;
    background: #07377d;
    color: white;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.85em;
    font-weight: 600;
    margin-top: 5px;
}


.new-badge {
    display: inline-block;
    background: #28a745;
    color: white;
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 0.75em;
    font-weight: 600;
    margin-left: 5px;
}


.featured-img img {
    filter: brightness(0) saturate(100%) invert(27%) sepia(93%) saturate(2376%) hue-rotate(210deg) brightness(95%) contrast(101%);
}


.ideal-home-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.ideal-showcase-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px 24px;
    align-items: end;
    margin-bottom: 34px;
}

.ideal-showcase-kicker {
    width: fit-content;
    padding: 6px 12px;
    color: #153472;
    background: #f4c430;
    border: 1px solid rgba(21, 52, 114, 0.18);
    font: normal normal 800 12px/1 Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0;
}

.ideal-showcase-heading h2 {
    grid-column: 1 / 2;
    max-width: 820px;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 3vw, 48px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.ideal-showcase-heading--light h2 {
    color: #17285d;
}

.ideal-showcase-heading--dark h2 {
    color: #ffffff;
}

.ideal-showcase-action {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    color: #12285f;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 6px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
    transition: transform .25s ease, color .25s ease, background .25s ease;
}

.ideal-showcase-action:hover {
    color: #17285d;
    background: #f4c430;
    transform: translateY(-2px);
    text-decoration: none;
}

.ideal-campus-showcase {
    position: relative;
    overflow: hidden;
    padding: 76px 0 84px;
    background:
        radial-gradient(circle at 82% 18%, rgba(12, 138, 181, 0.24), transparent 34%),
        radial-gradient(circle at 8% 90%, rgba(5, 95, 150, 0.22), transparent 32%),
        linear-gradient(135deg, #10225c 0%, #142867 46%, #0f2b68 100%);
}

.ideal-campus-showcase__texture,
.ideal-placement-showcase__mesh {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.ideal-campus-showcase__texture {
    opacity: .22;
    background:
        linear-gradient(115deg, transparent 0 36%, rgba(255, 255, 255, 0.16) 36% 37%, transparent 37% 100%),
        linear-gradient(245deg, transparent 0 54%, rgba(244, 196, 48, 0.2) 54% 55%, transparent 55% 100%);
    animation: idealShowcaseSweep 18s ease-in-out infinite alternate;
}

.ideal-campus-showcase .ideal-showcase-kicker {
    color: #10225c;
    background: #f4c430;
}

.ideal-campus-showcase .ideal-showcase-heading {
    display: block;
    margin-bottom: 64px;
    text-align: center;
}

.ideal-campus-showcase .ideal-showcase-heading h2 {
    max-width: none;
    margin: 16px auto 0;
    color: #ffffff;
    font-size: clamp(34px, 3vw, 44px);
    text-transform: uppercase;
}

.ideal-campus-showcase .ideal-showcase-heading h2::after {
    content: "";
    display: block;
    width: 64px;
    height: 5px;
    margin: 16px auto 0;
    background: #f4a51c;
    border-radius: 999px;
}

.ideal-campus-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 246px;
    gap: 18px;
}

.ideal-facility-card {
    position: relative;
    overflow: hidden;
    min-height: 0;
    border-radius: 8px;
    background: #173064;
    box-shadow: 0 22px 44px rgba(27, 48, 92, 0.18);
    isolation: isolate;
    animation: idealCardRise .7s ease both;
    animation-delay: var(--delay, 0ms);
}

.ideal-facility-card--wide {
    grid-column: span 2;
}

.ideal-facility-card--tall {
    grid-row: span 2;
}

.ideal-facility-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.04);
    filter: saturate(1.04) contrast(1.03);
    transition: transform .75s ease, filter .75s ease;
}

.ideal-facility-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(12, 22, 47, 0.03) 0%, rgba(10, 22, 55, 0.78) 100%),
        linear-gradient(115deg, rgba(244, 196, 48, 0.32) 0%, transparent 34%);
}

.ideal-facility-card__body {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    z-index: 2;
    color: #ffffff;
}

.ideal-facility-card__body span {
    display: inline-flex;
    margin-bottom: 8px;
    color: #f4c430;
    font: normal normal 900 13px/1 Arial, Helvetica, sans-serif;
}

.ideal-facility-card__body h3 {
    margin: 0 0 6px;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(20px, 1.8vw, 29px);
    font-weight: 900;
    letter-spacing: 0;
}

.ideal-facility-card__body p {
    max-width: 420px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.5;
}

.ideal-facility-card:hover img {
    transform: scale(1.13);
    filter: saturate(1.14) contrast(1.08);
}

.ideal-placement-showcase {
    position: relative;
    overflow: hidden;
    padding: 80px 0 86px;
    background:
        linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
}

.ideal-placement-showcase__mesh {
    opacity: .22;
    background:
        linear-gradient(90deg, transparent 0 18%, rgba(23, 40, 93, 0.08) 18% 18.7%, transparent 18.7% 100%),
        linear-gradient(0deg, transparent 0 62%, rgba(244, 196, 48, 0.12) 62% 62.8%, transparent 62.8% 100%);
}

.ideal-placement-showcase .ideal-showcase-heading--dark h2 {
    color: #17285d;
}

.ideal-placement-showcase .ideal-showcase-action {
    color: #17285d;
    background: #f4c430;
    box-shadow: 0 14px 28px rgba(23, 40, 93, 0.12);
}

.ideal-placement-river {
    overflow: hidden;
    margin: 0 0 32px;
    padding: 10px 0;
    border-top: 1px solid rgba(23, 40, 93, 0.12);
    border-bottom: 1px solid rgba(23, 40, 93, 0.12);
}

.ideal-placement-river__track {
    display: flex;
    width: max-content;
    gap: 14px;
    animation: idealPlacementRiver 42s linear infinite;
}

.ideal-placement-river:hover .ideal-placement-river__track {
    animation-play-state: paused;
}

.ideal-placement-river img {
    width: 250px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 0 18px 28px rgba(0, 0, 0, 0.28);
}

.ideal-placement-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ideal-placement-card {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 26px 46px rgba(0, 0, 0, 0.22);
    animation: idealCardRise .7s ease both;
    animation-delay: var(--delay, 0ms);
}

.ideal-placement-card--feature {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 678px;
}

.ideal-placement-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.03);
    transition: transform .65s ease;
}

.ideal-placement-card::after {
    content: none;
}

.ideal-placement-card div {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 1;
    color: #ffffff;
}

.ideal-placement-card span {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 9px;
    color: #17285d;
    background: #f4c430;
    border-radius: 4px;
    font: normal normal 900 12px/1 Arial, Helvetica, sans-serif;
}

.ideal-placement-card h3 {
    margin: 0 0 8px;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.ideal-placement-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.45;
}

.ideal-placement-card:hover img {
    transform: scale(1.11);
}

@keyframes idealShowcaseSweep {
    from {
        transform: translate3d(-18px, -10px, 0);
    }
    to {
        transform: translate3d(18px, 10px, 0);
    }
}

@keyframes idealCardRise {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes idealPlacementRiver {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ideal-campus-showcase__texture,
    .ideal-placement-river__track,
    .ideal-facility-card,
    .ideal-placement-card {
        animation: none;
    }
}

@media (max-width: 991px) {
    .ideal-showcase-heading {
        grid-template-columns: 1fr;
    }

    .ideal-showcase-action {
        grid-row: auto;
        grid-column: 1;
        width: fit-content;
    }

    .ideal-campus-grid,
    .ideal-placement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ideal-facility-card--tall {
        grid-row: span 1;
    }

    .ideal-placement-card--feature {
        grid-column: span 2;
        grid-row: span 1;
        min-height: 390px;
    }
}

@media (max-width: 640px) {
    .ideal-home-shell {
        width: min(100% - 22px, 1180px);
    }

    .ideal-campus-showcase,
    .ideal-placement-showcase {
        padding: 50px 0 56px;
    }

    .ideal-campus-grid,
    .ideal-placement-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }

    .ideal-facility-card,
    .ideal-facility-card--wide,
    .ideal-facility-card--tall,
    .ideal-placement-card,
    .ideal-placement-card--feature {
        grid-column: span 1;
        grid-row: span 1;
        min-height: 300px;
    }

    .ideal-facility-card img,
    .ideal-placement-card img {
        min-height: 300px;
    }

    .ideal-placement-river img {
        width: 210px;
    }
}


.legacy-featured-programmes {
    display: none !important;
}

.featured-programmes-2026 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 54px 0;
    padding: 76px 0 82px;
    color: #172033;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.88) 0%, rgba(241, 250, 255, 0.92) 40%, rgba(245, 252, 243, 0.9) 100%),
        repeating-linear-gradient(135deg, rgba(23, 61, 122, 0.045) 0 1px, transparent 1px 42px),
        linear-gradient(135deg, #f8fbff 0%, #edf8ff 45%, #f9fbeb 100%);
    border-top: 1px solid rgba(20, 42, 84, 0.08);
    border-bottom: 1px solid rgba(20, 42, 84, 0.08);
}

.featured-programmes-2026::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #173d7a 0%, #0f8b8d 22%, #f2b705 48%, #b32234 72%, #173d7a 100%);
    background-size: 220% 100%;
    animation: programmeAccentFlow 7s linear infinite;
}

.featured-programmes-2026::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.75;
    background:
        linear-gradient(115deg, transparent 0 38%, rgba(15, 139, 141, 0.12) 38.2%, transparent 39.4% 100%),
        linear-gradient(65deg, transparent 0 58%, rgba(179, 34, 52, 0.08) 58.2%, transparent 59.6% 100%),
        repeating-linear-gradient(90deg, rgba(23, 61, 122, 0.052) 0 1px, transparent 1px 118px),
        repeating-linear-gradient(0deg, rgba(15, 139, 141, 0.044) 0 1px, transparent 1px 118px);
    background-size: 560px 560px, 620px 620px, 118px 118px, 118px 118px;
    animation: programmeBackdropDrift 34s linear infinite;
}

.featured-programmes-2026 * {
    box-sizing: border-box;
}

.featured-programmes-shell {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.featured-programmes-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px 28px;
    align-items: end;
    margin-bottom: 40px;
    padding: 22px 24px;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(23, 61, 122, 0.1);
    border-radius: 8px;
    box-shadow: 0 20px 48px rgba(23, 61, 122, 0.08);
    backdrop-filter: blur(10px);
}

.programme-kicker,
.programme-group-head span,
.programme-track {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    letter-spacing: 0;
    text-transform: uppercase;
}

.programme-kicker {
    padding: 8px 12px;
    color: #173d7a;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
    border: 1px solid rgba(23, 61, 122, 0.16);
    border-radius: 8px;
    font: normal normal 800 12px/1 Arial, Helvetica, sans-serif;
    box-shadow: 0 10px 24px rgba(23, 61, 122, 0.1);
}

.featured-programmes-heading h3 {
    margin: 12px 0 0;
    color: #132f63;
    background: linear-gradient(90deg, #132f63 0%, #0b6c86 54%, #173d7a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 46px;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: 0;
}

.programme-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.programme-stat {
    min-width: 126px;
    padding: 14px 16px;
    color: #334155;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(20, 42, 84, 0.1);
    border-radius: 8px;
    font: normal normal 700 12px/1.2 Arial, Helvetica, sans-serif;
    text-align: left;
    box-shadow: 0 18px 42px rgba(23, 61, 122, 0.12);
    backdrop-filter: blur(8px);
}

.programme-stat strong {
    display: block;
    margin-bottom: 4px;
    color: #b32234;
    font-size: 24px;
    line-height: 1;
}

.programme-group {
    margin-top: 30px;
}

.programme-group + .programme-group {
    padding-top: 30px;
    border-top: 1px solid rgba(20, 42, 84, 0.12);
}

.programme-group-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 0 2px;
}

.programme-group-head span {
    color: #0f8b8d;
    font: normal normal 800 12px/1 Arial, Helvetica, sans-serif;
}

.programme-group-head h4 {
    margin: 7px 0 0;
    color: #172033;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 27px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: 0;
}

.programme-group-head strong {
    flex: 0 0 auto;
    padding: 10px 13px;
    color: #173d7a;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(23, 61, 122, 0.14);
    border-radius: 8px;
    font: normal normal 800 13px/1 Arial, Helvetica, sans-serif;
    box-shadow: 0 10px 24px rgba(23, 61, 122, 0.08);
    backdrop-filter: blur(8px);
}

.programme-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
    gap: 16px;
}

.programme-card {
    --programme-accent: #173d7a;
    --programme-soft: #eef5ff;
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 13px;
    min-height: 136px;
    padding: 16px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 100%);
    border: 1px solid rgba(20, 42, 84, 0.11);
    border-left: 4px solid var(--programme-accent);
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(23, 61, 122, 0.09);
    backdrop-filter: blur(8px);
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease, background-color 260ms ease;
}

.programme-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.62) 46%, transparent 62%),
        linear-gradient(180deg, var(--programme-soft), transparent 46%);
    opacity: 0.75;
    transform: translateX(-120%);
    transition: transform 520ms ease;
}

.programme-card:hover {
    transform: translateY(-8px);
    border-color: rgba(23, 61, 122, 0.22);
    box-shadow: 0 26px 54px rgba(23, 61, 122, 0.18);
}

.programme-card:hover::after {
    transform: translateX(120%);
}

.programme-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    color: var(--programme-accent);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent),
        var(--programme-soft);
    border: 1px solid rgba(20, 42, 84, 0.08);
    border-radius: 8px;
    font-size: 22px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.programme-card-body {
    min-width: 0;
}

.programme-track {
    margin-bottom: 7px;
    color: var(--programme-accent);
    font: normal normal 850 11px/1 Arial, Helvetica, sans-serif;
}

.programme-card h5 {
    margin: 0 0 12px;
    color: #172033;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.35;
    letter-spacing: 0;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.programme-intake {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #172033;
    background: rgba(248, 251, 255, 0.88);
    border: 1px solid rgba(20, 42, 84, 0.1);
    border-radius: 8px;
    font: normal normal 800 12px/1 Arial, Helvetica, sans-serif;
    box-shadow: 0 8px 18px rgba(23, 61, 122, 0.06);
}

.programme-card--commerce {
    --programme-accent: #0f766e;
    --programme-soft: #e7f8f4;
}

.programme-card--arts {
    --programme-accent: #b32234;
    --programme-soft: #fff0f2;
}

.programme-card--technology {
    --programme-accent: #173d7a;
    --programme-soft: #edf4ff;
}

.programme-card--science {
    --programme-accent: #5b4b9a;
    --programme-soft: #f2f0ff;
}

.programme-card--life {
    --programme-accent: #2f7d32;
    --programme-soft: #eef9ee;
}

.programme-card--health {
    --programme-accent: #007c91;
    --programme-soft: #e7f9fb;
}

.programme-card--applied {
    --programme-accent: #b7791f;
    --programme-soft: #fff6dc;
}

.programme-card--management {
    --programme-accent: #8a3ffc;
    --programme-soft: #f4efff;
}

.featured-programmes-2026.programmes-ready .programme-card {
    opacity: 0;
    transform: translateY(22px) scale(0.98);
}

.featured-programmes-2026.programmes-ready .programme-card.is-visible {
    animation: programmeCardIn 680ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: var(--programme-delay, 0ms);
}

.featured-programmes-2026.programmes-ready .programme-card.is-visible .programme-icon {
    animation: programmeIconPop 650ms ease both;
    animation-delay: calc(var(--programme-delay, 0ms) + 80ms);
}

@keyframes programmeCardIn {
    from {
        opacity: 0;
        transform: translateY(22px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes programmeIconPop {
    0% {
        transform: scale(0.88);
    }
    65% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes programmeAccentFlow {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 220% 0;
    }
}

@keyframes programmeBackdropDrift {
    from {
        background-position: 0 0, 0 0, 0 0, 0 0;
    }
    to {
        background-position: 560px 0, -620px 0, 118px 0, 0 118px;
    }
}

@media (max-width: 991px) {
    .featured-programmes-heading {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .programme-stats {
        justify-content: flex-start;
    }

    .featured-programmes-heading h3 {
        font-size: 34px;
    }
}

@media (max-width: 640px) {
    .featured-programmes-2026 {
        margin: 38px 0;
        padding: 52px 0 58px;
    }

    .featured-programmes-shell {
        width: min(100% - 22px, 1180px);
    }

    .featured-programmes-heading h3 {
        font-size: 28px;
    }

    .programme-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .programme-stat {
        min-width: 0;
    }

    .programme-group-head {
        display: grid;
        align-items: start;
    }

    .programme-group-head h4 {
        font-size: 23px;
    }

    .programme-grid {
        grid-template-columns: 1fr;
    }

    .programme-card {
        grid-template-columns: 46px minmax(0, 1fr);
        min-height: 126px;
        padding: 14px;
    }

    .programme-icon {
        width: 46px;
        height: 46px;
        font-size: 20px;
    }

    .programme-card h5 {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .featured-programmes-2026::before,
    .featured-programmes-2026::after {
        animation: none;
    }

    .featured-programmes-2026.programmes-ready .programme-card,
    .featured-programmes-2026.programmes-ready .programme-card.is-visible,
    .featured-programmes-2026.programmes-ready .programme-card.is-visible .programme-icon {
        opacity: 1;
        transform: none;
        animation: none;
        transition: none;
    }
}

.featured-programmes-2026 {
    --programme-spotlight-x: 50%;
    --programme-spotlight-y: 20%;
    margin: 64px 0;
    padding: 86px 0 92px;
    background:
        radial-gradient(circle at var(--programme-spotlight-x) var(--programme-spotlight-y), rgba(255, 204, 0, 0.2), transparent 26%),
        radial-gradient(circle at 10% 18%, rgba(15, 139, 141, 0.22), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(179, 34, 52, 0.16), transparent 28%),
        linear-gradient(135deg, #f7fbff 0%, #eef8f8 48%, #fff8e5 100%);
    border: 0;
}

.featured-programmes-2026::before {
    height: 8px;
    background: linear-gradient(90deg, #173d7a, #0f8b8d, #ffcc00, #b32234, #173d7a);
    background-size: 260% 100%;
    box-shadow: 0 10px 32px rgba(23, 61, 122, 0.18);
}

.featured-programmes-2026::after {
    opacity: 1;
    background:
        linear-gradient(115deg, transparent 0 34%, rgba(23, 61, 122, 0.055) 34.2%, transparent 35.2% 100%),
        linear-gradient(65deg, transparent 0 63%, rgba(15, 139, 141, 0.07) 63.2%, transparent 64.4% 100%),
        repeating-linear-gradient(90deg, rgba(23, 61, 122, 0.045) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(0deg, rgba(23, 61, 122, 0.035) 0 1px, transparent 1px 96px);
    mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
}

.programme-aurora {
    position: absolute;
    z-index: 0;
    width: 380px;
    height: 380px;
    border-radius: 999px;
    filter: blur(18px);
    opacity: 0.42;
    pointer-events: none;
    animation: programmeFloat 12s ease-in-out infinite alternate;
}

.programme-aurora--one {
    top: 82px;
    left: max(18px, calc(50% - 690px));
    background: radial-gradient(circle, rgba(15, 139, 141, 0.36), transparent 66%);
}

.programme-aurora--two {
    right: max(18px, calc(50% - 690px));
    bottom: 92px;
    background: radial-gradient(circle, rgba(255, 204, 0, 0.35), transparent 66%);
    animation-delay: -5s;
}

.featured-programmes-shell {
    width: min(1200px, calc(100% - 34px));
}

.featured-programmes-heading {
    position: relative;
    align-items: center;
    margin-bottom: 42px;
    padding: clamp(24px, 3vw, 38px);
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(16, 44, 94, 0.96), rgba(14, 96, 116, 0.94)),
        radial-gradient(circle at 86% 12%, rgba(255, 204, 0, 0.28), transparent 30%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    box-shadow: 0 28px 70px rgba(23, 61, 122, 0.2);
}

.featured-programmes-heading::before {
    content: "";
    position: absolute;
    inset: auto -18% -46% 42%;
    height: 190px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
    transform: rotate(-9deg);
    animation: programmeHeaderSweep 6s ease-in-out infinite;
}

.programme-kicker {
    position: relative;
    z-index: 1;
    color: #132f63;
    background: #ffcc00;
    border: 0;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
}

.featured-programmes-heading h3 {
    position: relative;
    z-index: 1;
    max-width: 760px;
    color: #ffffff;
    background: none;
    -webkit-text-fill-color: currentColor;
    font-size: clamp(34px, 4vw, 58px);
    letter-spacing: 0;
}

.featured-programmes-heading p {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font: normal normal 500 16px/1.65 Arial, Helvetica, sans-serif;
}

.programme-stats {
    position: relative;
    z-index: 1;
    gap: 14px;
}

.programme-stat {
    min-width: 142px;
    padding: 18px 18px;
    color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 18px 40px rgba(0, 0, 0, 0.16);
}

.programme-stat strong {
    color: #ffcc00;
    font-size: 30px;
}

.programme-group {
    position: relative;
    padding-left: 18px;
}

.programme-group::before {
    content: "";
    position: absolute;
    top: 16px;
    bottom: 5px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #173d7a, #0f8b8d, #ffcc00);
}

.programme-group + .programme-group {
    margin-top: 42px;
    padding-top: 36px;
    border-top: 1px solid rgba(23, 61, 122, 0.13);
}

.programme-group + .programme-group::before {
    top: 52px;
}

.programme-group-head {
    margin-bottom: 20px;
}

.programme-group-head span {
    color: #0f6f74;
    letter-spacing: .6px;
}

.programme-group-head h4 {
    color: #142a54;
    font-size: clamp(26px, 2.4vw, 34px);
}

.programme-group-head strong {
    color: #142a54;
    background: #ffffff;
    border: 1px solid rgba(23, 61, 122, 0.12);
    box-shadow: 0 14px 28px rgba(23, 61, 122, 0.1);
}

.programme-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

.programme-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    min-height: 154px;
    padding: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.86)),
        radial-gradient(circle at 0 0, var(--programme-soft), transparent 62%);
    border: 1px solid rgba(20, 42, 84, 0.12);
    border-top: 4px solid var(--programme-accent);
    border-left: 1px solid rgba(20, 42, 84, 0.12);
    box-shadow: 0 18px 38px rgba(23, 61, 122, 0.1);
    transform-style: preserve-3d;
}

.programme-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid transparent;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.65), transparent 36%, color-mix(in srgb, var(--programme-accent) 28%, transparent)) border-box;
    mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 260ms ease;
}

.programme-card::after {
    display: none;
}

.programme-card-shine {
    position: absolute;
    inset: -80% auto auto -34%;
    width: 80%;
    height: 230%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
    transform: rotate(18deg) translateX(-140%);
    transition: transform 700ms ease;
    pointer-events: none;
}

.programme-card:hover {
    transform: translateY(-10px) scale(1.015);
    border-color: color-mix(in srgb, var(--programme-accent) 28%, white);
    box-shadow: 0 30px 64px rgba(23, 61, 122, 0.2);
}

.programme-card:hover::before {
    opacity: 1;
}

.programme-card:hover .programme-card-shine {
    transform: rotate(18deg) translateX(260%);
}

.programme-icon {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    font-size: 24px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.62), transparent),
        var(--programme-soft);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62), 0 12px 24px color-mix(in srgb, var(--programme-accent) 16%, transparent);
}

.programme-track {
    margin-bottom: 8px;
    letter-spacing: .45px;
}

.programme-card h5 {
    min-height: 46px;
    margin-bottom: 14px;
    color: #10233f;
    font-size: 17px;
    font-weight: 800;
}

.programme-intake {
    color: #132f63;
    background: color-mix(in srgb, var(--programme-soft) 72%, white);
    border-color: color-mix(in srgb, var(--programme-accent) 18%, white);
}

@keyframes programmeFloat {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }
    to {
        transform: translate3d(28px, -24px, 0) scale(1.08);
    }
}

@keyframes programmeHeaderSweep {
    0%,
    48% {
        transform: rotate(-9deg) translateX(-28%);
        opacity: 0;
    }
    62% {
        opacity: 1;
    }
    100% {
        transform: rotate(-9deg) translateX(42%);
        opacity: 0;
    }
}

@media (max-width: 991px) {
    .featured-programmes-heading {
        align-items: start;
    }

    .featured-programmes-heading p {
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    .featured-programmes-2026 {
        margin: 44px 0;
        padding: 58px 0 64px;
    }

    .programme-group {
        padding-left: 13px;
    }

    .programme-grid {
        gap: 14px;
    }

    .programme-card {
        grid-template-columns: 50px minmax(0, 1fr);
        min-height: 138px;
        padding: 15px;
    }

    .programme-icon {
        width: 50px;
        height: 50px;
        font-size: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .programme-aurora,
    .featured-programmes-heading::before,
    .programme-card-shine {
        animation: none;
        transition: none;
    }
}

.founder-page-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 66px;
    background:
        linear-gradient(135deg, rgba(242, 248, 255, 0.96) 0%, rgba(235, 247, 242, 0.96) 54%, rgba(255, 248, 230, 0.96) 100%),
        repeating-linear-gradient(120deg, rgba(19, 47, 99, 0.07) 0, rgba(19, 47, 99, 0.07) 1px, transparent 1px, transparent 32px);
    letter-spacing: 0;
}

.founder-page-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(6, 105, 120, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(196, 36, 54, 0.07) 1px, transparent 1px);
    background-size: 54px 54px;
    opacity: 0.5;
    animation: founderGridDrift 24s linear infinite;
}

.founder-page-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.76) 42%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.18), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: founderSoftSweep 14s ease-in-out infinite alternate;
}

.featured-programmes-2026 {
    margin: 0;
    padding: 0 0 40px;
    overflow: visible;
    color: #1f2933;
    background: #ffffff;
    border: 0;
    isolation: auto;
}

.featured-programmes-2026::before,
.featured-programmes-2026::after,
.programme-aurora,
.featured-programmes-heading,
.programme-card-shine,
.programme-track {
    display: none !important;
}

.featured-programmes-shell {
    width: min(100% - var(--ideal-page-gutter, 32px), var(--ideal-page-max, 1800px));
    margin: 0 auto;
}

.featured-programmes-title {
    position: relative;
    margin: 0 0 52px;
    padding-top: 78px;
    color: #08235f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 3.3vw, 48px);
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
}

.featured-programmes-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    width: 80px;
    height: 5px;
    background: #f59e0b;
    border-radius: 999px;
    transform: translateX(-50%);
}

.programme-group {
    margin: 0;
    padding: 28px 28px 32px;
    background: #243f82;
}

.programme-group::before {
    display: none;
}

.programme-group + .programme-group {
    margin-top: 0;
    padding-top: 24px;
    background: #dff6ff;
    border-top: 0;
}

.programme-group-title {
    margin: 0 0 26px;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
    text-transform: uppercase;
}

.programme-group + .programme-group .programme-group-title {
    color: #243f82;
}

.programme-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 42px;
}

.programme-card {
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 112px;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
    transform: none;
    backdrop-filter: none;
    transition: none;
}

.programme-card::before,
.programme-card::after {
    display: none;
}

.programme-card:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

.programme-icon {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
}

.programme-icon img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 6px;
    object-fit: contain;
}

.programme-card-body {
    min-width: 0;
    padding-top: 16px;
}

.programme-card h5 {
    min-height: 0;
    margin: 0 0 6px;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
    overflow-wrap: normal;
}

.programme-intake {
    display: block;
    min-height: 0;
    padding: 0;
    color: #000000;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font: normal normal 700 14px/1.2 Arial, Helvetica, sans-serif;
}

.programme-group + .programme-group .programme-card h5 {
    color: #555f68;
    font-size: 20px;
    font-weight: 400;
}

.programme-group + .programme-group .programme-intake {
    color: #000000;
}

@media (max-width: 991px) {
    .featured-programmes-shell {
        width: min(100% - var(--ideal-page-gutter, 32px), var(--ideal-page-max, 1800px));
    }

    .programme-group {
        padding: 24px 22px 28px;
    }

    .programme-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 28px;
    }
}

@media (max-width: 640px) {
    .featured-programmes-2026 {
        padding-bottom: 30px;
    }

    .featured-programmes-title {
        margin-bottom: 22px;
        font-size: 24px;
    }

    .featured-programmes-shell {
        width: calc(100% - var(--ideal-page-gutter, 24px));
    }

    .programme-group {
        padding: 22px 16px 26px;
    }

    .programme-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .programme-card {
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 96px;
    }

    .programme-icon {
        width: 76px;
        height: 76px;
    }

    .programme-card-body {
        padding-top: 8px;
    }

    .programme-card h5,
    .programme-group + .programme-group .programme-card h5 {
        margin-bottom: 6px;
        font-size: 17px;
    }
}

.founder-page-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.founder-page-heading {
    grid-column: 1 / -1;
    position: relative;
    overflow: hidden;
    padding: 26px 30px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
}

.founder-page-heading::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 220% 100%;
    animation: founderRibbonMove 7s linear infinite;
}

.founder-page-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.founder-page-heading h1 {
    margin: 14px 0 10px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.founder-page-heading p {
    max-width: 740px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.75;
}

.founder-profile-stack {
    display: grid;
    gap: 22px;
}

.founder-profile-card {
    position: relative;
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    transform: translateY(18px);
    opacity: 0;
    animation: founderCardIn 780ms cubic-bezier(0.16, 1, 0.3, 1) forwards, founderCardSurface 12s ease-in-out infinite;
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.founder-profile-card:nth-child(2) {
    animation-delay: 140ms, 1.5s;
}

.founder-profile-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    transform-origin: top;
    animation: founderAccentPulse 4.5s ease-in-out infinite;
}

.founder-profile-card--teal::before {
    background: #04848e;
}

.founder-profile-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #ffcc00, transparent);
    opacity: 0.65;
}

.founder-profile-card:hover {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.25);
    box-shadow: 0 30px 70px rgba(19, 47, 99, 0.16);
}

.founder-profile-media {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    width: 100%;
    min-height: 260px;
    padding: 14px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(232, 244, 247, 0.9)),
        repeating-linear-gradient(135deg, rgba(23, 61, 122, 0.1) 0, rgba(23, 61, 122, 0.1) 1px, transparent 1px, transparent 12px);
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
}

.founder-profile-media::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 0;
    border: 1px solid rgba(23, 61, 122, 0.16);
    border-radius: 8px;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 204, 0, 0.18) 42%, transparent 68%);
    background-size: 240% 100%;
    animation: founderFrameSweep 5.5s ease-in-out infinite;
}

.founder-profile-media::after {
    content: "";
    position: absolute;
    inset: -40% 58% -40% -40%;
    z-index: 1;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.56) 50%, transparent 80%);
    transform: translateX(-60%);
    transition: transform 560ms ease;
}

.founder-profile-media img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    max-width: 178px;
    height: 230px;
    object-fit: contain;
    object-position: center;
    background: #fff;
    border: 5px solid #fff;
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(19, 47, 99, 0.18);
    transition: transform 300ms ease, filter 300ms ease, box-shadow 300ms ease;
}

.founder-profile-card:hover .founder-profile-media::after {
    transform: translateX(280%);
}

.founder-profile-card:hover .founder-profile-media img {
    transform: scale(1.025);
    filter: saturate(1.06) contrast(1.03);
    box-shadow: 0 22px 44px rgba(19, 47, 99, 0.22);
}

.founder-role {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.founder-profile-content h2 {
    margin: 14px 0 8px;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.founder-profile-content h3 {
    margin: 0 0 14px;
    color: #04848e;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.founder-profile-content p {
    margin: 0;
    color: #263247;
    font-size: 16px;
    line-height: 1.82;
    text-align: left;
}

.founder-quick-links {
    position: sticky;
    top: 96px;
    align-self: start;
    padding: 22px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
}

.founder-quick-links h2 {
    margin: 0 0 14px;
    color: #132f63;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.founder-quick-links a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    margin-top: 10px;
    padding: 11px 13px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.founder-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.founder-quick-links a:hover,
.founder-quick-links a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

@keyframes founderGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 108px 54px, -54px 108px;
    }
}

@keyframes founderSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes founderRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 220% 0;
    }
}

@keyframes founderCardIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes founderCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes founderAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@keyframes founderFrameSweep {
    0%,
    100% {
        background-position: 0 0;
    }

    50% {
        background-position: 120% 0;
    }
}

@media (max-width: 991px) {
    .founder-page-shell {
        grid-template-columns: 1fr;
    }

    .founder-quick-links {
        position: static;
    }
}

@media (max-width: 700px) {
    .founder-page-section {
        padding: 38px 0 44px;
    }

    .founder-page-shell {
        width: min(100% - 22px, 1180px);
        gap: 18px;
    }

    .founder-page-heading {
        padding: 22px 18px;
    }

    .founder-page-heading h1 {
        font-size: 30px;
    }

    .founder-profile-card {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .founder-profile-media {
        min-height: 230px;
    }

    .founder-profile-media img {
        height: 208px;
    }

    .founder-profile-content h2 {
        font-size: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .founder-page-section::before,
    .founder-page-section::after,
    .founder-page-heading::before,
    .founder-profile-card,
    .founder-profile-card::before,
    .founder-profile-media::before {
        animation: none;
    }

    .founder-profile-card {
        opacity: 1;
        transform: none;
    }
}

.vm-page-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(238, 248, 244, 0.96) 52%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.vm-page-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: vmGridDrift 26s linear infinite;
}

.vm-page-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.14), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: vmSoftSweep 15s ease-in-out infinite alternate;
}

.vm-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.vm-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 26px;
    align-items: center;
    overflow: hidden;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: vmRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.vm-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: vmRibbonMove 7s linear infinite;
}

.vm-hero-copy {
    position: relative;
    z-index: 1;
}

.vm-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.vm-hero h1 {
    max-width: 720px;
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.vm-hero p {
    max-width: 760px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.78;
}

.vm-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.vm-stat-card {
    min-height: 112px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(19, 47, 99, 0.08);
    animation: vmRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.vm-stat-card:nth-child(2) {
    animation-delay: 90ms;
}

.vm-stat-card:nth-child(3) {
    animation-delay: 180ms;
}

.vm-stat-card strong {
    display: block;
    color: #07377d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.vm-stat-card span {
    display: block;
    margin-top: 10px;
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.vm-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    margin-top: 24px;
}

.vm-content-stack {
    display: grid;
    gap: 22px;
}

.vm-statement-card {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: vmRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, vmCardSurface 13s ease-in-out infinite;
}

.vm-statement-card--mission {
    animation-delay: 120ms, 1.2s;
}

.vm-statement-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: vmAccentPulse 4.5s ease-in-out infinite;
}

.vm-statement-card--mission::before {
    background: #04848e;
}

.vm-statement-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #ffcc00, transparent);
    opacity: 0.68;
}

.vm-card-label {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.vm-statement-card h2 {
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.vm-statement-card p {
    margin: 0;
    color: #263247;
    font-size: 16px;
    line-height: 1.8;
}

.vm-mission-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.vm-mission-list div {
    position: relative;
    min-height: 150px;
    padding: 18px;
    background: rgba(246, 249, 253, 0.94);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}

.vm-mission-list div::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #04848e, #ffcc00);
    opacity: 0.78;
}

.vm-mission-list div:hover {
    transform: translateY(-4px);
    background: #fff;
    border-color: rgba(4, 132, 142, 0.24);
}

.vm-mission-list strong {
    display: block;
    color: #132f63;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.vm-mission-list p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.68;
}

.vm-values-section {
    padding: 26px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.08);
    animation: vmRiseIn 800ms cubic-bezier(0.16, 1, 0.3, 1) 180ms both;
}

.vm-section-heading {
    margin-bottom: 18px;
}

.vm-section-heading span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.vm-section-heading h2 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.vm-values-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.vm-value-card {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    padding: 18px;
    background: rgba(246, 249, 253, 0.95);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
}

.vm-value-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00);
    background-size: 220% 100%;
    animation: vmRibbonMove 7s linear infinite;
}

.vm-value-card:hover {
    transform: translateY(-5px);
    background: #fff;
    border-color: rgba(4, 132, 142, 0.24);
    box-shadow: 0 20px 44px rgba(19, 47, 99, 0.12);
}

.vm-value-card span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.vm-value-card h3 {
    margin: 14px 0 8px;
    color: #132f63;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.vm-value-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    line-height: 1.66;
}

.vm-side-panel {
    position: sticky;
    top: 96px;
    align-self: start;
    padding: 22px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: vmRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) 220ms both;
}

.vm-side-panel h2,
.vm-quick-links h3 {
    margin: 0 0 14px;
    color: #132f63;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.vm-focus-list {
    display: grid;
    gap: 10px;
}

.vm-focus-list span {
    display: block;
    padding: 11px 12px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.vm-quick-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(19, 47, 99, 0.12);
}

.vm-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    margin-top: 10px;
    padding: 11px 13px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.vm-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.vm-quick-links a:hover,
.vm-quick-links a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

@keyframes vmGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 116px 58px, -58px 116px;
    }
}

@keyframes vmSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes vmRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 230% 0;
    }
}

@keyframes vmRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes vmCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes vmAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .vm-hero {
        grid-template-columns: 1fr;
    }

    .vm-stat-grid {
        max-width: 620px;
    }

    .vm-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .vm-main-grid {
        grid-template-columns: 1fr;
    }

    .vm-side-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .vm-page-section {
        padding: 38px 0 44px;
    }

    .vm-shell {
        width: min(100% - 22px, 1180px);
    }

    .vm-hero,
    .vm-statement-card,
    .vm-values-section,
    .vm-side-panel {
        padding: 20px;
    }

    .vm-hero h1 {
        font-size: 30px;
    }

    .vm-stat-grid,
    .vm-mission-list,
    .vm-values-grid {
        grid-template-columns: 1fr;
    }

    .vm-statement-card h2,
    .vm-section-heading h2 {
        font-size: 24px;
    }

    .vm-mission-list div,
    .vm-value-card {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vm-page-section::before,
    .vm-page-section::after,
    .vm-hero,
    .vm-hero::before,
    .vm-stat-card,
    .vm-statement-card,
    .vm-statement-card::before,
    .vm-values-section,
    .vm-value-card::before,
    .vm-side-panel {
        animation: none;
    }

    .vm-hero,
    .vm-stat-card,
    .vm-statement-card,
    .vm-values-section,
    .vm-side-panel {
        opacity: 1;
        transform: none;
    }
}

.gb-page-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(239, 248, 246, 0.96) 54%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.gb-page-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: gbGridDrift 26s linear infinite;
}

.gb-page-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.15), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: gbSoftSweep 15s ease-in-out infinite alternate;
}

.gb-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.gb-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: gbRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.gb-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: gbRibbonMove 7s linear infinite;
}

.gb-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.gb-hero h1 {
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.gb-hero p {
    max-width: 760px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.78;
}

.gb-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gb-hero-stats div {
    min-height: 112px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(19, 47, 99, 0.08);
    animation: gbRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.gb-hero-stats div:nth-child(2) {
    animation-delay: 90ms;
}

.gb-hero-stats strong {
    display: block;
    color: #07377d;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.gb-hero-stats span {
    display: block;
    margin-top: 10px;
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.gb-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    margin-top: 24px;
}

.gb-content-stack {
    display: grid;
    gap: 22px;
}

.gb-members-panel,
.gb-pdf-panel,
.gb-source-panel {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: gbRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, gbCardSurface 13s ease-in-out infinite;
}

.gb-members-panel::before,
.gb-pdf-panel::before,
.gb-source-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: gbAccentPulse 4.5s ease-in-out infinite;
}

.gb-pdf-panel::before,
.gb-source-panel::before {
    background: #04848e;
}

.gb-section-heading {
    margin-bottom: 18px;
}

.gb-section-heading span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.gb-section-heading h2,
.gb-source-panel h2 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.gb-member-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gb-member-card {
    position: relative;
    overflow: hidden;
    min-height: 146px;
    padding: 18px;
    background: rgba(246, 249, 253, 0.95);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    animation: gbMemberIn 620ms cubic-bezier(0.16, 1, 0.3, 1) both;
    transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
}

.gb-member-card:nth-child(2) { animation-delay: 60ms; }
.gb-member-card:nth-child(3) { animation-delay: 120ms; }
.gb-member-card:nth-child(4) { animation-delay: 180ms; }
.gb-member-card:nth-child(5) { animation-delay: 240ms; }
.gb-member-card:nth-child(6) { animation-delay: 300ms; }
.gb-member-card:nth-child(7) { animation-delay: 360ms; }
.gb-member-card:nth-child(8) { animation-delay: 420ms; }
.gb-member-card:nth-child(9) { animation-delay: 480ms; }
.gb-member-card:nth-child(10) { animation-delay: 540ms; }

.gb-member-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00);
    background-size: 220% 100%;
    animation: gbRibbonMove 7s linear infinite;
}

.gb-member-card:hover {
    transform: translateY(-5px);
    background: #fff;
    border-color: rgba(4, 132, 142, 0.24);
    box-shadow: 0 20px 44px rgba(19, 47, 99, 0.12);
}

.gb-member-card--wide {
    grid-column: 1 / -1;
}

.gb-member-card span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.gb-member-card--lead span,
.gb-member-card--accent span {
    color: #fff;
    background: #07377d;
}

.gb-member-card h3 {
    margin: 14px 0 8px;
    color: #132f63;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.gb-member-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    line-height: 1.66;
}

.gb-member-card p + p {
    margin-top: 8px;
    color: #263247;
    font-weight: 800;
}

.gb-pdf-panel {
    animation-delay: 120ms, 1.2s;
}

.gb-pdf-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.gb-pdf-actions a,
.gb-source-panel a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    color: #132f63;
    background: #ffcc00;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.gb-pdf-actions a:hover,
.gb-pdf-actions a:focus,
.gb-source-panel a:hover,
.gb-source-panel a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateY(-2px);
}

.gb-pdf-frame {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.gb-pdf-frame iframe {
    display: block;
    width: 100%;
    height: 680px;
    border: 0;
    background: #f7f9fd;
}

.gb-source-panel {
    position: sticky;
    top: 96px;
    align-self: start;
    animation-delay: 180ms, 1.8s;
}

.gb-source-image {
    position: relative;
    overflow: hidden;
    margin: 18px 0 14px;
    background: #fff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(19, 47, 99, 0.12);
}

.gb-source-image::after {
    content: "";
    position: absolute;
    inset: -40% 58% -40% -40%;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.56) 50%, transparent 80%);
    transform: translateX(-60%);
    transition: transform 560ms ease;
}

.gb-source-image:hover::after {
    transform: translateX(280%);
}

.gb-source-image img {
    display: block;
    width: 100%;
    height: auto;
}

.gb-source-panel a {
    display: flex;
    margin-top: 10px;
    background: rgba(246, 249, 253, 0.96);
}

.gb-source-panel a:first-of-type {
    background: #ffcc00;
}

@keyframes gbGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 116px 58px, -58px 116px;
    }
}

@keyframes gbSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes gbRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 230% 0;
    }
}

@keyframes gbRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gbMemberIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gbCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes gbAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .gb-hero {
        grid-template-columns: 1fr;
    }

    .gb-hero-stats {
        max-width: 420px;
    }
}

@media (max-width: 991px) {
    .gb-main-grid {
        grid-template-columns: 1fr;
    }

    .gb-source-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .gb-page-section {
        padding: 38px 0 44px;
    }

    .gb-shell {
        width: min(100% - 22px, 1180px);
    }

    .gb-hero,
    .gb-members-panel,
    .gb-pdf-panel,
    .gb-source-panel {
        padding: 20px;
    }

    .gb-hero h1 {
        font-size: 30px;
    }

    .gb-hero-stats,
    .gb-member-grid {
        grid-template-columns: 1fr;
    }

    .gb-section-heading h2,
    .gb-source-panel h2 {
        font-size: 24px;
    }

    .gb-member-card {
        min-height: 0;
    }

    .gb-pdf-frame iframe {
        height: 520px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gb-page-section::before,
    .gb-page-section::after,
    .gb-hero,
    .gb-hero::before,
    .gb-hero-stats div,
    .gb-members-panel,
    .gb-members-panel::before,
    .gb-pdf-panel,
    .gb-pdf-panel::before,
    .gb-source-panel,
    .gb-source-panel::before,
    .gb-member-card,
    .gb-member-card::before {
        animation: none;
    }

    .gb-hero,
    .gb-hero-stats div,
    .gb-members-panel,
    .gb-pdf-panel,
    .gb-source-panel,
    .gb-member-card {
        opacity: 1;
        transform: none;
    }
}

.principal-page-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(238, 248, 244, 0.96) 52%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.principal-page-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: principalGridDrift 26s linear infinite;
}

.principal-page-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.15), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: principalSoftSweep 15s ease-in-out infinite alternate;
}

.principal-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.principal-hero {
    position: relative;
    display: grid;
    grid-template-columns: 430px minmax(0, 1fr);
    gap: 26px;
    align-items: stretch;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: principalRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.principal-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: principalRibbonMove 7s linear infinite;
}

.principal-photo-card {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    background: #fff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    box-shadow: 0 20px 48px rgba(19, 47, 99, 0.14);
}

.principal-photo-card::after {
    content: "";
    position: absolute;
    inset: -40% 58% -40% -40%;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.56) 50%, transparent 80%);
    transform: translateX(-60%);
    transition: transform 560ms ease;
}

.principal-photo-card:hover::after {
    transform: translateX(280%);
}

.principal-photo-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: right center;
    transition: transform 320ms ease, filter 320ms ease;
}

.principal-photo-card:hover img {
    transform: scale(1.025);
    filter: saturate(1.05) contrast(1.03);
}

.principal-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 360px;
    padding: 12px 8px;
}

.principal-kicker {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.principal-hero h1 {
    margin: 16px 0 10px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.principal-hero p {
    max-width: 680px;
    margin: 0;
    color: #42516b;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.62;
}

.principal-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.principal-hero-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    color: #132f63;
    background: rgba(255, 204, 0, 0.25);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.principal-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    margin-top: 24px;
}

.principal-content-stack {
    display: grid;
    gap: 22px;
}

.principal-message-card,
.principal-history-panel,
.principal-side-panel {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: principalRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, principalCardSurface 13s ease-in-out infinite;
}

.principal-history-panel {
    animation-delay: 120ms, 1.2s;
}

.principal-side-panel {
    animation-delay: 180ms, 1.8s;
}

.principal-message-card::before,
.principal-history-panel::before,
.principal-side-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: principalAccentPulse 4.5s ease-in-out infinite;
}

.principal-history-panel::before,
.principal-side-panel::before {
    background: #04848e;
}

.principal-card-label,
.principal-section-heading span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.principal-message-card p {
    margin: 14px 0 0;
    color: #263247;
    font-size: 16px;
    line-height: 1.82;
}

.principal-section-heading {
    margin-bottom: 18px;
}

.principal-section-heading h2,
.principal-side-panel h2,
.principal-quick-links h3 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.principal-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    background: #fff;
}

.principal-history-table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.principal-history-table th,
.principal-history-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.1);
    color: #263247;
    font-size: 14px;
    line-height: 1.45;
    vertical-align: middle;
}

.principal-history-table th {
    color: #fff;
    background: #173d7a;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

.principal-history-table td:first-child {
    width: 74px;
    color: #132f63;
    font-weight: 900;
    text-align: center;
}

.principal-history-table tbody tr:nth-child(even) td {
    background: rgba(246, 249, 253, 0.92);
}

.principal-history-table tbody tr:hover td {
    background: rgba(255, 204, 0, 0.16);
}

.principal-history-table tr:last-child td {
    border-bottom: 0;
}

.principal-side-panel {
    position: sticky;
    top: 96px;
    align-self: start;
}

.principal-report-list,
.principal-quick-links {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.principal-quick-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(19, 47, 99, 0.12);
}

.principal-report-list a,
.principal-report-unavailable,
.principal-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 11px 13px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.principal-report-list a::after,
.principal-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.principal-report-unavailable {
    color: #6c7485;
    background: rgba(238, 242, 247, 0.84);
}

.principal-report-list a:hover,
.principal-report-list a:focus,
.principal-quick-links a:hover,
.principal-quick-links a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

@keyframes principalGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 116px 58px, -58px 116px;
    }
}

@keyframes principalSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes principalRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 230% 0;
    }
}

@keyframes principalRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes principalCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes principalAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .principal-hero {
        grid-template-columns: 360px minmax(0, 1fr);
    }
}

@media (max-width: 991px) {
    .principal-hero,
    .principal-main-grid {
        grid-template-columns: 1fr;
    }

    .principal-side-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .principal-page-section {
        padding: 38px 0 44px;
    }

    .principal-shell {
        width: min(100% - 22px, 1180px);
    }

    .principal-hero,
    .principal-message-card,
    .principal-history-panel,
    .principal-side-panel {
        padding: 20px;
    }

    .principal-photo-card,
    .principal-photo-card img,
    .principal-hero-copy {
        min-height: 260px;
    }

    .principal-hero h1 {
        font-size: 30px;
    }

    .principal-section-heading h2,
    .principal-side-panel h2,
    .principal-quick-links h3 {
        font-size: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .principal-page-section::before,
    .principal-page-section::after,
    .principal-hero,
    .principal-hero::before,
    .principal-message-card,
    .principal-message-card::before,
    .principal-history-panel,
    .principal-history-panel::before,
    .principal-side-panel,
    .principal-side-panel::before {
        animation: none;
    }

    .principal-hero,
    .principal-message-card,
    .principal-history-panel,
    .principal-side-panel {
        opacity: 1;
        transform: none;
    }
}

.strategic-page-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(239, 248, 246, 0.96) 54%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.strategic-page-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: strategicGridDrift 26s linear infinite;
}

.strategic-page-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.15), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: strategicSoftSweep 15s ease-in-out infinite alternate;
}

.strategic-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.strategic-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: strategicRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.strategic-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: strategicRibbonMove 7s linear infinite;
}

.strategic-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.strategic-hero h1 {
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.strategic-hero p {
    max-width: 760px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.78;
}

.strategic-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.strategic-hero-stats div {
    min-height: 112px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(19, 47, 99, 0.08);
    animation: strategicRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.strategic-hero-stats div:nth-child(2) {
    animation-delay: 90ms;
}

.strategic-hero-stats strong {
    display: block;
    color: #07377d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.strategic-hero-stats span {
    display: block;
    margin-top: 10px;
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.strategic-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    margin-top: 24px;
}

.strategic-document-stack {
    display: grid;
    gap: 22px;
}

.strategic-document-card,
.strategic-side-panel {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: strategicRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, strategicCardSurface 13s ease-in-out infinite;
}

.strategic-document-card--alt {
    animation-delay: 120ms, 1.2s;
}

.strategic-side-panel {
    position: sticky;
    top: 96px;
    align-self: start;
    animation-delay: 180ms, 1.8s;
}

.strategic-document-card::before,
.strategic-side-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: strategicAccentPulse 4.5s ease-in-out infinite;
}

.strategic-document-card--alt::before,
.strategic-side-panel::before {
    background: #04848e;
}

.strategic-document-heading,
.strategic-side-panel h2 {
    margin-bottom: 18px;
}

.strategic-document-heading span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.strategic-document-heading h2,
.strategic-side-panel h2,
.strategic-quick-links h3 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.strategic-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.strategic-actions a,
.strategic-side-panel a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    color: #132f63;
    background: #ffcc00;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.strategic-actions a:hover,
.strategic-actions a:focus,
.strategic-side-panel a:hover,
.strategic-side-panel a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateY(-2px);
}

.strategic-pdf-frame {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.strategic-pdf-frame iframe {
    display: block;
    width: 100%;
    height: 680px;
    border: 0;
    background: #f7f9fd;
}

.strategic-side-panel > a,
.strategic-quick-links a {
    display: flex;
    margin-top: 10px;
    background: rgba(246, 249, 253, 0.96);
}

.strategic-side-panel > a::after,
.strategic-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.strategic-quick-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(19, 47, 99, 0.12);
}

@keyframes strategicGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 116px 58px, -58px 116px;
    }
}

@keyframes strategicSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes strategicRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 230% 0;
    }
}

@keyframes strategicRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes strategicCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes strategicAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .strategic-hero {
        grid-template-columns: 1fr;
    }

    .strategic-hero-stats {
        max-width: 520px;
    }
}

@media (max-width: 991px) {
    .strategic-main-grid {
        grid-template-columns: 1fr;
    }

    .strategic-side-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .strategic-page-section {
        padding: 38px 0 44px;
    }

    .strategic-shell {
        width: min(100% - 22px, 1180px);
    }

    .strategic-hero,
    .strategic-document-card,
    .strategic-side-panel {
        padding: 20px;
    }

    .strategic-hero h1 {
        font-size: 30px;
    }

    .strategic-hero-stats {
        grid-template-columns: 1fr;
    }

    .strategic-document-heading h2,
    .strategic-side-panel h2,
    .strategic-quick-links h3 {
        font-size: 24px;
    }

    .strategic-pdf-frame iframe {
        height: 520px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .strategic-page-section::before,
    .strategic-page-section::after,
    .strategic-hero,
    .strategic-hero::before,
    .strategic-hero-stats div,
    .strategic-document-card,
    .strategic-document-card::before,
    .strategic-side-panel,
    .strategic-side-panel::before {
        animation: none;
    }

    .strategic-hero,
    .strategic-hero-stats div,
    .strategic-document-card,
    .strategic-side-panel {
        opacity: 1;
        transform: none;
    }
}

.source-doc-page {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(239, 248, 246, 0.96) 54%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.source-doc-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: sourceDocGridDrift 26s linear infinite;
}

.source-doc-page::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.15), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: sourceDocSoftSweep 15s ease-in-out infinite alternate;
}

.source-doc-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.source-doc-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: sourceDocRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.source-doc-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: sourceDocRibbonMove 7s linear infinite;
}

.source-doc-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.source-doc-hero h1 {
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.source-doc-hero p {
    max-width: 760px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.78;
}

.source-doc-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.source-doc-stats div {
    min-height: 112px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(19, 47, 99, 0.08);
    animation: sourceDocRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.source-doc-stats div:nth-child(2) {
    animation-delay: 90ms;
}

.source-doc-stats strong {
    display: block;
    color: #07377d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.source-doc-stats span {
    display: block;
    margin-top: 10px;
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.source-doc-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    margin-top: 24px;
}

.source-doc-stack {
    display: grid;
    gap: 22px;
}

.source-doc-card,
.source-doc-side-panel {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: sourceDocRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, sourceDocCardSurface 13s ease-in-out infinite;
}

.source-doc-card--alt {
    animation-delay: 120ms, 1.2s;
}

.source-doc-side-panel {
    position: sticky;
    top: 96px;
    align-self: start;
    animation-delay: 180ms, 1.8s;
}

.source-doc-card::before,
.source-doc-side-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: sourceDocAccentPulse 4.5s ease-in-out infinite;
}

.source-doc-card--alt::before,
.source-doc-side-panel::before {
    background: #04848e;
}

.source-doc-heading,
.source-doc-side-panel h2 {
    margin-bottom: 18px;
}

.source-doc-heading span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.source-doc-heading h2,
.source-doc-side-panel h2,
.source-doc-quick-links h3 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.source-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.source-doc-actions a,
.source-doc-side-panel a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    color: #132f63;
    background: #ffcc00;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.source-doc-actions a:hover,
.source-doc-actions a:focus,
.source-doc-side-panel a:hover,
.source-doc-side-panel a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateY(-2px);
}

.source-doc-frame {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.source-doc-frame iframe {
    display: block;
    width: 100%;
    height: 760px;
    border: 0;
    background: #f7f9fd;
}

.source-doc-side-panel > a,
.source-doc-quick-links a {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    background: rgba(246, 249, 253, 0.96);
}

.source-doc-side-panel > a::after,
.source-doc-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.source-doc-quick-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(19, 47, 99, 0.12);
}

@keyframes sourceDocGridDrift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 116px 58px, -58px 116px;
    }
}

@keyframes sourceDocSoftSweep {
    from {
        transform: translateX(-18%);
    }

    to {
        transform: translateX(18%);
    }
}

@keyframes sourceDocRibbonMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 230% 0;
    }
}

@keyframes sourceDocRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sourceDocCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes sourceDocAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .source-doc-hero {
        grid-template-columns: 1fr;
    }

    .source-doc-stats {
        max-width: 520px;
    }
}

@media (max-width: 991px) {
    .source-doc-main-grid {
        grid-template-columns: 1fr;
    }

    .source-doc-side-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .source-doc-page {
        padding: 38px 0 44px;
    }

    .source-doc-shell {
        width: min(100% - 22px, 1180px);
    }

    .source-doc-hero,
    .source-doc-card,
    .source-doc-side-panel {
        padding: 20px;
    }

    .source-doc-hero h1 {
        font-size: 30px;
    }

    .source-doc-stats {
        grid-template-columns: 1fr;
    }

    .source-doc-heading h2,
    .source-doc-side-panel h2,
    .source-doc-quick-links h3 {
        font-size: 24px;
    }

    .source-doc-frame iframe {
        height: 520px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .source-doc-page::before,
    .source-doc-page::after,
    .source-doc-hero,
    .source-doc-hero::before,
    .source-doc-stats div,
    .source-doc-card,
    .source-doc-card::before,
    .source-doc-side-panel,
    .source-doc-side-panel::before {
        animation: none;
    }

    .source-doc-hero,
    .source-doc-stats div,
    .source-doc-card,
    .source-doc-side-panel {
        opacity: 1;
        transform: none;
    }
}

.courses-2026-page {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 56px 0 68px;
    background:
        linear-gradient(135deg, rgba(247, 251, 255, 0.96) 0%, rgba(238, 248, 244, 0.96) 52%, rgba(255, 249, 232, 0.96) 100%),
        repeating-linear-gradient(115deg, rgba(19, 47, 99, 0.06) 0, rgba(19, 47, 99, 0.06) 1px, transparent 1px, transparent 34px);
    letter-spacing: 0;
}

.courses-2026-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(90deg, rgba(4, 132, 142, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(189, 32, 56, 0.06) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: 0.48;
    animation: coursesGridDrift 26s linear infinite;
}

.courses-2026-page::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.72) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255, 204, 0, 0.15), transparent 34%, rgba(19, 47, 99, 0.08));
    transform: translateX(-18%);
    animation: coursesSoftSweep 15s ease-in-out infinite alternate;
}

.courses-2026-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.courses-2026-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 253, 0.9)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.16));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(19, 47, 99, 0.11);
    animation: coursesRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.courses-2026-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d, #173d7a);
    background-size: 230% 100%;
    animation: coursesRibbonMove 7s linear infinite;
}

.courses-2026-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.courses-2026-hero h1 {
    margin: 14px 0 12px;
    color: #132f63;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.courses-2026-hero p {
    max-width: 760px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    line-height: 1.78;
}

.courses-2026-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.courses-2026-stats div,
.courses-2026-summary-card {
    min-height: 112px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(19, 47, 99, 0.08);
    animation: coursesRiseIn 720ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.courses-2026-stats div:nth-child(2) {
    animation-delay: 90ms;
}

.courses-2026-stats strong,
.courses-2026-summary-card strong {
    display: block;
    color: #07377d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.courses-2026-stats span,
.courses-2026-summary-card span {
    display: block;
    margin-top: 10px;
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.courses-2026-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    margin-top: 24px;
}

.courses-2026-stack {
    display: grid;
    gap: 22px;
}

.courses-2026-panel,
.courses-2026-side-panel {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 251, 253, 0.94)),
        linear-gradient(110deg, transparent 0%, rgba(4, 132, 142, 0.08) 42%, transparent 68%);
    background-size: 100% 100%, 260% 100%;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
    animation: coursesRiseIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both, coursesCardSurface 13s ease-in-out infinite;
}

.courses-2026-panel--alt {
    animation-delay: 120ms, 1.2s;
}

.courses-2026-side-panel {
    position: sticky;
    top: 96px;
    align-self: start;
    animation-delay: 180ms, 1.8s;
}

.courses-2026-panel::before,
.courses-2026-side-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #173d7a;
    animation: coursesAccentPulse 4.5s ease-in-out infinite;
}

.courses-2026-panel--alt::before,
.courses-2026-side-panel::before {
    background: #04848e;
}

.courses-2026-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.courses-2026-panel-head span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    color: #07377d;
    background: rgba(189, 32, 56, 0.08);
    border: 1px solid rgba(189, 32, 56, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.courses-2026-panel-head h2,
.courses-2026-side-panel h2,
.courses-2026-quick-links h3 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.courses-2026-panel-summary {
    flex: 0 0 132px;
    padding: 13px;
    text-align: center;
    background: rgba(255, 204, 0, 0.22);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
}

.courses-2026-panel-summary strong {
    display: block;
    color: #132f63;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.courses-2026-panel-summary span {
    margin-top: 7px;
    color: #42516b;
    background: transparent;
    border: 0;
    padding: 0;
    min-height: 0;
    font-size: 12px;
}

.courses-2026-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    background: #fff;
}

.courses-2026-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.courses-2026-table th,
.courses-2026-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.1);
    color: #263247;
    font-size: 14px;
    line-height: 1.45;
    vertical-align: middle;
}

.courses-2026-table th {
    color: #fff;
    background: #173d7a;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

.courses-2026-table td:first-child,
.courses-2026-table td:last-child {
    width: 82px;
    color: #132f63;
    font-weight: 900;
    text-align: center;
}

.courses-2026-table tbody tr {
    opacity: 0;
    transform: translateY(12px);
    animation: coursesRowIn 560ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.courses-2026-table tbody tr:nth-child(2) { animation-delay: 40ms; }
.courses-2026-table tbody tr:nth-child(3) { animation-delay: 80ms; }
.courses-2026-table tbody tr:nth-child(4) { animation-delay: 120ms; }
.courses-2026-table tbody tr:nth-child(5) { animation-delay: 160ms; }
.courses-2026-table tbody tr:nth-child(6) { animation-delay: 200ms; }
.courses-2026-table tbody tr:nth-child(7) { animation-delay: 240ms; }
.courses-2026-table tbody tr:nth-child(8) { animation-delay: 280ms; }
.courses-2026-table tbody tr:nth-child(9) { animation-delay: 320ms; }
.courses-2026-table tbody tr:nth-child(10) { animation-delay: 360ms; }
.courses-2026-table tbody tr:nth-child(11) { animation-delay: 400ms; }
.courses-2026-table tbody tr:nth-child(12) { animation-delay: 440ms; }
.courses-2026-table tbody tr:nth-child(13) { animation-delay: 480ms; }
.courses-2026-table tbody tr:nth-child(14) { animation-delay: 520ms; }
.courses-2026-table tbody tr:nth-child(15) { animation-delay: 560ms; }
.courses-2026-table tbody tr:nth-child(16) { animation-delay: 600ms; }
.courses-2026-table tbody tr:nth-child(17) { animation-delay: 640ms; }

.courses-2026-table tbody tr:nth-child(even) td {
    background: rgba(246, 249, 253, 0.92);
}

.courses-2026-table tbody tr:hover td {
    background: rgba(255, 204, 0, 0.16);
}

.courses-2026-table tr:last-child td {
    border-bottom: 0;
}

.courses-2026-table td:nth-child(3) span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.course-row--commerce td:nth-child(3) span { color: #04736b; background: rgba(4, 115, 107, 0.1); }
.course-row--arts td:nth-child(3) span { color: #07377d; background: rgba(189, 32, 56, 0.1); }
.course-row--technology td:nth-child(3) span { color: #173d7a; background: rgba(23, 61, 122, 0.1); }
.course-row--science td:nth-child(3) span { color: #5c4ab0; background: rgba(92, 74, 176, 0.1); }
.course-row--life td:nth-child(3) span { color: #2c7a34; background: rgba(44, 122, 52, 0.1); }
.course-row--health td:nth-child(3) span { color: #04848e; background: rgba(4, 132, 142, 0.12); }
.course-row--applied td:nth-child(3) span { color: #b16d00; background: rgba(255, 204, 0, 0.2); }
.course-row--management td:nth-child(3) span { color: #7a3cff; background: rgba(122, 60, 255, 0.1); }

.courses-2026-summary-card {
    min-height: 0;
    margin-top: 14px;
}

.courses-2026-summary-card strong {
    color: #132f63;
    font-size: 18px;
}

.courses-2026-quick-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(19, 47, 99, 0.12);
}

.courses-2026-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    margin-top: 10px;
    padding: 11px 13px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.courses-2026-quick-links a::after {
    content: ">";
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.courses-2026-quick-links a:hover,
.courses-2026-quick-links a:focus {
    color: #132f63;
    background: #fff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

@keyframes coursesGridDrift {
    from { background-position: 0 0, 0 0; }
    to { background-position: 116px 58px, -58px 116px; }
}

@keyframes coursesSoftSweep {
    from { transform: translateX(-18%); }
    to { transform: translateX(18%); }
}

@keyframes coursesRibbonMove {
    from { background-position: 0 0; }
    to { background-position: 230% 0; }
}

@keyframes coursesRiseIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes coursesRowIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes coursesCardSurface {
    0%,
    100% {
        background-position: 0 0, 0 0;
    }

    50% {
        background-position: 0 0, 100% 0;
    }
}

@keyframes coursesAccentPulse {
    0%,
    100% {
        opacity: 0.78;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.92);
    }
}

@media (max-width: 1100px) {
    .courses-2026-hero {
        grid-template-columns: 1fr;
    }

    .courses-2026-stats {
        max-width: 520px;
    }
}

@media (max-width: 991px) {
    .courses-2026-main-grid {
        grid-template-columns: 1fr;
    }

    .courses-2026-side-panel {
        position: static;
    }
}

@media (max-width: 700px) {
    .courses-2026-page {
        padding: 38px 0 44px;
    }

    .courses-2026-shell {
        width: min(100% - 22px, 1180px);
    }

    .courses-2026-hero,
    .courses-2026-panel,
    .courses-2026-side-panel {
        padding: 20px;
    }

    .courses-2026-hero h1 {
        font-size: 30px;
    }

    .courses-2026-stats {
        grid-template-columns: 1fr;
    }

    .courses-2026-panel-head {
        flex-direction: column;
    }

    .courses-2026-panel-summary {
        flex: 0 0 auto;
        width: 100%;
        text-align: left;
    }

    .courses-2026-panel-head h2,
    .courses-2026-side-panel h2,
    .courses-2026-quick-links h3 {
        font-size: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .courses-2026-page::before,
    .courses-2026-page::after,
    .courses-2026-hero,
    .courses-2026-hero::before,
    .courses-2026-stats div,
    .courses-2026-panel,
    .courses-2026-panel::before,
    .courses-2026-side-panel,
    .courses-2026-side-panel::before,
    .courses-2026-table tbody tr {
        animation: none;
    }

    .courses-2026-hero,
    .courses-2026-stats div,
    .courses-2026-panel,
    .courses-2026-side-panel,
    .courses-2026-table tbody tr {
        opacity: 1;
        transform: none;
    }
}

.ideal-home-gallery-section {
    padding-top: 42px;
}

.ideal-home-gallery-hero {
    margin-bottom: 24px;
}

.ideal-home-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.ideal-home-gallery-card {
    position: relative;
    display: block;
    min-height: 220px;
    overflow: hidden;
    color: #ffffff;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(13, 33, 67, 0.16);
    text-decoration: none;
    isolation: isolate;
    animation: idealGalleryRise 520ms ease both;
}

.ideal-home-gallery-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(10, 23, 48, 0) 50%, rgba(10, 23, 48, 0.66) 100%);
    opacity: 1;
    transition: opacity 240ms ease;
}

.ideal-home-gallery-card::after {
    content: none;
}

.ideal-home-gallery-card img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 420ms ease, filter 420ms ease;
}

.ideal-home-gallery-card span {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: calc(100% - 28px);
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.ideal-home-gallery-card span::after {
    content: "\f065";
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 50%;
    font-family: "Font Awesome 6 Free";
    font-size: 13px;
    font-weight: 900;
}

.ideal-home-gallery-card:hover,
.ideal-home-gallery-card:focus {
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-5px);
    box-shadow: 0 24px 56px rgba(13, 33, 67, 0.22);
}

.ideal-home-gallery-card:hover::before,
.ideal-home-gallery-card:focus::before {
    opacity: 1;
}

.ideal-home-gallery-card:hover::after,
.ideal-home-gallery-card:focus::after {
    transform: none;
}

.ideal-home-gallery-card:hover img,
.ideal-home-gallery-card:focus img {
    transform: scale(1.055);
    filter: saturate(1.08) contrast(1.04);
}

body.ideal-gallery-open {
    overflow: hidden;
}

.ideal-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.ideal-gallery-lightbox.is-open {
    display: flex;
}

.ideal-gallery-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 15, 38, 0.86);
}

.ideal-gallery-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: min(100%, 1180px);
}

.ideal-gallery-lightbox figure {
    margin: 0;
    min-width: 0;
}

.ideal-gallery-lightbox img {
    display: block;
    width: 100%;
    max-height: 82vh;
    object-fit: contain;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.ideal-gallery-lightbox figcaption {
    margin-top: 12px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
}

.ideal-gallery-lightbox__close,
.ideal-gallery-lightbox__arrow {
    display: grid;
    place-items: center;
    color: #07377d;
    background: #ffffff;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
    cursor: pointer;
}

.ideal-gallery-lightbox__close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 42px;
    height: 42px;
    font-size: 30px;
    line-height: 1;
}

.ideal-gallery-lightbox__arrow {
    width: 54px;
    height: 54px;
    font-size: 42px;
    font-weight: 900;
}

.ideal-gallery-lightbox__close:hover,
.ideal-gallery-lightbox__close:focus,
.ideal-gallery-lightbox__arrow:hover,
.ideal-gallery-lightbox__arrow:focus {
    color: #ffffff;
    background: #07377d;
    outline: 3px solid rgba(255, 204, 0, 0.72);
}

@keyframes idealGalleryRise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 700px) {
    .ideal-home-gallery-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ideal-home-gallery-card,
    .ideal-home-gallery-card img {
        min-height: 210px;
    }

    .ideal-gallery-lightbox {
        padding: 16px;
    }

    .ideal-gallery-lightbox__dialog {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .ideal-gallery-lightbox figure {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .ideal-gallery-lightbox__arrow {
        width: 48px;
        height: 48px;
        margin: 0 auto;
        font-size: 36px;
    }

    .ideal-gallery-lightbox__arrow--prev {
        grid-column: 1;
        grid-row: 2;
    }

    .ideal-gallery-lightbox__arrow--next {
        grid-column: 2;
        grid-row: 2;
    }

    .ideal-gallery-lightbox__close {
        top: 8px;
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ideal-home-gallery-card,
    .ideal-home-gallery-card::after,
    .ideal-home-gallery-card img {
        animation: none;
        transition: none;
    }
}

.mous-page-section {
    padding-top: 42px;
}

.mous-hero {
    margin-bottom: 24px;
}

.mous-document-stack {
    gap: 22px;
}

.mous-document-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(13, 33, 67, 0.12);
    animation: mousCardIn 560ms ease both;
}

.mous-document-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #132f63, #04848e, #ffcc00);
}

.mous-document-heading {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.mous-document-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: rgba(255, 204, 0, 0.22);
    border: 1px solid rgba(255, 204, 0, 0.45);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.mous-document-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0;
}

.mous-document-heading p {
    margin: 0;
    color: #4a5a73;
    font-size: 15px;
    line-height: 1.7;
}

.mous-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.mous-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 10px 15px;
    color: #ffffff;
    background: #132f63;
    border: 1px solid rgba(19, 47, 99, 0.18);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.mous-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
}

.mous-actions a:hover,
.mous-actions a:focus {
    color: #ffffff;
    background: #04848e;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(4, 132, 142, 0.22);
}

.mous-actions a:nth-child(2):hover,
.mous-actions a:nth-child(2):focus {
    color: #132f63;
    background: #ffd84a;
}

.mous-pdf-frame {
    width: 100%;
    overflow: hidden;
    background: #eef3f8;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.mous-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(72vh, 680px);
    min-height: 460px;
    border: 0;
}

.mous-archive-list {
    display: grid;
    gap: 10px;
    margin: 16px 0 18px;
}

.mous-archive-list a,
.mous-source-card {
    display: grid;
    gap: 4px;
    padding: 13px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    text-decoration: none;
}

.mous-archive-list a {
    transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

.mous-archive-list a strong {
    color: #132f63;
    font-size: 14px;
    font-weight: 900;
}

.mous-archive-list a span,
.mous-source-card span {
    color: #586981;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.mous-archive-list a:hover,
.mous-archive-list a:focus {
    color: #132f63;
    background: #ffffff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

.mous-source-card {
    margin-bottom: 18px;
}

.mous-source-card a {
    color: #132f63;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
}

.mous-source-card a:hover,
.mous-source-card a:focus {
    color: #04848e;
    text-decoration: none;
}

@keyframes mousCardIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 700px) {
    .mous-document-card {
        padding: 18px;
    }

    .mous-document-heading {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mous-document-heading > span {
        justify-self: start;
    }

    .mous-document-heading h2 {
        font-size: 23px;
    }

    .mous-actions a {
        width: 100%;
    }

    .mous-pdf-frame iframe {
        height: 520px;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mous-document-card,
    .mous-actions a,
    .mous-archive-list a {
        animation: none;
        transition: none;
    }
}

.nirf-page-section {
    padding-bottom: 76px;
}

.nirf-hero .vm-stat-card strong {
    color: #173d7a;
}

.nirf-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.nirf-main {
    display: grid;
    gap: 30px;
}

.nirf-section {
    display: grid;
    gap: 18px;
}

.nirf-section-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.nirf-section-heading h2 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.nirf-report-grid,
.nirf-report-stack {
    display: grid;
    gap: 18px;
}

.nirf-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nirf-report-stack {
    grid-template-columns: 1fr;
}

.nirf-report-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.94)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.13));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.nirf-report-card--viewer {
    min-height: auto;
}

.nirf-report-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.nirf-report-card:hover,
.nirf-report-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 26px 58px rgba(19, 47, 99, 0.14);
}

.nirf-report-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.nirf-year {
    display: inline-grid;
    place-items: center;
    min-width: 64px;
    min-height: 36px;
    padding: 7px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.nirf-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.09);
    border: 1px solid rgba(4, 132, 142, 0.14);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.nirf-report-card h3 {
    margin: 0 0 16px;
    color: #132f63;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.nirf-facts {
    display: grid;
    gap: 12px;
    margin: 0;
}

.nirf-facts div {
    padding: 0 0 0 12px;
    background: transparent;
    border: 0;
    border-left: 3px solid rgba(4, 132, 142, 0.28);
    border-radius: 0;
}

.nirf-facts dt {
    margin: 0 0 5px;
    color: #07377d;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.nirf-facts dd {
    margin: 0;
    color: #263247;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.nirf-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.nirf-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.nirf-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.nirf-actions a:hover,
.nirf-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.nirf-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.nirf-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.nirf-table-wrap {
    overflow-x: auto;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(19, 47, 99, 0.1);
}

.nirf-summary-table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
}

.nirf-summary-table th,
.nirf-summary-table td {
    padding: 15px 16px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.1);
    color: #263247;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    vertical-align: top;
    letter-spacing: 0;
}

.nirf-summary-table th {
    color: #ffffff;
    background: #173d7a;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.nirf-summary-table tbody tr:nth-child(even) td {
    background: rgba(246, 249, 253, 0.92);
}

.nirf-summary-table tbody tr:last-child td {
    border-bottom: 0;
}

.nirf-side-panel {
    top: 92px;
}

.nirf-document-list {
    display: grid;
    gap: 10px;
}

.nirf-document-list a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 11px 12px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    text-decoration: none;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.nirf-document-list a:hover,
.nirf-document-list a:focus {
    color: #132f63;
    background: #ffffff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

.nirf-document-list span {
    color: inherit;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
}

.nirf-document-list em {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 5px 8px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

@media (max-width: 1100px) {
    .nirf-layout {
        grid-template-columns: 1fr;
    }

    .nirf-side-panel {
        position: static;
    }
}

@media (max-width: 820px) {
    .nirf-report-grid {
        grid-template-columns: 1fr;
    }

    .nirf-report-card {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    .nirf-report-card__top,
    .nirf-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .nirf-year,
    .nirf-tag,
    .nirf-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nirf-report-card,
    .nirf-actions a,
    .nirf-document-list a {
        transition: none;
    }

    .nirf-report-card:hover,
    .nirf-report-card:focus-within,
    .nirf-actions a:hover,
    .nirf-actions a:focus,
    .nirf-document-list a:hover,
    .nirf-document-list a:focus {
        transform: none;
    }
}

.undertaking-page-section {
    padding-bottom: 76px;
}

.undertaking-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.undertaking-main {
    display: grid;
    gap: 30px;
}

.undertaking-section-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.undertaking-section-heading h2 {
    margin: 12px 0 18px;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.undertaking-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.undertaking-highlight-card {
    position: relative;
    overflow: hidden;
    min-height: 146px;
    padding: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.94)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.13));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.09);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.undertaking-highlight-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00);
}

.undertaking-highlight-card:hover,
.undertaking-highlight-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 24px 54px rgba(19, 47, 99, 0.13);
}

.undertaking-highlight-card span {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.undertaking-highlight-card p {
    margin: 14px 0 0;
    color: #263247;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0;
}

.undertaking-document-stack {
    display: grid;
    gap: 22px;
}

.undertaking-document-card {
    overflow: hidden;
    padding: 22px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.1);
}

.undertaking-document-heading {
    display: grid;
    grid-template-columns: 178px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.undertaking-document-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
}

.undertaking-document-heading h3 {
    margin: 0;
    color: #132f63;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.undertaking-document-heading p,
.undertaking-source-note {
    margin: 8px 0 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0;
}

.undertaking-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0;
}

.undertaking-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.undertaking-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.undertaking-actions a:hover,
.undertaking-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.undertaking-pdf-frame {
    overflow: hidden;
    background: #eef3f8;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.undertaking-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(72vh, 680px);
    min-height: 460px;
    border: 0;
}

.undertaking-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .undertaking-layout {
        grid-template-columns: 1fr;
    }

    .undertaking-side-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .undertaking-highlight-grid,
    .undertaking-document-heading {
        grid-template-columns: 1fr;
    }

    .undertaking-document-card,
    .undertaking-highlight-card {
        padding: 18px;
    }

    .undertaking-document-heading > span {
        justify-self: start;
    }

    .undertaking-actions a {
        width: 100%;
    }

    .undertaking-pdf-frame iframe {
        height: 520px;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .undertaking-highlight-card,
    .undertaking-actions a {
        transition: none;
    }

    .undertaking-highlight-card:hover,
    .undertaking-highlight-card:focus-within,
    .undertaking-actions a:hover,
    .undertaking-actions a:focus {
        transform: none;
    }
}

.finance-page-section {
    padding-bottom: 76px;
}

.finance-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
    margin-top: 26px;
}

.finance-main {
    display: grid;
    gap: 30px;
}

.finance-section {
    display: grid;
    gap: 18px;
}

.finance-section-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #0b6c78;
    background: rgba(4, 132, 142, 0.1);
    border: 1px solid rgba(4, 132, 142, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.finance-section-heading h2 {
    margin: 12px 0 0;
    color: #132f63;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.finance-member-grid,
.finance-report-grid,
.finance-report-stack {
    display: grid;
    gap: 16px;
}

.finance-member-grid,
.finance-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-report-stack {
    grid-template-columns: 1fr;
}

.finance-member-card,
.finance-report-card,
.finance-policy-card {
    position: relative;
    overflow: hidden;
    padding: 20px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.94)),
        linear-gradient(120deg, rgba(23, 61, 122, 0.08), transparent 54%, rgba(255, 204, 0, 0.13));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.finance-report-card--viewer {
    min-height: auto;
}

.finance-member-card::before,
.finance-report-card::before,
.finance-policy-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.finance-member-card:hover,
.finance-member-card:focus-within,
.finance-report-card:hover,
.finance-report-card:focus-within,
.finance-policy-card:hover,
.finance-policy-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 26px 58px rgba(19, 47, 99, 0.14);
}

.finance-member-card > span,
.finance-report-year {
    display: inline-grid;
    place-items: center;
    min-width: 58px;
    min-height: 36px;
    padding: 7px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.finance-member-card h3,
.finance-report-card h3,
.finance-policy-card h3 {
    margin: 14px 0 8px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.finance-member-card p,
.finance-report-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.finance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.finance-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.finance-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.finance-actions a:hover,
.finance-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.finance-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.finance-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.finance-policy-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
}

.finance-policy-card ul {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.finance-policy-card li {
    position: relative;
    padding: 0 0 0 18px;
    color: #263247;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.62;
    letter-spacing: 0;
}

.finance-policy-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 8px;
    height: 8px;
    background: #04848e;
    border-radius: 50%;
}

.finance-side-panel {
    top: 92px;
}

.finance-minute-list {
    display: grid;
    gap: 10px;
    max-height: 620px;
    overflow: auto;
    padding-right: 3px;
}

.finance-minute-list a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 11px 12px;
    color: #263247;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    text-decoration: none;
    transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.finance-minute-list a:hover,
.finance-minute-list a:focus {
    color: #132f63;
    background: #ffffff;
    border-color: rgba(4, 132, 142, 0.28);
    text-decoration: none;
    transform: translateX(4px);
}

.finance-minute-list span {
    color: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.finance-minute-list em {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 5px 8px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

@media (max-width: 1100px) {
    .finance-layout {
        grid-template-columns: 1fr;
    }

    .finance-side-panel {
        position: static;
    }

    .finance-minute-list {
        max-height: none;
    }
}

@media (max-width: 820px) {
    .finance-member-grid,
    .finance-report-grid,
    .finance-policy-grid {
        grid-template-columns: 1fr;
    }

    .finance-member-card,
    .finance-report-card,
    .finance-policy-card {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    .finance-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .finance-member-card,
    .finance-report-card,
    .finance-policy-card,
    .finance-actions a,
    .finance-minute-list a {
        transition: none;
    }

    .finance-member-card:hover,
    .finance-member-card:focus-within,
    .finance-report-card:hover,
    .finance-report-card:focus-within,
    .finance-policy-card:hover,
    .finance-policy-card:focus-within,
    .finance-actions a:hover,
    .finance-actions a:focus,
    .finance-minute-list a:hover,
    .finance-minute-list a:focus {
        transform: none;
    }
}

.bom-page-section {
    padding-bottom: 76px;
}

.bom-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.bom-main {
    min-width: 0;
}

.bom-document-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.bom-document-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.bom-document-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.bom-document-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.bom-document-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.bom-document-heading p,
.bom-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.bom-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.bom-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 11px 15px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.bom-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.bom-actions a:hover,
.bom-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.bom-pdf-frame {
    overflow: hidden;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.bom-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.bom-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .bom-layout {
        grid-template-columns: 1fr;
    }

    .bom-side-panel {
        position: static;
    }
}

@media (max-width: 640px) {
    .bom-document-card {
        padding: 18px;
    }

    .bom-document-heading {
        grid-template-columns: 1fr;
    }

    .bom-document-heading > span {
        justify-self: start;
    }

    .bom-document-heading h2 {
        font-size: 22px;
    }

    .bom-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .bom-actions a {
        width: 100%;
    }

    .bom-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bom-actions a {
        transition: none;
    }

    .bom-actions a:hover,
    .bom-actions a:focus {
        transform: none;
    }
}

.syllabus-page-section {
    padding-bottom: 76px;
}

.syllabus-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.syllabus-main {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.syllabus-group {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(120deg, rgba(23, 61, 122, 0.06), transparent 58%, rgba(255, 204, 0, 0.12)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.syllabus-group::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.syllabus-group-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 20px;
}

.syllabus-group-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.syllabus-group-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.syllabus-group-heading p,
.syllabus-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.syllabus-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.syllabus-card {
    position: relative;
    overflow: hidden;
    min-height: 176px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(19, 47, 99, 0.08);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.syllabus-card--pdf-viewer {
    grid-column: 1 / -1;
}

.syllabus-card:hover,
.syllabus-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 22px 44px rgba(19, 47, 99, 0.14);
}

.syllabus-card-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.syllabus-card-top span,
.syllabus-card-top em {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.syllabus-card-top span {
    color: #ffffff;
    background: #173d7a;
}

.syllabus-card-top em {
    color: #132f63;
    background: #ffcc00;
    font-style: normal;
}

.syllabus-card h3 {
    margin: 18px 0 0;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.syllabus-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.syllabus-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.syllabus-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.syllabus-actions a:hover,
.syllabus-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.syllabus-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.syllabus-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.syllabus-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .syllabus-layout {
        grid-template-columns: 1fr;
    }

    .syllabus-side-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .syllabus-card-grid {
        grid-template-columns: 1fr;
    }

    .syllabus-group {
        padding: 18px;
    }

    .syllabus-group-heading {
        grid-template-columns: 1fr;
    }

    .syllabus-group-heading > span {
        justify-self: start;
    }

    .syllabus-group-heading h2 {
        font-size: 22px;
    }
}

@media (max-width: 560px) {
    .syllabus-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .syllabus-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .syllabus-card,
    .syllabus-actions a {
        transition: none;
    }

    .syllabus-card:hover,
    .syllabus-card:focus-within,
    .syllabus-actions a:hover,
    .syllabus-actions a:focus {
        transform: none;
    }
}

.committees-page-section {
    padding-bottom: 76px;
}

.committees-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.committees-main {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.committee-panel {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(120deg, rgba(23, 61, 122, 0.06), transparent 58%, rgba(255, 204, 0, 0.12)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.committee-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.committee-panel-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.committee-panel-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.committee-panel-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.committee-panel-heading p,
.committees-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.committee-source-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding: 12px 14px;
    background: rgba(246, 249, 253, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.committee-source-row span {
    color: #263247;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.committee-source-row a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 10px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
}

.committee-source-row a:hover,
.committee-source-row a:focus {
    color: #ffffff;
    background: #07377d;
    text-decoration: none;
}

.committee-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0;
}

.committee-doc-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.committee-doc-actions a:hover,
.committee-doc-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.committee-doc-actions--viewer a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.committee-document-viewers {
    display: grid;
    gap: 18px;
    margin: 18px 0 22px;
}

.committee-document-viewer {
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.committee-document-viewer-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.committee-document-viewer-heading span {
    display: inline-grid;
    min-height: 28px;
    place-items: center;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.committee-document-viewer-heading h3 {
    margin: 0;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.committee-pdf-frame {
    overflow: hidden;
    margin-top: 16px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.committee-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.committee-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.committee-member-table {
    width: 100%;
    min-width: 720px;
    margin: 0;
    border-collapse: collapse;
    background: #ffffff;
}

.committee-member-table th,
.committee-member-table td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.1);
    color: #263247;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0;
    vertical-align: top;
}

.committee-member-table th {
    color: #ffffff;
    background: #173d7a;
    font-weight: 900;
}

.committee-member-table td:first-child,
.committee-member-table th:first-child {
    width: 68px;
    text-align: center;
}

.committee-member-table td:nth-child(2) {
    color: #132f63;
    font-weight: 900;
}

.committee-member-table tr:last-child td {
    border-bottom: 0;
}

.committees-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .committees-layout {
        grid-template-columns: 1fr;
    }

    .committees-side-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .committee-panel {
        padding: 18px;
    }

    .committee-panel-heading {
        grid-template-columns: 1fr;
    }

    .committee-panel-heading > span {
        justify-self: start;
    }

    .committee-panel-heading h2 {
        font-size: 22px;
    }
}

@media (max-width: 560px) {
    .committee-doc-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .committee-doc-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .committee-doc-actions a {
        transition: none;
    }

    .committee-doc-actions a:hover,
    .committee-doc-actions a:focus {
        transform: none;
    }
}

.admissions-category-page-section {
    padding-bottom: 76px;
}

.admissions-category-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.admissions-category-main {
    min-width: 0;
}

.admissions-category-document-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.admissions-category-document-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.admissions-category-document-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admissions-category-document-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.admissions-category-document-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.admissions-category-document-heading p,
.admissions-category-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.admissions-category-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.admissions-category-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 11px 15px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.admissions-category-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.admissions-category-actions a:hover,
.admissions-category-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.admissions-category-pdf-frame {
    overflow: hidden;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.admissions-category-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.admissions-category-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .admissions-category-layout {
        grid-template-columns: 1fr;
    }

    .admissions-category-side-panel {
        position: static;
    }
}

@media (max-width: 640px) {
    .admissions-category-document-card {
        padding: 18px;
    }

    .admissions-category-document-heading {
        grid-template-columns: 1fr;
    }

    .admissions-category-document-heading > span {
        justify-self: start;
    }

    .admissions-category-document-heading h2 {
        font-size: 22px;
    }

    .admissions-category-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admissions-category-actions a {
        width: 100%;
    }

    .admissions-category-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admissions-category-actions a {
        transition: none;
    }

    .admissions-category-actions a:hover,
    .admissions-category-actions a:focus {
        transform: none;
    }
}

.pratibha-page-section {
    padding-bottom: 76px;
}

.pratibha-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.pratibha-main {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.pratibha-summary-card,
.pratibha-document-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(120deg, rgba(23, 61, 122, 0.06), transparent 58%, rgba(255, 204, 0, 0.12)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.pratibha-summary-card::before,
.pratibha-document-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.pratibha-summary-heading,
.pratibha-document-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.pratibha-summary-heading > span,
.pratibha-document-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.pratibha-summary-heading h2,
.pratibha-document-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.pratibha-summary-heading p,
.pratibha-document-heading p,
.pratibha-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.pratibha-recipient-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.pratibha-recipient-card {
    min-height: 142px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(19, 47, 99, 0.08);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.pratibha-recipient-card:hover,
.pratibha-recipient-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 22px 44px rgba(19, 47, 99, 0.14);
}

.pratibha-recipient-card span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.pratibha-recipient-card h3 {
    margin: 16px 0 6px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.pratibha-recipient-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.pratibha-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.pratibha-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 11px 15px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.pratibha-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.pratibha-actions a:hover,
.pratibha-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.pratibha-pdf-frame {
    overflow: hidden;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.pratibha-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.pratibha-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .pratibha-layout {
        grid-template-columns: 1fr;
    }

    .pratibha-side-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .pratibha-recipient-grid {
        grid-template-columns: 1fr;
    }

    .pratibha-summary-card,
    .pratibha-document-card {
        padding: 18px;
    }

    .pratibha-summary-heading,
    .pratibha-document-heading {
        grid-template-columns: 1fr;
    }

    .pratibha-summary-heading > span,
    .pratibha-document-heading > span {
        justify-self: start;
    }

    .pratibha-summary-heading h2,
    .pratibha-document-heading h2 {
        font-size: 22px;
    }
}

@media (max-width: 560px) {
    .pratibha-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pratibha-actions a {
        width: 100%;
    }

    .pratibha-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pratibha-recipient-card,
    .pratibha-actions a {
        transition: none;
    }

    .pratibha-recipient-card:hover,
    .pratibha-recipient-card:focus-within,
    .pratibha-actions a:hover,
    .pratibha-actions a:focus {
        transform: none;
    }
}

.board-studies-page-section {
    padding-bottom: 76px;
}

.board-studies-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.board-studies-main {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.board-studies-group {
    display: grid;
    gap: 18px;
}

.board-studies-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.board-studies-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.board-studies-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.board-studies-heading p,
.board-studies-source-note,
.board-studies-note p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.board-studies-card-grid,
.board-studies-resolution-grid,
.board-studies-document-stack,
.board-studies-resolution-stack {
    display: grid;
    gap: 16px;
}

.board-studies-card-grid,
.board-studies-resolution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.board-studies-document-stack,
.board-studies-resolution-stack {
    grid-template-columns: 1fr;
}

.board-studies-document-card,
.board-studies-resolution-card {
    position: relative;
    display: flex;
    min-height: 204px;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.06), transparent 64%, rgba(4, 132, 142, 0.09)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.board-studies-document-card--viewer,
.board-studies-resolution-card--viewer {
    min-height: auto;
}

.board-studies-document-card::before,
.board-studies-resolution-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.board-studies-document-card:hover,
.board-studies-document-card:focus-within,
.board-studies-resolution-card:hover,
.board-studies-resolution-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 24px 52px rgba(19, 47, 99, 0.15);
}

.board-studies-document-card > span {
    align-self: flex-start;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.board-studies-document-card h3,
.board-studies-resolution-card h3 {
    margin: 16px 0 8px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.board-studies-resolution-card h3 {
    margin-top: 4px;
}

.board-studies-document-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.board-studies-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
}

.board-studies-document-card--viewer .board-studies-actions,
.board-studies-resolution-card--viewer .board-studies-actions {
    margin-top: 16px;
    padding-top: 0;
}

.board-studies-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.board-studies-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.board-studies-actions a:hover,
.board-studies-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.board-studies-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.board-studies-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.board-studies-side-panel {
    top: 92px;
}

.board-studies-note {
    margin-top: 22px;
    padding: 16px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.board-studies-note strong {
    display: block;
    margin-bottom: 8px;
    color: #132f63;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0;
}

@media (max-width: 1180px) {
    .board-studies-card-grid,
    .board-studies-resolution-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .board-studies-layout {
        grid-template-columns: 1fr;
    }

    .board-studies-side-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .board-studies-heading {
        grid-template-columns: 1fr;
    }

    .board-studies-heading > span {
        justify-self: start;
    }

    .board-studies-heading h2 {
        font-size: 22px;
    }

    .board-studies-card-grid,
    .board-studies-resolution-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .board-studies-document-card,
    .board-studies-resolution-card {
        min-height: auto;
        padding: 18px;
    }

    .board-studies-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .board-studies-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .board-studies-document-card,
    .board-studies-resolution-card,
    .board-studies-actions a {
        transition: none;
    }

    .board-studies-document-card:hover,
    .board-studies-document-card:focus-within,
    .board-studies-resolution-card:hover,
    .board-studies-resolution-card:focus-within,
    .board-studies-actions a:hover,
    .board-studies-actions a:focus {
        transform: none;
    }
}

.nss-page-section {
    padding-bottom: 76px;
}

.nss-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.nss-main {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.nss-document-overview,
.nss-viewer-card {
    display: grid;
    gap: 18px;
}

.nss-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.nss-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.nss-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.nss-heading p,
.nss-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.nss-document-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.nss-document-card {
    position: relative;
    display: flex;
    min-height: 224px;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.06), transparent 62%, rgba(189, 32, 56, 0.08)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.nss-document-card::before,
.nss-viewer-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.nss-document-card:hover,
.nss-document-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 24px 52px rgba(19, 47, 99, 0.15);
}

.nss-document-card > span {
    align-self: flex-start;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.nss-document-card h3 {
    margin: 16px 0 8px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.nss-document-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.nss-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
}

.nss-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.nss-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.nss-actions a:hover,
.nss-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.nss-viewer-card {
    position: relative;
    padding: 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.nss-pdf-frame {
    overflow: hidden;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.nss-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.nss-side-panel {
    top: 92px;
}

@media (max-width: 1180px) {
    .nss-document-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .nss-layout {
        grid-template-columns: 1fr;
    }

    .nss-side-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .nss-heading {
        grid-template-columns: 1fr;
    }

    .nss-heading > span {
        justify-self: start;
    }

    .nss-heading h2 {
        font-size: 22px;
    }

    .nss-document-grid {
        grid-template-columns: 1fr;
    }

    .nss-viewer-card {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    .nss-document-card {
        min-height: auto;
        padding: 18px;
    }

    .nss-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .nss-actions a {
        width: 100%;
    }

    .nss-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nss-document-card,
    .nss-actions a {
        transition: none;
    }

    .nss-document-card:hover,
    .nss-document-card:focus-within,
    .nss-actions a:hover,
    .nss-actions a:focus {
        transform: none;
    }
}

.ncc-page-section {
    padding-bottom: 76px;
}

.ncc-section-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.ncc-section-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 14px;
    color: #132f63;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(19, 47, 99, 0.08);
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.ncc-section-tabs a:hover,
.ncc-section-tabs a:focus {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
    text-decoration: none;
    transform: translateY(-2px);
}

.ncc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.ncc-main {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.ncc-document-overview,
.ncc-viewer-card {
    display: grid;
    gap: 18px;
}

.ncc-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.ncc-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.ncc-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.ncc-heading p,
.ncc-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.ncc-document-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ncc-document-card {
    position: relative;
    display: flex;
    min-height: 224px;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    scroll-margin-top: 112px;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.06), transparent 62%, rgba(4, 132, 142, 0.09)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.ncc-document-card::before,
.ncc-viewer-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.ncc-document-card:hover,
.ncc-document-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 24px 52px rgba(19, 47, 99, 0.15);
}

.ncc-document-card > span {
    align-self: flex-start;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.ncc-document-card h3 {
    margin: 16px 0 8px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.ncc-document-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.ncc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
}

.ncc-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.ncc-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.ncc-actions a:hover,
.ncc-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.ncc-viewer-card {
    position: relative;
    padding: 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(19, 47, 99, 0.12);
}

.ncc-pdf-frame {
    overflow: hidden;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.ncc-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.ncc-side-panel {
    top: 92px;
}

.ncc-local-links {
    margin-top: 22px;
}

@media (max-width: 1180px) {
    .ncc-document-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .ncc-layout {
        grid-template-columns: 1fr;
    }

    .ncc-side-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .ncc-section-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ncc-heading {
        grid-template-columns: 1fr;
    }

    .ncc-heading > span {
        justify-self: start;
    }

    .ncc-heading h2 {
        font-size: 22px;
    }

    .ncc-document-grid {
        grid-template-columns: 1fr;
    }

    .ncc-viewer-card {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    .ncc-section-tabs {
        grid-template-columns: 1fr;
    }

    .ncc-document-card {
        min-height: auto;
        padding: 18px;
    }

    .ncc-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ncc-actions a {
        width: 100%;
    }

    .ncc-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ncc-section-tabs a,
    .ncc-document-card,
    .ncc-actions a {
        transition: none;
    }

    .ncc-section-tabs a:hover,
    .ncc-section-tabs a:focus,
    .ncc-document-card:hover,
    .ncc-document-card:focus-within,
    .ncc-actions a:hover,
    .ncc-actions a:focus {
        transform: none;
    }
}

.eco-club-page-section,
.sports-games-page-section {
    padding-bottom: 76px;
}

.eco-club-layout,
.sports-games-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.eco-club-main,
.sports-games-main {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.eco-club-profile-card,
.eco-club-document-card,
.eco-club-activities-card,
.eco-club-event-card,
.sports-games-summary-card,
.sports-games-viewer-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.06), transparent 62%, rgba(4, 132, 142, 0.09)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.eco-club-profile-card::before,
.eco-club-document-card::before,
.eco-club-activities-card::before,
.eco-club-event-card::before,
.sports-games-summary-card::before,
.sports-games-document-card::before,
.sports-games-viewer-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.eco-club-profile-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.eco-club-profile-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border: 4px solid #ffffff;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(19, 47, 99, 0.18);
}

.eco-club-profile-card span,
.eco-club-heading > span,
.sports-games-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.eco-club-profile-card h2,
.eco-club-heading h2,
.sports-games-heading h2 {
    margin: 12px 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.eco-club-profile-card p,
.eco-club-heading p,
.eco-club-source-note,
.sports-games-heading p,
.sports-games-source-note {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.eco-club-designation {
    margin-bottom: 12px !important;
    color: #04848e !important;
    font-weight: 900 !important;
}

.eco-club-heading,
.sports-games-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.eco-club-heading h2,
.sports-games-heading h2 {
    margin-top: 0;
}

.eco-club-actions,
.sports-games-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.eco-club-actions a,
.sports-games-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 13px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.eco-club-actions a:nth-child(2),
.sports-games-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.eco-club-actions a:hover,
.eco-club-actions a:focus,
.sports-games-actions a:hover,
.sports-games-actions a:focus {
    color: #ffffff;
    background: #07377d;
    border-color: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.eco-club-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.eco-club-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.eco-club-activity-list {
    display: grid;
    gap: 12px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: eco-activity;
}

.eco-club-activity-list li {
    position: relative;
    min-height: 48px;
    padding: 14px 16px 14px 54px;
    color: #42516b;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
    counter-increment: eco-activity;
}

.eco-club-activity-list li::before {
    content: counter(eco-activity);
    position: absolute;
    top: 12px;
    left: 14px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.eco-club-events {
    display: grid;
    gap: 18px;
}

.eco-club-event-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.eco-club-event-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.eco-club-event-heading h3 {
    margin: 0;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.eco-club-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.eco-club-photo-grid a {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.eco-club-photo-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 240ms ease;
}

.eco-club-photo-grid a:hover img,
.eco-club-photo-grid a:focus img {
    transform: scale(1.04);
}

.sports-games-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.sports-games-highlight-grid article {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    min-height: 96px;
    padding: 16px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
}

.sports-games-highlight-grid i {
    margin-top: 2px;
    color: #04848e;
    font-size: 19px;
}

.sports-games-highlight-grid p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.sports-games-document-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.sports-games-document-card {
    position: relative;
    display: flex;
    min-height: 214px;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.sports-games-document-card:hover,
.sports-games-document-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(4, 132, 142, 0.28);
    box-shadow: 0 24px 52px rgba(19, 47, 99, 0.15);
}

.sports-games-document-card > span {
    align-self: flex-start;
    min-height: 28px;
    padding: 6px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.sports-games-document-card h3 {
    margin: 16px 0 8px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0;
}

.sports-games-document-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.sports-games-document-card .sports-games-actions {
    margin-top: auto;
    padding-top: 18px;
}

.sports-games-pdf-frame {
    overflow: hidden;
    margin-top: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.sports-games-pdf-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.eco-club-side-panel,
.sports-games-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .eco-club-layout,
    .sports-games-layout {
        grid-template-columns: 1fr;
    }

    .eco-club-side-panel,
    .sports-games-side-panel {
        position: static;
    }
}

@media (max-width: 840px) {
    .eco-club-profile-card,
    .eco-club-heading,
    .sports-games-heading {
        grid-template-columns: 1fr;
    }

    .eco-club-profile-card img {
        width: min(220px, 100%);
    }

    .eco-club-heading > span,
    .sports-games-heading > span {
        justify-self: start;
    }

    .eco-club-photo-grid,
    .sports-games-highlight-grid,
    .sports-games-document-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .eco-club-profile-card,
    .eco-club-document-card,
    .eco-club-activities-card,
    .eco-club-event-card,
    .sports-games-summary-card,
    .sports-games-viewer-card,
    .sports-games-document-card {
        padding: 18px;
    }

    .eco-club-actions,
    .sports-games-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eco-club-actions a,
    .sports-games-actions a {
        width: 100%;
    }

    .sports-games-pdf-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eco-club-actions a,
    .eco-club-photo-grid img,
    .sports-games-actions a,
    .sports-games-document-card {
        transition: none;
    }

    .eco-club-actions a:hover,
    .eco-club-actions a:focus,
    .eco-club-photo-grid a:hover img,
    .eco-club-photo-grid a:focus img,
    .sports-games-actions a:hover,
    .sports-games-actions a:focus,
    .sports-games-document-card:hover,
    .sports-games-document-card:focus-within {
        transform: none;
    }
}

.library-page-section {
    padding-bottom: 76px;
}

.library-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.library-main {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.library-overview-card,
.library-table-card,
.library-access-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.06), transparent 62%, rgba(4, 132, 142, 0.09)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.library-overview-card::before,
.library-table-card::before,
.library-access-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.library-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.library-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.library-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.library-heading p,
.library-source-note,
.library-overview-copy p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.library-overview-grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
    gap: 20px;
    align-items: start;
    margin-top: 20px;
}

.library-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.library-photo-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.library-overview-copy {
    display: grid;
    gap: 12px;
}

.library-table-wrap {
    overflow-x: auto;
    margin-top: 20px;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.library-data-table {
    width: 100%;
    min-width: 680px;
    margin: 0;
    border-collapse: collapse;
    background: #ffffff;
}

.library-data-table th,
.library-data-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.1);
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0;
    vertical-align: top;
}

.library-data-table th {
    color: #ffffff;
    background: #173d7a;
    font-weight: 900;
}

.library-data-table tbody tr:nth-child(even) {
    background: #f6f9fd;
}

.library-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.library-access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.library-access-grid a {
    display: grid;
    min-height: 128px;
    padding: 18px;
    color: #132f63;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.library-access-grid a:hover,
.library-access-grid a:focus {
    color: #132f63;
    border-color: rgba(4, 132, 142, 0.32);
    box-shadow: 0 18px 38px rgba(19, 47, 99, 0.12);
    text-decoration: none;
    transform: translateY(-3px);
}

.library-access-grid i {
    color: #04848e;
    font-size: 20px;
}

.library-access-grid span {
    margin-top: 16px;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
}

.library-access-grid strong {
    margin-top: 4px;
    color: #132f63;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.library-side-panel {
    top: 92px;
}

@media (max-width: 1100px) {
    .library-layout {
        grid-template-columns: 1fr;
    }

    .library-side-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .library-heading {
        grid-template-columns: 1fr;
    }

    .library-heading > span {
        justify-self: start;
    }

    .library-heading h2 {
        font-size: 22px;
    }

    .library-overview-grid {
        grid-template-columns: 1fr;
    }

    .library-access-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .library-overview-card,
    .library-table-card,
    .library-access-card {
        padding: 18px;
    }

    .library-photo-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .library-access-grid a {
        transition: none;
    }

    .library-access-grid a:hover,
    .library-access-grid a:focus {
        transform: none;
    }
}


.cultural-club-layout,
.ug-course-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.ug-course-layout {
    grid-template-columns: 320px minmax(0, 1fr);
}

.cultural-document-card,
.ug-course-card {
    overflow: hidden;
    margin-bottom: 22px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 46px rgba(19, 47, 99, 0.1);
}

.cultural-document-head,
.ug-course-card-head {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.12);
}

.ug-course-card-head {
    grid-template-columns: 120px minmax(0, 1fr);
}

.cultural-document-head > span,
.ug-course-card-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffd400;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cultural-document-head h2,
.ug-course-card-head h2 {
    margin: 0 0 6px;
    color: #132f63;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.cultural-document-head p,
.ug-course-card-head p,
.ug-course-empty {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.cultural-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.cultural-document-link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid rgba(23, 61, 122, 0.1);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.cultural-document-link:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
    border-color: #ffcc00;
}

.cultural-document-link:hover,
.cultural-document-link:focus {
    color: #ffffff;
    background: #04848e;
    box-shadow: 0 16px 30px rgba(4, 132, 142, 0.18);
    text-decoration: none;
    transform: translateY(-2px);
}

.cultural-document-frame {
    padding: 14px;
    background: #f6f9fd;
}

.cultural-document-frame iframe {
    display: block;
    width: 100%;
    min-height: 760px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
}

.cultural-club-side-panel,
.ug-course-side-panel {
    top: 92px;
}

.ug-course-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.ug-course-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 13px;
    color: #173d7a;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.14);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    transition: border-color 180ms ease, color 180ms ease, background 180ms ease, transform 180ms ease;
}

.ug-course-tabs a:hover,
.ug-course-tabs a:focus,
.ug-course-tabs a.is-active,
.ug-course-nav-list a.is-active {
    color: #132f63;
    background: #ffd400;
    border-color: rgba(255, 212, 0, 0.9);
    text-decoration: none;
}

.ug-course-tabs a:hover,
.ug-course-tabs a:focus {
    transform: translateY(-2px);
}

.ug-course-source {
    padding: 24px;
}

.ug-course-source h1,
.ug-course-source h2,
.ug-course-source h3,
.ug-course-source h4 {
    margin: 26px 0 14px;
    color: #132f63;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.ug-course-source h3:first-child,
.ug-course-source h2:first-child {
    margin-top: 0;
}

.ug-course-source p,
.ug-course-source li,
.ug-course-source td,
.ug-course-source th {
    color: #42516b;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0;
}

.ug-course-source a {
    color: #04848e;
    font-weight: 900;
    text-decoration: none;
}

.ug-course-source a:hover,
.ug-course-source a:focus {
    color: #132f63;
    text-decoration: underline;
}

.ug-course-source table {
    width: 100%;
    min-width: 720px;
    margin: 0 0 24px;
    border-collapse: collapse;
    background: #ffffff;
}

.ug-course-source table,
.ug-course-source .table {
    border: 1px solid rgba(19, 47, 99, 0.12);
}

.ug-course-source th,
.ug-course-source td {
    padding: 13px 15px;
    border: 1px solid rgba(19, 47, 99, 0.11);
    text-align: left;
    vertical-align: middle;
}

.ug-course-source th {
    color: #ffffff;
    background: #173d7a;
    font-weight: 900;
}

.ug-course-source tr:nth-child(even) td {
    background: #f6f9fd;
}

.ug-course-source .ug-download-label {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    color: #ffffff;
    background: #e32638;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0;
}

.ug-course-source img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.ug-course-source {
    overflow-x: auto;
}

@media (max-width: 1100px) {
    .cultural-club-layout,
    .ug-course-layout {
        grid-template-columns: 1fr;
    }

    .cultural-club-side-panel,
    .ug-course-side-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .cultural-document-head,
    .ug-course-card-head {
        grid-template-columns: 1fr;
    }

    .cultural-document-head > span,
    .ug-course-card-head > span {
        justify-self: start;
    }

    .cultural-document-actions {
        width: 100%;
        justify-content: stretch;
    }

    .cultural-document-link {
        width: 100%;
    }

    .cultural-document-frame iframe {
        min-height: 520px;
    }

    .ug-course-source {
        padding: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cultural-document-link,
    .ug-course-tabs a {
        transition: none;
    }

    .cultural-document-link:hover,
    .cultural-document-link:focus,
    .ug-course-tabs a:hover,
    .ug-course-tabs a:focus {
        transform: none;
    }
}


.placement-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.placement-card {
    overflow: hidden;
    margin-bottom: 22px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 46px rgba(19, 47, 99, 0.1);
}

.placement-card-head {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 22px;
    border-bottom: 1px solid rgba(19, 47, 99, 0.12);
}

.placement-card-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
    color: #132f63;
    background: #ffd400;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: uppercase;
}

.placement-card-head h2 {
    margin: 0 0 6px;
    color: #132f63;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.placement-card-head p,
.placement-focus-item p,
.placement-mission-grid p,
.placement-facility-grid p,
.placement-training-timeline p,
.placement-doc-card p,
.placement-side-panel p {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.placement-focus-grid,
.placement-mission-grid,
.placement-facility-grid,
.placement-doc-grid,
.placement-gallery-grid {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.placement-focus-grid,
.placement-mission-grid,
.placement-facility-grid,
.placement-doc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.placement-focus-item,
.placement-mission-grid > div,
.placement-facility-grid article,
.placement-doc-card {
    min-height: 126px;
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.placement-focus-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.placement-focus-item i,
.placement-facility-grid i {
    color: #04848e;
    font-size: 20px;
}

.placement-mission-grid h3,
.placement-facility-grid h3,
.placement-training-timeline h3,
.placement-doc-card h3 {
    margin: 0 0 9px;
    color: #132f63;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
}

.placement-facility-grid article {
    display: grid;
    gap: 10px;
}

.placement-table-wrap {
    overflow-x: auto;
    padding: 22px;
}

.placement-data-table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
    background: #ffffff;
}

.placement-data-table th,
.placement-data-table td {
    padding: 13px 15px;
    color: #42516b;
    border: 1px solid rgba(19, 47, 99, 0.12);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: left;
    vertical-align: top;
}

.placement-data-table th {
    color: #ffffff;
    background: #173d7a;
    font-weight: 900;
}

.placement-data-table tr:nth-child(even) td {
    background: #f6f9fd;
}

.placement-doc-card {
    display: grid;
    gap: 10px;
}

.placement-doc-card--viewer {
    grid-column: 1 / -1;
}

.placement-doc-card > span {
    color: #c81d35;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.placement-doc-card a {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    margin-top: 6px;
    padding: 9px 13px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.placement-doc-card a:hover,
.placement-doc-card a:focus {
    color: #ffffff;
    background: #04848e;
    box-shadow: 0 16px 30px rgba(4, 132, 142, 0.18);
    text-decoration: none;
    transform: translateY(-2px);
}

.placement-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.placement-doc-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
}

.placement-doc-frame {
    overflow: hidden;
    margin-top: 8px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.placement-doc-frame iframe {
    display: block;
    width: 100%;
    height: min(76vh, 820px);
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.placement-training-timeline {
    display: grid;
    gap: 14px;
    padding: 22px;
}

.placement-training-timeline article {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.placement-training-timeline article > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    color: #132f63;
    background: #ffd400;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0;
}

.placement-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.placement-gallery-grid figure {
    overflow: hidden;
    margin: 0;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.placement-gallery-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #e9eef7;
}

.placement-gallery-grid figcaption {
    display: grid;
    gap: 5px;
    padding: 13px;
}

.placement-gallery-grid strong {
    color: #132f63;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0;
}

.placement-gallery-grid span {
    color: #42516b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

.placement-side-panel {
    top: 92px;
}

.placement-section-links a.is-active {
    color: #132f63;
    background: #ffd400;
    border-color: rgba(255, 212, 0, 0.9);
}

@media (max-width: 1100px) {
    .placement-layout {
        grid-template-columns: 1fr;
    }

    .placement-side-panel {
        position: static;
    }
}

@media (max-width: 820px) {
    .placement-focus-grid,
    .placement-mission-grid,
    .placement-facility-grid,
    .placement-doc-grid,
    .placement-gallery-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .placement-card-head,
    .placement-training-timeline article {
        grid-template-columns: 1fr;
    }

    .placement-card-head > span {
        justify-self: start;
    }

    .placement-focus-grid,
    .placement-mission-grid,
    .placement-facility-grid,
    .placement-doc-grid,
    .placement-gallery-grid,
    .placement-training-timeline,
    .placement-table-wrap {
        padding: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .placement-doc-card a {
        transition: none;
    }

    .placement-doc-card a:hover,
    .placement-doc-card a:focus {
        transform: none;
    }
}

@media (max-width: 560px) {
    .nirf-pdf-frame iframe,
    .finance-pdf-frame iframe,
    .board-studies-pdf-frame iframe,
    .eco-club-pdf-frame iframe,
    .syllabus-pdf-frame iframe,
    .committee-pdf-frame iframe,
    .placement-doc-frame iframe {
        height: 68vh;
        min-height: 420px;
    }
}

.all-labs-page-section {
    padding-bottom: 76px;
}

.all-labs-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.all-labs-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.all-labs-page-heading {
    color: #132f63 !important;
    font-weight: 900;
    letter-spacing: 0;
}

.all-labs-intro {
    position: relative;
    padding: 28px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(23, 61, 122, 0.08), transparent 62%, rgba(255, 204, 0, 0.18)),
        #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.all-labs-intro::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.all-labs-intro span,
.all-labs-card span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 11px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.all-labs-intro h1,
.all-labs-intro h2 {
    margin: 16px 0 10px;
    color: #132f63;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
}

.all-labs-intro p {
    max-width: 820px;
    margin: 0;
    color: #42516b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0;
}

.all-labs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 22px;
}

.all-labs-card {
    position: relative;
    display: grid;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.all-labs-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.all-labs-card a {
    display: block;
    overflow: hidden;
    background: #eef3f8;
}

.all-labs-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 240ms ease;
}

.all-labs-card figcaption {
    display: grid;
    gap: 10px;
    padding: 18px;
}

.all-labs-card h2 {
    margin: 0;
    color: #132f63;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: 0;
}

.all-labs-card p {
    margin: 0;
    color: #42516b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
}

.all-labs-card:hover img,
.all-labs-card:focus-within img {
    transform: scale(1.035);
}

@media (max-width: 900px) {
    .all-labs-layout {
        grid-template-columns: 1fr;
    }

    .all-labs-side-panel {
        order: -1;
    }

    .all-labs-grid {
        grid-template-columns: 1fr;
    }

    .all-labs-intro {
        padding: 22px;
    }
}

.transport-page-section {
    padding-bottom: 76px;
}

.transport-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.transport-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.transport-image-card,
.transport-card {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.transport-image-card::before,
.transport-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.transport-image-card {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1fr);
}

.transport-image-card img {
    width: 100%;
    height: 100%;
    min-height: 340px;
    object-fit: cover;
}

.transport-image-card > div {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 30px;
}

.transport-image-card span,
.transport-heading > span {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-height: 30px;
    padding: 7px 11px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.transport-image-card h2,
.transport-heading h2 {
    margin: 0;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.transport-image-card p,
.transport-heading p,
.transport-feature-grid p,
.transport-steps p,
.transport-side-panel p {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}

.transport-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 24px 24px 0;
}

.transport-heading h2 {
    margin-bottom: 8px;
}

.transport-feature-grid,
.transport-steps {
    display: grid;
    gap: 16px;
    padding: 24px;
}

.transport-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.transport-feature-grid article,
.transport-steps article {
    min-height: 138px;
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.transport-feature-grid article {
    display: grid;
    gap: 10px;
}

.transport-feature-grid i {
    color: #04848e;
    font-size: 22px;
}

.transport-feature-grid h3,
.transport-steps h3 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: 0;
}

.transport-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.transport-steps strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 1100px) {
    .transport-layout,
    .transport-image-card {
        grid-template-columns: 1fr;
    }

    .transport-side-panel {
        order: -1;
    }
}

@media (max-width: 760px) {
    .transport-feature-grid,
    .transport-steps {
        grid-template-columns: 1fr;
    }

    .transport-heading {
        grid-template-columns: 1fr;
    }

    .transport-image-card > div,
    .transport-feature-grid,
    .transport-steps {
        padding: 20px;
    }

    .transport-image-card img {
        min-height: 240px;
    }
}


.profile-page-section {
    padding-bottom: 76px;
}

.profile-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.profile-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.profile-card {
    position: relative;
    overflow: hidden;
    padding: 26px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 253, 0.94)),
        linear-gradient(120deg, rgba(4, 132, 142, 0.08), transparent 58%, rgba(255, 204, 0, 0.14));
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.profile-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.profile-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 20px;
}

.profile-heading > span,
.profile-story-list p::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #132f63;
    background: #ffcc00;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.profile-heading > span {
    min-height: 30px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    text-transform: uppercase;
}

.profile-heading h2 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.profile-heading p,
.profile-story-list p,
.profile-milestone-grid p,
.profile-step-grid p,
.profile-side-panel p {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.68;
    letter-spacing: 0;
}

.profile-story-list {
    display: grid;
    gap: 14px;
}

.profile-story-list p {
    position: relative;
    padding: 16px 18px 16px 48px;
    background: rgba(246, 249, 253, 0.92);
    border: 1px solid rgba(19, 47, 99, 0.1);
    border-radius: 8px;
}

.profile-story-list p::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 18px;
    width: 14px;
    height: 14px;
    border: 4px solid rgba(4, 132, 142, 0.2);
    border-radius: 50%;
}

.profile-milestone-grid,
.profile-step-grid {
    display: grid;
    gap: 16px;
}

.profile-milestone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-step-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-milestone-grid article,
.profile-step-grid article {
    min-height: 146px;
    padding: 18px;
    background: rgba(246, 249, 253, 0.94);
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.profile-milestone-grid article {
    border-top: 4px solid #04848e;
}

.profile-milestone-grid h3,
.profile-step-grid h3,
.profile-doc-head h3 {
    margin: 0;
    color: #132f63;
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: 0;
}

.profile-milestone-grid h3,
.profile-step-grid h3 {
    margin-bottom: 8px;
    font-size: 19px;
}

.profile-step-grid strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.profile-organogram-frame {
    overflow: auto;
    padding: 18px;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.profile-organogram-frame a {
    display: block;
}

.profile-organogram-frame img {
    display: block;
    width: min(100%, 980px);
    max-height: 680px;
    margin: 0 auto;
    object-fit: contain;
}

.profile-doc-grid {
    display: grid;
    gap: 18px;
}

.profile-doc-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.profile-doc-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 20px;
    background:
        linear-gradient(135deg, #ffffff, #f6f9fd),
        linear-gradient(90deg, rgba(255, 204, 0, 0.15), transparent);
}

.profile-doc-head span {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 28px;
    padding: 7px 10px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

.profile-doc-head h3 {
    font-size: 24px;
}

.profile-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.profile-doc-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 16px;
    color: #ffffff;
    background: #173d7a;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

.profile-doc-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
}

.profile-doc-actions a:hover,
.profile-doc-actions a:focus {
    color: #ffffff;
    background: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.profile-pdf-viewer {
    height: min(72vh, 720px);
    min-height: 560px;
    background: #2f333a;
}

.profile-pdf-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

@media (max-width: 1100px) {
    .profile-layout {
        grid-template-columns: 1fr;
    }

    .profile-side-panel {
        order: -1;
    }
}

@media (max-width: 760px) {
    .profile-card {
        padding: 20px;
    }

    .profile-heading,
    .profile-doc-head {
        grid-template-columns: 1fr;
    }

    .profile-heading h2 {
        font-size: 25px;
    }

    .profile-milestone-grid,
    .profile-step-grid {
        grid-template-columns: 1fr;
    }

    .profile-doc-actions {
        justify-content: flex-start;
    }

    .profile-pdf-viewer {
        height: 560px;
        min-height: 420px;
    }
}


.encouraging-youth-page-section {
    padding-bottom: 76px;
}

.encouraging-youth-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.encouraging-youth-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.youth-feature-card,
.youth-card {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.youth-feature-card::before,
.youth-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.youth-feature-card {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1fr);
}

.youth-feature-card img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.youth-feature-card > div {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 30px;
}

.youth-feature-card span,
.youth-heading > span {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-height: 30px;
    padding: 7px 11px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.youth-feature-card h2,
.youth-heading h2 {
    margin: 0;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.youth-feature-card p,
.youth-heading p,
.youth-focus-grid p,
.youth-photo-grid p,
.youth-side-panel p {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.64;
    letter-spacing: 0;
}

.youth-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 24px 24px 0;
}

.youth-heading h2 {
    margin-bottom: 8px;
}

.youth-focus-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 24px;
}

.youth-focus-grid article {
    min-height: 172px;
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.youth-focus-grid i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 50%;
    font-size: 18px;
}

.youth-focus-grid h3,
.youth-photo-grid h3 {
    margin: 0 0 8px;
    color: #132f63;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: 0;
}

.youth-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 24px;
}

.youth-photo-grid figure {
    overflow: hidden;
    margin: 0;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.youth-photo-grid a {
    display: block;
    overflow: hidden;
    background: #eef3f8;
}

.youth-photo-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 240ms ease;
}

.youth-photo-grid figcaption {
    padding: 18px;
}

.youth-photo-grid figure:hover img,
.youth-photo-grid figure:focus-within img {
    transform: scale(1.035);
}

@media (max-width: 1100px) {
    .encouraging-youth-layout,
    .youth-feature-card {
        grid-template-columns: 1fr;
    }

    .youth-side-panel {
        order: -1;
    }
}

@media (max-width: 760px) {
    .youth-feature-card > div,
    .youth-focus-grid,
    .youth-photo-grid {
        padding: 20px;
    }

    .youth-feature-card img {
        min-height: 260px;
    }

    .youth-heading {
        grid-template-columns: 1fr;
        padding: 20px 20px 0;
    }

    .youth-feature-card h2,
    .youth-heading h2 {
        font-size: 25px;
    }

    .youth-focus-grid,
    .youth-photo-grid {
        grid-template-columns: 1fr;
    }
}


.women-empowerment-page-section {
    padding-bottom: 76px;
}

.women-empowerment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    margin-top: 26px;
}

.women-empowerment-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.wec-feature-card,
.wec-card,
.wec-doc-card {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(19, 47, 99, 0.1);
}

.wec-feature-card::before,
.wec-card::before,
.wec-doc-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 4px;
    background: linear-gradient(90deg, #173d7a, #04848e, #ffcc00, #07377d);
}

.wec-feature-card {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1fr);
}

.wec-feature-card img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.wec-feature-card > div {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 30px;
}

.wec-feature-card span,
.wec-heading > span {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-height: 30px;
    padding: 7px 11px;
    color: #132f63;
    background: #ffcc00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
}

.wec-feature-card h2,
.wec-heading h2 {
    margin: 0;
    color: #132f63;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0;
}

.wec-feature-card p,
.wec-heading p,
.wec-focus-grid p,
.wec-gallery-grid p,
.wec-side-panel p {
    margin: 0;
    color: #42516b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.64;
    letter-spacing: 0;
}

.wec-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 24px 24px 0;
}

.wec-heading h2 {
    margin-bottom: 8px;
}

.wec-leader-card {
    margin: 24px;
    padding: 22px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.wec-leader-card strong,
.wec-leader-card span {
    display: block;
    letter-spacing: 0;
}

.wec-leader-card strong {
    color: #132f63;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
}

.wec-leader-card span {
    margin-top: 8px;
    color: #42516b;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
}

.wec-focus-grid,
.wec-gallery-grid {
    display: grid;
    gap: 16px;
}

.wec-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 24px;
}

.wec-focus-grid article {
    min-height: 160px;
    padding: 18px;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.wec-focus-grid i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 50%;
    font-size: 18px;
}

.wec-focus-grid h3,
.wec-gallery-grid h4,
.wec-doc-head h3,
.wec-year-block > h3 {
    margin: 0;
    color: #132f63;
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: 0;
}

.wec-focus-grid h3,
.wec-gallery-grid h4 {
    margin-bottom: 8px;
    font-size: 19px;
}

.wec-doc-card {
    margin: 24px;
}

.wec-doc-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 20px;
    background: #f6f9fd;
}

.wec-doc-head h3 {
    font-size: 22px;
}

.wec-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.wec-doc-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 16px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

.wec-doc-actions a:nth-child(2) {
    color: #132f63;
    background: #ffcc00;
}

.wec-doc-actions a:hover,
.wec-doc-actions a:focus {
    color: #ffffff;
    background: #07377d;
    text-decoration: none;
    transform: translateY(-2px);
}

.wec-pdf-viewer {
    height: min(72vh, 720px);
    min-height: 560px;
    background: #2f333a;
}

.wec-pdf-viewer iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

.wec-event-stack {
    display: grid;
    gap: 22px;
    padding: 24px;
}

.wec-year-block {
    display: grid;
    gap: 14px;
}

.wec-year-block > h3 {
    display: inline-flex;
    justify-self: start;
    min-height: 34px;
    align-items: center;
    padding: 8px 13px;
    color: #ffffff;
    background: #173d7a;
    border-radius: 999px;
    font-size: 15px;
}

.wec-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wec-gallery-grid figure {
    overflow: hidden;
    margin: 0;
    background: #f6f9fd;
    border: 1px solid rgba(19, 47, 99, 0.12);
    border-radius: 8px;
}

.wec-gallery-grid a {
    display: block;
    overflow: hidden;
    background: #eef3f8;
}

.wec-gallery-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 240ms ease;
}

.wec-gallery-grid figcaption {
    padding: 16px;
}

.wec-gallery-grid figure:hover img,
.wec-gallery-grid figure:focus-within img {
    transform: scale(1.035);
}

@media (max-width: 1100px) {
    .women-empowerment-layout,
    .wec-feature-card {
        grid-template-columns: 1fr;
    }

    .wec-side-panel {
        order: -1;
    }

    .wec-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .wec-feature-card > div,
    .wec-focus-grid,
    .wec-event-stack {
        padding: 20px;
    }

    .wec-feature-card img {
        min-height: 260px;
    }

    .wec-heading,
    .wec-doc-head {
        grid-template-columns: 1fr;
        padding: 20px 20px 0;
    }

    .wec-feature-card h2,
    .wec-heading h2 {
        font-size: 25px;
    }

    .wec-focus-grid,
    .wec-gallery-grid {
        grid-template-columns: 1fr;
    }

    .wec-doc-card,
    .wec-leader-card {
        margin: 20px;
    }

    .wec-doc-actions {
        justify-content: flex-start;
    }

    .wec-pdf-viewer {
        height: 560px;
        min-height: 420px;
    }
}
