:root{--background:0 0% 100%;--foreground:20 14.3% 4.1%;--card:0 0% 100%;--card-foreground:20 14.3% 4.1%;--popover:0 0% 100%;--popover-foreground:20 14.3% 4.1%;--primary:142 76% 36%;--primary-foreground:144 61% 20%;--secondary:199 89% 48%;--secondary-foreground:199 100% 96%;--muted:60 4.8% 95.9%;--muted-foreground:25 5.3% 44.7%;--accent:60 4.8% 95.9%;--accent-foreground:24 9.8% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:20 5.9% 90%;--input:20 5.9% 90%;--ring:142 76% 36%;--radius:1rem;--off-white:40 40% 99%;--gradient-primary:linear-gradient(135deg,#22c55e,#15803d);--gradient-secondary:linear-gradient(135deg,#0ea5e9,#0369a1);--gradient-subtle:linear-gradient(135deg,#f0fdf5,#fafaf9);--gradient-hero:linear-gradient(135deg,rgba(34,197,94,0.95),rgba(21,128,61,0.95))}.dark{--background:20 14.3% 4.1%;--foreground:60 9.1% 97.8%;--card:20 14.3% 4.1%;--card-foreground:60 9.1% 97.8%;--popover:20 14.3% 4.1%;--popover-foreground:60 9.1% 97.8%;--primary:142 76% 36%;--primary-foreground:144 61% 20%;--secondary:12 6.5% 15.1%;--secondary-foreground:60 9.1% 97.8%;--muted:12 6.5% 15.1%;--muted-foreground:24 5.4% 63.9%;--accent:12 6.5% 15.1%;--accent-foreground:60 9.1% 97.8%;--destructive:0 62.8% 30.6%;--destructive-foreground:60 9.1% 97.8%;--border:12 6.5% 15.1%;--input:12 6.5% 15.1%;--ring:142 76% 36%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}html{scroll-behavior:smooth}.font-arabic{font-feature-settings:"liga" 1,"calt" 1;text-rendering:optimizeLegibility}.islamic-pattern{background-color:#f0fdf5;background-image:repeating-linear-gradient(45deg,transparent,transparent 35px,rgba(34,197,94,.05) 0,rgba(34,197,94,.05) 70px),repeating-linear-gradient(-45deg,transparent,transparent 35px,rgba(34,197,94,.05) 0,rgba(34,197,94,.05) 70px)}.gradient-text{background:var(--gradient-primary)}.container-custom{width:100%;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container-custom{max-width:1400px}}.container-custom{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container-custom{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container-custom{padding-left:2rem;padding-right:2rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.gradient-icon-bg{border-radius:var(--radius-md);padding:1rem}.gradient-icon-bg,.step-circle{background:var(--bg-gradient-primary);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-colored)}.step-circle{width:64px;height:64px;border-radius:50%;color:white;font-size:1.5rem;font-weight:700;position:relative}.step-circle:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--bg-gradient-secondary);opacity:0;z-index:-1;transition:opacity .3s ease}.step-circle:hover:after{opacity:.3}.gradient-text{background:var(--bg-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-gradient{background:var(--bg-gradient-primary);border:none;color:white;font-weight:600;padding:.875rem 2rem;border-radius:9999px;box-shadow:var(--shadow-colored);transition:transform .2s ease,box-shadow .3s ease;position:relative;overflow:hidden}.btn-gradient:before{content:"";position:absolute;inset:0;background:var(--bg-gradient-secondary);opacity:0;transition:opacity .3s ease}.btn-gradient:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);color:white}.btn-gradient:hover:before{opacity:1}.btn-gradient span{position:relative;z-index:1}.feature-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(67,198,172,.1),rgba(13,110,76,.1));color:var(--brand-teal);display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1rem;transition:all .3s ease}.home-card:hover .feature-icon{background:var(--bg-gradient-primary);color:white;transform:scale(1.1) rotate(5deg)}.stats-card{background:linear-gradient(135deg,rgba(67,198,172,.05),rgba(13,110,76,.05));border-radius:var(--radius-xl);padding:2rem 1.5rem;text-align:center;border:1px solid rgba(67,198,172,.1);transition:all .3s ease}.stats-card:hover{background:var(--bg-gradient-primary);transform:translateY(-4px);box-shadow:var(--shadow-colored)}.stats-card:hover .stats-label,.stats-card:hover .stats-value{color:white}.stats-value{font-size:2.5rem;font-weight:700;background:var(--bg-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;transition:color .3s ease}.stats-label{font-size:.9375rem;color:var(--text-muted);font-weight:500;transition:color .3s ease}.course-card-image{position:relative;overflow:hidden}.course-card-image:after{content:"";position:absolute;inset:0;background:var(--bg-gradient-hero);opacity:0;transition:opacity .3s ease}.home-card:hover .course-card-image:after{opacity:.3}.testimonial-quote{position:relative;padding-left:1.5rem}.testimonial-quote:before{content:'"';position:absolute;left:0;top:-.5rem;font-size:3rem;font-weight:700;background:var(--bg-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.cta-section{background:var(--bg-gradient-primary);position:relative;overflow:hidden}.cta-section:before{top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%)}.cta-section:after,.cta-section:before{content:"";position:absolute;border-radius:50%}.cta-section:after{bottom:-30%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.08) 0,transparent 70%)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation{animation:float 3s ease-in-out infinite}.bg-pattern{background-image:radial-gradient(circle at 20% 50%,rgba(67,198,172,.03) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(13,110,76,.03) 0,transparent 50%)}