:root{
    --primary-color: #FFFFFF;
    --secondary-color: #1C418C;
    --third-color: #082869;
    --fourth-color: #000000;
    --fifth-color: #FFFFFF1A;
    --sixth-color: #000B21C7;
    --seventh-color: #ffffff4e;
    --transition-color: rgba(255, 255, 255, .5);
    --logo-url: url(/images/logo-trans.svg);
    --font-1: 'Inter', sans-serif;
    --font-2: 'Poppins', sans-serif;
}
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    background: var(--primary-color);
}

::-webkit-scrollbar-thumb {
    background: var(--secondary-color);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--third-color);
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body{
    background-color: var(--primary-color);
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
}
#About-us,#Services,#Why-choose-us,#Gallery,#Testimonials,#Contact-us{
    margin-top: -100px;
    padding-bottom: 100px;
    visibility: hidden;
}
#intro-layer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  pointer-events: auto;
}
#transition-layer {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: var(--transition-color);
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    backdrop-filter: blur(10px) saturate(60%);
    -webkit-backdrop-filter: blur(10px) saturate(60%);
}
#intro-mask-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transform-origin: center center;
}

.scroll-prompt {
  position: absolute;
  bottom: 8%;
  color: var(--primary-color);
  font-family: sans-serif;
  letter-spacing: 2px;
  animation: fadeSlide 2s infinite;
  pointer-events: none;
  font-family: var(--font-1);
  font-weight: 700;
}

@keyframes fadeSlide {
  0% { opacity: 0; transform: translateY(0); }
  50% { opacity: 1; }
  100% { opacity: 0; transform: translateY(20px); }
}

#logo-group {
  transform: scale(0.35);
  transform-origin: center center;
  transform-box: fill-box;
}


.custom-toggler {
    border: none !important;
    padding: .5rem;
    position: relative;
    z-index: 1000;
}

.custom-toggler .toggler-line {
    display: block;
    width: 26px;
    height: 2px;
    margin: 6px 0;
    background-color: var(--fourth-color);
    transition: all .4s ease;
}

.custom-toggler.active .toggler-line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.custom-toggler.active .toggler-line:nth-child(2) {
    opacity: 0;
}
.custom-toggler.active .toggler-line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}
.navbar{
    position: relative;
    background: transparent;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all .4s ease-in-out;
    will-change: background, backdrop-filter;
    backdrop-filter: blur(0px) saturate(0%);
    -webkit-backdrop-filter: blur(0px) saturate(0%);
}
.number{
    position: absolute;
    top: 20px;
    right: 30px;
}
.number a{
    text-decoration: none;
    color: var(--secondary-color);
    border: 3px solid var(--secondary-color);
    padding: 4% 8%;
    white-space: nowrap;
    border-radius: 25px;
    font-family: var(--font-1);
    font-weight: 900;
    transition: all .4s ease-in-out;
    will-change: background, color, box-shadow, transform, border-color;
}
.number a:hover{
    background: var(--secondary-color);
    color: var(--primary-color);
    box-shadow: 0px 0px 8px 4px var(--secondary-color);
    transform: scale(1.05);
    border-color: var(--primary-color);
}

.navbar.scrolled{
    background: var(--seventh-color);
    backdrop-filter: blur(10px) saturate(60%);
    -webkit-backdrop-filter: blur(10px) saturate(60%);
}

#brandlogoo{
    width: 130px;
    height: auto;
    transition: all .1s ease-out;
}

.navbar-nav{
    margin: 0 0 0 auto;
}

#atag{
    color: var(--secondary-color);
    transition: all .4s ease-in-out;
    will-change: background-color, color;
    border-radius: 25px;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-1);
    font-weight: 700;
}

#atag:hover{
    background-color: var(--secondary-color);
    color: var(--primary-color);
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: auto;
    left: auto;
    z-index: 1000;
    opacity: 0;
    transition: all 0.3s ease;
    transform: translateY(-10px);
}

.nav-item:hover .dropdown-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    background: var(--secondary-color);
    border: 3px solid var(--primary-color) !important;
}

.dropdown-item {
    padding: 0.5rem 1rem !important;
    color: var(--primary-color) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: all .2s;
}

.dropdown-item:hover {
    background-color: var(--primary-color) !important;
    color: var(--secondary-color) !important;
}

#home-1{
    padding: 4% 6%;
}
#hero-content{
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: center;
    gap: 10px;
    padding: 0 15% 0 0;
}
#hero-content img{
    width: 50%;
    height: auto;
    margin: 0 0 0 auto;
}
.cta-flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cta-flex a{
    text-decoration: none;
    color: var(--secondary-color);
    border: 3.5px solid var(--secondary-color);
    border-radius: 25px;
    white-space: nowrap;
    padding: 2% 4%;
    font-family: var(--font-1);
    font-weight: 800;
    transition: all .4s ease-in-out;
    will-change: background, color, box-shadow, transform, border-color;
}
.cta-flex a:hover{
    background: var(--secondary-color);
    color: var(--primary-color);
    box-shadow: 0px 0px 8px 4px var(--secondary-color);
    transform: scale(1.05);
    border-color: var(--primary-color);
}
#hero-content h1{
    color: var(--third-color);
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
#hero-content p{
    font-family: var(--font-2);
    font-weight: 300;
    color: var(--fourth-color);
}
#hero-img{
    display: flex;
    align-items: center;
    justify-content: center;
}
#hero-img img{
    width: 100%;
    height: auto;
    margin: auto;
}
#home-2{
    padding: 3% 6%;
    background: var(--secondary-color);
}
#mem{
    display: flex;
    align-items: center;
    justify-content: center;
}
#mem img{
    width: 100%;
    height: auto;
    transform: scale(.8);
    will-change: filter;
    transition: all .4s ease-in-out;
}
#mem img:hover{
    filter: drop-shadow(0px 0px 23px #FFFFFF80)
}

#home-3{
    position: relative;
    overflow: hidden;
    padding: 4% 6%;
    z-index: 0;
}

#home-3::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: url("/images/bg-1.png") center top / cover no-repeat;
    transform: translateY(0);
    will-change: transform;
    z-index: -1;
}
#home-3::before{
    transform: translateY(var(--parallax-shift, 0px));
}
.title{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    margin-bottom: 75px;
}
.title h1{
    margin: 0;
    padding: 0;
    font-family: var(--font-1);
    font-weight: 300;
    font-style: italic;
}
#about-content{
    padding-right: 10%;
}
#about-content h1,#about-content h4{
    color: var(--secondary-color);
    font-family: var(--font-1);
    font-weight: 900;
}
#about-content p{
    color: var(--fourth-color);
    font-family: var(--font-1);
    font-weight: 400;
}
#about-img{
    display: flex;
    align-items: center;
    justify-content: center;
}
#about-img img{
    width: 100%;
    height: auto;
    margin: auto;
}
#home-4{
    background: var(--secondary-color);
    padding: 4% 6% 10% 6%;
}
#service {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start; 
    gap: 20px;
    width: 100%;
}
.s-img {
    position: relative;             
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    padding-top: 50px;
    width: 90%;
    min-height: 400px; 
    border-radius: 25px;
    z-index: 2;
    isolation: isolate;
    margin-bottom: -150px;
}

.s-img::before,
.s-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--fifth-color);
    border-radius: 25px;
    pointer-events: none;
}

.s-img::before {
    transform: scale(1.06);
    filter: blur(3.5px);
    z-index: 0;
}

.s-img::after {
    filter: blur(3.5px);
    z-index: 1;
}
.s-img img {
    height: 300px;
    width: auto;
    object-fit: contain;
}

.s-img h2 {
    margin: 20px 0 30px 0;
    color: var(--primary-color);
    font-family: var(--font-1);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.5rem;
}

.s-head {
    position: relative;
    width: 90%;
    height: 100%;
    min-height: 450px; 
    padding: 150px 0 5px 0;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 15px;
    z-index: 1;      
}

.s-head::before {
    border-radius: 25px;
    content: "";
    position: absolute;
    inset: 0;                        
    background: var(--fifth-color);
    filter: blur(3.5px);
    z-index: 0;                      
    pointer-events: none;       
    transform: scale(1.06);     
}
.s-head h3 {
    margin: 0 0 25px 0;
    padding: 30px 10% 0 10%;
    text-align: left;
    font-family: var(--font-1);
    font-weight: 900;
    font-size: 1.3rem;
    
    /* Gradient Text Setup */
    background: linear-gradient(270deg, var(--fourth-color), var(--secondary-color));
    background-size: 400% 400%; /* Makes animation smoother */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientAnimation 3s ease infinite;
    z-index: 3;
}

/* Keyframes for gradient movement */
@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.s-point img{
    margin: 0;
}
.s-point {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 10%;
}
.s-point p {
    color: var(--primary-color);
    font-family: var(--font-1);
    font-weight: 900;
    font-size: .9rem;
    margin: 0;
}
#ser-p {
    color: var(--primary-color);
    font-family: var(--font-2);
    font-weight: 400;
    padding: 0 10%;
    margin-top: 25px; 
}
/* --------------------------------- */
#gal-img{
    display: grid;
    align-items: center;
    justify-content: center;
    background: transparent;
}
#home-5{
    padding: 4%;
}
.out-box{
    background: var(--secondary-color);
    padding: 4%;
    border-radius: 25px;
    box-shadow: 0px 16px 16px 0px #000000;
}
.in-box{
    position: relative;
    overflow: hidden;
    padding: 4% 6%;
    z-index: 1;
    border-radius: 25px;
    box-shadow: 0px 16px 16px 0px #000000;
}

.in-box::before{
    border-radius: 25px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: url("/images/bg-2.png") center top / cover no-repeat;
    transform: translateY(0);
    will-change: transform;
    z-index: -1;
}
.in-box::after{
    border-radius: 25px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--sixth-color);
    z-index: 0;
}
.in-box::before{
    transform: translateY(var(--parallax-shift, 0px));
}
#why-points{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 40px;
    z-index: 2;
}
.bullets{
    color: var(--primary-color);
    font-size: 1.5rem;
    font-family: var(--font-1);
    font-weight: 700;
    font-style: italic;
}
#why-certs{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 50px;
    z-index: 2;
}
#why-certs a{
    text-decoration: none;
}
#why-certs a img{
    width: 100%;
    height: auto;
    transition: all .4s ease-in-out;
    will-change: transform;
}
#why-certs a img:hover{
    transform: scale(.95);
}
#home-6{
    padding: 4% 6% 2% 6%;
    background: var(--secondary-color);
}
#home-6 p{
    color: var(--primary-color);
    text-align: center;
    margin-top: 50px;
    font-size: 1.7rem;
    font-family: var(--font-1);
    font-weight: 400;
}
.gallery-grid {
    column-count: 4;
    column-gap: 10px;
    height: 100%;
}

.g-item img {
    width: 100%;
    height: 100%;
    display: block;
    margin-bottom: 10px;
    break-inside: avoid;
    object-fit: cover;
    margin: auto;
    cursor: pointer;
    transition: opacity .2s ease;
}
.g-item:hover{
    opacity: .7;
    border-radius: 30px;
    box-shadow: 0px 0px 8px 4px var(--primary-color);
}
.g-item{
    background: #335498;
    padding: 10px;
    border-radius: 40px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: all .4s ease;
    will-change: opacity,border-radius,box-shadow;
}
/* Overlay */
.image-overlay {
    position: fixed;
    inset: 0;
    background: var(--seventh-color);
    backdrop-filter: blur(10px) saturate(60%);
    -webkit-backdrop-filter: blur(10px) saturate(60%);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.image-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.overlay-image {
    position: fixed;
    will-change: transform;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 6px;
    z-index: 9999;
}

.overlay-close {
    position: fixed;
    top: 24px;
    right: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-family: var(--font-2);
    font-weight: 300;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    color: var(--primary-color);
    background: var(--secondary-color);
    cursor: pointer;
    z-index: 10000;
    opacity: 0;
    transition: all 0.3s ease;
    will-change: opacity, background;
}

.overlay-close:hover{
    background: var(--fourth-color);
}

.image-overlay.active .overlay-close {
    opacity: 1;
}
#home-7{
    padding: 4% 6%;
}      
#gal-img{
    background: #dbe3f0;
    border: 10px solid #B5C4E0;
    border-radius: 25px;
    padding: 4% 6%;
    height: 400px;
    overflow: hidden;
}
#gal-img img{
    width: 40%;
    height: auto;
    transition: .4s;
    margin: 0 auto 25px auto;
}
#gal-img h4,#gal-img p{
    text-align: left;
}
#gal-img h4{
    font-family: var(--font-1);
    font-weight: 700;
    font-style: italic;
    color: var(--secondary-color);
    font-size: 1.5rem;
    line-height: 1;       
    text-transform: capitalize;
    height: calc(2rem * 2);
}
#gal-img p{
    font-size: 1rem;
    padding-left: unset;
    font-family: var(--font-1);
    font-weight: 700;
    font-style: italic;
    height: 200px;
    padding: 0 3% 0 0;
    overflow-y: scroll;
}

.slider-container{
    width: 100%;
    height: fit-content;
    overflow: hidden;
}
.slider-content {
    display: flex;
    transition: transform 1s ease;
}
.slider-slide {
    flex: 0 0 33.3333%;
    padding: 0 15px;
    box-sizing: border-box;
}
.slider-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--secondary-color);
    margin: 0 5px;
    cursor: pointer;
    z-index: 3;
    transition: all .4s ease-in-out;
    will-change: background-color,border-radius;
}
.slider-dot.active,.slider-dot:hover{
    background: var(--fourth-color);
    border-radius: 35%;
}
  
.slider-buttons{
    display: flex;
    align-items: center;
    justify-content: right;
    column-gap: 5px;
    padding-right: 10px;
    margin-bottom: 10px;
}
.slider-prev, .slider-next {
    border-radius: 50%;
    background: var(--seventh-color);
    border: 1px solid var(--secondary-color);
    height: 50px;
    width: 50px;
    transition: all .4s;
    cursor: pointer;
    z-index: 100;
    margin: 2px;
    display: none;
}

.slider-prev:hover, .slider-next:hover {
    border: 5px solid var(--text-color3);
    transform: scale(.95);
}

#home-8{
    padding: 4% 6% 1% 6%;
    background: var(--secondary-color);
}
#contact-details{
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: flex-start;
    gap: 50px;
}
#cdp{
    color: var(--primary-color);
    font-size: 1.4rem;
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
.social-links{
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.social-links p{
    color: var(--primary-color);
    font-size: 1.2rem;
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
.social-links p a{
    color: var(--primary-color);
    text-decoration: none;
    transition: all .4s ease-in-out;
    will-change: filter, text-decoration;
}
.social-links p a:hover{
    text-decoration: underline;
    filter: drop-shadow(0px 0px 5px #FFFFFF);
}
.social-flex{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 15px;
}
.social-flex a{
    text-decoration: none;
}
.social-flex a img{
    width: 50px;
    height: auto;
    transition: all .4s ease-in-out;
    will-change: filter, transform;
}
.social-flex a img:hover{
    filter: drop-shadow(0px 0px 10px #FFFFFF80);
    transform: scale(1.05);
}
#home-8 h5{
    text-align: center;
    color: var(--primary-color);
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
#cdp-2{
    text-align: center;
    color: var(--primary-color);
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
form{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
#math-challenge{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
}
#math-challenge label{
    white-space: nowrap;
    color: var(--primary-color);
    font-size: 1.2rem;
    font-family: var(--font-2);
    font-weight: 400;
}
#name,#email,#tel,#address,#message,#submit,#math_answer{
    background: #dbe3f0;
    width: 100%;
    border: 8px solid #B5C4E0;
    border-radius: 15px;
    font-size: 1.2rem;
    font-family: var(--font-2);
    font-weight: 300;
    font-style: italic;
}
#name::placeholder,#email::placeholder,#tel::placeholder,#address::placeholder,#message::placeholder{
    color: #999FA8;
}
#name,#email,#tel,#address,#math_answer{
    height: 75px;
    padding: 2%;
    color: var(--secondary-color);
}
#message{
    height: 125px;
    resize: none;
    padding: 1% 2%;
    color: var(--secondary-color);
}
#submit{
    width: fit-content;
    padding: 2% 4%;
    margin: 0 0 0 auto;
    color: #999FA8;
    transition: all .4s ease-in-out;
    will-change: background, color, border-color, box-shadow;
}
#submit:hover{
    background: var(--secondary-color);
    color: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: 0px 0px 8px 4px var(--primary-color);
}
#home-9{
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
}
#home-9 p{
    text-align: center;
    color: #000B21;
    margin: 0;
    font-family: var(--font-2);
    font-weight: 200;
    font-style: italic;
}
#home-9 p a{
    text-decoration: none;
    color: #000B21;
    transition: all .4s ease-in-out;
    will-change: text-decoration,color;
}
#home-9 p a:hover{
    text-decoration: underline;
    color: var(--secondary-color);
}
