:root{
  --bg:#07111e;--bg2:#0b1929;--ac:#f97316;--ac2:#1d4ed8;--ac3:#fbbf24;
  --acg:linear-gradient(135deg,#f97316,#fb923c,#fbbf24);
  --tx:#dff0fc;--tx2:#7a9ab5;
  --gl:rgba(11,25,41,.85);--glb:rgba(249,115,22,.15);
  --cd:rgba(15,32,53,.92);--rd:16px;
  --sh:0 8px 40px rgba(249,115,22,.12);
  --gw:0 0 30px rgba(249,115,22,.4);
}
[data-theme="light"]{
  --bg:#f8f9ff;--bg2:#edf2fc;
  --ac:#e06200;--ac2:#1e3a8a;
  --tx:#0a1225;--tx2:#374e6a;
  --gl:rgba(248,249,255,.94);--glb:rgba(224,98,0,.2);
  --cd:rgba(255,255,255,.97);
  --sh:0 8px 40px rgba(224,98,0,.1);--gw:0 0 24px rgba(224,98,0,.28);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Cairo',sans-serif;background:var(--bg);color:var(--tx);overflow-x:hidden;transition:background .4s,color .4s;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-thumb{background:var(--ac);border-radius:3px;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
#pc{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:10px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--gl);backdrop-filter:blur(24px);border-bottom:1px solid var(--glb);transition:box-shadow .3s;}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;text-decoration:none;min-width:0;}
.logo img{width:52px;height:52px;object-fit:contain;border-radius:8px;flex-shrink:0;}
.logo-txt{font-family:'Tajawal',sans-serif;font-size:.88rem;font-weight:800;line-height:1.3;color:var(--ac);min-width:0;}
.logo-txt small{display:block;font-size:.62rem;font-weight:500;color:var(--tx2);}
.nl{display:flex;align-items:center;gap:18px;list-style:none;}
.nl a{color:var(--tx2);font-size:.84rem;font-weight:600;transition:color .3s;position:relative;}
.nl a::after{content:'';position:absolute;bottom:-4px;right:0;left:0;height:1.5px;background:var(--ac);transform:scaleX(0);transition:transform .3s;transform-origin:right;}
.nl a:hover{color:var(--ac);}
.nl a:hover::after{transform:scaleX(1);}
.na{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.bth{background:none;border:1px solid var(--glb);border-radius:50px;padding:6px 12px;cursor:pointer;color:var(--tx2);font-size:.9rem;transition:all .3s;}
.bth:hover{border-color:var(--ac);color:var(--ac);}
/* ── Hamburger ── */
.hbg{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:1px solid var(--glb);border-radius:8px;padding:6px 7px;width:36px;height:36px;transition:border-color .3s;flex-shrink:0;}
.hbg:hover{border-color:var(--ac);}
.hbg span{width:18px;height:2px;background:var(--tx);display:block;border-radius:2px;transition:transform .35s,opacity .25s,background .3s;}
.hbg.open span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--ac);}
.hbg.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hbg.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--ac);}
/* ── Mobile menu backdrop ── */
.nav-backdrop{display:none;position:fixed;inset:0;z-index:799;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);}
.nav-backdrop.on{display:block;}

/* ── HERO ── */
#hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  position:relative;z-index:1;padding:120px 5% 80px;text-align:center;overflow:hidden;
  transform:translateZ(0);-webkit-transform:translateZ(0);
  isolation:isolate;
}
/* animated grid */
#hero::before{
  content:'';position:absolute;inset:-55px;z-index:0;
  background-image:linear-gradient(rgba(249,115,22,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(249,115,22,.05) 1px,transparent 1px);
  background-size:55px 55px;
  animation:gridMove 18s linear infinite;
  will-change:transform;
}
@keyframes gridMove{from{transform:translate(0,0);}to{transform:translate(55px,55px);}}
/* center glow */
#hero::after{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:650px;height:650px;border-radius:50%;
  background:radial-gradient(circle,rgba(249,115,22,.1) 0%,transparent 68%);
  animation:glowP 4s ease-in-out infinite;pointer-events:none;z-index:0;
  will-change:transform,opacity;
}
@keyframes glowP{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18);}}
/* rings */
.hring{
  position:absolute;border-radius:50%;left:50%;top:50%;
  transform:translate(-50%,-50%);pointer-events:none;z-index:0;
  border:1px solid rgba(249,115,22,.15);
  animation:ringEx 6s ease-out infinite;
  will-change:transform,opacity;
}
.hring:nth-child(1){width:220px;height:220px;animation-delay:0s;}
.hring:nth-child(2){width:400px;height:400px;animation-delay:1.8s;border-color:rgba(249,115,22,.09);}
.hring:nth-child(3){width:600px;height:600px;animation-delay:3.6s;border-color:rgba(249,115,22,.05);}
@keyframes ringEx{0%{transform:translate(-50%,-50%) scale(.5);opacity:.9;}100%{transform:translate(-50%,-50%) scale(1.5);opacity:0;}}
/* sparks */
.spk{position:absolute;pointer-events:none;z-index:0;width:5px;height:5px;border-radius:50%;background:var(--ac);animation:spkF linear infinite;}
.spk:nth-child(4){top:18%;right:18%;animation-duration:7s;animation-delay:0s;}
.spk:nth-child(5){top:68%;left:12%;animation-duration:9s;animation-delay:2s;}
.spk:nth-child(6){top:38%;left:22%;animation-duration:6s;animation-delay:4s;}
.spk:nth-child(7){top:78%;right:28%;animation-duration:8s;animation-delay:1s;}
.spk:nth-child(8){top:12%;left:38%;animation-duration:5.5s;animation-delay:3s;}
@keyframes spkF{0%{transform:translateY(0) scale(1);opacity:.8;}100%{transform:translateY(-70px) scale(.2);opacity:0;}}
/* lightning */
.lw{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.blt{position:absolute;opacity:0;animation:bfa 9s infinite;filter:drop-shadow(0 0 5px var(--ac));}
.blt:nth-child(9){top:8%;right:10%;animation-delay:0s;}
.blt:nth-child(10){top:52%;left:7%;animation-delay:4.5s;}
.blt:nth-child(11){top:24%;right:36%;animation-delay:7.5s;}
.blt:nth-child(12){top:70%;right:5%;animation-delay:2s;}
.blt:nth-child(13){top:15%;left:5%;animation-delay:6s;}
.blt:nth-child(14){top:40%;right:50%;animation-delay:3.5s;}
.blt:nth-child(15){top:85%;left:30%;animation-delay:1s;}
.blt:nth-child(16){top:5%;right:60%;animation-delay:8s;}
@keyframes bfa{0%,88%,100%{opacity:0;}90%,96%{opacity:.9;}93%,99%{opacity:.2;}}
/* floating page-wide bolts */
.bolt-float{position:fixed;pointer-events:none;z-index:0;opacity:0;animation:boltFloat linear infinite;filter:drop-shadow(0 0 5px var(--ac));}
@keyframes boltFloat{0%{opacity:0;transform:translateY(0) scale(.7);}10%{opacity:.55;}50%{opacity:.25;}90%{opacity:.5;}100%{opacity:0;transform:translateY(-110px) scale(.35);}}

/* ── LIBRARY SECTION ── */
#library{background:var(--bg);}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.lib-card{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:28px 24px;text-align:center;cursor:pointer;transition:all .35s;position:relative;overflow:hidden;}
.lib-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(249,115,22,.06));pointer-events:none;}
.lib-card:hover{transform:translateY(-6px);box-shadow:var(--gw);border-color:rgba(249,115,22,.4);}
.lib-card-icon{width:62px;height:62px;border-radius:50%;background:rgba(249,115,22,.12);border:1.5px solid rgba(249,115,22,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.5rem;color:var(--ac);transition:all .35s;}
.lib-card:hover .lib-card-icon{background:rgba(249,115,22,.22);transform:scale(1.1);}
.lib-card h3{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:800;margin-bottom:8px;color:var(--tx);}
.lib-card p{font-size:.8rem;color:var(--tx2);margin-bottom:12px;line-height:1.7;}
.lib-count{font-size:.78rem;color:var(--ac);font-weight:600;margin-bottom:14px;}
/* lib modals */
.lib-modal-ov{display:none;position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:16px;}
.lib-modal-ov.on{display:flex;}
.lib-modal{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:32px 28px;position:relative;animation:modalIn .3s both;}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(20px);}to{opacity:1;transform:none;}}
.lib-modal h2{font-family:'Tajawal',sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:6px;color:var(--ac);}
.lib-modal-close{position:absolute;top:14px;left:14px;background:none;border:none;color:var(--tx2);font-size:1.1rem;cursor:pointer;padding:7px;border-radius:8px;transition:all .3s;}
.lib-modal-close:hover{color:var(--ac);background:rgba(249,115,22,.1);}
.lib-courses-list{display:flex;flex-direction:column;gap:11px;margin-top:18px;}
.lib-course-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg2);border:1px solid var(--glb);border-radius:12px;padding:12px 16px;transition:all .3s;}
.lib-course-item:hover{border-color:rgba(249,115,22,.3);}
.lib-course-name{font-size:.9rem;font-weight:600;color:var(--tx);}
.lib-course-btn{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:50px;padding:6px 16px;color:var(--ac);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .3s;white-space:nowrap;}
.lib-course-btn:hover{background:var(--ac);color:#fff;}
.lib-res-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px;}
.lib-res-card{background:var(--bg2);border:1px solid var(--glb);border-radius:12px;padding:18px 14px;text-align:center;transition:all .3s;}
.lib-res-card:hover{border-color:rgba(249,115,22,.4);transform:translateY(-3px);}
.lib-res-card i{font-size:1.6rem;color:var(--ac);margin-bottom:10px;display:block;}
.lib-res-card h4{font-size:.85rem;font-weight:700;margin-bottom:12px;color:var(--tx);}
.lib-discover-btn{display:inline-block;background:var(--acg);border:none;border-radius:50px;padding:8px 18px;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;text-decoration:none;transition:all .3s;}
.lib-discover-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.4);}
.lib-discover-btn.empty{background:rgba(249,115,22,.1);color:var(--tx2);pointer-events:none;cursor:default;}
/* ── COMMITTEES (TEAM) ── */
#team{background:var(--bg2);}
.cmg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:1150px;margin:0 auto;}
.cmc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:0;overflow:hidden;transition:all .4s;display:flex;flex-direction:column;}
.cmc:hover{transform:translateY(-6px);border-color:var(--ac);box-shadow:var(--sh);}
.cmc-head{padding:28px 22px 20px;text-align:center;border-bottom:1px solid var(--glb);}
.cmc-avatar{width:90px;height:90px;border-radius:50%;margin:0 auto 14px;border:3px solid var(--glb);overflow:hidden;background:linear-gradient(135deg,var(--ac),var(--ac2));transition:border-color .3s;}
.cmc:hover .cmc-avatar{border-color:var(--ac);}
.cmc-avatar img{width:100%;height:100%;object-fit:cover;}
.cmc-avatar-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#fff;}
.cmc-name{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:800;margin-bottom:3px;color:var(--tx);}
.cmc-role{font-size:.74rem;color:var(--ac);font-weight:600;letter-spacing:1px;margin-bottom:0;}
.cmc-body{padding:16px 22px;flex:1;}
.cmc-desc{font-size:.85rem;color:var(--tx2);line-height:1.75;margin-bottom:16px;}
.cmc-footer{padding:0 22px 20px;}
.cmc-toggle-btn{width:100%;padding:9px;border-radius:9px;border:1.5px solid rgba(249,115,22,.3);background:rgba(249,115,22,.07);color:var(--ac);font-family:'Cairo',sans-serif;font-size:.84rem;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:7px;}
.cmc-toggle-btn:hover{background:rgba(249,115,22,.18);border-color:var(--ac);}
.cmc-toggle-btn i.fa-chevron-down{transition:transform .3s;}
.cmc-members{overflow:hidden;max-height:0;transition:max-height .4s ease,padding .3s;}
.cmc-members.open{max-height:60vh;padding-top:12px;overflow-y:auto;}
.cmc-member-item{display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--bg2);border-radius:8px;margin-bottom:7px;border:1px solid var(--glb);}
.cmc-member-item i{color:var(--ac);font-size:.78rem;}
.cmc-member-item span{font-size:.85rem;color:var(--tx);font-weight:500;}

/* ── TOP STUDENTS (الأوائل) SECTION ── */
#topstudents{background:var(--bg2);}
.tsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1150px;margin:0 auto;}
.tsc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);overflow:hidden;transition:all .4s;position:relative;}
.tsc:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:rgba(249,115,22,.4);}
.tsc::before{content:'';position:absolute;top:0;right:0;left:0;height:3px;background:var(--acg);}
.tsc-head{padding:22px 22px 16px;border-bottom:1px solid var(--glb);display:flex;align-items:center;gap:14px;}
.tsc-badge{width:52px;height:52px;border-radius:12px;background:rgba(249,115,22,.12);border:1.5px solid rgba(249,115,22,.25);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--ac);flex-shrink:0;}
.tsc-info{flex:1;}
.tsc-batch{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:800;color:var(--tx);}
.tsc-major{font-size:.78rem;color:var(--ac);font-weight:600;margin-top:2px;}
.tsc-body{padding:16px 22px 18px;}
.tsc-toggle-btn{width:100%;padding:9px 14px;border-radius:9px;border:1.5px solid rgba(249,115,22,.3);background:rgba(249,115,22,.07);color:var(--ac);font-family:'Cairo',sans-serif;font-size:.84rem;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:7px;}
.tsc-toggle-btn:hover{background:rgba(249,115,22,.18);border-color:var(--ac);}
.tsc-toggle-btn i.fa-chevron-down{transition:transform .3s;}
.tsc-dropdown{overflow:hidden;max-height:0;transition:max-height .45s ease,padding .3s;}
.tsc-dropdown.open{max-height:80vh;padding-top:13px;overflow-y:auto;}
.tsc-student-row{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--bg2);border:1px solid var(--glb);border-radius:10px;margin-bottom:8px;transition:all .3s;}
.tsc-student-row:hover{border-color:rgba(249,115,22,.3);}
.tsc-student-row:last-child{margin-bottom:0;}
.tsc-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;}
.tsc-rank.gold{background:rgba(251,191,36,.18);color:#fbbf24;border:1.5px solid rgba(251,191,36,.4);}
.tsc-rank.silver{background:rgba(148,163,184,.15);color:#94a3b8;border:1.5px solid rgba(148,163,184,.3);}
.tsc-rank.bronze{background:rgba(180,83,9,.15);color:#b45309;border:1.5px solid rgba(180,83,9,.3);}
.tsc-rank.other{background:rgba(249,115,22,.1);color:var(--ac);border:1.5px solid rgba(249,115,22,.25);}
.tsc-student-name{flex:1;font-size:.87rem;font-weight:600;color:var(--tx);}
.tsc-gpa{font-size:.82rem;font-weight:700;color:var(--ac);background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);border-radius:6px;padding:3px 9px;white-space:nowrap;}
.tsc-empty{text-align:center;color:var(--tx2);padding:16px;font-size:.85rem;}

/* ── NEW STUDENTS SECTION ── */
#newstudents{background:var(--bg);}
.nsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1150px;margin:0 auto;}
.nsc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);overflow:hidden;transition:all .4s;}
.nsc:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:rgba(249,115,22,.4);}
.nsc-head{padding:24px 22px 18px;border-bottom:1px solid var(--glb);display:flex;align-items:center;gap:14px;}
.nsc-icon{width:52px;height:52px;border-radius:12px;background:rgba(249,115,22,.12);border:1.5px solid rgba(249,115,22,.25);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--ac);flex-shrink:0;}
.nsc-title{font-family:'Tajawal',sans-serif;font-size:1.08rem;font-weight:800;color:var(--tx);}
.nsc-body{padding:18px 22px 22px;}
.nsc-item{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--bg2);border:1px solid var(--glb);border-radius:10px;margin-bottom:10px;transition:all .3s;}
.nsc-item:hover{border-color:rgba(249,115,22,.3);}
.nsc-item:last-child{margin-bottom:0;}
.nsc-item-name{font-size:.88rem;font-weight:600;color:var(--tx);}
.nsc-discover-btn{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:50px;padding:6px 14px;color:var(--ac);font-size:.76rem;font-weight:700;cursor:pointer;text-decoration:none;transition:all .3s;white-space:nowrap;display:inline-block;}
.nsc-discover-btn:hover{background:var(--ac);color:#fff;}
.nsc-empty{text-align:center;color:var(--tx2);padding:20px;font-size:.85rem;}

/* admin lib */
.lib-admin-cat{background:var(--bg2);border:1px solid var(--glb);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.lib-admin-cat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--glb);}
.lib-admin-cat-name{flex:1;font-weight:700;color:var(--tx);}
.lib-admin-cat-body{padding:14px;display:none;}
.lib-admin-cat-body.open{display:block;}
.lib-course-edit{background:var(--cd);border:1px solid var(--glb);border-radius:10px;padding:12px;margin-bottom:10px;}
.lib-course-edit .ceh{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.lib-course-edit .cen{flex:1;font-weight:600;color:var(--tx);font-size:.9rem;}
.res-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.res-links label{font-size:.73rem;color:var(--tx2);display:block;margin-bottom:3px;}
/* hero content */
#hCnt{position:relative;z-index:2;}
/* logo wrap */
.hlw{display:flex;justify-content:center;margin-bottom:22px;position:relative;}
.hlw::before{
  content:'';position:absolute;width:270px;height:270px;border-radius:50%;
  border:1.5px dashed rgba(249,115,22,.28);top:50%;left:50%;
  transform:translate(-50%,-50%);animation:spinFwd 10s linear infinite;
}
.hlw::after{
  content:'';position:absolute;width:330px;height:330px;border-radius:50%;
  border:1px dashed rgba(249,115,22,.14);top:50%;left:50%;
  transform:translate(-50%,-50%);animation:spinBack 14s linear infinite;
}
@keyframes spinFwd{to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes spinBack{to{transform:translate(-50%,-50%) rotate(-360deg);}}
.hlogo{
  width:210px;height:210px;object-fit:contain;
  filter:drop-shadow(0 0 22px rgba(249,115,22,.6));
  animation:logoF 4s ease-in-out infinite,logoIn .9s cubic-bezier(.34,1.56,.64,1) both;
  will-change:transform;
}
@keyframes logoF{0%,100%{transform:translateY(0) rotate(-1deg);}50%{transform:translateY(-13px) rotate(1deg);}}
@keyframes logoIn{from{opacity:0;transform:scale(.3) rotate(-20deg);}to{opacity:1;transform:scale(1) rotate(0);}}
/* badge */
.hbadge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);
  border-radius:50px;padding:5px 16px;margin-bottom:18px;
  font-size:.77rem;letter-spacing:2px;color:var(--ac);
  animation:fadeDown .7s .1s both;
}
@keyframes fadeDown{from{opacity:0;transform:translateY(-18px);}to{opacity:1;transform:none;}}
/* title */
h1.ht{
  font-family:'Tajawal',sans-serif;font-size:clamp(2.2rem,6.5vw,4.8rem);
  font-weight:900;line-height:1.15;margin-bottom:10px;
  background:var(--acg);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:titleIn 1s cubic-bezier(.34,1.2,.64,1) .25s both;
}
@keyframes titleIn{from{opacity:0;transform:translateY(36px) scale(.95);}to{opacity:1;transform:none;}}
.huniv{font-size:clamp(.9rem,2vw,1.12rem);color:var(--tx2);margin-bottom:10px;font-weight:500;animation:fadeUp .7s .5s both;}
.hsl{
  font-family:'Tajawal',sans-serif;font-size:clamp(.88rem,1.8vw,1.1rem);
  color:var(--ac);letter-spacing:2px;margin-bottom:34px;font-weight:700;
  animation:fadeUp .7s .65s both;
}
.hsl::after{content:'|';animation:blink .85s step-end infinite;margin-right:2px;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
/* buttons */
.hbtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .82s both;}
.bp{
  position:relative;overflow:hidden;background:var(--acg);
  border:none;border-radius:50px;padding:13px 32px;color:#fff;
  font-family:'Cairo',sans-serif;font-size:.92rem;font-weight:700;
  cursor:pointer;transition:all .35s;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 18px rgba(249,115,22,.3);
}
.bp::before{content:'';position:absolute;top:0;right:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:right .55s;}
.bp:hover::before{right:100%;}
.bp:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(249,115,22,.55);}
.bo{
  background:rgba(249,115,22,.07);border:2px solid rgba(249,115,22,.3);
  border-radius:50px;padding:12px 32px;color:var(--tx);
  font-family:'Cairo',sans-serif;font-size:.92rem;font-weight:600;
  cursor:pointer;transition:all .35s;display:inline-flex;align-items:center;gap:8px;
}
.bo:hover{border-color:var(--ac);color:var(--ac);transform:translateY(-4px);background:rgba(249,115,22,.12);}
/* stats */
.srow{
  display:flex;gap:36px;justify-content:center;flex-wrap:wrap;
  margin-top:50px;padding-top:30px;border-top:1px solid var(--glb);
  animation:fadeUp .7s 1s both;
}
.st{text-align:center;}
.sn{
  font-family:'Tajawal',sans-serif;font-size:2.4rem;font-weight:900;display:block;
  background:var(--acg);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.sl{font-size:.75rem;color:var(--tx2);letter-spacing:1.5px;}
/* scroll hint */
.shi{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:5px;
  color:var(--tx2);font-size:.7rem;letter-spacing:2px;cursor:pointer;
  background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.15);
  border-radius:50px;padding:7px 16px;transition:all .3s;z-index:2;
  animation:fadeUp .7s 1.2s both;
}
.shi:hover{color:var(--ac);border-color:rgba(249,115,22,.4);}
.shi i{animation:arrowB 1.4s ease-in-out infinite;}
@keyframes arrowB{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ── SECTIONS ── */
section{position:relative;z-index:1;padding:90px 5%;}
.sh{text-align:center;margin-bottom:52px;}
.stg{font-size:.73rem;letter-spacing:3px;color:var(--ac);text-transform:uppercase;display:block;margin-bottom:9px;}
.sti{font-family:'Tajawal',sans-serif;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;margin-bottom:13px;}
.sti span{color:var(--ac);}
.dv{width:55px;height:3px;margin:0 auto 14px;background:var(--acg);border-radius:2px;}
.sd{color:var(--tx2);font-size:.96rem;max-width:580px;margin:0 auto;line-height:1.85;}

/* ── ABOUT ── */
#about{background:var(--bg2);}
.agrid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;max-width:1150px;margin:0 auto;}
.atxt h2{font-family:'Tajawal',sans-serif;font-size:1.7rem;font-weight:800;margin-bottom:16px;}
.atxt p{color:var(--tx2);line-height:1.9;margin-bottom:13px;font-size:.95rem;}
.goals{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.goal{display:flex;align-items:flex-start;gap:12px;padding:13px;background:var(--cd);border:1px solid var(--glb);border-radius:12px;transition:all .3s;}
.goal:hover{border-color:var(--ac);transform:translateX(-4px);}
.gic{width:38px;height:38px;border-radius:9px;background:rgba(249,115,22,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ac);}
.goal strong{display:block;font-size:.9rem;margin-bottom:2px;}
.goal span{color:var(--tx2);font-size:.81rem;}
.avis{display:flex;align-items:center;justify-content:center;}
.orb{width:360px;height:360px;max-width:100%;border-radius:50%;background:rgba(249,115,22,.04);border:1px solid var(--glb);display:flex;align-items:center;justify-content:center;position:relative;}
.orb::before{content:'';position:absolute;inset:-2px;border-radius:50%;background:conic-gradient(#f97316,#fbbf24,transparent,#f97316);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));animation:orbSpin 7s linear infinite;}
@keyframes orbSpin{to{transform:rotate(360deg);}}
.orb img{width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(249,115,22,.55));}

/* ── VISION ── */
#vision{background:var(--bg);}
.vmg{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;max-width:1150px;margin:0 auto;}
.vmc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:28px;transition:all .4s;position:relative;overflow:hidden;}
.vmc::before{content:'';position:absolute;top:0;right:0;left:0;height:2.5px;background:var(--acg);transform:scaleX(0);transition:transform .4s;transform-origin:right;}
.vmc:hover{transform:translateY(-7px);box-shadow:var(--sh);border-color:var(--ac);}
.vmc:hover::before{transform:scaleX(1);}
.vmi{width:50px;height:50px;border-radius:12px;background:rgba(249,115,22,.12);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--ac);margin-bottom:16px;}
.vmc h3{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:9px;}
.vmc p{color:var(--tx2);line-height:1.8;font-size:.9rem;}

/* ── ACTIVITIES ── */
#activities{background:var(--bg2);}
.acg{display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:22px;max-width:1150px;margin:0 auto;}
.acc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);overflow:hidden;transition:all .4s;}
.acc:hover{transform:translateY(-7px);box-shadow:0 20px 44px rgba(249,115,22,.12);}
.aci{height:196px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(29,78,216,.1));}
.aci img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.acc:hover .aci img{transform:scale(1.06);}
.aciph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:var(--ac);}
.abd{position:absolute;bottom:10px;left:10px;background:var(--ac3);color:#000;border-radius:7px;padding:3px 10px;font-size:.7rem;font-weight:700;z-index:2;}
.ast{position:absolute;top:10px;right:10px;border-radius:7px;padding:3px 10px;font-size:.7rem;font-weight:700;z-index:2;}
.ast.up{background:rgba(249,115,22,.2);color:var(--ac);border:1px solid rgba(249,115,22,.4);}
.ast.dn{background:rgba(255,255,255,.07);color:var(--tx2);border:1px solid var(--glb);}
.acb{padding:20px;}
.acb h3{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:6px;}
.acb p{color:var(--tx2);font-size:.86rem;line-height:1.7;margin-bottom:13px;}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px;}
.tg{font-size:.7rem;padding:3px 10px;border-radius:50px;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);color:var(--ac);}
.breg{width:100%;padding:10px;border-radius:9px;border:none;background:var(--acg);color:#fff;font-family:'Cairo',sans-serif;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .3s;}
.breg:hover{opacity:.85;transform:scale(1.02);}

/* ── PROJECTS ── */
#projects{background:var(--bg);}
.prg{display:grid;grid-template-columns:repeat(auto-fill,minmax(325px,1fr));gap:22px;max-width:1150px;margin:0 auto;}
.prc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);overflow:hidden;transition:all .4s;}
.prc:hover{transform:translateY(-6px);box-shadow:var(--sh);}
.pri{height:205px;position:relative;overflow:hidden;background:rgba(249,115,22,.04);}
.pri img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.prc:hover .pri img{transform:scale(1.06);}
.priph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--ac);}
.prb{padding:20px;}
.prb h3{font-family:'Tajawal',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:6px;}
.prb p{color:var(--tx2);font-size:.86rem;line-height:1.7;margin-bottom:12px;}
.ts{display:flex;gap:6px;flex-wrap:wrap;}
.tc{font-size:.7rem;padding:3px 9px;border-radius:5px;background:rgba(29,78,216,.14);border:1px solid rgba(29,78,216,.3);color:#93c5fd;font-weight:600;}

/* ── TEAM ── */
#team{background:var(--bg2);}
.tmg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;max-width:1150px;margin:0 auto;}
.tmc{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:24px 16px;text-align:center;transition:all .4s;}
.tmc:hover{transform:translateY(-6px);border-color:var(--ac);box-shadow:var(--sh);}
.tav{width:88px;height:88px;border-radius:50%;margin:0 auto 13px;border:3px solid var(--glb);overflow:hidden;transition:border-color .3s;background:linear-gradient(135deg,var(--ac),var(--ac2));}
.tmc:hover .tav{border-color:var(--ac);}
.tav img{width:100%;height:100%;object-fit:cover;}
.tavph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;}
.tnm{font-family:'Tajawal',sans-serif;font-size:.98rem;font-weight:700;margin-bottom:3px;}
.trl{font-size:.75rem;color:var(--ac);letter-spacing:1px;margin-bottom:12px;font-weight:600;}
.tso{display:flex;gap:8px;justify-content:center;}
.sc{width:29px;height:29px;border-radius:7px;background:rgba(249,115,22,.08);border:1px solid var(--glb);display:flex;align-items:center;justify-content:center;color:var(--tx2);font-size:.8rem;transition:all .3s;}
.sc:hover{background:var(--acg);color:#fff;border-color:var(--ac);}

/* ── GALLERY ── */
#gallery{background:var(--bg);}
.glg{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:13px;max-width:1150px;margin:0 auto;}
.gli{border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:rgba(249,115,22,.06);border:1px solid var(--glb);position:relative;transition:all .4s;}
.gli:hover{transform:scale(1.03);border-color:var(--ac);}
.gli img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block;}
.gli:hover img{transform:scale(1.07);}
.gliph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--ac);}
.glov{position:absolute;inset:0;background:rgba(249,115,22,.15);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.gli:hover .glov{opacity:1;}
.glov i{font-size:1.8rem;color:#fff;}
.glcp{position:absolute;bottom:0;right:0;left:0;background:linear-gradient(transparent,rgba(0,0,0,.78));padding:10px 10px 8px;font-size:.74rem;color:#fff;transform:translateY(100%);transition:transform .3s;}
.gli:hover .glcp{transform:translateY(0);}

/* LIGHTBOX */
.lb{display:none;position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.96);align-items:center;justify-content:center;}
.lb.on{display:flex;}
.lbb{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:14px;max-width:700px;width:94%;position:relative;}
.lbc{position:absolute;top:10px;left:12px;background:rgba(0,0,0,.5);border:none;color:#fff;font-size:1.2rem;cursor:pointer;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;z-index:2;}
.lbimg{width:100%;max-height:75vh;object-fit:contain;border-radius:10px;display:block;}
.lbph{width:100%;height:280px;display:flex;align-items:center;justify-content:center;font-size:8rem;color:var(--ac);}
.lbcap{color:var(--tx2);font-size:.9rem;margin-top:9px;text-align:center;padding:0 8px 6px;}

/* ── CONTACT ── */
#contact{background:var(--bg2);}
.cng{display:grid;grid-template-columns:1fr 1.3fr;gap:52px;max-width:1100px;margin:0 auto;align-items:start;}
.cni h3{font-family:'Tajawal',sans-serif;font-size:1.22rem;font-weight:800;margin-bottom:14px;}
.cni p{color:var(--tx2);line-height:1.9;margin-bottom:20px;font-size:.93rem;}
.cnit{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:13px;background:var(--cd);border:1px solid var(--glb);border-radius:10px;transition:border-color .3s;}
.cnit:hover{border-color:var(--ac);}
.cnic{width:38px;height:38px;border-radius:9px;background:rgba(249,115,22,.1);display:flex;align-items:center;justify-content:center;color:var(--ac);font-size:1rem;flex-shrink:0;}
.cnii strong{display:block;font-size:.86rem;margin-bottom:1px;}
.cnii span,.cnii a{color:var(--tx2);font-size:.8rem;}
.cnii a:hover{color:var(--ac);}
.cnso{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap;}
.cns{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;background:var(--cd);border:1px solid var(--glb);color:var(--tx2);font-size:.8rem;font-weight:600;transition:all .3s;}
.cns:hover.fb{background:rgba(24,119,242,.15);border-color:#1877f2;color:#1877f2;}
.cns:hover.ig{background:rgba(225,48,108,.15);border-color:#e1306c;color:#e1306c;}
.cns:hover.li{background:rgba(10,102,194,.15);border-color:#0a66c2;color:#0a66c2;}
.cns:hover.em{background:rgba(249,115,22,.15);border-color:var(--ac);color:var(--ac);}
.mpb{margin-top:18px;border-radius:12px;border:1px solid var(--glb);height:140px;background:linear-gradient(135deg,rgba(249,115,22,.04),rgba(29,78,216,.06));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--tx2);}
.cnf{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:28px;}
.cnf h3{font-family:'Tajawal',sans-serif;font-size:1.1rem;font-weight:800;margin-bottom:18px;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:.75rem;letter-spacing:1px;color:var(--tx2);margin-bottom:5px;}
.fg input,.fg textarea{width:100%;padding:10px 13px;background:var(--bg);border:1px solid var(--glb);border-radius:8px;color:var(--tx);font-family:'Cairo',sans-serif;font-size:.91rem;outline:none;transition:all .3s;}
.fg input:focus,.fg textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(249,115,22,.1);}
.fg textarea{height:108px;resize:none;}
.bsn{width:100%;padding:12px;border:none;border-radius:10px;background:var(--acg);color:#fff;font-family:'Cairo',sans-serif;font-size:.91rem;font-weight:700;cursor:pointer;transition:all .3s;}
.bsn:hover{transform:translateY(-2px);box-shadow:var(--gw);}
.fok{display:none;text-align:center;padding:20px;color:var(--ac);}

/* ── FOOTER ── */
footer{background:var(--bg);border-top:1px solid var(--glb);padding:32px 5% 18px;position:relative;z-index:1;}
.fin{max-width:1150px;margin:0 auto;}
.ftop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:22px;}
.flogo{display:flex;align-items:center;gap:10px;}
.flogo img{width:60px;height:60px;object-fit:contain;}
.flogotxt{font-family:'Tajawal',sans-serif;font-size:.95rem;font-weight:800;color:var(--ac);line-height:1.3;}
.flogotxt small{display:block;font-size:.72rem;color:var(--tx2);font-weight:400;}
.fsocs{display:flex;gap:8px;}
.fsoc{width:36px;height:36px;border-radius:9px;background:var(--cd);border:1px solid var(--glb);display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:all .3s;color:var(--tx2);}
.fsoc:hover{background:var(--acg);color:#fff;border-color:var(--ac);}
.flinks{display:flex;gap:16px;justify-content:center;list-style:none;margin:14px 0;flex-wrap:wrap;}
.flinks a{color:var(--tx2);font-size:.8rem;transition:color .3s;}
.flinks a:hover{color:var(--ac);}
.fcopy{text-align:center;color:var(--tx2);font-size:.77rem;border-top:1px solid var(--glb);padding-top:14px;}

/* ── ADMIN ── */
.adov{display:none;position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.88);backdrop-filter:blur(14px);align-items:center;justify-content:center;}
.adov.on{display:flex;}
.lbx{background:var(--bg2);border:1px solid var(--glb);border-radius:20px;padding:40px;width:100%;max-width:380px;text-align:center;position:relative;}
.lbx h2{font-family:'Tajawal',sans-serif;font-size:1.4rem;color:var(--ac);margin-bottom:6px;}
.lbx p{color:var(--tx2);font-size:.85rem;margin-bottom:24px;}
.lcls{position:absolute;top:13px;left:13px;background:none;border:none;color:var(--tx2);font-size:1.3rem;cursor:pointer;}
.lbtn{width:100%;padding:12px;border:none;border-radius:10px;background:var(--acg);color:#fff;font-family:'Cairo',sans-serif;font-size:.91rem;font-weight:700;cursor:pointer;margin-top:6px;}
.lerr{color:#f87171;font-size:.81rem;margin-top:8px;display:none;}
.adp{display:none;position:fixed;inset:0;z-index:6000;background:var(--bg);overflow-y:auto;}
.adp.on{display:block;}
.adh{padding:14px 22px;background:var(--bg2);border-bottom:1px solid var(--glb);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;position:sticky;top:0;z-index:10;}
.adh h1{font-family:'Tajawal',sans-serif;font-size:1rem;font-weight:800;color:var(--ac);}
.adnv{display:flex;gap:5px;flex-wrap:wrap;}
.atb{padding:7px 13px;border:1px solid var(--glb);border-radius:8px;background:none;color:var(--tx2);cursor:pointer;font-family:'Cairo',sans-serif;font-size:.79rem;font-weight:600;transition:all .3s;}
.atb.on,.atb:hover{background:var(--acg);color:#fff;border-color:transparent;}
.alg{padding:7px 13px;border:1px solid rgba(248,113,113,.3);border-radius:8px;background:none;color:#f87171;cursor:pointer;font-size:.79rem;}
.adb{padding:22px;max-width:1100px;margin:0 auto;}
.asc{display:none;}
.asc.on{display:block;}
.asc > h2{font-family:'Tajawal',sans-serif;font-size:1.12rem;margin-bottom:16px;padding-bottom:9px;border-bottom:1px solid var(--glb);}
.acrd{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);padding:20px;margin-bottom:16px;}
.arw{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:12px;}
.ain{width:100%;padding:9px 11px;background:var(--bg);border:1px solid var(--glb);border-radius:7px;color:var(--tx);font-family:'Cairo',sans-serif;font-size:.88rem;outline:none;transition:border-color .3s;}
.ain:focus{border-color:var(--ac);}
.alb{display:block;font-size:.73rem;color:var(--tx2);letter-spacing:1px;margin-bottom:4px;}
.badd{padding:9px 17px;border:none;border-radius:7px;background:var(--acg);color:#fff;font-family:'Cairo',sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;}
.bdel{padding:5px 10px;border:1px solid rgba(248,113,113,.3);border-radius:6px;background:none;color:#f87171;cursor:pointer;font-size:.77rem;}
.bdel:hover{background:rgba(248,113,113,.1);}
.bedit{padding:5px 10px;border:1px solid rgba(249,115,22,.3);border-radius:6px;background:none;color:var(--ac);cursor:pointer;font-size:.77rem;margin-left:5px;}
.bedit:hover{background:rgba(249,115,22,.1);}
/* edit modal */
.edit-modal-ov{display:none;position:fixed;inset:0;z-index:7000;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:16px;}
.edit-modal-ov.on{display:flex;}
.edit-modal{background:var(--cd);border:1px solid var(--glb);border-radius:var(--rd);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:28px 24px;position:relative;animation:modalIn .3s both;}
.edit-modal h3{font-family:'Tajawal',sans-serif;font-size:1.1rem;font-weight:800;color:var(--ac);margin-bottom:16px;}
.edit-modal-close{position:absolute;top:12px;left:12px;background:none;border:none;color:var(--tx2);font-size:1.1rem;cursor:pointer;padding:6px;border-radius:8px;}
.edit-modal-close:hover{color:var(--ac);background:rgba(249,115,22,.1);}
.upa{border:2px dashed var(--glb);border-radius:10px;padding:16px;text-align:center;cursor:pointer;transition:border-color .3s;position:relative;overflow:hidden;margin-bottom:12px;}
.upa:hover{border-color:var(--ac);}
.upa input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}
.upa i{font-size:1.8rem;color:var(--tx2);display:block;margin-bottom:5px;}
.upa span{font-size:.8rem;color:var(--tx2);}
.uprev{width:100%;height:110px;object-fit:cover;border-radius:8px;margin-top:8px;display:none;border:1px solid var(--glb);}
.alist{display:flex;flex-direction:column;gap:8px;margin-top:13px;}
.ait{display:flex;align-items:center;gap:11px;padding:10px 13px;background:var(--bg);border:1px solid var(--glb);border-radius:8px;}
.aitimg{width:48px;height:48px;border-radius:7px;object-fit:cover;flex-shrink:0;}
.aitph{width:48px;height:48px;border-radius:7px;background:rgba(249,115,22,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ac);}
.aitin{flex:1;}
.aitin strong{display:block;color:var(--tx);font-size:.87rem;}
.aitin span{color:var(--tx2);font-size:.75rem;}
.mtbl{width:100%;border-collapse:collapse;}
.mtbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;}
.mtbl th,.mtbl td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--glb);font-size:.84rem;}
.mtbl th{color:var(--tx2);font-size:.73rem;text-transform:uppercase;letter-spacing:1px;}
.hpg{display:grid;grid-template-columns:1fr 1fr;gap:13px;}

/* TOAST */
.tst{position:fixed;bottom:20px;left:20px;z-index:9999;background:var(--acg);color:#fff;padding:10px 20px;border-radius:10px;font-weight:700;font-size:.85rem;transform:translateY(70px);transition:transform .3s;pointer-events:none;display:flex;align-items:center;gap:8px;}
.tst.on{transform:translateY(0);}

/* REVEAL */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s;}
.rv.vis{opacity:1;transform:none;}

/* ═══════════════════════════════════════
   RESPONSIVE — FULL BREAKPOINT SYSTEM
   ═══════════════════════════════════════ */

/* ── 1200px+ : clamp containers ── */
@media(min-width:1200px){
  .lib-grid,.vmg,.acg,.prg,.tmg,.glg{max-width:1200px;margin-left:auto;margin-right:auto;}
}

/* ── ≤1024px : tablets landscape ── */
@media(max-width:1024px){
  nav{padding:10px 4%;}
  .nl{gap:12px;}
  .nl a{font-size:.8rem;}
  .cng{grid-template-columns:1fr 1.1fr;gap:32px;}
  .agrid{grid-template-columns:1fr;}
  .prg{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
}

/* ── ≤880px : tablets portrait + hamburger ── */
@media(max-width:880px){
  /* NAV */
  nav{padding:9px 4%;}
  .logo img{width:44px;height:44px;}
  .logo-txt{font-size:.8rem;}
  .logo-txt small{display:none;}
  .nl{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:100%;right:0;left:0;
    background:var(--bg2);
    border-bottom:2px solid var(--ac);
    border-top:1px solid var(--glb);
    padding:0 5%;z-index:800;
    max-height:0;overflow:hidden;
    transition:max-height .38s cubic-bezier(.4,0,.2,1),padding .3s;
  }
  .nl.open{max-height:600px;padding:8px 5% 14px;}
  .nl li{width:100%;}
  .nl a{
    display:flex;align-items:center;gap:10px;
    padding:13px 6px;font-size:.93rem;
    border-bottom:1px solid var(--glb);
    color:var(--tx);transition:color .2s,padding-right .2s;
  }
  .nl a::before{content:'⚡';font-size:.68rem;color:var(--ac);opacity:0;transition:opacity .2s;}
  .nl a:hover,.nl a:active{color:var(--ac);padding-right:10px;}
  .nl a:hover::before,.nl a:active::before{opacity:1;}
  .nl li:last-child a{border-bottom:none;}
  .nl a::after{display:none;}
  .na{gap:6px;}
  .bth{padding:5px 8px;font-size:.82rem;}
  .hbg{display:flex;}

  /* HERO */
  #hero{padding:110px 5% 70px;}
  .hlogo{width:160px;height:160px;}
  .hlw::before{width:210px;height:210px;}
  .hlw::after{width:260px;height:260px;}
  .hbtns{gap:10px;}
  .bp{padding:11px 24px;font-size:.88rem;}
  .bo{padding:11px 24px;font-size:.88rem;}

  /* STATS ROW */
  .srow{flex-wrap:wrap;justify-content:center;gap:14px;}
  .srow > *{min-width:130px;}

  /* ABOUT */
  .agrid{grid-template-columns:1fr;}
  .avis{display:none;}

  /* VISION */
  .vmg{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}

  /* ACTIVITIES & PROJECTS */
  .acg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .prg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}

  /* LIBRARY */
  .lib-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));}
  .lib-res-grid{grid-template-columns:1fr 1fr;}

  /* TEAM */
  .tmg{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}

  /* GALLERY */
  .glg{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}

  /* CONTACT */
  .cng{grid-template-columns:1fr;gap:28px;}

  /* FOOTER */
  .ftop{flex-direction:column;align-items:center;text-align:center;}
  .fsocs{justify-content:center;}

  /* ADMIN */
  .arw,.hpg{grid-template-columns:1fr;}
  .adnv{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
  .adb{padding:16px;}
}

/* ── ≤640px : large phones ── */
@media(max-width:640px){
  section{padding:60px 4%;}

  /* HERO */
  #hero{padding:95px 4% 60px;}
  .hbtns{flex-direction:column;align-items:center;}
  .bp,.bo{width:100%;max-width:280px;justify-content:center;}
  .hring:nth-child(3){display:none;}

  /* ABOUT goals */
  .goal{padding:11px 14px;}

  /* LIBRARY */
  .lib-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
  .lib-modal{padding:24px 18px;}
  .lib-res-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .lib-course-item{flex-direction:column;align-items:flex-start;gap:10px;}
  .lib-course-btn{align-self:flex-end;}

  /* TEAM */
  .tmg{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px;}
  .tav{width:74px;height:74px;}

  /* GALLERY */
  .glg{grid-template-columns:repeat(2,1fr);gap:10px;}

  /* CONTACT */
  .cnso{gap:7px;}
  .cns{padding:7px 11px;font-size:.76rem;}

  /* ADMIN */
  .adnv{grid-template-columns:repeat(2,1fr);}
  .res-links{grid-template-columns:1fr;}
  .atb,.alg{font-size:.73rem;padding:6px 9px;}
  .lbx{padding:28px 20px;max-width:95vw;}

  /* FOOTER */
  .flinks{gap:10px;}
}

/* ── ≤480px : phones ── */
@media(max-width:480px){
  section{padding:52px 4%;}

  /* NAV */
  nav{padding:8px 4%;}
  .logo img{width:46px;height:46px;}
  .logo-txt{font-size:.78rem;}
  .bth{padding:5px 8px;font-size:.78rem;}

  /* HERO */
  #hero{padding:88px 4% 52px;}
  .hlogo{width:110px;height:110px;}
  .hlw::before{width:148px;height:148px;}
  .hlw::after{width:185px;height:185px;}
  .hbadge{font-size:.7rem;padding:4px 13px;}
  .hring:nth-child(2){display:none;}

  /* STATS */
  .srow{gap:10px;}
  .srow > *{flex:1;min-width:100px;text-align:center;}

  /* SECTION HEADERS */
  .stg{font-size:.72rem;}
  .sti{font-size:1.6rem;}

  /* LIBRARY */
  .lib-grid{grid-template-columns:1fr;gap:13px;}
  .lib-card{padding:22px 18px;}
  .lib-modal{padding:20px 14px;border-radius:12px;}
  .lib-modal h2{font-size:1.15rem;}
  .lib-res-grid{grid-template-columns:1fr 1fr;gap:9px;}
  .lib-res-card{padding:14px 10px;}

  /* ACTIVITIES & PROJECTS */
  .acg,.prg{grid-template-columns:1fr;}

  /* TEAM */
  .tmg{grid-template-columns:repeat(2,1fr);}

  /* GALLERY */
  .glg{grid-template-columns:repeat(2,1fr);gap:8px;}

  /* CONTACT FORM */
  .cnf{padding:20px 16px;}

  /* ADMIN */
  .adnv{grid-template-columns:1fr 1fr;}
  .adh{padding:10px 14px;}
  .adh h1{font-size:.88rem;}
  .adb{padding:12px;}

  /* TOAST */
  .tst{left:10px;right:10px;bottom:14px;font-size:.8rem;justify-content:center;}

  /* FOOTER */
  .flogotxt{font-size:.85rem;}
  footer{padding:24px 4% 14px;}
}


/* ══════════════════════════════════════════
   RESPONSIVE FIXES – COMPREHENSIVE PATCH
   ══════════════════════════════════════════ */

/* Admin nav – scrollable on mobile */
.adnv{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;}
.adnv::-webkit-scrollbar{height:3px;}
.adnv::-webkit-scrollbar-thumb{background:var(--ac);border-radius:3px;}

/* New Students – full responsive */
.nsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;max-width:1150px;margin:0 auto;}

/* Orb – cap size so it doesn't overflow small screens */
.orb{max-width:360px;max-height:360px;width:100%;height:auto;aspect-ratio:1;}

/* Footer logo – no pointer visual on title */
.flogo{cursor:default !important;}
#footerLogoBtn{cursor:pointer !important;}

/* Lib modal – better scroll on short screens */
.lib-modal-ov{padding:12px;}
.lib-modal{max-height:92vh;}

/* Admin panel header – better wrap */
.adh{gap:8px;}
.adh h1{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;}

/* ── ≤880px fixes ── */
@media(max-width:880px){
  .adnv{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:5px;}
  .nsg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .orb{width:240px;height:240px;}
  .orb img{width:140px;height:140px;}
}

/* ── ≤640px fixes ── */
@media(max-width:640px){
  .nsg{grid-template-columns:1fr;}
  .orb{width:200px;height:200px;}
  .orb img{width:110px;height:110px;}
  .lib-modal{padding:20px 14px;}
  .lib-res-grid{grid-template-columns:1fr 1fr;}
  .nsc-item{flex-direction:column;align-items:flex-start;gap:8px;}
  .nsc-discover-btn{align-self:flex-end;}
  .adh h1{max-width:140px;font-size:.82rem;}
  /* Admin tabs scroll hint */
  .adnv::after{content:'';display:block;min-width:1px;}
}

/* ── ≤480px fixes ── */
@media(max-width:480px){
  .nsg{grid-template-columns:1fr;gap:14px;}
  .nsc-head{padding:18px 16px 14px;gap:10px;}
  .nsc-icon{width:44px;height:44px;font-size:1.15rem;}
  .nsc-title{font-size:.96rem;}
  .nsc-body{padding:14px 16px 16px;}
  .nsc-item{padding:9px 12px;}
  .orb{width:170px;height:170px;}
  .orb img{width:95px;height:95px;}
  .lib-res-grid{grid-template-columns:1fr;}
  .lib-res-card{padding:14px 12px;}
  .cmc-avatar{width:76px;height:76px;}
  .cmc-head{padding:20px 16px 16px;}
  .cmc-body,.cmc-footer{padding-right:16px;padding-left:16px;}
  .adh{flex-wrap:wrap;}
  .adh h1{max-width:100%;font-size:.82rem;flex:1 1 100%;order:-1;}
  .adnv{order:1;}
  .mtbl th,.mtbl td{padding:7px 9px;font-size:.78rem;}
  footer{padding:20px 4% 12px;}
  .flogo img{width:50px;height:50px;}
  .flogotxt{font-size:.82rem;}
}

/* ── ≤360px fixes ── */
@media(max-width:360px){
  .nsg{gap:11px;}
  .tsg{gap:11px;}
  .orb{width:140px;height:140px;}
  .orb img{width:78px;height:78px;}
  .lib-res-grid{grid-template-columns:1fr;}
  .cmc-avatar{width:66px;height:66px;}
  .adh h1{font-size:.75rem;}
  .atb,.alg{font-size:.7rem;padding:5px 7px;}
  .flogo img{width:44px;height:44px;}
  .flogotxt{font-size:.75rem;}
  .flogotxt small{font-size:.62rem;}
  .mtbl th,.mtbl td{padding:6px 7px;font-size:.73rem;}
  .nsc-head{gap:8px;}
  .nsc-icon{width:38px;height:38px;font-size:1rem;}
}

/* ══════════════════════════════════════════
   FULL RESPONSIVE PATCH – MISSING ELEMENTS
   ══════════════════════════════════════════ */

/* ── Base overflow guard ── */
html,body{max-width:100%;overflow-x:hidden;}

/* ── Iframe / map embed ── */
.mpb{padding:0;overflow:hidden;height:160px;}
.mpb iframe{width:100%!important;height:100%!important;border:0;border-radius:12px;display:block;}

/* ── Contact info items – prevent text overflow ── */
.cnii span,.cnii a{word-break:break-word;display:block;}

/* ── Section header margin ── */
.sh{margin-bottom:40px;}

/* ── Committees grid ── */
.cmg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:1150px;margin:0 auto;}

/* ── Lib modal – always contained ── */
.lib-modal-ov{padding:12px;}
.lib-modal{width:100%;max-width:640px;max-height:92vh;overflow-y:auto;}

/* ── Lightbox responsive ── */
.lbb{width:96%;max-width:700px;padding:12px;}
.lbimg{max-height:70vh;}

/* ── Tags & tech chips – never overflow ── */
.tags,.ts{flex-wrap:wrap;row-gap:6px;}

/* ── Activity / project cards – full width image area ── */
.aci,.pri{width:100%;}

/* ── Stats row – wrap gracefully ── */
.srow{flex-wrap:wrap;justify-content:center;}

/* ── Login box – always fits ── */
.lbx{width:92%;max-width:380px;padding:32px 24px;}

/* ── Admin: wrap header controls ── */
.adh{flex-wrap:wrap;gap:8px;}

/* ── Footer copy – break long text ── */
.fcopy{word-break:break-word;}

/* ── Images always fit their containers ── */
.aci img,.pri img,.gli img,.cmc-avatar img,.tav img{max-width:100%;height:100%;object-fit:cover;}

/* ══ ≤768px (missing breakpoint) ══ */
@media(max-width:768px){
  section{padding:68px 4%;}
  .sh{margin-bottom:36px;}
  .cmg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
  .prg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .acg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .lib-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
  .vmg{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
  .cng{grid-template-columns:1fr;gap:24px;}
  .agrid{grid-template-columns:1fr;}
  .avis{display:none;}
  .sn{font-size:2rem;}
  .ftop{flex-direction:column;align-items:center;text-align:center;gap:14px;}
  .fsocs{justify-content:center;}
}

/* ══ ≤640px – extend existing ══ */
@media(max-width:640px){
  /* Stats */
  .srow{gap:12px;}
  .st{flex:1;min-width:80px;}
  .sn{font-size:1.9rem;}
  /* Section header */
  .sh{margin-bottom:28px;}
  .sti{font-size:1.55rem;}
  /* Committees */
  .cmg{grid-template-columns:1fr;}
  .cmc-head{padding:22px 18px 16px;}
  /* Gallery */
  .glg{grid-template-columns:repeat(2,1fr);gap:9px;}
  /* Contact social */
  .cnso{gap:8px;}
  .cns{font-size:.78rem;padding:7px 12px;}
  /* Footer */
  .ftop{flex-direction:column;align-items:center;text-align:center;}
  .fsocs{justify-content:center;}
  .flinks{gap:8px 14px;}
  /* Map */
  .mpb{height:140px;}
  /* Lightbox */
  .lbimg{max-height:60vh;}
  .lbph{height:200px;}
  /* Admin row */
  .arw{grid-template-columns:1fr;}
  .hpg{grid-template-columns:1fr;}
  /* Login */
  .lbx{padding:28px 18px;}
}

/* ══ ≤480px – extend existing ══ */
@media(max-width:480px){
  /* Hero */
  .hbtns{gap:10px;}
  .bp,.bo{padding:11px 22px;font-size:.86rem;}
  /* Stats */
  .srow{gap:8px;}
  .sn{font-size:1.75rem;}
  .sl{font-size:.68rem;}
  /* Section header */
  .sti{font-size:1.4rem;}
  .sd{font-size:.88rem;}
  /* Committees */
  .cmg{grid-template-columns:1fr;gap:14px;}
  /* Vision */
  .vmg{grid-template-columns:1fr;}
  /* Contact */
  .cnf{padding:18px 14px;}
  .cng{gap:20px;}
  .cnso{flex-wrap:wrap;}
  /* Gallery */
  .glg{grid-template-columns:repeat(2,1fr);gap:7px;}
  /* Map */
  .mpb{height:120px;}
  /* Modals */
  .lib-modal{border-radius:12px;padding:20px 12px;}
  .lbx{padding:24px 14px;border-radius:14px;}
  /* Footer */
  footer{padding:22px 4% 14px;}
  .flinks{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 12px;}
  /* Lightbox nav */
  .lbc{font-size:1rem;width:28px;height:28px;}
  /* Toast */
  .tst{left:8px;right:8px;bottom:12px;font-size:.78rem;}
}

/* ══ ≤380px – ultra small phones ══ */
@media(max-width:380px){
  nav{padding:7px 3%;}
  .logo img{width:40px;height:40px;}
  .logo-txt{font-size:.72rem;}
  section{padding:48px 3%;}
  #hero{padding:82px 3% 48px;}
  .hlogo{width:100px;height:100px;}
  .hlw::before{width:132px;height:132px;}
  .hlw::after{width:164px;height:164px;}
  .hbtns{gap:9px;}
  .bp,.bo{font-size:.82rem;padding:10px 18px;}
  .srow{gap:6px;}
  .sn{font-size:1.55rem;}
  .sti{font-size:1.3rem;}
  .stg{font-size:.66rem;letter-spacing:2px;}
  .sd{font-size:.84rem;}
  .dv{width:42px;}
  .sh{margin-bottom:24px;}
  .cmg{gap:12px;}
  .glg{gap:6px;}
  .cng{gap:16px;}
  .cnf{padding:16px 12px;}
  .lib-modal{padding:16px 10px;}
  .lbx{padding:22px 12px;}
  footer{padding:18px 3% 12px;}
  .flogotxt{font-size:.76rem;}
  .fcopy{font-size:.7rem;}
  .shi{display:none;}
}

/* ── Print / forced reflow guard ── */
@media(max-width:320px){
  .srow>*{min-width:70px;}
  .hring{display:none!important;}
  .hbtns{gap:8px;}
  .bp,.bo{font-size:.78rem;padding:9px 14px;}
}

