 *,
 *::before,
 *::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 :root {
   --green: #2e7d32;
   --green-lt: #4caf50;
   --green-xlt: #e8f5e9;
   --gold: #f9a825;
   --gold-lt: #fff8e1;
   --dark: #1a1a2e;
   --mid: #4a4a6a;
   --light: #f5f7fa;
   --white: #ffffff;
   --radius: 14px;
   --shadow: 0 8px 32px rgba(46, 125, 50, .13);
 }

 html {
   scroll-behavior: smooth;
 }

 body {
   font-family: 'DM Sans', sans-serif;
   color: var(--dark);
   background: var(--white);
 }

 body::-webkit-scrollbar-thumb {
  background-color: var(--green);
 }

 body::-webkit-scrollbar {
  width: 12px;
  background-color: gray;
 }

 /* ── LOADER ───────────────────────────────────────── */
#loader{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f8faf8;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  transition: opacity .7s ease, visibility .7s ease;
}

#loader.hide{
  opacity: 0;
  visibility: hidden;
}

.loader-content{
  text-align: center;
}

.loader-content img{
  width: 120px;
  margin-bottom: 15px;
  animation: floatLogo 2s ease-in-out infinite;
}

.loader-content h2{
  color: #0f5132;
  font-size: 2rem;
  margin-bottom: 5px;
}

.loader-content p{
  color: #666;
  margin-bottom: 20px;
}

.loading-text{
  color: #0f5132;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .12em;
  animation: pulse 1.5s infinite;
}

/* Animations */

@keyframes pulse{
  0%,100%{
    opacity: .4;
  }
  50%{
    opacity: 1;
  }
}

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

 /* ── NAVBAR ───────────────────────────────────────── */
 nav {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1000;
   background: rgba(255, 255, 255, .96);
   backdrop-filter: blur(12px);
   border-bottom: 2px solid var(--green-xlt);
   padding: 0 5%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: 68px;
   box-shadow: 0 2px 20px rgba(46, 125, 50, .08);
 }

 .nav-logo {
   display: flex;
   align-items: center;
   gap: 10px;
   text-decoration: none;
 }

 .nav-logo .logo-icon {
   width: 36px;
   height: 42px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .nav-logo span {
   font-family: 'Playfair Display', serif;
   font-size: 1.15rem;
   font-weight: 800;
   color: var(--green);
   line-height: 1.1;
 }

 .nav-logo small {
   display: block;
   font-size: .65rem;
   color: var(--mid);
   font-weight: 400;
   letter-spacing: .04em;
 }

 .nav-links {
   display: flex;
   align-items:
     center;
   gap: 6px;
   list-style: none;
 }

 .nav-links a {
   text-decoration: none;
   color: var(--mid);
   font-size: .88rem;
   font-weight: 500;
   padding: 7px 13px;
   border-radius: 8px;
   transition: all .2s;
 }

 .nav-links a:hover {
   background: var(--green-xlt);
   color: var(--green);
 }

 .nav-cta {
   background: var(--green) !important;
   color: var(--white) !important;
   border-radius: 8px !important;
   font-weight: 600 !important;
 }

 .nav-cta:hover {
   background: #1b5e20 !important;
 }

 .hamburger {
   display: none;
   flex-direction: column;
   gap: 5px;
   cursor: pointer;
 }

 .hamburger span {
   width: 26px;
   height: 2.5px;
   background: var(--green);
   border-radius: 2px;
   transition: .3s;
 }

 /* ── HERO ─────────────────────────────────────────── */
 #home {
   margin-top: 50px;
   min-height: 92vh;
   background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 40%, #fffde7 100%);
   display: flex;
   align-items: center;
   padding: 60px 5% 40px;
   position: relative;
   overflow: hidden;
 }

 #home::before {
   content: '';
   position: absolute;
   right: 0px;
   top: -80px;
   width: 100%;
   height: 520px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(76, 175, 80, .18) 0%, transparent 70%);
 }

 #home::after {
   content: '';
   position: absolute;
   left: 10%;
   bottom: -60px;
   width: 300px;
   height: 300px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(249, 168, 37, .15) 0%, transparent 70%);
 }

 .hero-content {
   max-width: 580px;
   z-index: 1;
 }

 .hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   background: var(--white);
   border: 1.5px solid var(--green-lt);
   color: var(--green);
   font-size: .78rem;
   font-weight: 600;
   letter-spacing: .06em;
   padding: 6px 14px;
   border-radius: 30px;
   margin-bottom: 24px;
   box-shadow: 0 2px 10px rgba(46, 125, 50, .1);
   animation: fadeUp .7s ease both;
 }

 .hero-badge::before {
   content: '🌱';
 }

 h1.hero-title {
   font-family: 'Playfair Display', serif;
   font-size: clamp(2.4rem, 5vw, 3.8rem);
   font-weight: 800;
   line-height: 1.12;
   color: var(--dark);
   animation: fadeUp .7s .1s ease both;
 }

 h1.hero-title span {
   color: var(--green);
 }

 .hero-sub {
   margin-top: 18px;
   font-size: 1.05rem;
   color: var(--mid);
   line-height: 1.7;
   animation: fadeUp .7s .2s ease both;
 }

 .hero-btns {
   margin-top: 32px;
   display: flex;
   gap: 14px;
   flex-wrap: wrap;
   animation: fadeUp .7s .3s ease both;
 }

 .btn-primary {
   padding: 14px 30px;
   background: var(--green);
   color: #fff;
   border-radius: var(--radius);
   font-weight: 600;
   font-size: .95rem;
   text-decoration: none;
   border: none;
   cursor: pointer;
   box-shadow: 0 4px 18px rgba(46, 125, 50, .3);
   transition: transform .2s, box-shadow .2s;
 }

 .btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 24px rgba(46, 125, 50, .35);
 }

 .btn-outline {
   padding: 14px 30px;
   background: transparent;
   border: 2px solid var(--green);
   color: var(--green);
   border-radius: var(--radius);
   font-weight: 600;
   font-size: .95rem;
   text-decoration: none;
   cursor: pointer;
   transition: all .2s;
 }

 .btn-outline:hover {
   background: var(--green-xlt);
 }

 .hero-stats {
   margin-top: 48px;
   display: flex;
   gap: 32px;
   flex-wrap: wrap;
   animation: fadeUp .7s .4s ease both;
 }

 .stat {
   border-left: 3px solid var(--green-lt);
   padding-left: 14px;
 }

 .stat-num {
   font-family: 'Playfair Display', serif;
   font-size: 2rem;
   font-weight: 800;
   color: var(--green);
 }

 .stat-lbl {
   font-size: .78rem;
   color: var(--mid);
   font-weight: 500;
   letter-spacing: .04em;
   text-transform: uppercase;
 }

 .hero-visual {
   position: absolute;
   right: 5%;
   /* top: 50%; */
   top: 10%;
   transform: translateY(-50%);
   width: 500px;
   z-index: 1;
   animation: fadeUp .9s .2s ease both;
 }

 .hero-img-card {
   background: var(--white);
   border-radius: 24px;
   padding: 28px;
   box-shadow: var(--shadow);
   border: 1.5px solid var(--green-xlt);
 }

 .school-building {
   width: 100%;
   height: 300px;
   background: linear-gradient(160deg, #c8e6c9 0%, #a5d6a7 100%);
   border-radius: 16px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 80px;
   position: relative;
   overflow: hidden;
 }

 .school-building::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 50px;
   background: linear-gradient(transparent, rgba(255, 255, 255, .4));
 }

 .mini-info {
   margin-top: 16px;
   display: flex;
   gap: 10px;
 }

 .mini-chip {
   flex: 1;
   background: var(--green-xlt);
   border-radius: 10px;
   padding: 10px;
   text-align: center;
 }

 .mini-chip .num {
   font-family: 'Playfair Display', serif;
   font-size: 1.4rem;
   font-weight: 800;
   color: var(--green);
 }

 .mini-chip .lbl {
   font-size: .7rem;
   color: var(--mid);
   font-weight: 500;
 }

 /* ── SECTIONS SHARED ──────────────────────────────── */
 section {
   padding: 80px 5%;
 }

 .section-tag {
   display: inline-block;
   background: var(--green-xlt);
   color: var(--green);
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   padding: 5px 14px;
   border-radius: 20px;
   margin-bottom: 12px;
 }

 .section-title {
   font-family: 'Playfair Display', serif;
   font-size: clamp(1.7rem, 3.5vw, 2.6rem);
   font-weight: 800;
   color: var(--dark);
   line-height: 1.2;
 }

 .section-title span {
   color: var(--green);
 }

 .section-sub {
   margin-top: 12px;
   font-size: 1rem;
   color: var(--mid);
   max-width: 520px;
   line-height: 1.7;
 }

 .section-header {
   margin-bottom: 48px;
 }

 .grid-3 {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
   gap: 24px;
 }

 .grid-4 {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
   gap: 24px;
 }

 /* ── ABOUT ────────────────────────────────────────── */
 #about {
   background: var(--light);
 }

 .about-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 56px;
   align-items: center;
 }

 .about-img {
   background: linear-gradient(135deg, var(--green) 0%, var(--green-lt) 100%);
   border-radius: 24px;
   width: 100%;
   height: fit-content;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: var(--shadow);
   position: relative;
 }

 .about-img::after {
   content: '';
   position: absolute;
   bottom: -16px;
   right: -16px;
   width: 120px;
   height: 120px;
   border-radius: 20px;
   background: var(--gold);
   opacity: .9;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 40px;
   z-index: -1;
 }

 .about-points {
   margin-top: 24px;
   display: flex;
   flex-direction: column;
   gap: 14px;
 }

 .about-point {
   display: flex;
   align-items: flex-start;
   gap: 12px;
 }

 .about-point-icon {
   width: 38px;
   height: 38px;
   border-radius: 10px;
   background: var(--green-xlt);
   color: var(--green);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 17px;
   flex-shrink: 0;
   margin-top: 2px;
 }

 .about-point h4 {
   font-size: .92rem;
   font-weight: 600;
   color: var(--dark);
 }

 .about-point p {
   font-size: .83rem;
   color: var(--mid);
   margin-top: 2px;
   line-height: 1.5;
 }

 /* ── STATS BAR ────────────────────────────────────── */
 #stats-bar {
   background: var(--green);
   padding: 40px 5%;
 }

 .stats-row {
   display: flex;
   justify-content: space-around;
   flex-wrap: wrap;
   gap: 24px;
 }

 .sbar-item {
   text-align: center;
 }

 .sbar-num {
   font-family: 'Playfair Display', serif;
   font-size: 2.6rem;
   font-weight: 800;
   color: var(--white);
 }

 .sbar-lbl {
   font-size: .8rem;
   color: rgba(255, 255, 255, .75);
   font-weight: 500;
   letter-spacing: .06em;
   text-transform: uppercase;
   margin-top: 4px;
 }

 /* ── FEATURES / PROGRAMS ──────────────────────────── */
 #programs {
   background: var(--white);
 }

 .prog-card {
   background: var(--white);
   border-radius: var(--radius);
   padding: 28px;
   border: 1.5px solid #e0e0e0;
   transition: all .25s;
   cursor: default;
 }

 .prog-card:hover {
   border-color: var(--green-lt);
   box-shadow: var(--shadow);
   transform: translateY(-4px);
 }

 .prog-icon {
   width: 54px;
   height: 54px;
   border-radius: 14px;
   background: var(--green-xlt);
   color: var(--green);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 24px;
   margin-bottom: 16px;
 }

 .prog-card h3 {
   font-size: 1.05rem;
   font-weight: 700;
   color: var(--dark);
   margin-bottom: 8px;
 }

 .prog-card p {
   font-size: .85rem;
   color: var(--mid);
   line-height: 1.6;
 }

 /* ── PRINCIPAL ────────────────────────────────────── */
 #principal {
   background: var(--green-xlt);
 }

 .principal-card {
   max-width: 780px;
   margin: 0 auto;
   background: var(--white);
   border-radius: 24px;
   padding: 44px 40px;
   box-shadow: var(--shadow);
   display: flex;
   gap: 36px;
   align-items: center;
 }

 .principal-avatar {
   width: 130px;
   height: 130px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   border: 4px solid var(--green-xlt);
   box-shadow: 0 4px 18px rgba(46, 125, 50, .2);
 }

 .principal-info blockquote {
   font-size: 1.05rem;
   color: var(--mid);
   line-height: 1.75;
   font-style: italic;
   border-left: 3px solid var(--green);
   padding-left: 16px;
   margin-bottom: 20px;
 }

 .principal-info h3 {
   font-family: 'Playfair Display', serif;
   font-size: 1.3rem;
   font-weight: 800;
   color: var(--dark);
 }

 .principal-info span {
   font-size: .82rem;
   color: var(--green);
   font-weight: 600;
 }

 /* ── TEACHERS ─────────────────────────────────────── */
 #teachers {
   background: var(--white);
 }

 .teacher-card {
   background: var(--white);
   border-radius: var(--radius);
   border: 1.5px solid #e8e8e8;
   overflow: hidden;
   transition: all .25s;
 }

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

 .teacher-top {
   height: 110px;
   background: linear-gradient(135deg, var(--green) 0%, #66bb6a 100%);
   display: flex;
   align-items: flex-end;
   justify-content: center;
   padding-bottom: 0;
   position: relative;
 }

 .teacher-avatar {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   background: var(--white);
   border: 4px solid var(--white);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 34px;
   position: absolute;
   bottom: -40px;
   left: 50%;
   transform: translateX(-50%);
   box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
 }

 .teacher-body {
   padding: 52px 20px 22px;
   text-align: center;
 }

 .teacher-body h3 {
   font-size: 1rem;
   font-weight: 700;
   color: var(--dark);
 }

 .teacher-body .subject {
   display: inline-block;
   margin: 6px 0 10px;
   background: var(--green-xlt);
   color: var(--green);
   font-size: .72rem;
   font-weight: 600;
   padding: 3px 10px;
   border-radius: 20px;
   letter-spacing: .04em;
 }

 .teacher-body .exp {
   font-size: .82rem;
   color: var(--mid);
 }

 .teacher-contact {
   margin-top: 12px;
   display: flex;
   justify-content: center;
   gap: 8px;
 }

 .t-btn {
   padding: 6px 12px;
   border-radius: 8px;
   font-size: .75rem;
   font-weight: 600;
   text-decoration: none;
   border: 1.5px solid var(--green);
   color: var(--green);
   transition: all .2s;
 }

 .t-btn:hover {
   background: var(--green);
   color: #fff;
 }

 /* ── STUDENTS ─────────────────────────────────────── */
 #students {
   background: var(--light);
 }

 .student-table-wrap {
   background: var(--white);
   border-radius: var(--radius);
   box-shadow: var(--shadow);
   overflow: hidden;
 }

 .table-header {
   padding: 18px 24px;
   border-bottom: 1.5px solid #f0f0f0;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 12px;
 }

 .table-header h3 {
   font-size: 1rem;
   font-weight: 700;
   color: var(--dark);
 }

 .search-input {
   padding: 8px 12px;
   border: 1.5px solid #e0e0e0;
   border-radius: 8px;
   font-size: .85rem;
   font-family: inherit;
   outline: none;
   transition: border-color .2s;
   width: 220px;
 }

 .search-input:focus {
   border-color: var(--green);
 }

 table {
   width: 100%;
   border-collapse: collapse;
 }

 thead {
   background: var(--green-xlt);
 }

 th {
   padding: 13px 18px;
   text-align: left;
   font-size: .78rem;
   font-weight: 700;
   color: var(--green);
   letter-spacing: .05em;
   text-transform: uppercase;
 }

 td {
   padding: 13px 18px;
   font-size: .85rem;
   color: var(--mid);
   border-bottom: 1px solid #f5f5f5;
 }

 tr:last-child td {
   border-bottom: none;
 }

 tr:hover td {
   background: #fafffe;
 }

 .badge {
   display: inline-block;
   padding: 3px 10px;
   border-radius: 20px;
   font-size: .72rem;
   font-weight: 700;
 }

 .badge-green {
   background: #e8f5e9;
   color: var(--green);
 }

 .badge-gold {
   background: #fff8e1;
   color: #f57f17;
 }

 .badge-blue {
   background: #e3f2fd;
   color: #1565c0;
 }

 /* ── MANAGEMENT ───────────────────────────────────── */
 #management {
   background: var(--white);
 }

 .mgmt-card {
   background: var(--light);
   border-radius: var(--radius);
   padding: 24px 20px;
   text-align: center;
   border: 1.5px solid #eee;
   transition: all .25s;
 }

 .mgmt-card:hover {
   box-shadow: var(--shadow);
   border-color: var(-- green-lt);
   transform: translateY(-3px);
 }

 .mgmt-avatar {
   width: 72px;
   height: 72px;
   border-radius: 50%;
   margin: 0 auto 14px;
   display: flex;
   align-items: center;
   justify-content: center;
   /* font-size: 30px; */
 }

 .mgmt-card h4 {
   font-size: .95rem;
   font-weight: 700;
   color: var(--dark);
 }

 .mgmt-card .role {
   font-size: .75rem;
   color: var(--green);
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: .06em;
   margin: 4px 0 10px;
 }

 .mgmt-card p {
   font-size: .8rem;
   color: var(--mid);
   line-height: 1.55;
 }

 /* ── TOURS BOARD ─────────────────────────────────── */
.tour-container{
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
}

.tour-box{
    width: 33%;
    background: var(--light);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(46, 139, 60, 0.12);
    transition: .3s ease;
    border: 1px solid rgba(46, 139, 60, 0.08);
}

.tour-box:hover{
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(46, 139, 60, 0.2);
}

.tour-box img{
    width: 100%;
    height: 260px;
    padding: 8px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    object-fit: cover;
    display: block;
}

.tour-content{
    padding: 1rem;
}

.tour-content h3{
    font-size: 1.5rem;
    color: var(--dark);
    margin-bottom: .7rem;
}

.tour-year{
    display: inline-block;
    background: var(--light);
    color: var(--green);
    padding: .4rem .9rem;
    border-radius: 30px;
    font-weight: 600;
    margin-bottom: 1rem;
}

.tour-content p{
    color: var(--mid);
    line-height: 1.7;
}

 /* ── MADDRASSA ──────────────────────────────────────── */
#maddrassa{
    /* padding: 6rem 5%; */
    background: var(--light);
}

.maddrassa-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
}

.maddrassa-img{
    width: 48%;
}

.maddrassa-img img{
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 32px;
    box-shadow: var(--shadow);
}

.maddrassa-content{
    width: 48%;
}

.maddrassa-content p{
    color: var(--mid);
    line-height: 1.4;
    font-size: 1.05rem;
}

.maddrassa-features{
    margin-top: 2rem;
}

.feature{
    display: flex;
    gap: 0.2rem;
    margin-bottom: 1.5rem;
}

.feature-icon{
    min-width: 55px;
    height: 55px;
    border-radius: 14px;
    background: var(--green-1t);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
}

.feature h4{
    color: var(--dark);
    margin-bottom: .3rem;
}

.feature p{
    margin: 0;
}

 /* ── CONTACT ──────────────────────────────────────── */
 #contact {
   background: var(--white);
 }

 .contact-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 48px;
   align-items: start;
 }

 .contact-info {
   display: flex;
   flex-direction: column;
   gap: 40px;
 }

 .contact-item {
   display: flex;
   align-items: flex-start;
   gap: 14px;
 }

 .contact-icon {
   width: 44px;
   height: 44px;
   border-radius: 12px;
   background: var(--green-xlt);
   color: var(--green);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   flex-shrink: 0;
 }

 .contact-item h4 {
   font-size: .88rem;
   font-weight: 700;
   color: var(--dark);
   margin-bottom: 2px;
 }

 .contact-item a {
   font-size: .83rem;
   color: var(--mid);
   line-height: 1.5;
   text-decoration: none;
 }

 .contact-form {
   display: flex;
   flex-direction: column;
   gap: 14px;
 }

 .form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 14px;
 }

 .input-group {
   display: flex;
   flex-direction: column;
   gap: 6px;
 }

 .input-group label {
   font-size: .78rem;
   font-weight: 600;
   color: var(--dark);
 }

 .input-group input,
 .input-group textarea,
 .input-group select {
   padding: 11px 14px;
   border: 1.5px solid #e0e0e0;
   border-radius: 10px;
   font-size: .88rem;
   font-family: inherit;
   outline: none;
   transition: border-color .2s;
   resize: vertical;
 }

 .input-group input:focus,
 .input-group textarea:focus,
 .input-group select:focus {
   border-color: var(--green);
 }

 /* ── FOOTER ───────────────────────────────────────── */
 footer {
   background: var(--dark);
   padding: 64px 5% 0;
 }

 .footer-grid {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1fr;
   gap: 40px;
   padding-bottom: 48px;
   border-bottom: 1px solid rgba(255, 255, 255, .08);
 }

 .footer-brand .logo-wrap {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 16px;
 }

 .footer-brand .logo-icon {
   width: 40px;
   height: 50px;
   border-radius: 5px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .footer-brand .name {
   font-family: 'Playfair Display', serif;
   font-size: 1.1rem;
   font-weight: 800;
   color: #fff;
 }

 .footer-brand p {
   font-size: .84rem;
   color: rgba(255, 255, 255, .55);
   line-height: 1.7;
   margin-bottom: 20px;
 }

 .social-links {
   display: flex;
   gap: 10px;
 }

 .social-btn {
   width: 36px;
   height: 36px;
   border-radius: 8px;
   background: rgba(255, 255, 255, .08);
   color: rgba(255, 255, 255, .7);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 16px;
   text-decoration: none;
   transition: all .2s;
 }

 .social-btn:hover {
   background: var(--green);
   color: #fff;
 }
 .social-btn img{
  width: 28px;
  height: 28px;
 }

 .footer-col h4 {
   font-size: .88rem;
   font-weight: 700;
   color: #fff;
   margin-bottom: 16px;
   letter-spacing: .04em;
 }

 .footer-col ul {
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: 10px;
 }

 .footer-col ul li a {
   font-size: .82rem;
   color: rgba(255, 255, 255, .5);
   text-decoration: none;
   transition: color .2s;
 }

 .footer-col ul li a:hover {
   color: var(--green-lt);
 }

 .footer-bottom {
   padding: 20px 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 10px;
 }

 .footer-bottom p {
   font-size: .78rem;
   color: rgba(255, 255, 255, .35);
 }

 .footer-tag{
   color: var(--green-lt);
 }

 /* ── SCROLL TOP ───────────────────────────────────── */
 #scrollTop {
   position: fixed;
   bottom: 28px;
   right: 28px;
   z-index: 999;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: var(--green);
   color: #fff;
   border: none;
   cursor: pointer;
   font-size: 18px;
   display: none;
   align-items: center;
   justify-content: center;
   box-shadow: 0 4px 16px rgba(46, 125, 50, .4);
   transition: transform .2s;
 }

 #scrollTop.show {
   display: flex;
 }

 #scrollTop:hover {
   transform: scale(1.1);
 }

 /* ── ANIMATIONS ───────────────────────────────────── */
 @keyframes fadeUp {
   from {
     opacity: 0;
     transform: translateY(22px);
   }

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

 .reveal {
   opacity: 0;
   transform: translateY(24px);
   transition: opacity .6s, transform .6s;
 }

 .reveal.visible {
   opacity: 1;
   transform: none;
 }

 /* ── RESPONSIVE ───────────────────────────────────── */
 @media (max-width: 1200px) {
  #home {
    flex-direction: column;
    margin-top: 75px;
   /* min-height: 92vh; */
   min-height: 100%;
   overflow: visible;
   padding: 0 10px;
  }

  .hero-content {
    max-width: 95%;
    width: 100%;
  }

  .hero-visual {
   position: relative;
   top: 0;
   right: 0;
   width: 100%;
   padding: 25px 0;
 }
 }

 @media (max-width: 900px) {
  nav .nav-links {
     display: none;
     flex-direction: column;
     position: absolute;
     top: 68px;
     left: 0;
     right: 0;
     background: #fff;
     padding: 16px;
     box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
     gap: 25px;
   }

   nav .nav-links.open {
     display: flex;
   }

   .hamburger {
     display: flex;
   }
    .school-building {
      height: 400px;
    }

    .tour-box{
        width: 100%;
    }

    .tour-box img{
      height: 350px;
      object-fit: fill;
    }

   .about-grid,
   .contact-grid {
     grid-template-columns: 1fr;
   }

   .footer-grid {
     grid-template-columns: 1fr 1fr;
   }

   .principal-card {
     flex-direction: column;
     text-align: center;
   }

   .principal-avatar {
     margin: 0 auto;
   }

   .principal-info blockquote {
     text-align: left;
   }

   .maddrassa-container{
        flex-direction: column;
    }

    .maddrassa-img,
    .maddrassa-content{
        width: 100%;
    }

    .maddrassa-content h2{
        font-size: 2.2rem;
    }

    .maddrassa-img img{
        height: 350px;
    }
 }

 @media (max-width: 620px) {
   .hero-content {
    max-width: 100%;
   }

   .school-building {
      height: 100%;
    }

   #home{
    flex-direction: column;
   }

   .tour-box img{
      height: 250px;
      object-fit: fill;
    }

   .footer-grid {
     grid-template-columns: 1fr;
   }

   .form-row {
     grid-template-columns: 1fr;
   }

   .stats-row {
     gap: 28px;
   }
 }
 @media (max-width: 450px) {
  .grid-3 {
    grid-template-columns: none;
  }

  #home {
   margin-top: 25px;
   min-height: 100%;
   overflow: visible;
   padding: 0 10px;
 }

 .hero-content {
  padding-top: 68px;
 }
 .event-card {
   padding: 10px;
   gap: 8px;
 }
 }