@charset "UTF-8";
/* ---- style.css ---- */
:root{--brand-primary:#1e3a5f;--brand-secondary:#c9a227;--brand-accent:#e8f4f8;--brand-text:#1a1a2e;--brand-bg:#ffffff;--primary-900:#12263f;--primary-800:#1e3a5f;--primary-700:#254a73;--primary-600:#2f5a8a;--primary-500:#1e3a5f;--primary-400:#3d6a9a;--primary-300:#6b8fb8;--primary-200:#a8c4db;--primary-100:#d6e6f2;--primary-50:#e8f4f8;--accent-gold:#c9a227;--accent-teal:#0891b2;--accent-green:#059669;--accent-red:#ef4444;--gray-900:#1a1a2e;--gray-800:#1a1a2e;--gray-700:#334155;--gray-600:#475569;--gray-500:#64748b;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#f1f5f9;--gray-50:#f8fafc;--white:#ffffff;--font-primary:'Cairo',system-ui,sans-serif;--font-en:'Cairo',system-ui,sans-serif;--fs-xs:0.875rem;--fs-sm:1rem;--fs-base:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.75rem;--fs-3xl:2.125rem;--fs-4xl:2.625rem;--fs-5xl:3.375rem;--fs-6xl:4.125rem;--fs-7xl:4.875rem;--spacing-xs:0.375rem;--spacing-sm:0.75rem;--spacing-md:1.25rem;--spacing-lg:2rem;--spacing-xl:2.75rem;--spacing-2xl:3.75rem;--spacing-3xl:5.25rem;--spacing-4xl:7.25rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.08);--shadow-md:0 4px 20px rgba(0, 0, 0, 0.12);--shadow-lg:0 8px 40px rgba(0, 0, 0, 0.16);--shadow-xl:0 20px 60px rgba(0, 0, 0, 0.2);--shadow-blue:0 8px 30px rgba(30, 58, 95, 0.28);--shadow-gold:0 8px 28px rgba(201, 162, 39, 0.35);--hero-text-secondary:var(--primary-100);--hero-desc-text:var(--hero-text-secondary);--hero-stat-label:var(--hero-text-secondary);--hero-stat-divider:color-mix(in srgb, var(--primary-200) 55%, transparent);--transition-fast:0.15s ease;--transition-mid:0.3s ease;--transition-slow:0.5s ease;--ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1);--container-max:1280px;--header-h:70px;--topbar-h:36px;--home-jump-nav-h:2.5rem;--home-scroll-offset:calc(var(--topbar-h) + var(--header-h) + var(--home-jump-nav-h));--glass-bg:rgba(255, 255, 255, 0.08);--glass-border:rgba(255, 255, 255, 0.15);--glass-blur:blur(12px)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);background:var(--white);color:var(--gray-800);line-height:1.85;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ol,ul{list-style:none}button{cursor:pointer;font-family:inherit;border:none;background:0 0}input,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.4;letter-spacing:-.015em}.skip-link{position:absolute;top:-100px;right:0;background:var(--primary-500);color:var(--white);padding:.75rem 1.5rem;border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:600;z-index:9999;transition:top var(--transition-fast)}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--primary-400);outline-offset:3px;border-radius:var(--radius-sm)}body.high-contrast{--primary-500:#0000ff;--gray-800:#000000;--white:#ffffff;filter:contrast(1.5)}body.grayscale{filter:grayscale(100%)}.container{max-width:var(--container-max);margin:0 auto;padding:0 calc(var(--spacing-xl) + .5rem)}.section{padding:calc(var(--spacing-4xl) + 1rem) 0;position:relative}.topbar{background:var(--primary-900);color:var(--primary-200);height:var(--topbar-h);font-size:.8125rem;line-height:1;position:sticky;top:0;z-index:1000;font-weight:600;overflow:hidden}.topbar .container{padding-inline:var(--spacing-lg)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--spacing-md);min-width:0}.topbar-right{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;flex-shrink:1;height:100%}.topbar-right span{display:flex;align-items:center;gap:8px;white-space:nowrap}.topbar-right i{color:var(--primary-300)}.topbar-left{display:flex;align-items:center;gap:6px;flex-shrink:0;height:100%}.social-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--primary-300);transition:all var(--transition-fast);flex-shrink:0}.social-icon:hover{background:var(--primary-700);color:var(--white)}.lang-switcher{display:inline-flex;align-items:center;background:var(--primary-800);border-radius:var(--radius-full);padding:2px;height:28px;flex-shrink:0}.lang-btn{display:inline-flex;align-items:center;justify-content:center;height:24px;min-width:32px;padding:0 10px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;line-height:1;color:#93c5fd;transition:all var(--transition-fast);cursor:pointer;letter-spacing:.5px}.lang-btn.active{background:var(--primary-500);color:var(--white)}.lang-btn:hover:not(.active){color:var(--white)}.accessibility-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--primary-300);transition:all var(--transition-fast);cursor:pointer;flex-shrink:0;padding:0}.accessibility-btn:hover{background:var(--primary-700);color:var(--white)}.accessibility-panel{position:fixed;top:var(--topbar-h);left:0;background:var(--white);border:1px solid var(--gray-200);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);z-index:2000;transform:translateX(-110%);transition:transform var(--transition-mid);min-width:220px}.accessibility-panel.open{transform:translateX(0)}.accessibility-panel h3,.accessibility-panel-title{color:var(--primary-800);margin-bottom:var(--spacing-md);font-size:var(--fs-base)}.accessibility-panel button{display:flex;align-items:center;gap:12px;width:100%;padding:16px 22px;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--gray-700);background:var(--gray-50);border:1px solid var(--gray-200);margin-bottom:6px;transition:all var(--transition-fast);text-align:right}.accessibility-panel button:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.header{position:sticky;top:var(--topbar-h);z-index:999;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--gray-200);box-shadow:0 2px 20px rgba(0,0,0,.06);height:var(--header-h);transition:all var(--transition-mid)}.header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.12);height:var(--header-h)}.header .container{padding-inline:var(--spacing-lg)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--spacing-lg);min-width:0}.logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;flex-shrink:0;margin-inline-end:var(--spacing-sm)}.logo-icon{width:46px;height:46px;flex-shrink:0;transition:transform var(--transition-mid)}.logo:hover .logo-icon{transform:scale(1.05) rotate(-3deg)}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-main{font-size:var(--fs-lg);font-weight:900;color:var(--primary-800);letter-spacing:-.5px;line-height:1.15}.logo-sub{font-size:.65rem;color:var(--gray-500);font-weight:600;margin-top:2px;line-height:1.1}.main-nav{display:flex;align-items:center;flex:1 1 auto;min-width:0;justify-content:center}.nav-list{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:1.05rem;font-weight:700;color:var(--gray-800);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;letter-spacing:0}.nav-link i{font-size:.75rem;transition:transform var(--transition-fast)}.nav-item:hover .nav-link{color:var(--primary-500);background:var(--primary-50)}.nav-item:hover .nav-link i{transform:rotate(180deg)}.nav-link.active{color:var(--primary-500);background:var(--primary-50)}.mega-menu{position:absolute;top:100%;right:50%;transform:translateX(50%);padding-top:8px;background:0 0;border:none;box-shadow:none;opacity:0;visibility:hidden;transform:translateX(50%) translateY(-10px);transition:all var(--transition-mid);pointer-events:none;z-index:500}.mega-menu-inner{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);box-shadow:0 20px 60px rgba(0,0,0,.15);display:flex;gap:0;min-width:680px;max-width:960px;overflow:hidden}.nav-item:hover .mega-menu{opacity:1;visibility:visible;transform:translateX(50%) translateY(0);pointer-events:all}.mega-col{flex:1 1 0;min-width:180px;padding:var(--spacing-lg) var(--spacing-xl);border-left:1px solid var(--gray-100)}.mega-col:last-child{border-left:none}.mega-col h4,.mega-col-title{font-size:var(--fs-xs);font-weight:800;color:var(--primary-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-100);white-space:nowrap}.mega-col a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;color:var(--gray-700);background:var(--gray-50);border-radius:var(--radius-md);transition:all var(--transition-fast);margin-bottom:5px;font-weight:600;line-height:1.4;text-align:right}.mega-col a:hover{background:var(--primary-50);color:var(--primary-600);transform:translateX(-4px)}.mega-col a i{color:var(--primary-500);width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.8rem;order:2}.mega-col a:hover i{color:var(--primary-600)}.mega-col a.highlight-link{background:var(--primary-500);color:var(--white);font-weight:600;margin-top:var(--spacing-sm)}.mega-col a.highlight-link:hover{background:var(--primary-600);padding-right:14px}.mega-col a.highlight-link i{color:var(--white)}.header-actions{display:flex;align-items:center;gap:60px;flex-shrink:0}.search-btn{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--gray-600);transition:all var(--transition-fast);font-size:var(--fs-base)}.search-btn:hover{background:var(--primary-50);color:var(--primary-500)}.btn-portal{display:flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--primary-200);border-radius:var(--radius-full);font-size:.9375rem;font-weight:700;color:var(--primary-700);transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.btn-portal:hover{border-color:var(--primary-500);background:var(--primary-50)}.btn-apply{display:flex;align-items:center;gap:8px;padding:9px 18px;background:var(--primary-500);color:var(--white);border-radius:var(--radius-full);font-size:.9375rem;font-weight:700;transition:all var(--transition-fast);white-space:nowrap;box-shadow:var(--shadow-blue);flex-shrink:0}.btn-apply:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:0 10px 30px rgba(37,99,235,.35)}.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:var(--radius-sm);cursor:pointer}.hamburger span{display:block;width:22px;height:2px;background:var(--gray-700);border-radius:var(--radius-full);transition:all var(--transition-mid)}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.search-bar{position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:1px solid var(--gray-100);box-shadow:0 8px 30px rgba(0,0,0,.12);padding:var(--spacing-lg) 0;transform:translateY(-20px);opacity:0;visibility:hidden;transition:all var(--transition-mid);z-index:500}.search-bar.open{transform:translateY(0);opacity:1;visibility:visible}.search-form{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-full);padding:8px 8px 8px 18px;transition:border-color var(--transition-fast)}.search-form:focus-within{border-color:var(--primary-400);background:var(--white)}.search-form input{flex:1;border:none;background:0 0;font-size:var(--fs-base);color:var(--gray-800);outline:0;direction:rtl}.search-form input::placeholder{color:var(--gray-500)}.search-form button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--fs-base);transition:all var(--transition-fast)}.search-form button[type=submit]{background:var(--primary-500);color:var(--white)}.search-form button[type=submit]:hover{background:var(--primary-600)}.search-form button[type=button]{color:var(--gray-500)}.search-form button[type=button]:hover{background:var(--gray-200);color:var(--gray-700)}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1200;backdrop-filter:blur(4px)}.mobile-overlay.open{display:block}.mobile-menu{position:fixed;top:0;right:-100%;width:min(360px,90vw);height:100vh;background:var(--white);z-index:1300;display:flex;flex-direction:column;transition:right var(--transition-mid);overflow-y:auto;box-shadow:-10px 0 60px rgba(0,0,0,.2)}.mobile-menu.open{right:0}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);background:var(--primary-800);color:var(--white)}.mobile-menu-header .logo-main{font-size:var(--fs-xl);color:var(--white)}.mobile-menu-header button{color:var(--white);font-size:var(--fs-xl);opacity:.8;transition:opacity var(--transition-fast)}.mobile-menu-header button:hover{opacity:1}.mobile-nav-list{padding:var(--spacing-md);flex:1}.mobile-nav-list li{margin-bottom:2px}.mobile-nav-list a,.mobile-sub-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:600;color:var(--gray-700);transition:all var(--transition-fast);text-align:right}.mobile-nav-list a:hover,.mobile-sub-toggle:hover{background:var(--primary-50);color:var(--primary-600)}.mobile-nav-list a i,.mobile-sub-toggle i{color:var(--primary-400)}.mobile-sub-toggle i.fa-chevron-down{transition:transform var(--transition-fast);margin-right:auto;margin-left:0}.mobile-has-sub.open .mobile-sub-toggle i.fa-chevron-down{transform:rotate(180deg)}.mobile-sub{display:none;padding-right:var(--spacing-xl)}.mobile-has-sub.open .mobile-sub{display:block}.mobile-sub li a{font-size:var(--fs-sm);font-weight:600;padding:16px 22px}.mobile-menu-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--gray-100);display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-apply-mobile,.btn-portal-mobile{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-radius:var(--radius-full);font-weight:700;font-size:var(--fs-sm);transition:all var(--transition-fast)}.btn-portal-mobile{border:2px solid var(--primary-500);color:var(--primary-600)}.btn-portal-mobile:hover{background:var(--primary-50)}.btn-apply-mobile{background:var(--primary-500);color:var(--white);box-shadow:var(--shadow-blue)}.btn-apply-mobile:hover{background:var(--primary-600)}.hero{min-height:calc(100vh - var(--topbar-h));background:linear-gradient(180deg,rgba(8,20,48,.72) 0,rgba(12,18,33,.78) 100%),url('../images/hero_2.webp') no-repeat center center/cover;display:flex;align-items:flex-start;position:relative;overflow:hidden;padding:0}.hero-bg{position:absolute;inset:0;overflow:hidden}.hero-particles{position:absolute;inset:0}.hero-shape-1{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,.3) 0,transparent 70%);top:-100px;right:-100px;border-radius:50%;animation:pulseGlow 4s ease-in-out infinite}.hero-shape-2{position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(96,165,250,.15) 0,transparent 70%);bottom:-50px;left:20%;border-radius:50%;animation:pulseGlow 6s ease-in-out infinite reverse}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px}@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}.hero-inner{display:flex;flex-direction:row;gap:var(--spacing-2xl);align-items:flex-start;justify-content:space-between;position:relative;z-index:1;padding-top:calc(var(--topbar-h) + var(--header-h) + 8px);padding-bottom:24px}.hero-content{color:var(--white);flex:1}.hero-badge{display:inline-flex;align-items:center;gap:12px;background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.4);color:var(--accent-gold);padding:12px 20px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--spacing-md)}.hero-badge i{color:var(--accent-gold)}.hero-title{font-size:clamp(2.25rem, 4.5vw, var(--fs-6xl));font-weight:900;line-height:1.25;margin-bottom:var(--spacing-lg);letter-spacing:-1.5px}.gradient-text{background:linear-gradient(135deg,#60a5fa,#a5f3fc,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc{font-size:var(--fs-base);color:var(--hero-desc-text);max-width:520px;margin-bottom:var(--spacing-xl);line-height:1.85;font-weight:600}.hero-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.btn-primary-hero{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;background:var(--primary-500);color:var(--white);border-radius:var(--radius-full);font-size:var(--fs-base);font-weight:800;transition:all var(--transition-mid);box-shadow:var(--shadow-blue)}.btn-primary-hero:hover{background:var(--primary-400);transform:translateY(-3px);box-shadow:0 15px 40px rgba(37,99,235,.45)}.btn-secondary-hero{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;border:2px solid rgba(255,255,255,.3);color:var(--white);border-radius:var(--radius-full);font-size:var(--fs-base);font-weight:700;transition:all var(--transition-mid);backdrop-filter:blur(8px)}.btn-secondary-hero:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.1);transform:translateY(-2px)}.hero-stats{display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.hero-stat{display:flex;flex-direction:column;gap:12px}.stat-num{font-variant-numeric:tabular-nums;min-width:5.5ch;font-size:var(--fs-3xl);font-weight:900;color:var(--white);line-height:1;font-feature-settings:"tnum";letter-spacing:-.5px}.stat-label{font-size:var(--fs-xs);color:var(--hero-stat-label);font-weight:700;line-height:1.5}.hero-stat-divider{width:1px;height:44px;background:var(--hero-stat-divider)}body.high-contrast .hero-desc,body.high-contrast .hero-stats .stat-label{color:var(--white)}.hero-visual{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;flex-shrink:0}.hero-image-wrap{position:relative;width:360px;height:420px;border-radius:var(--radius-2xl);overflow:hidden;border:3px solid rgba(255,255,255,.2);box-shadow:0 30px 60px rgba(0,0,0,.35);z-index:2;backdrop-filter:blur(8px)}.hero-main-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-mid)}.hero-image-wrap:hover .hero-main-img{transform:scale(1.05)}.hero-glass-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(8,20,48,.75),transparent);padding:var(--spacing-xl);display:flex;justify-content:center}.gpa-badge{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:14px 24px;border-radius:var(--radius-xl);color:var(--white);width:100%}.gpa-badge-icon{width:36px;height:36px;background:var(--primary-500);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-base);color:var(--white)}.gpa-badge-text{display:flex;flex-direction:column}.gpa-label{font-size:13px;color:rgba(255,255,255,.6);font-weight:600}.gpa-val{font-size:var(--fs-md);font-weight:800;color:var(--white)}.glassmorphism-card{position:absolute;background:rgba(255,255,255,.08)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.15)!important;color:var(--white)!important;border-radius:var(--radius-xl)!important;padding:16px 24px!important;display:flex;align-items:center;gap:14px!important;box-shadow:0 20px 40px rgba(0,0,0,.2)!important;z-index:3}.float-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);flex-shrink:0}.trophy-icon{background:rgba(251,191,36,.15);color:#fbbf24!important}.globe-icon{background:rgba(59,130,246,.15);color:#60a5fa!important}.flask-icon{background:rgba(16,185,129,.15);color:#10b981!important}.float-text-wrap{display:flex;flex-direction:column;gap:8px;text-align:right}.float-title{font-size:var(--fs-sm);font-weight:800;color:var(--white)}.float-desc{font-size:13px;color:rgba(255,255,255,.6);font-weight:500;white-space:nowrap}.card-float-1{top:10px;right:-30px;animation:floatCard 3s ease-in-out infinite}.card-float-2{bottom:80px;right:-40px;animation:floatCard 3s ease-in-out infinite 1s}.card-float-3{bottom:10px;left:-20px;animation:floatCard 3s ease-in-out infinite 2s}@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}.scroll-indicator{width:44px;height:44px;border:2px solid rgba(255,255,255,.4);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}.quick-links-bar{width:100%;background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:var(--spacing-lg) var(--spacing-sm);padding-inline:max(var(--spacing-sm),env(safe-area-inset-left,0)) max(var(--spacing-sm),env(safe-area-inset-right,0))}.quick-links-inner{display:flex;width:100%;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.quick-links-cell{flex:1 1 0;min-width:0}.quick-link-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;min-height:90px;height:100%;padding:var(--spacing-sm) var(--spacing-xs);border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--white);color:var(--gray-800);font-size:var(--fs-sm);font-weight:700;line-height:1.65;text-align:center;text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.quick-link-item:focus-visible{outline:3px solid var(--primary-400);outline-offset:2px}.quick-link-item--primary{border-color:var(--primary-200);background:var(--primary-50);color:var(--primary-800)}.quick-link-label{overflow-wrap:anywhere;text-wrap:balance}.ql-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-600);font-size:var(--fs-base);transition:background var(--transition-fast),color var(--transition-fast)}.quick-link-item--primary .ql-icon{background:var(--primary-100);color:var(--primary-700)}@media (hover:hover){.quick-link-item:hover{border-color:var(--primary-200);background:var(--primary-50);color:var(--primary-800)}.quick-link-item:hover .ql-icon{background:var(--primary-100);color:var(--primary-600)}.quick-link-item--primary:hover{border-color:var(--primary-300);background:var(--primary-100)}}@media (max-width:768px){.quick-links-bar{padding:var(--spacing-sm) var(--spacing-xs)}.quick-links-inner{gap:var(--spacing-xs)}.quick-link-item{min-height:64px;padding:var(--spacing-xs);font-size:var(--fs-xs, .75rem)}.ql-icon{width:32px;height:32px;font-size:var(--fs-sm)}}.news-ticker{background:var(--primary-500);color:var(--white);padding:12px 0;overflow:hidden}.ticker-inner{display:flex;align-items:center;gap:var(--spacing-xl)}.ticker-label{display:flex;align-items:center;gap:12px;font-weight:700;font-size:var(--fs-sm);white-space:nowrap;background:rgba(0,0,0,.15);padding:4px 14px;border-radius:var(--radius-full);flex-shrink:0}.ticker-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.ticker-pause-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:none;border-radius:var(--radius-full);background:rgba(0,0,0,.2);color:var(--white);font-size:var(--fs-sm);cursor:pointer;transition:background var(--transition-fast)}.ticker-pause-btn:hover{background:rgba(0,0,0,.35)}.ticker-track{overflow:hidden;flex:1;min-width:0}.ticker-content{display:flex;gap:var(--spacing-2xl);animation:tickerScroll 30s linear infinite;width:max-content}.ticker-content.is-paused{animation-play-state:paused}.ticker-content span{font-size:var(--fs-sm);white-space:nowrap;font-weight:600}@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.section-header{text-align:center;margin-bottom:var(--spacing-3xl)}.section-badge{display:inline-flex;align-items:center;gap:12px;background:var(--primary-50);color:var(--primary-600);border:1px solid var(--primary-100);padding:12px 24px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-md)}.section-badge.light{background:rgba(255,255,255,.15);color:var(--white);border-color:rgba(255,255,255,.25)}.section-title{font-size:clamp(var(--fs-3xl), 4vw, var(--fs-5xl));font-weight:900;color:var(--primary-900);letter-spacing:-1.5px;margin-bottom:var(--spacing-lg);line-height:1.25}.section-title.light{color:var(--white)}.section-desc{font-size:var(--fs-lg);color:var(--gray-600);max-width:640px;margin:0 auto;line-height:1.9;font-weight:600}.section-desc.light{color:rgba(255,255,255,.7)}.section-cta{text-align:center;margin-top:var(--spacing-3xl)}.btn-outline-primary{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;border:2px solid var(--primary-300);color:var(--primary-600);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:800;transition:all var(--transition-fast)}.btn-outline-primary:hover{background:var(--primary-500);border-color:var(--primary-500);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-blue)}.faculties-section{background:linear-gradient(180deg,#f8fafc 0,#eef4ff 100%)}.faculties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1.1rem,2.5vw,1.6rem);align-items:stretch}.faculty-card{--fc-grad:linear-gradient(145deg, #60a5fa 0%, #1d4ed8 55%, #0c1f45 100%);--fc-title:#0c1f45;--fc-body:rgba(30, 64, 175, 0.82);--fc-accent:#2563eb;--fc-orbit:rgba(147, 197, 253, 0.35);position:relative;display:flex;flex-direction:column;min-height:300px;height:100%;padding:1.35rem 1.35rem 1.15rem;border-radius:28px;overflow:hidden;text-decoration:none;color:inherit;background:var(--fc-grad);transform-style:preserve-3d;perspective:1000px;transition:transform .5s cubic-bezier(.22, 1, .36, 1),box-shadow .5s ease;box-shadow:0 18px 40px -24px rgba(12,31,69,.45),0 10px 24px -16px rgba(37,99,235,.28)}.faculty-card--mint{--fc-grad:linear-gradient(135deg, #34d399 0%, #059669 50%, #064e3b 100%);--fc-title:#064e3b;--fc-body:rgba(6,78,59,.85);--fc-accent:#059669;--fc-orbit:rgba(167,243,208,.4)}.faculty-card--ocean{--fc-grad:linear-gradient(155deg, #38bdf8 0%, #0284c7 45%, #1e3a8a 100%);--fc-title:#0c4a6e;--fc-body:rgba(12,74,110,.88);--fc-accent:#0369a1;--fc-orbit:rgba(125,211,252,.4)}.faculty-card--solar{--fc-grad:linear-gradient(135deg, #fbbf24 0%, #f59e0b 40%, #b45309 100%);--fc-title:#7c2d12;--fc-body:rgba(124,45,18,.88);--fc-accent:#d97706;--fc-orbit:rgba(254,243,199,.45)}.faculty-card--violet{--fc-grad:linear-gradient(145deg, #a78bfa 0%, #6366f1 45%, #312e81 100%);--fc-title:#312e81;--fc-body:rgba(49,46,129,.88);--fc-accent:#7c3aed;--fc-orbit:rgba(221,214,254,.4)}.faculty-card--prism{--fc-grad:linear-gradient(150deg, #22d3ee 0%, #818cf8 50%, #1d4ed8 100%);--fc-title:#1e3a8a;--fc-body:rgba(30,58,138,.88);--fc-accent:#4f46e5;--fc-orbit:rgba(199,210,254,.4)}.faculty-card--void{--fc-grad:linear-gradient(160deg, #1e293b 0%, #1e3a8a 55%, #0f172a 100%);--fc-title:#e2e8f0;--fc-body:rgba(226,232,240,.85);--fc-accent:#60a5fa;--fc-orbit:rgba(148,163,184,.3)}.faculty-card-bg{position:absolute;inset:0;background-image:var(--faculty-bg);background-size:cover;background-position:center;opacity:.32;mix-blend-mode:soft-light;transform:scale(1.04);transition:transform .6s ease,opacity .45s ease;pointer-events:none;z-index:0}.faculty-card-glass{position:absolute;inset:10px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.78) 0,rgba(255,255,255,.52) 100%);border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);pointer-events:none;z-index:1}.faculty-card--void .faculty-card-glass{background:linear-gradient(180deg,rgba(255,255,255,.14) 0,rgba(15,23,42,.55) 100%);border-color:rgba(148,163,184,.25)}.faculty-card-orbit{position:absolute;top:14px;inset-inline-end:14px;width:88px;height:88px;z-index:3;pointer-events:none}.faculty-card-orbit>span{position:absolute;inset:0;border-radius:50%;background:var(--fc-orbit);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .45s ease}.faculty-card-orbit>span:first-child{transform:scale(1);opacity:.55}.faculty-card-orbit>span:nth-child(2){transform:scale(.78);opacity:.7}.faculty-card-orbit>span:nth-child(3){transform:scale(.56);opacity:.85}.faculty-icon-wrap{position:absolute;inset:22px;width:auto;height:auto;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--fc-accent);font-size:1.35rem;box-shadow:0 8px 20px rgba(15,23,42,.12);transition:transform .45s ease,background .35s ease,color .35s ease;z-index:2}.faculty-card-body{position:relative;z-index:2;margin-top:108px;display:flex;flex-direction:column;gap:.55rem;flex:1;min-height:0}.faculty-card h3{font-size:clamp(1.05rem, 1.8vw, 1.25rem);color:var(--fc-title);font-weight:800;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.faculty-card--void h3{color:#f8fafc}.faculty-card p{font-size:.875rem;color:var(--fc-body);line-height:1.7;font-weight:600;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.faculty-card--void p{color:rgba(226,232,240,.88)}.faculty-card-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(15,23,42,.08)}.faculty-card--void .faculty-card-bottom{border-top-color:rgba(255,255,255,.12)}.faculty-dean{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;color:var(--fc-title);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.faculty-card--void .faculty-dean{color:#e2e8f0}.faculty-more{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--fc-accent);color:#fff;flex-shrink:0;transition:transform .35s ease,box-shadow .35s ease;box-shadow:0 8px 16px rgba(37,99,235,.25)}.faculty-card:hover{transform:translateY(-8px) rotate3d(1,1,0,6deg);box-shadow:0 28px 50px -28px rgba(12,31,69,.5),0 0 0 1px rgba(255,255,255,.35) inset}.faculty-card:hover .faculty-card-bg{transform:scale(1.1);opacity:.42}.faculty-card:hover .faculty-icon-wrap{background:var(--fc-accent);color:#fff;transform:scale(1.06)}.faculty-card:hover .faculty-card-orbit>span:first-child{transform:scale(1.08)}.faculty-card:hover .faculty-card-orbit>span:nth-child(2){transform:scale(.86)}.faculty-card:hover .faculty-more{transform:translateX(4px)}@media (prefers-reduced-motion:reduce){.faculty-card,.faculty-card:hover{transform:none}}.why-section{background:linear-gradient(145deg,var(--primary-900),var(--primary-800));overflow:hidden}.why-bg{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(37,99,235,.15) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(96,165,250,.1) 0,transparent 50%)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.why-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);color:var(--white);transition:all var(--transition-mid);position:relative;overflow:hidden}.why-item::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.1),transparent);opacity:0;transition:opacity var(--transition-mid)}.why-item:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.12)}.why-item:hover::before{opacity:1}.why-icon{width:56px;height:56px;background:rgba(37,99,235,.3);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xl);color:var(--primary-300);margin-bottom:var(--spacing-lg);transition:all var(--transition-mid)}.why-item:hover .why-icon{background:var(--primary-500);color:var(--white);transform:scale(1.1)}.why-item h3{font-size:var(--fs-xl);color:var(--white);margin-bottom:var(--spacing-sm)}.why-item p{color:rgba(255,255,255,.65);font-size:var(--fs-sm);line-height:1.8}.news-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--spacing-lg)}.news-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-mid);display:flex;flex-direction:column}.news-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.news-card.featured{grid-row:span 2}.news-img{position:relative;overflow:hidden}.news-card.featured .news-img{height:280px}.news-card:not(.featured) .news-img{height:160px}.news-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-slow)}.news-card:hover .news-img-placeholder{transform:scale(1.05)}.news-cat{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:rgba(255,255,255,.95);color:var(--primary-600);padding:4px 12px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:700;box-shadow:var(--shadow-sm)}.news-body{padding:var(--spacing-xl);display:flex;flex-direction:column;flex:1}.news-meta{display:flex;gap:var(--spacing-md);font-size:var(--fs-xs);color:var(--gray-500);margin-bottom:var(--spacing-md)}.news-meta span{display:flex;align-items:center;gap:5px}.news-body h3{font-size:var(--fs-xl);color:var(--primary-900);margin-bottom:var(--spacing-md);line-height:1.45;font-weight:800}.news-card:not(.featured) .news-body h3{font-size:var(--fs-lg);font-weight:800}.news-body p{font-size:var(--fs-sm);color:var(--gray-600);line-height:1.85;flex:1;font-weight:600}.news-read-more{display:inline-flex;align-items:center;gap:12px;color:var(--primary-500);font-size:var(--fs-sm);font-weight:800;margin-top:var(--spacing-lg);transition:gap var(--transition-fast)}.news-read-more:hover{gap:12px}.calendar-section{background:var(--gray-50)}.calendar-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4xl);align-items:center}.calendar-content h2{font-size:var(--fs-4xl);color:var(--primary-900);font-weight:900;margin-bottom:var(--spacing-2xl);letter-spacing:-1px}.calendar-events{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.cal-event{display:flex;gap:var(--spacing-lg);align-items:flex-start;padding:var(--spacing-lg);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);transition:all var(--transition-fast)}.cal-event:hover{box-shadow:var(--shadow-md);border-color:var(--primary-200)}.cal-event.upcoming{border-color:var(--primary-300);border-right-width:4px}.cal-date{display:flex;flex-direction:column;align-items:center;background:var(--primary-50);border-radius:var(--radius-md);padding:12px 18px;min-width:60px;flex-shrink:0}.cal-day{font-size:var(--fs-2xl);font-weight:900;color:var(--primary-600);line-height:1}.cal-month{font-size:var(--fs-xs);color:var(--gray-600);font-weight:600}.cal-info{flex:1}.cal-info h3{font-size:var(--fs-base);color:var(--primary-900);margin-bottom:6px;font-weight:700}.cal-info p{font-size:var(--fs-sm);color:var(--gray-600);font-weight:600;line-height:1.8}.cal-tag{display:inline-block;padding:3px 12px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:700;margin-top:6px}.cal-tag.urgent{background:#fef2f2;color:#b91c1c}.cal-tag{background:var(--primary-50);color:var(--primary-600)}.mini-calendar{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);max-width:340px;margin:0 auto}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);font-weight:700;color:var(--primary-800)}.mini-cal-header i{cursor:pointer;color:var(--gray-500);padding:4px;transition:color var(--transition-fast)}.mini-cal-header i:hover{color:var(--primary-500)}.mini-cal-header div{display:flex;gap:var(--spacing-sm)}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.mini-cal-day-name{font-size:var(--fs-xs);font-weight:700;color:var(--gray-500);padding:4px}.mini-cal-num{font-size:var(--fs-sm);padding:7px 4px;border-radius:var(--radius-sm);cursor:pointer;color:var(--gray-700);transition:all var(--transition-fast)}.mini-cal-num:hover{background:var(--primary-50);color:var(--primary-600)}.mini-cal-num.highlight-start{background:var(--primary-500);color:var(--white);border-radius:var(--radius-md);font-weight:700}.mini-cal-num.event-day{background:var(--accent-gold);color:var(--gray-900);border-radius:var(--radius-md);font-weight:700}.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl)}.research-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-mid);display:flex;flex-direction:column}.research-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.rc-top{padding:var(--spacing-xl);color:var(--white);display:flex;flex-direction:column;gap:var(--spacing-sm)}.rc-top i{font-size:var(--fs-3xl)}.rc-top span{font-weight:700;font-size:var(--fs-base)}.research-card p{padding:var(--spacing-lg);font-size:var(--fs-sm);color:var(--gray-600);line-height:1.85;flex:1;font-weight:600}.rc-stats{display:flex;gap:var(--spacing-md);padding:0 var(--spacing-lg);font-size:var(--fs-xs);color:var(--gray-500);font-weight:600}.rc-stats span{display:flex;align-items:center;gap:8px}.research-card a{display:flex;align-items:center;gap:12px;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--fs-sm);font-weight:700;color:var(--primary-600);transition:gap var(--transition-fast);border-top:1px solid var(--gray-100);margin-top:var(--spacing-md)}.research-card a:hover{gap:12px}.research-cta-bar{background:linear-gradient(135deg,var(--primary-800),var(--primary-700));border-radius:var(--radius-xl);padding:var(--spacing-2xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);color:var(--white);flex-wrap:wrap}.rcta-stat{text-align:center}.rcta-num{display:block;font-size:var(--fs-4xl);font-weight:900;color:var(--accent-gold)}.rcta-stat span:last-child{font-size:var(--fs-sm);color:rgba(255,255,255,.7)}.btn-primary-light{display:inline-flex;align-items:center;gap:12px;padding:14px 30px;background:var(--white);color:var(--primary-700);border-radius:var(--radius-full);font-weight:700;font-size:var(--fs-sm);transition:all var(--transition-fast);white-space:nowrap}.btn-primary-light:hover{background:var(--primary-50);transform:translateY(-2px);box-shadow:var(--shadow-md)}.student-life-section{background:var(--gray-50)}.student-life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.sl-card{background:var(--white);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-100);transition:all var(--transition-mid)}.sl-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.sl-img{height:160px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:rgba(255,255,255,.9);transition:transform var(--transition-slow)}.sl-card:hover .sl-img{transform:scale(1.05)}.sl-card h3{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm);font-size:var(--fs-xl);color:var(--primary-900);font-weight:800;line-height:1.3}.sl-card p{padding:0 var(--spacing-lg) var(--spacing-md);font-size:var(--fs-sm);color:var(--gray-600);line-height:1.85;font-weight:600}.sl-card a{display:inline-flex;align-items:center;gap:12px;padding:0 var(--spacing-lg) var(--spacing-lg);color:var(--primary-500);font-size:var(--fs-sm);font-weight:700;transition:gap var(--transition-fast)}.sl-card a:hover{gap:12px}.testimonials-section{background:linear-gradient(145deg,var(--primary-900),var(--primary-800));overflow:hidden}.testimonials-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 10% 90%,rgba(96,165,250,.1) 0,transparent 50%),radial-gradient(ellipse at 90% 10%,rgba(37,99,235,.1) 0,transparent 50%)}.testimonials-slider{position:relative;overflow:hidden}.testimonials-track{display:flex;transition:transform var(--transition-slow)}.testimonial-card{min-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center}.tc-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);position:relative}.tc-content::before{content:'"';position:absolute;top:-20px;right:20px;font-size:100px;color:var(--primary-500);opacity:.3;font-family:serif;line-height:1}.tc-stars{color:var(--accent-gold);font-size:var(--fs-sm);margin-bottom:var(--spacing-md)}.tc-content p{color:rgba(255,255,255,.85);font-size:var(--fs-lg);line-height:1.9;font-style:italic}.tc-author{display:flex;align-items:center;gap:var(--spacing-lg);color:var(--white);justify-content:center}.tc-avatar{width:72px;height:72px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xl);font-weight:900;flex-shrink:0;color:var(--white);box-shadow:0 4px 20px rgba(0,0,0,.3)}.tc-author strong{display:block;font-size:var(--fs-xl);margin-bottom:4px}.tc-author span{color:rgba(255,255,255,.6);font-size:var(--fs-sm)}.slider-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}.slider-btn{width:44px;height:44px;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);transition:all var(--transition-fast)}.slider-btn:hover{background:var(--primary-500);border-color:var(--primary-500)}.slider-dots{display:flex;gap:12px}.dot{width:8px;height:8px;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transition:all var(--transition-fast);cursor:pointer}.dot.active{background:var(--white);width:24px}.partners-section{background:var(--gray-50)}.partners-track-wrap{overflow:hidden;position:relative}.partners-track-wrap::after,.partners-track-wrap::before{content:'';position:absolute;top:0;width:100px;height:100%;z-index:1}.partners-track-wrap::before{right:0;background:linear-gradient(to left,var(--gray-50),transparent)}.partners-track-wrap::after{left:0;background:linear-gradient(to right,var(--gray-50),transparent)}.partners-track{display:flex;gap:var(--spacing-xl);animation:partnersScroll 25s linear infinite;width:max-content}@keyframes partnersScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.partner-logo{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-2xl);display:flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;transition:all var(--transition-fast);height:72px}.partner-logo span{font-size:var(--fs-sm);font-weight:700;color:var(--gray-500);transition:color var(--transition-fast)}.partner-logo:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.partner-logo:hover span{color:var(--primary-600)}.admissions-cta{background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-700) 50%,var(--primary-900) 100%);position:relative;overflow:hidden}.admissions-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(255,255,255,.08) 0,transparent 50%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.acta-inner{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-4xl);align-items:center;position:relative;z-index:1}.acta-content{color:var(--white)}.acta-content .section-badge{margin-bottom:var(--spacing-lg)}.acta-content h2{font-size:clamp(var(--fs-3xl), 4vw, var(--fs-5xl));font-weight:900;margin-bottom:var(--spacing-lg);letter-spacing:-1.5px;line-height:1.25}.acta-content p{font-size:var(--fs-lg);color:rgba(255,255,255,.85);margin-bottom:var(--spacing-xl);max-width:560px;line-height:1.85;font-weight:600}.acta-deadline{display:inline-flex;align-items:center;gap:12px;background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.4);color:var(--accent-gold);padding:12px 24px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--spacing-xl)}.acta-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.btn-acta-primary{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;background:var(--white);color:var(--primary-700);border-radius:var(--radius-full);font-weight:800;font-size:var(--fs-base);transition:all var(--transition-fast)}.btn-acta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.btn-acta-secondary{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;border:2px solid rgba(255,255,255,.4);color:var(--white);border-radius:var(--radius-full);font-weight:700;font-size:var(--fs-base);transition:all var(--transition-fast)}.btn-acta-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}.acta-circle{width:220px;height:220px;border:3px solid rgba(255,255,255,.2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;animation:rotateBorder 15s linear infinite;position:relative}.acta-circle::before{content:'';position:absolute;inset:10px;border:2px dashed rgba(255,255,255,.15);border-radius:var(--radius-full)}@keyframes rotateBorder{from{transform:rotate(0)}to{transform:rotate(360deg)}}.acta-circle-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--white);animation:rotateBorder 15s linear infinite reverse}.acta-circle-inner i{font-size:3.5rem;color:var(--accent-gold)}.acta-circle-inner span{font-size:var(--fs-xl);font-weight:900}.acta-year-label{font-size:var(--fs-xs);color:rgba(255,255,255,.6)}.contact-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4xl);align-items:start}.cq-info h2{font-size:var(--fs-4xl);color:var(--primary-900);font-weight:900;margin-bottom:var(--spacing-2xl);letter-spacing:-1px}.cq-items{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.cq-item{display:flex;gap:var(--spacing-md);align-items:flex-start}.cq-icon{width:44px;height:44px;background:var(--primary-50);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--primary-500);font-size:var(--fs-base);flex-shrink:0}.cq-item h3{font-size:var(--fs-sm);color:var(--primary-700);font-weight:700;margin-bottom:2px}.cq-item p{font-size:var(--fs-sm);color:var(--gray-600)}.cq-social{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.cq-social a{width:44px;height:44px;background:var(--gray-100);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all var(--transition-fast)}.cq-social a:hover{background:var(--primary-500);color:var(--white);transform:translateY(-2px)}.map-placeholder{border-radius:var(--radius-xl);overflow:hidden;height:400px;border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);position:relative}.map-overlay{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translateX(-50%)}.map-link{display:inline-flex;align-items:center;gap:12px;background:var(--primary-500);color:var(--white);padding:14px 24px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:700;box-shadow:var(--shadow-blue);transition:all var(--transition-fast)}.map-link:hover{background:var(--primary-600);transform:translateY(-2px)}.newsletter-section{background:var(--gray-50)}.nl-inner{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-2xl);padding:var(--spacing-2xl) var(--spacing-3xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2xl);box-shadow:var(--shadow-md);flex-wrap:wrap}.nl-content{display:flex;align-items:center;gap:var(--spacing-xl)}.nl-icon{font-size:2.5rem;color:var(--primary-400);flex-shrink:0}.nl-content h2{font-size:var(--fs-2xl);color:var(--primary-900);font-weight:800;margin-bottom:4px}.nl-content p{color:var(--gray-500);font-size:var(--fs-sm)}.nl-form{flex:1;min-width:320px}.nl-input-wrap{display:flex;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-full);overflow:hidden;transition:border-color var(--transition-fast)}.nl-input-wrap:focus-within{border-color:var(--primary-400);background:var(--white)}.nl-input-wrap input{flex:1;padding:14px 24px;border:none;background:0 0;font-size:var(--fs-sm);color:var(--gray-800);outline:0;direction:rtl}.nl-input-wrap input::placeholder{color:var(--gray-500)}.nl-input-wrap button{padding:14px 26px;background:var(--primary-500);color:var(--white);font-family:inherit;font-size:var(--fs-sm);font-weight:700;border:none;cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:center;gap:12px;white-space:nowrap;margin:4px;border-radius:var(--radius-full)}.nl-input-wrap button:hover{background:var(--primary-600)}.nl-msg{font-size:var(--fs-sm);margin-top:8px;min-height:20px}.nl-msg.success{color:var(--accent-green)}.nl-msg.error{color:var(--accent-red)}.nl-privacy{font-size:var(--fs-xs);color:var(--gray-500);margin-top:8px}.nl-privacy a{color:var(--primary-500)}.nl-privacy a:hover{text-decoration:underline}.footer{background:var(--gray-900);color:var(--gray-300);padding-top:var(--spacing-4xl)}.footer-top{padding:0 0 var(--spacing-3xl)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--spacing-3xl)}.footer-logo{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.footer-logo-main{display:block;font-size:var(--fs-xl);font-weight:900;color:var(--white);letter-spacing:-.5px;line-height:1.2}.footer-logo-sub{display:block;font-size:var(--fs-xs);color:#94a3b8}.brand-col p{font-size:var(--fs-sm);color:#94a3b8;line-height:1.9;margin-bottom:var(--spacing-xl);font-weight:600}.footer-social{display:flex;gap:var(--spacing-sm)}.footer-social-icon{width:38px;height:38px;background:var(--gray-800);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:var(--fs-sm);transition:all var(--transition-fast)}.footer-social-icon:hover{background:var(--primary-600);color:var(--white);transform:translateY(-2px)}.footer-col h3{color:var(--white);font-size:var(--fs-base);font-weight:800;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-800)}.footer-col ul{display:flex;flex-direction:column;gap:12px}.footer-col a{font-size:var(--fs-sm);color:#94a3b8;transition:all var(--transition-fast);display:flex;align-items:center;gap:12px;font-weight:600}.footer-col a:hover{color:var(--primary-400);padding-right:4px}.footer-col a::before{content:'›';color:var(--primary-600);font-size:var(--fs-base);line-height:1}.footer-bottom{border-top:1px solid var(--gray-800);padding:var(--spacing-xl) 0}.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);flex-wrap:wrap}.footer-bottom p{font-size:var(--fs-sm);color:#94a3b8;font-weight:600}.footer-bottom-links{display:flex;gap:var(--spacing-lg)}.footer-bottom-links a{font-size:var(--fs-sm);color:#94a3b8;transition:color var(--transition-fast);font-weight:600}.footer-bottom-links a:hover{color:var(--primary-400)}.footer-lang{display:flex;gap:var(--spacing-sm)}.lang-footer{font-size:var(--fs-sm);color:#94a3b8;padding:4px 12px;border-radius:var(--radius-full);border:1px solid var(--gray-700);transition:all var(--transition-fast)}.lang-footer.active,.lang-footer:hover{color:var(--white);border-color:var(--primary-500);background:var(--primary-700)}.back-to-top{position:fixed;bottom:30px;left:30px;width:48px;height:48px;background:var(--primary-500);color:var(--white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);box-shadow:var(--shadow-blue);opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-mid);z-index:500;cursor:pointer}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--primary-600);transform:translateY(-3px)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--gray-900);color:var(--gray-300);padding:var(--spacing-lg) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);z-index:1200;transform:translateY(100%);transition:transform var(--transition-mid);border-top:2px solid var(--primary-700);flex-wrap:wrap}.cookie-banner.show{transform:translateY(0)}.cookie-content{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.cookie-content i{color:var(--accent-gold);font-size:var(--fs-xl);flex-shrink:0}.cookie-content p{font-size:var(--fs-sm);line-height:1.8;font-weight:600}.cookie-content a{color:var(--primary-400)}.cookie-content a:hover{text-decoration:underline}.cookie-actions{display:flex;gap:var(--spacing-sm)}.cookie-accept,.cookie-decline{min-height:44px;min-width:48px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center}.cookie-accept{padding:12px 24px;background:var(--primary-500);color:var(--white);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:700;transition:all var(--transition-fast)}.cookie-accept:hover{background:var(--primary-600)}.cookie-decline{padding:12px 24px;border:1px solid var(--gray-600);color:#94a3b8;border-radius:var(--radius-full);font-size:var(--fs-sm);transition:all var(--transition-fast)}.cookie-decline:hover{border-color:var(--gray-500);color:var(--white)}.hero .animate-fade-left,.hero .animate-fade-up{opacity:1;transform:none;animation:fadeUp .7s var(--ease-out-quart) both}.hero .animate-fade-left{animation-name:fadeLeft}.animate-fade-up{opacity:0;transform:translateY(30px);animation:fadeUp .7s var(--ease-out-quart) forwards}.animate-fade-left{opacity:0;transform:translateX(40px);animation:fadeLeft .7s var(--ease-out-quart) forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.45s}.delay-4{animation-delay:.6s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{to{opacity:1;transform:translateX(0)}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease-out-quart),transform .5s var(--ease-out-quart)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.animate-fade-left,.animate-fade-up{opacity:1;transform:none;animation:none}.animate-on-scroll{opacity:1;transform:none;transition:none}.hero-shape-1,.hero-shape-2,.particle{animation:none!important}.ticker-content{animation:none}.ticker-track{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ticker-pause-btn{display:none}}.particle{position:absolute;background:rgba(255,255,255,.07);border-radius:var(--radius-full);animation:particleFloat linear infinite;pointer-events:none}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-100px) rotate(720deg);opacity:0}}@media (max-width:1200px){:root{--container-max:100%}.faculties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-2xl)}.brand-col{grid-column:span 3}}@media (min-width:769px) and (max-width:1280px){.topbar{font-size:.75rem}.topbar-right span:nth-child(3){display:none}.logo-sub{display:none}.nav-link{padding:9px 10px;font-size:.875rem}}@media (min-width:769px) and (max-width:1120px){.topbar-right span:nth-child(2){display:none}.btn-apply-label,.btn-portal-label{display:none}.btn-apply,.btn-portal{padding:8px 10px;gap:0}}@media (max-width:1024px){.hero-inner{flex-direction:column;gap:var(--spacing-3xl);text-align:center}.hero-desc{margin:0 auto var(--spacing-2xl)}.hero-actions{justify-content:center}.hero-stats{justify-content:center}.hero:not(.hero--distilled) .hero-visual{display:none}.main-nav{display:none}.hamburger{display:flex}.btn-portal-label{display:none}.btn-portal{display:flex;padding:8px 10px;gap:0}.btn-apply-label{display:none}.btn-apply{padding:8px 10px;gap:0}.why-grid{grid-template-columns:repeat(2,1fr)}.calendar-inner{grid-template-columns:1fr}.calendar-visual{display:none}.testimonial-card{grid-template-columns:1fr}.contact-quick-grid{grid-template-columns:1fr}.acta-inner{grid-template-columns:1fr}.acta-circle{display:none}}@media (max-width:768px){.section{padding:var(--spacing-3xl) 0}.topbar-right span:not(:first-child){display:none}.faculties-grid{grid-template-columns:1fr}.faculty-card{min-height:280px}.news-grid{grid-template-columns:1fr}.news-card.featured{grid-row:span 1}.why-grid{grid-template-columns:1fr}.student-life-grid{grid-template-columns:repeat(2,1fr)}.research-grid{grid-template-columns:1fr}.research-cta-bar{flex-direction:column;text-align:center}.footer-grid{grid-template-columns:1fr 1fr}.brand-col{grid-column:span 2}.nl-inner{flex-direction:column}.nl-form{min-width:unset;width:100%}.hero-badge{font-size:var(--fs-xs)}.footer-bottom-inner{flex-direction:column;text-align:center}}@media (max-width:480px){.container{padding:0 var(--spacing-md)}.student-life-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:var(--spacing-2xl)}.brand-col{grid-column:span 1}.hero-title{font-size:2.25rem}.btn-apply{display:none}.hero-stats{gap:var(--spacing-lg)}.hero-stat-divider{display:none}.hero-stat{align-items:center}.nl-input-wrap{flex-direction:column;border-radius:var(--radius-lg)}.nl-input-wrap input{width:100%}.nl-input-wrap button{margin:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:center}}@media print{.back-to-top,.cookie-banner,.footer,.header,.hero,.news-ticker,.newsletter-section,.quick-links-bar,.topbar{display:none}body{color:#000;background:#fff;font-size:12pt}a{color:#000;text-decoration:underline}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.d-flex{display:flex}.align-center{align-items:center}.gap-md{gap:var(--spacing-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-xl)}.gallery-item{position:relative;border-radius:var(--radius-xl);overflow:hidden;height:220px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .4s cubic-bezier(.4, 0, .2, 1)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4, 0, .2, 1)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,20,48,.85) 0,transparent 80%);display:flex;align-items:flex-end;padding:var(--spacing-md);opacity:0;transition:opacity .4s ease}.gallery-overlay span{color:var(--white);font-size:.95rem;font-weight:700;font-family:Cairo,sans-serif;transform:translateY(10px);transition:transform .4s cubic-bezier(.4, 0, .2, 1)}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover .gallery-overlay span{transform:translateY(0)}.mobile-bottom-nav{display:none}@media (max-width:768px){.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(226,232,240,.8);display:flex;justify-content:space-around;align-items:center;z-index:998;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px rgba(0,0,0,.05)}.mobile-bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#475569;font-size:13px;font-weight:700;gap:8px;flex:1;height:100%;text-decoration:none;transition:all .2s ease;font-family:Cairo,sans-serif}.mobile-bottom-nav .nav-item i{font-size:18px;transition:transform .2s ease}.mobile-bottom-nav .nav-item:active,.mobile-bottom-nav .nav-item:hover{color:#2563eb}.mobile-bottom-nav .nav-item:active i{transform:scale(.9)}.mobile-bottom-nav .nav-item.highlight{color:#2563eb}body{padding-bottom:60px}}@media (max-width:768px){.accessibility-btn,.hamburger,.mobile-menu-header button,.search-bar button{min-width:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important}.mobile-nav-list li a,.mobile-sub-toggle{padding:16px 24px!important;display:flex;align-items:center;width:100%;min-height:48px}}.table-responsive-wrapper{position:relative;width:100%;margin-bottom:var(--spacing-lg);border-radius:var(--radius-xl);overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 4px 20px rgba(0,0,0,.03)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.table-responsive table{margin-bottom:0!important}.table-responsive-wrapper::after{content:'';position:absolute;top:0;bottom:0;left:0;width:30px;background:linear-gradient(to right,rgba(255,255,255,.95),transparent);pointer-events:none;opacity:0;transition:opacity .3s}@media (max-width:768px){.table-responsive-wrapper::after{opacity:1}}@media (max-width:768px){.topbar-left .social-icon,.topbar-right span:not(:first-child){display:none!important}.topbar-inner{justify-content:space-between}}@media (max-width:480px){.topbar{display:none!important}}.estimator-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:30px;margin-top:30px;box-shadow:0 10px 30px rgba(0,0,0,.02)}.estimator-grid{display:grid;grid-template-columns:320px 1fr;gap:30px}@media (max-width:1024px){.estimator-grid{grid-template-columns:1fr}}.estimator-form{background:#f8fafc;border-radius:16px;padding:24px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:20px}.estimator-form label{font-weight:800;color:#1a3a6b;font-size:.95rem;margin-bottom:6px;display:block}.form-group input[type=range],.form-group select{width:100%}.form-group select{padding:14px 16px;border-radius:10px;border:1px solid #cbd5e1;font-family:Cairo,sans-serif;font-size:.9rem;color:#334155;background:#fff}.range-slider-wrap{display:flex;align-items:center;gap:12px}.range-slider-wrap input[type=range]{flex:1;height:6px;background:#cbd5e1;border-radius:5px;outline:0;accent-color:#2563eb}.slider-val{font-size:1.15rem;font-weight:900;color:#2563eb;min-width:60px;text-align:center}.estimator-results{display:flex;flex-direction:column;gap:12px}.elig-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease;background:#fff}.elig-card.qualified{border-color:#a7f3d0;background:#f0fdf4}.elig-card.not-qualified{border-color:#fca5a5;background:#fef2f2;opacity:.8}.elig-info h4{font-size:.95rem;font-weight:800;color:#1a3a6b;margin-bottom:4px}.elig-info p{font-size:.8rem;color:#64748b}.elig-status-badge{padding:4px 12px;border-radius:50px;font-size:.775rem;font-weight:700}.elig-status-badge.success{background:#d1fae5;color:#065f46}.elig-status-badge.error{background:#fee2e2;color:#991b1b}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}@media (max-width:768px){.calc-grid{grid-template-columns:1fr}}.calc-form{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.02);display:flex;flex-direction:column;gap:20px}.calc-toggles{display:flex;flex-direction:column;gap:12px;margin-top:10px}.toggle-item{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.9rem;color:#475569}.toggle-item input[type=checkbox]{width:18px;height:18px;accent-color:#2563eb;cursor:pointer}.calc-results{background:#1a3a6b;border-radius:20px;padding:30px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.calc-results h3{font-size:1.25rem;font-weight:800;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px}.calc-row{display:flex;justify-content:space-between;margin-bottom:14px;font-size:.95rem}.calc-row span{color:rgba(255,255,255,.7)}.calc-row strong{font-weight:800}.calc-row.total{border-top:1px dashed rgba(255,255,255,.25);padding-top:18px;font-size:1.4rem;margin-bottom:24px}.calc-row.total span{color:#fff;font-weight:900}.calc-row.total strong{color:#fbbf24;font-weight:900}.calc-installments-box{background:rgba(255,255,255,.08);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1)}.calc-installments-box h4{font-size:.85rem;font-weight:800;color:#fbbf24;margin-bottom:10px}.calc-installments-box ul{list-style:none;display:flex;flex-direction:column;gap:12px}.calc-installments-box li{display:flex;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.85)}.clinic-booking-section{background:linear-gradient(180deg,var(--primary-50) 0,var(--white) 100%);border-block:1px solid var(--primary-100)}#clinic-booking{scroll-margin-top:var(--home-scroll-offset)}.clinic-booking-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.35fr);gap:var(--spacing-2xl);align-items:start}.clinic-booking-aside{display:flex;flex-direction:column;gap:var(--spacing-lg)}.clinic-booking-highlight{background:var(--white);border:1px solid var(--primary-100);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.clinic-booking-highlight-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:var(--white);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);margin-bottom:var(--spacing-md)}.clinic-booking-highlight h3{font-size:var(--fs-xl);font-weight:800;color:var(--primary-900);margin-bottom:var(--spacing-sm);line-height:1.4}.clinic-booking-highlight p{font-size:var(--fs-sm);color:var(--gray-600);line-height:1.8}.clinic-booking-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.clinic-booking-features li{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--fs-sm);font-weight:600;color:var(--gray-700)}.clinic-booking-features i{color:var(--accent-green);flex-shrink:0}.clinic-booking-location{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-size:var(--fs-sm);color:var(--gray-600);line-height:1.6}.clinic-booking-location i{color:var(--primary-500);margin-top:2px}.clinic-booking-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.clinic-booking-steps li{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--fs-sm);font-weight:600;color:var(--primary-800)}.clinic-booking-steps span{width:28px;height:28px;border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:800;flex-shrink:0}.clinic-booking-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-md)}.clinic-booking-card-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--fs-xl);font-weight:800;color:var(--primary-900);margin-bottom:var(--spacing-xl)}.clinic-booking-card-title i{color:var(--primary-500)}.clinic-booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg) var(--spacing-xl)}.clinic-field{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.clinic-field--full{grid-column:1/-1}.clinic-field label{font-size:var(--fs-sm);font-weight:700;color:var(--gray-700)}.clinic-field .required-mark{color:var(--accent-red)}.clinic-input-wrap{position:relative}.clinic-input-wrap>i{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:var(--fs-sm);pointer-events:none}.clinic-input-wrap input,.clinic-input-wrap select{width:100%;min-height:48px;padding:14px 18px;padding-inline-start:44px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--white);font-family:var(--font-primary);font-size:var(--fs-base);color:var(--gray-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:0}.clinic-input-wrap input:focus,.clinic-input-wrap select:focus{border-color:var(--primary-400);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.clinic-input-wrap input:disabled,.clinic-input-wrap select:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.clinic-slots-hint{margin:0;font-size:var(--fs-sm);color:var(--gray-500);font-weight:600}.clinic-booking-submit{width:100%;margin-top:var(--spacing-xl);min-height:52px;padding:14px 24px;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:var(--white);font-family:var(--font-primary);font-size:var(--fs-base);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:0 8px 24px rgba(37,99,235,.28);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.clinic-booking-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px rgba(37,99,235,.35)}.clinic-booking-submit:disabled{opacity:.7;cursor:not-allowed}@media (max-width:1024px){.clinic-booking-layout{grid-template-columns:1fr}}@media (max-width:640px){.clinic-booking-form-grid{grid-template-columns:1fr}.clinic-booking-card{padding:var(--spacing-lg)}}.booking-form-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.02);margin-top:30px}.booking-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width:640px){.booking-form-grid{grid-template-columns:1fr}}.booking-modal-overlay{position:fixed;inset:0;background:rgba(8,20,48,.6);backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeInModal .3s ease forwards}.booking-modal-card{background:#fff;border-radius:24px;max-width:480px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.2);overflow:hidden;display:flex;flex-direction:column}.booking-modal-header{background:#f0fdf4;padding:24px;text-align:center;border-bottom:1px solid #e2e8f0}.booking-modal-header i{font-size:3rem;color:#10b981;margin-bottom:12px}.booking-modal-header h3{font-size:1.25rem;font-weight:800;color:#065f46}.booking-modal-body{padding:24px;font-size:.9rem;line-height:1.8;color:#334155}.booking-details-list{background:#f8fafc;border-radius:12px;padding:16px;margin:16px 0;list-style:none;display:flex;flex-direction:column;gap:12px;border:1px solid #e2e8f0}.booking-details-list li{display:flex;justify-content:space-between}.booking-details-list span{color:#64748b}.booking-details-list strong{color:#1a3a6b;font-weight:800}.booking-note{font-size:.775rem;color:#94a3b8}.booking-modal-footer--stacked{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-confirm-modal,.btn-save-image{width:100%;padding:12px;border:none;font-weight:800;font-family:Cairo,sans-serif;font-size:.95rem;cursor:pointer;transition:background .2s,transform .15s;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-save-image{background:#0f172a;color:#fff}.btn-save-image:hover{background:#1e293b;transform:translateY(-1px)}.btn-save-image:disabled{opacity:.7;cursor:wait}.btn-confirm-modal{background:#2563eb;color:#fff}.btn-confirm-modal:hover{background:#1d4ed8;transform:translateY(-1px)}@keyframes fadeInModal{from{opacity:0}to{opacity:1}}.booking-modal-overlay.fade-out{opacity:0;transition:opacity .3s ease}.appointment-ticket-print{display:none;width:420px;background:#fff;color:#000;font-family:Cairo,sans-serif;padding:28px;border:2px solid #000;box-sizing:border-box;direction:rtl}.ticket-print-header{text-align:center;border-bottom:2px solid #000;padding-bottom:16px;margin-bottom:16px}.ticket-print-logo{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;font-weight:700;color:#000;margin-bottom:8px}.ticket-print-logo i{font-size:1.25rem}.ticket-print-header h2{font-size:1.4rem;font-weight:900;color:#000;margin:0;direction:rtl;letter-spacing:0}.ticket-print-table{width:100%;border-collapse:collapse;font-size:.95rem;margin-bottom:16px}.ticket-print-table td,.ticket-print-table th{border:1px solid #000;padding:10px 12px;text-align:right;vertical-align:middle}.ticket-print-table th{width:35%;background:#f3f4f6;font-weight:800;color:#000}.ticket-print-table td{width:65%;font-weight:700;color:#000}.ticket-print-footer{border-top:1px dashed #000;padding-top:14px;font-size:.8rem;line-height:1.7;color:#000}.ticket-print-footer strong{font-weight:900}.ticket-print-note{margin-top:6px;font-weight:800}.tour-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.02);margin-top:30px}.tour-container{display:grid;grid-template-columns:1fr 280px;gap:20px;margin-top:20px}@media (max-width:768px){.tour-container{grid-template-columns:1fr}}.tour-viewport{position:relative;height:400px;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 40px rgba(0,0,0,.2);background:#020617}.tour-panorama-img{width:100%;height:100%;object-fit:cover;transform:scale(1.1) translateX(0);transition:transform .4s cubic-bezier(.25, .8, .25, 1),opacity .25s ease;opacity:1}.tour-overlay-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(8,20,48,.9) 0,transparent 100%);padding:24px;color:#fff;z-index:5}.tour-overlay-info p{font-size:.9rem;opacity:.9;margin:0}.tour-pan-controls{position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10;pointer-events:none}.pan-btn{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.25);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;pointer-events:auto}.pan-btn:hover{background:rgba(255,255,255,.45);transform:scale(1.05)}.tour-locations-sidebar{display:flex;flex-direction:column;gap:12px}@media (max-width:768px){.tour-locations-sidebar{flex-direction:row;overflow-x:auto;padding-bottom:8px}}.tour-nav-btn{padding:14px 18px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-weight:700;font-size:.85rem;text-align:right;cursor:pointer;transition:all .3s;font-family:Cairo,sans-serif;display:flex;align-items:center;gap:12px;white-space:nowrap}.tour-nav-btn i{font-size:1.1rem}.tour-nav-btn.active,.tour-nav-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 15px rgba(37,99,235,.15)}.treatment-slider-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.02);margin-top:30px;margin-bottom:40px}.treatment-slider-container{display:grid;grid-template-columns:1fr 340px;gap:30px;margin-top:20px}@media (max-width:991px){.treatment-slider-container{grid-template-columns:1fr}}.ba-slider{position:relative;width:100%;height:420px;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(8,20,48,.08);user-select:none;cursor:ew-resize;background:#0f172a}@media (max-width:640px){.ba-slider{height:280px}}.ba-img-container{position:absolute;inset:0;width:100%;height:100%}.ba-img{width:100%;height:100%;object-fit:cover;display:block}.before-img-wrap{z-index:2;clip-path:polygon(0 0,50% 0,50% 100%,0 100%);transition:none}.ba-label{position:absolute;bottom:16px;padding:12px 20px;background:rgba(8,20,48,.7);backdrop-filter:blur(5px);color:#fff;font-size:.75rem;font-weight:700;border-radius:50px;z-index:5;border:1px solid rgba(255,255,255,.1);pointer-events:none}.before-lbl{left:16px}.after-lbl{right:16px}.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:4px;background:#fff;z-index:10;cursor:ew-resize;transform:translateX(-50%);box-shadow:0 0 10px rgba(0,0,0,.3)}.ba-handle-line{position:absolute;inset:0;width:100%}.ba-handle-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:#f8b81f;color:#fff;border-radius:50%;box-shadow:0 4px 15px rgba(248,184,31,.4);display:flex;align-items:center;justify-content:center;font-size:.9rem;border:2px solid #fff}.treatment-case-info{display:flex;flex-direction:column;justify-content:space-between}.treatment-case-info h4{font-size:1.1rem;color:#1a3a6b;font-weight:800;margin-bottom:12px}.case-details-box{background:#f8fafc;border-radius:16px;padding:20px;border:1px solid #e2e8f0;margin-bottom:20px;flex-grow:1}.case-details-list{list-style:none;display:flex;flex-direction:column;gap:12px}.case-details-list li{display:flex;flex-direction:column;gap:8px;font-size:.85rem;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.case-details-list li:last-child{border-bottom:none;padding-bottom:0}.case-details-list span{color:#64748b;font-weight:600}.case-details-list strong{color:#1a3a6b;font-weight:700}.case-selector-buttons{display:flex;flex-direction:column;gap:12px}.case-sel-btn{padding:14px 16px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-family:Cairo,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;text-align:right}.case-sel-btn.active,.case-sel-btn:hover{background:#f8b81f;color:#fff;border-color:#f8b81f;box-shadow:0 4px 12px rgba(248,184,31,.25)}.curriculum-roadmap-container{background:#f8fafc;border-radius:20px;padding:24px;border:1px solid #e2e8f0;margin-top:16px}.roadmap-stepper{display:flex;justify-content:space-between;border-bottom:2px solid #e2e8f0;padding-bottom:16px;margin-bottom:24px;flex-wrap:wrap;gap:12px}.step-btn{flex:1;min-width:100px;padding:14px 18px;border-radius:50px;border:2px solid #e2e8f0;background:#fff;color:#64748b;font-family:Cairo,sans-serif;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .3s;text-align:center}.step-btn.active,.step-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 15px rgba(37,99,235,.2)}.roadmap-main-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}@media (max-width:850px){.roadmap-main-layout{grid-template-columns:1fr}}.roadmap-nodes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-content:start}.course-node{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:16px;cursor:pointer;transition:all .3s cubic-bezier(.25, .8, .25, 1);display:flex;flex-direction:column;justify-content:space-between;gap:12px;position:relative}.course-node:hover{transform:translateY(-3px);border-color:#93c5fd;box-shadow:0 8px 20px rgba(37,99,235,.08)}.course-node.active-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 4px rgba(37,99,235,.15)}.course-node.highlight-prereq{border-color:#ef4444;background:#fef2f2}.course-node.highlight-unlock{border-color:#10b981;background:#f0fdf4}.node-code{font-family:monospace;font-size:.75rem;font-weight:700;background:#f1f5f9;color:#475569;padding:4px 12px;border-radius:6px;align-self:flex-start;direction:ltr}.course-node.active-selected .node-code{background:#2563eb;color:#fff}.course-node.highlight-prereq .node-code{background:#ef4444;color:#fff}.course-node.highlight-unlock .node-code{background:#10b981;color:#fff}.node-name{font-size:.875rem;font-weight:800;color:#1a3a6b;line-height:1.5}.node-meta{display:flex;justify-content:space-between;font-size:.725rem;color:#94a3b8;border-top:1px solid #f1f5f9;padding-top:8px}.course-node.active-selected .node-meta,.course-node.highlight-prereq .node-meta,.course-node.highlight-unlock .node-meta{border-top-color:rgba(0,0,0,.05)}.roadmap-info-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.02);display:flex;flex-direction:column}.roadmap-info-sidebar .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#94a3b8;height:100%;min-height:180px;gap:12px}.roadmap-info-sidebar .empty-state i{font-size:2.2rem;color:#cbd5e1}.roadmap-info-sidebar .empty-state p{font-size:.85rem;line-height:1.6}.info-card h4{font-size:1.05rem;color:#1a3a6b;font-weight:800;margin-bottom:8px}.info-card .info-code{font-family:monospace;font-size:.8rem;font-weight:700;background:#eff6ff;color:#2563eb;padding:4px 12px;border-radius:6px;direction:ltr;display:inline-block;margin-bottom:12px}.info-card p{font-size:.825rem;color:#475569;line-height:1.8;margin-bottom:16px;background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #f1f5f9}.info-relations{display:flex;flex-direction:column;gap:12px}.rel-box{padding:12px;border-radius:8px;font-size:.8rem}.rel-box.prereq{background:#fef2f2;border:1px solid #fee2e2;color:#991b1b}.rel-box.unlock{background:#f0fdf4;border:1px solid #d1fae5;color:#065f46}.rel-box h5{font-weight:800;margin-bottom:4px}.rel-box p{background:0 0;border:none;padding:0;margin:0;color:inherit;font-size:.775rem}.mentor-filters{display:flex;justify-content:center;gap:12px;margin-bottom:30px;flex-wrap:wrap}.mentor-filter-btn{padding:12px 24px;border-radius:50px;border:2px solid #e2e8f0;background:#fff;color:#64748b;font-family:Cairo,sans-serif;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s}.mentor-filter-btn.active,.mentor-filter-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 15px rgba(37,99,235,.15)}.mentors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width:900px){.mentors-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.mentors-grid{grid-template-columns:1fr}}.mentor-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all .3s}.mentor-card:hover{transform:translateY(-4px);border-color:#93c5fd;box-shadow:0 12px 30px rgba(37,99,235,.06)}.mentor-profile-top{display:flex;align-items:center;gap:14px}.mentor-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,.05)}.mentor-meta h4{font-size:.95rem;font-weight:800;color:#1a3a6b;margin-bottom:2px}.mentor-meta p{font-size:.75rem;color:#94a3b8;font-weight:600;margin-bottom:4px}.mentor-tag{font-size:.725rem;background:#eff6ff;color:#2563eb;padding:4px 12px;border-radius:50px;font-weight:700;display:inline-block}.mentor-quote{font-size:.85rem;color:#475569;line-height:1.8;font-style:italic;flex-grow:1}.btn-connect-mentor{width:100%;padding:12px;background:#eff6ff;color:#2563eb;border:none;border-radius:12px;font-family:Cairo,sans-serif;font-size:.825rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:12px}.btn-connect-mentor:hover{background:#2563eb;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.2)}.mentor-chat-overlay{position:fixed;inset:0;background:rgba(8,20,48,.5);backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.mentor-chat-card{background:#fff;border-radius:24px;max-width:480px;width:100%;height:520px;box-shadow:0 20px 50px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;animation:fadeInModal .3s ease}.mentor-chat-header{background:#1a3a6b;color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.mentor-chat-header-info{display:flex;align-items:center;gap:12px}.mentor-chat-header-info h4{font-size:.95rem;font-weight:800;margin-bottom:2px}.mentor-chat-header-info span{font-size:.725rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px}.mentor-chat-header-info span::before{content:'';display:inline-block;width:6px;height:6px;background:#10b981;border-radius:50%}.btn-close-chat{background:0 0;border:none;color:#fff;font-size:1.25rem;cursor:pointer;opacity:.8;transition:opacity .2s}.btn-close-chat:hover{opacity:1}.mentor-chat-messages{flex-grow:1;padding:20px;overflow-y:auto;background:#f8fafc;display:flex;flex-direction:column;gap:14px}.chat-bubble{max-width:80%;padding:14px 18px;border-radius:16px;font-size:.85rem;line-height:1.6}.chat-bubble.received{background:#fff;border:1px solid #e2e8f0;color:#334155;align-self:flex-start;border-top-left-radius:4px}.chat-bubble.sent{background:#2563eb;color:#fff;align-self:flex-end;border-top-right-radius:4px}.chat-typing-indicator{display:flex;gap:8px;padding:12px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;border-top-left-radius:4px;align-self:flex-start;width:max-content}.chat-typing-indicator span{width:6px;height:6px;background:#64748b;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.chat-typing-indicator span:first-child{animation-delay:-.32s}.chat-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.mentor-chat-options{padding:16px 20px;background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.mentor-chat-options p{font-size:.775rem;color:#64748b;font-weight:700;margin-bottom:4px}.chat-option-btn{text-align:right;padding:14px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-family:Cairo,sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.chat-option-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.hero--distilled .hero-inner{align-items:flex-start;padding-top:calc(var(--topbar-h) + var(--header-h) + 12px);padding-bottom:var(--spacing-xl)}.hero--distilled .hero-visual{display:flex;align-items:flex-start;justify-content:flex-end;flex-shrink:0}.hero--distilled .hero-image-wrap{width:360px;height:420px}.hero-trust{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:700;color:var(--primary-200);margin-bottom:var(--spacing-xl)}.hero-trust i{color:var(--accent-gold)}.home-jump-nav{position:sticky;top:calc(var(--topbar-h) + var(--header-h));z-index:50;background:var(--white);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-xs);padding-inline:env(safe-area-inset-left,0) env(safe-area-inset-right,0)}#admissionsCTA,#calendar,#contactQuick,#faculties,#news{scroll-margin-top:var(--home-scroll-offset)}.home-jump-nav-inner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;overflow-x:auto;scrollbar-width:none}.home-jump-nav-inner::-webkit-scrollbar{display:none}.home-jump-label{flex-shrink:0;font-size:var(--fs-sm);font-weight:700;color:var(--gray-500);padding-inline-end:var(--spacing-sm)}.home-jump-nav a{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:14px 18px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-700);font-size:var(--fs-sm);font-weight:600;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}@media (pointer:coarse){.home-jump-nav a{padding:16px 26px}}.home-jump-nav a:hover{background:var(--primary-100);color:var(--primary-600)}.home-jump-nav--distilled{position:static;box-shadow:none;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.home-jump-nav--distilled .home-jump-nav-inner{flex-wrap:wrap;overflow-x:visible;padding:var(--spacing-sm) 0;font-size:var(--fs-sm)}.home-jump-nav--distilled .home-jump-label{color:var(--gray-600)}.home-jump-nav--distilled a{min-height:auto;padding:0;border-radius:0;background:0 0;color:var(--primary-600);font-weight:600}.home-jump-nav--distilled a:hover{background:0 0;color:var(--primary-700);text-decoration:underline}.home-page{--home-jump-nav-h:0;--home-scroll-offset:calc(var(--topbar-h) + var(--header-h))}.section-header--plain{margin-bottom:var(--spacing-2xl)}.section-header--plain .section-desc{margin-inline:auto}.calendar-inner--plain{grid-template-columns:1fr}.calendar-inner--plain .calendar-content{max-width:100%}.news-grid--compact{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.news-grid--compact .news-card{box-shadow:none;border:1px solid var(--gray-200)}.news-cat-inline{color:var(--primary-600);font-weight:600}.admissions-cta--plain{background:linear-gradient(135deg,var(--primary-900) 0,var(--primary-700) 100%)}.acta-inner--plain{grid-template-columns:1fr;text-align:center}.acta-inner--plain .acta-buttons{justify-content:center}.map-overlay--always{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;min-height:220px;background:var(--primary-50);border-radius:var(--radius-lg);border:1px dashed var(--primary-200)}.home-explore-more{background:var(--gray-50);border-top:1px solid var(--gray-200);padding:var(--spacing-lg) 0 var(--spacing-2xl)}.home-explore-more-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm) var(--spacing-md);font-size:var(--fs-sm)}.home-explore-more-inner>span{font-weight:700;color:var(--gray-600)}.home-explore-more a{color:var(--primary-600);font-weight:600;text-decoration:none}.home-explore-more a:hover{text-decoration:underline}.home-empty-state{grid-column:1/-1;text-align:center;color:var(--gray-500);font-size:var(--fs-base);padding:var(--spacing-xl) var(--spacing-md)}.cq-item a{color:var(--primary-600);font-weight:600;text-decoration:none;word-break:break-word}.cq-item a:hover{text-decoration:underline}.faculty-card h3,.news-grid--compact .news-card h3{overflow-wrap:anywhere}.news-grid--compact .news-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:1024px){.hero--distilled{min-height:auto;padding-bottom:var(--spacing-2xl)}.hero--distilled .hero-inner{flex-direction:column;text-align:center;gap:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.hero--distilled .hero-visual{display:flex;justify-content:center;width:100%;margin-top:var(--spacing-sm)}.hero--distilled .hero-image-wrap{width:min(320px,88vw);height:auto;aspect-ratio:340/400;max-height:380px}.hero-trust{justify-content:center}}@media (max-width:768px){:root{--home-jump-nav-h:2.25rem}.home-jump-nav:not(.home-jump-nav--distilled) .home-jump-label{display:none}.hero--distilled .hero-stats{gap:var(--spacing-xl)}.hero--distilled .hero-stat-divider{display:none}.hero--distilled .hero-stat{gap:12px}}.section-svg-accent,.ticker-svg-accent{display:none!important}.pager{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem}
.pager__summary{margin:0;font-size:.9rem;color:var(--gray-500,#64748b)}
.pager__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none}
.pager__link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:44px;min-height:44px;padding:0 .7rem;border:1px solid var(--primary-100,#d6e6f2);border-radius:12px;background:#fff;color:var(--primary-800,#1e3a5f);font-weight:700;font-size:.95rem;line-height:1;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.pager__link:hover{background:var(--primary-50,#e8f4f8);border-color:var(--primary-300,#6b8fb8);transform:translateY(-1px)}
.pager__link:focus-visible{outline:3px solid var(--accent-gold,#c9a227);outline-offset:2px}
.pager__link.is-current{background:var(--primary-800,#1e3a5f);border-color:var(--primary-800,#1e3a5f);color:#fff;cursor:default}
.pager__link.is-disabled{opacity:.45;cursor:not-allowed;background:var(--primary-50,#e8f4f8)}
.pager__link.is-disabled:hover{transform:none;background:var(--primary-50,#e8f4f8);border-color:var(--primary-100,#d6e6f2)}
.pager__link--nav{padding:0 1rem}
.pager__gap{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;color:var(--gray-400,#94a3b8);font-weight:700}
@media (max-width:560px){.pager__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pager__link--nav{padding:0 .7rem}.pager__summary{font-size:.82rem;text-align:center}}
/* ---- faculties-neon.css ---- */
/* Faculty cards — neon_glass port (equal height + thematic bg) */
.faculties-section .faculties-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important;
  gap: clamp(0.95rem, 2.4vw, 1.35rem) !important;
  align-items: stretch !important;
}

@media (min-width: 900px) {
  .faculties-section .faculties-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.faculties-section .faculty-parent {
  /* Dark card look (like computer institute) — black/navy photo base */
  --fc-grad: linear-gradient(165deg, #1e4080 0%, #0c1f45 55%, #050d1c 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #3b82f6;
  --fc-orbit: rgba(96, 165, 250, 0.28);
  --fc-fill: #60a5fa;

  width: 100%;
  height: 265px;
  margin: 0;
  perspective: 1000px;
  perspective-origin: 50% 50%;
  filter: drop-shadow(0 22px 40px rgba(12, 31, 69, 0.28));
  text-decoration: none;
  color: inherit;
  display: block;
}

/* 1 */
.faculties-section .faculty-parent--mint,
.faculties-section .faculty-parent--mint .faculty-card {
  --fc-grad: linear-gradient(165deg, #1e3a8a 0%, #0c1f45 55%, #030712 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #60a5fa;
  --fc-orbit: rgba(96, 165, 250, 0.28);
  --fc-fill: #60a5fa;
}

/* 2 */
.faculties-section .faculty-parent--ocean,
.faculties-section .faculty-parent--ocean .faculty-card {
  --fc-grad: linear-gradient(160deg, #1e40af 0%, #0b1a36 55%, #020617 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #3b82f6;
  --fc-orbit: rgba(59, 130, 246, 0.3);
  --fc-fill: #3b82f6;
}

/* 3 */
.faculties-section .faculty-parent--solar,
.faculties-section .faculty-parent--solar .faculty-card {
  --fc-grad: linear-gradient(155deg, #1d4ed8 0%, #0c1f45 50%, #020617 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #60a5fa;
  --fc-orbit: rgba(96, 165, 250, 0.28);
  --fc-fill: #60a5fa;
}

/* 4 */
.faculties-section .faculty-parent--violet,
.faculties-section .faculty-parent--violet .faculty-card {
  --fc-grad: linear-gradient(170deg, #172554 0%, #0c1f45 50%, #01040c 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #3b82f6;
  --fc-orbit: rgba(59, 130, 246, 0.28);
  --fc-fill: #3b82f6;
}

/* 5 */
.faculties-section .faculty-parent--prism,
.faculties-section .faculty-parent--prism .faculty-card {
  --fc-grad: linear-gradient(165deg, #1e4080 0%, #0a1628 55%, #000000 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #60a5fa;
  --fc-orbit: rgba(96, 165, 250, 0.28);
  --fc-fill: #60a5fa;
}

/* 6 — darkest Mari navy (light text) */
.faculties-section .faculty-parent--void,
.faculties-section .faculty-parent--void .faculty-card {
  --fc-grad: linear-gradient(165deg, #1e4080 0%, #0c1f45 55%, #050d1c 100%);
  --fc-title: #e2e8f0;
  --fc-body: rgba(226, 232, 240, 0.88);
  --fc-cta: #3b82f6;
  --fc-orbit: rgba(96, 165, 250, 0.28);
  --fc-fill: #60a5fa;
}

.faculties-section .faculty-card {
  position: relative !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 40px !important;
  background-image: var(--fc-grad) !important;
  background-color: transparent !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: block !important;
  transform-style: preserve-3d;
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s ease;
  box-shadow:
    0 0 0 1px rgba(59, 130, 246, 0.28),
    rgba(12, 31, 69, 0.45) 0 25px 35px -5px !important;
}

.faculties-section .faculty-parent--void .faculty-card {
  box-shadow:
    0 0 0 1px rgba(59, 130, 246, 0.28),
    rgba(12, 31, 69, 0.45) 0 25px 35px -5px !important;
}

.faculties-section .faculty-parent:hover .faculty-card {
  transform: rotate3d(1, 1, 0, 18deg);
  box-shadow:
    rgba(12, 31, 69, 0.4) 22px 40px 28px -28px,
    rgba(37, 99, 235, 0.18) 0 0 50px -10px,
    rgba(12, 31, 69, 0.18) 0 22px 32px 0 !important;
}

/* Thematic photo layer */
.faculties-section .faculty-card-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: var(--faculty-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.55 !important;
  mix-blend-mode: soft-light !important;
  transform: scale(1.06);
  transition: transform 0.55s ease, opacity 0.4s ease;
  pointer-events: none;
}

.faculties-section .faculty-parent:hover .faculty-card-bg {
  transform: scale(1.14);
  opacity: 0.5 !important;
}

.faculties-section .faculty-parent--void .faculty-card-bg {
  opacity: 0.32 !important;
  mix-blend-mode: soft-light !important;
}

/* Glass plane — signature neon_glass cut */
.faculties-section .faculty-card-glass {
  transform-style: preserve-3d;
  position: absolute !important;
  inset: 7px !important;
  z-index: 1 !important;
  border-radius: 44px !important;
  border-start-end-radius: 100% !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(5, 13, 28, 0.72) 100%) !important;
  border: none !important;
  border-inline-start: 1px solid rgba(147, 197, 253, 0.28) !important;
  border-bottom: 1px solid rgba(147, 197, 253, 0.22) !important;
  transform: translate3d(0, 0, 25px);
  pointer-events: none;
  box-shadow: none !important;
}

.faculties-section .faculty-parent--void .faculty-card-glass {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(12, 31, 69, 0.62) 100%) !important;
  border-color: rgba(147, 197, 253, 0.28) !important;
}

/* Orbit logo */
.faculties-section .faculty-card-orbit {
  position: absolute !important;
  inset-inline-end: 0 !important;
  top: 0 !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: 3 !important;
  pointer-events: none;
  transform-style: preserve-3d;
}

.faculties-section .faculty-card-orbit > span {
  display: block;
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  top: 0;
  inset-inline-end: 0;
  background: var(--fc-orbit);
  box-shadow: rgba(100, 100, 111, 0.22) -8px 10px 20px 0;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  transition: transform 0.5s ease;
  opacity: 1 !important;
  transform: none !important;
}

.faculties-section .faculty-card-orbit > span:nth-child(1) {
  width: 128px;
  top: 8px;
  inset-inline-end: 8px;
  transform: translate3d(0, 0, 20px) !important;
}

.faculties-section .faculty-card-orbit > span:nth-child(2) {
  width: 102px;
  top: 12px;
  inset-inline-end: 12px;
  transform: translate3d(0, 0, 40px) !important;
}

.faculties-section .faculty-card-orbit > span:nth-child(3) {
  width: 78px;
  top: 18px;
  inset-inline-end: 18px;
  transform: translate3d(0, 0, 60px) !important;
}

.faculties-section .faculty-icon-wrap {
  width: 46px !important;
  height: 46px !important;
  inset: auto !important;
  top: 22px !important;
  inset-inline-end: 22px !important;
  left: auto !important;
  transform: translate3d(0, 0, 90px) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: var(--fc-fill) !important;
  font-size: 1.05rem !important;
  box-shadow: rgba(15, 23, 42, 0.18) 0 8px 18px !important;
}

.faculties-section .faculty-parent:hover .faculty-icon-wrap {
  background: var(--fc-fill) !important;
  color: #fff !important;
}

.faculties-section .faculty-parent:hover .faculty-card-orbit > span:nth-child(2) {
  transform: translate3d(0, 0, 55px) !important;
}

.faculties-section .faculty-parent:hover .faculty-card-orbit > span:nth-child(3) {
  transform: translate3d(0, 0, 75px) !important;
}

/* Body */
.faculties-section .faculty-card-body {
  position: relative !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 78px 3.6rem 0 1.15rem !important;
  transform: translate3d(0, 0, 26px);
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  min-height: 0 !important;
  flex: unset !important;
  height: auto !important;
  background: transparent !important;
}

[dir="rtl"] .faculties-section .faculty-card-body,
.rtl-body .faculties-section .faculty-card-body {
  padding: 78px 1.15rem 0 3.6rem !important;
}

.faculties-section .faculty-card h3 {
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em;
  color: var(--fc-title) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.faculties-section .faculty-card p {
  font-size: 0.84rem !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  color: var(--fc-body) !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: unset !important;
}

/* Bottom */
.faculties-section .faculty-card-bottom {
  position: absolute !important;
  z-index: 4 !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transform: translate3d(0, 0, 26px);
}

.faculties-section .faculty-dean {
  max-width: 70%;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  color: #e2e8f0 !important;
  opacity: 0.95;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
}

.faculties-section .faculty-parent--void .faculty-dean {
  color: #e2e8f0 !important;
  background: rgba(15, 23, 42, 0.55);
}

.faculties-section .faculty-more {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: var(--fc-cta) !important;
  color: #fff !important;
  box-shadow: rgba(12, 31, 69, 0.3) 0 10px 16px -6px !important;
}

.faculties-section .faculty-parent:hover .faculty-more {
  transform: translate3d(0, 0, 40px) translateX(3px);
}

@media (max-width: 768px) {
  .faculties-section .faculty-parent {
    height: 250px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faculties-section .faculty-parent:hover .faculty-card,
  .faculties-section .faculty-parent:hover .faculty-more,
  .faculties-section .faculty-parent:hover .faculty-card-orbit > span {
    transform: none !important;
  }
}
/* ---- mari-neon-glass.css ---- */
/* Mari liquid-glass 2026 — header + selected UI surfaces */

:root {
  --ng-blue: #2563eb;
  --ng-blue-deep: #0c1f45;
  --ng-blue-mid: #1d4ed8;
  --ng-glow: rgba(37, 99, 235, 0.22);
  --ng-edge: rgba(255, 255, 255, 0.55);
  --ng-glass: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.94) 0%,
    rgba(255, 255, 255, 0.82) 50%,
    rgba(236, 244, 255, 0.88) 100%
  );
}

/* ── Header shell ── */
.header {
  position: sticky;
  top: var(--topbar-h, 0px);
  overflow: visible;
  z-index: 1100;
  transition:
    top .4s cubic-bezier(.22, 1, .36, 1),
    opacity .28s ease,
    background .35s ease,
    box-shadow .35s ease,
    backdrop-filter .35s ease,
    border-radius .35s ease,
    border-color .35s ease,
    padding .35s ease;
}

#headerScrollSpacer {
  display: block;
  width: 100%;
  height: 0;
  pointer-events: none;
  transition: height .25s ease;
}

/* Hide on scroll down — animate via top (keeps layout stable) */
.header.header-hidden {
  top: -120px !important;
  opacity: 0;
  pointer-events: none;
  box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .header {
    transition: background .2s ease, box-shadow .2s ease;
  }
  .header.header-hidden {
    top: 10px !important;
    opacity: 1;
    pointer-events: auto;
  }
}

/* ── Trending 2026 liquid glass when scrolled (fixed floating bar) ── */
.header.scrolled {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  right: 12px !important;
  width: auto !important;
  height: auto !important;
  max-width: 1180px;
  margin-inline: auto !important;
  border-radius: 20px !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  background-image: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(239, 246, 255, 0.9) 100%
  ) !important;
  backdrop-filter: blur(30px) saturate(1.9) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.9) !important;
  border: 1.5px solid rgba(201, 162, 39, 0.4) !important;
  box-shadow:
    0 16px 48px rgba(15, 23, 42, 0.18),
    0 2px 10px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

.header.scrolled.header-hidden {
  top: -120px !important;
}

.header.scrolled::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, 0.65), transparent 42%),
    radial-gradient(90% 60% at 100% 0%, rgba(201, 162, 39, 0.12), transparent 40%);
  opacity: .95;
  z-index: 0;
}

.header.scrolled::after {
  content: "";
  position: absolute;
  left: 14%;
  right: 14%;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(201, 162, 39, 0.35) 22%,
    rgba(30, 58, 95, 0.35) 50%,
    rgba(201, 162, 39, 0.35) 78%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 2;
}

.header.scrolled .header-inner {
  position: relative;
  z-index: 1;
  min-height: 64px;
}

.header.scrolled .nav-link:hover,
.header.scrolled .nav-link.active {
  background: rgba(255, 255, 255, 0.55);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.65),
    0 1px 6px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(8px);
}

.header.scrolled .btn-apply {
  background: rgba(201, 162, 39, 0.95) !important;
  color: #12263f !important;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow:
    0 8px 22px rgba(201, 162, 39, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.header.scrolled .search-btn,
.header.scrolled .hamburger {
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 12px;
}

.header.scrolled .search-btn:hover,
.header.scrolled .hamburger:hover {
  background: rgba(255, 255, 255, 0.7) !important;
  box-shadow: 0 0 0 1px rgba(30, 58, 95, 0.08);
}

/* Topbar sync when page is scrolled */
html.neon-scrolled .topbar {
  background: linear-gradient(
    180deg,
    rgba(12, 31, 69, 0.82) 0%,
    rgba(26, 58, 107, 0.72) 100%
  ) !important;
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 24px rgba(12, 31, 69, 0.18);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), opacity .28s ease;
}

html.header-hidden .topbar {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

html.neon-scrolled .lang-switcher {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

html.neon-scrolled .lang-btn.active {
  box-shadow: 0 0 14px rgba(201, 162, 39, 0.35);
}

@media (max-width: 768px) {
  .header.scrolled {
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    border-radius: 16px !important;
    backdrop-filter: blur(26px) saturate(1.8) !important;
    -webkit-backdrop-filter: blur(26px) saturate(1.8) !important;
  }
  .header.scrolled .header-inner {
    min-height: 56px;
  }
  .header.header-hidden,
  .header.scrolled.header-hidden {
    top: -110px !important;
  }
}

/* ── Mega menu glass panel ── */
.mega-menu-inner {
  background: #ffffff !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid rgba(147, 197, 253, 0.45) !important;
  box-shadow:
    0 24px 60px rgba(12, 31, 69, 0.18),
    0 0 0 1px rgba(37, 99, 235, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  align-items: stretch !important;
  min-width: min(760px, 94vw) !important;
  max-width: min(980px, 96vw) !important;
}

.mega-menu-inner--academics {
  min-width: min(920px, 92vw) !important;
}

.mega-col--wide {
  flex: 1.55 1 0 !important;
}

.mega-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.3rem !important;
}

.mega-col-title {
  margin-bottom: 0.5rem !important;
  min-height: 1.35rem;
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  white-space: normal !important;
}

.mega-col-title > i {
  display: inline-block !important;
  width: 1em !important;
  color: #2563eb !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
}

/* Clean rows: fixed icon column + visible FA icons */
.mega-col > a {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  column-gap: 0.7rem !important;
  row-gap: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.55rem 0.85rem !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  line-height: 1.35 !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
  text-align: start !important;
  transform: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.mega-col > a:hover {
  background: #eff6ff !important;
  border: 0 !important;
  color: #1d4ed8 !important;
  transform: none !important;
  box-shadow: none !important;
  padding: 0.55rem 0.85rem !important;
}

.mega-link-icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  box-shadow: none !important;
  color: #2563eb !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  flex: 0 0 28px !important;
  order: 0 !important;
  align-self: center !important;
  overflow: visible !important;
}

.mega-col > a:hover .mega-link-icon {
  background: #2563eb !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Ensure Font Awesome glyphs always paint */
.mega-col > a .mega-link-icon i,
.mega-link-icon i,
.mega-col > a i {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  order: 0 !important;
  flex: none !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
}

.mega-col > a .mega-link-icon i::before,
.mega-link-icon i::before {
  display: inline-block !important;
  font-family: inherit !important;
  font-weight: inherit !important;
}

.mega-link-text {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
  overflow: visible;
  white-space: normal;
  text-overflow: unset;
  text-align: start;
  line-height: 1.35;
  color: inherit;
}


/* ── Quick links glass tiles ── */
.quick-link-item {
  background: var(--ng-glass) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--ng-edge) !important;
  box-shadow:
    0 12px 28px rgba(12, 31, 69, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.quick-link-item:hover {
  border-color: rgba(37, 99, 235, 0.55) !important;
  box-shadow:
    0 16px 34px rgba(12, 31, 69, 0.12),
    0 0 0 1px rgba(37, 99, 235, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transform: translateY(-3px);
}

.quick-link-item--primary {
  background: linear-gradient(
    160deg,
    rgba(219, 234, 254, 0.95) 0%,
    rgba(239, 246, 255, 0.85) 100%
  ) !important;
  border-color: rgba(96, 165, 250, 0.7) !important;
  box-shadow:
    0 12px 28px rgba(37, 99, 235, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.ql-icon {
  background: rgba(255, 255, 255, 0.75) !important;
  border: 1px solid rgba(147, 197, 253, 0.45);
  box-shadow: 0 6px 14px rgba(12, 31, 69, 0.08);
}

/* ── In-page jump nav pills ── */
.home-jump-nav--distilled {
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.9),
    rgba(239, 246, 255, 0.75)
  ) !important;
  border-bottom: 1px solid rgba(147, 197, 253, 0.35) !important;
}

.home-jump-nav a {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(147, 197, 253, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.home-jump-nav a:hover {
  background: rgba(219, 234, 254, 0.9) !important;
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
}

/* Calendar board styles live in calendar-board.css */

/* Home news board styles live in home-polish.css — keep filters for /news page */
.news-section:not(.news-section--board) {
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(148, 163, 184, 0.12), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.news-section:not(.news-section--board) .news-card,
.news-section:not(.news-section--board) .news-card.news-card--neon {
  position: relative;
  isolation: isolate;
  background: rgba(255, 255, 255, 0.38) !important;
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow:
    0 14px 36px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 -1px 0 rgba(255, 255, 255, 0.25) !important;
}

/* Neutralize legacy glass news helpers on home board */
.news-section--board .news-card-glass,
.news-section--board .news-card-shine {
  display: none !important;
}

/* News page filters + cards — clear glass */
.news-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.nf-btn {
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  border-radius: 999px !important;
  color: #0f172a !important;
}

.nf-btn.active,
.nf-btn:hover {
  background: rgba(15, 23, 42, 0.88) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18) !important;
}

.news-layout .news-card {
  background: rgba(255, 255, 255, 0.42) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  box-shadow:
    0 14px 36px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.news-layout .news-card .news-img {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.news-layout .news-card .news-body {
  background: rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.news-layout .news-cat-badge,
.news-layout .news-card .news-cat {
  background: rgba(255, 255, 255, 0.75) !important;
  color: #334155 !important;
  border: 1px solid rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(6px);
}

.news-layout .btn-read {
  background: rgba(255, 255, 255, 0.6) !important;
  color: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  padding: 0.4rem 0.85rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* ── News ticker glass strip ── */
.news-ticker {
  background: linear-gradient(
    90deg,
    rgba(12, 31, 69, 0.96),
    rgba(30, 64, 128, 0.92),
    rgba(12, 31, 69, 0.96)
  ) !important;
  border-block: 1px solid rgba(96, 165, 250, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 24px rgba(12, 31, 69, 0.18);
}

.ticker-label {
  background: rgba(37, 99, 235, 0.22) !important;
  border: 1px solid rgba(147, 197, 253, 0.35);
  border-radius: 999px;
  padding-inline: 0.75rem;
  box-shadow: 0 0 18px rgba(37, 99, 235, 0.2);
}

/* ── Contact quick icons ── */
.cq-icon {
  background: var(--ng-glass) !important;
  border: 1px solid rgba(147, 197, 253, 0.55);
  box-shadow:
    0 8px 18px rgba(12, 31, 69, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* ── Back to top neon glass ── */
.back-to-top {
  background: linear-gradient(145deg, #3b82f6, #1d4ed8) !important;
  border: 1px solid rgba(191, 219, 254, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 12px 28px rgba(37, 99, 235, 0.35),
    0 0 0 1px rgba(37, 99, 235, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

.back-to-top:hover {
  box-shadow:
    0 16px 34px rgba(37, 99, 235, 0.45),
    0 0 24px rgba(96, 165, 250, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}

/* ── Cookie banner glass ── */
.cookie-banner {
  background: linear-gradient(
    180deg,
    rgba(12, 31, 69, 0.94),
    rgba(15, 23, 42, 0.92)
  ) !important;
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border-top: 1px solid rgba(96, 165, 250, 0.35) !important;
  box-shadow:
    0 -12px 40px rgba(12, 31, 69, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* ── Hero secondary CTA glass ── */
.btn-secondary-hero {
  background: rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(191, 219, 254, 0.45) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.btn-secondary-hero:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(147, 197, 253, 0.7) !important;
  box-shadow:
    0 0 24px rgba(96, 165, 250, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.btn-primary-hero {
  box-shadow:
    0 12px 30px rgba(37, 99, 235, 0.4),
    0 0 0 1px rgba(191, 219, 254, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Outline CTA — keep readable contrast on hover */
.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}

/* ── Hero trust chip glass ── */
.hero-trust {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(191, 219, 254, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

@media (prefers-reduced-motion: reduce) {
  .quick-link-item:hover,
  .header.scrolled .btn-apply {
    transform: none;
  }
}

/* ── Mobile navigation UX (bottom bar + drawer) ── */
@media (max-width: 768px) {
  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    gap: 2px;
    min-height: 64px;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(16px) saturate(1.2);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
  }

  .mobile-bottom-nav .nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 52px;
    min-width: 0;
    padding: 4px 2px;
    border-radius: 14px;
    color: #64748b !important;
    text-decoration: none;
    font-family: 'Cairo', sans-serif;
    transition: color 0.2s ease, background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-bottom-nav .nav-item-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #f1f5f9;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  }

  .mobile-bottom-nav .nav-item i {
    width: 1em !important;
    height: 1em !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    display: grid !important;
    place-items: center !important;
    color: inherit !important;
  }

  .mobile-bottom-nav .nav-item-label {
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .mobile-bottom-nav .nav-item:active {
    transform: scale(0.96);
  }

  .mobile-bottom-nav .nav-item.is-active,
  .mobile-bottom-nav .nav-item.highlight {
    color: #1d4ed8 !important;
  }

  .mobile-bottom-nav .nav-item.is-active .nav-item-icon,
  .mobile-bottom-nav .nav-item.highlight .nav-item-icon {
    background: linear-gradient(145deg, #dbeafe, #eff6ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }

  .mobile-bottom-nav .nav-item.highlight .nav-item-icon {
    background: linear-gradient(145deg, #2563eb, #1d4ed8);
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
  }

  .mobile-bottom-nav .nav-item.highlight i {
    color: #fff !important;
  }

  .mobile-bottom-nav .nav-item.highlight .nav-item-label {
    color: #1d4ed8;
  }

  /* Mobile drawer icons */
  .mobile-nav-list a,
  .mobile-sub-toggle {
    gap: 14px !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
    min-height: 48px;
  }

  .mobile-nav-list .mnav-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 0.95rem;
  }

  .mobile-nav-list a.is-active {
    background: #eff6ff;
    color: #1d4ed8;
  }

  .mobile-nav-list a.is-active .mnav-icon {
    background: #2563eb;
    color: #fff;
  }

  .mobile-nav-list .mnav-chevron {
    margin-right: auto;
    margin-left: 0;
    color: #94a3b8;
    font-size: 0.75rem;
  }

  .mobile-menu-footer {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr;
    gap: 10px !important;
  }

  .btn-apply-mobile,
  .btn-call-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 0.9rem;
    text-decoration: none;
    font-family: 'Cairo', sans-serif;
  }

  .btn-apply-mobile {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.28);
  }

  .btn-call-mobile {
    background: #f8fafc;
    color: #1e4080;
    border: 1.5px solid #e2e8f0;
  }

  .ai-assistant-widget {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    left: 6px !important;
    right: auto !important;
  }

  .back-to-top {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    left: auto !important;
    right: 12px !important;
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .mobile-bottom-nav .nav-item,
  .mobile-bottom-nav .nav-item-icon {
    transition: none;
  }
}
/* ---- calendar-board.css ---- */
/* Academic calendar — home board layout */
.calendar-section--board {
  --cal-ink: #0c1f45;
  --cal-blue: #2563eb;
  --cal-blue-soft: #dbeafe;
  --cal-surface: #ffffff;
  --cal-muted: #475569;
  --cal-line: #e2e8f0;
  --cal-urgent: #b91c1c;
  --cal-urgent-bg: #fef2f2;
  --cal-soon: #1d4ed8;
  --cal-soon-bg: #eff6ff;
  background:
    linear-gradient(180deg, #f8fafc 0%, #eff6ff 48%, #f8fafc 100%);
  padding-block: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}

.cal-board {
  display: grid;
  grid-template-columns: minmax(240px, 0.95fr) minmax(0, 1.35fr);
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: start;
}

.cal-board__intro {
  position: relative;
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  border-radius: 20px;
  background:
    radial-gradient(ellipse 120% 80% at 100% 0%, rgba(59, 130, 246, 0.35), transparent 55%),
    linear-gradient(155deg, #0c1f45 0%, #1a3a6b 55%, #1e4080 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(12, 31, 69, 0.22);
}

.cal-board__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #93c5fd;
}

.cal-board__title {
  margin: 0 0 0.85rem;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #fff;
  text-wrap: balance;
}

.cal-board__desc {
  margin: 0 0 1.75rem;
  max-width: 36ch;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.75;
  color: rgba(219, 234, 254, 0.92);
}

.cal-board__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 1.35rem;
  border-radius: 10px;
  background: #fff;
  color: #1e4080;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.25s ease;
}

.cal-board__cta:hover {
  background: #eff6ff;
  color: #1d4ed8;
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(37, 99, 235, 0.28);
}

.cal-board__cta i {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.cal-board__cta:hover i {
  transform: translateX(-3px);
}

.cal-board__timeline {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

.cal-board__timeline::before {
  content: "";
  position: absolute;
  inset-inline-start: 2.35rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 2px;
  background: linear-gradient(180deg, var(--cal-blue), transparent 95%);
  opacity: 0.28;
  pointer-events: none;
}

.cal-item {
  display: grid;
  grid-template-columns: 4.7rem minmax(0, 1fr);
  gap: 1.1rem 1.25rem;
  align-items: start;
  padding: 0.85rem 0 0.85rem 0;
  position: relative;
  opacity: 1;
  transform: none;
  animation: calItemIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.cal-item:nth-child(1) { animation-delay: 0.05s; }
.cal-item:nth-child(2) { animation-delay: 0.12s; }
.cal-item:nth-child(3) { animation-delay: 0.19s; }
.cal-item:nth-child(4) { animation-delay: 0.26s; }

@keyframes calItemIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cal-item + .cal-item {
  border-top: 1px solid var(--cal-line);
}

.cal-item__when {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-height: 4.7rem;
  padding: 0.65rem 0.4rem;
  border-radius: 14px;
  background: var(--cal-surface);
  border: 1px solid #bfdbfe;
  box-shadow: 0 6px 16px rgba(12, 31, 69, 0.06);
  position: relative;
  z-index: 1;
  text-align: center;
}

.cal-item__day {
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1;
  color: var(--cal-blue);
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
}

.cal-item__month {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--cal-ink);
}

.cal-item__year {
  font-size: 0.7rem;
  font-weight: 600;
  color: #64748b;
  direction: ltr;
  unicode-bidi: isolate;
}

.cal-item__body {
  min-width: 0;
  padding: 0.35rem 0.15rem 0.35rem 0;
}

.cal-item__badge {
  display: inline-block;
  margin-bottom: 0.4rem;
  padding: 0.2rem 0.65rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  background: #f1f5f9;
  color: #334155;
}

.cal-item--urgent .cal-item__badge {
  background: var(--cal-urgent-bg);
  color: var(--cal-urgent);
}

.cal-item--upcoming .cal-item__badge {
  background: var(--cal-soon-bg);
  color: var(--cal-soon);
}

.cal-item--urgent .cal-item__when {
  border-color: #fecaca;
  background: linear-gradient(180deg, #fff, #fef2f2);
}

.cal-item--urgent .cal-item__day {
  color: var(--cal-urgent);
}

.cal-item--upcoming .cal-item__when {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #fff, #eff6ff);
}

.cal-item__title {
  margin: 0 0 0.35rem;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.4;
  color: var(--cal-ink);
  text-wrap: pretty;
}

.cal-item__text {
  margin: 0;
  max-width: 62ch;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.7;
  color: var(--cal-muted);
}

.cal-item--empty {
  grid-template-columns: 1fr;
  border: 0;
  padding: 1.5rem;
  background: var(--cal-surface);
  border-radius: 16px;
  border: 1px dashed #cbd5e1;
}

.cal-item--empty .home-empty-state {
  margin: 0;
}

@media (max-width: 900px) {
  .cal-board {
    grid-template-columns: 1fr;
  }

  .cal-board__intro {
    text-align: start;
  }

  .cal-board__desc {
    max-width: none;
  }

  .cal-board__timeline::before {
    inset-inline-start: 2.1rem;
  }
}

@media (max-width: 520px) {
  .cal-item {
    grid-template-columns: 3.85rem minmax(0, 1fr);
    gap: 0.85rem;
  }

  .cal-item__when {
    min-height: 3.85rem;
    padding: 0.5rem 0.25rem;
    border-radius: 12px;
  }

  .cal-item__day {
    font-size: 1.35rem;
  }

  .cal-board__timeline::before {
    inset-inline-start: 1.85rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cal-item {
    animation: none;
  }

  .cal-board__cta,
  .cal-board__cta i {
    transition: none;
  }

  .cal-board__cta:hover {
    transform: none;
  }
}
/* ---- home-polish.css ---- */
/* Home page polish — news board, admissions, contact, chrome */

/* ── Shared section cadence ── */
.home-page .section-header--board {
  text-align: center;
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

.home-page .section-eyebrow,
.news-board__eyebrow,
.acta-board__eyebrow,
.cq-board__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #2563eb;
}

.home-page .section-header--board .section-title {
  margin-bottom: 0.55rem;
}

.home-page .section-header--board .section-desc {
  margin-inline: auto;
  max-width: 42ch;
}

/* ── Jump nav ── */
.home-jump-nav--board {
  position: static;
  box-shadow: none;
  background: transparent;
  border-bottom: 1px solid #e2e8f0;
  padding-block: 0.35rem;
}

.home-jump-nav--board .home-jump-label {
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 700;
  padding-inline-end: 0.35rem;
}

.home-jump-nav--board a {
  min-height: 0;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #1e4080;
  font-weight: 700;
  font-size: 0.875rem;
  box-shadow: none;
  backdrop-filter: none;
}

.home-jump-nav--board a:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
  box-shadow: none;
}

/* ── Faculties section spacing ── */
.faculties-section--board {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
}

/* ── News board ── */
.news-section--board {
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fafc 45%, #eff6ff 100%);
  padding-block: clamp(3rem, 6vw, 5rem);
}

.news-board__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.news-board__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #0c1f45;
  text-wrap: balance;
}

.news-board__desc {
  margin: 0;
  max-width: 48ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #475569;
  font-weight: 500;
}

.news-board__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 1.25rem;
  border-radius: 10px;
  background: #0c1f45;
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.25s ease,
    box-shadow 0.35s ease;
}

.news-board__cta:hover {
  background: #1d4ed8;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28);
}

.news-board__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.9fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}

.news-feature {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 1.25rem;
  padding: clamp(1.35rem, 2.5vw, 1.85rem);
  border-radius: 20px;
  background: #fff;
  border: 1px solid #dbeafe;
  box-shadow: 0 14px 34px rgba(12, 31, 69, 0.07);
}

.news-feature__when {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-height: 5rem;
  padding: 0.7rem 0.35rem;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #eff6ff);
  border: 1px solid #93c5fd;
  text-align: center;
}

.news-feature__day {
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
  color: #2563eb;
  direction: ltr;
  unicode-bidi: isolate;
}

.news-feature__month {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0c1f45;
}

.news-feature__year {
  font-size: 0.7rem;
  font-weight: 600;
  color: #64748b;
  direction: ltr;
  unicode-bidi: isolate;
}

.news-feature__cat,
.news-rail__cat {
  display: inline-block;
  margin-bottom: 0.45rem;
  padding: 0.2rem 0.65rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  background: #eff6ff;
  color: #1d4ed8;
}

.news-feature__title {
  margin: 0 0 0.55rem;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  font-weight: 900;
  line-height: 1.35;
  color: #0c1f45;
  text-wrap: pretty;
}

.news-feature__title a {
  color: inherit;
  text-decoration: none;
}

.news-feature__title a:hover {
  color: #1d4ed8;
}

.news-feature__text {
  margin: 0 0 1.1rem;
  max-width: 62ch;
  font-size: 1.02rem;
  line-height: 1.75;
  color: #475569;
  font-weight: 500;
}

.news-feature__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 800;
  font-size: 0.95rem;
  color: #1d4ed8;
  text-decoration: none;
}

.news-feature__link:hover {
  gap: 0.65rem;
  color: #0c1f45;
}

.news-rail {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0.35rem 0;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e2e8f0;
  overflow: hidden;
}

.news-rail__item {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1.05rem 1.15rem;
  border-bottom: 1px solid #e2e8f0;
  transition: background-color 0.25s ease;
}

.news-rail__item:last-child {
  border-bottom: 0;
}

.news-rail__item:hover {
  background: #f8fafc;
}

.news-rail__date {
  align-self: start;
  margin-top: 0.15rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: #2563eb;
  direction: ltr;
  unicode-bidi: isolate;
  text-align: center;
}

.news-rail__title {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
  color: #0c1f45;
}

.news-rail__title a {
  color: inherit;
  text-decoration: none;
}

.news-rail__title a:hover {
  color: #1d4ed8;
}

.news-rail__text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: #64748b;
  font-weight: 500;
}

/* When only featured news exists */
.news-board__layout:has(.news-feature):not(:has(.news-rail)) {
  grid-template-columns: 1fr;
}

/* ── Admissions CTA board ── */
.admissions-cta--board {
  background: transparent;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  position: relative;
  overflow: visible;
}

.admissions-cta--board::before {
  display: none;
}

.acta-board {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
  padding: clamp(1.75rem, 3.5vw, 2.75rem);
  border-radius: 22px;
  background:
    radial-gradient(ellipse 90% 70% at 100% 0%, rgba(59, 130, 246, 0.32), transparent 55%),
    linear-gradient(145deg, #0c1f45 0%, #1a3a6b 52%, #1e4080 100%);
  color: #fff;
  box-shadow: 0 20px 44px rgba(12, 31, 69, 0.22);
}

.acta-board__eyebrow {
  color: #93c5fd;
}

.acta-board__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  font-weight: 900;
  line-height: 1.3;
  color: #fff;
  text-wrap: balance;
}

.acta-board__desc {
  margin: 0;
  max-width: 48ch;
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(219, 234, 254, 0.95);
  font-weight: 500;
}

.acta-board__deadline {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 1rem 0 0;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(147, 197, 253, 0.35);
  font-size: 0.95rem;
  color: #dbeafe;
}

.acta-board__deadline strong {
  color: #fff;
  font-weight: 800;
}

.acta-board__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: min(100%, 240px);
}

.acta-board__primary,
.acta-board__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.9rem 1.25rem;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.35s ease;
}

.acta-board__primary {
  background: #fff;
  color: #1e4080;
}

.acta-board__primary:hover {
  background: #eff6ff;
  color: #1d4ed8;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.3);
}

.acta-board__secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.35);
}

.acta-board__secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
  transform: translateY(-2px);
}

/* ── Contact board ── */
.contact-quick--board {
  background: #f8fafc;
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
}

.cq-board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: stretch;
}

.cq-board__title {
  margin: 0 0 1.35rem;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  color: #0c1f45;
}

.cq-board__list {
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.cq-board__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.cq-board__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 1rem;
}

.cq-board__item h3 {
  margin: 0 0 0.2rem;
  font-size: 0.9rem;
  font-weight: 800;
  color: #0c1f45;
}

.cq-board__item p,
.cq-board__item a {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #475569;
  font-weight: 500;
  text-decoration: none;
}

.cq-board__item a:hover {
  color: #1d4ed8;
}

.cq-board__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.15rem;
}

.cq-board__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #1e4080;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.cq-board__social a:hover {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.cq-board__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.75rem 1.15rem;
  border-radius: 10px;
  border: 1.5px solid #2563eb;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
  background: #fff;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.3s ease;
}

.cq-board__cta:hover {
  background: #2563eb;
  color: #fff;
  transform: translateY(-2px);
}

.cq-board__map {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 100%;
}

.cq-board__map-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  font-size: 0.9rem;
  font-weight: 800;
  color: #1d4ed8;
  text-decoration: none;
}

.cq-board__map-more:hover {
  color: #0c1f45;
  gap: 0.6rem;
}

/* ── Explore more ── */
.home-explore-more--board {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  padding-block: 1.15rem;
}

.home-explore-more--board .home-explore-more-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
}

.home-explore-more--board span {
  font-weight: 800;
  color: #0c1f45;
  font-size: 0.9rem;
}

.home-explore-more--board a {
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #1e4080;
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.home-explore-more--board a:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
}

@media (max-width: 960px) {
  .news-board__layout,
  .acta-board,
  .cq-board {
    grid-template-columns: 1fr;
  }

  .acta-board__actions {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }

  .acta-board__primary,
  .acta-board__secondary {
    flex: 1 1 180px;
  }
}

@media (max-width: 560px) {
  .news-feature {
    grid-template-columns: 3.85rem minmax(0, 1fr);
    gap: 0.85rem;
    padding: 1.1rem;
  }

  .news-feature__day {
    font-size: 1.4rem;
  }

  .news-rail__item {
    grid-template-columns: 3.5rem minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-board__cta,
  .news-feature__link,
  .acta-board__primary,
  .acta-board__secondary,
  .cq-board__cta {
    transition: none;
  }

  .news-board__cta:hover,
  .acta-board__primary:hover,
  .acta-board__secondary:hover,
  .cq-board__cta:hover {
    transform: none;
  }
}

/* ── Quick links: mobile layout polish ── */
@media (max-width: 768px) {
  .quick-links-bar {
    padding: 0.85rem 0.9rem 1rem;
    background:
      linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%);
    border-bottom: 1px solid #e2e8f0;
  }

  .quick-links-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem !important;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .quick-links-cell {
    flex: unset !important;
    min-width: 0;
    width: 100%;
  }

  /* Odd last item (e.g. 5th) spans full width and stays centered */
  .quick-links-cell:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .quick-links-cell:last-child:nth-child(odd) .quick-link-item {
    max-width: 100%;
  }

  .quick-link-item {
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0.7rem !important;
    min-height: 3.5rem !important;
    height: auto !important;
    padding: 0.7rem 0.85rem !important;
    text-align: start !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  }

  .quick-link-item .ql-icon {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: 11px !important;
    font-size: 0.95rem !important;
    flex-shrink: 0;
  }

  .quick-link-label {
    flex: 1;
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: pretty;
    hyphens: none;
  }

  .quick-link-item--primary {
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12) !important;
  }
}

@media (max-width: 380px) {
  .quick-links-bar {
    padding-inline: 0.7rem;
  }

  .quick-links-inner {
    gap: 0.5rem !important;
  }

  .quick-link-item {
    padding: 0.6rem 0.7rem !important;
    gap: 0.55rem !important;
  }

  .quick-link-label {
    font-size: 0.75rem !important;
  }
}
/* ---- footer-board.css ---- */
/* Footer board — clearer campus navy layout */

.footer--board {
  --ft-bg: #071528;
  --ft-panel: #0b1c38;
  --ft-line: rgba(147, 197, 253, 0.16);
  --ft-muted: #94a3b8;
  --ft-text: #cbd5e1;
  --ft-white: #ffffff;
  --ft-blue: #60a5fa;
  --ft-blue-strong: #3b82f6;
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(37, 99, 235, 0.18), transparent 55%),
    linear-gradient(180deg, #0c1f45 0%, var(--ft-bg) 100%);
  color: var(--ft-text);
  padding-top: 0;
}

.footer--board .footer-top {
  padding: clamp(2.75rem, 5vw, 4.25rem) 0 clamp(2rem, 3.5vw, 2.75rem);
}

.footer--board .footer-board {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) minmax(0, 2.2fr) minmax(210px, 1fr);
  gap: clamp(1.75rem, 3.5vw, 3rem);
  align-items: start;
}

.footer--board .footer-brand {
  max-width: 34ch;
}

.footer--board .footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.1rem;
  text-decoration: none;
  color: inherit;
}

.footer--board .footer-logo img {
  height: 52px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}

.footer--board .footer-logo-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.footer--board .footer-logo-main {
  display: block;
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--ft-white);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.footer--board .footer-logo-sub {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #93c5fd;
}

.footer--board .footer-brand__desc {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--ft-muted);
  font-weight: 500;
}

.footer--board .footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.footer--board .footer-social-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--ft-line);
  color: #cbd5e1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer--board .footer-social-icon:hover {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
  transform: translateY(-2px);
}

.footer--board .footer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.footer--board .footer-col h3,
.footer--board .footer-contact h3 {
  margin: 0 0 1rem;
  padding: 0 0 0.65rem;
  border-bottom: 1px solid var(--ft-line);
  color: var(--ft-white);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.footer--board .footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.footer--board .footer-col a {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ft-muted);
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer--board .footer-col a::before {
  content: "";
  display: none;
}

.footer--board .footer-col a:hover {
  color: var(--ft-blue);
  padding: 0;
  transform: translateX(-2px);
}

.footer--board .footer-contact {
  padding: 1.2rem 1.15rem 1.25rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(147, 197, 253, 0.14);
  direction: rtl;
  text-align: start;
}

.footer--board .footer-contact__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.footer--board .footer-contact__list li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
}

.footer--board .footer-contact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  background: rgba(201, 162, 39, 0.14);
  color: #e6d08a;
  font-size: 0.9rem;
}

.footer--board .footer-contact__meta {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  text-align: start;
}

.footer--board .footer-contact__label {
  font-size: 0.72rem;
  font-weight: 700;
  color: #93a4bb;
  letter-spacing: 0.02em;
}

.footer--board .footer-contact__list a {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  color: #f1f5f9;
  text-decoration: none;
  text-align: start;
  word-break: break-word;
}

.footer--board .footer-contact__list a::before {
  display: none !important;
  content: none !important;
}

.footer--board .footer-contact__list a:hover {
  color: #e6d08a;
}

.footer--board .footer-contact__hours {
  margin-top: 1rem;
  padding: 0.8rem 0.9rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(147, 197, 253, 0.12);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.footer--board .footer-contact__hours-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #e6d08a;
  font-size: 0.82rem;
  font-weight: 800;
}

.footer--board .footer-contact__hours-value {
  color: #e2e8f0;
  font-size: 0.86rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.footer--board .footer-contact__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.9rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(201, 162, 39, 0.45);
  color: #f3e6b5;
  background: rgba(201, 162, 39, 0.1);
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.footer--board .footer-contact__cta:hover {
  background: #c9a227;
  border-color: #c9a227;
  color: #1a1a2e;
}

/* Kill any leftover map embeds */
.footer--board .footer-map-embed {
  display: none !important;
}

.footer--board .footer-bottom {
  border-top: 1px solid var(--ft-line);
  padding: 1.15rem 0 1.35rem;
  background: rgba(0, 0, 0, 0.18);
}

.footer--board .footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
}

.footer--board .footer-copy {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: #94a3b8;
}

.footer--board .footer-bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.15rem;
}

.footer--board .footer-bottom-links a {
  font-size: 0.85rem;
  font-weight: 600;
  color: #94a3b8;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer--board .footer-bottom-links a:hover {
  color: var(--ft-blue);
}

.footer--board .footer-lang {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--ft-line);
}

.footer--board .lang-footer {
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #94a3b8;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.footer--board .lang-footer:hover {
  color: #e2e8f0;
}

.footer--board .lang-footer.active {
  background: #2563eb;
  color: #fff;
}

@media (max-width: 1100px) {
  .footer--board .footer-board {
    grid-template-columns: 1fr 1fr;
  }

  .footer--board .footer-nav {
    grid-column: 1 / -1;
  }

  .footer--board .footer-contact {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .footer--board .footer-board {
    grid-template-columns: 1fr;
  }

  .footer--board .footer-nav {
    grid-template-columns: 1fr 1fr;
  }

  .footer--board .footer-brand {
    max-width: none;
  }

  .footer--board .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
  }
}

@media (max-width: 480px) {
  .footer--board .footer-nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer--board .footer-social-icon,
  .footer--board .footer-col a {
    transition: none;
  }

  .footer--board .footer-social-icon:hover,
  .footer--board .footer-col a:hover {
    transform: none;
  }
}

/* Kill legacy RTL chevron on the new footer */
.rtl-body .footer--board .footer-col a::before,
.rtl-body .footer--board .footer-contact a::before {
  content: none !important;
  display: none !important;
}

.rtl-body .footer--board .footer-col a:hover {
  padding-right: 0;
  padding-left: 0;
  transform: translateX(2px);
}


/* Contact v2 — tight RTL rows (icon + text glued together) */
.footer--board .footer-contact--v2 .footer-contact__list li {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.7rem;
}
.footer--board .footer-contact--v2 .footer-contact__meta {
  flex: 0 1 auto;
  max-width: calc(100% - 3.2rem);
  text-align: start;
}
.footer--board .footer-contact--v2 .footer-contact__meta a,
.footer--board .footer-contact--v2 .footer-contact__meta .footer-contact__text {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: start;
}
.footer--board .footer-contact--v2 .footer-contact__meta a[dir="ltr"] {
  direction: ltr;
  unicode-bidi: plaintext;
  text-align: start;
}
.footer--board .footer-contact--v2 .footer-contact__text {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
  color: #f1f5f9;
  white-space: normal;
}
.footer--board .footer-contact--v2 .footer-contact__hours {
  display: none !important;
}
/* ---- home-academic.css ---- */
/* Academic homepage — refined polish
   Primary #1e3a5f · Gold #c9a227 · Mist #e8f4f8 · Ink #1a1a2e */

:root {
  --brand-primary: #1e3a5f;
  --brand-secondary: #c9a227;
  --brand-accent: #e8f4f8;
  --brand-text: #1a1a2e;
  --brand-bg: #ffffff;
}

/* Preloader — minimal, fast exit */
.site-preloader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  background: #fff;
  transition: opacity .35s ease, visibility .35s ease;
}
.site-preloader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.site-preloader__inner { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.site-preloader__logo { width: 64px; height: 64px; object-fit: contain; }
.site-preloader__bar {
  width: 88px; height: 2px; border-radius: 999px; background: #e8f4f8; overflow: hidden;
}
.site-preloader__bar span {
  display: block; height: 100%; width: 45%;
  background: var(--brand-primary);
  animation: preloaderSlide .9s ease-in-out infinite;
}
@keyframes preloaderSlide {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(260%); }
}

.home-page--academic .section-cta {
  margin-top: 1.75rem;
  text-align: center;
}
.home-page--academic .btn-outline-primary {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .75rem 1.35rem;
  border: 1.5px solid rgba(30, 58, 95, .22);
  border-radius: 999px;
  color: var(--brand-primary);
  font-weight: 750;
  background: #fff;
}
.home-page--academic .btn-outline-primary:hover {
  background: var(--brand-accent);
  border-color: var(--brand-primary);
}

@media (prefers-reduced-motion: reduce) {
  .site-preloader__bar span { animation: none; width: 100%; }
}

/* Header polish */
.header .logo-icon { width: 52px; height: 52px; }
.header .logo-main { color: var(--brand-primary); font-size: 1.15rem; font-weight: 900; }
.header .logo-sub { color: #6b7c93; font-weight: 600; letter-spacing: .02em; }
.header .btn-apply {
  background: var(--brand-secondary);
  color: #1a1a2e;
  padding: .55rem 1.05rem;
  font-size: .9rem;
  box-shadow: none;
}
.header .btn-apply:hover {
  background: #b8911f;
  color: #1a1a2e;
  box-shadow: 0 4px 12px rgba(201, 162, 39, .22);
  transform: translateY(-1px);
}
.topbar { background: var(--brand-primary); }

/* Header motion/shell — glass look lives in mari-neon-glass.css */
.header {
  position: sticky;
  top: var(--topbar-h);
  z-index: 999;
}
.header.scrolled .btn-apply {
  background: var(--brand-secondary) !important;
  color: #1a1a2e !important;
}



/* Home shell */
.home-page.home-page--academic {
  --home-scroll-offset: calc(var(--topbar-h) + var(--header-h));
  color: var(--brand-text);
  background: #fff;
  overflow-x: clip;
}
html:has(.home-page--academic),
body:has(.home-page--academic) {
  overflow-x: hidden;
}
.home-page--academic .section {
  padding: clamp(3.25rem, 6vw, 5rem) 0;
}
.home-page--academic .section-eyebrow {
  margin: 0 0 .45rem;
  color: var(--brand-secondary);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .06em;
}
.home-page--academic .section-title {
  color: var(--brand-primary);
  margin-bottom: .65rem;
  letter-spacing: -.02em;
}
.home-page--academic .section-desc {
  color: #5b677a;
  max-width: 46ch;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 600;
}
.home-page--academic .section-header { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }

/* Buttons */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.55rem;
  background: var(--brand-secondary);
  color: #1a1a2e !important;
  font-weight: 800;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(201, 162, 39, .18);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-gold:hover {
  background: #b8911f;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(201, 162, 39, .22);
}
.btn-outline-light {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.55rem;
  border: 1.5px solid rgba(255,255,255,.7);
  color: #fff !important;
  font-weight: 700;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.btn-outline-light:hover {
  background: rgba(255,255,255,.14);
  border-color: #fff;
  transform: translateY(-2px);
}
.btn-outline-navy {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .8rem 1.4rem;
  border: 1.5px solid rgba(30, 58, 95, .25);
  color: var(--brand-primary) !important;
  font-weight: 750;
  border-radius: 999px;
  background: #fff;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.btn-outline-navy:hover {
  border-color: var(--brand-primary);
  background: var(--brand-accent);
  transform: translateY(-1px);
}

/* ── Hero: cinematic landscape, content mid-left ── */
.hero--academic {
  position: relative;
  min-height: clamp(560px, 78vh, 740px);
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #12263f;
}
.hero--academic .hero-media { position: absolute; inset: 0; overflow: hidden; }
.hero--academic .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  transform: none;
  max-width: none;
}
.hero--academic .hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(18, 38, 63, .72) 0%, rgba(18, 38, 63, .38) 48%, rgba(18, 38, 63, .12) 100%),
    linear-gradient(180deg, rgba(18, 38, 63, .08) 0%, rgba(18, 38, 63, .28) 100%);
}
.hero--academic .hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-block: clamp(4.5rem, 8vw, 6rem) clamp(4.5rem, 8vw, 5.5rem);
  text-align: start;
}
.hero--academic .hero-copy { max-width: 620px; flex: 1 1 auto; }
.hero--academic .hero-brand {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1rem;
  padding: .35rem .8rem .35rem .4rem;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  color: #f3e6b5;
  font-weight: 750;
  font-size: .88rem;
}
.hero--academic .hero-brand img {
  width: 28px; height: 28px; object-fit: contain; border-radius: 50%;
  background: #fff;
}
.hero--academic .hero-title {
  font-size: clamp(2rem, 4.6vw, 3.2rem);
  font-weight: 900;
  line-height: 1.28;
  margin: 0 0 1rem;
  color: #fff;
  max-width: 18ch;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(0,0,0,.25);
}
.hero--academic .hero-desc {
  margin: 0 0 1.6rem;
  max-width: 42ch;
  font-size: clamp(.98rem, 1.6vw, 1.1rem);
  line-height: 1.75;
  color: rgba(255,255,255,.92);
  font-weight: 600;
  text-shadow: 0 1px 10px rgba(0,0,0,.2);
}
.hero--academic .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.hero--academic .hero-scroll { display: none; }

/* Hero left seal — atmospheric brand balance */
.hero--academic .hero-aside {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-inline-end: clamp(.5rem, 3vw, 2rem);
  pointer-events: none;
  user-select: none;
}
.hero--academic .hero-seal {
  position: relative;
  width: clamp(148px, 16vw, 196px);
  height: clamp(148px, 16vw, 196px);
  display: grid;
  place-items: center;
}
.hero--academic .hero-seal__glow {
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, .28) 0%, rgba(201, 162, 39, .08) 42%, transparent 70%);
  filter: blur(2px);
  animation: heroSealPulse 4.8s ease-in-out infinite;
}
.hero--academic .hero-seal__ring {
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  border: 1.5px solid rgba(243, 230, 181, .55);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 0 24px rgba(201, 162, 39, .12);
}
.hero--academic .hero-seal__ring--outer {
  inset: 0;
  border-color: rgba(255,255,255,.22);
  border-style: dashed;
  animation: heroSealSpin 28s linear infinite;
  box-shadow: none;
}
.hero--academic .hero-seal__logo {
  position: relative;
  z-index: 1;
  width: clamp(72px, 8vw, 96px);
  height: clamp(72px, 8vw, 96px);
  object-fit: contain;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  padding: .55rem;
  box-shadow:
    0 10px 28px rgba(0,0,0,.22),
    0 0 0 6px rgba(255,255,255,.08);
}
.hero--academic .hero-aside__motto {
  margin: 0;
  color: rgba(243, 230, 181, .92);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-shadow: 0 1px 12px rgba(0,0,0,.28);
}
.hero--academic .hero-aside__line {
  width: 48px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(201,162,39,.85), transparent);
}
@keyframes heroSealSpin {
  to { transform: rotate(360deg); }
}
@keyframes heroSealPulse {
  0%, 100% { opacity: .7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}

/* ── Stats strip ── */
.stats-section--academic {
  background: #fff;
  padding: 0 !important;
  position: relative;
  z-index: 5;
  margin-top: -2.25rem;
}
body:has(.home-page--academic) .ai-assistant-widget {
  z-index: 997;
}
.stats-panel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: #fff;
  border: 1px solid rgba(30, 58, 95, .1);
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(30, 58, 95, .1);
  overflow: hidden;
}
.stat-card {
  text-align: center;
  padding: 1.35rem 1rem;
  border-inline-start: 1px solid rgba(30, 58, 95, .08);
  transition: background .2s ease;
}
.stat-card:first-child { border-inline-start: 0; }
.stat-card:hover { background: var(--brand-accent); }
.stat-card__icon {
  width: 42px; height: 42px; margin: 0 auto .65rem;
  border-radius: 12px;
  display: grid; place-items: center;
  background: var(--brand-accent);
  color: var(--brand-primary);
  font-size: 1.05rem;
}
.stat-card .stat-num {
  display: inline;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  font-weight: 900;
  color: var(--brand-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.stat-card .stat-suffix {
  color: var(--brand-secondary);
  font-weight: 800;
  font-size: 1rem;
  margin-inline-start: 2px;
}
.stat-card .stat-label {
  display: block;
  margin-top: .4rem;
  font-size: .84rem;
  font-weight: 700;
  color: #5b677a;
}

/* ── Quick links ── */
.quick-links--academic {
  background: #fff;
  padding-block: clamp(2.5rem, 4vw, 3.25rem) !important;
}
.ql-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .9rem;
}
.ql-cards > li {
  flex: 1 1 160px;
  max-width: 220px;
  display: flex;
}
.ql-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 124px;
  padding: 1.15rem .75rem;
  text-align: center;
  text-decoration: none;
  color: var(--brand-primary);
  background: #fff;
  border: 1px solid rgba(30, 58, 95, .14);
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(30, 58, 95, .04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ql-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 162, 39, .5);
  box-shadow: 0 12px 28px rgba(30, 58, 95, .1);
  color: var(--brand-primary);
}
.ql-card__icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: grid; place-items: center;
  background: var(--brand-primary);
  color: #fff;
  font-size: 1.12rem;
  transition: background .2s ease, color .2s ease;
}
.ql-card:hover .ql-card__icon {
  background: var(--brand-secondary);
  color: #1a1a2e;
}
.ql-card__label {
  font-weight: 800;
  font-size: .92rem;
  line-height: 1.35;
  color: var(--brand-primary);
}

/* Faculties — clean academic cards (no neon) */
.faculties-section--academic {
  background: #f5f8fb;
}
.fac-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 1.15rem;
}
.fac-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(30, 58, 95, .1);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(30, 58, 95, .06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.fac-card:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 39, .4);
  box-shadow: 0 16px 36px rgba(30, 58, 95, .12);
}
.fac-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #1e3a5f center/cover no-repeat;
}
.fac-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(18,38,63,.45) 100%);
}
.fac-card__icon {
  position: absolute;
  z-index: 1;
  inset-inline-start: 1rem;
  bottom: 1rem;
  width: 44px; height: 44px;
  border-radius: 12px;
  display: grid; place-items: center;
  background: var(--brand-primary);
  color: #fff;
  font-size: 1.1rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.2);
}
.fac-card__body {
  padding: 1.1rem 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  flex: 1;
}
.fac-card__body h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 850;
  color: var(--brand-primary);
  line-height: 1.4;
}
.fac-card__body p {
  margin: 0;
  font-size: .86rem;
  line-height: 1.65;
  color: #5b677a;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.fac-card__dean {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .35rem;
  padding-top: .7rem;
  border-top: 1px solid rgba(30, 58, 95, .08);
  font-size: .8rem;
  font-weight: 700;
  color: #6b7c93;
}
.fac-card__dean i { color: var(--brand-secondary); }

/* Timeline */
.calendar-section--academic { background: #fff; }
.timeline-academic {
  display: grid;
  grid-template-columns: minmax(240px, .85fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.timeline-academic__intro .section-title { text-align: start; }
.timeline-academic__intro .section-desc { margin-inline: 0; text-align: start; }
.timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.timeline-list::before {
  content: '';
  position: absolute;
  top: .4rem; bottom: .4rem;
  inset-inline-start: 1.05rem;
  width: 2px;
  background: linear-gradient(180deg, var(--brand-secondary), rgba(30,58,95,.12));
}
.tl-item {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .9rem;
  margin-bottom: .95rem;
}
.tl-item__dot {
  width: 2.15rem; height: 2.15rem;
  border-radius: 999px;
  display: grid; place-items: center;
  background: #fff;
  border: 2.5px solid var(--brand-primary);
  color: var(--brand-primary);
  font-size: .65rem;
  z-index: 1;
}
.tl-item--urgent .tl-item__dot { border-color: #b33b2e; color: #b33b2e; }
.tl-item--upcoming .tl-item__dot { border-color: var(--brand-secondary); color: #9a7a15; }
.tl-item--standard .tl-item__dot { border-color: #3a7a96; color: #3a7a96; }
.tl-item__card {
  background: #f8fafc;
  border: 1px solid rgba(30, 58, 95, .08);
  border-radius: 14px;
  padding: .9rem 1.05rem;
  transition: background .2s ease, box-shadow .2s ease;
}
.tl-item__card:hover {
  background: #fff;
  box-shadow: 0 10px 24px rgba(30, 58, 95, .08);
}
.tl-item__meta {
  display: flex; flex-wrap: wrap; gap: .4rem .7rem;
  align-items: center; margin-bottom: .35rem;
}
.tl-item__badge {
  display: inline-flex;
  padding: .15rem .55rem;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
}
.tl-item--urgent .tl-item__badge { background: #fdecea; color: #9e3428; }
.tl-item--upcoming .tl-item__badge { background: #fbf4dc; color: #8a6d12; }
.tl-item--standard .tl-item__badge { background: #e7f2f7; color: #1f5d78; }
.tl-item__when { font-size: .78rem; font-weight: 700; color: #6b7c93; }
.tl-item__title {
  margin: 0;
  font-size: 1rem;
  color: var(--brand-primary);
  font-weight: 800;
  line-height: 1.4;
}
.tl-item__text {
  margin: .35rem 0 0;
  font-size: .86rem;
  color: #5b677a;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* News */
.news-section--academic { background: linear-gradient(180deg, #f7fafc, #fff); }
.news-grid-academic {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 1rem;
}
.news-card-ac {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(30, 58, 95, .1);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(30, 58, 95, .04);
  transition: transform .22s ease, box-shadow .22s ease;
}
.news-card-ac:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(30, 58, 95, .1);
}
.news-card-ac__media {
  aspect-ratio: 16 / 10;
  background: var(--brand-accent);
  overflow: hidden;
}
.news-card-ac__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.news-card-ac:hover .news-card-ac__media img { transform: scale(1.04); }
.news-card-ac__placeholder {
  width: 100%; height: 100%;
  display: grid; place-items: center;
  color: var(--brand-primary); opacity: .35; font-size: 1.6rem;
}
.news-card-ac__body {
  padding: 1rem 1.05rem 1.15rem;
  display: flex; flex-direction: column; gap: .45rem; flex: 1;
}
.news-card-ac__meta {
  display: flex; justify-content: space-between; gap: .4rem;
  font-size: .72rem; font-weight: 700; color: #6b7c93;
}
.news-card-ac__cat { color: var(--brand-secondary); }
.news-card-ac__title {
  margin: 0;
  font-size: .98rem;
  font-weight: 800;
  color: var(--brand-primary);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card-ac__excerpt {
  margin: 0;
  font-size: .84rem;
  color: #5b677a;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.news-card-ac__more {
  margin-top: .25rem;
  font-size: .84rem;
  font-weight: 800;
  color: var(--brand-primary);
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.news-card-ac__more:hover { color: #9a7a15; }

/* Testimonials — editorial voice wall (no slider) */
.testimonials-section--academic {
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(201, 162, 39, .08), transparent 55%),
    radial-gradient(ellipse 70% 45% at 0% 100%, rgba(30, 58, 95, .06), transparent 50%),
    linear-gradient(180deg, #f7f9fc 0%, #fff 48%, #f8fafc 100%);
  color: var(--brand-text);
  direction: rtl;
  overflow: hidden;
}
.testimonials-section--academic .section-header { text-align: center; }
.testimonials-section--academic .section-desc { margin-inline: auto; }

.voice-wall {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.25rem);
}

.voice-lead {
  margin: 0;
  position: relative;
  padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.35rem, 3.5vw, 2.5rem);
  background: linear-gradient(135deg, #12263f 0%, #1e3a5f 55%, #254a73 100%);
  color: #fff;
  border-radius: 4px 28px 4px 28px;
  overflow: hidden;
}
.voice-lead::after {
  content: "";
  position: absolute;
  inset: auto -8% -40% auto;
  width: min(280px, 45vw);
  height: min(280px, 45vw);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, .22), transparent 70%);
  pointer-events: none;
}
.voice-lead__mark {
  position: absolute;
  top: .15rem;
  inset-inline-start: clamp(.6rem, 2vw, 1.1rem);
  font-size: clamp(5rem, 14vw, 8.5rem);
  line-height: .75;
  font-weight: 900;
  color: rgba(201, 162, 39, .35);
  font-family: Georgia, "Times New Roman", serif;
  pointer-events: none;
  user-select: none;
}
.voice-lead__quote {
  margin: 0;
  position: relative;
  z-index: 1;
}
.voice-lead__quote p {
  margin: 0;
  font-size: clamp(1.15rem, 2.6vw, 1.55rem);
  line-height: 1.85;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #f8fafc;
}
.voice-lead__author {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .9rem;
  margin-top: 1.5rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 255, 255, .14);
}
.voice-lead__meta strong {
  display: block;
  font-size: 1rem;
  color: #fff;
}
.voice-lead__meta span {
  display: block;
  margin-top: .15rem;
  font-size: .85rem;
  color: rgba(226, 232, 240, .78);
}
.voice-lead .voice-stars {
  margin-top: .45rem;
  justify-content: flex-start;
  color: var(--brand-secondary);
}

.voice-avatar {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 1.2rem;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid rgba(201, 162, 39, .55);
}
.voice-avatar img { width: 100%; height: 100%; object-fit: cover; }
.voice-avatar--sm {
  width: 44px;
  height: 44px;
  font-size: 1rem;
  background: var(--brand-primary);
  border-color: rgba(201, 162, 39, .45);
}

.voice-stars {
  display: flex;
  gap: .28rem;
  color: var(--brand-secondary);
  font-size: .82rem;
  margin-bottom: .75rem;
}

.voice-mosaic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}
.voice-tile {
  margin: 0;
  padding: 1.25rem 1.2rem 1.2rem;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(30, 58, 95, .08);
  border-inline-start: 3px solid var(--brand-secondary);
  border-radius: 2px 16px 16px 2px;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.voice-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(18, 38, 63, .08);
  border-color: rgba(30, 58, 95, .14);
}
.voice-tile blockquote {
  margin: 0 0 1rem;
}
.voice-tile blockquote p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.75;
  font-weight: 600;
  color: #334155;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.voice-tile figcaption {
  display: flex;
  align-items: center;
  gap: .7rem;
}
.voice-tile figcaption strong {
  display: block;
  font-size: .9rem;
  color: var(--brand-primary);
}
.voice-tile figcaption span {
  display: block;
  margin-top: .12rem;
  font-size: .78rem;
  color: #6b7c93;
}

@media (max-width: 760px) {
  .voice-mosaic { grid-template-columns: 1fr; }
  .voice-lead { border-radius: 4px 20px 4px 20px; }
}
@media (min-width: 1100px) {
  .voice-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .voice-tile { transition: none; }
  .voice-tile:hover { transform: none; }
}

/* CTA */
.admissions-cta--academic { background: #fff; padding-top: 2.5rem !important; }
.admissions-cta--academic .acta-board {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: clamp(1.5rem, 3.5vw, 2.25rem);
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(201,162,39,.18), transparent 50%),
    linear-gradient(125deg, #1e3a5f, #152a45);
}
.admissions-cta--academic .acta-board__eyebrow { color: #e6d08a; margin: 0 0 .35rem; font-weight: 800; font-size: .8rem; }
.admissions-cta--academic .acta-board__title {
  margin: 0 0 .5rem; color: #fff; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
}
.admissions-cta--academic .acta-board__desc {
  margin: 0; color: rgba(255,255,255,.78); max-width: 42ch; line-height: 1.65; font-weight: 600;
}
.admissions-cta--academic .acta-board__actions { display: flex; flex-wrap: wrap; gap: .65rem; }

/* Contact */
.contact-quick--academic { background: var(--brand-accent); }
.cq-academic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: stretch;
}
.cq-academic .section-title { text-align: start; }
.cq-academic__list {
  list-style: none; margin: 1.1rem 0; padding: 0;
  display: flex; flex-direction: column; gap: .7rem;
}
.cq-academic__item {
  display: flex; gap: .75rem; align-items: flex-start;
  background: #fff; border-radius: 12px; padding: .8rem .9rem;
  border: 1px solid rgba(30, 58, 95, .08);
}
.cq-academic__icon {
  width: 38px; height: 38px; border-radius: 10px;
  background: var(--brand-accent); color: var(--brand-primary);
  display: grid; place-items: center; flex-shrink: 0;
}
.cq-academic__item h3 { margin: 0 0 .1rem; font-size: .82rem; color: var(--brand-primary); }
.cq-academic__item p,
.cq-academic__item a { margin: 0; font-size: .88rem; color: #5b677a; font-weight: 600; }
.cq-academic__item a:hover { color: #9a7a15; }
.cq-academic__social { display: flex; gap: .45rem; margin-bottom: .9rem; }
.cq-academic__social a {
  width: 38px; height: 38px; border-radius: 999px;
  background: #fff; color: var(--brand-primary);
  display: grid; place-items: center;
  border: 1px solid rgba(30, 58, 95, .1);
}
.cq-academic__social a:hover { background: var(--brand-primary); color: #fff; }
.cq-academic__map {
  border-radius: 16px; overflow: hidden; min-height: 300px; background: #fff;
  border: 1px solid rgba(30, 58, 95, .1);
  box-shadow: 0 10px 28px rgba(30, 58, 95, .08);
}

/* Footer accents */
.footer--board {
  --ft-bg: #12263f;
  --ft-panel: #1e3a5f;
  --ft-blue: #c9a227;
  --ft-blue-strong: #c9a227;
}

/* Keep seal beside copy until tablet; style.css forces column under 1024px */
@media (max-width: 1024px) {
  .hero--academic .hero-inner {
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    text-align: start;
  }
  .hero--academic .hero-actions { justify-content: flex-start; }
  .hero--academic .hero-aside {
    transform: scale(.92);
    margin-inline-end: 0;
  }
}

/* Responsive */
@media (max-width: 1100px) {
  .fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ql-cards > li { flex-basis: calc(33.333% - .6rem); max-width: calc(33.333% - .6rem); }
  .news-grid-academic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .timeline-academic,
  .cq-academic { grid-template-columns: 1fr; }
  .stats-panel { grid-template-columns: repeat(2, 1fr); }
  .stat-card:nth-child(3) { border-inline-start: 0; }
  .stat-card { border-top: 1px solid rgba(30, 58, 95, .08); }
  .stat-card:nth-child(-n+2) { border-top: 0; }
  .ql-cards > li { flex-basis: calc(50% - .45rem); max-width: calc(50% - .45rem); }
  .hero--academic { min-height: 72vh; align-items: flex-end; }
  .hero--academic .hero-title { max-width: none; }
  .hero--academic .hero-inner {
    flex-direction: column !important;
    align-items: stretch;
    justify-content: flex-end;
  }
  .hero--academic .hero-aside {
    display: none;
  }
  .hero--academic .hero-overlay {
    background:
      linear-gradient(180deg, rgba(18,38,63,.2) 0%, rgba(18,38,63,.55) 48%, rgba(18,38,63,.86) 100%);
  }
}
@media (max-width: 640px) {
  .stats-section--academic { margin-top: -1.5rem; }
  .fac-grid,
  .news-grid-academic { grid-template-columns: 1fr; }
  .ql-cards > li { flex-basis: calc(50% - .45rem); max-width: calc(50% - .45rem); }
  .hero--academic { min-height: 62svh; }
  .hero--academic .hero-inner { padding-bottom: 1.75rem; }
  .hero--academic .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero--academic .hero-actions .btn-gold,
  .hero--academic .hero-actions .btn-outline-light {
    width: 100%;
    justify-content: center;
  }
  .hero--academic .hero-title {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
  }
  .hero--academic .hero-desc {
    max-width: none;
    font-size: .95rem;
  }
  .stat-card {
    padding: 1rem .85rem;
  }
  .fac-card__body { padding: 1rem 1rem 1.15rem; }
  .fac-card__body h3 { font-size: 1.05rem; }
  .home-page--academic .section {
    padding-block: 2.25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ql-card, .news-card-ac, .stat-card, .fac-card { transition: none; }
  .hero--academic .hero-seal__ring--outer,
  .hero--academic .hero-seal__glow { animation: none; }
}


/* Override leftover blue accents from home-polish */
.home-page--academic .section-eyebrow {
  color: var(--brand-secondary) !important;
}


/* ── Footer academic refresh (overrides footer-board) ── */
.footer--board {
  background:
    radial-gradient(ellipse 60% 45% at 90% -5%, rgba(201,162,39,.12), transparent 55%),
    linear-gradient(180deg, #12263f 0%, #0d1c31 100%);
}
.footer--board .footer-board {
  grid-template-columns: minmax(230px, 1.2fr) minmax(0, 1.9fr) minmax(240px, 1fr);
}


/* Footer polish pass 2 — RTL alignment + breathing room */
.footer--board .footer-brand__desc { text-align: start; }
.footer--board .footer-col ul { gap: .6rem; }
.footer--board .footer-col a { align-items: center; }
.footer--board .footer-col h3,
.footer--board .footer-contact h3 { padding-inline-end: .1rem; }
.footer--board .footer-social { margin-top: .35rem; }
.footer--board .footer-board { row-gap: 2rem; }
.footer--board .footer-contact__list { gap: .9rem; }
.footer--board .footer-contact__cta i { margin-inline-start: .1rem; }
@media (max-width: 900px) {
  .footer--board .footer-board { grid-template-columns: 1fr; }
  .footer--board .footer-nav { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 620px) {
  .footer--board .footer-nav { grid-template-columns: 1fr 1fr; }
}

/* Bilingual: language switcher links + LTR shell */
.lang-switcher .lang-btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
body.ltr-body {
  direction: ltr;
  text-align: left;
}
body.ltr-body .skip-link { right: auto; left: 16px; }

/* English header: prevent overflow from long labels */
html[lang="en"] .header .header-inner,
body.ltr-body .header .header-inner {
  gap: .75rem;
}
html[lang="en"] .header .logo-text,
body.ltr-body .header .logo-text {
  max-width: 11.5rem;
}
html[lang="en"] .header .logo-main,
body.ltr-body .header .logo-main {
  font-size: 1.02rem;
  line-height: 1.15;
  white-space: nowrap;
}
html[lang="en"] .header .logo-sub,
body.ltr-body .header .logo-sub {
  font-size: .72rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html[lang="en"] .header .header-actions,
body.ltr-body .header .header-actions {
  gap: .65rem !important;
}
html[lang="en"] .header .nav-list,
body.ltr-body .header .nav-list {
  gap: 0;
}
html[lang="en"] .header .nav-link,
body.ltr-body .header .nav-link {
  padding: .55rem .55rem;
  font-size: .82rem;
  letter-spacing: 0;
}
html[lang="en"] .header .btn-apply,
body.ltr-body .header .btn-apply {
  padding: .5rem .9rem;
  font-size: .82rem;
}
html[lang="en"] .header .mega-menu,
body.ltr-body .header .mega-menu {
  right: auto;
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
}
html[lang="en"] .header .nav-item:hover .mega-menu,
body.ltr-body .header .nav-item:hover .mega-menu {
  transform: translateX(-50%) translateY(0);
}
html[lang="en"] .topbar-inner,
body.ltr-body .topbar-inner {
  flex-direction: row;
}
/* Keep contact cluster on the start side in LTR without mirroring names wrongly */
html[lang="en"] .footer-col a::before,
body.ltr-body .footer-col a::before {
  content: none;
}
@media (max-width: 1200px) {
  html[lang="en"] .header .nav-link,
  body.ltr-body .header .nav-link {
    padding: .5rem .4rem;
    font-size: .78rem;
  }
  html[lang="en"] .header .logo-sub,
  body.ltr-body .header .logo-sub {
    display: none;
  }
}



/* —— Important dates strip —— */
.home-dates { padding-top: 1.25rem; padding-bottom: 0; }
.home-dates__panel {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) 1fr auto;
  gap: 1.25rem;
  align-items: center;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(26, 58, 107, .1);
  border-radius: 22px;
  padding: 1.25rem 1.4rem;
  box-shadow: 0 14px 34px rgba(15, 39, 68, .08);
}
.home-dates__intro .section-eyebrow { margin-bottom: .35rem; }
.home-dates__title {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 900;
  color: #0f2744;
  line-height: 1.4;
}
.home-dates__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.home-dates__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  background: #fff;
  border: 1px solid rgba(26, 58, 107, .08);
  border-radius: 14px;
  padding: .7rem .8rem;
  border-inline-start: 3px solid #1a3a6b;
}
.home-dates__item--urgent { border-inline-start-color: #dc2626; }
.home-dates__item--upcoming { border-inline-start-color: #c9a227; }
.home-dates__item time {
  display: grid;
  place-items: center;
  min-width: 3rem;
  padding: .35rem .4rem;
  border-radius: 10px;
  background: rgba(26, 58, 107, .07);
  color: #1a3a6b;
  text-align: center;
  line-height: 1.15;
}
.home-dates__day {
  font-size: 1.15rem;
  font-weight: 900;
}
.home-dates__month {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  opacity: .8;
}
.home-dates__item strong {
  display: block;
  font-size: .88rem;
  font-weight: 800;
  color: #0f2744;
  margin-bottom: .15rem;
}
.home-dates__item span {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  color: #64748b;
  line-height: 1.45;
}
.home-dates__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  white-space: nowrap;
  color: #fff;
  background: #1a3a6b;
  font-weight: 800;
  font-size: .88rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  text-decoration: none;
  transition: filter .15s, transform .15s;
}
.home-dates__link:hover { filter: brightness(1.08); transform: translateY(-1px); color: #fff; }
@media (max-width: 980px) {
  .home-dates__panel { grid-template-columns: 1fr; }
  .home-dates__link { justify-self: start; }
}
@media (max-width: 640px) {
  .home-dates__list { grid-template-columns: 1fr; }
}

/* —— Accreditation strip —— */
.accred-strip { padding-top: 0; padding-bottom: 1.5rem; }
.accred-strip__panel {
  display: grid;
  grid-template-columns: 1.1fr 2fr auto;
  gap: 1.25rem;
  align-items: center;
  background:
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(201,162,39,.12), transparent 55%),
    linear-gradient(135deg, #0f2744 0%, #1a3a6b 55%, #254a73 100%);
  color: #fff;
  border-radius: 22px;
  padding: 1.35rem 1.5rem;
  box-shadow: 0 18px 40px rgba(15, 39, 68, .18);
}
.accred-strip__intro .section-eyebrow { color: #fbbf24; margin-bottom: .35rem; }
.accred-strip__title {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 900;
  line-height: 1.45;
  color: #fff;
}
.accred-strip__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.accred-strip__list li {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: .85rem .8rem;
  min-height: 100%;
}
.accred-seal {
  width: 34px; height: 34px; border-radius: 10px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.12);
  color: #93c5fd;
  margin-bottom: .2rem;
  font-size: .95rem;
}
.accred-seal--gold { color: #fde68a; background: rgba(201,162,39,.18); }
.accred-seal-img {
  width: 36px; height: 36px; object-fit: contain;
  border-radius: 8px; margin-bottom: .25rem;
  background: rgba(255,255,255,.12); padding: 4px;
}
.accred-strip__item-link {
  display: flex; flex-direction: column; gap: .25rem;
  color: inherit; text-decoration: none;
}
.accred-strip__item-link:hover strong { color: #fde68a; }
.accred-strip__list strong {
  font-size: .9rem;
  font-weight: 900;
  color: #fff;
}
.accred-strip__list span {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.72);
  line-height: 1.45;
}
.accred-strip__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  white-space: nowrap;
  color: #12263f;
  background: #c9a227;
  font-weight: 800;
  font-size: .88rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  text-decoration: none;
  transition: filter .15s, transform .15s;
}
.accred-strip__link:hover { filter: brightness(1.06); transform: translateY(-1px); color: #12263f; }

/* —— Campus gallery —— */
.campus-gallery { background: #f8fafc; }
.campus-gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(140px, 18vw);
  gap: 12px;
}
.campus-gallery__item {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  grid-column: span 3;
  box-shadow: 0 10px 28px rgba(18,38,63,.08);
  background: #1e3a5f;
}
.campus-gallery__item--1 { grid-column: span 6; grid-row: span 2; }
.campus-gallery__item--2 { grid-column: span 3; grid-row: span 1; }
.campus-gallery__item--3 { grid-column: span 3; grid-row: span 1; }
.campus-gallery__item--4 { grid-column: span 3; grid-row: span 1; }
.campus-gallery__item--5 { grid-column: span 3; grid-row: span 1; }
.campus-gallery__item--6 { grid-column: span 4; }
.campus-gallery__item--7 { grid-column: span 4; }
.campus-gallery__item--8 { grid-column: span 4; }
.campus-gallery__item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s ease;
}
.campus-gallery__item figcaption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 1.6rem .95rem .85rem;
  background: linear-gradient(transparent, rgba(10,22,40,.78));
  color: #fff;
  font-weight: 800;
  font-size: .9rem;
  transform: translateY(6px);
  opacity: .92;
  transition: transform .25s ease, opacity .25s ease;
}
.campus-gallery__item:hover img { transform: scale(1.05); }
.campus-gallery__item:hover figcaption { transform: translateY(0); opacity: 1; }

@media (max-width: 980px) {
  .accred-strip__panel {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .accred-strip__list { grid-template-columns: repeat(2, 1fr); }
  .accred-strip__link { justify-self: center; }
  .campus-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;
  }
  .campus-gallery__item,
  .campus-gallery__item--1,
  .campus-gallery__item--2,
  .campus-gallery__item--3,
  .campus-gallery__item--4,
  .campus-gallery__item--5,
  .campus-gallery__item--6,
  .campus-gallery__item--7,
  .campus-gallery__item--8 {
    grid-column: span 1;
    grid-row: span 1;
  }
  .campus-gallery__item--1 { grid-column: span 2; grid-row: span 2; }
}
@media (max-width: 560px) {
  .accred-strip__list { grid-template-columns: 1fr; }
  .campus-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: 210px; }
  .campus-gallery__item--1 { grid-column: span 1; grid-row: span 1; }
}
/* ---- campus-map.css ---- */
/* Real campus map card (OpenStreetMap embed) */

.campus-map-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  height: 100%;
  min-height: var(--campus-map-h, 360px);
}

.campus-map-card__frame {
  position: relative;
  flex: 1 1 auto;
  min-height: var(--campus-map-h, 360px);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #bfdbfe;
  background: #e8f0fe;
  box-shadow: 0 14px 34px rgba(12, 31, 69, 0.08);
}

.campus-map-card__iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--campus-map-h, 360px);
  border: 0;
  filter: saturate(1.05) contrast(1.02);
}

.campus-map-card__pin {
  position: absolute;
  inset-inline-start: 1rem;
  top: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  max-width: min(85%, 280px);
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(191, 219, 254, 0.95);
  box-shadow: 0 8px 22px rgba(12, 31, 69, 0.12);
  color: #0c1f45;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.3;
  pointer-events: none;
}

.campus-map-card__pin-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
  flex-shrink: 0;
}

.campus-map-card__pin-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campus-map-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.campus-map-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  border: 1px solid #dbeafe;
  background: #fff;
  color: #1e4080;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.campus-map-card__btn:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
  transform: translateY(-1px);
}

.campus-map-card__btn--primary {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.campus-map-card__btn--primary:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}

.campus-map-card--compact .campus-map-card__frame,
.campus-map-card--compact .campus-map-card__iframe {
  min-height: var(--campus-map-h, 300px);
}

/* Home contact board map slot */
.cq-board__map {
  min-height: 100%;
}

.cq-board__map .campus-map-card {
  height: 100%;
}

.cq-board__map .campus-map-card__frame {
  min-height: 320px;
  height: 100%;
}

.cq-board__map .campus-map-card__iframe {
  min-height: 320px;
}

/* Contact page map block */
.campus-map--page {
  margin: 0;
}

.campus-map--page .campus-map-card__frame,
.campus-map--page .campus-map-card__iframe {
  min-height: 420px;
}

.campus-map-note {
  margin: 0.85rem 0 0;
  font-size: 0.92rem;
  line-height: 1.7;
  color: #475569;
  font-weight: 500;
  max-width: 70ch;
}

.map-section .section-header {
  margin-bottom: 1.5rem;
}

.map-section .campus-map {
  background: transparent;
  border: 0;
  height: auto;
  overflow: visible;
}

@media (max-width: 720px) {
  .campus-map-card__actions {
    width: 100%;
  }

  .campus-map-card__btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .cq-board__map .campus-map-card__frame,
  .cq-board__map .campus-map-card__iframe {
    min-height: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campus-map-card__btn {
    transition: none;
  }

  .campus-map-card__btn:hover {
    transform: none;
  }
}
/* ---- mobile-enhance.css ---- */
/* Mobile-first polish — load after page styles */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
}

/* Final header glass lock (loads last) */
.header.scrolled {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  right: 12px !important;
  z-index: 1100 !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  background-image: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.96),
    rgba(239, 246, 255, 0.88)
  ) !important;
  backdrop-filter: blur(28px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.8) !important;
  border: 1.5px solid rgba(201, 162, 39, 0.4) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.16) !important;
}
.header.header-hidden,
.header.scrolled.header-hidden {
  top: -120px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 768px) {
  .header.scrolled {
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    border-radius: 16px !important;
  }
}

img, video, iframe, svg {
  max-width: 100%;
  height: auto;
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Chat stays bottom-left; back-to-top goes bottom-right (never overlap) */
.ai-assistant-widget {
  left: 20px !important;
  right: auto !important;
}
.back-to-top,
.rtl-body .back-to-top,
html[dir="rtl"] .back-to-top,
body.ltr-body .back-to-top {
  left: auto !important;
  right: 20px !important;
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    /* do not set overflow-x here — it breaks sticky/fixed header chrome */
  }

  .container {
    padding-inline: 1rem;
  }

  /* Desktop gaps (32px / 60px) overflow the viewport on phones */
  .header-inner {
    gap: 12px;
  }

  .header-actions {
    gap: 8px;
    flex-shrink: 1;
    min-width: 0;
  }

  .section,
  .org-section {
    padding-block: 2.25rem;
  }

  /* Compact floating cookie sheet above bottom nav */
  .cookie-banner {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 1205 !important;
    transform: translateY(calc(100% + 96px)) !important;
    pointer-events: none;
  }
  .cookie-banner.show {
    transform: translateY(0) !important;
    pointer-events: auto;
  }
  .cookie-content {
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .cookie-content i {
    font-size: 1.1rem !important;
    margin-top: .1rem;
    color: #c9a227 !important;
  }
  .cookie-content p {
    margin: 0 !important;
    font-size: .78rem !important;
    line-height: 1.55 !important;
    color: #334155 !important;
    font-weight: 600 !important;
  }
  .cookie-content a {
    color: #1e3a5f !important;
    text-decoration: underline;
  }
  .cookie-actions {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr;
    gap: 8px !important;
    width: 100%;
  }
  .cookie-banner .cookie-accept,
  .cookie-banner .cookie-decline {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
    font-size: .82rem !important;
    border-radius: 11px !important;
  }
  .cookie-banner .cookie-accept {
    background: #1e3a5f !important;
    color: #fff !important;
  }
  .cookie-banner .cookie-decline {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
  }

  /* FABs clear bottom nav; opposite corners — never overlap */
  .ai-assistant-widget {
    left: 6px !important;
    right: auto !important;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 997 !important;
  }
  .back-to-top,
  .rtl-body .back-to-top,
  html[dir="rtl"] .back-to-top,
  body.ltr-body .back-to-top {
    left: auto !important;
    right: 12px !important;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 996 !important;
  }

  /* While cookie is open: hide back-to-top, lift chat above the sheet */
  body:has(.cookie-banner.show) .back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  body:has(.cookie-banner.show) .ai-assistant-widget {
    bottom: calc(220px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .mobile-bottom-nav .nav-item {
    font-size: 11px;
    gap: 4px;
    min-height: 48px;
  }
  .mobile-bottom-nav .nav-item i {
    font-size: 17px;
  }

  /* Common card/page grids */
  .steps-grid,
  .vmg-grid,
  .achievement-grid,
  .reg-grid,
  .people-grid,
  .adm-req-grid,
  .faculty-members-grid,
  .depts-grid,
  .org-deans-grid,
  .org-executives-grid {
    grid-template-columns: 1fr !important;
  }

  .deadline-card {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 18px !important;
  }

  .faculty-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-bottom: 1.5rem !important;
  }
  .faculty-tab-btn {
    width: 100% !important;
    justify-content: flex-start !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    white-space: normal !important;
    min-height: 48px;
  }
  /* Card CTAs were below the 44px touch-target minimum */
  .btn-detail,
  .btn-apply {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .search-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .faculty-detail-hero {
    padding: 1.35rem 1.15rem !important;
    border-radius: 18px !important;
    gap: 1rem !important;
  }
  .faculty-stats-row {
    width: 100%;
    justify-content: space-between !important;
    gap: .75rem !important;
  }
  .fstat {
    flex: 1 1 auto;
    min-width: 0;
  }

  .roadmap-stepper {
    flex-direction: column;
  }
  .step-btn {
    width: 100%;
    min-width: 0 !important;
  }
  .roadmap-nodes-grid {
    grid-template-columns: 1fr !important;
  }

  .prog-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }
  .prog-tab {
    flex: 0 0 auto;
  }

  .form-card,
  .dept-card,
  .step-card,
  .vmg-card,
  .person-card,
  .reg-card,
  .adm-req-card,
  .faculty-member-card,
  .elig-card {
    border-radius: 16px;
  }

  .header .logo-text {
    max-width: 9.5rem;
  }
  .header .logo-main {
    font-size: .95rem !important;
  }
  .header .logo-sub {
    font-size: .65rem !important;
  }
}

@media (max-width: 480px) {
  .stats-panel {
    grid-template-columns: 1fr !important;
  }
  .stat-card {
    border-inline-start: 0 !important;
    border-top: 1px solid rgba(30, 58, 95, .08);
  }
  .stat-card:first-child {
    border-top: 0 !important;
  }

  .ar-services,
  .ar-strip__grid,
  .ar-endow {
    grid-template-columns: 1fr !important;
  }

  .home-dates__panel {
    padding: 1rem !important;
  }
  .home-dates__link,
  .accred-strip__link {
    width: 100%;
    justify-content: center;
  }

  .cookie-content {
    flex-direction: row;
    gap: 8px !important;
  }
  body:has(.cookie-banner.show) .ai-assistant-widget {
    bottom: calc(250px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
/* ---- rtl.css ---- */
.rtl-body{direction:rtl;text-align:right}.rtl-body .text-left{text-align:right}.rtl-body .text-right{text-align:left}.rtl-body .fa-arrow-left{transform:scaleX(1)}.rtl-body .fa-arrow-right{transform:scaleX(-1)}.cal-day,.gpa-num,.rcta-num,.stat-num{direction:ltr;unicode-bidi:bidi-override}.rtl-body .nav-link.active::after{left:auto;right:50%;transform:translateX(50%)}.rtl-body .mobile-menu{right:-100%;left:auto}.rtl-body .mobile-menu.open{right:0}.rtl-body .mega-menu{right:50%;left:auto;transform:translateX(50%) translateY(-10px)}.rtl-body .nav-item:hover .mega-menu{transform:translateX(50%) translateY(0)}.rtl-body .search-form{direction:rtl}.rtl-body .back-to-top{left:30px;right:auto}.rtl-body .accessibility-panel{left:0;right:auto;border-radius:0 0 var(--radius-lg) 0}.rtl-body .accessibility-panel button{text-align:right}.rtl-body .lang-switcher{margin-right:0;margin-left:var(--spacing-sm)}.rtl-body .footer-col a::before{content:'‹'}.rtl-body .footer-col a:hover{padding-right:0;padding-left:4px}.rtl-body input[type=email],.rtl-body input[type=search],.rtl-body input[type=text],.rtl-body textarea{direction:rtl;text-align:right}.rtl-body .faculty-hover-arrow{left:var(--spacing-lg);right:auto;transform:translateX(10px)}.rtl-body .faculty-card:hover .faculty-hover-arrow{transform:translateX(0)}.rtl-body .ticker-content{animation:tickerScrollRTL 30s linear infinite}@keyframes tickerScrollRTL{0%{transform:translateX(0)}100%{transform:translateX(50%)}}.rtl-body .partners-track{animation:partnersScrollRTL 25s linear infinite}@keyframes partnersScrollRTL{0%{transform:translateX(0)}100%{transform:translateX(50%)}}.rtl-body .mega-col{border-left:none;border-right:1px solid var(--gray-100)}.rtl-body .mega-col:first-child{border-right:none}.rtl-body .news-cat{right:auto;left:var(--spacing-md)}.rtl-body .card-float-1{right:auto;left:-30px}.rtl-body .card-float-2{right:auto;left:-40px}.rtl-body .card-float-3{left:auto;right:-20px}.rtl-body .mobile-sub-toggle i.fa-chevron-down{margin-right:auto;margin-left:0}.rtl-body .quick-links-inner{direction:rtl}.rtl-body .cal-event.upcoming{border-right-width:4px;border-left-width:1px}.rtl-body .map-overlay{left:50%;right:auto}.rtl-body .footer-bottom-inner{direction:rtl}.search-suggestions{padding:var(--spacing-sm) 0}.search-suggestion-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 16px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);font-size:var(--fs-sm);color:var(--gray-700)}.search-suggestion-item:hover{background:var(--gray-50);color:var(--primary-600)}.search-suggestion-item i{color:var(--primary-400);font-size:var(--fs-xs)}
/* Phone numbers must always read left-to-right, even inside RTL text.
   Only the number itself gets `direction`, so flex-based tel links keep their icon order. */
a[href^="tel:"]{unicode-bidi:isolate}
a[href^="tel:"]>span,.dept-contact bdi,.ci-item a[href^="tel:"],.org-profile-meta strong,.team-meta strong a[href^="tel:"]{direction:ltr;unicode-bidi:isolate}
/* ---- ai-robot-assistant.css ---- */
.ai-assistant-widget{position:fixed;bottom:24px;left:24px;z-index:1000;font-family:Cairo,sans-serif;direction:rtl}.ai-robot-hint{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) scale(.9);background:#fff;color:var(--primary-800,#1a3a6b);padding:8px 14px;border-radius:14px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 8px 24px rgba(37,99,235,.2);border:1px solid rgba(37,99,235,.12);opacity:0;pointer-events:none;animation:aiHintPop 6s ease-in-out 2s infinite}.ai-hint-tail{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:#fff;border-right:1px solid rgba(37,99,235,.12);border-bottom:1px solid rgba(37,99,235,.12)}.ai-assistant-widget.hint-dismissed .ai-robot-hint,.ai-assistant-widget.open .ai-robot-hint{animation:none;opacity:0}@keyframes aiHintPop{0%,100%,70%{opacity:0;transform:translateX(-50%) scale(.85) translateY(6px)}10%,55%{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}.ai-robot-trigger{position:relative;width:96px;height:110px;background:0 0;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.34, 1.56, .64, 1);z-index:2;pointer-events:auto}.ai-robot-trigger:hover{transform:scale(1.06)}.ai-robot-trigger:active{transform:scale(.96)}.ai-robot-character{width:96px;height:104px;display:block;filter:drop-shadow(0 10px 24px rgba(37, 99, 235, .35));animation:robotFloat 3.5s ease-in-out infinite}@keyframes robotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.robot-shadow{animation:robotShadow 3.5s ease-in-out infinite;transform-origin:center}@keyframes robotShadow{0%,100%{transform:scaleX(1);opacity:.25}50%{transform:scaleX(.85);opacity:.15}}.robot-antenna-bulb{animation:robotAntennaPulse 2s ease-in-out infinite}@keyframes robotAntennaPulse{0%,100%{opacity:.7}50%{opacity:1}}.robot-blink{animation:robotBlink 4s ease-in-out infinite}.robot-blink-right{animation-delay:.1s}@keyframes robotBlink{0%,100%,92%{transform:scaleY(0);transform-origin:center}95%{transform:scaleY(1)}}.robot-core-inner{animation:robotCorePulse 2.5s ease-in-out infinite}@keyframes robotCorePulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.robot-arm-left{transform-origin:25px 76px;animation:robotArmIdleLeft 3s ease-in-out infinite}.robot-arm-right{transform-origin:95px 76px}@keyframes robotArmIdleLeft{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}.ai-robot-pulse-ring{position:absolute;inset:8px;border-radius:50%;border:2px solid rgba(37,99,235,.35);animation:aiPulseRing 2.5s ease-out infinite;pointer-events:none}@keyframes aiPulseRing{0%{transform:scale(.85);opacity:.6}100%{transform:scale(1.35);opacity:0}}.ai-assistant-widget.open .ai-robot-character{animation:robotGreet .8s ease forwards}.ai-assistant-widget.open .robot-arm-right{animation:robotWave .8s ease-in-out .1s}.ai-assistant-widget.open .robot-arm-left{animation:robotWaveLeft .8s ease-in-out .2s}.ai-assistant-widget.open .ai-robot-pulse-ring{animation:none;opacity:0}@keyframes robotGreet{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-12px) scale(1.05)}60%{transform:translateY(-4px) scale(1.02) rotate(-3deg)}100%{transform:translateY(-6px) scale(1)}}@keyframes robotWave{0%,100%{transform:rotate(0)}25%{transform:rotate(-28deg)}50%{transform:rotate(-12deg)}75%{transform:rotate(-24deg)}}@keyframes robotWaveLeft{0%,100%{transform:rotate(0)}25%{transform:rotate(18deg)}50%{transform:rotate(8deg)}75%{transform:rotate(16deg)}}.ai-assistant-widget.open .ai-robot-trigger{transform:scale(.92) translateY(-4px)}.ai-chat-panel{position:absolute;bottom:118px;left:0;width:380px;max-height:min(520px,calc(100vh - 160px));background:rgba(255,255,255,.92);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.18),0 0 0 1px rgba(37,99,235,.08);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transform-origin:bottom left;transition:opacity .35s ease,transform .45s cubic-bezier(.34, 1.4, .64, 1),visibility .35s;pointer-events:none}.ai-assistant-widget.open .ai-chat-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.ai-assistant-widget.open .ai-chat-panel{animation:aiPanelBounce .5s cubic-bezier(.34,1.4,.64,1)}@keyframes aiPanelBounce{0%{transform:translateY(24px) scale(.92)}60%{transform:translateY(-4px) scale(1.01)}100%{transform:translateY(0) scale(1)}}.ai-assistant-widget.open::before{content:'';position:absolute;bottom:108px;left:48px;width:2px;height:14px;background:linear-gradient(to top,rgba(37,99,235,.4),transparent);animation:aiConnectorGrow .4s ease forwards}@keyframes aiConnectorGrow{from{height:0;opacity:0}to{height:14px;opacity:1}}.ai-chat-header{background:linear-gradient(135deg,#1a3a6b 0,#2563eb 100%);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0}.ai-chat-header-robot{width:44px;height:44px;background:rgba(255,255,255,.12);border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);animation:aiHeaderRobotBob 3s ease-in-out infinite}@keyframes aiHeaderRobotBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.ai-header-robot-mini{width:36px;height:36px}.ai-chat-title-wrap{flex:1;display:flex;flex-direction:column;gap:2px;text-align:right}.ai-chat-title{font-size:15px;font-weight:800}.ai-chat-subtitle{font-size:10px;color:rgba(255,255,255,.65);font-weight:500}.ai-chat-status{font-size:10px;color:#a5f3fc;display:flex;align-items:center;gap:5px;margin-top:2px}.ai-status-dot{width:6px;height:6px;background:#10b981;border-radius:50%;animation:aiStatusPulse 1.5s ease-in-out infinite}@keyframes aiStatusPulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.ai-chat-close{width:32px;height:32px;border:none;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.ai-chat-close:hover{background:rgba(255,255,255,.2);transform:scale(1.05)}.ai-chat-messages{flex:1;min-height:200px;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#f8fafc 0,#fff 100%)}.ai-msg{display:flex;gap:8px;max-width:92%;animation:aiMsgIn .35s ease forwards}@keyframes aiMsgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-msg.bot{align-self:flex-start}.ai-msg.user{align-self:flex-end;flex-direction:row-reverse}.ai-msg-avatar{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1a3a6b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.ai-msg.user .ai-msg-avatar{background:var(--primary-500,#2563eb)}.ai-msg-bubble{display:flex;flex-direction:column;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.65;text-align:right}.ai-msg.bot .ai-msg-bubble{background:#fff;color:#1e293b;border-bottom-right-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.04);border:1px solid #e2e8f0}.ai-msg.user .ai-msg-bubble{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom-left-radius:4px;box-shadow:0 4px 16px rgba(37,99,235,.25)}.ai-msg-text a{color:inherit;font-weight:700;text-decoration:underline}.ai-msg.bot .ai-msg-text a{color:#2563eb}.ai-msg-time{font-size:9px;opacity:.55;margin-top:4px;align-self:flex-end}.ai-chat-choices{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;background:rgba(248,250,252,.9);border-top:1px solid #e2e8f0;flex-shrink:0}.ai-choice-btn{background:#fff;border:1px solid #dbeafe;color:#1d4ed8;padding:7px 12px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Cairo,sans-serif}.ai-choice-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,.25)}.ai-chat-input-area{padding:12px 14px;background:#fff;border-top:1px solid #e2e8f0;display:flex;align-items:center;gap:10px;flex-shrink:0}.ai-chat-input{flex:1;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;outline:0;font-size:13px;font-family:Cairo,sans-serif;text-align:right;transition:border-color .2s,box-shadow .2s}.ai-chat-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.ai-chat-send{width:40px;height:40px;border:none;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1a3a6b);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;flex-shrink:0}.ai-chat-send:hover{transform:scale(1.06);box-shadow:0 4px 16px rgba(37,99,235,.35)}.ai-chat-send:active{transform:scale(.95)}.ai-msg.bot .typing-indicator{display:flex;gap:5px;padding:4px 0}.ai-msg.bot .typing-indicator span{width:7px;height:7px;background:#94a3b8;border-radius:50%;animation:aiTypingBounce 1s infinite alternate}.ai-msg.bot .typing-indicator span:nth-child(2){animation-delay:.15s}.ai-msg.bot .typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes aiTypingBounce{from{transform:translateY(0);opacity:.4}to{transform:translateY(-6px);opacity:1}}.ai-assistant-widget.thinking .robot-core-inner{animation:robotThinking .6s ease-in-out infinite}@keyframes robotThinking{0%,100%{fill:#fbbf24}50%{fill:#60a5fa}}@media (max-width:768px){.ai-assistant-widget{bottom:calc(72px + env(safe-area-inset-bottom,0px));left:12px;z-index:997}.ai-chat-panel{width:calc(100vw - 24px);left:0;right:auto;bottom:calc(110px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 220px)}.ai-robot-trigger{width:72px;height:84px}.ai-robot-character{width:72px;height:80px}.ai-robot-hint{display:none}}@media (prefers-reduced-motion:reduce){.ai-chat-header-robot,.ai-robot-character,.ai-robot-hint,.ai-robot-pulse-ring,.ai-status-dot,.robot-antenna-bulb,.robot-arm-left,.robot-blink,.robot-core-inner,.robot-shadow{animation:none!important}.ai-chat-panel{transition:opacity .2s ease,visibility .2s;transform:none!important}.ai-assistant-widget.open .ai-chat-panel{animation:none}}
