:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;

  --bg:#f4f6f9;
  --surface:#ffffff;
  --surface-2:#eef1f6;
  --line:#dde3ec;
  --ink:#14254a;
  --muted:#4d5765;
  --primary:#14254a;
  --primary-ink:#ffffff;
  --primary-soft:#e6ecf6;
  --blue:#1d5fae;
  --accent:#ffcd35;
  --accent-soft:#fff4cf;

  --font-display:'Tajawal',sans-serif;
  --font-body:'Tajawal',sans-serif;
  --radius:8px;
  --shadow:0 2px 4px rgba(20,37,74,.05),0 10px 24px -10px rgba(20,37,74,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--ink);background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--primary);color:var(--primary-ink);padding:var(--space-2) var(--space-4);z-index:100}
.skip:focus{inset-inline-start:var(--space-4)}
.wrap{width:min(1180px,100% - 2*var(--space-5));margin-inline:auto}
main{flex:1;outline:none}

/* topbar */
.topbar{background:#fff;border-bottom:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:40px}
.topbar-info{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.topbar-info span{display:inline-flex;align-items:center;gap:6px}
.topbar-info svg{width:14px;height:14px;color:var(--primary)}
.topbar-info b{color:var(--primary);font-weight:700}
.topbar-info .sep{width:1px;height:14px;background:var(--line)}
.topbar-social{display:flex;gap:6px}
.topbar-social a{width:28px;height:28px;border-radius:4px;background:var(--primary);color:#fff;display:grid;place-items:center}
.topbar-social a:hover{background:var(--blue)}
.topbar-social svg{width:14px;height:14px}
@media (max-width:640px){.topbar-info span:nth-child(3),.topbar-info .sep{display:none}}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--primary);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:72px}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:#fff}
.brand-seal{width:46px;height:46px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe27a,#d9a514);color:var(--primary);display:grid;place-items:center;box-shadow:0 0 0 2px rgba(255,205,53,.35)}
.brand-seal svg{width:32px;height:32px}
.brand-text{display:flex;flex-direction:column;line-height:1.3}
.brand-text strong{font-size:var(--text-base);font-weight:800;color:#fff;white-space:nowrap}
.brand-text small{white-space:nowrap}
.brand-text small{font-size:var(--text-xs);color:rgba(255,255,255,.75)}
.nav{display:flex;gap:2px}
.nav a{font-size:var(--text-sm);white-space:nowrap;text-decoration:none;padding:var(--space-2) 10px;color:#fff;font-weight:700;transition:color .2s}
.nav a:hover{color:var(--accent)}
.nav a.active{color:var(--accent)}
.menu-btn{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:6px;background:rgba(255,255,255,.08)}
.menu-btn span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
@media (max-width:1300px){
  .menu-btn{display:flex}
  .nav{position:absolute;inset-inline:0;top:100%;flex-direction:column;background:var(--primary);border-top:1px solid rgba(255,255,255,.1);padding:var(--space-3) var(--space-5) var(--space-5);display:none;box-shadow:0 10px 20px rgba(0,0,0,.2)}
  .nav.open{display:flex}
  .nav a{padding:var(--space-3);border-bottom:1px solid rgba(255,255,255,.07)}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ticker */
.ticker{background:#1b2f5c;color:#fff}
.ticker-inner{display:flex;align-items:center;gap:var(--space-4);min-height:46px}
.ticker-label,.ticker-all{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--primary);font-weight:800;font-size:var(--text-sm);padding:6px var(--space-4);border-radius:4px;text-decoration:none}
.ticker-label svg{width:16px;height:16px}
.ticker-all:hover{background:#ffd95e}
.ticker-track{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-move{display:inline-flex;white-space:nowrap;animation:tick 45s linear infinite}
.ticker-track:hover .ticker-move{animation-play-state:paused}
.tick-item{display:inline-flex;align-items:center;gap:var(--space-3);padding-inline:var(--space-5);font-size:var(--text-sm);font-weight:700}
.tick-item::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(255,205,53,.25)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media (max-width:640px){.ticker-all{display:none}.ticker-label{padding:6px var(--space-3)}}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:clamp(420px,52vw,600px);background:#eef0f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%2314254a' stroke-opacity='.05'%3E%3Cpath d='M60 0 120 60 60 120 0 60z'/%3E%3Cpath d='M60 20 100 60 60 100 20 60z'/%3E%3C/g%3E%3C/svg%3E");overflow:hidden}
.hero-text{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-12) clamp(var(--space-5),6vw,var(--space-20));max-width:680px}
.hero-kicker{font-size:var(--text-base);font-weight:700;color:var(--primary)}
.hero h1{font-size:clamp(1.9rem,1.2rem + 1.9vw,2.9rem);line-height:1.3;font-weight:800;color:var(--primary)}
.hero p{font-size:var(--text-base);color:var(--muted);max-width:52ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}
.hero-media{position:relative;order:1;background:var(--primary);clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}
.hero-media img{width:100%;height:100%;object-fit:cover;clip-path:polygon(0 0,calc(100% - 26px) 0,calc(86% - 22px) 100%,0 100%)}
.hero-diamond{position:absolute;top:50%;left:calc(53.5% * .93 - 4px);width:58px;height:58px;margin:-29px 0 0 -29px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800;transform:rotate(45deg);border:3px solid #fff;box-shadow:var(--shadow);text-decoration:none;z-index:2;transition:background .2s}
.hero-diamond span{transform:rotate(-45deg)}
.hero-diamond:hover{background:var(--blue)}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:4px;font-size:var(--text-sm);font-weight:800;text-decoration:none;transition:transform .15s,background .2s}
.btn:active{transform:translateY(1px)}
.btn-navy{background:linear-gradient(180deg,#22407d,var(--primary));color:#fff;box-shadow:0 4px 10px rgba(20,37,74,.25)}
.btn-navy:hover{background:var(--blue)}
.btn-line{border:1.5px solid var(--primary);color:var(--primary)}
.btn-line:hover{background:var(--primary);color:#fff}
.btn-accent{background:var(--accent);color:var(--primary)}
.center-cta{display:flex;justify-content:center;margin-top:var(--space-8)}
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  [dir="rtl"] .hero-media,.hero-media{order:-1;clip-path:polygon(0 0,100% 0,100% 88%,0 100%);height:260px}
  .hero-media img{clip-path:none}
  .hero-diamond{display:none}
  .hero-text{padding:var(--space-8) var(--space-5) var(--space-12)}
}

/* fancy section title */
.sec-title{text-align:center;margin-bottom:var(--space-10);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.sec-title h2{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-xl);font-weight:800;color:var(--primary)}
.sec-title h2::before,.sec-title h2::after{content:"";width:clamp(48px,8vw,90px);height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='12' viewBox='0 0 90 12'%3E%3Cpath d='M0 6h60' stroke='%23ffcd35' stroke-width='2' stroke-dasharray='6 4'/%3E%3Cpath d='M64 6h14' stroke='%23ffcd35' stroke-width='2'/%3E%3Cpath d='M84 0l1.6 4.4L90 6l-4.4 1.6L84 12l-1.6-4.4L78 6l4.4-1.6z' fill='%23e3a812'/%3E%3C/svg%3E") no-repeat center/contain}
.sec-title h2::after{transform:scaleX(-1)}
.sec-title p{color:var(--muted);font-size:var(--text-sm);max-width:60ch}

/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);padding:var(--space-8);background:linear-gradient(135deg,#f7f9fc,#eef2f8);border:1px solid var(--line);border-radius:12px;box-shadow:inset 0 0 0 6px #fff,var(--shadow)}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr;padding:var(--space-5)}}
.svc{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-5) 0;margin-top:var(--space-8);background:#fff;border-radius:8px;text-decoration:none;box-shadow:0 3px 0 #cfd6e2;transition:transform .2s,box-shadow .2s;overflow:visible}
.svc:hover{transform:translateY(-3px);box-shadow:0 3px 0 var(--accent),var(--shadow)}
.svc-ico{position:absolute;top:-32px;width:58px;height:58px;border-radius:12px;transform:rotate(45deg);background:linear-gradient(135deg,#2f7fd6,#14408f);display:grid;place-items:center;box-shadow:0 6px 14px rgba(20,64,143,.35)}
.svc-ico svg{width:26px;height:26px;color:#fff;transform:rotate(-45deg)}
.svc strong{font-size:var(--text-base);font-weight:800;color:var(--primary);padding-bottom:var(--space-3);position:relative}
.svc strong::after{content:"";position:absolute;bottom:0;inset-inline:25%;height:2px;background:var(--accent)}
.svc p{font-size:var(--text-sm);color:var(--muted);line-height:1.6;flex:1}
.svc-foot{align-self:stretch;margin-inline:calc(-1*var(--space-5));padding:var(--space-3);background:#e9eef6;color:var(--blue);font-size:var(--text-sm);font-weight:800;border-radius:0 0 8px 8px}

/* sections */
.section{padding-block:clamp(var(--space-12),7vw,var(--space-20))}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap}
.section-head h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.3}
.section-head p{color:var(--muted);font-size:var(--text-sm);max-width:52ch}

.grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
@media (max-width:860px){.grade-grid{grid-template-columns:1fr}}
.grade-card{border-top:4px solid var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.grade-card:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--primary) 35%,var(--line))}
.grade-num{width:60px;height:60px;border-radius:12px;transform:rotate(45deg);background:linear-gradient(135deg,#2f7fd6,#14408f);display:grid;place-items:center;margin:var(--space-2) var(--space-2) var(--space-2) 0;box-shadow:0 6px 14px rgba(20,64,143,.3)}
.grade-num i{transform:rotate(-45deg);font-style:normal;color:#fff;font-weight:800;font-size:var(--text-lg)}
.grade-card h3{font-size:var(--text-lg);font-weight:700}
.grade-card p{color:var(--muted);font-size:var(--text-sm)}
.track-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto}
.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:4px;font-weight:800;background:var(--primary-soft);color:var(--primary);text-decoration:none;font-size:var(--text-sm);font-weight:600;transition:background .2s,color .2s}
.chip:hover{background:var(--primary);color:var(--primary-ink)}

.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}
.link-tile{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:border-color .2s}
.link-tile:hover{border-color:var(--primary)}
.link-tile .ico{flex:none;width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#2f7fd6,#14408f);color:#fff;display:grid;place-items:center}
.link-tile .ico svg{width:20px;height:20px}
.link-tile strong{display:block;font-size:var(--text-base)}
.link-tile span{font-size:var(--text-sm);color:var(--muted)}

.band{background:var(--surface-2);border-block:1px solid var(--line)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:var(--space-6)}}
.split h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-4)}
.split p{color:var(--muted);margin-bottom:var(--space-4)}
.quote{border-inline-start:3px solid var(--accent);padding-inline-start:var(--space-5);font-size:var(--text-lg);font-weight:500;line-height:1.6}
.quote small{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-3);font-weight:400}

/* page head */
.page-head{background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.06'%3E%3Cpath d='M60 0 120 60 60 120 0 60z'/%3E%3Cpath d='M60 20 100 60 60 100 20 60z'/%3E%3C/g%3E%3C/svg%3E");color:#fff;padding-block:var(--space-10) var(--space-8);border-bottom:4px solid var(--accent)}
.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:rgba(255,255,255,.75);margin-bottom:var(--space-3)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{opacity:.5}
.page-head h1{font-size:var(--text-xl);font-weight:800;line-height:1.35;color:#fff}
.page-head p{color:rgba(255,255,255,.8);font-size:var(--text-sm);margin-top:var(--space-2);max-width:65ch}

/* tabs */
.tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;margin-top:var(--space-6);flex-wrap:wrap}
.tab{padding:var(--space-2) var(--space-5);border-radius:4px;font-size:var(--text-sm);font-weight:600;color:var(--muted);text-decoration:none;transition:background .2s,color .2s}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"],.tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}

.group-title{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:700;margin:var(--space-10) 0 var(--space-5)}
.group-title:first-child{margin-top:0}
.group-title .count{font-size:var(--text-xs);font-weight:600;background:var(--surface-2);color:var(--muted);padding:2px var(--space-3);border-radius:999px}

.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}
.subject{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative}
.subject:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--primary) 40%,var(--line));box-shadow:var(--shadow)}
.subject-top{display:flex;align-items:center;gap:var(--space-3)}
.glyph{flex:none;width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#2f7fd6,#14408f);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}
.glyph svg{width:22px;height:22px}
.subject h3{font-size:var(--text-base);font-weight:700;line-height:1.4}
.meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted)}
.meta span{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);padding:2px var(--space-2);border-radius:6px}
.meta .empty{background:transparent;padding:0}
.subject .go{font-size:var(--text-xs);font-weight:600;color:var(--primary);margin-top:auto}

.note{margin-top:var(--space-8);padding:var(--space-4) var(--space-5);background:var(--accent-soft);border-radius:var(--radius);font-size:var(--text-sm);color:#5c4500}

/* subject page */
.res-section{margin-top:var(--space-10)}
.res-section:first-of-type{margin-top:var(--space-8)}
.res-section h2{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4)}
.res-section h2 .count{font-size:var(--text-xs);font-weight:600;background:var(--surface-2);color:var(--muted);padding:2px var(--space-3);border-radius:999px}
.book-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}
.book{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:border-color .2s}
.book:hover{border-color:var(--primary)}
.book .cover{flex:none;width:44px;height:56px;border-radius:4px 8px 8px 4px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;box-shadow:inset -4px 0 0 var(--accent)}
.book .cover svg{width:20px;height:20px}
.book strong{display:block;font-size:var(--text-sm);font-weight:600;line-height:1.5}
.book small{font-size:var(--text-xs);color:var(--primary);font-weight:600}
.video-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-4)}
.video{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:border-color .2s}
.video:hover{border-color:var(--primary)}
.thumb{position:relative;aspect-ratio:16/9;background:var(--surface-2)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .play{position:absolute;inset:0;display:grid;place-items:center}
.thumb .play i{width:44px;height:44px;border-radius:50%;background:rgba(20,37,74,.75);display:grid;place-items:center}
.thumb .play svg{width:18px;height:18px;fill:#fff;margin-inline-end:-2px}
.video p{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;line-height:1.5}
.exam-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}
.exam{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:var(--text-sm);transition:border-color .2s}
.exam:hover{border-color:var(--primary)}
.exam svg{flex:none;width:16px;height:16px;color:var(--primary)}
.more-btn{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);border:1px solid var(--line);border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--primary);background:var(--surface)}
.more-btn:hover{border-color:var(--primary)}
.empty-state{padding:var(--space-10) var(--space-6);text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
.empty-state strong{display:block;color:var(--ink);font-size:var(--text-base);margin-bottom:var(--space-2)}
.empty-state a{color:var(--primary);font-weight:600}
.source-line{margin-top:var(--space-10);font-size:var(--text-xs);color:var(--muted)}
.source-line a{color:var(--primary)}

/* about / contact */
.prose{max-width:68ch}
.prose h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin:var(--space-8) 0 var(--space-3);color:var(--primary)}
.prose p{margin-bottom:var(--space-4)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-8)}
.fact{padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.fact small{display:block;font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-1)}
.fact strong{font-size:var(--text-base)}
.map-frame{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}

/* footer */
.site-footer{background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8 8 0' stroke='%23fff' stroke-opacity='.03'/%3E%3C/svg%3E");color:rgba(255,255,255,.8);margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-10);padding-block:var(--space-12)}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.f-brand{margin-bottom:var(--space-4)}
.f-sub{color:#fff;font-size:var(--text-base);font-weight:800;margin-bottom:var(--space-2)}
.f-about p{font-size:var(--text-sm);line-height:1.8}
.f-more{display:inline-block;margin-top:var(--space-3);color:var(--accent);font-weight:800;text-decoration:none;font-size:var(--text-sm)}
.f-title{color:#fff;font-size:var(--text-lg);font-weight:800;padding-bottom:var(--space-3);margin-bottom:var(--space-4);position:relative}
.f-title::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:46px;height:3px;background:linear-gradient(90deg,var(--accent) 0 60%,transparent 60% 70%,var(--accent) 70%)}
.f-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm)}
.f-list a{text-decoration:none;display:inline-flex;gap:var(--space-2)}
.f-list a::before{content:"←";color:var(--accent);order:2}
.f-list a:hover{color:var(--accent)}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:var(--space-5);text-align:center;font-size:var(--text-xs)}

.fade-in{animation:fade .35s ease both}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* countdown */
.count-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}
.count-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-6);border-radius:var(--radius);background:linear-gradient(135deg,#1e3a73,var(--primary));color:#fff;border-inline-start:5px solid var(--accent)}
.count-card small{font-size:var(--text-xs);color:var(--accent);font-weight:700}
.count-card strong{font-size:var(--text-xl);font-weight:800;line-height:1.3}
.count-card span{font-size:var(--text-sm);opacity:.9}
.count-card em{font-style:normal;font-size:var(--text-xs);opacity:.75}

/* news */
.news-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
@media (max-width:960px){.news-row{grid-template-columns:1fr}}
.news-card{border-top:4px solid var(--primary);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.news-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted)}
.tag{background:var(--accent);color:var(--primary);font-weight:600;padding:2px var(--space-3);border-radius:999px}
.news-card h3{font-size:var(--text-base);font-weight:700;line-height:1.5}
.news-card p{font-size:var(--text-sm);color:var(--muted)}
.news-card .src{margin-top:auto;font-size:var(--text-xs);color:var(--primary);font-weight:600}
.news-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-10);align-items:start}
@media (max-width:960px){.news-layout{grid-template-columns:1fr}}
.news-list{display:grid;gap:var(--space-4)}
.side{position:sticky;top:90px;display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.side .group-title{margin:0}
.event-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);width:100%}
.event{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-inline-start:3px solid var(--primary);border-radius:8px}
.event strong{font-size:var(--text-sm);font-weight:600;line-height:1.5}
.ev-date{font-size:var(--text-xs);color:var(--muted)}
.badge{display:inline-block;align-self:flex-start;font-size:var(--text-xs);font-weight:600;padding:1px var(--space-2);border-radius:6px;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.badge.now{background:var(--accent-soft);color:#7a5a00}
.badge.next{background:var(--primary-soft);color:var(--primary)}

/* exams */
.ann-list{display:grid;gap:var(--space-3)}
.ann{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:8px}
.ann strong{font-size:var(--text-sm);font-weight:600;flex:1;min-width:220px}
.ann>span:last-child{font-size:var(--text-xs);color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.cal{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.cal th{text-align:start;font-size:var(--text-xs);color:var(--muted);font-weight:600;background:var(--surface-2);padding:var(--space-3) var(--space-4)}
.cal td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);vertical-align:top}
.cal tr.past td{color:var(--muted)}
.cal .nowrap{white-space:nowrap}
.type{display:inline-block;font-size:var(--text-xs);font-weight:600;padding:0 var(--space-2);border-radius:4px;margin-inline-end:var(--space-2);background:var(--surface-2);color:var(--muted)}
.t-اختبارات{background:var(--primary-soft);color:var(--primary)}
.t-نتائج{background:var(--accent-soft);color:#7a5a00}
@media (max-width:700px){
  .cal thead{display:none}
  .cal tr{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}
  .cal td{border:0;padding:0}
  .cal .nowrap{white-space:normal;font-size:var(--text-xs);color:var(--muted)}
}

/* honor */
.sub-title{font-size:var(--text-base);font-weight:700;margin:var(--space-6) 0 var(--space-3)}
.honor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}
.honor{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;position:relative}
.honor .rank{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--primary);display:grid;place-items:center;font-weight:700;margin-bottom:var(--space-2)}
.honor strong{font-size:var(--text-base)}
.honor span{font-size:var(--text-sm);color:var(--primary);font-weight:600}
.honor small{font-size:var(--text-xs);color:var(--muted)}
a.honor:hover{border-color:var(--primary)}
.honor-empty svg{width:44px;height:44px;color:var(--accent);margin:0 auto var(--space-3)}

/* departments */
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}
@media (max-width:400px){.dept-grid{grid-template-columns:1fr}}
.dept{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}
.dept-head{display:flex;align-items:center;gap:var(--space-3)}
.dept-head h3{font-size:var(--text-base);font-weight:700;flex:1}
.dept-head .count{font-size:var(--text-xs);color:var(--muted);background:var(--surface-2);padding:2px var(--space-3);border-radius:999px;white-space:nowrap}
.dept-links{display:flex;flex-direction:column}
.dept-links a{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);text-decoration:none;font-size:var(--text-sm)}
.dept-links a:hover span{color:var(--primary)}
.dept-links small{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}

.wrap.split .map-frame{height:100%;min-height:320px}

.page-head .tabs{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
.page-head .tab{color:rgba(255,255,255,.8)}
.page-head .tab:hover{color:#fff}
.page-head .tab.active{background:var(--accent);color:var(--primary);box-shadow:none}
.tab.active{background:var(--primary);color:#fff}

.topbar-social .ig-pill{width:auto;height:28px;padding:0 var(--space-3);gap:6px;display:inline-flex;align-items:center;font-weight:700;font-size:var(--text-xs);direction:ltr;text-decoration:none;background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888)}
.topbar-social .ig-pill:hover{filter:brightness(1.1)}
.f-social{display:inline-flex;align-items:center;gap:var(--space-2);direction:ltr;text-decoration:none;color:#fff;font-weight:700;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:6px;background:rgba(255,255,255,.08)}
.f-social svg{width:18px;height:18px;color:var(--accent)}
.f-social:hover{background:rgba(255,255,255,.15)}
.ig-card{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius);text-decoration:none;color:#fff;background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888)}
.ig-ico{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex:none}
.ig-ico svg{width:22px;height:22px}
.ig-card strong{display:block;font-size:var(--text-sm)}
.ig-card small{font-size:var(--text-xs);opacity:.9;direction:ltr;display:inline-block}

.brand-seal{background:#fff;overflow:hidden}
.brand-seal img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.news-card.has-img .news-img{display:block;margin:calc(-1*var(--space-6)) calc(-1*var(--space-6)) var(--space-2);aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}
.news-card.has-img .news-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.ig-head{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;justify-content:space-between;background:#fff;border:1px solid var(--border,#e3e7ef);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}
.ig-profile{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit}
.ig-profile img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px #dc2743}
.ig-profile strong{display:block}
.ig-profile bdi{font-size:var(--text-sm);color:var(--muted,#5b6475)}
.ig-stats{display:flex;gap:var(--space-6)}
.ig-stats span{display:flex;flex-direction:column;align-items:center;font-size:var(--text-sm);color:var(--muted,#5b6475)}
.ig-stats strong{font-size:var(--text-lg);color:var(--primary)}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.ig-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:#eee}
.ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ig-tile:hover img{transform:scale(1.04)}
.ig-tile span{position:absolute;inset:auto 0 0 0;padding:var(--space-6) var(--space-3) var(--space-3);background:linear-gradient(transparent,rgba(20,37,74,.9));color:#fff;font-weight:700;font-size:var(--text-sm)}
.tt-card{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:var(--space-6);align-items:center;background:#fff;border:1px solid var(--border,#e3e7ef);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-6)}
.tt-card img{width:100%;height:auto;border-radius:calc(var(--radius) - 4px);display:block}
.tt-card strong{display:block;font-size:var(--text-lg);margin:var(--space-2) 0}
.tt-card p{color:var(--muted,#5b6475);margin-bottom:var(--space-3)}
@media (max-width:720px){.ig-grid{grid-template-columns:repeat(2,1fr)}.tt-card{grid-template-columns:1fr}.ig-head{justify-content:center;text-align:center}}
@media (max-width:720px){.ig-tile span{font-size:11px;line-height:1.4;padding:var(--space-4) var(--space-2) var(--space-2)}.ig-grid{gap:var(--space-2)}}

.tt-viewer{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-6)}
.tt-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}
.tt-chip{font:inherit;font-weight:700;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:999px;border:1px solid var(--line);background:var(--bg,#f4f6fa);color:var(--primary);cursor:pointer;transition:background .2s,color .2s}
.tt-chip:hover{border-color:var(--primary)}
.tt-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.tt-main{display:grid;grid-template-columns:minmax(0,520px) 1fr;gap:var(--space-6);align-items:start;margin:0}
.tt-main img{width:100%;height:auto;display:block;border-radius:calc(var(--radius) - 4px);box-shadow:0 6px 24px rgba(20,37,74,.12)}
.tt-main figcaption strong{display:block;font-size:var(--text-lg);color:var(--primary);margin-bottom:var(--space-2)}
.tt-main figcaption span{color:var(--muted);font-size:var(--text-sm)}
.page-head .tabs .count{font-size:11px;opacity:.8;margin-inline-start:4px}
@media (max-width:820px){.tt-main{grid-template-columns:1fr}.tt-viewer{padding:var(--space-3)}}

.back-home{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--accent);color:var(--primary);font-weight:800;font-size:var(--text-base);padding:var(--space-3) var(--space-5);border-radius:999px;text-decoration:none;margin-bottom:var(--space-4);box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .2s,background .2s}
.back-home svg{width:20px;height:20px}
.back-home:hover{background:#ffd95e;transform:translateY(-2px)}
.home-fab{position:fixed;bottom:20px;left:20px;z-index:60;display:inline-flex;align-items:center;gap:var(--space-2);background:var(--primary);color:#fff;border:2px solid var(--accent);font-weight:800;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:999px;text-decoration:none;box-shadow:0 8px 24px rgba(20,37,74,.35);transition:transform .2s}
.home-fab svg{width:20px;height:20px;color:var(--accent)}
.home-fab:hover{transform:translateY(-2px)}
body.is-home .home-fab{display:none}
@media print{.home-fab{display:none}}

.adm{display:flex;gap:var(--space-4);align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);border-top:4px solid var(--blue,#1d5fae)}
.adm.lead{border-top-color:var(--accent);background:linear-gradient(135deg,var(--primary),#1d3a78);color:#fff;margin-bottom:var(--space-6);padding:var(--space-6)}
.adm.lead small,.adm.lead p{color:rgba(255,255,255,.85)}
.adm.lead h3{color:#fff;font-size:var(--text-xl)}
.adm.lead .adm-ico{background:var(--accent);color:var(--primary);width:64px;height:64px}
.adm-ico{flex:none;width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#1d5fae,#14254a);color:#fff;display:grid;place-items:center;transform:rotate(45deg)}
.adm-ico svg{width:26px;height:26px;transform:rotate(-45deg)}
.adm small{font-size:var(--text-sm);font-weight:700;color:var(--blue,#1d5fae)}
.adm h3{font-size:var(--text-lg);margin:var(--space-1) 0 var(--space-2);color:var(--primary)}
.adm p{font-size:var(--text-sm);color:var(--muted);line-height:1.8}
.adm .pending{font-size:var(--text-sm);font-weight:500;color:var(--muted);background:var(--bg,#f4f6fa);padding:2px var(--space-2);border-radius:4px}
.adm-src{display:inline-block;margin-top:var(--space-2);font-size:var(--text-xs);opacity:.8}
.adm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media (max-width:820px){.adm-grid{grid-template-columns:1fr}}
.dept-periods{margin:var(--space-3) 0}
.dept-periods h4{font-size:var(--text-sm);color:var(--primary);margin-bottom:var(--space-2)}
.dept-periods table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}
.dept-periods th,.dept-periods td{border:1px solid var(--line);padding:4px 6px;text-align:center}
.dept-periods th{background:var(--bg,#f4f6fa);font-weight:700}
.dept-periods td:first-child{text-align:right;font-weight:700}
.dept-periods td{font-variant-numeric:tabular-nums}
.dept-periods .nil,.pmatrix .nil{color:#b8bfcc}
.dept-periods-note{font-size:var(--text-xs);color:var(--muted);margin:var(--space-2) 0}
.pmatrix td.num,.pmatrix th:nth-child(n+3){text-align:center;font-variant-numeric:tabular-nums}
.pmatrix td.muted{color:var(--muted);font-size:var(--text-sm)}
.pmatrix tfoot td{background:var(--primary);color:#fff}
@media (min-width:1301px) and (max-width:1440px){.nav a{padding:var(--space-2) 7px;font-size:13.5px}.brand-text small{display:none}}

.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5) var(--space-4);border-bottom:4px solid var(--accent);display:flex;flex-direction:column;gap:2px}
.kpi strong{font-size:var(--text-2xl,1.9rem);color:var(--primary);font-variant-numeric:tabular-nums;line-height:1.2}
.kpi span{font-weight:700;font-size:var(--text-sm)}
.kpi small{font-size:var(--text-xs);color:var(--muted)}
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.stage-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5)}
.stage-top{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}
.stage-top strong{font-size:2.4rem;color:var(--primary);line-height:1}
.stage-top span{font-weight:800}
.stack{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px;margin-bottom:var(--space-3)}
.stack i{display:block;background:#1d5fae}.stack i.lit{background:var(--accent)}
.stage-card ul{list-style:none;padding:0;margin:0}
.stage-card li{display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed var(--line);font-size:var(--text-sm)}
.stage-card li b{color:var(--primary);font-variant-numeric:tabular-nums}
.stbl td.num,.stbl th{text-align:center}.stbl td:first-child,.stbl th:first-child{text-align:right}
.stbl td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.stbl td.num small{color:var(--muted);font-size:11px}
.stbl .nil{color:#b8bfcc}
.stbl tfoot td{background:var(--primary);color:#fff;font-weight:800}
.stbl tfoot td small{color:rgba(255,255,255,.75)}
.sbar{display:inline-block;vertical-align:middle;width:110px;height:8px;background:#e8ecf3;border-radius:99px;overflow:hidden}
.sbar i{display:block;height:100%;background:linear-gradient(90deg,#1d5fae,#14254a);border-radius:99px}
.sbar.big{width:auto;flex:1;height:14px}
.pct{margin-inline-start:6px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.hbars{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.hbar{display:flex;align-items:center;gap:var(--space-3)}
.hb-l{flex:none;width:150px;font-weight:700;font-size:var(--text-sm)}
.hb-v{flex:none;width:260px;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.pending{font-size:var(--text-xs);color:var(--muted);background:var(--bg,#f4f6fa);padding:2px 8px;border-radius:4px}
.stat-pane[hidden]{display:none}
@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.stage-grid{grid-template-columns:1fr}.hbar{flex-wrap:wrap}.hb-l{width:100%}.hb-v{width:100%}}
@media (max-width:520px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi strong{font-size:1.5rem}}

.brand-ig{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888);margin-inline-start:calc(-1*var(--space-2));margin-inline-end:auto;transition:transform .2s,filter .2s}
.brand-ig svg{width:20px;height:20px}
.brand-ig:hover{transform:translateY(-2px);filter:brightness(1.1)}
