/* ==========================================================================
   OMPREM INSTITUTE — PREMIUM EDUCATION WEBSITE
   Centralized editable design tokens below for easy client customization
   ========================================================================== */

:root{
  --color-primary:#3454D1;
  --color-primary-dark:#28399e;
  --color-secondary:#8A3FFC;
  --color-accent:#00B8A9;
  --color-dark:#0F172A;
  --color-text:#3d4557;
  --color-muted:#6b7280;
  --color-light-bg:#f6f8fd;
  --color-white:#ffffff;
  --gradient-primary:linear-gradient(135deg,#3454D1 0%,#8A3FFC 100%);
  --gradient-soft:linear-gradient(135deg,rgba(52,84,209,.08),rgba(138,63,252,.08));
  --shadow-sm:0 2px 10px rgba(15,23,42,.06);
  --shadow-md:0 10px 30px rgba(15,23,42,.08);
  --shadow-lg:0 20px 50px rgba(52,84,209,.15);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --font-heading:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;
  --transition:.35s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-white);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--color-dark);line-height:1.25;font-weight:700;}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;}
section{position:relative;}

.text-gradient{
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ============ Preloader ============ */
#preloader{
  position:fixed;inset:0;background:var(--color-white);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;transition:opacity .5s ease, visibility .5s ease;
}
#preloader.hidden{opacity:0;visibility:hidden;}
.loader-logo{
  font-family:var(--font-heading);font-weight:800;font-size:2rem;color:var(--color-dark);
  animation:pulseLogo 1.1s ease-in-out infinite;
}
.loader-logo span{color:var(--color-primary);}
@keyframes pulseLogo{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.55;transform:scale(.95);}}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:50px;font-weight:600;font-size:.95rem;
  transition:all var(--transition);white-space:nowrap;border:2px solid transparent;
}
.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 8px 20px rgba(52,84,209,.3);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(52,84,209,.4);}
.btn-outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary);}
.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-3px);}
.btn-whatsapp{background:#25D366;color:#fff;box-shadow:0 8px 20px rgba(37,211,102,.3);}
.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(37,211,102,.4);}
.btn-sm{padding:10px 22px;font-size:.85rem;}
.btn-block{width:100%;}

/* ============ Navbar ============ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(15,23,42,.06);
  transition:all var(--transition);
}
.navbar.scrolled{box-shadow:var(--shadow-sm);}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:82px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{
  width:46px;height:46px;border-radius:14px;background:var(--gradient-primary);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  box-shadow:0 6px 16px rgba(52,84,209,.35);
}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-name{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;color:var(--color-dark);}
.brand-name em{font-style:normal;color:var(--color-primary);}
.brand-tagline{font-size:.68rem;color:var(--color-muted);letter-spacing:.5px;text-transform:uppercase;}

.nav-links{display:flex;align-items:center;gap:8px;}
.nav-link{
  padding:10px 16px;border-radius:8px;font-weight:500;font-size:.94rem;color:var(--color-text);
  transition:all var(--transition);position:relative;
}
.nav-link:hover,.nav-link.active{color:var(--color-primary);background:var(--gradient-soft);}

.navbar-actions{display:flex;align-items:center;gap:16px;}
.hamburger{display:none;flex-direction:column;gap:5px;width:30px;padding:6px;}
.hamburger span{display:block;height:2.5px;width:100%;background:var(--color-dark);border-radius:2px;transition:all var(--transition);}
.hamburger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* ============ Hero ============ */
.hero{
  position:relative;padding:150px 0 90px;overflow:hidden;
  background:linear-gradient(180deg,#f6f8fd 0%,#ffffff 100%);
}
.hero-bg-shapes{position:absolute;inset:0;z-index:0;pointer-events:none;}
.shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;}
.shape-1{width:380px;height:380px;background:var(--color-primary);top:-100px;right:-80px;}
.shape-2{width:280px;height:280px;background:var(--color-secondary);bottom:0;left:-100px;}
.shape-3{width:200px;height:200px;background:var(--color-accent);top:40%;right:20%;opacity:.2;}

.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;}
.pill-badge{
  display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:50px;
  background:var(--gradient-soft);color:var(--color-primary);font-weight:600;font-size:.82rem;
  margin-bottom:22px;
}
.hero-content h1{font-size:3.1rem;margin-bottom:20px;letter-spacing:-1px;}
.hero-desc{font-size:1.06rem;color:var(--color-muted);max-width:560px;margin-bottom:34px;}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px;}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap;}
.stat-item h3{font-size:2.1rem;color:var(--color-primary);font-weight:800;}
.stat-item p{font-size:.86rem;color:var(--color-muted);font-weight:500;}

.hero-media{position:relative;}
.hero-img-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.hero-img-wrap img{width:100%;height:520px;object-fit:cover;}
.floating-card{
  position:absolute;background:#fff;border-radius:var(--radius-md);padding:16px 18px;
  display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-lg);
  animation:floatY 4s ease-in-out infinite;max-width:230px;
}
.floating-card i{font-size:1.5rem;color:var(--color-primary);background:var(--gradient-soft);width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.floating-card strong{display:block;font-size:.86rem;color:var(--color-dark);}
.floating-card span{font-size:.74rem;color:var(--color-muted);}
.card-1{top:8%;left:-8%;}
.card-2{bottom:8%;right:-8%;animation-delay:1.5s;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

.scroll-down{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  width:38px;height:38px;border-radius:50%;border:2px solid var(--color-primary);
  display:flex;align-items:center;justify-content:center;color:var(--color-primary);
  animation:bounceDown 2s infinite;z-index:2;
}
@keyframes bounceDown{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* ============ Section common ============ */
.section-tag{
  display:inline-block;color:var(--color-primary);font-weight:700;font-size:.82rem;
  letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;
}
.section-tag.center{display:block;text-align:center;}
.section-title{font-size:2.4rem;letter-spacing:-.5px;margin-bottom:18px;}
.section-title.center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto;}
.section-desc{color:var(--color-muted);font-size:1.02rem;}
.section-desc.center{text-align:center;max-width:640px;margin:0 auto;}
.section-head{margin-bottom:56px;}

/* ============ About ============ */
.about{padding:110px 0;}
.about-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;}
.about-media{position:relative;}
.about-media img:first-child{width:100%;height:460px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}
.about-img-float{
  position:absolute;bottom:-40px;right:-30px;width:190px;height:190px;object-fit:cover;
  border-radius:var(--radius-md);border:6px solid #fff;box-shadow:var(--shadow-lg);
}
.about-content p{color:var(--color-muted);margin-bottom:32px;font-size:1.02rem;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px;}
.about-box{
  background:var(--color-light-bg);border-radius:var(--radius-md);padding:24px;
  transition:all var(--transition);
}
.about-box:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);background:#fff;}
.about-icon{
  width:46px;height:46px;border-radius:12px;background:var(--gradient-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:14px;
}
.about-box h4{font-size:1.03rem;margin-bottom:8px;}
.about-box p{font-size:.88rem;color:var(--color-muted);margin-bottom:0;}

/* ============ Courses ============ */
.courses{padding:110px 0;background:var(--color-light-bg);}
.course-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:50px;}
.filter-btn{
  padding:11px 24px;border-radius:50px;background:#fff;color:var(--color-text);font-weight:600;
  font-size:.88rem;border:1.5px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition);
}
.filter-btn:hover{color:var(--color-primary);}
.filter-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:0 8px 18px rgba(52,84,209,.3);}

.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.course-card{
  background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:all var(--transition);display:flex;flex-direction:column;
  opacity:0;transform:translateY(30px);animation:cardIn .5s ease forwards;
}
@keyframes cardIn{to{opacity:1;transform:translateY(0);}}
.course-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.course-card-top{
  padding:26px 26px 0;display:flex;align-items:flex-start;justify-content:space-between;
}
.course-icon{
  width:54px;height:54px;border-radius:14px;background:var(--gradient-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;
}
.course-category-badge{
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  background:var(--gradient-soft);color:var(--color-primary);padding:6px 12px;border-radius:50px;
}
.course-card-body{padding:20px 26px 26px;flex:1;display:flex;flex-direction:column;}
.course-card-body h3{font-size:1.2rem;margin-bottom:10px;}
.course-meta-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.course-meta-row span{font-size:.82rem;color:var(--color-muted);display:flex;align-items:center;gap:6px;}
.course-meta-row i{color:var(--color-primary);}
.course-overview{font-size:.9rem;color:var(--color-muted);margin-bottom:16px;flex:1;}
.course-features{margin-bottom:20px;}
.course-features li{font-size:.85rem;color:var(--color-text);display:flex;align-items:flex-start;gap:8px;margin-bottom:7px;}
.course-features i{color:var(--color-accent);margin-top:3px;flex-shrink:0;}
.course-card-actions{display:flex;gap:10px;}
.course-card-actions .btn{flex:1;padding:11px 14px;font-size:.83rem;}

/* ============ Modal ============ */
.modal-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);
  z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:all .3s ease;
}
.modal-overlay.active{opacity:1;visibility:visible;}
.modal-box{
  background:#fff;border-radius:var(--radius-lg);max-width:640px;width:100%;
  max-height:88vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg);
  transform:translateY(30px) scale(.97);transition:all .35s cubic-bezier(.4,0,.2,1);
}
.modal-overlay.active .modal-box{transform:translateY(0) scale(1);}
.modal-close{
  position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;
  background:var(--color-light-bg);color:var(--color-dark);font-size:1.4rem;line-height:1;
  display:flex;align-items:center;justify-content:center;z-index:2;transition:all var(--transition);
}
.modal-close:hover{background:var(--color-primary);color:#fff;transform:rotate(90deg);}
.modal-header{padding:36px 34px 20px;background:var(--gradient-soft);}
.modal-category{
  display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:var(--color-primary);background:#fff;padding:6px 14px;border-radius:50px;margin-bottom:12px;
}
.modal-header h3{font-size:1.6rem;margin-bottom:12px;}
.modal-meta{display:flex;gap:22px;flex-wrap:wrap;}
.modal-meta span{font-size:.86rem;color:var(--color-muted);display:flex;align-items:center;gap:6px;}
.modal-meta i{color:var(--color-primary);}
.modal-body{padding:26px 34px;}
.modal-section{margin-bottom:22px;}
.modal-section h4{font-size:1rem;margin-bottom:10px;color:var(--color-primary);}
.modal-section p{color:var(--color-muted);font-size:.94rem;}
.modal-list li{font-size:.9rem;color:var(--color-text);display:flex;align-items:flex-start;gap:9px;margin-bottom:8px;}
.modal-list i{color:var(--color-accent);margin-top:4px;flex-shrink:0;}
.modal-footer{padding:20px 34px 32px;display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #eef0f7;}
.modal-footer .btn{flex:1;min-width:180px;}

/* ============ Admissions ============ */
.admissions{padding:110px 0;}
.admission-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.admission-step{
  background:#fff;border-radius:var(--radius-md);padding:30px 22px;text-align:center;
  box-shadow:var(--shadow-sm);position:relative;transition:all var(--transition);
}
.admission-step:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);}
.step-num{font-family:var(--font-heading);font-weight:800;font-size:.85rem;color:var(--color-secondary);opacity:.5;margin-bottom:10px;}
.step-icon{
  width:58px;height:58px;border-radius:16px;background:var(--gradient-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 16px;
}
.admission-step h4{font-size:1.02rem;margin-bottom:8px;}
.admission-step p{font-size:.85rem;color:var(--color-muted);}

/* ============ Enquiry Form ============ */
.enquiry{padding:110px 0;background:var(--color-light-bg);}
.enquiry-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:flex-start;}
.enquiry-info p{color:var(--color-muted);margin-bottom:28px;}
.enquiry-contact-list li{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;font-weight:500;font-size:.95rem;
}
.enquiry-contact-list i{
  width:42px;height:42px;border-radius:12px;background:#fff;color:var(--color-primary);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);flex-shrink:0;
}
.enquiry-form-wrap{background:#fff;border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);position:relative;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{margin-bottom:18px;position:relative;}
.form-group label{display:block;font-size:.86rem;font-weight:600;color:var(--color-dark);margin-bottom:8px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid #e2e6f0;
  font-family:var(--font-body);font-size:.92rem;color:var(--color-text);transition:all var(--transition);
  background:#fbfcff;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(52,84,209,.1);background:#fff;
}
.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#e5484d;}
.error-msg{display:block;font-size:.76rem;color:#e5484d;margin-top:5px;min-height:14px;}
.enquiry-success{display:none;text-align:center;padding:20px 0;}
.enquiry-success.active{display:block;animation:cardIn .4s ease;}
.success-icon{font-size:3.4rem;color:var(--color-accent);margin-bottom:14px;}
.enquiry-success h3{margin-bottom:10px;}
.enquiry-success p{color:var(--color-muted);margin-bottom:24px;}
.enquiry-success .btn{margin:0 6px 10px;}

/* ============ Why Us ============ */
.why-us{padding:110px 0;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.why-card{
  padding:32px 26px;border-radius:var(--radius-md);background:var(--color-light-bg);
  transition:all var(--transition);
}
.why-card:hover{background:#fff;box-shadow:var(--shadow-md);transform:translateY(-8px);}
.why-icon{
  width:56px;height:56px;border-radius:16px;background:var(--gradient-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:18px;
}
.why-card h4{font-size:1.08rem;margin-bottom:10px;}
.why-card p{font-size:.9rem;color:var(--color-muted);}

/* ============ Facilities ============ */
.facilities{padding:110px 0;background:var(--color-light-bg);}
.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.facility-card{border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:all var(--transition);}
.facility-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.facility-card img{width:100%;height:190px;object-fit:cover;transition:transform .5s ease;}
.facility-card:hover img{transform:scale(1.08);}
.facility-content{padding:22px;}
.facility-content i{color:var(--color-primary);font-size:1.3rem;margin-bottom:10px;}
.facility-content h4{font-size:1.05rem;margin-bottom:8px;}
.facility-content p{font-size:.88rem;color:var(--color-muted);}

/* ============ Testimonials ============ */
.testimonials{padding:110px 0;}
.testimonial-track-wrap{overflow:hidden;}
.testimonial-track{display:flex;gap:26px;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.testimonial-card{
  min-width:calc(33.333% - 17.4px);background:var(--color-light-bg);border-radius:var(--radius-md);
  padding:32px;transition:all var(--transition);
}
.testimonial-card p{font-size:.95rem;color:var(--color-text);margin-bottom:22px;font-style:italic;}
.testimonial-user{display:flex;align-items:center;gap:14px;}
.testimonial-user img{width:50px;height:50px;border-radius:50%;object-fit:cover;}
.testimonial-user strong{display:block;font-size:.92rem;color:var(--color-dark);}
.testimonial-user span{font-size:.78rem;color:var(--color-muted);}
.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:34px;}
.dot{width:9px;height:9px;border-radius:50%;background:#d8deee;transition:all var(--transition);}
.dot.active{background:var(--color-primary);width:26px;border-radius:6px;}

/* ============ FAQ ============ */
.faq{padding:110px 0;background:var(--color-light-bg);}
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{background:#fff;border-radius:var(--radius-sm);margin-bottom:14px;box-shadow:var(--shadow-sm);overflow:hidden;}
.faq-question{
  width:100%;text-align:left;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;
  font-family:var(--font-heading);font-weight:600;font-size:.98rem;color:var(--color-dark);
}
.faq-question i{transition:transform var(--transition);color:var(--color-primary);}
.faq-item.active .faq-question i{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-answer p{padding:0 24px 20px;color:var(--color-muted);font-size:.9rem;}
.faq-item.active .faq-answer{max-height:220px;}

/* ============ Contact ============ */
.contact{padding:110px 0;}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;margin-bottom:40px;}
.contact-cards{display:flex;flex-direction:column;gap:16px;}
.contact-card{
  display:flex;align-items:center;gap:16px;background:var(--color-light-bg);padding:20px;
  border-radius:var(--radius-md);transition:all var(--transition);
}
.contact-card:hover{background:#fff;box-shadow:var(--shadow-md);transform:translateX(6px);}
.contact-icon{
  width:48px;height:48px;border-radius:14px;background:var(--gradient-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;
}
.contact-card h4{font-size:.9rem;margin-bottom:4px;}
.contact-card a,.contact-card span{font-size:.88rem;color:var(--color-muted);}
.contact-form-wrap{background:#fff;border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.map-placeholder{
  height:320px;background:linear-gradient(135deg,#e9edfb,#f3ecff);display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--color-primary);gap:8px;text-align:center;padding:20px;
}
.map-placeholder i{font-size:2.6rem;margin-bottom:6px;}
.map-placeholder p{font-weight:600;color:var(--color-dark);}
.map-placeholder span{font-size:.82rem;color:var(--color-muted);}

/* ============ Footer ============ */
.footer{background:var(--color-dark);color:#c9cfe0;padding-top:80px;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;}
.footer .brand-name{color:#fff;}
.footer .brand-mark{box-shadow:none;}
.footer-brand p{margin:18px 0 20px;font-size:.88rem;color:#9aa3bd;}
.footer-socials{display:flex;gap:12px;}
.footer-socials a{
  width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;transition:all var(--transition);color:#c9cfe0;
}
.footer-socials a:hover{background:var(--gradient-primary);color:#fff;transform:translateY(-3px);}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:20px;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{font-size:.88rem;color:#9aa3bd;transition:color var(--transition);}
.footer-col ul li a:hover{color:#fff;padding-left:4px;}
.footer-contact li{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:#9aa3bd;}
.footer-contact i{color:var(--color-primary);margin-top:3px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;}
.footer-bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.82rem;color:#8892ab;}

/* ============ Floating WhatsApp & Back to top ============ */
.floating-whatsapp{
  position:fixed;bottom:26px;right:26px;width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;box-shadow:0 10px 26px rgba(37,211,102,.45);z-index:900;
  animation:pulseWa 2.4s infinite;
}
.floating-whatsapp:hover{transform:scale(1.1);}
@keyframes pulseWa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

.back-to-top{
  position:fixed;bottom:26px;left:26px;width:46px;height:46px;border-radius:50%;
  background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);z-index:900;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all var(--transition);
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{transform:translateY(-4px);}

/* ============ Scroll reveal ============ */
[data-aos]{opacity:0;transform:translateY(28px);transition:opacity .6s ease, transform .6s ease;}
[data-aos].aos-in{opacity:1;transform:translateY(0);}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .hero-inner,.about-inner,.enquiry-inner,.contact-grid{grid-template-columns:1fr;}
  .about-media{order:2;margin-top:20px;}
  .about-content{order:1;}
  .hero-media{order:-1;}
  .course-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid,.facility-grid{grid-template-columns:repeat(2,1fr);}
  .admission-steps{grid-template-columns:repeat(3,1fr);}
  .testimonial-card{min-width:calc(50% - 13px);}
}

@media (max-width:900px){
  .nav-links{
    position:fixed;top:82px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;
    padding:16px 24px 26px;box-shadow:var(--shadow-md);gap:4px;
    transform:translateY(-130%);opacity:0;transition:all var(--transition);max-height:70vh;overflow-y:auto;
  }
  .nav-links.active{transform:translateY(0);opacity:1;}
  .nav-link{padding:13px 16px;border-radius:10px;}
  .hamburger{display:flex;}
  .navbar-actions .btn-sm{display:none;}
  .hero-content h1{font-size:2.3rem;}
}

@media (max-width:768px){
  .container{padding:0 18px;}
  .section-title{font-size:1.85rem;}
  .hero{padding:120px 0 70px;}
  .hero-img-wrap img{height:360px;}
  .floating-card{max-width:170px;padding:12px 14px;}
  .floating-card span{display:none;}
  .about-img-float{width:120px;height:120px;bottom:-20px;right:-14px;}
  .about-grid{grid-template-columns:1fr;}
  .course-grid{grid-template-columns:1fr;}
  .admission-steps{grid-template-columns:1fr 1fr;}
  .why-grid,.facility-grid{grid-template-columns:1fr;}
  .testimonial-card{min-width:100%;}
  .form-row{grid-template-columns:1fr;}
  .enquiry-form-wrap,.contact-form-wrap{padding:24px;}
  .modal-header,.modal-body,.modal-footer{padding-left:22px;padding-right:22px;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .hero-stats{gap:24px;}
  .floating-whatsapp{width:52px;height:52px;font-size:1.5rem;bottom:18px;right:18px;}
  .back-to-top{bottom:18px;left:18px;}
}

@media (max-width:480px){
  .hero-content h1{font-size:1.9rem;}
  .hero-btns{flex-direction:column;align-items:stretch;}
  .hero-btns .btn{width:100%;}
  .admission-steps{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .footer-bottom-inner{flex-direction:column;text-align:center;}
  .modal-footer .btn{min-width:100%;}
}
