:root{--red: #c8102e;--red-deep: #9b0c24;--green: #1f8f4e;--navy: #0b1f3a;--ink: #142033;--muted: #5a6575;--line: rgba(11, 31, 58, .1);--paper: #f5f7fb;--white: #ffffff;--font-display: "Fraunces", "Noto Naskh Arabic", Georgia, serif;--font-body: "Manrope", "Noto Naskh Arabic", sans-serif;--ease: cubic-bezier(.16, 1, .3, 1);font-family:var(--font-body);color:var(--ink);background:var(--paper)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:absolute;inset-inline:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.25rem,4vw,3rem)}.topbar.solid{position:sticky;background:#f5f7fbf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;color:var(--navy)}.brand img{height:40px;width:auto}.topbar.on-hero .brand{color:var(--white)}.topbar.on-hero .brand span{text-shadow:0 1px 12px rgba(0,0,0,.25)}.nav-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.lang-toggle{border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit;border-radius:6px;padding:.45rem .7rem;cursor:pointer;font-weight:700;font-size:.78rem;letter-spacing:.04em}.topbar.on-hero{color:var(--white)}.topbar.solid{color:var(--navy)}.btn,button.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.35rem;border-radius:8px;font-weight:700;font-size:.92rem;background:var(--red);color:var(--white);transition:transform .25s var(--ease),background .25s,box-shadow .25s}.btn:hover{background:var(--red-deep);transform:translateY(-1px)}.btn.ghost{background:transparent;color:inherit;border:1px solid color-mix(in srgb,currentColor 40%,transparent)}.btn.ghost:hover{background:color-mix(in srgb,currentColor 8%,transparent);transform:none}.topbar.on-hero .btn:not(.ghost){background:var(--white);color:var(--red)}.topbar.on-hero .btn.ghost{border-color:#ffffff73}.hero{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:hidden;color:var(--white);isolation:isolate;text-align:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(200,16,46,.45),transparent 60%),radial-gradient(ellipse 70% 50% at 80% 80%,rgba(31,143,78,.22),transparent 55%),radial-gradient(ellipse 50% 40% at 10% 70%,rgba(11,31,58,.5),transparent 50%),linear-gradient(165deg,#071424,#0b1f3a 42%,#6e1020)}.hero-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);animation:gridDrift 28s linear infinite;opacity:.5}.hero-bg:after{content:"";position:absolute;width:120vmax;height:120vmax;left:50%;top:40%;translate:-50% -50%;background:conic-gradient(from 180deg,transparent,rgba(200,16,46,.12),transparent 40%);animation:spinSlow 40s linear infinite;opacity:.8}@keyframes gridDrift{to{background-position:72px 72px}}@keyframes spinSlow{to{transform:rotate(360deg)}}.hero-inner{position:relative;z-index:1;width:min(820px,calc(100% - 2.5rem));padding:6.5rem 0 4rem;display:flex;flex-direction:column;align-items:center}.hero-seal{width:clamp(120px,22vw,168px);height:clamp(120px,22vw,168px);margin-bottom:1.5rem;border-radius:50%;padding:10px;background:#fffffff5;box-shadow:0 0 0 1px #ffffff59,0 20px 60px #00000059;animation:sealIn 1s var(--ease) both,sealFloat 6s ease-in-out 1s infinite}.hero-seal img{width:100%;height:100%;object-fit:contain}@keyframes sealIn{0%{opacity:0;transform:scale(.86) translateY(20px)}to{opacity:1;transform:none}}@keyframes sealFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-kicker{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:600;letter-spacing:-.02em;animation:rise .9s .08s var(--ease) both}.hero h1{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2.35rem,7.2vw,4.25rem);font-weight:600;line-height:1.05;letter-spacing:-.04em;max-width:14ch;animation:rise .95s .16s var(--ease) both}.hero .lede{margin:0 0 2rem;max-width:36rem;font-size:clamp(1.02rem,2.1vw,1.2rem);line-height:1.55;font-weight:500;color:#ffffffe0;animation:rise 1s .24s var(--ease) both}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;animation:rise 1s .32s var(--ease) both}.hero-actions .btn{min-width:10.5rem;padding:1rem 1.5rem;font-size:.98rem}.hero-actions .btn:first-child{background:var(--white);color:var(--red)}.hero-actions .btn.ghost{border-color:#ffffff80;color:var(--white);background:transparent}.hero-actions .btn.ghost:hover{background:#ffffff1a}.hero-orbit{position:absolute;top:12%;right:8%;bottom:12%;left:8%;border:1px solid rgba(255,255,255,.08);border-radius:40% 60% 55% 45%/45% 40% 60% 55%;z-index:0;animation:morph 18s ease-in-out infinite;pointer-events:none}@keyframes morph{0%,to{border-radius:40% 60% 55% 45%/45% 40% 60% 55%;transform:rotate(0)}50%{border-radius:55% 45% 40% 60%/50% 55% 45% 50%;transform:rotate(8deg)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.section{width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(3.75rem,8vw,5.75rem) 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem}.section-head h2{margin:0;font-family:var(--font-display);font-size:clamp(1.85rem,3.8vw,2.55rem);font-weight:600;letter-spacing:-.03em;color:var(--navy)}.section-link{font-weight:700;color:var(--red);white-space:nowrap}.section-link:hover{color:var(--red-deep)}.section.band{width:100%;background:linear-gradient(180deg,transparent,rgba(200,16,46,.03)),#eef2f8}.section.band .section-inner{width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(3.75rem,8vw,5.75rem) 0}.tabs{display:flex;gap:.4rem;flex-wrap:wrap}.tab{border:1px solid var(--line);background:var(--white);color:var(--navy);border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-weight:650;font-size:.86rem}.tab.active{background:var(--navy);border-color:var(--navy);color:var(--white)}.course-list{display:grid;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}.course-row{display:grid;grid-template-columns:7rem 1fr auto;gap:1rem;align-items:center;padding:1.25rem 1.35rem;border-bottom:1px solid var(--line);transition:background .25s;animation:rise .7s var(--ease) both}.course-row:last-child{border-bottom:0}.course-row:hover{background:#fafbfe}.course-row .status{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.course-row .status.ongoing{color:var(--green)}.course-row .status.past{color:var(--muted)}.course-row h3{margin:0 0 .3rem;font-family:var(--font-display);font-size:clamp(1.15rem,2.3vw,1.4rem);font-weight:600;color:var(--navy);letter-spacing:-.02em}.course-row .meta{font-size:.9rem;color:var(--muted);line-height:1.45}.course-row .arrow{color:var(--red);font-size:1.35rem;transition:transform .3s var(--ease)}.course-row:hover .arrow{transform:translate(5px)}[dir=rtl] .course-row:hover .arrow{transform:translate(-5px)}.empty,.error,.muted{color:var(--muted)}.error{color:var(--red-deep)}.detail-panel{margin-top:1.25rem;padding:2rem;background:var(--white);border:1px solid var(--line);border-radius:14px}.detail-panel h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.5rem);margin:.5rem 0 1rem;color:var(--navy);letter-spacing:-.03em}.auth-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:6.5rem 1rem 2rem;position:relative;overflow:hidden}.auth-wrap .hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.auth-card{position:relative;z-index:1;width:min(420px,100%);background:#fffffff7;border-radius:16px;padding:2.25rem 1.75rem;border:1px solid rgba(255,255,255,.4);box-shadow:0 30px 80px #00000059;animation:rise .8s var(--ease) both;color:var(--ink)}.auth-card img.logo{width:84px;height:84px;margin:0 auto 1rem;object-fit:contain}.auth-card h1{text-align:center;margin:0 0 .35rem;font-family:var(--font-display);font-size:1.7rem;color:var(--navy);letter-spacing:-.03em}.auth-card .sub{text-align:center;color:var(--muted);margin:0 0 1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-weight:700;margin-bottom:.4rem;color:var(--navy);font-size:.86rem}.field input{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:8px;font-size:1rem;background:#fff}.field input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #c8102e1f}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}#googleBtn{display:flex;justify-content:center;min-height:44px}.portal-list{display:grid;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}.portal-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.25rem;border-bottom:1px solid var(--line)}.portal-item:last-child{border-bottom:0}footer.site{margin-top:auto;padding:2rem 1.25rem;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}footer.site strong{font-family:var(--font-display);color:var(--navy);font-weight:600}[dir=rtl] .topbar,[dir=rtl] .section-head,[dir=rtl] .portal-item{flex-direction:row-reverse}[dir=rtl] body{font-family:"Noto Naskh Arabic",var(--font-body)}[dir=rtl] .hero h1,[dir=rtl] .hero-kicker,[dir=rtl] .section-head h2,[dir=rtl] .course-row h3,[dir=rtl] .auth-card h1{font-family:"Noto Naskh Arabic",var(--font-display)}@media(max-width:720px){.course-row{grid-template-columns:1fr;gap:.25rem}.course-row .arrow{display:none}.portal-item{flex-direction:column;align-items:stretch}.nav-actions .btn.ghost:not(.keep){display:none}.hero-orbit{display:none}}
