﻿/* ===== Design Tokens ===== */
@font-face { font-family:"Expo Arabic"; src:url("../../Expo Arabic Light/Expo Arabic Light.ttf") format("truetype"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Expo Arabic"; src:url("../../Expo Arabic Book/Expo Arabic Book.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Expo Arabic"; src:url("../../Expo Arabic Medium/Expo Arabic Medium.ttf") format("truetype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Expo Arabic"; src:url("../../Expo Arabic Bold/Expo Arabic Bold.ttf") format("truetype"); font-weight:600 900; font-style:normal; font-display:swap; }

:root {
  --purple-900: #2e1140;
  --purple-800: #451e63;
  --purple-700: #5b2b82;
  --purple-500: #7c3fa8;
  --gold: #c8912f;
  --gold-soft: #e2b457;
  --bg: #f7f5fb;
  --surface: #ffffff;
  --ink: #1e1327;
  --muted: #6b6478;
  --line: #ece7f3;
  --radius: 16px;
  --shadow-sm: 0 2px 8px rgba(46, 17, 64, 0.06);
  --shadow-md: 0 10px 30px rgba(46, 17, 64, 0.1);
  --shadow-lg: 0 24px 60px rgba(46, 17, 64, 0.18);
  --container: 1200px;
  --font-sans: "Expo Arabic", system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
svg { width: 1em; height: 1em; fill: currentColor; }

/* ===== Progressive scroll reveal ===== */
.scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity .7s ease var(--reveal-delay, 0ms), transform .7s cubic-bezier(.2,.75,.25,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.scroll-reveal.scroll-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}
.footer-bottom.scroll-reveal {
  opacity: 1;
  transform: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .scroll-reveal { opacity: 1; transform: none; transition: none; }
}

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ===== Buttons ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: inherit; font-weight: 700; font-size: 15px;
  padding: 11px 24px; border-radius: 12px; cursor: pointer; border: 1.5px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space: nowrap;
}
.btn .ico { font-size: 18px; }
.btn:hover { transform: translateY(-2px); }
.btn-lg { padding: 14px 30px; font-size: 16px; }
.btn-block { width: 100%; }
.btn-primary { background: var(--purple-700); color: #fff; box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: var(--purple-800); box-shadow: var(--shadow-md); }
.btn-gold { background: var(--gold); color: var(--purple-900); box-shadow: var(--shadow-sm); }
.btn-gold:hover { background: var(--gold-soft); }
.btn-outline { background: transparent; border-color: var(--purple-700); color: var(--purple-900); }
.btn-outline:hover { background: var(--purple-700); color: #fff; }
.btn-ghost { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.35); }
.btn-ghost:hover { background: rgba(255,255,255,.22); }

/* ===== Top Bar ===== */
.topbar { background: var(--purple-900); color: #cdd8ee; font-size: 13px; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 42px; }
.topbar-contact { display: flex; gap: 22px; }
.tb-item { display: inline-flex; align-items: center; gap: 7px; }
.tb-item .ico { font-size: 15px; color: var(--gold-soft); }
.topbar-social { display: flex; align-items: center; gap: 12px; }
.tb-note { color: #8ea0c4; }
.soc { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.08); transition: background .2s, color .2s; }
.soc svg { width: 15px; height: 15px; }
.soc:hover { background: var(--gold); color: var(--purple-900); }

/* ===== Navbar ===== */
.navbar { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); transition: box-shadow .25s; }
.navbar.scrolled { box-shadow: var(--shadow-md); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 74px; gap: 20px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-logo { height: 42px; width: auto; display: block; }
.brand-name .ksa { font-size: .48em; font-weight: 800; vertical-align: baseline; }
.nav-links { display: flex; align-items: center; gap: 6px; }
.nav-links a { padding: 9px 14px; border-radius: 10px; font-weight: 600; font-size: 15px; color: #33405c; transition: color .2s, background .2s; position: relative; }
.nav-links a:hover { color: var(--purple-700); background: #eef2fb; }
.nav-links a.active { color: var(--purple-700); }
.nav-links a.active::after { content: ""; position: absolute; bottom: 2px; right: 14px; left: 14px; height: 3px; border-radius: 3px; background: var(--gold); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.nav-toggle span { width: 24px; height: 2.5px; background: var(--purple-900); border-radius: 3px; transition: .3s; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* ===== Hero ===== */
.hero { position: relative; color: #fff; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.05); }
  .hero-overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(46,17,64,.96) 30%, rgba(69,30,99,.8) 65%, rgba(46,17,64,.55) 100%); }
.hero-inner { position: relative; padding: 96px 24px 120px; }
.hero-content { max-width: 820px; }
.pill { display: inline-block; padding: 7px 16px; border-radius: 999px; background: rgba(212,160,23,.16); border: 1px solid rgba(240,193,75,.4); color: var(--gold-soft); font-weight: 700; font-size: 13px; margin-bottom: 22px; }
  .pill-gold { background: rgba(46,17,64,.1); border-color: rgba(46,17,64,.2); color: var(--purple-900); }
.hero h1 { font-size: clamp(32px, 5vw, 54px); font-weight: 900; line-height: 1.2; margin-bottom: 18px; text-wrap: balance; }
.hero h1 .hl { color: var(--gold-soft); }
.hero p { font-size: 19px; color: #e2e8f5; margin-bottom: 22px; max-width: 760px; text-wrap: pretty; line-height: 1.9; }
.hero-highlights { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; max-width: 780px; }
.hero-highlights span { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #f3f6fb; font-size: 14px; font-weight: 700; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 46px; }
.hero-stats { display: grid; grid-template-columns: repeat(4, auto); gap: 34px; }
.stat strong { display: block; font-size: 34px; font-weight: 900; color: #fff; }
.stat span { font-size: 14px; color: #b8c5e0; }

.hero-marquee { position: relative; background: var(--gold); color: var(--purple-900); overflow: hidden; }
.marquee-track { display: flex; gap: 60px; white-space: nowrap; padding: 12px 0; width: max-content; animation: marquee 24s linear infinite; }
.marquee-track span { font-weight: 800; font-size: 15px; position: relative; padding-right: 60px; }
.marquee-track span::before { content: ""; position: absolute; right: 24px; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .65; transform: translateY(-50%); }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(50%); } }

/* ===== Inner Pages ===== */
.page-hero { position: relative; color: #fff; overflow: hidden; }
.page-hero-inner { position: relative; padding: 92px 24px 104px; max-width: var(--container); }
.page-hero h1 { max-width: 780px; font-size: clamp(34px, 5vw, 58px); font-weight: 900; line-height: 1.2; margin-bottom: 18px; text-wrap: balance; }
.page-hero p { max-width: 740px; color: #e2e8f5; font-size: 19px; line-height: 1.9; text-wrap: pretty; }
.about-page-hero .hero-overlay { background: linear-gradient(100deg, rgba(46,17,64,.98) 26%, rgba(69,30,99,.84) 68%, rgba(124,63,168,.56) 100%); }
.about-intro { align-items: stretch; }
.about-logo-panel { min-height: 100%; background: linear-gradient(145deg, var(--purple-900), var(--purple-700)); border-radius: 20px; padding: 40px; color: #fff; display: flex; flex-direction: column; justify-content: center; gap: 34px; box-shadow: var(--shadow-lg); overflow: hidden; }
.about-logo-panel img { width: min(100%, 360px); margin: 0 auto; }
.about-panel-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.about-panel-stats div { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; padding: 18px; }
.about-panel-stats strong { display: block; color: var(--gold-soft); font-size: 34px; font-weight: 900; line-height: 1; margin-bottom: 8px; }
.about-panel-stats span { color: #d7e0f2; font-size: 14px; }
.value-card { padding: 28px 24px; }
.value-card strong { display: block; color: var(--purple-900); font-size: 21px; font-weight: 900; margin-bottom: 10px; }
.value-card p { color: var(--muted); font-size: 15px; }

/* ===== Trust ===== */
.trust { padding: 40px 0; background: var(--surface); border-bottom: 1px solid var(--line); }
.trust-title { text-align: center; color: var(--muted); font-size: 14px; font-weight: 600; margin-bottom: 22px; }
.trust-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 44px; }
.trust-logos span { font-weight: 900; letter-spacing: 1px; color: #9aa8c2; font-size: 18px; opacity: .8; transition: color .2s; }
.trust-logos span:hover { color: var(--purple-700); }

/* ===== Sections ===== */
.section { padding: 84px 0; }
.section.alt { background: var(--surface); }
.section-head { max-width: 720px; margin: 0 auto 52px; text-align: center; }
.eyebrow { display: inline-block; color: var(--gold); font-weight: 800; font-size: 14px; letter-spacing: 1px; margin-bottom: 12px; }
.section-head h2, .split-text h2, .cta-inner h2, .promo-text h2 { font-size: clamp(26px, 3.5vw, 38px); font-weight: 900; color: var(--purple-900); line-height: 1.25; text-wrap: balance; }
.section-head h2 { margin-bottom: 14px; }
.section-head p { color: var(--muted); font-size: 17px; }

.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s; }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }

/* Feature cards */
.feature { padding: 34px 28px; }
.feat-ico { width: 62px; height: 62px; border-radius: 16px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 14%, white); color: var(--c); margin-bottom: 20px; }
.feat-ico svg { width: 30px; height: 30px; }
.feature h3 { font-size: 21px; color: var(--purple-900); margin-bottom: 10px; }
.feature p { color: var(--muted); }

/* Promo */
.promo { background: linear-gradient(120deg, var(--gold) 0%, var(--gold-soft) 100%); color: var(--purple-900); padding: 56px 0; overflow: hidden; }
.promo-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.promo-text { max-width: 640px; }
.promo-text h2 { margin: 12px 0; }
.promo-text p { font-size: 17px; margin-bottom: 24px; color: #22335c; }
.promo-cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.countdown { display: flex; gap: 12px; }
.cd { background: var(--purple-900); color: #fff; border-radius: 12px; padding: 10px 14px; text-align: center; min-width: 62px; }
.cd strong { display: block; font-size: 24px; font-weight: 900; }
.cd span { font-size: 12px; color: var(--gold-soft); }
.promo-badge { flex-shrink: 0; }
.badge-circle { width: 150px; height: 150px; border-radius: 50%; background: var(--purple-900); color: #fff; display: grid; place-items: center; box-shadow: var(--shadow-lg); border: 6px dashed var(--gold-soft); }
.badge-off { font-size: 44px; font-weight: 900; color: var(--gold-soft); line-height: 1; }
.badge-label { font-size: 16px; font-weight: 700; }

/* Split */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split.reverse .split-media { order: 2; }
.split-text h2 { margin-bottom: 16px; }
.split-text > p { color: var(--muted); font-size: 17px; margin-bottom: 24px; }
.split-media { position: relative; }
.split-media > img { border-radius: 20px; box-shadow: var(--shadow-lg); width: 100%; }
.float-card { position: absolute; bottom: -22px; right: -18px; background: #fff; border-radius: 14px; padding: 14px 18px; display: flex; align-items: center; gap: 12px; box-shadow: var(--shadow-lg); }
.float-card .ico { width: 40px; height: 40px; border-radius: 10px; background: #e6f4ea; color: #1a9d52; display: grid; place-items: center; font-size: 22px; }
.float-card.gold .ico { background: rgba(212,160,23,.16); color: var(--gold); }
.float-card strong { display: block; font-size: 17px; color: var(--purple-900); }
.float-card small { color: var(--muted); font-size: 13px; }

.check-list { display: grid; gap: 12px; margin-bottom: 26px; }
.check-list li { position: relative; padding-right: 34px; color: #33405c; font-weight: 500; }
.check-list li::before { content: "âœ“"; position: absolute; right: 0; top: 0; width: 24px; height: 24px; background: var(--purple-700); color: #fff; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 900; }

.mini { margin-bottom: 26px; }
.mini-card { background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; }
.mini-card strong { display: block; color: var(--purple-900); font-size: 16px; }
.mini-card span { color: var(--muted); font-size: 14px; }

/* Teachers */
.teacher { padding: 20px; text-align: center; }
.teacher-photo { width: 100%; aspect-ratio: 1/1; border-radius: 14px; overflow: hidden; margin-bottom: 16px; }
.teacher-photo img { width: 100%; height: 100%; object-fit: cover; }
.teacher h3 { font-size: 18px; color: var(--purple-900); }
.teacher-role { color: var(--muted); font-size: 14px; }
.teacher-meta { display: flex; justify-content: center; gap: 18px; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--gold); }
.teacher-meta span:last-child { color: var(--muted); font-weight: 500; }
.staff-page { background: linear-gradient(180deg, #fbf9ff 0%, var(--bg) 42%, #fff 100%); min-height: 70vh; }
.staff-hero-strip { padding: 28px 0 8px; }
.staff-hero-card {
  position: relative;
  overflow: hidden;
  min-height: 128px;
  border-radius: 18px;
  padding: 22px 26px;
  color: #fff;
  background: linear-gradient(135deg, var(--purple-900) 0%, var(--purple-700) 58%, #8a62a4 100%);
  box-shadow: var(--shadow-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.staff-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 18%, rgba(226,180,87,.22), transparent 32%), linear-gradient(90deg, rgba(255,255,255,.08), transparent 46%);
}
.staff-hero-card > * { position: relative; }
.staff-hero-card .eyebrow { color: var(--gold-soft); }
.staff-hero-card h1 { font-size: clamp(20px, 2.4vw, 28px); font-weight: 900; line-height: 1.15; margin-bottom: 8px; }
.staff-hero-card p { max-width: 460px; color: #e3e8f6; font-size: 14px; line-height: 1.8; }
.staff-hero-mark { flex: 0 0 148px; display: grid; place-items: center; }
.staff-hero-mark img { width: 138px; }
.teacher-search {
  width: min(100%, 520px);
  height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px auto 0;
  padding: 0 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--purple-900);
  box-shadow: var(--shadow-sm);
}
.teacher-search svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--gold); }
.teacher-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--purple-900);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
}
.teacher-search input::placeholder { color: #8d839b; }
.staff-directory-section { padding-top: 34px; }
.teacher-directory { align-items: stretch; position: relative; }
.teacher-card {
  --mx: 50%;
  --my: 50%;
  --rx: 0deg;
  --ry: 0deg;
  position: relative;
  padding: 12px;
  border-radius: 20px;
  min-height: 100%;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(236,231,243,.9);
  box-shadow: 0 12px 34px rgba(46,17,64,.08);
  transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(0);
  transform-style: preserve-3d;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.teacher-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx) var(--my), rgba(226,180,87,.24), transparent 34%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.teacher-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 19px;
  border: 1px solid rgba(200,145,47,.18);
  pointer-events: none;
}
.teacher-card.is-hovered {
  border-color: rgba(200,145,47,.38);
  box-shadow: 0 28px 70px rgba(46,17,64,.2);
}
.teacher-card.is-hidden {
  display: none;
}
.teacher-card.is-hovered::before { opacity: 1; }
.teacher-card .teacher-photo {
  position: relative;
  aspect-ratio: 16/10;
  background: linear-gradient(145deg, #fff, #f1ebf7);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
  transform: translateZ(28px);
  transition: transform .22s ease, box-shadow .22s ease;
}
.teacher-card .teacher-photo img { transition: transform .26s ease; }
.teacher-content { position: relative; padding: 14px 4px 2px; transform: translateZ(20px); }
.teacher-card h3 {
  position: relative;
  margin-top: 0;
  font-size: 18px;
  font-weight: 900;
}
.teacher-card .teacher-role {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin-top: 6px;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(200,145,47,.12);
  color: var(--gold);
  font-size: 13px;
  font-weight: 800;
}
.teacher-tags { display: flex; justify-content: center; gap: 7px; margin-top: 12px; min-height: 26px; }
.teacher-tags span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f4eff9;
  color: #5f4a70;
  font-size: 12px;
  font-weight: 800;
  direction: ltr;
}
.teacher-select {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  margin-top: 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--purple-700), var(--purple-800));
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  transform: translateZ(24px);
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.teacher-select:hover {
  background: var(--gold);
  color: var(--purple-900);
  box-shadow: 0 12px 26px rgba(200,145,47,.28);
}
.teacher-card.is-hovered .teacher-photo { transform: translateZ(42px); box-shadow: 0 18px 34px rgba(46,17,64,.16); }
.teacher-card.is-hovered .teacher-photo img { transform: scale(1.055); }
.teacher-hover-frame {
  position: fixed;
  inset: 0 auto auto 0;
  width: 0;
  height: 0;
  border-radius: 20px;
  pointer-events: none;
  opacity: 0;
  z-index: 120;
  background:
    linear-gradient(rgba(255,255,255,.06), rgba(255,255,255,.06)) padding-box,
    linear-gradient(135deg, rgba(226,180,87,.95), rgba(124,63,168,.75), rgba(226,180,87,.55)) border-box;
  border: 1.5px solid transparent;
  box-shadow: 0 22px 55px rgba(46,17,64,.18), 0 0 0 6px rgba(226,180,87,.08);
  transform: translate3d(var(--frame-x, 0), var(--frame-y, 0), 0);
  transition: opacity .18s ease;
}
.teacher-hover-frame::after {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, rgba(226,180,87,.22), transparent 62%);
  filter: blur(14px);
  opacity: .72;
}

/* Quotes */
.quote { padding: 30px 28px; }
.quote p { color: #33405c; font-size: 16px; margin-bottom: 20px; }
.quote footer { display: flex; flex-direction: column; border-top: 1px solid var(--line); padding-top: 14px; }
.quote strong { color: var(--purple-900); }
.quote span { color: var(--muted); font-size: 14px; }

/* CTA band */
.cta-band { background: var(--purple-900); color: #fff; padding: 64px 0; }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.cta-inner h2 { color: #fff; margin-bottom: 8px; }
.cta-inner p { color: #b8c5e0; font-size: 17px; }

/* Contact */
.contact-list { display: grid; gap: 16px; margin-top: 10px; }
.contact-list li { display: flex; align-items: center; gap: 12px; color: #33405c; font-weight: 600; }
.contact-list .ico { width: 42px; height: 42px; border-radius: 12px; background: #eef2fb; color: var(--purple-700); display: grid; place-items: center; font-size: 20px; }
.contact-form { padding: 30px; }
.field { margin-bottom: 18px; }
.field label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 8px; color: var(--purple-900); }
.field input, .field textarea, .field select { width: 100%; padding: 13px 15px; border: 1.5px solid var(--line); border-radius: 12px; font-family: inherit; font-size: 15px; background: var(--bg); transition: border .2s, box-shadow .2s; resize: vertical; }
  .field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--purple-500); box-shadow: 0 0 0 3px rgba(124,63,168,.16); background: #fff; }
.form-note { margin-top: 14px; color: #1a9d52; font-weight: 700; text-align: center; }

/* Contact page */
.contact-page { background: linear-gradient(180deg, var(--bg) 0%, #fff 54%, var(--bg) 100%); }
.contact-page-hero .hero-overlay { background: linear-gradient(100deg, rgba(46,17,64,.98) 28%, rgba(69,30,99,.84) 68%, rgba(124,63,168,.48) 100%); }
.contact-main-section { padding-top: 72px; }
.contact-methods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-bottom: 34px; }
.contact-method {
  --mx: 50%;
  --my: 50%;
  position: relative;
  overflow: hidden;
  min-height: 154px;
  padding: 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.contact-method::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx) var(--my), rgba(226,180,87,.24), transparent 38%);
  opacity: 0;
  transition: opacity .25s ease;
}
.contact-method:hover { transform: translateY(-6px); border-color: rgba(200,145,47,.36); box-shadow: var(--shadow-lg); }
.contact-method:hover::before { opacity: 1; }
.method-ico { position: relative; width: 48px; height: 48px; border-radius: 14px; background: rgba(200,145,47,.13); color: var(--gold); display: grid; place-items: center; font-size: 24px; }
.contact-method strong { position: relative; color: var(--purple-900); font-size: 18px; font-weight: 900; }
.contact-method span:last-child { position: relative; color: var(--muted); font-size: 15px; font-weight: 700; direction: ltr; text-align: right; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.35fr; gap: 26px; align-items: stretch; }
.contact-panel {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 34px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(145deg, var(--purple-900), var(--purple-700));
  box-shadow: var(--shadow-lg);
}
.contact-panel::before {
  content: "";
  position: absolute;
  inset: auto -80px -120px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(226,180,87,.18);
  filter: blur(6px);
}
.contact-panel-logo { width: 210px; margin-bottom: 28px; }
.contact-panel h2 { position: relative; font-size: clamp(24px, 3vw, 34px); line-height: 1.25; margin-bottom: 14px; }
.contact-panel p { position: relative; color: #d7e0f2; line-height: 1.9; font-size: 16px; margin-bottom: 28px; }
.response-steps { position: relative; display: grid; gap: 12px; }
.response-steps div { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.response-steps span { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--gold); color: var(--purple-900); font-weight: 900; direction: ltr; }
.response-steps strong { font-size: 15px; }
.contact-page-form {
  position: relative;
  padding: 34px;
  border-radius: 22px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
}
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.contact-submit { min-height: 50px; margin-top: 4px; }
.contact-animate { opacity: 0; transform: translateY(36px) scale(.985); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); transition-delay: var(--delay, 0ms); }
.contact-animate.in-view { opacity: 1; transform: none; }

/* Auth page */
.auth-navbar { position: relative; }
.auth-page {
  min-height: calc(100vh - 74px);
  padding: 42px 24px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 18%, rgba(226,180,87,.18), transparent 30%),
    radial-gradient(circle at 82% 68%, rgba(124,63,168,.18), transparent 34%),
    linear-gradient(145deg, #fbf9ff 0%, var(--bg) 46%, #fff 100%);
}
.auth-shell {
  width: min(100%, 1120px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}
.auth-visual {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  padding: 42px;
  border-radius: 26px;
  color: #fff;
  background: linear-gradient(145deg, var(--purple-900), var(--purple-700));
  box-shadow: var(--shadow-lg);
}
.auth-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 22% 18%, rgba(226,180,87,.24), transparent 32%), linear-gradient(90deg, rgba(255,255,255,.08), transparent 50%);
}
.auth-visual > * { position: relative; }
.auth-logo-wrap { width: 230px; margin-bottom: 34px; }
.auth-visual h1 { max-width: 520px; font-size: clamp(32px, 4vw, 48px); font-weight: 900; line-height: 1.18; margin-bottom: 18px; }
.auth-visual p { max-width: 520px; color: #e2e8f5; font-size: 17px; line-height: 1.9; margin-bottom: 34px; }
.auth-points { display: grid; gap: 12px; max-width: 460px; }
.auth-points div { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.auth-points span { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--gold); color: var(--purple-900); font-weight: 900; direction: ltr; }
.auth-points strong { font-size: 15px; }
.auth-card {
  position: relative;
  overflow: hidden;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lg);
}
.auth-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 10%), rgba(226,180,87,.16), transparent 36%);
  pointer-events: none;
}
.auth-card > * { position: relative; }
.auth-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 6px;
  border-radius: 16px;
  background: var(--bg);
  border: 1px solid var(--line);
  margin-bottom: 28px;
}
.auth-tab {
  position: relative;
  z-index: 2;
  border: 0;
  background: transparent;
  min-height: 46px;
  border-radius: 12px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  color: var(--muted);
  cursor: pointer;
}
.auth-tab.active { color: #fff; }
.auth-tab-indicator {
  position: absolute;
  z-index: 1;
  top: 6px;
  bottom: 6px;
  right: 6px;
  width: calc(50% - 6px);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--purple-700), var(--purple-800));
  box-shadow: 0 12px 28px rgba(91,43,130,.24);
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.auth-tabs.register-active .auth-tab-indicator { transform: translateX(-100%); }
.auth-form { display: none; animation: authPanel .34s ease both; }
.auth-form.active { display: flex; flex: 1; flex-direction: column; }
@keyframes authPanel { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.auth-form-head { margin-bottom: 22px; }
.auth-form-head h2 { color: var(--purple-900); font-size: 28px; font-weight: 900; margin-bottom: 8px; }
.auth-form-head p { color: var(--muted); font-size: 15px; }
.auth-card .field input {
  min-height: 56px;
  padding-block: 12px;
}
.password-field { position: relative; }
.password-field input { padding-left: 58px; }
.password-toggle {
  position: absolute;
  left: 9px;
  bottom: 8px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 11px;
  background: rgba(91,43,130,.1);
  color: var(--purple-700);
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.password-toggle:hover { color: #fff; background: var(--purple-700); transform: scale(1.04); }
.password-toggle:focus-visible { outline: 3px solid rgba(226,180,87,.45); outline-offset: 2px; }
.password-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.password-toggle .eye-closed { display: none; }
.password-toggle.is-visible .eye-open { display: none; }
.password-toggle.is-visible .eye-closed { display: block; }
.auth-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 22px; font-size: 14px; }
.remember-me { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-weight: 700; }
.auth-row a { color: var(--purple-700); font-weight: 800; }
.auth-submit { min-height: 50px; }
.auth-note { margin-top: 14px; color: #1a9d52; font-weight: 800; text-align: center; }
.auth-assistance {
  position: relative;
  overflow: hidden;
  min-height: 210px;
  margin-top: 26px;
  padding: 20px 22px;
  border: 1px solid rgba(91,43,130,.14);
  border-radius: 20px;
  background: linear-gradient(145deg, #faf7ff 0%, #f5effb 62%, #fff8e9 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 28px rgba(46,17,64,.07);
}
.auth-assistance::before {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  top: -92px;
  left: -48px;
  border-radius: 50%;
  background: rgba(226,180,87,.18);
}
.auth-assistance::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  right: -68px;
  bottom: -70px;
  border-radius: 50%;
  background: rgba(91,43,130,.09);
}
.auth-assistance > * { position: relative; z-index: 1; }
.auth-assistance-head { display: flex; align-items: center; gap: 13px; }
.auth-assistance-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, var(--purple-700), var(--purple-900));
  box-shadow: 0 10px 22px rgba(91,43,130,.24);
}
.auth-assistance-icon svg { width: 28px; height: 28px; }
.auth-assistance-label { display: block; margin-bottom: 1px; color: var(--gold); font-size: 11px; font-weight: 900; }
.auth-assistance h3 { color: var(--purple-900); font-size: 17px; font-weight: 900; }
.auth-assistance-text { margin: 13px 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.auth-trust-list { display: flex; flex-wrap: wrap; gap: 8px; }
.auth-trust-list span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; color: var(--purple-800); background: rgba(255,255,255,.78); border: 1px solid rgba(91,43,130,.1); font-size: 11px; font-weight: 800; }
.auth-trust-list i { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold); font-size: 10px; font-style: normal; }
.auth-assistance-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(91,43,130,.1); font-size: 12px; }
.auth-assistance-footer > span { color: var(--muted); font-weight: 700; }
.auth-assistance-footer a,
.auth-assistance-footer button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 0; border-radius: 10px; color: #fff; background: var(--purple-700); font-family: inherit; font-size: 11px; font-weight: 900; cursor: pointer; box-shadow: var(--shadow-sm); transition: transform .18s ease, background .18s ease; }
.auth-assistance-footer a:hover,
.auth-assistance-footer button:hover { color: #fff; background: var(--purple-800); transform: translateX(-2px); }
.auth-register-guide { min-height: 0; margin-top: 22px; padding: 18px 20px; display: flex; flex: 1; flex-direction: column; justify-content: center; }
.auth-register-icon { background: linear-gradient(145deg, var(--gold-soft), var(--gold)); color: var(--purple-900); box-shadow: 0 10px 22px rgba(200,145,47,.22); }
.auth-register-benefits { margin-top: 15px; }
.auth-animate { opacity: 0; transform: translateY(26px); animation: authIn .72s cubic-bezier(.2,.8,.2,1) forwards; }
.auth-card.auth-animate { animation-delay: .12s; }
@keyframes authIn { to { opacity: 1; transform: none; } }

/* Footer */
.footer { background: var(--purple-900); color: #b8c5e0; padding-top: 60px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 44px; }
.footer-brand .brand { width: min(200px, 100%); height: 78px; align-items: flex-start; overflow: hidden; }
.footer-brand .brand-logo { width: 190px; max-width: 100%; height: auto; transform: none; }

.brand-logo-new { width:auto; height:48px; max-width:190px; object-fit:contain; transform:none; }
.footer-brand .brand-logo-new,
.footer-brand img[src="/img/logo.png"] { width:190px; height:auto; max-width:100%; transform:none; object-fit:contain; }
.footer-brand .brand:has(.portal-footer-white-logo){position:relative;width:230px;height:82px;background:url("/img/Whitelogo.png") center -85px/300px auto no-repeat}
.footer-brand .portal-footer-white-logo{width:1px;height:1px;opacity:0;pointer-events:none;transform:none}
@media(max-width:560px){.brand-logo-new{height:40px;max-width:150px}.footer-brand .brand-logo-new{width:165px}}
.footer-brand p { margin-top: 16px; font-size: 15px; line-height: 1.7; }
.footer-col h4 { color: #fff; font-size: 17px; margin-bottom: 18px; }
.footer-col a { display: block; padding: 6px 0; font-size: 15px; transition: color .2s; }
.footer-col a:hover { color: var(--gold-soft); }
.footer-col p { font-size: 14px; margin-bottom: 14px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; font-size: 14px; flex-wrap: wrap; gap: 12px; }
.footer-legal { display: flex; gap: 22px; }
.footer-legal a:hover { color: var(--gold-soft); }

/* To top */
.to-top { position: fixed; bottom: 26px; left: 26px; width: 48px; height: 48px; border-radius: 50%; background: var(--purple-700); color: #fff; display: grid; place-items: center; box-shadow: var(--shadow-md); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .3s; z-index: 90; }
.to-top svg { width: 26px; height: 26px; }
.to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { background: var(--gold); color: var(--purple-900); }

/* Reveal animation */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }

/* ===== Responsive ===== */
@media (max-width: 980px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .split { grid-template-columns: 1fr; gap: 40px; }
  .split.reverse .split-media { order: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-methods { grid-template-columns: 1fr; }
  .staff-hero-card { flex-direction: column; align-items: flex-start; }
  .staff-hero-mark { display: none; }
  .auth-shell { grid-template-columns: 1fr; align-items: start; }
  .auth-visual { min-height: auto; }
  .auth-card { align-self: start; width: 100%; }
}
@media (max-width: 820px) {
  .topbar { display: none; }
  .nav-links { position: fixed; inset: 74px 0 auto 0; flex-direction: column; align-items: stretch; background: #fff; padding: 16px; gap: 4px; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); transform: translateY(-140%); transition: transform .32s ease; }
  .nav-links.open { transform: translateY(0); }
  .nav-links a { padding: 13px 16px; }
  .nav-links a.active::after { display: none; }
  .nav-toggle { display: flex; }
  .nav-actions .btn-outline { display: none; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .badge-circle { width: 120px; height: 120px; }
}
@media (max-width: 560px) {
  .grid-3, .grid-4, .grid-2 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero-inner { padding: 60px 24px 90px; }
  .page-hero-inner { padding: 64px 24px 78px; }
  .section { padding: 60px 0; }
  .float-card { right: 50%; transform: translateX(50%); }
  .about-logo-panel { padding: 28px 22px; }
  .about-panel-stats { grid-template-columns: 1fr; }
  .staff-hero-strip { padding: 30px 0 0; }
  .staff-hero-card { padding: 28px 22px; border-radius: 18px; min-height: auto; }
  .staff-directory-section { padding-top: 34px; }
  .contact-panel, .contact-page-form { padding: 24px 20px; border-radius: 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-panel-logo { width: 170px; }
  .auth-page { padding: 24px 16px; }
  .auth-visual, .auth-card { padding: 24px 20px; border-radius: 20px; }
  .auth-logo-wrap { width: 180px; margin-bottom: 24px; }
  .auth-visual h1 { font-size: 30px; }
  .auth-row { align-items: flex-start; flex-direction: column; }
  .auth-assistance { padding: 18px; }
  .auth-assistance-footer { align-items: stretch; flex-direction: column; }
  .auth-assistance-footer a, .auth-assistance-footer button { justify-content: center; }
}
.social-rail { align-items:flex-start; direction:ltr; }

@media (prefers-reduced-motion: reduce) {
  .teacher-card,
  .teacher-card .teacher-photo,
  .teacher-card .teacher-photo img,
  .teacher-hover-frame,
  .contact-animate {
    transition: none;
    transform: none !important;
  }
  .teacher-hover-frame { display: none; }
  .contact-animate { opacity: 1; }
}

/* ===== Member marketing homepage ===== */
.member-site { background:#fff; }
.member-navbar { position:sticky; top:0; z-index:150; }
.member-navbar .nav-links { gap:2px; }
.member-navbar .nav-links a { padding-inline:10px; font-size:15px; }
.member-account { position:relative; }
.member-account > button { min-width:180px; min-height:56px; display:flex; align-items:center; gap:11px; padding:7px 10px; border:1px solid var(--line); border-radius:15px; background:#fff; font-family:inherit; cursor:pointer; }
.member-avatar { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border:0; background:transparent; }
.member-avatar > img { display:block; width:36px; height:36px; object-fit:contain; }
.member-account button > span:nth-child(2) { min-width:0; display:flex; flex:1; flex-direction:column; align-items:flex-start; line-height:1.4; }.member-account button strong{color:var(--purple-900);font-size:14px}.member-account button small{color:var(--muted);font-size:11px}.member-account button svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;transition:transform .2s}.member-account button[aria-expanded="true"] svg{transform:rotate(180deg)}
.member-dropdown { position:absolute; top:calc(100% + 9px); left:0; width:210px; padding:9px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-lg); animation:memberDrop .2s ease both; }.member-dropdown[hidden]{display:none}@keyframes memberDrop{from{opacity:0;transform:translateY(-5px)}}.member-dropdown a,.member-dropdown button{width:100%;display:block;padding:12px 13px;border:0;border-radius:10px;background:none;color:var(--ink);font-family:inherit;font-size:13px;font-weight:700;text-align:right;cursor:pointer}.member-dropdown a:hover{background:#f5f0f8;color:var(--purple-700)}.member-dropdown hr{height:1px;margin:6px;border:0;background:var(--line)}.member-dropdown button{color:#c63c3c}.member-dropdown button:hover{background:#fff0f0}
.member-hero { position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 7% 20%,rgba(226,180,87,.24),transparent 26%),linear-gradient(115deg,#2b0f3d 0%,#471d62 56%,#65308a 100%); }
.member-hero::after { content:""; position:absolute; width:600px;height:600px;left:-300px;bottom:-430px;border:1px solid rgba(226,180,87,.22);border-radius:50%;box-shadow:0 0 0 80px rgba(226,180,87,.035),0 0 0 160px rgba(226,180,87,.025); }
.member-hero-pattern { position:absolute;inset:0;opacity:.055;background-image:linear-gradient(rgba(255,255,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.9) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to left,#000,transparent 82%); }
.member-hero-grid { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.7fr);gap:75px;align-items:center;min-height:590px;padding-top:65px;padding-bottom:65px; }
.member-kicker { display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--gold-soft);font-size:12px;font-weight:800; }.member-kicker i{width:28px;height:2px;border-radius:2px;background:var(--gold-soft)}
.member-hero-copy h1 { font-size:clamp(36px,4.5vw,58px);font-weight:900;line-height:1.3;text-wrap:balance; }.member-hero-copy h1 span{color:var(--gold-soft)}.member-hero-copy>p{max-width:680px;margin-top:18px;color:#ddd3e4;font-size:17px;line-height:1.95}.member-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.member-trust{display:flex;flex-wrap:wrap;gap:20px;color:#cfc2d7;font-size:11px;font-weight:700}.member-trust span{display:inline-flex;align-items:center;gap:7px}.member-trust b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:var(--purple-900);background:var(--gold-soft);font-size:10px}
.learning-card { padding:27px;border:1px solid rgba(255,255,255,.18);border-radius:25px;background:rgba(255,255,255,.1);box-shadow:0 28px 70px rgba(20,4,31,.25);backdrop-filter:blur(13px) }.learning-card-label{margin-bottom:18px;color:var(--gold-soft);font-size:10px;font-weight:800}.learning-subject{display:flex;align-items:center;gap:13px}.subject-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--purple-900);background:linear-gradient(145deg,var(--gold-soft),var(--gold));font-size:21px;font-weight:900}.learning-subject small{color:#cbbdd5;font-size:9px}.learning-subject h2{font-size:15px}.learning-details{display:flex;justify-content:space-between;margin-top:25px;color:#cbbdd5;font-size:9px}.learning-details strong{color:var(--gold-soft)}.learning-progress{height:6px;margin:8px 0 20px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.12)}.learning-progress i{display:block;width:64%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-soft))}.learning-button{display:flex;justify-content:space-between;padding:12px 15px;border-radius:11px;color:var(--purple-900);background:#fff;font-size:10px;font-weight:900}.learning-button:hover{color:var(--purple-700);transform:translateY(-2px)}.next-exam{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11)}.calendar-icon{width:42px;height:44px;display:grid;place-items:center;align-content:center;border-radius:10px;background:rgba(255,255,255,.1);color:var(--gold-soft);font-size:15px;font-weight:900;line-height:1}.calendar-icon small{font-size:7px}.next-exam>span:nth-child(2){display:flex;flex-direction:column}.next-exam>span:nth-child(2) small{color:#c0b2cb;font-size:8px}.next-exam>span:nth-child(2) strong{font-size:10px}.next-exam>b{color:var(--gold-soft)}
.programs-section{padding:95px 0;background:#faf9fc}.marketing-heading{max-width:690px;margin:0 auto 45px;text-align:center}.marketing-heading .eyebrow{margin-bottom:8px}.marketing-heading h2{color:var(--purple-900);font-size:clamp(28px,3.5vw,42px);font-weight:900;line-height:1.35}.marketing-heading p{margin-top:12px;color:var(--muted);font-size:15px;line-height:1.85}.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.program-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}.program-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.program-image{position:relative;height:220px;overflow:hidden;background:#eee}.program-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.program-card:hover .program-image img{transform:scale(1.045)}.program-image>span{position:absolute;right:15px;top:15px;padding:6px 11px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;background:rgba(28,9,40,.55);backdrop-filter:blur(7px);font-size:11px;font-weight:800}.program-content{padding:23px}.program-code{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:1px}.program-content h3{margin:3px 0 9px;color:var(--purple-900);font-size:19px}.program-content p{min-height:82px;color:var(--muted);font-size:14px;line-height:1.85}.program-tags{display:flex;gap:7px;margin:15px 0 18px}.program-tags span{padding:5px 10px;border-radius:20px;background:#f3eef7;color:var(--purple-700);font-size:11px;font-weight:800}.program-content>a{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line);color:var(--purple-700);font-size:13px;font-weight:900}
.apps-section{position:relative;overflow:hidden;padding:100px 0;color:#fff;background:linear-gradient(130deg,#2e1140,#461e62)}.apps-section::before{content:"";position:absolute;width:520px;height:520px;right:-250px;top:-250px;border-radius:50%;background:rgba(226,180,87,.06);box-shadow:0 0 0 80px rgba(226,180,87,.025)}.apps-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.apps-kicker{color:var(--gold-soft);font-size:11px;font-weight:900}.apps-copy h2{margin:8px 0 17px;font-size:clamp(30px,4vw,45px);font-weight:900;line-height:1.4}.apps-copy h2 span{color:var(--gold-soft)}.apps-copy>p{max-width:590px;color:#cfc2d7;font-size:14px;line-height:1.95}.apps-copy ul{display:grid;gap:10px;margin:25px 0}.apps-copy li{display:flex;align-items:center;gap:9px;color:#e5dfe9;font-size:11px;font-weight:700}.apps-copy li span{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:var(--purple-900);background:var(--gold-soft);font-size:10px}.store-buttons{display:flex;flex-wrap:wrap;gap:10px}.store-button{min-width:166px;display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#fff;color:#17121b;transition:transform .2s,box-shadow .2s}.store-button:hover{color:#17121b;transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.2)}.store-button svg{width:27px;height:27px}.store-button span{display:flex;flex-direction:column;line-height:1.2}.store-button small{font-size:7px}.store-button strong{font-size:14px}.phones-stage{position:relative;min-height:470px;display:flex;justify-content:center;align-items:center}.phone{position:absolute;width:215px;padding:8px;border:1px solid rgba(255,255,255,.17);border-radius:32px;background:#15091d;box-shadow:0 35px 70px rgba(0,0,0,.35)}.phone::before{content:"";position:absolute;z-index:2;top:14px;left:50%;width:65px;height:17px;transform:translateX(-50%);border-radius:12px;background:#15091d}.phone img{width:100%;border-radius:25px}.phone-front{z-index:2;right:23%;transform:rotate(3deg)}.phone-back{left:16%;transform:rotate(-9deg) scale(.9);opacity:.88}.app-orbit{position:absolute;border:1px solid rgba(226,180,87,.23);border-radius:50%}.orbit-one{width:390px;height:390px}.orbit-two{width:470px;height:470px;border-style:dashed;opacity:.45}
.social-rail{position:fixed;z-index:140;top:45%;left:0;display:flex;flex-direction:column;gap:7px;transform:translateY(-50%)}.social-rail a{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:0 9px 9px 0;color:#fff;box-shadow:0 10px 25px rgba(25,15,35,.18);transition:width .28s,transform .28s,box-shadow .28s}.social-rail a svg{width:20px;height:20px;fill:currentColor}.social-rail .instagram svg{fill:none;stroke:currentColor;stroke-width:2}.social-rail .instagram svg circle:last-child{fill:currentColor;stroke:none}.social-rail .youtube svg .play{fill:#e91e63;stroke:none}.social-rail span{position:absolute;left:43px;opacity:0;white-space:nowrap;font-size:10px;font-weight:800;transition:opacity .18s}.social-rail a:hover{width:115px;justify-content:flex-start;padding-left:12px;transform:translateX(0);box-shadow:0 14px 32px rgba(25,15,35,.28)}.social-rail a:hover span{opacity:1}.social-rail .facebook{background:#4267b2}.social-rail .instagram{background:linear-gradient(135deg,#5851db,#c13584,#fd1d1d,#fcb045)}.social-rail .youtube{background:#e91e63}
.apps-copy li { gap:10px; font-size:14px; }
.apps-copy li span { width:25px; height:25px; font-size:12px; }
@media(max-width:1050px){.member-navbar .nav-links a{padding-inline:7px;font-size:15px}.member-account>button{min-width:48px}.member-account button>span:nth-child(2){display:none}.member-hero-grid{gap:35px}.phone-front{right:17%}.phone-back{left:10%}}
@media(max-width:820px){.member-navbar .nav-links{inset:74px 0 auto}.member-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:55px;padding-bottom:60px}.learning-card{max-width:520px}.programs-grid{grid-template-columns:1fr 1fr}.apps-grid{grid-template-columns:1fr}.apps-copy{text-align:center}.apps-copy>p{margin-inline:auto}.apps-copy ul{justify-content:center}.apps-copy li{justify-content:center}.store-buttons{justify-content:center}.phones-stage{min-height:480px}.member-dropdown{left:-6px}.social-rail{top:auto;bottom:18px;left:10px;transform:none}.social-rail a:hover{width:42px;padding:0;justify-content:center}.social-rail a:hover span{display:none}}
@media(max-width:560px){.member-hero-copy h1{font-size:33px}.member-hero-copy>p{font-size:14px}.member-actions .btn{width:100%}.member-trust{gap:10px}.learning-card{padding:21px}.programs-section,.apps-section{padding:70px 0}.programs-grid{grid-template-columns:1fr}.program-image{height:205px}.apps-copy h2{font-size:29px}.phone{width:180px}.phone-front{right:14%}.phone-back{left:7%}.phones-stage{min-height:410px}.orbit-one{width:310px;height:310px}.orbit-two{width:370px;height:370px}.store-button{min-width:145px}.member-account>button{border:0;background:transparent;padding:3px}.member-dropdown{position:fixed;top:70px;left:12px;right:12px;width:auto}.social-rail a{width:38px;height:38px}.social-rail a svg{width:18px;height:18px}}
 
/* ===== Unified typography scale ===== */
:root {
  --type-h1: 28px;
  --type-h2: 22px;
  --type-h3: 18px;
  --type-body: 16px;
  --type-button: 15px;
  --type-secondary: 14px;
  --type-caption: 12px;
}
body { font-size: var(--type-body); }
h1 { font-size: var(--type-h1) !important; line-height: 1.35 !important; }
h2 { font-size: var(--type-h2) !important; line-height: 1.4 !important; }
h3 { font-size: var(--type-h3) !important; line-height: 1.45 !important; }
p { font-size: var(--type-body) !important; }
.btn, button, input[type="button"], input[type="submit"], .teacher-select, .program-content > a, .learning-button { font-size: var(--type-button) !important; }
.eyebrow, .pill, .teacher-role, .teacher-tags span, .program-code, .program-tags span, .program-image > span, .member-kicker, .apps-kicker, .trust-title, .field label, .footer-col p, .footer-bottom-inner, .auth-form-head p, .auth-row, .member-account button small, .member-dropdown a, .member-dropdown button { font-size: var(--type-secondary) !important; }
.card p, .value-card p, .feature p, .program-content p, .apps-copy > p, .quote span, .teacher-meta, .footer-brand p, .footer-col a, .staff-directory-head p, .staff-count { font-size: var(--type-secondary) !important; }
small, .learning-card-label, .learning-subject small, .learning-details, .next-exam small, .store-button small, .social-rail span { font-size: var(--type-caption) !important; }
.nav-links a { font-size: 15px !important; }
@media (max-width: 560px) {
  h1 { font-size: 28px !important; }
  h2 { font-size: 22px !important; }
  h3 { font-size: 18px !important; }
  p { font-size: 16px !important; }
}
 
/* ===== Final mandatory typography system ===== */
html body h1 { font-size:28px !important; line-height:1.35 !important; }
html body h2 { font-size:22px !important; line-height:1.4 !important; }
html body h3 { font-size:18px !important; line-height:1.45 !important; }
html body p { font-size:16px !important; line-height:1.8; }
html body .btn,
html body button,
html body input[type="button"],
html body input[type="submit"],
html body .teacher-select,
html body .intl-program-body > a,
html body .program-content > a,
html body .learning-button { font-size:15px !important; }
html body .nav-links a { font-size:15px !important; }
html body .card p,
html body .feature p,
html body .value-card p,
html body .program-content p,
html body .intl-program-body > p,
html body .apps-copy > p,
html body .footer-brand p,
html body .footer-col a,
html body .staff-directory-head p,
html body .quote span { font-size:14px !important; }
html body .eyebrow,
html body .pill,
html body .teacher-role,
html body .teacher-tags span,
html body .program-code,
html body .program-tags span,
html body .program-image > span,
html body .intl-program-code,
html body .intl-program-label,
html body .intl-program-body li,
html body .member-kicker,
html body .apps-kicker,
html body .field label,
html body .footer-bottom-inner,
html body .auth-row,
html body .member-dropdown a,
html body .member-dropdown button,
html body .programs-standards span { font-size:14px !important; }
html body small,
html body .learning-card-label,
html body .learning-subject small,
html body .learning-details,
html body .next-exam small,
html body .store-button small,
html body .social-rail span { font-size:12px !important; }

/* ===== Portal programs page alignment ===== */
.international-programs-page .intl-programs-section { padding-top:82px; background:radial-gradient(circle at 50% 0,rgba(91,43,130,.055),transparent 28%),#fbfafc; }
.international-programs-page .intl-programs-section::before { display:none; }
.international-programs-page .intl-section-head { width:min(100%,820px); display:flex; align-items:center; flex-direction:column; gap:0; margin:0 auto 44px; padding:0 25px 27px; border-bottom:1px solid var(--line); text-align:center; }
.international-programs-page .intl-section-head::after { content:""; position:absolute; right:50%; bottom:-2px; width:86px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--gold),var(--purple-700)); transform:translateX(50%); }
.international-programs-page .intl-section-head > div { display:flex; align-items:center; flex-direction:column; padding:0; }
.international-programs-page .intl-section-head .eyebrow { margin-bottom:7px; }
.international-programs-page .intl-section-head h2 { margin:0; color:var(--purple-900); }
.international-programs-page .intl-section-head > p { max-width:680px; margin:13px auto 0; color:var(--muted); text-align:center; }
.international-programs-page .intl-programs-count { position:static; order:3; display:inline-flex; align-items:center; margin-top:13px; padding:6px 13px; border:1px solid rgba(91,43,130,.13); border-radius:999px; color:var(--purple-700); background:#f3edf7; box-shadow:0 5px 14px rgba(46,17,64,.05); }
.international-programs-page .intl-programs-grid { padding-top:0; }
.programs-gateway-section{padding:75px 0;background:#faf9fc}.programs-gateway{position:relative;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;min-height:430px;border-radius:30px;color:#fff;background:radial-gradient(circle at 15% 20%,#81519a55,transparent 28%),linear-gradient(125deg,#21082f,#4f2269 62%,#704087);box-shadow:0 25px 60px #32104322}.programs-gateway:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000)}.gateway-copy{position:relative;z-index:2;align-self:center;padding:50px}.gateway-copy .eyebrow{color:#e4b346;font-size:14px}.gateway-copy h2{margin:10px 0;font-size:22px;line-height:1.55}.gateway-copy>p{margin:0;color:#dbcce2;font-size:16px;line-height:1.8}.gateway-points{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.gateway-points span{padding:6px 10px;border:1px solid #ffffff20;border-radius:15px;background:#ffffff0b;color:#dfd2e5;font-size:12px}.gateway-cta{display:inline-flex;align-items:center;gap:30px;padding:12px 18px;border-radius:11px;background:#dca32e;color:#291036;font-size:15px;font-weight:800;box-shadow:0 10px 22px #18052035;transition:.25s}.gateway-cta:hover{transform:translateY(-3px);color:#291036}.gateway-cta span{transition:.25s}.gateway-cta:hover span{transform:translateX(-4px)}.gateway-visual{position:relative;min-height:430px}.gateway-orbit{position:absolute;width:330px;height:330px;left:50%;top:50%;border:1px dashed #ffffff25;border-radius:50%;transform:translate(-50%,-50%);animation:gatewaySpin 35s linear infinite}.gateway-orbit:before,.gateway-orbit:after{content:"";position:absolute;border:1px solid #ffffff13;border-radius:50%}.gateway-orbit:before{inset:48px}.gateway-orbit:after{inset:100px}.gateway-core{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:120px;height:120px;border:1px solid #ffffff2c;border-radius:50%;background:#ffffff10;box-shadow:0 20px 40px #19062245;transform:translate(-50%,-50%);backdrop-filter:blur(8px);font-size:17px;font-weight:800}.gateway-core small{font-size:10px;color:#d8c8df}.gateway-program{position:absolute;z-index:3;display:grid;width:155px;padding:15px;border:1px solid #ffffff29;border-radius:16px;color:#fff;box-shadow:0 15px 35px #19062235;transition:.3s}.gateway-program:hover{transform:translateY(-6px);color:#fff}.gateway-program b{font-size:18px}.gateway-program small{font-size:11px;color:#e4d9e9}.gateway-program i{position:absolute;left:13px;top:50%;font-style:normal}.gateway-ig{right:5%;top:13%;background:linear-gradient(135deg,#51266f,#7a4392)}.gateway-sat{left:2%;top:40%;background:linear-gradient(135deg,#07536e,#168eae)}.gateway-ib{right:10%;bottom:9%;background:linear-gradient(135deg,#075446,#218b73)}@keyframes gatewaySpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:850px){.programs-gateway{grid-template-columns:1fr}.gateway-copy{padding:40px}.gateway-visual{min-height:390px}}@media(max-width:560px){.programs-gateway-section{padding:55px 0}.programs-gateway{border-radius:22px}.gateway-copy{padding:28px}.gateway-visual{min-height:340px}.gateway-orbit{width:280px;height:280px}.gateway-program{width:135px;padding:12px}.gateway-core{width:95px;height:95px}.gateway-ig{right:0}.gateway-sat{left:0}.gateway-ib{right:3%}}
@media(max-width:680px){.international-programs-page .intl-programs-section{padding-top:62px}.international-programs-page .intl-section-head{margin-bottom:32px;padding-inline:10px}.international-programs-page .intl-section-head > p{margin-top:10px}}
.international-programs-page .intl-programs-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.international-programs-page .intl-program-card:last-child{grid-column:auto;width:auto}
.program-basics{--program:#2f76c8}
.program-tawjihi{--program:#7a3fc1}
.program-conversation{--program:#a83d6a}
.program-ai{--program:#287c69}
.international-programs-page .program-tawjihi{order:1}
.international-programs-page .program-basics{order:2}
.international-programs-page .program-conversation{order:3}
.international-programs-page .program-ai{order:4}
.programs-api-state{grid-column:1/-1;display:grid;min-height:280px;place-items:center;align-content:center;gap:13px;padding:36px;border:1px solid var(--line);border-radius:25px;background:#fff;color:var(--muted);text-align:center;box-shadow:0 16px 42px rgba(46,17,64,.07)}.programs-api-state.is-loading::before{content:"";width:40px;height:40px;border:4px solid #eee6f2;border-top-color:var(--purple-700);border-radius:50%;animation:programsApiSpin .8s linear infinite}.programs-api-state button{padding:10px 18px;border:0;border-radius:11px;background:var(--purple-700);color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.intl-program-media.is-image-missing img{display:none}@keyframes programsApiSpin{to{transform:rotate(360deg)}}
.program-ai .intl-program-body > a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:48px;
  padding:0 9px 0 8px;
  overflow:hidden;
  border:1px solid rgba(40,124,105,.14);
  background:linear-gradient(135deg,rgba(40,124,105,.08),rgba(40,124,105,.15));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  white-space:nowrap;
  font-size:10.5px;
}
.program-ai .intl-program-body > a strong{
  min-width:0;
  overflow:hidden;
  text-align:center;
  text-overflow:clip;
  white-space:nowrap;
  font:inherit;
}
.international-programs-page .intl-program-body > a{
  justify-content:center;
  text-align:center;
}
.program-ai .intl-program-body > a span{
  display:inline-grid;
  width:26px;
  height:26px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 12px rgba(40,124,105,.15);
  font-size:14px;
}
.program-ai .intl-program-body > a:hover{
  background:linear-gradient(135deg,#287c69,#34947e);
  box-shadow:0 10px 22px rgba(40,124,105,.22);
}
.program-ai .intl-program-body > a:hover span{
  color:#287c69;
}
.showcase-tawjihi{right:3%;top:9%;background:linear-gradient(135deg,#51266f,#7a4392)}
.showcase-basics{left:0;top:27%;background:linear-gradient(135deg,#0d4f68,#218ba7)}
.showcase-conversation{right:2%;bottom:10%;background:linear-gradient(135deg,#541638,#a83d6a)}
.showcase-ai{left:5%;bottom:3%;background:linear-gradient(135deg,#153d36,#287c69)}
.programs-hero h1 > b{color:#fff;font:inherit}
@media(max-width:1100px){.international-programs-page .intl-programs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.international-programs-page .intl-programs-grid{grid-template-columns:1fr}.international-programs-page .intl-program-card:last-child{width:100%}}

/* Student library navigation */
.library-nav{position:relative;display:flex;align-items:center}.library-nav-trigger{display:flex;align-items:center;gap:4px;padding:10px;border:0;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.library-nav-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s}.library-nav.open .library-nav-trigger{color:var(--purple-700)}.library-nav.open .library-nav-trigger svg{transform:rotate(180deg)}
.library-mega{position:absolute;z-index:250;top:calc(100% + 18px);right:50%;width:590px;padding:15px;border:1px solid #e7dfeb;border-radius:18px;background:#fff;box-shadow:0 25px 65px #28103430;transform:translateX(50%);animation:libraryMegaIn .22s ease}.library-mega[hidden]{display:none}@keyframes libraryMegaIn{from{opacity:0;transform:translateX(50%) translateY(-7px) scale(.98)}}.library-mega:before{content:"";position:absolute;right:50%;top:-7px;width:13px;height:13px;border-top:1px solid #e7dfeb;border-right:1px solid #e7dfeb;background:#fff;transform:translateX(50%) rotate(-45deg)}.library-mega header{display:flex;align-items:end;justify-content:space-between;padding:2px 3px 12px;border-bottom:1px solid #eee8f1}.library-mega header>div{display:grid}.library-mega header span{color:#a77724;font-size:9px;font-weight:800}.library-mega header strong{color:#281432;font-size:15px}.library-mega header>small{color:#8d818f;font-size:9px}.library-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.library-mega-grid>a{--lib-color:#5b2876;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px!important;border:1px solid #eee8f0;border-radius:12px;color:#281432!important;background:#fff;transition:.2s}.library-mega-grid>a:hover{border-color:color-mix(in srgb,var(--lib-color) 30%,#eee8f0);background:color-mix(in srgb,var(--lib-color) 7%,#fff);transform:translateY(-2px)}.library-mega-grid>a>i{display:grid;place-items:center;width:41px;height:41px;border-radius:11px;color:#fff;background:var(--lib-color);font-size:11px;font-style:normal;font-weight:900;box-shadow:0 6px 13px color-mix(in srgb,var(--lib-color) 25%,transparent)}.library-mega-grid>a>span{display:grid}.library-mega-grid b{font-size:11px}.library-mega-grid small{color:#887d8c;font-size:8px}.library-mega-grid em{color:var(--lib-color);font-size:16px;font-style:normal}.library-mega-ai{--lib-color:#287c69!important}.library-mega-tawjihi{--lib-color:#633080!important}.library-mega-basics{--lib-color:#2879c9!important}.library-mega-english{--lib-color:#a83d6a!important}
@media(max-width:820px){.library-nav{display:block;width:100%}.library-nav-trigger{justify-content:space-between;width:100%;padding:13px 24px}.library-mega{position:static;width:auto;margin:0 14px 10px;padding:10px;transform:none;box-shadow:none;animation:none}.library-mega:before,.library-mega header{display:none}.library-mega-grid{grid-template-columns:1fr}.library-mega-grid>a{padding:9px!important}.library-mega-grid>a>i{width:35px;height:35px}.library-mega-grid b{font-size:12px}}

/* Fixed student help center */
.help-center-button{position:fixed;z-index:190;right:0;top:58%;display:flex;align-items:center;gap:8px;padding:9px 11px 9px 14px;border:1px solid #e3d6e8;border-right:0;border-radius:16px 0 0 16px;color:#fff;background:linear-gradient(135deg,#5f2a79,#37164a);box-shadow:0 14px 35px #26102f38;transform:translateY(-50%);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;isolation:isolate}.help-center-button:before{content:"";position:absolute;z-index:-1;inset:0;overflow:hidden;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,#ffffff16 48%,transparent 76%);transform:translateX(100%);transition:transform .55s}.help-center-button:hover{color:#fff;box-shadow:0 18px 42px #26102f4a;transform:translateY(-50%) translateX(-4px)}.help-center-button:hover:before{transform:translateX(-100%)}.help-center-button>span{display:grid;place-items:center;width:39px;height:39px;padding:5px;border-radius:11px;background:#fff;box-shadow:0 5px 13px #16091f2b}.help-center-button img{width:100%;height:100%;object-fit:contain}.help-center-button>b{font-size:11px;white-space:nowrap}
@media(max-width:650px){.help-center-button{top:auto;right:13px;bottom:14px;padding:7px 9px;border-right:1px solid #e3d6e8;border-radius:14px;transform:none}.help-center-button:hover{transform:translateY(-3px)}.help-center-button>span{width:35px;height:35px}.help-center-button>b{font-size:10px}}

.help-center{position:fixed;z-index:220;right:0;top:58%;transform:translateY(-50%)}.help-center .help-center-button{position:static;transform:none}.help-center .help-center-button:hover{transform:translateX(-4px)}.help-chevron{margin-right:2px;font-size:13px;font-style:normal;transition:transform .3s}.help-center.open .help-chevron{transform:rotate(180deg)}.help-center-menu{position:absolute;right:12px;bottom:calc(100% + 12px);width:320px;padding:11px;border:1px solid #e4dbe8;border-radius:18px;background:#fff;box-shadow:0 25px 65px #25102f35;transform-origin:bottom right;animation:helpMenuIn .32s cubic-bezier(.2,.8,.2,1)}.help-center-menu[hidden]{display:none}@keyframes helpMenuIn{from{opacity:0;transform:translateY(13px) scale(.94)}}.help-center-menu:after{content:"";position:absolute;right:25px;bottom:-7px;width:13px;height:13px;border-right:1px solid #e4dbe8;border-bottom:1px solid #e4dbe8;background:#fff;transform:rotate(45deg)}.help-center-menu header{display:grid;padding:6px 8px 11px;border-bottom:1px solid #eee9f0}.help-center-menu header span{color:#a57420;font-size:9px;font-weight:800}.help-center-menu header b{color:#2d1936;font-size:13px}.help-option{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-top:8px;padding:10px;border:1px solid #ece6ef;border-radius:12px;color:#2e1b37!important;background:#fff;transition:.25s}.help-option:hover{transform:translateX(-3px);box-shadow:0 9px 21px #32104310}.help-option>i{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;font-style:normal;font-weight:900}.help-option.whatsapp>i{color:#fff;background:#2aaa68}.help-option.whatsapp svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.help-option.faq>i{color:#fff;background:linear-gradient(135deg,#75418e,#4c1e64);font-size:17px}.help-option>span{display:grid}.help-option b{font-size:10px}.help-option small{color:#8a7f8e;font-size:8px}.help-option>em{color:#66317e;font-size:16px;font-style:normal}
@media(max-width:650px){.help-center{top:auto;right:13px;bottom:14px;transform:none}.help-center .help-center-button{right:auto;bottom:auto}.help-center-menu{right:0;width:min(320px,calc(100vw - 26px))}}

/* Help center: detached bottom-left placement */
.help-center{top:auto;right:auto;bottom:26px;left:26px;transform:none}.help-center .help-center-button{border:1px solid #8bd4dc;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0d8795,#075866);box-shadow:0 15px 34px #0758663d}.help-center .help-center-button:hover{box-shadow:0 20px 42px #07586650;transform:translateY(-4px)}.help-center .help-center-button>span{background:#eafcff;box-shadow:0 5px 13px #053e472b}.help-center-menu{right:auto;left:0;transform-origin:bottom left}.help-center-menu:after{right:auto;left:25px}.help-center.open .help-center-button{box-shadow:0 18px 40px #07586655}.help-center.open .help-chevron{color:#b9f3f6}
@media(max-width:650px){.help-center{right:auto;bottom:70px;left:14px}.help-center-menu{right:auto;left:0;width:min(320px,calc(100vw - 28px))}}

.help-center .help-center-button>span{padding:0;border:0;background:transparent;box-shadow:none}.help-center .help-center-button>span img{filter:brightness(0) invert(1);opacity:.96}

/* Premium help launcher */
.help-center .help-center-button{position:relative;min-width:178px;min-height:62px;overflow:hidden;justify-content:center;gap:11px;padding:10px 20px 10px 16px;border:1px solid #58cad47a;border-radius:19px;background:radial-gradient(circle at 15% 15%,#25bac455,transparent 32%),linear-gradient(135deg,#0b9aa6 0%,#087582 48%,#064b59 100%);box-shadow:0 16px 36px #064b5940,0 4px 10px #064b5929,inset 0 1px #ffffff42}.help-center .help-center-button:after{content:"";position:absolute;top:-70%;left:-30%;width:55px;height:150px;background:linear-gradient(90deg,transparent,#ffffff34,transparent);transform:rotate(24deg) translateX(-90px);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.help-center .help-center-button:hover:after{transform:rotate(24deg) translateX(270px)}.help-center .help-center-button:hover{border-color:#8ee8ee9c;background:radial-gradient(circle at 15% 15%,#44d3da66,transparent 34%),linear-gradient(135deg,#0daab6,#087a87 48%,#064c59);box-shadow:0 21px 45px #064b5952,0 5px 13px #064b5933,inset 0 1px #ffffff50;transform:translateY(-4px)}.help-center .help-center-button>span{position:relative;z-index:1;width:42px;height:42px;flex:0 0 42px}.help-center .help-center-button>span:after{content:"";position:absolute;right:0;bottom:2px;width:9px;height:9px;border:2px solid #087582;border-radius:50%;background:#69e3b5;box-shadow:0 0 0 3px #69e3b523}.help-center .help-center-button>span img{width:100%;height:100%;object-fit:contain}.help-center .help-center-button>b{position:relative;z-index:1;font-size:12px;font-weight:800;letter-spacing:.1px;text-shadow:0 1px 2px #04343c66}.help-center.open .help-center-button{border-color:#8ee8eeb0;box-shadow:0 22px 48px #064b595c,0 0 0 4px #0b9aa617}
@media(max-width:650px){.help-center .help-center-button{min-width:164px;min-height:57px;padding:8px 15px}.help-center .help-center-button>span{width:38px;height:38px;flex-basis:38px}.help-center .help-center-button>b{font-size:11px}}

/* Refined help menu options */
.help-center-menu .help-option{position:relative;display:flex;min-height:68px;align-items:center;gap:15px;overflow:hidden;margin-top:10px;padding:11px 15px;border:1px solid #e8e2eb;border-radius:17px;background:linear-gradient(115deg,#fff 0%,#fdfbfe 62%,#f6f0f8 100%);box-shadow:0 5px 16px #3514420a;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
.help-center-menu .help-option:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffffffb8 50%,transparent 65%);transform:translateX(110%);transition:transform .65s ease}
.help-center-menu .help-option:hover{border-color:#b9dfe2;box-shadow:0 12px 26px #194c5418;transform:translateY(-2px)}
.help-center-menu .help-option:hover:before{transform:translateX(-110%)}
.help-center-menu .help-option>i{position:relative;z-index:1;width:47px;height:47px;flex:0 0 47px;border:0;border-radius:0;background:transparent!important}
.help-center-menu .help-option>i img{display:block;width:100%;height:100%;object-fit:contain}
.help-center-menu .help-option>b{position:relative;z-index:1;color:#2e1937;font-size:14px;font-weight:800;line-height:1.5}
.help-center-menu .help-option.whatsapp:hover>b{color:#087d72}
.help-center-menu .help-option.faq:hover>b{color:#66317e}
@media(max-width:650px){.help-center-menu .help-option{min-height:63px;padding:9px 12px}.help-center-menu .help-option>i{width:43px;height:43px;flex-basis:43px}.help-center-menu .help-option>b{font-size:13px}}

.help-center,.help-center button,.help-center a{font-family:var(--font-sans,"Cairo",sans-serif)}.help-center .help-center-button{font:inherit}.help-center .help-center-button>b{font-family:inherit;font-size:14px;letter-spacing:0}
@media(max-width:650px){.help-center .help-center-button>b{font-size:13px}}
.help-center{display:grid;gap:10px}.activate-card-launcher{position:relative;display:flex;min-width:178px;min-height:58px;align-items:center;justify-content:center;gap:11px;overflow:hidden;padding:9px 18px;border:1px solid #d9b75c;border-radius:18px;color:#32133f!important;background:linear-gradient(135deg,#fff8df,#edbd43);box-shadow:0 15px 34px #9b701f35;font:inherit;transition:.28s}.activate-card-launcher:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#ffffffa3 48%,transparent 68%);transform:translateX(120%);transition:.65s}.activate-card-launcher:hover{color:#32133f!important;transform:translateY(-4px);box-shadow:0 20px 42px #9b701f45}.activate-card-launcher:hover:before{transform:translateX(-120%)}.activate-card-launcher>span{position:relative;z-index:1;display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#693482,#3b174d);box-shadow:0 7px 15px #3b174d38}.activate-card-launcher svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.activate-card-launcher>b{position:relative;z-index:1;font-size:14px;font-weight:900;white-space:nowrap}@media(max-width:650px){.activate-card-launcher{min-width:164px;min-height:54px;padding:8px 14px}.activate-card-launcher>span{width:36px;height:36px}.activate-card-launcher>b{font-size:13px}}

/* Unified student action dock */
.help-center{right:auto;bottom:18px;left:18px;display:grid;gap:7px;width:194px;padding:8px;border:1px solid #e4dce7;border-radius:24px;background:#ffffffd9;box-shadow:0 18px 48px #26102f24;backdrop-filter:blur(14px);transform:none}.help-center .activate-card-launcher,.help-center .help-center-button{width:100%;min-width:0;min-height:54px;height:54px;justify-content:flex-start;gap:10px;margin:0;padding:7px 11px;border-radius:16px;box-sizing:border-box}.help-center .activate-card-launcher{border:1px solid #e2bd55;background:linear-gradient(135deg,#fff7db 0%,#f5cf62 58%,#eebc37 100%);box-shadow:0 7px 18px #aa7b2026}.help-center .help-center-button{border:1px solid #64cbd3;background:linear-gradient(135deg,#0c9eaa,#087783 55%,#075764);box-shadow:0 7px 18px #07586629}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:11px}.help-center .activate-card-launcher>span{background:linear-gradient(135deg,#6b3484,#421753);box-shadow:0 5px 12px #42175332}.help-center .help-center-button>span{padding:2px;background:transparent}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{flex:1;font-size:13px;text-align:center;text-shadow:none}.help-center .activate-card-launcher:hover,.help-center .help-center-button:hover{transform:translateY(-2px)}.help-center .activate-card-launcher:hover{box-shadow:0 11px 23px #aa7b2035}.help-center .help-center-button:hover{box-shadow:0 11px 23px #07586638}.help-center-menu{bottom:calc(100% + 10px)}
@media(max-width:650px){.help-center{right:auto;bottom:12px;left:12px;width:166px;padding:6px;border-radius:20px}.help-center .activate-card-launcher,.help-center .help-center-button{min-height:48px;height:48px;padding:6px 8px;border-radius:14px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:34px;height:34px;flex-basis:34px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:11px}.help-center-menu{left:0;width:min(320px,calc(100vw - 24px))}}

/* Final dock positioning: clear inherited fixed-button offsets */
.help-center{z-index:420;top:65%;right:auto;bottom:auto;left:24px;width:206px;padding:9px;border-color:#ddd2e2;background:#fffffff2;box-shadow:0 22px 55px #28103230,0 5px 16px #28103214;transform:translateY(-50%)}.help-center .help-center-button{position:relative;inset:auto;top:auto;right:auto;bottom:auto;left:auto;transform:none}.help-center .activate-card-launcher,.help-center .help-center-button{min-height:58px;height:58px;padding:8px 12px;border-radius:17px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:40px;height:40px;flex-basis:40px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:14px}.help-center .help-center-button:hover{transform:translateY(-2px)}
@media(max-width:650px){.help-center{top:auto;right:auto;bottom:18px;left:14px;width:178px;padding:7px;transform:none}.help-center .activate-card-launcher,.help-center .help-center-button{min-height:51px;height:51px;padding:7px 9px;border-radius:14px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:35px;height:35px;flex-basis:35px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:12px}}

/* Responsive bottom action dock */
.help-center{top:auto;right:auto;bottom:max(22px,env(safe-area-inset-bottom));left:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(400px,calc(100vw - 44px));padding:8px;border-radius:22px;transform:none}.help-center .activate-card-launcher,.help-center .help-center-button{min-height:56px;height:56px;justify-content:center;padding:7px 12px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{flex:0 1 auto}.help-center-menu{right:auto;bottom:calc(100% + 10px);left:0}
@media(max-width:650px){.help-center{right:14px;bottom:max(12px,env(safe-area-inset-bottom));left:14px;width:auto;gap:6px;padding:6px;border-radius:18px}.help-center .activate-card-launcher,.help-center .help-center-button{min-height:50px;height:50px;gap:7px;padding:6px 8px;border-radius:13px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:34px;height:34px;flex-basis:34px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:11px}.help-center-menu{right:auto;left:0;width:min(320px,calc(100vw - 28px))}}
@media(max-width:380px){.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:31px;height:31px;flex-basis:31px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:10px}}

/* Stack the two bottom actions */
.help-center{left:30px;grid-template-columns:1fr;width:206px}.help-center .activate-card-launcher,.help-center .help-center-button{width:100%}
@media(max-width:650px){.help-center{right:auto;left:20px;width:178px}}

/* Keep every activation-flow control on the site's Arabic typeface */
.activation-page,.activation-page button,.activation-page input,.activation-page select,.activation-page textarea,.activation-page a,.activation-page .choice-card,.activation-page .choice-card h3,.activation-page .choice-card small{font-family:var(--font-sans,"Expo Arabic",system-ui,sans-serif)!important}

/* Precisely aligned launchers and premium activation treatment */
.help-center .activate-card-launcher,.help-center .help-center-button{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;justify-content:stretch;gap:10px;padding:7px 12px;direction:rtl}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{grid-column:1;width:42px;height:42px;min-width:42px;max-width:42px;flex-basis:42px;margin:0;place-self:center}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{grid-column:2;width:100%;margin:0;text-align:center;line-height:1.35}.help-center .activate-card-launcher{isolation:isolate;overflow:hidden;border:1px solid #c89c35;color:#fff!important;background:radial-gradient(circle at 12% 0,#8b50a4 0,transparent 36%),linear-gradient(135deg,#6c3384 0%,#542168 55%,#351244 100%);box-shadow:0 9px 21px #41165135,inset 0 1px #ffffff28}.help-center .activate-card-launcher:after{content:"";position:absolute;z-index:-1;top:0;right:0;width:5px;height:100%;background:linear-gradient(#f6d978,#d9a928,#f3cf63)}.help-center .activate-card-launcher>span{color:#4a195d;background:linear-gradient(145deg,#fff7d5,#edc54f);box-shadow:0 6px 15px #1e09262d,inset 0 1px #fff}.help-center .activate-card-launcher svg{width:24px;height:24px;stroke-width:1.9}.help-center .activate-card-launcher>b{color:#fff;text-shadow:0 1px 2px #21082b50}.help-center .activate-card-launcher:hover{border-color:#e5bd4e;color:#fff!important;background:radial-gradient(circle at 12% 0,#9c5ab5 0,transparent 38%),linear-gradient(135deg,#783b90,#5a246e 55%,#3b154a);box-shadow:0 13px 28px #41165146,inset 0 1px #ffffff30}.help-center .help-center-button>span{padding:1px;box-sizing:border-box}.help-center .help-center-button>span img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:650px){.help-center .activate-card-launcher,.help-center .help-center-button{grid-template-columns:36px minmax(0,1fr);gap:7px;padding:6px 9px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:36px;height:36px;min-width:36px;max-width:36px;flex-basis:36px}.help-center .activate-card-launcher svg{width:21px;height:21px}}

/* Clean balanced student dock */
.help-center{width:198px;gap:6px;padding:7px;border:1px solid #e6dfe9;border-radius:22px;background:#ffffffed;box-shadow:0 16px 42px #28103224,0 3px 9px #2810320d;backdrop-filter:blur(16px)}.help-center .activate-card-launcher,.help-center .help-center-button{grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:52px;height:52px;padding:6px 10px;border-radius:15px;box-shadow:none}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:38px;height:38px;min-width:38px;max-width:38px;flex-basis:38px;border-radius:50%;box-sizing:border-box}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:13px;font-weight:800;letter-spacing:0;text-shadow:none}.help-center .activate-card-launcher{border:1px solid #e5d9e9;color:#4a1b5d!important;background:linear-gradient(180deg,#fff,#fbf8fc);box-shadow:inset 0 3px #e4ba42}.help-center .activate-card-launcher:before,.help-center .activate-card-launcher:after{display:none}.help-center .activate-card-launcher>span{border:1px solid #e4c25d;color:#4b1c5e;background:linear-gradient(145deg,#fff9df,#f0cc64);box-shadow:0 4px 10px #9b731b22}.help-center .activate-card-launcher>b{color:#4a1b5d;text-shadow:none}.help-center .activate-card-launcher:hover{border-color:#ceb9d7;color:#411652!important;background:#fff;box-shadow:0 8px 18px #3f174d15,inset 0 3px #d7a92f;transform:translateY(-1px)}.help-center .help-center-button{border:1px solid #168e99;background:linear-gradient(135deg,#0b98a4,#08737f);box-shadow:0 6px 14px #07586622}.help-center .help-center-button>span{padding:2px;border:1px solid #ffffff38;background:#ffffff12}.help-center .help-center-button>b{color:#fff}.help-center .help-center-button:hover{border-color:#31b7c1;background:linear-gradient(135deg,#0ca5b1,#087985);box-shadow:0 9px 19px #0758662f;transform:translateY(-1px)}
@media(max-width:650px){.help-center{width:174px;gap:5px;padding:6px;border-radius:19px}.help-center .activate-card-launcher,.help-center .help-center-button{grid-template-columns:34px minmax(0,1fr);gap:7px;min-height:48px;height:48px;padding:5px 8px;border-radius:13px}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{width:34px;height:34px;min-width:34px;max-width:34px;flex-basis:34px}.help-center .activate-card-launcher>b,.help-center .help-center-button>b{font-size:11px}}

/* Frameless stacked launchers */
.help-center{width:184px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;gap:7px}.help-center .activate-card-launcher,.help-center .help-center-button{width:184px;min-width:184px;max-width:184px;height:52px;min-height:52px;max-height:52px;margin:0;box-sizing:border-box}.help-center-menu{bottom:calc(100% + 12px)}
@media(max-width:650px){.help-center{width:170px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:6px}.help-center .activate-card-launcher,.help-center .help-center-button{width:170px;min-width:170px;max-width:170px;height:48px;min-height:48px;max-height:48px}}

/* Subtle finishing touches without changing the dock layout */
.help-center{isolation:isolate;box-shadow:0 18px 45px #28103225,0 3px 10px #2810320d,inset 0 1px #fff}.help-center .activate-card-launcher,.help-center .help-center-button{overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,background .22s,box-shadow .22s}.help-center .activate-card-launcher>span,.help-center .help-center-button>span{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .22s}.help-center .activate-card-launcher svg,.help-center .help-center-button img{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.help-center .activate-card-launcher:hover>span,.help-center .help-center-button:hover>span{transform:scale(1.045)}.help-center .activate-card-launcher:hover svg{transform:translateX(-1px)}.help-center .help-center-button:hover img{transform:scale(1.04)}.help-center .activate-card-launcher:active,.help-center .help-center-button:active{transform:translateY(0) scale(.985)}.help-center .activate-card-launcher:focus-visible,.help-center .help-center-button:focus-visible{outline:3px solid #6c348326;outline-offset:3px}.help-center .help-center-button:focus-visible{outline-color:#0b8b962b}.help-center .activate-card-launcher>span:after{content:"";position:absolute;inset:3px;border:1px solid #ffffffa6;border-radius:50%;pointer-events:none}


