﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿*{
box-sizing:border-box}

body,html{
margin:0;
padding:0;
width:100%;
height:100%}

.glass-effect{
background:rgba(255,255,255,.1);
backdrop-filter:blur(7px);
-webkit-backdrop-filter:blur(15px);
border:1px solid rgba(255,255,255,.2);
border-radius:1rem}

.glass-button{
background:rgba(255,255,255,.15);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
border:1px solid rgba(255,255,255,.25);
transition:all .3s ease;
color:#fff}

.glass-button:hover{
background:rgba(255,255,255,.3);
transform:translateY(-2px);
box-shadow:0 0 20px rgba(255,255,255,.15);
color:#fff}

.form-control.glass-input,.form-select.glass-input{
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.2);
color:#fff}

.form-control.glass-input::placeholder{
color:#ccc}

body{
font-family:Inter,sans-serif;
position:relative;
margin:0;
padding:0}

body::before{
content:'';
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
background-color:#000;
background-image:url('../images/back.jpg');
background-size:cover;
background-position:center;
background-repeat:no-repeat;
background-attachment:fixed;
filter:blur(3px);
z-index:-1}

@media (max-width:575.98px){
body::before{
background-image:url('../images/back4.jpg')}

}

.form-control.glass-input:focus,.form-select.glass-input:focus{
background:rgba(255,255,255,.15);
outline:0;
border-color:rgba(255,255,255,.4);
box-shadow:none;
color:#fff}

.form-select.glass-input option{
background:#333}

.fade-in-out{
animation:fadeInOut 5s ease-in-out infinite}

@keyframes fadeInOut{
0%,100%{
opacity:0;
transform:translateY(10px)}

10%,90%{
opacity:1;
transform:translateY(0)}

}

.form-select.glass-input{
background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
background-repeat:no-repeat;
background-position:right .75rem center;
background-size:16px 12px}

@keyframes blob{
0%{
transform:translate(0,0) scale(1)}

33%{
transform:translate(30px,-50px) scale(1.1)}

66%{
transform:translate(-20px,20px) scale(.9)}

100%{
transform:translate(0,0) scale(1)}

}

.animation-delay-2000{
animation-delay:2s}

.animation-delay-4000{
animation-delay:4s}

.blob-1{
background-color:rgba(93,7,255,.25)}

.blob-2{
background-color:rgba(93,7,255,.25)}

.blob-3{
background-color:rgba(93,7,255,.25)}

.blob-4{
background-color:rgba(93,7,255,.25)}

.form-toggle-button{
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.2);
color:#fff;
padding:.375rem .75rem;
border-radius:.5rem;
transition:background .3s ease}

.form-toggle-button.active,.form-toggle-button:hover{
background:rgba(255,255,255,.25)}

.animate-blob{
animation:blob 20s ease-in-out infinite}

.blur-3xl{
filter:blur(120px)}

.gradient-text{
background:linear-gradient(90deg,#00f5a0,#00d9f5,#7c3aed);
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent}

.glass-effect{
box-shadow:0 20px 60px rgba(0,0,0,.35)}

.btn.glass-button{
border-radius:.75rem;
box-shadow:0 10px 30px rgba(0,0,0,.25)}

.btn.glass-button:hover{
box-shadow:0 16px 40px #8b00f540}

.form-control.glass-input,.form-select.glass-input{
border-radius:.65rem}

.toggle-group{
display:inline-flex;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.2);
border-radius:9999px;
padding:4px}

.toggle-group .form-toggle-button{
background:0 0;
border:none;
color:#fff;
padding:.5rem 1rem;
border-radius:9999px}

.toggle-group .form-toggle-button.active{
background:linear-gradient(135deg,rgba(93,7,255,.35),rgba(147,96,255,.35));
box-shadow:0 8px 24px rgba(93,7,255,.25)}

.tracking-widest{
letter-spacing:.3em}

.usp-card{
position:relative;
overflow:hidden;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.18);
border-radius:1rem;
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12)}

.usp-card::after,.usp-card::before{
content:"";
position:absolute;
width:160%;
height:160%;
background:radial-gradient(40% 40% at 20% 50%,rgba(255,193,7,.3),transparent 60%),radial-gradient(35% 35% at 80% 50%,rgba(255,224,102,.25),transparent 60%);
filter:blur(18px);
transform:translate(-30%,-30%) rotate(8deg);
z-index:0}

.usp-card::after{
background:radial-gradient(35% 35% at 15% 30%,rgba(255,193,7,.28),transparent 60%);
transform:translate(-40%,-40%) rotate(-8deg)}

.usp-inner{
position:relative;
z-index:2}

.usp-number{
line-height:1.2;
background:linear-gradient(180deg,#ffe066 0,#ffc107 60%,#ffb300 100%);
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
text-shadow:0 6px 20px rgba(255,193,7,.35)}

.usp-kicker{
font-weight:700;
letter-spacing:.04em}

.usp-subtle{
color:rgba(255,255,255,.8);
font-size: 10px;
}

.usp-divider{
height:1px;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}

@media (max-width:575.98px){
.usp-number{
font-size:2.5rem!important}

}

@media (min-width:768px) and (max-width:991.98px){
.glass-effect.mx-4{margin-left:0!important;margin-right:0!important}
}

@media (max-width:575.98px){
.navbar-toggler{
display:none!important}

.navbar-collapse,.navbar-nav{
display:none!important}

.call-pill{
display:inline-flex!important}

.glass-effect{
padding:.9rem!important}

.form-control.glass-input,.form-select.glass-input{
padding:.5rem .6rem;
font-size:.95rem}

.toggle-group{
transform:scale(.95)}

.usp-card{
min-height:160px}

.usp-subtle{
font-size:.85rem;
line-height:1.25;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden}

}

.awards-content-wrapper{
display:flex;
gap:3rem;
align-items:stretch;
min-height:500px}

.mobile-award-image-container{
display:none;
justify-content:center;
align-items:center;
margin-bottom:2rem;
padding:1rem}

.mobile-award-image{
max-width:300px;
max-height:300px;
width:auto;
height:auto;
border-radius:1rem;
box-shadow:0 10px 30px rgba(0,0,0,.3);
cursor:pointer;
transition:transform .3s ease,box-shadow .3s ease}

.mobile-award-image:hover{
transform:scale(1.05);
box-shadow:0 15px 40px rgba(0,0,0,.4)}

.award-lightbox{
display:none;
position:fixed;
z-index:9999;
left:0;
top:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,.9);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px)}

.award-lightbox-content{
position:relative;
margin:auto;
padding:2rem;
width:90%;
max-width:800px;
top:50%;
transform:translateY(-50%);
text-align:center}

.award-lightbox-close{
position:absolute;
top:1rem;
right:1.5rem;
color:#fff;
font-size:2.5rem;
font-weight:700;
cursor:pointer;
z-index:10000;
transition:color .3s ease}

.award-lightbox-close:hover{
color:#ff6b6b}

.award-lightbox-img{
max-width:100%;
max-height:70vh;
width:auto;
height:auto;
border-radius:1rem;
box-shadow:0 20px 60px rgba(0,0,0,.5);
margin-bottom:1.5rem}

.award-lightbox-info{
color:#fff;
text-align:center}

.award-lightbox-info h3{
font-size:1.8rem;
margin-bottom:1rem;
color:#fff}

.award-lightbox-info p{
font-size:1.1rem;
line-height:1.6;
color:rgba(255,255,255,.9);
max-width:600px;
margin:0 auto}

.award-description-panel{
flex:1;
background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.15);
border-radius:1.5rem;
padding:2.5rem;
display:flex;
flex-direction:column;
justify-content:space-between}

.award-header h3{
font-size:1.2rem;
color:rgba(255,255,255,.8);
margin-bottom:.5rem;
font-weight:400}

.award-header h2{
font-size:2.5rem;
color:#fff;
font-weight:700;
margin-bottom:2rem;
line-height:1.2}

.active-award-details{
flex-grow:1;
margin-bottom:2rem;
transition:all .5s ease-in-out}

.active-award-details .award-title{
font-size:1.8rem;
font-weight:700;
color:#fff;
margin-bottom:1rem;
transition:all .5s cubic-bezier(.25, .1, .25, 1);
transform:translateY(0);
opacity:1}

.active-award-details .award-description{
color:rgba(255,255,255,.8);
line-height:1.6;
font-size:1rem;
margin-bottom:1.5rem;
transition:all .4s ease-in-out .1s;
transform:translateY(0);
opacity:1}

.active-award-details .award-meta{
color:rgba(255,255,255,.6);
font-size:.9rem;
transition:all .4s ease-in-out .2s;
transform:translateY(0);
opacity:1}

.carousel-navigation{
display:flex;
align-items:center;
gap:1rem}

.nav-btn{
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.2);
border-radius:50%;
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
cursor:pointer;
transition:all .4s ease-in-out;
transform:scale(1)}

.nav-btn:hover{
background:rgba(255,255,255,.25);
border-color:rgba(255,255,255,.5);
transform:scale(1.1);
box-shadow:0 8px 25px rgba(255,255,255,.2)}

.nav-btn:active{
transform:scale(.95);
transition:all .1s ease-in-out}

.awards-display-panel{
flex:1;
background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.1);
border-radius:1.5rem;
padding:1rem;
display:flex;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden}

.awards-display-panel::before{
content:"";
position:absolute;
top:50%;
left:50%;
width:0;
height:0;
border-radius:50%;
transform:translate(-50%,-50%);
z-index:1;
filter:blur(30px)}

.awards-carousel{
position:relative;
width:100%;
height:400px;
display:flex;
justify-content:center;
align-items:center;
overflow:visible;
touch-action:pan-y pinch-zoom;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none}

.awards-carousel .award-item{
position:absolute;
top:50%;
left:50%;
width:100%;
height:100%;
transform:translate(-50%,-50%) scale(0);
transition:all .6s cubic-bezier(.25, .1, .25, 1);
opacity:0;
pointer-events:none;
z-index:1}

.awards-carousel .award-item.position-center{
transform:translate(-50%,-50%) scale(1);
opacity:1;
pointer-events:auto;
z-index:3}

.awards-carousel .award-item.position-left,.awards-carousel .award-item.position-right{
opacity:0;
transform:translate(-50%,-50%) scale(0);
pointer-events:none}

.awards-carousel .award-item:not(.position-center){
opacity:0!important;
transform:translate(-50%,-50%) scale(0)!important;
pointer-events:none!important}

.awards-carousel .award-icon{
width:100%;
height:84%;
background-size:contain;
background-position:center;
background-repeat:no-repeat;
margin-bottom:1rem;
transition:all .6s ease;
filter:drop-shadow(0 10px 20px rgba(0, 0, 0, .3))}

.awards-carousel .award-item.position-center .award-icon{
transform:scale(1.05)}

.awards-carousel .award-item .award-title{
font-size:1.35rem;
font-weight:700;
color:#fff;
text-align:center;
margin-top:.25rem;
margin-bottom:.35rem;
line-height:1.3;
letter-spacing:.2px;
transition:all .6s ease}

.awards-carousel .award-item .award-year{
font-size:1.05rem;
color:rgba(255,255,255,.9);
text-align:center;
line-height:1.2;
transition:all .6s ease}

.award-item{
flex:0 0 180px;
height:260px;
background:0 0;
border-radius:1.2rem;
text-align:center;
transition:all .5s cubic-bezier(.95, -.09, .12, 1.21);
position:relative;
overflow:hidden;
cursor:pointer;
opacity:.7;
transform:scale(.85);
filter:blur(0px);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center}

.award-item.active{
background:0 0;
transform:scale(1.2) translateY(-10px);
opacity:1;
flex:0 0 220px;
height:400px;
z-index:1001;
filter:drop-shadow(0 10px 30px rgba(0, 0, 0, .2))}

.award-item::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);
transform:translateX(-100%);
transition:transform .6s ease}

.award-item:hover::before{
transform:translateX(100%)}

.award-item:hover{
transform:translateY(-4px);
opacity:.95;
filter:drop-shadow(0 18px 48px rgba(0, 0, 0, .4))}

.award-item:hover .award-icon{
transform:none;
box-shadow:none}

.award-icon{
width:400px;
height:400px;
margin-bottom:1rem;
background:linear-gradient(135deg,#667eea,#764ba2);
border-radius:2rem;
display:flex;
align-items:center;
justify-content:center;
font-size:4rem;
color:#fff;
flex-shrink:0;
background-size:cover;
background-position:center;
transition:all .4s ease-in-out}

.award-item .award-title{
font-size:1.1rem;
font-weight:700;
margin-bottom:.5rem;
color:#fff;
line-height:1.3;
text-align:center}

.award-item .award-year{
font-size:.9rem;
color:rgba(255,255,255,.8);
font-weight:600;
margin-bottom:.5rem;
text-align:center}

.award-item .award-description{
color:rgba(255,255,255,.7);
line-height:1.5;
font-size:.9rem;
margin-bottom:1rem;
flex-grow:1}

.award-item .award-meta{
color:rgba(255,255,255,.6);
font-size:.8rem;
font-weight:500;
margin-top:auto}

.award-details{
background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.05));
backdrop-filter:blur(25px);
-webkit-backdrop-filter:blur(25px);
border:1px solid rgba(255,255,255,.2);
border-radius:1.5rem;
transition:all .4s ease;
position:relative;
overflow:hidden}

.award-details::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(45deg,transparent,rgba(255,255,255,.05),transparent);
animation:shimmer 3s infinite}

@keyframes shimmer{
0%{
transform:translateX(-100%)}

100%{
transform:translateX(100%)}

}

.award-category .badge{
background:linear-gradient(135deg,#667eea,#764ba2)!important;
border:none;
padding:.5rem 1rem;
font-weight:500;
border-radius:2rem}

.award-details .award-title{
font-size:1.8rem;
font-weight:700;
color:#fff;
margin-bottom:1rem}

.award-description{
color:rgba(255,255,255,.8);
line-height:1.6;
font-size:1rem}

.award-meta{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:1.5rem;
padding-top:1.5rem;
border-top:1px solid rgba(255,255,255,.1)}

.award-meta .award-year{
font-size:1.2rem;
font-weight:600;
color:#667eea}

.award-organization{
font-size:.9rem;
color:rgba(255,255,255,.7)}

.carousel-indicators{
display:flex;
justify-content:center;
gap:.5rem;
margin-top:2rem}

.indicator{
width:12px;
height:12px;
border-radius:50%;
background:rgba(255,255,255,.3);
cursor:pointer;
transition:all .3s ease}

.indicator.active{
background:#667eea;
transform:scale(1.2)}

.indicator:hover{
background:rgba(255,255,255,.6)}

.awards-carousel{
will-change:transform;
cursor:grab}

.awards-carousel.grabbing{
cursor:grabbing}

@media (max-width:768px){
.awards-content-wrapper{
flex-direction:column;
gap:2.5rem;
min-height:auto;
padding:2rem 1rem}

.awards-carousel{
height:350px}

.award-description-panel{
padding:2.5rem 2rem;
border-radius:20px;
box-shadow:0 10px 40px rgba(0,0,0,.1);
backdrop-filter:blur(10px)}

.award-header h2{
font-size:2.2rem;
margin-bottom:1.2rem}

.active-award-details .award-title{
font-size:1.6rem;
margin-bottom:1rem}

.award-item{
width:200px;
height:280px}

}

@media (max-width:576px){
.awards-content-wrapper{
flex-direction:column;
gap:0;
min-height:auto;
padding:1.5rem .8rem}

.mobile-award-image-container{
display:flex;
order:1;
margin-bottom:1.5rem}

.mobile-award-image{
max-width:250px;
max-height:250px}

.award-description-panel{
background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.15);
border-radius:1.5rem;
padding:2rem 1.5rem;
margin-bottom:0;
order:2}

.awards-display-panel{
display:none}

.awards-carousel{
height:auto;
gap:1rem;
padding:0;
justify-content:center;
align-items:center;
display:flex;
flex-wrap:wrap}

.award-header{
text-align:center;
margin-bottom:1.5rem}

.award-header h3{
font-size:1rem;
margin-bottom:.3rem}

.award-header h2{
font-size:1.9rem;
margin-bottom:1rem}

.active-award-details{
text-align:center;
margin-bottom:1.5rem}

.active-award-details .award-title{
font-size:1.4rem;
margin-bottom:.8rem}

.active-award-details .award-description{
font-size:.95rem;
line-height:1.5;
margin-bottom:1rem}

.active-award-details .award-meta{
font-size:.85rem;
text-align:center}

.carousel-navigation{
justify-content:center;
margin-top:1rem}

.award-item{
flex:0 0 140px;
height:200px;
padding:1rem;
border-radius:18px;
transform:scale(1);
margin:.5rem}

.award-item.active{
flex:0 0 160px;
height:220px;
transform:scale(1.1) translateY(-8px)}

.award-icon{
width:55px;
height:55px;
font-size:1.6rem;
border-radius:14px}

.awards-carousel .award-item .award-title{
font-size:.98rem;
margin-top:.8rem}

.awards-carousel .award-item .award-year{
font-size:.85rem;
margin-top:.3rem}

}

@media (max-width:576px){
.awards-content-wrapper{
gap:2rem;
padding:1.5rem .8rem}

.awards-carousel{
gap:1rem;
padding:0;
justify-content:flex-start}

.award-description-panel{
padding:2rem 1.5rem;
border-radius:18px}

.award-header h2{
font-size:1.9rem;
margin-bottom:1rem}

.active-award-details .award-title{
font-size:1.4rem;
margin-bottom:.8rem}

.award-item{
flex:0 0 140px;
height:200px;
padding:1rem;
border-radius:18px;
transform:scale(1)}

.award-item.active{
flex:0 0 180px;
height:250px;
transform:scale(1.12) translateY(-12px)}

.award-icon{
width:55px;
height:55px;
font-size:1.6rem;
border-radius:14px}

.awards-carousel .award-item .award-title{
font-size:.98rem;
margin-top:.8rem}

.awards-carousel .award-item .award-year{
font-size:.85rem;
margin-top:.3rem}

}

@media (max-width:480px){
.awards-content-wrapper{
padding:0rem .5rem;
gap:0}

.mobile-award-image-container{
display:flex;
order:1;
padding:.2rem;
margin-bottom:1.2rem}

.mobile-award-image{
max-width:220px;
max-height:220px}

.award-description-panel{
background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.15);
border-radius:1.2rem;
padding:1.8rem 1.2rem;
margin-bottom:0;
order:2}

.awards-display-panel{
display:none}

.awards-carousel{
height:auto;
gap:.8rem;
padding:0;
justify-content:center;
align-items:center;
display:flex;
flex-wrap:wrap}

.award-header{
text-align:center;
margin-bottom:1.2rem}

.award-header h3{
font-size:.9rem;
margin-bottom:.2rem}

.award-header h2{
font-size:1.6rem;
margin-bottom:.8rem}

.active-award-details{
text-align:center;
margin-bottom:1.2rem}

.active-award-details .award-title{
font-size:1.2rem;
margin-bottom:.6rem}

.active-award-details .award-description{
font-size:.9rem;
line-height:1.4;
margin-bottom:.8rem}

.active-award-details .award-meta{
font-size:.8rem;
text-align:center}

.carousel-navigation{
justify-content:center;
margin-top:.3rem;
margin-bottom:.5rem}

.award-item{
flex:0 0 130px;
height:185px;
padding:.9rem;
border-radius:16px;
transform:scale(1);
margin:.4rem}

.award-item.active{
flex:0 0 150px;
height:200px;
transform:scale(1.05) translateY(-6px)}

.award-icon{
width:50px;
height:50px;
font-size:1.4rem;
border-radius:12px}

.awards-carousel .award-item .award-title{
font-size:.9rem;
margin-top:.7rem}

.awards-carousel .award-item .award-year{
font-size:.8rem;
margin-top:.2rem}

}

.tmu-usp-section{
background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
border:1px solid rgba(255,255,255,.12);
border-radius:1.5rem;
padding:2rem;
position:relative;
overflow:hidden;
color:#fff}

.tmu-usp-section::before{
content:'';
position:absolute;
top:-80px;
right:-60px;
width:260px;
height:260px;
border-radius:50%;
background:rgba(93,7,255,.25);
filter:blur(80px);
z-index:0;
animation:blob 18s ease-in-out infinite}

.usp-header{
text-align:center;
margin-bottom:1.5rem;
position:relative;
z-index:1}

.usp-header h2{
font-size:clamp(1.8rem, 4vw, 2.4rem);
font-weight:800;
letter-spacing:0;
color:var(--text-primary,#111)}

.usp-header p{
margin:.25rem 0 0;
opacity:.8}

.usp-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:1.25rem;
position:relative;
z-index:1;
align-items:stretch}

.usp-card{
min-height:140px;
display:flex;
align-items:center}

.usp-card{
position:relative;
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.15);
border-radius:1rem;
padding:1rem 1rem;
box-shadow:0 10px 30px rgba(0,0,0,.25);
transition:transform .25s ease,box-shadow .35s ease,border-color .35s ease;
cursor:pointer;
overflow:hidden}

.usp-card::before{
content:"";
position:absolute;
right:-30px;
top:70%;
transform:translateY(-50%);
width:100px;
height:100px;
background:linear-gradient(135deg,rgba(132,0,255,.3),rgba(167,139,250,.2));
border-radius:50%;
z-index:0;
pointer-events:none;
transition:all .3s ease}

.usp-card::after{
content:"";
position:absolute;
right:-10px;
top:80%;
transform:translateY(-50%);
width:90px;
height:90px;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z' fill='%23a78bfa' stroke='none'/%3E%3C/svg%3E") no-repeat center;
background-size:100px 100px;
z-index:0;
pointer-events:none;
opacity:.25;
transition:all .3s ease;
filter:none}

.usp-card:first-child::after{
background-image:url("../images/i-1.png");
background-size:100px 100px}

.usp-card:nth-child(2)::after{
background-image:url("../images/i-2.png");
background-size:100px 100px}

.usp-card:nth-child(3)::after{
background-image:url("../images/i-3.png");
background-size:100px 100px}

.usp-card:nth-child(4)::after{
background-image:url("../images/i-4.png");
background-size:100px 100px}

.usp-card:nth-child(5)::after{
background-image:url("../images/i-5.png");
background-size:100px 100px}

.usp-card:nth-child(6)::after{
background-image:url("../images/i-6.png");
background-size:100px 100px}

.usp-card:nth-child(7)::after{
background-image:url("../images/i-7.png");
background-size:100px 100px}

.usp-card:nth-child(8)::after{
background-image:url("../images/i-8.png");
background-size:100px 100px}

.usp-card:hover{
transform:translateY(-4px);
box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06) inset;
border-color:rgba(255,255,255,.28)}

.usp-card:hover::before{
background:linear-gradient(135deg,rgba(132,0,255,.5),#936fff);
transform:translateY(-50%) scale(1.1)}

.usp-card:hover::after{
opacity:1;
transform:translateY(-50%) scale(1.05);
filter:none}

.usp-card-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:.75rem;
position:relative;
z-index:2}

.usp-card-left{
display:flex;
align-items:center;
gap:.6rem}

.usp-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;
height:28px}

.usp-icon img{
width:100%;
height:100%;
object-fit:contain}

.usp-icon svg{
width:22px;
height:22px;
color:#fff;
opacity:.95}

.usp-icon{position:relative;z-index:1}
.usp-card-title{position:relative;z-index:2}
.usp-card-content{position:relative;z-index:2}

.usp-card-title{
font-size:1.1rem;
width:180px;
font-weight:700;
letter-spacing:.3px;
color:transparent;
background-image:linear-gradient(90deg,#fff,#fff 65%,#fff);
background-clip:text;
-webkit-background-clip:text;
text-shadow:none}

.usp-card-title::after{
content:"";
display:block;
width:36px;
height:3px;
border-radius:3px;
background:linear-gradient(90deg,#8400ff,#a78bfa,#8c00ff);
opacity:.75;
transform:translateY(6px);
transition:width .25s ease,opacity .25s ease}

.usp-card:hover .usp-card-title::after{
width:64px;
opacity:1}

.usp-card-toggle{
display:none}

.usp-card-toggle svg{
color:#fff}

.usp-card.expanded .usp-card-toggle{
transform:rotate(180deg);
background:rgba(255,255,255,.2)}

.usp-card-content{
max-height:0;
overflow:hidden;
opacity:0;
transform:translateY(-6px);
transition:max-height .35s ease,opacity .25s ease,transform .25s ease;
position:relative;
z-index:2}

.usp-card.expanded .usp-card-content{
opacity:1;
transform:translateY(0)}

.usp-card-content p{
margin:.75rem 0 .5rem;
color:rgba(255,255,255,.85);
line-height:1.5;
font-size:.95rem}

.usp-modal-overlay{
position:fixed;
inset:0;
background:linear-gradient(135deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.25) 50%,rgba(0,0,0,.35) 100%);
backdrop-filter:blur(25px) saturate(120%);
-webkit-backdrop-filter:blur(25px) saturate(120%);
display:none;
align-items:center;
justify-content:center;
z-index:1050}

.usp-modal-overlay.active{
display:flex}

.usp-modal{
width:min(900px,94vw);
max-height:min(85vh,900px);
overflow-y:auto;
background:#ffffff;
border:1px solid rgba(0,0,0,.08);
border-radius:28px;
backdrop-filter:none;
-webkit-backdrop-filter:none;
box-shadow:0 28px 64px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.6);
padding:1.5rem 1.5rem 1.75rem;
position:relative;
color:#111;
transform:translateY(8px) scale(.99);
opacity:0;
transition:transform .25s ease,opacity .25s ease}

.usp-modal-overlay.active .usp-modal{
transform:translateY(0) scale(1);
opacity:1}

.usp-modal-header{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:.75rem;
margin-bottom:.75rem}

.usp-modal-icon{
width:56px;
height:56px;
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,rgba(0,0,0,.06),rgba(0,0,0,.02));
border:1px solid rgba(0,0,0,.12);
box-shadow:inset 0 0 12px rgba(255,255,255,.55),0 8px 20px rgba(0,0,0,.1)}
.usp-modal-icon img{width:70%;height:70%;object-fit:contain}

.usp-modal-title{
font-size:1.35rem;
font-weight:700;
letter-spacing:.4px;
padding-right:64px;
word-break:break-word}

.usp-icon i{font-size:20px;color:#fff;opacity:.95}
.usp-modal-icon i{font-size:28px;color:#111}

.usp-modal-body p{
margin:.75rem 0 .25rem;
color:#333;
line-height:1.6;
font-size:1rem}

.usp-modal-close{
position:absolute;
top:12px;
right:12px;
width:48px;
height:48px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(0,0,0,.4);
background:rgba(17,17,17,.75);
color:#fff;
cursor:pointer;
box-shadow:0 8px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.15);
transition:all .3s ease
;z-index:10
}

.usp-modal-close:hover{
background:rgba(17,17,17,.85);
border-color:rgba(0,0,0,.55);
transform:scale(1.05)}

.usp-modal-close:focus-visible{outline:2px solid #ffc107;outline-offset:2px}

@media (max-width:992px){
.usp-grid{
grid-template-columns:repeat(2,1fr)}

}

@media (max-width:576px){
.usp-grid{
grid-template-columns:repeat(2,1fr);
gap:.75rem}

.carousel-navigation{
justify-content:center}


.usp-card{
padding:.7rem;
border-radius:.9rem}

.usp-card-title{
font-size:.98rem;
width:150px;
line-height:1.25}

.usp-card-title::after{
display:none}

.usp-icon{
width:34px;
height:34px}

.usp-modal-title{
font-size:1.15rem;
padding-right:0px
}

.usp-modal-close{
top:10px;
right:10px;
width:34px;
height:34px}

}

@media (max-width:480px){
.carousel-navigation{
justify-content:center}

.usp-card{
padding:.9rem}

.usp-card-title{
font-size:.95rem}

}

.tmu-footer{
position:relative;
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border-top:1px solid rgba(255,255,255,.2);
box-shadow:0 20px 60px rgba(0,0,0,.35);
color:#fff;
border-radius:0 0 1rem 1rem;
overflow:hidden;
z-index:1}

.tmu-footer::before{
content:'';
position:absolute;
width:300px;
height:300px;
background:rgba(93,7,255,.25);
border-radius:50%;
filter:blur(80px);
top:-100px;
left:-50px;
z-index:-1;
animation:blob 20s ease-in-out infinite}

.tmu-footer::after{
content:'';
position:absolute;
width:250px;
height:250px;
background:rgba(93,7,255,.25);
border-radius:50%;
filter:blur(80px);
bottom:-50px;
right:-50px;
z-index:-1;
animation:blob 20s ease-in-out infinite;
animation-delay:2s}

.tmu-footer h5{
font-weight:600;
margin-bottom:20px;
font-size:1.1rem;
color:#fff;
position:relative}

.tmu-footer h5::after{
content:'';
position:absolute;
bottom:-8px;
left:0;
width:40px;
height:2px;
background:linear-gradient(90deg,#ff6b6b,#ffa502)}

.tmu-footer p{
color:rgba(255,255,255,.7);
font-size:.9rem}

.tmu-footer .admissions-text{
font-size:.85rem;
color:rgba(255,255,255,.7)}

.tmu-footer a{
color:rgba(255,255,255,.7);
text-decoration:none;
transition:color .3s ease}

.tmu-footer a:hover{
color:#fff}

.tmu-footer .contact-info i{
color:#ff6b6b}

.tmu-footer .social-icons{
display:flex;
flex-wrap:wrap;
gap:10px}

.tmu-footer .social-icons a{
display:inline-flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
border-radius:50%;
background:rgba(255,255,255,.1);
transition:all .3s ease}

.tmu-footer .social-icons a:hover{
background:rgba(255,255,255,.2);
transform:translateY(-3px)}

.tmu-footer .whatsapp-link{
display:inline-flex;
align-items:center;
padding:8px 15px;
background:rgba(255,255,255,.1);
border-radius:20px;
transition:all .3s ease}

.tmu-footer .whatsapp-link:hover{
background:rgba(255,255,255,.2)}

.tmu-footer .footer-bottom{
background:rgba(255,255,255,.06);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
border-top:1px solid rgba(255,255,255,.15);
padding-top:15px;
margin-top:20px;
position:relative;
z-index:2}

.tmu-footer .footer-links{
display:flex;
flex-wrap:wrap;
gap:15px}

.tmu-footer .footer-links a{
font-size:.8rem;
color:rgba(255,255,255,.6)}

.tmu-footer .footer-bottom p{
font-size:.8rem;
color:rgba(255,255,255,.6)}

@media (max-width:767.98px){
.tmu-footer h5{
font-size:1rem;
margin-top:10px;
margin-bottom:15px}

.tmu-footer a,.tmu-footer p{
font-size:.85rem}

.tmu-footer .admissions-text{
font-size:.75rem}

.tmu-footer .social-icons a{
width:28px;
height:28px}

.tmu-footer .footer-links{
gap:10px}

.tmu-footer .footer-links a{
font-size:.7rem}

}

@media (max-width:575.98px){
.tmu-footer .social-icons{
margin-bottom:15px}

.tmu-footer .footer-links{
flex-direction:row;
justify-content:flex-start;
margin-bottom:10px}

.tmu-footer .footer-bottom{
text-align:center}

.tmu-footer .footer-bottom .text-md-end{
text-align:center!important}

}

#gallery{
padding:5rem 1rem;
position:relative}

.gallery-tabs-container{
display:flex;
justify-content:center;
margin-bottom:3rem;
flex-wrap:wrap;
gap:.75rem;
padding:.5rem}

.gallery-tab{
position:relative;
padding:.85rem 2rem;
border-radius:50px;
background:linear-gradient(135deg,rgba(93,7,255,.12),rgba(147,96,255,.08));
border:1px solid rgba(93,7,255,.3);
backdrop-filter:blur(16px) saturate(180%);
-webkit-backdrop-filter:blur(16px) saturate(180%);
box-shadow:0 8px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.15);
cursor:pointer;
transition:all .4s cubic-bezier(.23, 1, .32, 1);
color:rgba(255,255,255,.9);
font-weight:600;
font-size:.95rem;
letter-spacing:.02em;
overflow:hidden}

.gallery-tab::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 50% 50%,rgba(93,7,255,.2),transparent 50%);
filter:blur(8px);
opacity:0;
transition:opacity .4s ease;
z-index:-1;
border-radius:inherit}

.gallery-tab:hover::before{
opacity:.8}

.gallery-tab:hover{
transform:translateY(-3px);
border-color:rgba(93,7,255,.5);
color:#fff;
box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 16px rgba(93,7,255,.2),inset 0 1px 0 rgba(255,255,255,.25)}

.gallery-tab.active{
background:linear-gradient(135deg,rgba(93,7,255,.35),rgba(147,96,255,.3));
border:2px solid rgba(93,7,255,.6);
color:#fff;
box-shadow:0 8px 28px rgba(93,7,255,.35),0 0 16px rgba(93,7,255,.15),inset 0 2px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.1);
transform:translateY(-2px)}

.gallery-tab.active::before{
opacity:.6;
background:radial-gradient(circle at 50% 50%,rgba(93,7,255,.3),transparent 50%);
border-radius:inherit}

.gallery-tab-icon{
display:inline-block;
margin-right:.5rem;
font-size:1.1rem;
filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}

.gallery-tab-count{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:24px;
height:24px;
padding:0 .5rem;
margin-left:.5rem;
border-radius:12px;
background:rgba(255,255,255,.15);
font-size:.75rem;
font-weight:700;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}

.gallery-tab.active .gallery-tab-count{
background:rgba(255,255,255,.3);
box-shadow:0 2px 8px rgba(255,193,7,.3),inset 0 1px 0 rgba(255,255,255,.35)}

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
gap:1.5rem;
padding:.5rem}

.gallery-item{
position:relative;
border-radius:20px;
overflow:hidden;
cursor:pointer;
aspect-ratio:4/3;
background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
border:1px solid rgba(255,255,255,.22);
backdrop-filter:blur(16px) saturate(180%);
-webkit-backdrop-filter:blur(16px) saturate(180%);
box-shadow:0 24px 72px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(0,0,0,.2);
transition:all .45s cubic-bezier(.23, 1, .32, 1);
animation:galleryFadeIn .6s ease-out backwards}

.gallery-item:first-child{
animation-delay:50ms}

.gallery-item:nth-child(2){
animation-delay:.1s}

.gallery-item:nth-child(3){
animation-delay:.15s}

.gallery-item:nth-child(4){
animation-delay:.2s}

.gallery-item:nth-child(5){
animation-delay:.25s}

.gallery-item:nth-child(6){
animation-delay:.3s}

@keyframes galleryFadeIn{
from{
opacity:0;
transform:translateY(30px) scale(.95)}

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

}

.gallery-item::before{
content:"";
position:absolute;
inset:-50%;
filter:blur(30px);
opacity:0;
pointer-events:none;
z-index:0;
background:radial-gradient(circle at 50% 50%,rgba(255,193,7,.4),rgba(255,224,102,.3),transparent 70%);
transition:opacity .45s ease}

.gallery-item::after{
content:"";
position:absolute;
inset:0;
border-radius:20px;
padding:2px;
background:linear-gradient(135deg,rgba(255,193,7,.6),rgba(0,217,245,.6),rgba(124,58,237,.6));
-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;
mask-composite:exclude;
opacity:0;
transition:opacity .45s ease;
z-index:1}

.gallery-item:hover{
transform:translateY(-4px);
box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06) inset;
border-color:rgba(255,255,255,.28)}

.gallery-item:hover::before{
opacity:.6}

.gallery-item:hover::after{
opacity:1}

.gallery-item img{
position:relative;
z-index:2;
width:100%;
height:100%;
object-fit:cover;
display:block;
filter:brightness(.98) contrast(1.05) saturate(1.1);
transition:all .45s cubic-bezier(.23, 1, .32, 1)}

.gallery-item:hover img{
filter:brightness(1.03) contrast(1.03) saturate(1.05);
transform:scale(1.01)}

.gallery-item .gallery-overlay{
position:absolute;
inset:0;
z-index:3;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:.75rem;
background:rgba(255,255,255,.15);
backdrop-filter:blur(1px);
-webkit-backdrop-filter:blur(10px) saturate(180%);
border:1px solid rgba(255,255,255,.18);
box-shadow:0 8px 32px 0 rgba(31,38,135,.37);
opacity:0;
transition:all .45s cubic-bezier(.23, 1, .32, 1)}

.gallery-item:hover .gallery-overlay{
opacity:1}

.gallery-overlay-icon{
width:64px;
height:64px;
border-radius:50%;
background:linear-gradient(135deg,rgba(93,7,255,.25),rgba(147,96,255,.25));
border:2px solid rgba(255,255,255,.4);
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 8px 32px rgba(93,7,255,.4),inset 0 1px 0 rgba(255,255,255,.3);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:all .35s cubic-bezier(.23, 1, .32, 1);
animation:pulseGlow 2s ease-in-out infinite}

@keyframes pulseGlow{
0%,100%{
transform:scale(1);
box-shadow:0 8px 32px rgba(93,7,255,.4),inset 0 1px 0 rgba(255,255,255,.3)}

50%{
transform:scale(1.05);
box-shadow:0 12px 48px rgba(93,7,255,.6),inset 0 1px 0 rgba(255,255,255,.4)}

}

.gallery-item:hover .gallery-overlay-icon{
transform:scale(1.15) rotate(90deg);
background:linear-gradient(135deg,rgba(93,7,255,.4),rgba(147,96,255,.3));
border-color:rgba(255,255,255,.6)}

.gallery-overlay-icon svg{
display:block;
filter:drop-shadow(0 2px 8px rgba(255,255,255,.3));
transition:transform .35s ease}

.gallery-item:hover .gallery-overlay-icon svg{
transform:scale(1.1)}

.gallery-overlay-text{
color:#fff;
font-weight:700;
font-size:.95rem;
letter-spacing:.05em;
text-transform:uppercase;
opacity:0;
transform:translateY(10px);
transition:all .35s cubic-bezier(.23, 1, .32, 1) .1s;
text-shadow:0 2px 12px rgba(0,0,0,.5)}

.gallery-item:hover .gallery-overlay-text{
opacity:1;
transform:translateY(0)}

.modal-backdrop.show{
opacity:0!important;
display:none!important}

body.modal-open{
overflow:hidden}

.lightbox-modal{
position:fixed!important;
top:0!important;
bottom:0!important;
left:0!important;
right:0!important;
width:100vw!important;
height:100vh!important;
margin:0!important;
padding:0!important;
z-index:1055!important}

.lightbox-modal.show{
display:flex!important;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.3);
backdrop-filter:blur(20px) saturate(120%);
-webkit-backdrop-filter:blur(20px) saturate(120%);
overflow-y:auto}

.lightbox-modal .modal-dialog{
max-width:90vw;
width:90vw;
margin:0;
display:flex;
align-items:center;
justify-content:center}

.lightbox-modal .modal-content{
position:relative;
background:rgba(255,255,255,0);
border:1px solid rgba(255,255,255,.15);
-webkit-backdrop-filter:blur(20px) saturate(120%);
border-radius:18px;
box-shadow:0 30px 80px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.08);
overflow:hidden}

.lightbox-modal .modal-content::after,.lightbox-modal .modal-content::before{
content:"";
position:absolute;
width:400px;
height:400px;
border-radius:50%;
filter:blur(60px);
opacity:.35;
pointer-events:none;
z-index:0;
animation:liquidFloat 8s ease-in-out infinite}

.lightbox-modal .modal-content::before{
top:-180px;
left:-100px;
background:radial-gradient(circle at 40% 40%,rgba(93,7,255,.42),rgba(147,96,255,.32),transparent 70%)}

.lightbox-modal .modal-content::after{
bottom:-180px;
right:-120px;
background:radial-gradient(circle at 60% 60%,rgba(93,7,255,.4),rgba(147,96,255,.28),transparent 70%);
animation-delay:2s}

@keyframes liquidFloat{
0%,100%{
transform:translate(0,0) scale(1)}

33%{
transform:translate(20px,-30px) scale(1.08)}

66%{
transform:translate(-15px,20px) scale(.95)}

}

.lightbox-modal .modal-header{
position:relative;
z-index:5;
border-bottom:none;
padding:1rem 1.5rem}

.lightbox-modal .modal-body{
position:relative;
z-index:5;
padding:1.5rem;
/* min-height:800px; */
display:flex;
flex-direction:column;
align-items:center;
justify-content:center}

.lightbox-modal img{
max-width:100%;
max-height:80vh;
display:block;
margin:0 auto;
border-radius:8px;
box-shadow:0 12px 40px rgba(0,0,0,.4)}

.lightbox-nav{
position:absolute;
top:50%;
transform:translateY(-50%);
width:48px;
height:48px;
border-radius:50%;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.28);
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:background .25s ease,transform .25s ease;
z-index:10;
box-shadow:0 8px 24px rgba(0,0,0,.3)}

.lightbox-nav:hover{
background:rgba(255,255,255,.22);
transform:translateY(-50%) scale(1.08);
box-shadow:0 12px 32px rgba(0,0,0,.4)}

.lightbox-prev{
left:1rem}

.lightbox-next{
right:1rem}

.lightbox-nav svg{
display:block}

.lightbox-caption{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
padding:.45rem .85rem;
margin-top:.75rem;
color:#fff;
font-weight:700;
letter-spacing:.02em;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:90vw;
border-radius:9999px;
background:linear-gradient(135deg,rgba(0,0,0,.75),rgba(0,0,0,.5));
border:1px solid rgba(255,255,255,.12);
box-shadow:0 8px 24px rgba(0,0,0,.45);
text-shadow:0 2px 10px rgba(0,0,0,.8);
backdrop-filter:blur(6px) saturate(120%);
-webkit-backdrop-filter:blur(6px) saturate(120%)}

@media (max-width:767.98px){
#gallery{
padding:3rem .75rem}

.gallery-tabs-container{
margin-bottom:.2rem;
gap:.5rem}

.gallery-tab{
padding:.7rem 1.5rem;
font-size:.9rem}

.gallery-tab-icon{
font-size:1rem;
margin-right:.4rem}

.gallery-tab-count{
min-width:20px;
height:20px;
font-size:.7rem;
margin-left:.4rem}

.gallery-grid{
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:1rem;
padding:.25rem}

.gallery-item{
border-radius:16px}

.gallery-overlay-icon{
width:52px;
height:52px}

.gallery-overlay-text{
font-size:.85rem}

.lightbox-modal .modal-dialog{
margin:1rem}

}

@media (max-width:575.98px){
.gallery-tabs-container{
justify-content:flex-start;
flex-wrap:nowrap;
overflow-x:auto;
overflow-y:hidden;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
-ms-overflow-style:none;
gap:.5rem;
padding:27px 15px}

.gallery-tabs-container::-webkit-scrollbar{
display:none}

.gallery-tab{
flex-shrink:0;
padding:.65rem 1.2rem;
font-size:.85rem;
white-space:nowrap}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:1rem}

.gallery-show-more-wrap{
margin-top:.75rem}

}

@media (max-width:575.98px){
.tmu-footer .footer-panel{
padding:.875rem .75rem;
border-radius:.9rem}

.tmu-footer .footer-title{
font-size:clamp(.9rem, 4.6vw, 1.05rem);
line-height:1.1;
letter-spacing:.01em}

.tmu-footer .footer-divider{
margin-bottom:.75rem!important}

.tmu-footer .footer-top .row.justify-content-center{
row-gap:.5rem!important}

.tmu-footer .footer-top .row>[class*=col-]{
display:flex;
justify-content:center;
padding-left:0;
padding-right:0}

.tmu-footer .footer-link{
width:100%;
max-width:360px;
justify-content:flex-start;
gap:.6rem;
padding:.65rem .9rem}

.tmu-footer .footer-link span{
overflow-wrap:anywhere}

.tmu-footer .icon-circle{
width:34px;
height:34px}

.tmu-footer .footer-bottom .container{
padding-left:12px;
padding-right:12px}

}

.tmu-footer .icon-circle{
position:relative;
width:38px;
height:38px;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.2);
border:1px solid rgba(255,255,255,.45);
box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

.tmu-footer .icon-circle::after{
content:"";
position:absolute;
inset:-1px;
border-radius:inherit;
-webkit-mask:radial-gradient(farthest-side,transparent 65%,#000 66%);
mask:radial-gradient(farthest-side,transparent 65%,#000 66%);
opacity:.9}

.tmu-footer .icon-circle.whatsapp{
background:#22c55e;
border-color:#22c55e;
color:#fff;
box-shadow:none}

.tmu-footer svg{
display:block}

@media (max-width:575.98px){
.tmu-footer .footer-panel{
padding:.875rem .75rem;
border-radius:.9rem}

.tmu-footer .footer-title{
font-size:clamp(.9rem, 4.6vw, 1.05rem);
line-height:1.1;
letter-spacing:.01em}

.tmu-footer .footer-divider{
margin-bottom:.75rem!important}

.tmu-footer .footer-top .row.justify-content-center{
row-gap:.5rem!important}

.tmu-footer .footer-top .row>[class*=col-]{
display:flex;
justify-content:center;
padding-left:0;
padding-right:0}

.tmu-footer .footer-link{
width:100%;
max-width:360px;
justify-content:flex-start;
gap:.6rem;
padding:.65rem .9rem}

.tmu-footer .footer-link span{
overflow-wrap:anywhere}

.tmu-footer .icon-circle{
width:34px;
height:34px}

.tmu-footer .footer-bottom .container{
padding-left:12px;
padding-right:12px}

}

.tmu-footer .icon-circle{
position:relative;
width:38px;
height:38px;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.2);
border:1px solid rgba(255,255,255,.45);
box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

.tmu-footer .icon-circle::after{
content:"";
position:absolute;
inset:-1px;
border-radius:inherit;
-webkit-mask:radial-gradient(farthest-side,transparent 65%,#000 66%);
mask:radial-gradient(farthest-side,transparent 65%,#000 66%);
opacity:.9}

.tmu-footer .icon-circle.whatsapp{
background:#22c55e;
border-color:#22c55e;
color:#fff;
box-shadow:none}

.tmu-footer svg{
display:block}

#recruiters{
padding:4rem 1rem}

.recruiters-glass{
position:relative;
border-radius:1.25rem;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.22);
backdrop-filter:blur(14px) saturate(120%);
-webkit-backdrop-filter:blur(14px) saturate(120%);
box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
overflow:hidden}

.recruiters-glass::after,.recruiters-glass::before{
content:"";
position:absolute;
inset:-20%;
pointer-events:none;
background:radial-gradient(40% 40% at 20% 50%,rgba(93,7,255,.22),transparent 60%),radial-gradient(35% 35% at 80% 50%,rgba(147,96,255,.18),transparent 60%);
filter:blur(22px);
z-index:0}

.recruiters-glass::after{
background:radial-gradient(35% 35% at 15% 30%,rgba(93,7,255,.2),transparent 60%);
transform:rotate(8deg)}

.recruiters-scroller{
position:relative;
overflow:hidden;
padding:12px 0;
z-index:1}

.recruiters-scroller::after,.recruiters-scroller::before{
content:"";
position:absolute;
top:0;
bottom:0;
width:80px;
z-index:2;
pointer-events:none}

.recruiters-scroller::before{
left:0;
border-radius:15px;
background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(5,19,110,0))}

.recruiters-scroller::after{
right:0;
border-radius:15px;
background:linear-gradient(270deg,rgba(0,0,0,.85),rgba(5,19,110,0))}

.recruiters-track{
display:flex;
align-items:center;
gap:24px;
width:max-content;
animation:recruiters-scroll 28s linear infinite}

.recruiters-scroller:focus-within .recruiters-track,.recruiters-scroller:hover .recruiters-track{
animation-play-state:paused}

.recruiter-card{
position:relative;
width:200px;
height:100px;
border-radius:18px;
display:flex;
align-items:center;
justify-content:center;
padding:10px 16px;
background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));
border:1px solid rgba(15,23,42,.1);
backdrop-filter:blur(8px) saturate(120%);
-webkit-backdrop-filter:blur(8px) saturate(120%);
box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 34px rgba(15,23,42,.18);
transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .35s ease;
overflow:hidden}

.recruiter-card::before{
content:"";
position:absolute;
inset:8px 10px;
border-radius:14px;
background:radial-gradient(120% 100% at 10% 0,rgba(255, 255, 255, 0.432),transparent 40%),radial-gradient(100% 120% at 90% 100%,rgba(226,232,240,.9),transparent 40%);
pointer-events:none;
z-index:0}

.recruiter-card img{
position:relative;
z-index:1;
object-fit:contain;
max-width:88%;
max-height:74%;
mix-blend-mode:normal;
image-rendering:auto;
filter:drop-shadow(0 10px 18px rgba(2,6,23,.22)) brightness(1.1) contrast(1.15) saturate(1.08);
transition:filter .35s ease,transform .35s ease}

.recruiter-card:hover{
transform:translateY(-8px) scale(1.08);
box-shadow:0 28px 70px rgba(0,217,245,.35),0 0 70px rgba(124,58,237,.35)}

.recruiter-card:hover img{
filter:drop-shadow(0 12px 20px rgba(2,6,23,.28)) brightness(1.18) contrast(1.2) saturate(1.12)}

@keyframes recruiters-scroll{
0%{
transform:translateX(0)}

100%{
transform:translateX(-50%)}

}

@media (max-width:575.98px){
.recruiter-card{
width:140px;
height:72px}

.recruiters-track{
gap:18px;
animation-duration:22s}

}

.call-pill{
background:rgba(255,255,255,.16);
border:1px solid rgba(255,255,255,.35);
padding:.35rem .6rem;
border-radius:9999px;
box-shadow:0 6px 16px rgba(0,0,0,.25);
transition:all .25s ease}

.call-pill:hover{
background:rgba(255,255,255,.25);
box-shadow:0 10px 24px rgba(0,0,0,.3)}

#campus-trail{
padding:4rem 1rem}

.campus-trail-glass{
position:relative;
border-radius:1.25rem;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.22);
backdrop-filter:blur(14px) saturate(120%);
-webkit-backdrop-filter:blur(14px) saturate(120%);
box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
overflow:hidden}

.campus-trail-glass::after,.campus-trail-glass::before{
content:"";
position:absolute;
inset:-20%;
pointer-events:none;
background:radial-gradient(40% 40% at 20% 50%,rgba(93,7,255,.22),transparent 60%),radial-gradient(35% 35% at 80% 50%,rgba(147,96,255,.18),transparent 60%);
filter:blur(22px);
z-index:0}

.campus-trail-glass::after{
background:radial-gradient(35% 35% at 15% 30%,rgba(93,7,255,.2),transparent 60%);
transform:rotate(8deg)}

.trail-container{
position:relative;
z-index:1;
display:grid;
grid-template-columns:1fr 1fr;
gap:2rem;
align-items:center;
min-height:500px}

.trail-map-container{
position:relative;
width:auto;
height:400px;
border-radius:1rem;
overflow:hidden;
background:rgba(0,0,0,.2);
border:1px solid rgba(255,255,255,.1)}

.trail-svg{
width:100%;
height:100%;
display:block}

.trail-tracker{
position:absolute;
width:20px;
height:20px;
pointer-events:none;
z-index:10;
transition:all 4s cubic-bezier(.25, .46, .45, .94)}

.tracker-dot{
width:12px;
height:12px;
background:linear-gradient(135deg,gold,#ffed4e);
border-radius:50%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
box-shadow:0 0 20px rgba(255,215,0,.6);
border:2px solid rgba(255,255,255,.8)}

.tracker-pulse{
width:20px;
height:20px;
background:rgba(255,215,0,.3);
border-radius:50%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
animation:pulse 2s infinite}

@keyframes pulse{
0%{
transform:translate(-50%,-50%) scale(1);
opacity:1}

100%{
transform:translate(-50%,-50%) scale(2.5);
opacity:0}

}

.trail-panel{
background:rgba(255,255,255,.05);
border-radius:1rem;
padding:1.5rem;
border:1px solid rgba(255,255,255,.15);
backdrop-filter:blur(10px);
height:400px;
display:flex;
flex-direction:column}

.trail-header{
margin-bottom:1.5rem}

.trail-title{
color:#fff;
font-size:1.5rem;
font-weight:600;
margin-bottom:1rem}

.trail-progress{
display:flex;
align-items:center;
gap:1rem}

.progress-bar{
flex:1;
height:6px;
background:rgba(255,255,255,.2);
border-radius:3px;
overflow:hidden}

.progress-fill{
height:100%;
background:linear-gradient(90deg,gold,#ffed4e);
border-radius:3px;
transition:width .8s cubic-bezier(.4, 0, .2, 1);
box-shadow:0 0 10px rgba(255,215,0,.5)}

.progress-text{
color:rgba(255,255,255,.8);
font-size:.9rem;
font-weight:500;
min-width:50px}

.trail-content{
flex:1;
position:relative;
overflow:hidden}

.building-image-container{
width:100%;
height:200px;
margin-bottom:20px;
border-radius:15px;
overflow:hidden;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.1);
display:flex;
align-items:center;
justify-content:center;
backdrop-filter:blur(10px)}

.building-image{
width:100%;
height:100%;
object-fit:contain;
transition:all .5s ease;
opacity:1}

.building-image:hover{
transform:scale(1.05)}

.college-name{
text-align:center;
margin-top:20px;
padding:15px}

.college-name h3{
color:rgba(255,255,255,.9);
font-size:1.5rem;
font-weight:600;
margin:0;
text-shadow:0 2px 4px rgba(0,0,0,.3);
transition:all .3s ease;
pointer-events:none}

.trail-navigation{
display:flex;
gap:1rem;
margin-top:1.5rem}

.trail-nav-btn{
width:44px;
height:44px;
border-radius:50%;
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.2);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:all .3s ease;
backdrop-filter:blur(10px)}

.trail-nav-btn:hover{
background:rgba(255,255,255,.2);
transform:translateY(-2px);
box-shadow:0 8px 25px rgba(0,0,0,.3);
border-color:rgba(255,255,255,.4)}

.trail-nav-btn:active{
transform:translateY(0)}

.trail-nav-btn:disabled{
opacity:.5;
cursor:not-allowed;
transform:none}

.trail-nav-btn:disabled:hover{
background:rgba(255,255,255,.1);
transform:none;
box-shadow:none}

.poi-marker{
cursor:pointer;
transition:all .3s ease}

.poi-marker:hover{
transform:scale(1.2)}

.poi-marker.active{
filter:drop-shadow(0 0 8px rgba(255, 215, 0, .8))}

@media (max-width:768px){
.trail-container{
grid-template-columns:1fr;
gap:1.5rem}

.trail-map-container{
height:300px}

.trail-panel{
height:auto;
min-height:300px}

.trail-title{
font-size:1.25rem}

.poi-info h4{
font-size:1.1rem}

}

@media (max-width:575.98px){
#campus-trail{
padding:2rem 1rem}

.campus-trail-glass{
padding:1.5rem!important}

.trail-container{
gap:1rem}

.trail-map-container{
height:250px}

.trail-panel{
padding:1rem}

}

.testimonials-section-glass{
padding:60px 0;
position:relative;
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border-top:1px solid rgba(255,255,255,.2);
border-bottom:1px solid rgba(255,255,255,.2);
box-shadow:0 20px 60px rgba(0,0,0,.35);
color:#fff;
overflow:hidden;
z-index:1}

.testimonials-section-glass::before{
content:'';
position:absolute;
width:300px;
height:300px;
background:rgba(93,7,255,.25);
border-radius:50%;
filter:blur(80px);
top:-100px;
left:-50px;
z-index:-1;
animation:blob 20s ease-in-out infinite}

.testimonials-section-glass::after{
content:'';
position:absolute;
width:250px;
height:250px;
background:rgba(93,7,255,.25);
border-radius:50%;
filter:blur(80px);
bottom:-50px;
right:-50px;
z-index:-1;
animation:blob 20s ease-in-out infinite;
animation-delay:2s}

.glass-container{
position:relative;
max-width:1400px;
margin:0 auto;
padding:0 20px;
z-index:1}

.testimonials-header-glass{
text-align:center;
margin-bottom:40px}

.testimonials-subtitle-glass{
color:rgba(255,255,255,.7);
font-size:18px;
font-weight:500;
margin-bottom:16px;
letter-spacing:1px;
text-transform:uppercase}

.testimonials-title-glass{
color:#fff;
font-size:56px;
font-weight:700;
line-height:1.1;
margin:0;
background:linear-gradient(135deg,#fff 0,#e2e8f0 100%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text}

.testimonials-wrapper-glass{
position:relative;
overflow-x:auto;
overflow-y:hidden;
border-radius:24px;
background:linear-gradient(135deg,rgba(255,255,255,.15) 0,rgba(255,255,255,.05) 100%);
border:1px solid rgba(255,255,255,.2);
backdrop-filter:blur(20px) saturate(180%);
-webkit-backdrop-filter:blur(20px) saturate(180%);
box-shadow:0 32px 64px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.2);
padding:20px;
-webkit-overflow-scrolling:touch;
scrollbar-width:thin;
scrollbar-color:rgba(255,215,0,0.5) transparent}

.testimonials-wrapper-glass::-webkit-scrollbar{
height:1px}

.testimonials-wrapper-glass::-webkit-scrollbar-track{
background:0 0;
border-radius:1px}

.testimonials-wrapper-glass::-webkit-scrollbar-thumb{
background:linear-gradient(90deg,rgba(255,215,0,.9),#ffc107);
border-radius:1px;
box-shadow:0 0 3px rgba(255,215,0,.8),0 0 6px rgba(255,215,0,.6),0 0 9px rgba(255,215,0,.4),0 0 12px rgba(255,215,0,.3);
border:none}

.testimonials-wrapper-glass::-webkit-scrollbar-thumb:hover{
background:linear-gradient(90deg,gold,#ffc107);
box-shadow:0 0 4px gold,0 0 8px rgba(255,215,0,.8),0 0 12px rgba(255,215,0,.6),0 0 16px rgba(255,215,0,.4),0 0 20px rgba(255,215,0,.2)}

.testimonials-slider-glass{
display:flex;
gap:20px;
width:max-content;
transform:none!important}

.testimonial-cover-glass{
flex:0 0 auto;
width:300px;
height:420px;
position:relative;
border-radius:20px;
overflow:hidden;
cursor:pointer;
background:linear-gradient(135deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.04) 100%);
border:1px solid rgba(255,255,255,.15);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
transition:transform .25s ease,box-shadow .35s ease,border-color .35s ease;
box-shadow:0 10px 30px rgba(0,0,0,.25)}

.testimonial-cover-glass::before{
content:"";
position:absolute;
inset:-1px;
border-radius:inherit;
background:linear-gradient(135deg,rgba(0,229,255,.35),rgba(167,139,250,.35) 60%,rgba(255,110,196,.35));
opacity:0;
pointer-events:none;
transition:opacity .35s ease;
z-index:0}

.testimonial-cover-glass::after{
content:"";
position:absolute;
left:-60%;
top:0;
width:60%;
height:100%;
background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));
transform:skewX(-12deg);
filter:blur(.5px);
opacity:0;
transition:transform .6s ease,opacity .6s ease;
z-index:1}

.testimonial-cover-glass:hover{
transform:translateY(-4px);
box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06) inset;
border-color:rgba(255,255,255,.28)}

.testimonial-cover-glass:hover::before{
opacity:1}

.testimonial-cover-glass:hover::after{
opacity:1;
transform:translateX(220%) skewX(-12deg)}

.cover-image-glass{
width:100%;
height:100%;
object-fit:cover;
transition:transform .4s ease;
position:relative;
z-index:2}

.testimonial-cover-glass:hover .cover-image-glass{
transform:scale(1.05)}

.testimonial-cover-glass .image-overlay{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(180deg, transparent 0, rgb(0 0 0 / 8%) 70%, rgba(0, 0, 0, .7) 100%);
z-index:3;
transition:opacity .3s ease}

.play-overlay-glass{
position:absolute;
top:75%;
left:50%;
transform:translate(-50%,-50%);
width:40px;
height:40px;
background:rgba(255,255,255,.2);
border:2px solid rgba(255,255,255,.4);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:all .3s ease;
z-index:2}

.testimonial-cover-glass:hover .play-overlay-glass{
background:rgba(255,255,255,.3);
border-color:rgba(255,255,255,.6);
transform:translate(-50%,-50%) scale(1.1)}

.play-overlay-glass svg{
color:#fff;
margin-left:4px}

.student-name-glass{
position:absolute;
bottom:20px;
left:20px;
right:20px;
color:#fff;
font-size:18px;
font-weight:600;
text-align:center;
z-index:2;
text-shadow:0 2px 8px rgba(0,0,0,.5)}

.testimonials-nav-container{
display:flex;
justify-content:center;
align-items:center;
gap:30px;
margin-top:40px}

.nav-arrow-glass{
position:relative;
width:45px;
height:45px;
background:linear-gradient(135deg,rgba(255,215,0,.3) 0,rgba(255,193,7,.2) 100%);
border:2px solid rgba(255,215,0,.4);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:gold;
cursor:pointer;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:all .3s ease;
z-index:3;
font-size:14px;
box-shadow:0 6px 12px rgba(0,0,0,.2),0 0 15px rgba(255,215,0,.3)}

.nav-arrow-glass::before{
content:"";
position:absolute;
inset:-2px;
border-radius:50%;
background:linear-gradient(135deg,rgba(255,215,0,.6) 0,rgba(255,193,7,.4) 50%,rgba(255,215,0,.6) 100%);
opacity:0;
transition:opacity .3s ease;
z-index:-1}

.nav-arrow-glass:hover{
background:linear-gradient(135deg,rgba(255,215,0,.5) 0,rgba(255,193,7,.3) 100%);
border-color:rgba(255,215,0,.8);
transform:scale(1.1);
box-shadow:0 12px 24px rgba(0,0,0,.3),0 0 30px rgba(255,215,0,.6),0 0 50px rgba(255,215,0,.4);
color:#fff}

.nav-arrow-glass:hover::before{
opacity:1}

.glass-modal{
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
z-index:1060;
display:none;
align-items:center;
justify-content:center;
padding:0;
box-sizing:border-box}

.glass-modal.active{
display:flex}

.glass-modal-backdrop{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(135deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.75) 50%,rgba(0,0,0,.85) 100%);
backdrop-filter:blur(25px) saturate(120%);
-webkit-backdrop-filter:blur(25px) saturate(120%)}

.glass-modal-content{
position:relative;
width:95vw;
max-width:1200px;
height:80vh;
max-height:800px;
min-width:800px;
min-height:500px;
 margin:auto;
background:linear-gradient(135deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.08) 50%,rgba(255,255,255,.12) 100%);
border:1px solid rgba(255,255,255,.25);
border-radius:28px;
backdrop-filter:blur(25px) saturate(200%);
-webkit-backdrop-filter:blur(25px) saturate(200%);
box-shadow:0 40px 80px rgba(0,0,0,.6),0 16px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.1);
overflow:hidden;
animation:modalSlideIn .5s cubic-bezier(.34,1.56,.64,1)}

@keyframes modalSlideIn{
from{
opacity:0;
transform:scale(.9) translateY(20px)}

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

}

.glass-modal-close{
position:absolute;
top:20px;
right:20px;
width:48px;
height:48px;
background:rgba(255,255,255,.2);
border:1px solid rgba(255,255,255,.3);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
cursor:pointer;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:all .3s ease;
z-index:10}

.glass-modal-close:hover{
background:rgba(255,255,255,.3);
border-color:rgba(255,255,255,.5);
transform:scale(1.05)}

.glass-modal-nav{
position:absolute;
top:50%;
transform:translateY(-50%);
width:56px;
height:56px;
background:rgba(255,255,255,.15);
border:1px solid rgba(255,255,255,.25);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
cursor:pointer;
pointer-events:auto;
backdrop-filter:blur(15px) saturate(180%);
-webkit-backdrop-filter:blur(15px) saturate(180%);
transition:all .3s cubic-bezier(.4, 0, .2, 1);
z-index:1001;
box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2)}

.glass-modal-prev{
left:20px}

.glass-modal-next{
right:20px}

.glass-modal-nav:hover{
background:rgba(255,255,255,.25);
border-color:rgba(255,255,255,.4);
transform:translateY(-50%) scale(1.05);
box-shadow:0 12px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.3)}

.glass-modal-nav:active{
transform:translateY(-50%) scale(.95)}

.glass-video-container{
width:100%;
height:100%;
display:flex;
align-items:center;
justify-content:center;
padding:40px 40px 40px 40px;
box-sizing:border-box}

.glass-video-container iframe{
width:100%;
height:100%;
min-width:720px;
min-height:405px;
border-radius:20px;
aspect-ratio:16/9}

@media (max-width:1024px){
.testimonial-cover-glass{
width:350px;
height:480px}

.testimonials-title-glass{
font-size:48px}

.testimonials-wrapper-glass{
padding:30px}

.glass-modal-content{
width:90vw;
height:70vh;
min-width:600px;
min-height:400px}

.glass-video-container{
padding:30px 30px 30px 30px}

.glass-video-container iframe{
min-width:540px;
min-height:304px}

}

@media (max-width:768px){
.testimonials-section-glass{
padding:80px 0}

.testimonials-wrapper-glass{
padding:20px;
scrollbar-width:none;
-ms-overflow-style:none}

.testimonials-wrapper-glass::-webkit-scrollbar{
display:none}

.testimonials-slider-glass{
gap:15px}

.testimonial-cover-glass{
width:280px;
min-width:280px;
height:380px}

.play-overlay-glass{
width:60px;
height:60px}

.student-name-glass{
font-size:16px;
bottom:15px;
left:15px;
right:15px}

.testimonials-nav-container{
display:none}

.glass-modal-content{
width:95vw;
height:60vh;
min-width:320px;
min-height:300px}

.glass-video-container{
padding:20px 20px 20px 20px}

.glass-video-container iframe{
min-width:280px;
min-height:158px}

}

@media (max-width:480px){
.testimonials-header-glass{
margin-bottom:60px}

.testimonials-title-glass{
font-size:28px}

.glass-container{
padding:0 15px}

.testimonials-wrapper-glass{
padding:15px}

}

html{scroll-behavior:smooth}

.banner-carousel{position:relative}
.banner-carousel .bc-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s ease;z-index:2}
.banner-carousel .bc-prev{left:12px}
.banner-carousel .bc-next{right:12px}
.banner-carousel .bc-nav:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:translateY(-50%) scale(1.05)}
.banner-carousel .bc-nav i{font-size:20px;line-height:1}

.faq-accordion{
display:grid;
gap:1rem}

.faq-item{
position:relative;
border-radius:1.2rem;
overflow:hidden;
background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
border:1px solid rgba(255,255,255,.22);
backdrop-filter:blur(16px) saturate(180%);
-webkit-backdrop-filter:blur(16px) saturate(180%);
box-shadow:0 24px 72px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.18);
transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}

.faq-item::before{
content:"";
position:absolute;
inset:-1px;
border-radius:inherit;
background:linear-gradient(135deg,rgba(0,229,255,.35),rgba(167,139,250,.35) 60%,rgba(255,110,196,.35));
opacity:0;
pointer-events:none;
transition:opacity .35s ease}

.faq-item::after{
content:"";
position:absolute;
left:-60%;
top:0;
width:60%;
height:100%;
background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));
transform:skewX(-12deg);
filter:blur(.5px);
opacity:0;
transition:transform .6s ease,opacity .6s ease}

.faq-item:hover{
transform:translateY(-4px);
box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06) inset;
border-color:rgba(255,255,255,.28)}

.faq-item:hover::before{
opacity:1}

.faq-item:hover::after{
opacity:1;
transform:translateX(220%) skewX(-12deg)}

.faq-header{
display:grid;
grid-template-columns:1fr auto;
align-items:center;
gap:.5rem;
padding:1rem 1.25rem}

.faq-title{
margin:0;
color:#fff;
font-weight:700;
letter-spacing:.2px;
font-size:clamp(1rem, 2.5vw, 1.15rem);
text-shadow:0 1px 12px rgba(0,0,0,.35)}

.faq-toggle{
width:48px;
height:48px;
border-radius:12px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.28);
background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
box-shadow:0 12px 36px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.3);
color:#fff;
font-weight:800;
font-size:1.6rem;
line-height:1;
cursor:pointer;
transition:all .25s ease;
position:relative;
z-index:10;
user-select:none;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none}

.faq-toggle:hover{
background:rgba(255,255,255,.22)}

.faq-toggle .toggle-icon{
display:inline-block;
width:1em;
text-align:center}

.faq-panel{
padding:1.25rem 1.2rem;
color:rgba(255,255,255,.9);
line-height:1.6;
font-size:1rem;
border-top:1px solid rgba(255,255,255,.14);
background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
/* max-height:200px; */
overflow:hidden;
opacity:1;
transition:max-height .3s ease,opacity .3s ease,padding .3s ease}

.faq-panel[hidden]{
max-height:0;
opacity:0;
padding:0 1.25rem;
border-top:none}

.faq-item.open{
box-shadow:0 20px 60px rgba(0,0,0,.4);
border-color:rgba(255,255,255,.28)}

.faq-item.open .faq-toggle{
border-color:rgba(255,255,255,.5)}

@media (max-width:575.98px){
.faq-toggle{
width:44px;
height:44px;
font-size:1.5rem}

.faq-header{
padding:.85rem 1rem}

.faq-panel{
padding:0 1rem 1rem;
font-size:.95rem}

}

.banner-black{
background-color:#000;
position:relative;
isolation:isolate;
padding-top:100px;
padding-bottom:60px}

.glow-divider{
position:relative;
height:1px;
border:0;
margin:0;
background:linear-gradient(90deg,rgba(154,88,255,0) 0,rgba(154,88,255,.85) 50%,rgba(154,88,255,0) 100%)}

.glow-divider::before{
content:"";
position:absolute;
left:50%;
transform:translateX(-50%);
top:-1px;
width:min(96%,1200px);
height:14px;
pointer-events:none;
border-radius:999px;
will-change:opacity,box-shadow;
background:radial-gradient(50% 80% at 50% 0,rgba(154,88,255,.35),rgba(154,88,255,0) 70%);
box-shadow:0 0 16px rgba(154,88,255,.3),0 0 36px rgba(154,88,255,.22),0 0 72px rgba(154,88,255,.12);
animation:softGlow 1.6s ease-in-out infinite alternate}

@keyframes softGlow{
0%{
opacity:.85;
box-shadow:0 0 16px rgba(154,88,255,.3),0 0 32px rgba(154,88,255,.22),0 0 64px rgba(154,88,255,.12)}

100%{
opacity:1;
box-shadow:0 0 20px rgba(154,88,255,.38),0 0 40px rgba(154,88,255,.28),0 0 82px rgba(154,88,255,.18)}

}

@media (prefers-reduced-motion:reduce){
.glow-divider::before{
animation:none}

}

#uspModalBody {
    text-align: justify;
}

header .navbar .nav-link{background:transparent!important;border:none!important;border-radius:0!important;padding:.25rem .5rem;color:#fff;text-decoration:none}
header .navbar .nav-link:hover{color:#ffc107}
#faqs .faq-panel, #faqs .faq-panel li{ text-align:justify; }


/* Banner Hero — Neon semi-circle with curved grid overlay
   Custom properties allow tuning of glow intensity and grid appearance.
   Documentation:
   - --banner-bg: Background color of banner area.
   - --glow-purple: Core purple glow color.
   - --glow-opacity: Overall opacity applied to the glow aura.
   - --glow-blur: Blur radius for feathering the glow.
   - --glow-width: Logical width of the semi-circle (responsive via clamp).
   - --grid-color: Color used for grid lines.
   - --grid-spacing: Spacing between concentric arc lines.
   - --grid-spoke-deg: Angular spacing between radial spokes.
*/

:root {
  --banner-bg: #000000;
  --glow-purple: #9D00FF;
  --glow-opacity: 0.45;
  --glow-blur: 9px;
  --glow-width: clamp(420px, 72vw, 1420px);
  --grid-color: rgb(19, 19, 19);
  --grid-spacing: 90px;
  --grid-spoke-deg: 6deg;
}

.banner-hero {
  background-color: var(--banner-bg);
  background-image:
    url('../images/back14.png'),
    repeating-linear-gradient(
      to right,
      var(--grid-color) 0 1px,
      transparent 1px var(--grid-spacing)
    ),
    repeating-linear-gradient(
      to bottom,
      rgba(51,51,51,0.25) 0 1px,
      transparent 1px var(--grid-spacing)
    );
  background-size: cover, auto, auto;
  background-position: center, center, center;
  background-repeat: no-repeat, repeat, repeat;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

/* Curved grid overlay (above glow, below content) */
.banner-hero::before { content: none !important; }

/* Semi-circular purple glow */
.banner-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 0;
  width: var(--glow-width);
  aspect-ratio: 2 / 1;
  background:
    radial-gradient(closest-side at 50% 100%,
      transparent calc(99.2% - 1px),
      rgba(255,255,255,0.9) 99.2%,
      transparent 100%
    ),
    radial-gradient(circle at 50% 100%,
      rgba(157,0,255,0.50) 0%,
      rgba(157,0,255,0.35) 42%,
      rgba(157,0,255,0.18) 64%,
      rgba(157,0,255,0.00) 78%
    );
  -webkit-filter: blur(var(--glow-blur));
  filter: blur(var(--glow-blur));
  box-shadow:
    0 0 32px rgba(157,0,255,0.28),
    0 0 72px rgba(157,0,255,0.22);
  -webkit-mask-image: radial-gradient(closest-side at 50% 100%, #000 99.7%, transparent 100%);
  mask-image: radial-gradient(closest-side at 50% 100%, #000 99.7%, transparent 100%);
  opacity: var(--glow-opacity);
}

/* Content stacking above the effects */
.banner-hero > * { position: relative; z-index: 2; }
.banner-hero .neon-divider,
.banner-hero .neon-divider__particles { z-index: 1; }

/* Responsive tuning */
@media (max-width: 576px) {
  :root { --glow-width: clamp(360px, 82vw, 1080px); }
}
@media (min-width: 992px) {
  :root { --glow-width: clamp(560px, 64vw, 1680px); }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  .banner-hero::after { transition: none; }
}

/* Fallback for browsers without mask support */
@supports not (mask-image: radial-gradient(closest-side at 50% 100%, #000 99.7%, transparent 100%)) {
  .banner-hero::before,
  .banner-hero::after {
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
    overflow: hidden;
  }
}

/* Neon Divider under banner */
:root {
  --divider-glow-intensity: 1;
  --divider-line-width: 8px;
  --divider-pulse: 0.8s;
  --divider-band-height: clamp(48px, 8vw, 88px);
}

.neon-divider {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transform: none;
  display: block;
  pointer-events: none;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0;
  height: 5px;
}

.neon-divider::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -30%);
  width: 80%;
  height: var(--divider-line-width);
  background:
    linear-gradient(
      to bottom,
      transparent calc(50% - 0.5px),
      #9d00fffa calc(50% - 0.2px) calc(50% + 0.5px),
      transparent calc(50% + 0.5px)
    ),
    linear-gradient(
      to right,
      rgba(157,0,255,0.00) 0%,
      rgba(157,0,255,0.58) 20%,
      rgba(230, 189, 255, 0.98) 50%,
      rgba(157,0,255,0.58) 80%,
      rgba(157,0,255,0.00) 100%
    );
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.neon-divider::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(50% - 0.5px);
  transform: translateX(-50%);
  width: 100vw;
  aspect-ratio: 2 / 1;
  pointer-events: none;
  background:
    radial-gradient(closest-side at 50% 100%,
      transparent calc(99.0% - 2px),
      rgba(157,0,255,0.45) 99.0%,
      rgba(157,0,255,0.18) 99.6%,
      transparent 100%
    ),
    radial-gradient(circle at 50% 100%,
      rgba(157,0,255,0.25) 0%,
      rgba(157,0,255,0.15) 38%,
      rgba(157,0,255,0.08) 62%,
      rgba(157,0,255,0.0) 74%
    );
  -webkit-filter: blur(9px);
  filter: blur(9px);
  box-shadow:
    0 0 calc(22px * var(--divider-glow-intensity)) rgba(157,0,255,0.22),
    0 0 calc(44px * var(--divider-glow-intensity)) rgba(157,0,255,0.15),
    0 0 calc(88px * var(--divider-glow-intensity)) rgba(157,0,255,0.10);
  -webkit-mask-image: radial-gradient(closest-side at 50% 100%, #000 99.7%, transparent 100%), linear-gradient(to top, #fff 60%, transparent 100%);
  mask-image: radial-gradient(closest-side at 50% 100%, #000 99.7%, transparent 100%), linear-gradient(to top, #fff 60%, transparent 100%);
  animation: dividerPulse var(--divider-pulse) ease-in-out infinite;
}

@keyframes dividerPulse {
  0%, 100% { opacity: 0.9; -webkit-filter: blur(8px); filter: blur(8px); }
  50% { opacity: 1; -webkit-filter: blur(9px); filter: blur(9px); }
}

.neon-divider__particles { 
  position: absolute; 
  left:0; right:0; 
  bottom:0; 
  height: var(--divider-band-height); 
  pointer-events: none; 
  -webkit-mask-image: linear-gradient(to top, #000 0%, #000 60%, transparent 100%); 
  mask-image: linear-gradient(to top, #000 0%, #000 60%, transparent 100%); 
}
.neon-firefly { 
  position: absolute; 
  width: 4px; 
  height: 4px; 
  border-radius: 50%; 
  background: #9D00FF; 
  box-shadow: 0 0 8px rgba(157,0,255,0.9), 0 0 14px rgba(157,0,255,0.6); 
  opacity: 0.85; 
  will-change: transform, opacity; 
}

@media (max-width: 765px) {
  :root { --divider-band-height: clamp(32px, 7vw, 56px); --divider-line-width: 6px; }
  .neon-firefly { width: 3px; height: 3px; }
  .neon-divider::before { width: clamp(200px, 74vw, 640px); }
  .banner-hero {
    background-image:
      url('../images/back-mb2.png'),
      repeating-linear-gradient(
        to right,
        var(--grid-color) 0 1px,
        transparent 1px var(--grid-spacing)
      ),
      repeating-linear-gradient(
        to bottom,
        rgba(51,51,51,0.25) 0 1px,
        transparent 1px var(--grid-spacing)
       );
    background-size: cover, auto, auto;
    background-position: center, center, center;
    background-repeat: no-repeat, repeat, repeat;
  }
  .banner-hero .bc-nav { display: none; }
}
/* Force remove Campus Trail visually */
#campus-trail { display: none !important; }
.banner-carousel { position: relative; width: 100%; max-width: 1600px; overflow: hidden; }
.bc-track { display: flex; width: 100%; transition: transform 500ms ease; will-change: transform; }
.bc-slide { flex: 0 0 100%; min-width: 100%; position: relative; overflow: hidden; }
.bc-slide img { width: 100%; height: auto; object-fit: cover; display: block; }
.bc-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.2); backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,0.35); z-index: 3; cursor: pointer; }
.bc-prev { left: 10px; }
.bc-next { right: 10px; }
.bc-nav:hover { background: rgba(255,255,255,0.35); }
.bc-dots { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); display: flex; gap: 8px; z-index: 3; }
.bc-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.4); cursor: pointer; }
.bc-dot.is-active { background: #9D00FF; }
.banner-hero .image-scroll { position: relative; overflow: hidden; width: 100%; }
.banner-hero .image-scroll-track { display: flex; width: 200%; will-change: transform; }
.banner-hero .image-scroll-track img { width: 50%; height: auto; object-fit: cover; display: block; -webkit-transform: translateZ(0); transform: translateZ(0); image-rendering: auto; }