/* ============ MADWS — Premium Design System ============ */
:root{
  --primary:#0F766E;
  --primary-600:#0d6660;
  --primary-50:#ecfdf5;
  --secondary:#2563EB;
  --accent:#F59E0B;
  --bg:#f7fafb;
  --ink:#0b1220;
  --muted:#5b6675;
  --line:rgba(15,118,110,.12);
  --glass:rgba(255,255,255,.55);
  --glass-strong:rgba(255,255,255,.75);
  --shadow-lg:0 30px 60px -20px rgba(15,118,110,.25);
  --shadow-md:0 10px 30px -10px rgba(15,23,42,.15);
  --grad-hero:radial-gradient(1200px 600px at 10% -10%, rgba(37,99,235,.18), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(245,158,11,.18), transparent 60%),
              linear-gradient(180deg,#ecfdf5 0%, #f7fafb 60%, #ffffff 100%);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter', system-ui, -apple-system, sans-serif;
  color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; margin:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display-1,.display-2,.display-3,.display-4,.brand-text,.brand-text-lg{ font-family:'Outfit', sans-serif; letter-spacing:-.02em; font-weight:700; }
.text-primary-c{color:var(--primary)!important;}
.text-accent-c{color:var(--accent)!important;}
.text-muted-c{color:var(--muted)!important;}
.border-light-c{border-color:rgba(0,0,0,.08)!important;}

/* Particles */
#tsparticles{position:fixed;inset:0;z-index:-1;pointer-events:none;}

/* ============ NAV ============ */
.glass-nav{
  background:rgba(255,255,255,.65);
  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid rgba(15,118,110,.08);
  transition:all .3s ease;
}
.glass-nav.scrolled{ background:rgba(255,255,255,.85); box-shadow:0 6px 24px -10px rgba(15,23,42,.1); }
.brand-mark{
  width:38px;height:38px;border-radius:11px;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;display:grid;place-items:center;font-size:1.1rem;
  box-shadow:0 8px 20px -6px rgba(15,118,110,.45);
}
.brand-text{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;}
.brand-text-lg{font-size:1.5rem;font-weight:800;color:var(--ink);text-decoration:none;}
.navbar .nav-link{color:#1a2230;font-weight:500;padding:.55rem .9rem!important;border-radius:10px;transition:.2s;}
.navbar .nav-link:hover{background:var(--primary-50);color:var(--primary);}
.navbar .nav-link.active{color:var(--primary);font-weight:600;}
.btn-donate{
  background:linear-gradient(135deg,var(--accent),#fb923c);color:#fff;border:0;
  padding:.55rem 1.15rem;border-radius:999px;font-weight:600;
  box-shadow:0 10px 22px -8px rgba(245,158,11,.55);transition:.2s;
}
.btn-donate:hover{transform:translateY(-1px);color:#fff;filter:brightness(1.05);}

/* ============ HERO ============ */
.hero{
  min-height:100vh; padding:140px 0 80px; position:relative;
  background:var(--grad-hero); overflow:hidden;
}
.hero .eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .9rem;border-radius:999px;
  background:var(--glass);backdrop-filter:blur(10px);
  border:1px solid var(--line);color:var(--primary);font-weight:600;font-size:.85rem;
}
.hero h1{
  font-size:clamp(2.4rem,5.5vw,4.6rem); line-height:1.02; margin:1.2rem 0;
  background:linear-gradient(180deg,#0b1220 30%, #0F766E 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero h1 .accent{
  background:linear-gradient(135deg,var(--secondary),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:580px;}
.btn-primary-c{
  background:linear-gradient(135deg,var(--primary),var(--primary-600));color:#fff;border:0;
  padding:.85rem 1.6rem;border-radius:14px;font-weight:600;
  box-shadow:0 16px 32px -10px rgba(15,118,110,.45);transition:.2s;
}
.btn-primary-c:hover{transform:translateY(-2px);color:#fff;box-shadow:0 22px 40px -10px rgba(15,118,110,.55);}
.btn-ghost-c{
  background:var(--glass-strong);backdrop-filter:blur(12px);
  border:1px solid var(--line);color:var(--ink);
  padding:.8rem 1.4rem;border-radius:14px;font-weight:600;transition:.2s;
}
.btn-ghost-c:hover{background:#fff;color:var(--primary);}

.hero-visual{position:relative;}
.hero-card{
  border-radius:28px;overflow:hidden;
  background:var(--glass-strong);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
}
.hero-card img{width:100%;height:100%;object-fit:cover;}
.float-badge{
  position:absolute;padding:.85rem 1.1rem;border-radius:18px;
  background:var(--glass-strong);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:.7rem;
}
.float-badge .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;}
.float-badge.b1{top:6%;left:-6%;animation:floaty 6s ease-in-out infinite;}
.float-badge.b2{bottom:18%;right:-8%;animation:floaty 7s ease-in-out infinite reverse;}
.float-badge.b3{bottom:-4%;left:10%;animation:floaty 8s ease-in-out infinite;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

/* ============ SECTIONS ============ */
section {
    padding: 90px 0 90px;
    position: relative;
}
.section-eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--primary);
  padding:.35rem .8rem;border-radius:999px;background:var(--primary-50);
}
.section-title{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;margin:.8rem 0 1rem;}
.section-sub{color:var(--muted);max-width:640px;font-size:1.05rem;}

/* ============ GLASS CARDS ============ */
.glass-card{
  background:var(--glass-strong);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:22px;padding:1.8rem;height:100%;
  box-shadow:0 8px 30px -12px rgba(15,23,42,.12);
  transition:transform .35s ease, box-shadow .35s ease;
}
.glass-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.svc-ico{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  color:#fff;font-size:1.4rem;margin-bottom:1rem;
}
.bg-grad-1{background:linear-gradient(135deg,var(--primary),#14b8a6);}
.bg-grad-2{background:linear-gradient(135deg,var(--secondary),#60a5fa);}
.bg-grad-3{background:linear-gradient(135deg,var(--accent),#fb923c);}
.bg-grad-4{background:linear-gradient(135deg,#8b5cf6,#ec4899);}
.bg-grad-5{background:linear-gradient(135deg,#ef4444,#f59e0b);}
.bg-grad-6{background:linear-gradient(135deg,#10b981,#06b6d4);}
.bg-grad-7{background:linear-gradient(135deg,#6366f1,#8b5cf6);}
.bg-grad-8{background:linear-gradient(135deg,#ec4899,#f43f5e);}
.bg-grad-9{background:linear-gradient(135deg,#06b6d4,#3b82f6);}

/* ============ STATS ============ */
.stats-strip{
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;border-radius:28px;padding:3rem 2rem;
  box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
}
.stats-strip::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 300px at 80% 0%, rgba(245,158,11,.35), transparent 60%);
  pointer-events:none;
}
.stat-num{font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800;line-height:1;}
.stat-lbl{opacity:.9;font-size:.95rem;margin-top:.4rem;}

/* ============ PROJECT GALLERY ============ */
.proj-card{
  border-radius:22px;overflow:hidden;position:relative;background:#000;
  aspect-ratio:4/3;cursor:pointer;
  box-shadow:0 10px 30px -12px rgba(0,0,0,.18);
  transition:transform .4s ease;
}
.proj-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;opacity:.9;}
.proj-card:hover img{transform:scale(1.07);opacity:1;}
.proj-overlay{
  position:absolute;inset:0;padding:1.4rem;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,transparent 40%, rgba(0,0,0,.85) 100%);color:#fff;
}
.proj-cat{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;}
.proj-title{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.25rem;margin:.3rem 0;}
.proj-desc{font-size:.9rem;opacity:.85;}

/* ============ EVENT CARDS ============ */
.event-card{
  display:flex;gap:1.2rem;align-items:stretch;
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;overflow:hidden;
  box-shadow:0 6px 20px -10px rgba(0,0,0,.1);transition:.3s;
}
.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.event-date{
  background:linear-gradient(180deg,var(--primary),var(--primary-600));color:#fff;
  padding:1.3rem 1.1rem;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:110px;
}
.event-date .d{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:800;line-height:1;}
.event-date .m{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-top:.25rem;}
.event-body{padding:1.2rem 1.2rem 1.2rem 0;flex:1;}
.event-body h5{margin:0 0 .35rem;font-weight:700;}
.event-meta{font-size:.85rem;color:var(--muted);}

/* ============ FORMS ============ */
.form-control,.form-select{
  border-radius:12px;border:1px solid rgba(0,0,0,.1);padding:.8rem 1rem;
  background:#fff;transition:.2s;
}
.form-control:focus,.form-select:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px rgba(15,118,110,.12);
}
.contact-card{
  background:var(--glass-strong);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.6);border-radius:24px;padding:2.2rem;
  box-shadow:var(--shadow-lg);
}

/* ============ FOOTER ============ */
.site-footer{
  background:linear-gradient(180deg,#0b1220, #0f1a2c);color:#cbd5e1;
  padding:70px 0 30px;margin-top:80px;
}
.site-footer h6{color:#fff;font-family:'Outfit',sans-serif;font-weight:700;margin-bottom:1rem;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.5rem;}
.footer-links a{color:#cbd5e1;text-decoration:none;transition:.2s;}
.footer-links a:hover{color:var(--accent);}
.social-btn{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:.2s;
}
.social-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px);}

/* ============ ADMIN ============ */
.admin-shell{display:flex;min-height:100vh;background:#f1f5f9;}
.admin-sidebar{width:260px;background:#0b1220;color:#cbd5e1;padding:1.5rem;}
.admin-sidebar .brand{color:#fff;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.3rem;margin-bottom:2rem;display:block;text-decoration:none;}
.admin-sidebar a{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-radius:10px;color:#cbd5e1;text-decoration:none;margin-bottom:.25rem;transition:.2s;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--primary);color:#fff;}
.admin-main{flex:1;padding:2rem;}
.admin-card{background:#fff;border-radius:16px;padding:1.6rem;box-shadow:0 4px 14px -6px rgba(0,0,0,.08);}
.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--grad-hero);padding:1rem;}
.login-card{background:#fff;border-radius:24px;padding:2.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg);}

/* ============ UTILS ============ */
.alert-soft{border-radius:12px;border:0;padding:.9rem 1.1rem;}
.alert-success-soft{background:#dcfce7;color:#065f46;}
.alert-danger-soft{background:#fee2e2;color:#991b1b;}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin:3rem 0;}

@media (max-width: 991px){
  .hero{padding:120px 0 60px;}
  .float-badge.b1{left:0;}
  .float-badge.b2{right:0;}
  .admin-sidebar{width:100%;display:flex;gap:.5rem;overflow-x:auto;}
  .admin-shell{flex-direction:column;}
}
