/* ===== BASE STYLES ===== */
*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Noto Nastaliq Urdu',serif;background:#f7f5f0;color:#1a1a1a;scroll-behavior:smooth;direction:rtl;}
.pic{width:70%;height:250px;}
.color-white{background-color:#ffffff;}

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.03);}}
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes twinkle{0%,100%{opacity:0.6;}50%{opacity:1;transform:scale(1.1);}}
@keyframes ripple{0%{transform:scale(0);opacity:1;}100%{transform:scale(2.5);opacity:0;}}
@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(201,168,76,0.3);}50%{box-shadow:0 0 20px rgba(201,168,76,0.6);}}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* ===== NAVIGATION ===== */
nav{background:#ffffff;padding:0 4%;display:flex;align-items:center;justify-content:space-between;height:90px;position:sticky;top:0;z-index:200;box-shadow:0 2px 10px rgba(0,0,0,0.1);}
.nav-logo{font-family:'Noto Nastaliq Urdu',serif;font-size:26px;color:#0d1f3c;letter-spacing:1px;flex-shrink:0;}
.nav-logo img{height:56px;vertical-align:middle;}
.nav-links{display:flex;gap:35px;list-style:none;}
.nav-links a{color:#0d1f3c;text-decoration:none;font-size:22px;font-weight:500;transition:color 0.2s,transform 0.2s;position:relative;}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;
  background:#c9a84c;transition:width 0.3s ease-out;
}
.nav-links a:hover::after{width:100%;}
.nav-links a:hover{color:#c9a84c;transform:translateY(-2px);}
.nav-cta{background:#c9a84c;color:#0d1f3c;border:none;padding:9px 20px;border-radius:4px;font-size:17px;font-weight:600;cursor:pointer;font-family:'Noto Nastaliq Urdu',serif;transition:transform 0.2s,box-shadow 0.2s;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(201,168,76,0.4);}

/* ===== HERO SECTION ===== */
.hero{background:#0d1f3c;padding:80px 4% 70px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.hero-badge{display:inline-block;background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.4);color:#c9a84c;font-size:16px;font-weight:500;padding:6px 16px;border-radius:2px;margin-bottom:20px;animation:fadeInUp 0.6s ease-out 0.1s both;}
.hero h1{font-size:46px;line-height:1.6;color:#e8dfc8;margin-bottom:18px;animation:fadeInUp 0.6s ease-out 0.2s both;}
.hero h1 em{color:#c9a84c;font-style:normal;}
.hero p{font-size:20px;line-height:2.2;color:#8a9ab5;margin-bottom:32px;max-width:460px;animation:fadeInUp 0.6s ease-out 0.3s both;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;animation:fadeInUp 0.6s ease-out 0.4s both;}
.btn-primary{background:#c9a84c;color:#0d1f3c;padding:12px 26px;border-radius:4px;font-size:22px;font-weight:600;text-decoration:none;display:inline-block;font-family:'Noto Nastaliq Urdu',serif;transition:transform 0.2s,box-shadow 0.2s;position:relative;overflow:hidden;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(201,168,76,0.35);}
.btn-primary:active{transform:translateY(-1px);box-shadow:0 4px 10px rgba(201,168,76,0.3);}
.btn-outline{border:1px solid rgba(232,223,200,0.3);color:#e8dfc8;padding:12px 26px;border-radius:4px;font-size:22px;text-decoration:none;display:inline-block;font-family:'Noto Nastaliq Urdu',serif;transition:background 0.2s,transform 0.2s;}
.btn-outline:hover{background:rgba(232,223,200,0.1);transform:translateY(-3px);}
.hero-visual{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:14px;animation:fadeIn 0.8s ease-out 0.5s both;position:relative;overflow:hidden;}
.hero-visual::before{
  content:'✦';position:absolute;top:10px;right:20px;font-size:22px;color:#c9a84c;
  opacity:0.5;animation:twinkle 2.5s ease-in-out infinite;
}
.hero-visual::after{
  content:'✦';position:absolute;bottom:15px;left:20px;font-size:22px;color:#c9a84c;
  opacity:0.4;animation:twinkle 2s ease-in-out infinite 0.5s;
}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.stat-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:6px;padding:18px;text-align:center;transition:transform 0.3s,background 0.3s,box-shadow 0.3s;position:relative;overflow:hidden;cursor:pointer;}
.stat-card::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,#c9a84c,transparent);transition:left 0.5s;
}
.stat-card:hover::before{left:100%;}
.stat-card:hover{transform:translateY(-4px);background:rgba(255,255,255,0.08);box-shadow:0 8px 24px rgba(201,168,76,0.2);}
.stat-card .num{font-size:32px;color:#c9a84c;display:block;margin-bottom:4px;font-weight:700;transition:transform 0.3s;}
.stat-card:hover .num{transform:scale(1.1);}
.stat-card .lbl{font-size:16px;color:#8a9ab5;}
.quote-block{background:rgba(201,168,76,0.08);border-right:3px solid #c9a84c;border-left:none;padding:14px 18px 14px 14px;border-radius:6px 0 0 6px;animation:fadeInUp 0.6s ease-out 0.6s both;}
.quote-block p{font-size:22px;color:#b0bcd0;line-height:2;font-style:italic;}
.quote-block cite{font-size:16px;color:#c9a84c;font-style:normal;margin-top:6px;display:block;}

/* ===== SECTIONS COMMON ===== */
section{padding:70px 4%;}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(-20px);}to{opacity:1;transform:translateX(0);}}
.section-label{font-size:16px;letter-spacing:1px;color:#c9a84c;font-weight:600;margin-bottom:10px;}
.section-label:hover{transform:translateX(4px);transition:transform 0.3s;display:inline-block;}
.section-title{font-size:38px;color:#0d1f3c;line-height:1.6;margin-bottom:12px;}
.section-sub{font-size:19px;color:#5a6478;line-height:2.2;max-width:560px;margin-bottom:40px;}

/* ===== ABOUT SECTION ===== */
.about{background:#fff;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;}
.pillar{background:#f7f5f0;border-radius:6px;padding:18px;border-top:3px solid #c9a84c;transition:transform 0.3s;}
.pillar:hover{transform:translateY(-3px);}
.pillar h4{font-size:17px;font-weight:600;color:#0d1f3c;margin-bottom:5px;}
.pillar p{font-size:17px;color:#5a6478;line-height:1.9;}
.about-img{background:linear-gradient(135deg,#0d1f3c 0%,#1a3260 100%);border-radius:8px;height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.about-img .icon{width:72px;height:72px;background:rgba(201,168,76,0.15);border:2px solid rgba(201,168,76,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;animation:float 3s ease-in-out infinite;}
.about-img p{color:#e8dfc8;font-size:22px;}

/* ===== MAQASID SECTION ===== */
.maqasid{background:#f7f5f0;}
.maqasid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.maqasid-card{background:#fff;border-radius:8px;padding:28px 22px;border:1px solid #e8e4db;position:relative;overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;}
.maqasid-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,31,60,0.12);}
.maqasid-card .num{font-size:44px;color:rgba(13,31,60,0.07);position:absolute;top:10px;left:16px;line-height:1;font-weight:700;}
.maqasid-card .icon{font-size:26px;margin-bottom:10px;display:block;}
.maqasid-card h3{font-size:19px;font-weight:600;color:#0d1f3c;margin-bottom:8px;line-height:1.6;}
.maqasid-card p{font-size:17px;color:#5a6478;line-height:2;}

/* ===== PROGRAMS SECTION ===== */
.programs{background:#fff;}
.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.program-card{background:#f7f5f0;border-radius:8px;padding:24px 20px;border:1px solid #e8e4db;transition:transform 0.2s,box-shadow 0.2s;}
.program-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(13,31,60,0.1);}
.program-card h3{font-size:19px;font-weight:600;color:#0d1f3c;margin-bottom:8px;line-height:1.6;}
.program-card p{font-size:17px;color:#5a6478;line-height:2;margin-bottom:16px;}
.program-card a{font-size:17px;color:#c9a84c;text-decoration:none;font-weight:600;transition:color 0.2s;}
.program-card a:hover{color:#0d1f3c;}

/* ===== LIBRARY SECTION ===== */
.library{
  background:#0d1f3c;
  padding:40px 20px;
}

/* GRID FIX */
.library-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr); /* 4 equal columns */
  gap:16px;
}

/* CARD STYLE */
.lib-card{
  background:rgba(255, 255, 255, 0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  padding:20px;
  transition:all 0.3s ease;
  text-align:right;
  color:#e8dfc8;

  /* SAME HEIGHT FIX */
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* TYPE TEXT */
.lib-type{
  font-size:15px;
  color:#b18b23;
  margin-bottom:10px;
  font-weight:600;
}

/* ACTION LINKS */
.lib-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.lib-actions a{
  font-size:16px;
  color:#ad8a29;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:0.2s;
}

.lib-actions a:hover{
  color:#e8dfc8;
  transform:translateX(2px);
}

/* HOVER EFFECT */
.lib-card:hover{
  background:rgba(255,255,255,0.08);
  transform:translateY(-4px);
  border-color:rgba(201,168,76,0.4);
}

/* REMOVE FEATURED SIZE DIFFERENCE */
.lib-featured{
  grid-column:span 1; /* ab sab equal honge */
}

/* 📱 RESPONSIVE (mobile) */
@media (max-width: 992px){
  .library-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width: 576px){
  .library-grid{
    grid-template-columns:1fr;
  }
}
.lib-clor {color:#c3c3c3; text-decoration:none; transition:color 0.2s;}
.lib-card h4{color:#e8dfc8;}
.lib-card h4 a:hover{color:#9a7511;text-decoration:double;}
.lib-actions a{font-size:16px;color:#c9a84c;text-decoration:none;transition:color 0.2s,transform 0.2s;display:inline-flex;align-items:center;gap:6px;}
/* ===== GALLERY SECTION ===== */

.gallery{background:#f7f5f0;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:12px;}
.gallery-item{border-radius:8px;overflow:hidden;position:relative;cursor:pointer;}
.gallery-item.large{grid-column:span 2;grid-row:span 2;}
.gallery-img{width:100%;min-height:160px;display:flex;align-items:center;justify-content:center;font-size:32px;}
.gallery-item.large .gallery-img{min-height:340px;}
.g1{background:linear-gradient(135deg,#0d1f3c,#1a3260);}
.g2{background:linear-gradient(135deg,#1a3260,#2a4a80);}
.g3{background:linear-gradient(135deg,#7a5010,#c9a84c);}
.g4{background:linear-gradient(135deg,#1e3a2e,#2d5a42);}
.g5{background:linear-gradient(135deg,#3a1a2e,#6a3050);}
.gallery-label{position:absolute;bottom:10px;right:12px;left:12px;text-align:right;}
.gallery-label span{font-size:15px;color:rgba(232,223,200,0.9);background:rgba(13,31,60,0.6);padding:4px 10px;border-radius:3px;font-family:'Noto Nastaliq Urdu',serif;}
.view-all-btn {display:inline-block;border:2px solid rgba(56, 28, 123, 0.3);background:#0d1f3c;color:#e8dfc8;padding:12px 26px;border-radius:4px;font-size:22px;text-decoration:none;font-weight:600;font-family:'Noto Nastaliq Urdu',serif;}
.view-all-btn:hover{background:#c99300;color:#0d1f3c;text-decoration:wavy;}
/* ===== GALLERY FULL SECTION ===== */
.gallery-full{background:#f7f5f0;}
.gallery-full-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:24px;}
.gallery-full-item{border-radius:8px;overflow:hidden;background:#fff;border:1px solid #e8e4db;transition:transform 0.3s,box-shadow 0.3s;}
.gallery-full-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(13,31,60,0.15);}
.gallery-full-item img{width:100%;height:320px;object-fit:cover;}
.gallery-item img{cursor:pointer;}
.gallery-full-item img{cursor:pointer;}
.gallery-full-item h3{margin:8px 0 4px;font-size:22px;color:#0d1f3c;}
.gallery-full-item h2{margin:0 0 8px 8px;font-size:22px;color:#5a6478;font-weight:400;}

/* ===== ZIMMEDARAN (no card backgrounds) ===== */
#zimmedaran .gallery-full-item{background:none;border:none;border-radius:0;text-align:center;}
#zimmedaran .gallery-full-item:hover{transform:none;box-shadow:none;}
#zimmedaran .gallery-full-item img{width:220px;height:220px;border-radius:50%;object-fit:cover;margin:0 auto;display:block;border:3px solid rgba(201,168,76,0.3);}
#zimmedaran .gallery-full-item h3{margin:14px 0 4px;font-size:19px;color:#5a6478;font-weight:400;}
#zimmedaran .gallery-full-item h2{margin:0 0 8px;font-size:22px;color:#0d1f3c;}

/* ===== MODAL ===== */
.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,0.9);}
.modal-content{margin:auto;display:block;width:80%;max-width:700px;max-height:80vh;object-fit:contain;border-radius:4px;}
.close{position:absolute;top:15px;right:35px;color:#f1f1f1;font-size:44px;font-weight:bold;transition:0.3s;cursor:pointer;}
.close:hover,.close:focus{color:#bbb;text-decoration:none;}
#caption{margin:auto;display:block;width:80%;max-width:700px;text-align:center;color:#ccc;padding:10px 0;font-size:20px;}

/* ===== EVENTS SECTION ===== */
.events{background:#fff;}
.events-list{display:flex;flex-direction:column;gap:14px;}
.event-item{display:grid;grid-template-columns:auto 1fr 80px;gap:18px;align-items:center;background:#f7f5f0;border-radius:6px;padding:18px 22px;border-right:4px solid #c9a84c;border-left:none;transition:transform 0.3s,box-shadow 0.3s,border-right-color 0.3s;}
.event-item:hover{transform:translateX(-6px);box-shadow:0 8px 24px rgba(13,31,60,0.1);border-right-color:#c9a84c;}
.event-date{text-align:center;min-width:64px;}
.event-date .day{font-size:30px;color:#0d1f3c;display:block;line-height:1;font-weight:700;transition:color 0.2s;}
.event-item:hover .event-date .day{color:#c9a84c;}
.event-date .month{font-size:15px;color:#c9a84c;font-weight:600;}
.event-info h4{font-size:22px;font-weight:600;color:#0d1f3c;margin-bottom:4px;line-height:1.6;}
.event-info p{font-size:16px;color:#5a6478;line-height:1.8;}
.event-tag{background:#0d1f3c;color:#e8dfc8;font-size:15px;padding:5px 10px;border-radius:3px;white-space:nowrap;text-align:center;font-family:'Noto Nastaliq Urdu',serif;}

/* ===== IMPACT SECTION ===== */
.impact{background:#0d1f3c;}
.impact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.08);border-radius:8px;overflow:hidden;margin-top:40px;}
.impact-stat{background:#0d1f3c;padding:32px 24px;text-align:center;transition:background 0.3s;}
.impact-stat:hover{background:rgba(201,168,76,0.1);}
.impact-stat .n{font-size:42px;color:#c9a84c;display:block;margin-bottom:6px;font-weight:700;transition:transform 0.3s;}
.impact-stat:hover .n{transform:scale(1.1);}
.impact-stat .d{font-size:16px;color:#8a9ab5;}

/* ===== CTA BAND ===== */
.cta-band{background:#c9a84c;padding:56px 4%;text-align:center;}
.cta-band h2{font-size:36px;color:#0d1f3c;margin-bottom:12px;line-height:1.6;}
.cta-band p{font-size:19px;color:#5a3d0a;margin-bottom:28px;max-width:480px;margin-left:auto;margin-right:auto;line-height:2;}
.btn-dark{background:#0d1f3c;color:#e8dfc8;padding:13px 30px;border-radius:4px;font-size:22px;font-weight:600;text-decoration:none;display:inline-block;font-family:'Noto Nastaliq Urdu',serif;transition:transform 0.2s,box-shadow 0.2s;}
.btn-dark:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,31,60,0.3);}

/* ===== FOOTER ===== */
footer{background:#0a1828;padding:44px 4% 24px;color:#5a7090;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
.footer-brand p{font-size:17px;line-height:2;color:#4a6080;margin-top:10px;}
.footer-col h5{font-size:16px;color:#c9a84c;margin-bottom:12px;font-weight:600;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:7px;}
.footer-col ul li a{color:#4a6080;font-size:17px;text-decoration:none;transition:color 0.2s,transform 0.2s;display:inline-block;}
.footer-col ul li a:hover{color:#b0bcd0;transform:translateX(4px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:18px;display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:16px;color:#2e4060;}

/* ===== RESPONSIVE STYLES ===== */
@media (max-width: 1024px) {
  .hero { padding: 60px 4% 50px; gap: 40px; }
  .hero h1 { font-size: 36px; }
  .about-grid { gap: 40px; }
  .maqasid-grid { grid-template-columns: repeat(2, 1fr); }
  .programs-grid { grid-template-columns: repeat(2, 1fr); }
  .library-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .impact-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  nav { height: 72px; padding: 0 3%; }
  .nav-logo { font-size: 22px; }
  .nav-logo img { height: 48px; }
  .nav-links { display: none; }
  .nav-cta { padding: 8px 16px; font-size: 16px; }
  .hero { grid-template-columns: 1fr; padding: 50px 3% 40px; text-align: center; }
  .hero h1 { font-size: 32px; }
  .hero p { margin: 0 auto 24px; }
  .hero-btns { justify-content: center; }
  .hero-visual { max-width: 400px; margin: 0 auto; }
  section { padding: 50px 3%; }
  .section-title { font-size: 30px; }
  .section-sub { font-size: 18px; }
  .about-grid { grid-template-columns: 1fr; gap: 30px; }
  .about-img { height: 280px; }
  .pillars { grid-template-columns: 1fr; }
  .maqasid-grid { grid-template-columns: 1fr; }
  .programs-grid { grid-template-columns: 1fr; }
  .library-grid { grid-template-columns: 1fr; }
  .lib-featured { grid-column: span 1; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-item.large { grid-column: span 2; grid-row: span 1; }
  .gallery-item.large .gallery-img { min-height: 200px; }
  .gallery-full-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 15px; }
  .events-list { gap: 10px; }
  .event-item { grid-template-columns: auto 1fr; gap: 12px; padding: 14px 16px; }
  .event-tag { display: none; }
  .impact-stats { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .impact-stat { padding: 24px 16px; }
  .impact-stat .n { font-size: 32px; }
  .cta-band { padding: 40px 3%; }
  .cta-band h2 { font-size: 28px; }
  footer { padding: 32px 3% 18px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .footer-brand { grid-column: span 2; }
}
@media (max-width: 480px) {
  nav { height: 60px; padding: 0 4%; }
  .nav-logo img { height: 42px; }
  .nav-cta { padding: 6px 12px; font-size: 15px; }
  .hero { padding: 40px 4% 30px; }
  .hero h1 { font-size: 22px; }
  .hero p { font-size: 18px; }
  .hero-badge { font-size: 14px; padding: 4px 12px; }
  .btn-primary, .btn-outline { padding: 10px 18px; font-size: 17px; }
  .stat-row { grid-template-columns: 1fr; }
  .stat-card { padding: 14px; }
  .stat-card .num { font-size: 22px; }
  .stat-card .lbl { font-size: 15px; }
  .quote-block { padding: 12px 14px; }
  .quote-block p { font-size: 16px; }
  section { padding: 40px 4%; }
  .section-label { font-size: 15px; }
  .section-title { font-size: 22px; margin-bottom: 10px; }
  .section-sub { font-size: 17px; margin-bottom: 24px; }
  .about-img { height: 220px; }
  .about-img .icon { width: 48px; height: 48px; font-size: 24px; }
  .pillar { padding: 14px; }
  .pillar h4 { font-size: 16px; }
  .pillar p { font-size: 16px; }
  .maqasid-card { padding: 20px 16px; }
  .maqasid-card .num { font-size: 32px; top: 8px; left: 12px; }
  .maqasid-card .icon { font-size: 22px; }
  .maqasid-card h3 { font-size: 18px; }
  .maqasid-card p { font-size: 16px; }
  .program-card { padding: 18px 14px; }
  .program-icon { width: 36px; height: 36px; font-size: 20px; }
  .program-card h3 { font-size: 18px; }
  .program-card p { font-size: 16px; }
  .library { padding: 40px 4%; }
  .lib-card { padding: 16px 14px; }
  .lib-card h4 { font-size: 17px; }
  .lib-card p { font-size: 15px; }
  .lib-featured h4 { font-size: 18px; }
  .gallery-grid { grid-template-columns: 1fr; gap: 10px; }
  .gallery-item.large { grid-column: span 1; }
  .gallery-img { min-height: 140px; font-size: 28px; }
  .gallery-item.large .gallery-img { min-height: 180px; }
  .view-all-btn { padding: 10px 20px; font-size: 17px; }
  .gallery-full-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
  .gallery-full-item img { height: 150px; }
  .gallery-full-item h3 { font-size: 16px; margin: 8px; }
  .event-item { grid-template-columns: 1fr; text-align: center; }
  .event-date { display: flex; gap: 8px; justify-content: center; align-items: center; }
  .event-date .day { font-size: 24px; }
  .event-date .month { font-size: 14px; }
  .event-info h4 { font-size: 17px; }
  .event-info p { font-size: 15px; }
  .impact-stats { grid-template-columns: 1fr; }
  .impact-stat { padding: 20px 14px; }
  .impact-stat .n { font-size: 28px; }
  .impact-stat .d { font-size: 15px; }
  .cta-band { padding: 32px 4%; }
  .cta-band h2 { font-size: 24px; }
  .cta-band p { font-size: 17px; }
  .btn-dark { padding: 11px 22px; font-size: 17px; }
  footer { padding: 28px 4% 16px; }
  .footer-grid { grid-template-columns: 1fr; gap: 18px; }
  .footer-brand { grid-column: span 1; }
  .footer-col h5 { font-size: 15px; margin-bottom: 10px; }
  .footer-col ul li a { font-size: 16px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
}

  




