:root {
    --primary: #5f0408;
    --primary-light: #8a1018;
    --secondary: #E0B000;
    --secondary-dark: #b88a00;
    --bg-light: #FFFFFF;
    --text-dark: #0b0b0b;
    --text-muted: #777;
    --globe-blue: #1769d8;
    --globe-purple: #6a3fd1;

    --radius: 14px;
    --radius-lg: 24px;

    --shadow-sm: 0 5px 15px rgba(0,0,0,0.05);
    --shadow-md: 0 10px 30px rgba(0,0,0,0.08);
    --shadow-lg: 0 20px 60px rgba(0,0,0,0.12);
}

.custom-nav {
    backdrop-filter: blur(10px);
    background: rgba(95,4,8,0.35);
    transition: 0.3s;
}

.custom-nav.scrolled {
    background: var(--primary);
}

.nav-link {
    color: #fff !important;
    position: relative;
}

.nav-link::after {
    content: "";
    width: 0;
    height: 2px;
    background: var(--secondary);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 0.3s;
}

.nav-link:hover::after {
    width: 100%;
}

.hero-slide {
    height: 90vh;
    position: relative;
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, rgba(95,4,8,0.92), rgba(0,0,0,0.42));
}

.hero-title {
    font-size: 56px;
    max-width: 700px;
}

.hero-sub {
    font-size: 18px;
    opacity: 0.9;
}

.card-hover {
    border: none;
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    transition: 0.4s;
}

.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
}

.card-hover h5 {
    margin-top: 15px;
}

.about-img {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.stat-box {
    background: #fff;
    padding: 20px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    text-align: center;
}

.feature-card {
    padding: 30px;
    border-radius: var(--radius);
    transition: 0.3s;
    background: #fff;
}

.feature-card:hover {
    background: var(--primary);
    color: #fff;
}

.feature-card i {
    font-size: 40px;
    color: var(--secondary);
}

.gallery img {
    border-radius: var(--radius);
    transition: 0.4s;
}

.gallery img:hover {
    transform: scale(1.05);
}

.news-card {
    border: none;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.news-card img {
    height: 200px;
    object-fit: cover;
}

.cta {
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    border-radius: var(--radius-lg);
    padding: 60px;
}

footer {
    background: #0b0b0b;
}

footer a {
    text-decoration: none;
    color: #bbb;
}

footer a:hover {
    color: #fff;
}

.whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #25D366;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 28px;
    box-shadow: var(--shadow-md);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@media(max-width:768px){
    .hero-title {
        font-size: 32px;
    }

    .cta {
        padding: 30px;
    }
}

/* ************************************************************************ */


    /* ========================= CSS (styles.css) ========================= */
:root {
  --primary:#5f0408;
  --primary-light:#8a1018;
  --secondary:#E0B000;
  --secondary-dark:#b88a00;
  --accent:#1769d8;
  --globe-blue:#1769d8;
  --globe-purple:#6a3fd1;
  --bg-soft:#fff8df;
  --text-dark:#0b0b0b;
  --radius:16px;
}

body {
  font-family: 'Poppins', sans-serif;
}

.hero-title {
  font-size: 64px;
  font-weight: 700;
  letter-spacing: -1px;
}
.custom-nav {
  background: rgba(95,4,8,0.32);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(224,176,0,0.25);
}
.custom-nav.scrolled {background:var(--primary);} 

.nav-link {color:#fff!important;position:relative;}
.nav-link::after {content:"";height:2px;width:0;background:var(--secondary);position:absolute;bottom:0;left:0;transition:.3s;}
.nav-link:hover::after {width:100%;}

.btn-gold {background:var(--secondary);color:#0b0b0b;border-radius:30px;}
.btn-gold:hover {background:var(--secondary-dark);transform:scale(1.05);} 
.btn-gold {
  background: linear-gradient(135deg,var(--secondary),#ffcf3a);
  border:none;
  padding:12px 28px;
  font-weight:600;
  color:#0b0b0b;
  box-shadow: 0 8px 20px rgba(224,176,0,.4);
}

.btn-gold:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(224,176,0,.6);
}

.hero-slide {height:90vh;position:relative;}
.overlay {
  background: linear-gradient(135deg, rgba(95,4,8,.95), rgba(10,10,10,.55)), linear-gradient(45deg, rgba(23,105,216,.28), rgba(106,63,209,.22));
}


.section {padding:100px 0;}
.section-divider {
  width:60px;
  height:4px;
  background:var(--secondary);
  border:none;
  margin:20px auto;
  border-radius:10px;
}

.card-hover {border:none;border-radius:var(--radius);transition:.3s;}
.card-hover:hover {transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,0,0,.1);} 

.about-img {border-radius:20px;}

.feature-card {padding:30px;border-radius:var(--radius);transition:.3s;}
.feature-card:hover {
  background: var(--primary);
  color:#fff;
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(95,4,8,.28);
}
.feature-card i {font-size:40px;color:var(--secondary);} 

.card-hover {
  transition: all .4s ease;
}

.card-hover:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 25px 70px rgba(0,0,0,.15);
}

.cta {
  background: linear-gradient(135deg,var(--primary),var(--primary-light),var(--secondary));
  background-size: 200% 200%;
  animation: gradientMove 6s ease infinite;
  color:#fff;
}
.hero-title {
  animation: fadeZoom 1.2s ease;
}

@keyframes fadeZoom {
  from {
    opacity:0;
    transform:scale(0.9) translateY(20px);
  }
  to {
    opacity:1;
    transform:scale(1) translateY(0);
  }
}

@keyframes gradientMove {
  0% {background-position:0% 50%;}
  50% {background-position:100% 50%;}
  100% {background-position:0% 50%;}
}
footer {background:#0b0b0b;} 
footer a {color:#bbb;text-decoration:none;} 
footer a:hover {color:#fff;} 

.floating-shape {
  position:absolute;
  width:200px;
  height:200px;
  background: rgba(255,255,255,0.08);
  border-radius:50%;
  top:20%;
  right:10%;
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0%,100% {transform:translateY(0);}
  50% {transform:translateY(-20px);}
}

.whatsapp-float {position:fixed;bottom:20px;right:20px;background:#25D366;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;}
.whatsapp-float {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {box-shadow:0 0 0 0 rgba(37,211,102,.6);}
  70% {box-shadow:0 0 0 20px rgba(37,211,102,0);}
  100% {box-shadow:0 0 0 0 rgba(37,211,102,0);}
}
@media(max-width:768px){
.hero-title{font-size:32px;}
}

.section {
  padding: 100px 0;
  position: relative;
}

/* alternating backgrounds */
.section:nth-child(even) {
  background: var(--bg-soft);
}

.section:nth-child(odd) {
  background: linear-gradient(135deg, var(--primary), var(--primary-light), #250102);
  background-size: 200% 200%;
  animation: gradientFlow 10s ease infinite;
  color: #fff;
}

@keyframes gradientFlow {
  0% {background-position:0% 50%;}
  50% {background-position:100% 50%;}
  100% {background-position:0% 50%;}
}
.section::before {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  background: radial-gradient(circle, rgba(224,176,0,0.16), transparent 70%);
  top:-100px;
  left:-100px;
  z-index:0;
}

.section .container {
  position:relative;
  z-index:2;
}

.hero-title {
  font-size: 64px;
  font-weight: 700;
  text-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.hero-sub {
  font-size: 20px;
  opacity: 0.9;
}

.card-hover {
  background: #fff;
  border-radius: var(--radius);
  padding: 30px;
  transition: all .4s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.card-hover:hover {
  transform: translateY(-12px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}
.card-hover i {
  width:70px;
  height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(224,176,0,0.14);
  border-radius:50%;
  margin:0 auto 15px;
}

.wave {
  height:100px;
  background: url('https://svgshare.com/i/uZq.svg') no-repeat center/cover;
}

.feature-card {
  padding:40px 25px;
  border-radius: var(--radius);
  background:#fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  transition:.3s;
}

.feature-card:hover {
  background: linear-gradient(135deg,var(--primary),var(--primary-light));
  color:#fff;
}

.section h2 {
  font-weight:700;
  margin-bottom:10px;
}

.section h2::after {
  content:"";
  width:50px;
  height:4px;
  background: var(--secondary);
  display:block;
  margin:10px auto 0;
  border-radius:10px;
}

footer {
  background: linear-gradient(135deg,#0b0b0b,var(--primary));
  padding-top:60px;
}

footer h5 {
  margin-bottom:15px;
  color:#fff;
}

footer p, footer a {
  color:#aaa;
}

.section {
  position: relative;
  overflow: hidden;
}

.section:nth-child(odd)::before,
.section:nth-child(odd)::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.5;
}

/* Bubble 1 */
.section:nth-child(odd)::before {
  width: 300px;
  height: 300px;
  background: rgba(224,176,0,0.32);
  top: -100px;
  left: -100px;
  animation: floatBubble 12s ease-in-out infinite;
}

/* Bubble 2 */
.section:nth-child(odd)::after {
  width: 400px;
  height: 400px;
  background: rgba(23,105,216,0.25);
  bottom: -150px;
  right: -150px;
  animation: floatBubble 15s ease-in-out infinite reverse;
}

@keyframes floatBubble {
  0% {transform: translate(0,0);}
  50% {transform: translate(40px, -60px);}
  100% {transform: translate(0,0);}
}
.section:nth-child(even) {
  background: linear-gradient(180deg, #ffffff, #fff8df);
}
.section:nth-child(even) {
  background: linear-gradient(180deg, #ffffff, #fff8df);
}

.bubbles span {
  position: absolute;
  width: 20px;
  height: 20px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  animation: rise 10s infinite ease-in;
}

.bubbles span:nth-child(1) { left:20%; animation-duration:8s;}
.bubbles span:nth-child(2) { left:50%; animation-duration:12s;}
.bubbles span:nth-child(3) { left:80%; animation-duration:10s;}

@keyframes rise {
  0% {transform: translateY(100px); opacity:0;}
  50% {opacity:1;}
  100% {transform: translateY(-200px); opacity:0;}
}

/* ========================= AIS2 polished homepage ========================= */
.ais-home {
  color: var(--text-dark);
  font-family: 'Inter', sans-serif;
  background: #fff;
}

.ais-home h1,
.ais-home h2,
.ais-home h3,
.ais-home h4,
.ais-home h5,
.ais-home .navbar-brand {
  font-family: 'Poppins', sans-serif;
}

.ais-home .custom-nav {
  padding: 14px 0;
}

.ais-home .navbar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-weight: 800;
}

.brand-mark {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 2px solid var(--secondary);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

.brand-text {
  max-width: 170px;
  color: #fff;
  font-size: 14px;
  line-height: 1.15;
}

.ais-home .navbar-toggler {
  border-color: rgba(224,176,0,0.55);
  background: rgba(255,255,255,0.96);
}

.ais-home .nav-link {
  font-weight: 600;
  margin: 0 6px;
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-section {
  position: relative;
  min-height: 92vh;
  overflow: hidden;
}

.hero-media,
.hero-section .overlay {
  position: absolute;
  inset: 0;
}

.hero-media {
  background-position: center;
  background-size: cover;
  transform: scale(1.02);
}

.hero-section .overlay {
  background:
    linear-gradient(105deg, rgba(95,4,8,0.96) 0%, rgba(95,4,8,0.82) 44%, rgba(0,0,0,0.38) 100%),
    radial-gradient(circle at 72% 18%, rgba(23,105,216,0.32), transparent 28%),
    radial-gradient(circle at 62% 35%, rgba(106,63,209,0.28), transparent 30%);
}

.hero-section .container {
  position: relative;
  z-index: 2;
  min-height: 92vh;
  display: flex;
  align-items: center;
}

.hero-section .row {
  flex: 1;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--secondary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.eyebrow.dark {
  color: var(--primary);
}

.ais-home .hero-title {
  max-width: 840px;
  margin-bottom: 20px;
  font-size: clamp(20px, 4.7vw, 31px);
  line-height: 1.12;
  letter-spacing: 0;
}

.ais-home .hero-sub {
  max-width: 680px;
  margin-bottom: 0;
  color: rgba(255,255,255,0.9);
  font-size: 20px;
  line-height: 1.75;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.hero-actions .btn,
.ais-home .cta .btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 800;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.section-heading {
  max-width: 760px;
  margin: 0 auto 46px;
}

.section-heading h2,
.about-section h2,
.admissions-section h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.12;
  letter-spacing: 0;
}

.section-heading p,
.about-section p,
.admissions-section p {
  color: #5d5d5d;
  font-size: 17px;
  line-height: 1.8;
}

.why-section .section-heading p,
.news-section .section-heading p,
.admissions-section .cta p {
  color: rgba(255,255,255,0.82);
}

.ais-home .programme-card,
.ais-home .feature-card,
.ais-home .news-card,
.ais-home .stat-box {
  border: 1px solid rgba(95,4,8,0.08);
}

.programme-card {
  min-height: 100%;
}

.programme-card h5,
.feature-card h5,
.news-card h5 {
  color: var(--text-dark);
  font-weight: 800;
}

.programme-card p,
.feature-card p,
.news-card p {
  color: #666;
  line-height: 1.7;
}

.programme-card:hover h5,
.programme-card:hover p,
.feature-card:hover h5,
.feature-card:hover p {
  color: #fff;
}

.programme-card i,
.feature-card i,
.stat-box i {
  color: var(--secondary);
}

.image-stack {
  position: relative;
}

.image-stack img {
  width: 100%;
  min-height: 440px;
  object-fit: cover;
}

.experience-badge {
  position: absolute;
  right: 22px;
  bottom: 22px;
  max-width: 220px;
  padding: 20px;
  border-left: 5px solid var(--secondary);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-lg);
}

.experience-badge i {
  color: var(--secondary);
  font-size: 26px;
}

.experience-badge strong,
.experience-badge span,
.stat-box strong,
.stat-box span {
  display: block;
}

.experience-badge strong {
  margin-top: 8px;
  color: var(--primary);
  font-size: 20px;
}

.experience-badge span,
.stat-box span {
  color: #666;
  font-size: 14px;
}

.ais-home .stat-box {
  height: 100%;
  padding: 22px;
  text-align: left;
}

.stat-box i {
  margin-bottom: 12px;
  font-size: 30px;
}

.stat-box strong {
  margin-bottom: 6px;
  color: var(--primary);
}

.why-section,
.news-section {
  background:
    radial-gradient(circle at top left, rgba(224,176,0,0.2), transparent 32%),
    linear-gradient(135deg, var(--primary), var(--primary-light), #220102);
}

.ais-home .feature-card {
  background: rgba(255,255,255,0.96);
}

.gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  box-shadow: var(--shadow-md);
}

.news-card {
  background: #fff;
}

.news-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.admissions-section {
  background: #fff;
}

.ais-home .cta {
  border: 1px solid rgba(224,176,0,0.28);
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
}

.site-footer {
  padding-top: 70px;
  background:
    radial-gradient(circle at 85% 10%, rgba(224,176,0,0.18), transparent 25%),
    linear-gradient(135deg, #0b0b0b, var(--primary));
}

.site-footer h5 {
  color: #fff;
  font-weight: 800;
}

.site-footer p,
.site-footer li,
.site-footer a {
  color: rgba(255,255,255,0.72);
}

.footer-links li,
.contact-list li {
  margin-bottom: 10px;
}

.contact-list i {
  margin-right: 8px;
  color: var(--secondary);
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.footer-socials a {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
}

.footer-socials a:hover {
  background: var(--secondary);
  color: #0b0b0b;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 52px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.62);
  font-size: 14px;
}

@media (max-width: 991px) {
  .ais-home .navbar-collapse {
    margin-top: 14px;
    padding: 18px;
    border-radius: var(--radius);
    background: rgba(95,4,8,0.98);
  }

  .image-stack img {
    min-height: 340px;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 575px) {
  .brand-text {
    max-width: 132px;
    font-size: 12px;
  }

  .brand-mark {
    width: 46px;
    height: 46px;
  }

  .hero-section {
    min-height: 820px;
  }

  .hero-actions,
  .hero-actions .btn {
    width: 100%;
  }

  .hero-actions .btn {
    justify-content: center;
  }

  .hero-trust span {
    width: 100%;
  }

  .experience-badge {
    position: static;
    max-width: none;
    margin-top: 16px;
  }
}

.ais-home .programme-section,
.ais-home .about-section,
.ais-home .gallery-section,
.ais-home .admissions-section {
  background: linear-gradient(180deg, #fff, #fff8df);
  color: var(--text-dark);
}

.ais-home .why-section,
.ais-home .news-section {
  color: #fff;
}

.ais-home .programme-section::before,
.ais-home .programme-section::after,
.ais-home .about-section::before,
.ais-home .about-section::after,
.ais-home .gallery-section::before,
.ais-home .gallery-section::after,
.ais-home .admissions-section::before,
.ais-home .admissions-section::after {
  display: none;
}

.ais-home .hero-section,
.ais-home .hero-section .carousel,
.ais-home .hero-section .carousel-inner,
.ais-home .hero-section .carousel-item {
  min-height: 92vh;
}

.ais-home .hero-section .carousel-item {
  position: relative;
}

.ais-home .hero-section .container {
  min-height: 92vh;
}

.ais-home .hero-title {
  max-width: 760px;
  font-size: clamp(20px, 4.7vw, 34px);
  line-height: 1.12;
}

.ais-home .hero-sub {
  max-width: 620px;
  font-size: 18px;
  line-height: 1.65;
}

.ais-home .carousel-indicators {
  bottom: 28px;
  gap: 8px;
}

.ais-home .carousel-indicators [data-bs-target] {
  width: 34px;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255,255,255,0.55);
}

.ais-home .carousel-indicators .active {
  background-color: var(--secondary);
}

.ais-home .carousel-control-prev,
.ais-home .carousel-control-next {
  width: 7%;
}

.ais-home .programme-card:hover,
.ais-home .feature-card:hover {
  border-color: rgba(224,176,0,0.55);
  background:
    radial-gradient(circle at top right, rgba(224,176,0,0.32), transparent 34%),
    linear-gradient(135deg, #0b0b0b 0%, var(--primary) 48%, #250102 100%);
  color: #fff;
  box-shadow: 0 24px 70px rgba(95,4,8,0.35);
}

.ais-home .programme-card:hover h5,
.ais-home .programme-card:hover p,
.ais-home .feature-card:hover h5,
.ais-home .feature-card:hover p {
  color: #fff;
}

.ais-home .programme-card:hover i,
.ais-home .feature-card:hover i {
  color: var(--secondary);
  background: rgba(255,255,255,0.14);
}

.director-section {
  background:
    radial-gradient(circle at 88% 10%, rgba(224,176,0,0.14), transparent 30%),
    linear-gradient(180deg, #fff, #fff8df);
}

.director-section::before,
.director-section::after {
  display: none;
}

.director-panel {
  padding: 46px;
  border: 1px solid rgba(224,176,0,0.26);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 8%, rgba(224,176,0,0.26), transparent 30%),
    radial-gradient(circle at 88% 20%, rgba(23,105,216,0.18), transparent 28%),
    linear-gradient(135deg, #0b0b0b 0%, var(--primary) 48%, var(--primary-light) 100%);
  box-shadow: var(--shadow-lg);
}

.director-photo-wrap {
  position: relative;
  max-width: 420px;
  margin: 0 auto;
}

.director-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 8px solid rgba(255,255,255,0.9);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,0.28);
}

.director-badge {
  position: absolute;
  right: -18px;
  bottom: 28px;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #fff;
  border-radius: 50%;
  color: #0b0b0b;
  background: var(--secondary);
  font-size: 36px;
  box-shadow: var(--shadow-md);
}

.director-panel h2 {
  max-width: 760px;
  margin-bottom: 20px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: 0;
}

.director-panel p {
  color: rgba(255,255,255,0.82);
  font-size: 17px;
  line-height: 1.85;
}

.director-message {
  font-size: 19px;
}

.director-signature {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 12px;
  padding-top: 18px;
  border-top: 3px solid var(--secondary);
}

.director-signature strong {
  color: #fff;
  font-size: 18px;
}

.director-signature span {
  color: rgba(255,255,255,0.72);
}

@media (max-width: 991px) {
  .ais-home .hero-title {
    max-width: 680px;
    font-size: clamp(20px, 6vw, 32px);
  }
}

@media (max-width: 575px) {
  .ais-home .hero-section,
  .ais-home .hero-section .carousel,
  .ais-home .hero-section .carousel-inner,
  .ais-home .hero-section .carousel-item,
  .ais-home .hero-section .container {
    min-height: 760px;
  }

  .ais-home .hero-title {
    font-size: 20px;
    line-height: 1.16;
  }

  .ais-home .hero-sub {
    font-size: 16px;
  }

  .ais-home .carousel-control-prev,
  .ais-home .carousel-control-next {
    display: none;
  }

  .director-panel {
    padding: 28px;
  }

  .director-badge {
    right: 18px;
  }
}

/* ========================= Inner pages ========================= */
.ais-inner {
  color: var(--text-dark);
  font-family: 'Inter', sans-serif;
  background: #fff;
}

.ais-inner h1,
.ais-inner h2,
.ais-inner h3,
.ais-inner h4,
.ais-inner h5,
.ais-inner .navbar-brand {
  font-family: 'Poppins', sans-serif;
}

.ais-inner .navbar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-weight: 800;
}

.ais-inner .nav-link {
  font-weight: 600;
  margin: 0 6px;
}

.ais-inner .navbar-toggler {
  border-color: rgba(224,176,0,0.55);
  background: rgba(255,255,255,0.96);
}

.inner-hero {
  position: relative;
  min-height: 440px;
  display: flex;
  align-items: center;
  padding-top: 110px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(110deg, rgba(95,4,8,0.97), rgba(95,4,8,0.82), rgba(11,11,11,0.64)),
    var(--inner-image, url('school.jpg')) center/cover;
}

.inner-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 16%, rgba(23,105,216,0.26), transparent 28%),
    radial-gradient(circle at 68% 36%, rgba(106,63,209,0.22), transparent 30%);
}

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

.inner-hero h1 {
  max-width: 820px;
  margin-bottom: 18px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 0;
}

.inner-hero p {
  max-width: 700px;
  color: rgba(255,255,255,0.88);
  font-size: 18px;
  line-height: 1.75;
}

.breadcrumb-lite {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--secondary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inner-section {
  padding: 90px 0;
  background: linear-gradient(180deg, #fff, #fff8df);
}

.inner-section.alt {
  color: #fff;
  background:
    radial-gradient(circle at top left, rgba(224,176,0,0.19), transparent 32%),
    linear-gradient(135deg, var(--primary), var(--primary-light), #250102);
}

.inner-heading {
  max-width: 760px;
  margin-bottom: 42px;
}

.inner-heading.center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.inner-heading h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
  font-weight: 800;
}

.inner-heading p {
  color: #5d5d5d;
  font-size: 17px;
  line-height: 1.8;
}

.inner-section.alt .inner-heading p,
.inner-section.alt .text-soft {
  color: rgba(255,255,255,0.78);
}

.info-card,
.value-card,
.admission-step,
.event-card,
.contact-card,
.faq-card {
  height: 100%;
  padding: 28px;
  border: 1px solid rgba(95,4,8,0.09);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.info-card i,
.value-card i,
.admission-step i,
.event-card i,
.contact-card i {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 50%;
  color: var(--secondary);
  background: rgba(224,176,0,0.14);
  font-size: 26px;
}

.info-card h5,
.value-card h5,
.admission-step h5,
.event-card h5,
.contact-card h5,
.faq-card h5 {
  color: var(--text-dark);
  font-weight: 800;
}

.info-card p,
.value-card p,
.admission-step p,
.event-card p,
.contact-card p,
.faq-card p {
  color: #626262;
  line-height: 1.75;
}

.inner-section.alt .value-card {
  background: rgba(255,255,255,0.96);
}

.split-image {
  width: 100%;
  min-height: 430px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
}

.gallery-tile {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

.gallery-tile img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .45s ease;
}

.gallery-tile:hover img {
  transform: scale(1.06);
}

.gallery-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 18px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.74));
  font-weight: 800;
}

.accordion-item {
  border: 1px solid rgba(95,4,8,0.12);
  border-radius: var(--radius) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.accordion-button {
  font-weight: 800;
}

.accordion-button:not(.collapsed) {
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
}

.accordion-button:focus {
  border-color: var(--secondary);
  box-shadow: 0 0 0 .25rem rgba(224,176,0,0.22);
}

.contact-list-large {
  padding: 0;
  margin: 0;
  list-style: none;
}

.contact-list-large li {
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  color: #5d5d5d;
}

.contact-list-large i {
  color: var(--secondary);
}

.form-control,
.form-select {
  min-height: 52px;
  border-color: rgba(95,4,8,0.18);
  border-radius: 12px;
}

textarea.form-control {
  min-height: 140px;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--secondary);
  box-shadow: 0 0 0 .25rem rgba(224,176,0,0.18);
}

.news-list-card {
  overflow: hidden;
  border: 0;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-md);
}

.news-list-card img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.news-list-card .card-body {
  padding: 26px;
}

.date-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.page-cta {
  padding: 54px;
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(224,176,0,0.32), transparent 28%),
    linear-gradient(135deg, #0b0b0b, var(--primary), var(--primary-light));
  box-shadow: var(--shadow-lg);
}

@media (max-width: 991px) {
  .ais-inner .navbar-collapse {
    margin-top: 14px;
    padding: 18px;
    border-radius: var(--radius);
    background: rgba(95,4,8,0.98);
  }

  .inner-hero {
    min-height: 380px;
  }

  .split-image {
    min-height: 330px;
  }
}

@media (max-width: 575px) {
  .inner-section {
    padding: 64px 0;
  }

  .page-cta {
    padding: 34px 24px;
  }
}
