/* =========================
   GLOBAL
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:Arial, sans-serif;
}


/* =========================
   TOP SCROLLING BAR
========================= */
.top-scrollbar{
  width:100%;
  height:55px;
  background:#d81313;
  overflow:hidden;
  display:flex;
  align-items:center;
  position:relative;
}

.scroll-track{
  display:flex;
  width:max-content;
  animation:marquee 22s linear infinite;
}

.scroll-item{
  display:flex;
  align-items:center;
  white-space:nowrap;
  color:#fff;
  font-size:18px;
  font-weight:500;
  padding-right:120px;
}

.scroll-item a{
  color:#ffd400;
  text-decoration:none;
  font-weight:700;
  margin:0 7px;
}

.divider{
  margin:0 15px;
}

/* ANIMATION */

@keyframes marquee{
  from{
    transform:translateX(0);
  }

  to{
    transform:translateX(-50%);
  }
}

/* =========================
   NAVBAR
========================= */

.custom-navbar{
  background:#ececec;
  padding:22px 0;
}

.navbar-brand img{
  height:65px;
  width:auto;
}

/* MENU */

.navbar-nav{
  gap:20px;
}

.navbar-nav .nav-link{
  color:#333;
  font-size:18px;
  font-weight:500;
}

.navbar-nav .nav-link:hover{
  color:#d81313;
}

/* ADMISSION BUTTON */

.admission-btn{
  background:#d81313 !important;
  color:#fff !important;
  padding:14px 38px !important;
  border-radius:14px;
  font-size:18px;
  font-weight:600;
  box-shadow:0 8px 18px rgba(0,0,0,0.18);
  transition:0.3s;
}

/* .admission-btn:hover{
  background:#b90f0f;
  transform:translateY(-2px);
} */

/* TOGGLE */

.navbar-toggler i{
  font-size:30px;
  color:#000;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

  .custom-navbar{
    padding:15px 0;
  }

  .navbar-brand img{
    height:50px;
  }

  .navbar-nav{
    gap:10px;
    margin-top:20px;
    align-items:flex-start !important;
  }

  .admission-btn{
    display:inline-block;
    margin-top:10px;
  }

  .top-scrollbar{
    height:45px;
  }

  .scroll-item{
    font-size:14px;
    padding-right:80px;
  }

}






/* =========================
   HERO SECTION
========================= */

.hero-section{
  position:relative;
  width:100%;
  height:650px;
  background:url('https://images.unsplash.com/photo-1562774053-701939374585?q=80&w=1600') center center/cover no-repeat;
  overflow:hidden;
  display:flex;
  align-items:center;
}

/* DARK RED OVERLAY */

.hero-overlay{
  position:absolute;
  inset:0;
  background:
  linear-gradient(
    90deg,
    rgba(198,0,0,0.92) 0%,
    rgba(220,25,25,0.75) 38%,
    rgba(255,255,255,0.10) 100%
  );
}

/* CONTENT AREA */

.hero-row{
  position:relative;
  z-index:2;
  align-items:center;
}

/* =========================
   LEFT CONTENT
========================= */

.hero-content{
  color:#fff;
  max-width:620px;
}

/* TOP BADGE */

.top-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 20px;
  border:2px solid rgba(255,255,255,0.25);
  border-radius:50px;
  font-size:14px;
  font-weight:500;
  margin-bottom: 10px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(2px);
}

/* HEADING */

.hero-content h1{
  font-size:50px;
  /* line-height:0.98; */
  font-weight: 700;
  margin-bottom:32px;
  letter-spacing:-2px;
}

.hero-content h1 span{
  color:#ffb100;
}

/* PARAGRAPH */

.hero-content p{
  font-size: 18px;
  line-height: 27px;
  color:#f5f5f5;
  max-width:560px;
}

/* =========================
   FORM BOX
========================= */
.admission-form{
  background:#fff;
  border:2px solid #ef1a1a;
  border-radius:20px;
  padding:32px 36px;
  max-width:450px;
  width:100%;
  margin:auto;
  box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

/* TOP TEXT */

.admission-form h5{
  text-align:center;
  color:#e11212;
  font-size:16px;
  font-weight:700;
  margin-bottom:20px;
}

/* STEP SECTION */

.steps-wrapper{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:26px;
}

.step{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:700;
  background:#df1414;
  color:#fff;
}

.line{
  width:55px;
  height:3px;
  background:#df1414;
}

/* TITLE */

.admission-form h3{
  font-size:24px;
  font-weight:600;
  color:#222;
  margin-bottom:24px;
  line-height:1.3;
  text-align:center;
}

/* LABEL */

.form-label{
  font-size:15px;
  font-weight:600;
  color:#222;
  margin-bottom:8px;
  display:block;
}

.form-label span{
  color:red;
}

/* INPUT + SELECT */

.form-control,
.form-select{
  width:100%;
  height:50px;
  border:1.5px solid #222;
  border-radius:12px;
  padding:0 18px;
  font-size:15px;
  box-shadow:none !important;
}

.form-control:focus,
.form-select:focus{
  border-color:#df1414;
}

/* SPACING */

.mb-3{
  margin-bottom:18px;
}

.mb-4{
  margin-bottom:24px;
}

/* SUBMIT BUTTON */

.submit-btn{
  width:100%;
  height:52px;
  border:none;
  border-radius:14px;
  background:#df1414;
  color:#fff;
  font-size:17px;
  font-weight:600;
  transition:0.3s;
}

.submit-btn:hover{
  background:#c70f0f;
}

/* MOBILE */

@media(max-width:767px){

  .admission-form{
    padding:26px 20px;
    border-radius:18px;
  }

  .admission-form h3{
    font-size:21px;
  }

  .step{
    width:36px;
    height:36px;
    font-size:16px;
  }

  .line{
    width:45px;
  }

  .form-control,
  .form-select{
    height:46px;
    font-size:14px;
  }

  .submit-btn{
    height:48px;
    font-size:16px;
  }

}
/* =========================
   ENQUIRE BUTTON
========================= */

.enquire-btn{
  position:fixed;          /* STICKY */
  right: 0;
  top:50%;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  background:#e11212;
  color:#fff;
  text-decoration:none;
  padding:20px 14px;
  border-radius: 0 18px 18px 0;
  font-size:18px;
  font-weight:500;
  z-index:9999;            /* ALWAYS VISIBLE */
  box-shadow:0 4px 15px rgba(0,0,0,0.2);
  transition:0.3s;
}

.enquire-btn:hover{
  background:#c90f0f;
  color:#fff;
  right: 3px;
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media(max-width:991px){

  .hero-section{
    height:auto;
    padding:70px 0 50px;
  }

  .hero-row{
    gap:40px;
  }

  .hero-content{
    max-width:100%;
    text-align:center;
    margin-bottom:10px;
  }

  .hero-content h1{
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1px;
    margin-bottom:22px;
  }

  .hero-content p{
    font-size:16px;
    line-height:26px;
    max-width:100%;
    margin:auto;
  }

  .top-badge{
    font-size:13px;
    padding:8px 16px;
  }

  .admission-form{
    max-width:100%;
    padding:28px 24px;
  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:767px){

  .hero-section{
    height:auto;
    padding:60px 0 40px;
    align-items:flex-start;
  }

  .hero-overlay{
    background:
    linear-gradient(
      180deg,
      rgba(198,0,0,0.92) 0%,
      rgba(220,25,25,0.82) 55%,
      rgba(220,25,25,0.65) 100%
    );
  }

  .hero-content{
    text-align:center;
    padding:0 12px;
  }

  .hero-content h1{
    font-size:34px;
    line-height:1.2;
    margin-bottom:18px;
    letter-spacing:-1px;
  }

  .hero-content p{
    font-size:15px;
    line-height:24px;
  }

  .top-badge{
    font-size:12px;
    padding:7px 14px;
    margin-bottom:14px;
  }

  /* FORM */

  .admission-form{
    padding:24px 18px;
    border-radius:18px;
    margin-top:30px;
  }

  .admission-form h5{
    font-size:14px;
    margin-bottom:18px;
  }

  .admission-form h3{
    font-size:18px;
    margin-bottom:18px;
  }

  .steps-wrapper{
    margin-bottom:22px;
  }

  .step{
    width:34px;
    height:34px;
    font-size:15px;
  }

  .line{
    width:38px;
  }

  .form-label{
    font-size:14px;
  }

  .form-control,
  .form-select{
    height:46px;
    font-size:14px;
    padding:0 14px;
    border-radius:10px;
  }

  .next-btn,
  .submit-btn{
    height:48px;
    font-size:15px;
    border-radius:12px;
  }

  .submit-btn{
    width:100%;
  }

  .back-btn{
    font-size:14px;
    margin-bottom:14px;
  }

  /* ENQUIRE BUTTON */

  .enquire-btn{
    padding:12px 8px;
    font-size:13px;
    border-radius:0 14px 14px 0;
  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:480px){

  .hero-content h1{
    font-size:28px;
  }

  .hero-content p{
    font-size:14px;
    line-height:22px;
  }

  .admission-form{
    padding:20px 15px;
  }

  .step{
    width:30px;
    height:30px;
    font-size:14px;
  }

  .line{
    width:30px;
  }

  .enquire-btn{
    font-size:13px;
    padding:12px 8px;
  }

}





/* =========================
   SECTION
========================= */
.application-section{
  background:#f4f4f4;
  padding:40px 0;
  font-family:Arial, sans-serif;
}

/* TITLE */
.section-title{
  font-size:28px;          /* REDUCED */
  font-weight:700;
  color:#d71919;
  margin-bottom:35px;
}

/* CARD */
.app-card{
  background:#fff;
  border:1.5px solid #e12525;
  border-top:5px solid green;
  border-radius:16px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 4px 14px rgba(0,0,0,0.05);
}

/* CLOSED CARD */
.closed-card{
  border-top:5px solid #e12525;
}

/* CARD TOP */
.card-top{
  padding:38px 22px 28px;   /* REDUCED */
}

/* STATUS BADGE */
.status-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 12px;
  border-radius:10px;
  font-size:12px;           /* REDUCED */
  font-weight:700;
  letter-spacing:0.5px;
  margin-bottom:22px;
}

.status-badge .dot{
  width:12px;
  height:12px;
  border-radius:50%;
}

/* OPEN */
.status-badge.open{
  background:#e8f6ed;
  color:#1d944d;
  border:1px solid #9ad5af;
}

.status-badge.open .dot{
  background:#1d944d;
}

/* CLOSED */
.status-badge.closed{
  background:#fff1f1;
  color:#d71919;
  border:1px solid #f1b7b7;
}

.status-badge.closed .dot{
  background:#d71919;
}

/* HEADING */
.app-card h3{
  font-size:22px;          /* REDUCED */
  line-height:1.4;
  font-weight:700;
  color:#d71919;
  margin-bottom:20px;
}

/* TEXT */
.app-card p{
  font-size:16px;          /* REDUCED */
  line-height:1.7;
  color:#222;
  margin:0;
}

/* CARD BOTTOM */
.card-bottom{
  background:#faf5f5;
  padding:16px 22px;       /* REDUCED */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* BUTTON */
.apply-btn{
  background:#d71919;
  color:#fff;
  text-decoration:none;
  padding:10px 22px;       /* REDUCED */
  border-radius:10px;
  font-size:16px;          /* REDUCED */
  font-weight:700;
  transition:0.3s;
}

.apply-btn:hover{
  background:#b81212;
  color:#fff;
}

/* PHONE */
.phone-box{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d71919;
  font-size:16px;          /* REDUCED */
  font-weight:700;
}

.phone-box i{
  font-size:15px;
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width: 768px){

  .application-section{
    padding:35px 15px;
  }

  .section-title{
    font-size:22px;
    margin-bottom:28px;
    text-align:center;
  }

  .application-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .app-card{
    border-radius:14px;
  }

  .card-top{
    padding:24px 16px 18px;
  }

  .status-badge{
    font-size:11px;
    padding:5px 10px;
    margin-bottom:16px;
  }

  .status-badge .dot{
    width:10px;
    height:10px;
  }

  .app-card h3{
    font-size:18px;
    line-height:1.4;
    margin-bottom:12px;
  }

  .app-card p{
    font-size:14px;
    line-height:1.6;
  }

  .card-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
  }

  .apply-btn{
    width:100%;
    text-align:center;
    font-size:14px;
    padding:10px 16px;
  }

  .phone-box{
    width:100%;
    font-size:13px;
    flex-wrap:wrap;
    word-break:break-word;
  }

}





/* SECTION */
.academics-section{
    padding:60px 20px;
    background:#f7f7f7;
    font-family:'Poppins',sans-serif;
}

/* CONTAINER */
.academics-container{
    max-width:1300px;
    margin:auto;
}

/* TITLE */
.section-title{
    margin-bottom:30px;
}

.section-title h2{
    font-size:28px;
    color:#d11111;
    font-weight:700;
    margin:0;
}

/* GRID */
.academics-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

/* CARD */
.academic-card{
    position:relative;
    background:#fff;
    border:1px solid #ececec;
    border-radius:18px;
    padding:18px;
    min-height:170px;
    box-shadow:0 4px 18px rgba(0,0,0,0.05);
    transition:0.3s ease;
    overflow:hidden;
}

.academic-card:hover{
    transform:translateY(-5px);
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

/* ICON */
.icon-box{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#fff2f2;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
}

.icon-box i{
    font-size:24px;
    color:#e11414;
}

/* TEXT */
.card-content h3{
    font-size:20px;
    color:#d11111;
    margin:0 0 5px;
    font-weight:700;
}

.card-content p{
    font-size:15px;
    color:#555;
    line-height:1.5;
    margin:0;
}

/* NUMBER */
.card-number{
    position:absolute;
    right:16px;
    bottom:12px;
    font-size:54px;
    font-weight:700;
    color:#f9dede;
    line-height:1;
}

/* RESPONSIVE */
@media(max-width:991px){

    .academics-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* =========================
   MOBILE RESPONSIVE FIX
========================= */

@media(max-width:767px){

    .academics-section{
        padding:30px 14px;
        background:#f5f5f5;
    }

    .section-title{
        margin-bottom:18px;
        text-align:left;
    }

    .section-title h2{
        font-size:20px;
        line-height:1.3;
    }

    .academics-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    /* CARD */
    .academic-card{
        min-height:auto;
        padding:16px;
        border-radius:16px;
        display:flex;
        align-items:center;
        gap:14px;
        position:relative;
    }

    /* ICON */
    .icon-box{
        width:52px;
        height:52px;
        min-width:52px;
        margin-bottom:0;
    }

    .icon-box i{
        font-size:20px;
    }

    /* CONTENT */
    .card-content{
        flex:1;
    }

    .card-content h3{
        font-size:18px;
        margin-bottom:3px;
    }

    .card-content p{
        font-size:14px;
        line-height:1.4;
    }

    /* NUMBER */
    .card-number{
        position:absolute;
        right:14px;
        bottom:10px;
        font-size:34px;
        opacity:0.45;
    }

}














/* CONNECT SECTION */
.connect-section{
  background:#c81414;
  padding:45px 15px;
  font-family:'Poppins',sans-serif;
}

.connect-container{
  max-width:1300px;
  margin:auto;
}

/* HEADER */
.connect-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
}

.connect-header .line{
  width:50px;
  height:2px;
  background:#f7c75a;
  border-radius:10px;
}

.connect-header h2{
  color:#fff;
  font-size:24px;
  font-weight:600;
  margin:0;
  letter-spacing:.3px;
}

/* GRID */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

/* CARD */
.contact-card{
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  padding:16px;
  display:flex;
  gap:12px;
  transition:.3s ease;
  min-height:100%;
}

.contact-card:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,0.1);
}

/* DOT */
.dots{
  min-width:10px;
  height:10px;
  background:#f7c75a;
  border-radius:50%;
  margin-top:6px;
}

/* CONTENT */
.contact-content h3{
  color:#fff;
  font-size:14px;
  line-height:1.5;
  margin:0 0 6px;
  font-weight:600;
}

.contact-content p{
  color:rgba(255,255,255,0.88);
  font-size:12px;
  line-height:1.6;
  margin:0;
}

/* TABLET */
@media(max-width:991px){

  .contact-grid{
    grid-template-columns:repeat(2,1fr);
  }

}

/* MOBILE */
@media(max-width:576px){

  .connect-section{
    padding:40px 12px;
  }

  .connect-header h2{
    font-size:20px;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .contact-card{
    padding:14px;
  }

  .contact-content h3{
    font-size:13px;
  }

  .contact-content p{
    font-size:11px;
  }

}





/* =========================
   FOOTER
========================= */

.custom-footer{
  background:#111;
  padding:10px 0;
  border-top:1px solid #d71919;
  font-family:Arial, sans-serif;
}

/* WRAPPER */

.footer-wrapper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

/* SOCIAL */

.footer-social{
  display:flex;
  align-items:center;
  gap:34px;
}

/* ICON LINKS */

.footer-social a{
  color:#d8d8d8;
  font-size:20px;
  transition:0.3s;
  text-decoration:none;
}

.footer-social a:hover{
  color:#d71919;
  transform:translateY(-3px);
}

/* TEXT */

.footer-text{
  color:#d8d8d8;
  font-size:16px;
  font-weight:400;
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media(max-width:767px){

  .custom-footer{
    padding:16px 0;
  }

  .footer-wrapper{
    flex-direction:column;
    justify-content:center;
    text-align:center;
    gap:14px;
  }

  .footer-social{
    gap:22px;
    flex-wrap:wrap;
    justify-content:center;
  }

  .footer-social a{
    font-size:18px;
  }

  .footer-text{
    font-size:14px;
    line-height:1.6;
    padding:0 10px;
  }

}

