@font-face { font-family: "ELA Manrope"; src: url("../fonts/manrope-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Manrope"; src: url("../fonts/manrope-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Manrope"; src: url("../fonts/manrope-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Manrope"; src: url("../fonts/manrope-800.ttf") format("truetype"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Noto Arabic"; src: url("../fonts/noto-arabic-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Noto Arabic"; src: url("../fonts/noto-arabic-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Noto Arabic"; src: url("../fonts/noto-arabic-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "ELA Noto Arabic"; src: url("../fonts/noto-arabic-800.ttf") format("truetype"); font-weight: 800; font-style: normal; font-display: swap; }
:root {
  --navy: #071f4f; --navy-2: #0c2f70; --red: #d20d24; --paper: #f5f7fb; --white: #fdfefe;
  --ink: #071634; --muted: #52627d; --line: #cbd5e5; --soft-blue: #e7eef9; --soft-red: #f9e7ea;
  --radius: 14px; --shadow: 0 24px 70px rgba(7, 31, 79, .14); --header: 96px;
  --display: "ELA Manrope", "Segoe UI", sans-serif; --body: "ELA Manrope", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 1.25rem); }
:target { scroll-margin-top: calc(var(--header) + 1.25rem); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
::selection { background: var(--red); color: var(--white); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid #f15b6b; outline-offset: 4px; }
.skip-link { position: fixed; inset-inline-start: 1rem; top: -5rem; z-index: 100; background: var(--white); padding: .75rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 30; height: var(--header); display: flex; align-items: center; gap: 1.5rem; padding: 0 clamp(1rem, 4vw, 4.5rem); background: rgba(245, 247, 251, .94); border-bottom: 1px solid rgba(7, 31, 79, .12); backdrop-filter: blur(18px); transition: height .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.brand { display: flex; align-items: center; gap: .7rem; min-width: max-content; }
.brand img { width: 70px; height: 70px; object-fit: contain; border-radius: 50%; }
.brand strong { display: block; color: var(--navy); font-size: 1.15rem; letter-spacing: -.02em; line-height: 1; }
.brand small { display: block; margin-top: .25rem; font-size: .67rem; color: var(--muted); line-height: 1; }
.desktop-nav { margin-inline: auto; display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2.25rem); white-space: nowrap; }
.nav-link { position: relative; display: inline-flex; align-items: center; gap: .45rem; min-height: 46px; border: 0; background: none; padding: .5rem .25rem; color: #263854; cursor: pointer; font-size: 1.05rem; font-weight: 700; }
.nav-link::after { content: ""; position: absolute; inset-inline: 0; bottom: 4px; height: 2.5px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
[dir="rtl"] .nav-link::after { transform-origin: right; }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.chevron { width: 8px; height: 8px; border-inline-end: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.nav-programs[aria-expanded="true"] .chevron { transform: rotate(225deg) translate(-2px, -1px); }
.nav-dropdown { position: relative; }
.program-menu { position: absolute; top: calc(100% + 12px); inset-inline-start: 50%; width: 360px; padding: .55rem; transform: translateX(-50%) translateY(-8px); opacity: 0; pointer-events: none; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); border: 1px solid rgba(7,31,79,.1); transition: opacity .2s ease, transform .2s ease; }
[dir="rtl"] .program-menu { transform: translateX(50%) translateY(-8px); }
.program-menu.is-open { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
[dir="rtl"] .program-menu.is-open { transform: translateX(50%) translateY(0); }
.program-menu a { display: grid; padding: .8rem .9rem; border-radius: 10px; transition: background .2s ease; }
.program-menu a:hover { background: var(--soft-blue); }
.program-menu strong { font-size: .9rem; }
.program-menu span { color: var(--muted); font-size: .75rem; }
.header-actions { display: flex; align-items: center; gap: .85rem; }
.language-toggle, .footer-bottom button { border: 0; background: none; color: var(--navy); font-size: .92rem; font-weight: 750; cursor: pointer; padding: .55rem; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .8rem 1.25rem; border: 0; border-radius: 999px; background: var(--red); color: var(--white); font-weight: 800; white-space: nowrap; cursor: pointer; box-shadow: 0 10px 28px rgba(210,13,36,.22); transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.button:hover { transform: translateY(-2px); background: #b8091d; box-shadow: 0 14px 32px rgba(210,13,36,.28); }
.button:active { transform: translateY(0) scale(.98); }
.button-secondary { background: transparent; color: var(--navy); box-shadow: inset 0 0 0 1.5px var(--navy); }
.button-secondary:hover { background: var(--navy); color: var(--white); box-shadow: none; }
.button-small { min-height: 44px; padding: .65rem 1.35rem; font-size: .88rem; font-weight: 800; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(7,31,79,.2); border-radius: 50%; background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { width: 18px; height: 1.5px; background: var(--navy); }
.mobile-menu { position: fixed; inset: 0; z-index: 50; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.25rem, 4vw, 2rem); background: radial-gradient(circle at 15% 15%, rgba(210, 13, 36, 0.22), transparent 45%), radial-gradient(circle at 85% 85%, rgba(12, 47, 112, 0.85), transparent 50%), linear-gradient(180deg, #071f4f 0%, #031028 100%); color: var(--white); transform: translateX(100%); visibility: hidden; transition: transform .38s cubic-bezier(.16,1,.3,1), visibility .38s; overflow-y: auto; }
[dir="rtl"] .mobile-menu { transform: translateX(-100%); }
.mobile-menu.is-open { transform: translateX(0); visibility: visible; }
.mobile-menu-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.mobile-menu-brand { display: flex; align-items: center; gap: .75rem; }
.mobile-menu-brand img { width: 44px; height: 44px; border-radius: 50%; object-fit: contain; box-shadow: 0 4px 14px rgba(0,0,0,.35); background: var(--white); }
.mobile-menu-brand-text { display: flex; flex-direction: column; }
.mobile-menu-brand-text strong { color: var(--white); font-size: .95rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.mobile-menu-brand-text small { color: #cbd8ef; font-size: .72rem; letter-spacing: .02em; }
.mobile-menu-close-btn { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--white); font-size: 1.1rem; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.mobile-menu-close-btn:hover { background: rgba(255,255,255,.2); transform: scale(1.05); }
.mobile-menu-nav { display: flex; flex-direction: column; gap: .75rem; padding: 2rem 0; }
.mobile-menu-nav > a { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.35rem; border-radius: 14px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: var(--white); text-decoration: none; font-size: 1.35rem; font-weight: 750; font-family: var(--display); letter-spacing: -.02em; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.mobile-menu-nav > a.is-active, .mobile-menu-nav > a:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.3); transform: translateX(4px); }
[dir="rtl"] .mobile-menu-nav > a.is-active, [dir="rtl"] .mobile-menu-nav > a:hover { transform: translateX(-4px); }
.mobile-menu-nav > a.is-active .mobile-nav-num { color: #ff3b50; }
.mobile-nav-num { font-size: .85rem; font-weight: 800; color: #8ba2c7; font-family: var(--body); letter-spacing: .05em; }
.mobile-nav-arrow { font-size: 1.2rem; color: rgba(255, 255, 255, 0.6); transition: transform .2s ease, color .2s ease; }
[dir="rtl"] .mobile-nav-arrow { transform: scaleX(-1); }
.mobile-menu-nav > a:hover .mobile-nav-arrow { color: #ff3b50; transform: translateX(3px); }
[dir="rtl"] .mobile-menu-nav > a:hover .mobile-nav-arrow { transform: scaleX(-1) translateX(3px); }
.mobile-menu-footer { display: flex; flex-direction: column; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.mobile-cta-btn { background: var(--red); box-shadow: 0 10px 28px rgba(210, 13, 36, 0.35); }
.mobile-menu-lang-row { display: flex; justify-content: center; }
.mobile-lang-toggle { color: #c9d7ee; font-size: .92rem; font-weight: 750; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: .55rem 1.4rem; background: rgba(255,255,255,.07); }
.mobile-lang-toggle:hover { background: rgba(255,255,255,.16); color: var(--white); }
body[data-page="home"] .site-header { height: var(--header); color: var(--white); background: transparent; border-bottom-color: transparent; box-shadow: none; backdrop-filter: none; }
body[data-page="home"] .brand strong, body[data-page="home"] .brand small, body[data-page="home"] .nav-link, body[data-page="home"] .language-toggle { color: var(--white); }
body[data-page="home"] .brand { gap: .55rem; }
body[data-page="home"] .brand img { width: 70px; height: 70px; }
body[data-page="home"] .brand strong { font-size: 1rem; letter-spacing: .04em; }
body[data-page="home"] .brand small { display: none; }
body[data-page="home"] .desktop-nav { gap: clamp(1.1rem, 2.2vw, 2.25rem); }
body[data-page="home"] .nav-link { min-height: 46px; color: var(--white); font-size: 1.05rem; font-weight: 700; text-shadow: 0 1px 12px rgba(3,14,34,.35); }
body[data-page="home"] .header-actions .button-small { min-height: 44px; padding: .65rem 1.4rem; background: var(--white); color: var(--navy); font-size: .88rem; font-weight: 800; border-radius: 999px; box-shadow: 0 10px 28px rgba(3,14,34,.28); border: 1.5px solid rgba(255,255,255,.9); transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease; }
body[data-page="home"] .header-actions .button-small:hover { transform: translateY(-2px); background: var(--red); color: var(--white); border-color: var(--red); box-shadow: 0 12px 32px rgba(210,13,36,.4); }
body[data-page="home"] .site-header.is-scrolled { background: rgba(5, 20, 48, .96); border-bottom-color: rgba(255,255,255,.12); box-shadow: 0 12px 32px rgba(3,14,34,.18); backdrop-filter: blur(18px); }
body[data-page="home"] .site-header.is-scrolled .header-actions .button-small { background: var(--red); color: var(--white); border-color: var(--red); box-shadow: 0 8px 24px rgba(210,13,36,.35); }
body[data-page="home"] .site-header.is-scrolled .header-actions .button-small:hover { background: #b8091d; border-color: #b8091d; transform: translateY(-2px); }
body[data-page="home"] .menu-toggle { border-color: rgba(255,255,255,.45); }
body[data-page="home"] .menu-toggle span { background: var(--white); }
main { overflow: clip; }
.container { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.hero { position: relative; min-height: 100dvh; display: grid; align-items: stretch; overflow: hidden; background: var(--navy); }
.hero-grid { position: relative; min-height: 100dvh; display: grid; }
.hero-copy { position: relative; z-index: 2; width: min(100% - 2rem, 1240px); margin-inline: auto; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 100dvh; padding: calc(var(--header) + 2rem) 0 clamp(8.5rem, 18vh, 13.5rem); }
.hero-copy .hero-eyebrow { max-width: none; margin: 0 0 1.25rem; color: #ff3b50; font-size: clamp(.88rem, 1.1vw, 1rem); font-weight: 800; letter-spacing: .15em; line-height: 1.25; text-transform: uppercase; }
.hero-copy h1, .page-hero h1 { max-width: 14ch; margin: 0; color: var(--navy); font-family: var(--display); font-size: clamp(3.15rem, 4.4vw, 4.4rem); line-height: .95; letter-spacing: -.04em; }
.hero-copy h1 { max-width: 13ch; color: var(--white); font-size: clamp(3.5rem, 5.35vw, 5rem); font-weight: 600; letter-spacing: -.055em; }
.hero-copy h1 strong { color: inherit; font-weight: inherit; }
.hero-copy p { max-width: 46ch; margin: 1.4rem 0 0; color: #e9edf3; font-size: clamp(1rem, 1.18vw, 1.12rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-actions .button:first-child { background: var(--white); color: var(--navy); box-shadow: 0 12px 34px rgba(3,14,34,.25); }
.hero-actions .button:first-child:hover { background: var(--soft-blue); }
.hero-actions .button-secondary { color: var(--white); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.78); }
.hero-actions .button-secondary:hover { background: var(--white); color: var(--navy); }
.hero-media { position: absolute; inset: 0; z-index: 0; min-height: 100%; overflow: hidden; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,14,34,.84) 0%, rgba(3,14,34,.56) 34%, rgba(3,14,34,.14) 64%, rgba(3,14,34,.06) 100%), linear-gradient(180deg, rgba(3,14,34,.34) 0%, transparent 28%, rgba(3,14,34,.58) 100%); pointer-events: none; }
[dir="rtl"] .hero-media::after { background: linear-gradient(-90deg, rgba(3,14,34,.84) 0%, rgba(3,14,34,.56) 34%, rgba(3,14,34,.14) 64%, rgba(3,14,34,.06) 100%), linear-gradient(180deg, rgba(3,14,34,.34) 0%, transparent 28%, rgba(3,14,34,.58) 100%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.audience-switcher { position: relative; z-index: 3; padding: clamp(1.5rem, 3vw, 2.25rem) 0; background: var(--white); border-bottom: 1px solid var(--line); }
.audience-switcher-inner { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.audience-switcher-full { padding: 0; border-bottom: 0; }
.audience-switcher-full .audience-switcher-inner { width: 100%; }
.audience-switcher-full .audience-routes { border-inline: 0; border-radius: 0; }
.audience-switcher-label { margin: 0 0 .8rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.audience-routes { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.audience-route { position: relative; min-width: 0; min-height: 112px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.25rem clamp(1rem, 2vw, 1.5rem); background: var(--white); transition: color .22s ease, background .22s ease; }
.audience-route + .audience-route { border-inline-start: 1px solid var(--line); }
.audience-route::after { content: ""; position: absolute; inset: auto 1.25rem 0; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .25s cubic-bezier(.16,1,.3,1); }
[dir="rtl"] .audience-route::after { transform-origin: right; }
.audience-route:hover, .audience-route.is-current { background: var(--soft-blue); }
.audience-route:hover::after, .audience-route.is-current::after { transform: scaleX(1); }
.audience-route-number { align-self: start; padding-top: .15rem; color: var(--red); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.audience-route-copy { min-width: 0; display: grid; gap: .25rem; }
.audience-route-copy strong { color: var(--navy); font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.15; letter-spacing: -.02em; }
.audience-route-copy small { overflow: hidden; color: var(--muted); font-size: .78rem; line-height: 1.35; text-overflow: ellipsis; }
.audience-route-arrow { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease; }
.audience-route-arrow::before { content: "\2192"; font-size: 1rem; line-height: 1; }
[dir="rtl"] .audience-route-arrow::before { content: "\2190"; }
.audience-route:hover .audience-route-arrow, .audience-route.is-current .audience-route-arrow { border-color: var(--navy); background: var(--navy); color: var(--white); transform: translateX(3px); }
[dir="rtl"] .audience-route:hover .audience-route-arrow, [dir="rtl"] .audience-route.is-current .audience-route-arrow { transform: translateX(-3px); }
.audience-route:focus-visible { z-index: 2; outline-offset: -4px; }
.page-hero { position: relative; min-height: 66dvh; padding: calc(var(--header) + 4.5rem) 0 5rem; display: flex; align-items: center; color: var(--white); background: radial-gradient(circle at 85% 25%, rgba(210,13,36,0.14), transparent 45%), linear-gradient(180deg, #071f4f 0%, #041433 100%); }
.page-hero::after { content: ""; position: absolute; inset: 12% -8% auto auto; width: clamp(260px,35vw,540px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: inset 0 0 0 7vw rgba(255,255,255,.02); pointer-events: none; }
.section-badge-hero { background: rgba(255, 255, 255, .12); color: var(--white); border: 1px solid rgba(255, 255, 255, .2); margin-bottom: 1.5rem; }
.section-badge-navy { background: rgba(255, 255, 255, .1); color: var(--white); border: 1px solid rgba(255, 255, 255, .16); }
.page-hero h1 { color: var(--white); max-width: 14ch; }
.page-hero p, .page-hero-lead { max-width: 42rem; margin: 1.25rem 0 2rem; color: #cdd9ed; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.6; }
.page-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.button-secondary-light { background: rgba(255, 255, 255, .1); color: var(--white); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.button-secondary-light:hover { background: var(--white); color: var(--navy); }

.programs-hero { position: relative; min-height: 82dvh; padding: calc(var(--header) + 4.5rem) 0 5rem; display: flex; align-items: center; color: var(--white); background: #071f4f; overflow: hidden; }
.programs-hero-ambient { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 18% 32%, rgba(210, 13, 36, 0.18), transparent 42%), radial-gradient(circle at 85% 65%, rgba(12, 47, 112, 0.8), transparent 50%), linear-gradient(180deg, #071f4f 0%, #031028 100%); }
.programs-hero-ambient::after { content: ""; position: absolute; inset: 10% -6% auto auto; width: clamp(280px, 40vw, 560px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50%; box-shadow: inset 0 0 0 7vw rgba(255, 255, 255, 0.02); }
.programs-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.programs-hero-content .hero-eyebrow { color: #ff3b50; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.25rem; display: inline-block; }
.programs-hero-content h1 { color: var(--white); font-family: var(--display); font-size: clamp(2.75rem, 4.4vw, 4.3rem); line-height: 1.03; letter-spacing: -.038em; margin: 0 0 1.35rem; }
.programs-hero-lead { max-width: 38rem; margin: 0 0 2rem; color: #c9d7ee; font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.6; }
.programs-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.25rem; }
.programs-hero-highlights { display: flex; flex-wrap: wrap; gap: .85rem 1.75rem; border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: 1.75rem; }
.hero-highlight-item { display: inline-flex; align-items: center; gap: .55rem; color: #d6e2f5; font-size: .88rem; font-weight: 650; }
.hero-highlight-icon { color: #ff3b50; font-weight: 850; font-size: .95rem; }
.programs-hero-deck { position: relative; }
.hero-deck-card-wrapper { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--radius); padding: clamp(1.5rem, 2.5vw, 2.25rem); backdrop-filter: blur(16px); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); }
.hero-deck-badge { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #ff7d8b; margin-bottom: 1.25rem; }
.hero-deck-dot { width: 7px; height: 7px; border-radius: 50%; background: #ff3b50; }
.hero-deck-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1.15rem 1.25rem; border-radius: 12px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.09); margin-bottom: .85rem; transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.hero-deck-card:last-child { margin-bottom: 0; }
.hero-deck-card:hover { transform: translateX(4px); background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.28); }
[dir="rtl"] .hero-deck-card:hover { transform: translateX(-4px); }
.deck-card-num { width: 36px; height: 36px; border-radius: 50%; background: var(--navy); border: 1px solid rgba(255, 255, 255, 0.22); color: var(--white); display: flex; align-items: center; justify-content: center; font-size: .82rem; font-weight: 850; flex-shrink: 0; }
.deck-card-header { display: flex; align-items: center; }
.deck-card-header strong { color: var(--white); font-size: 1.02rem; font-weight: 750; }
.deck-card-tag { padding: .2rem .55rem; border-radius: 999px; background: rgba(255, 255, 255, 0.14); color: #c9d7ee; font-size: .7rem; font-weight: 700; margin-inline-start: .6rem; }
.deck-card-body p { margin: .25rem 0 0; color: #a9bcda; font-size: .82rem; line-height: 1.45; }
.deck-card-arrow { width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, 0.08); color: var(--white); display: flex; align-items: center; justify-content: center; font-size: .85rem; flex-shrink: 0; transition: background .25s ease, transform .25s ease; }
.hero-deck-card:hover .deck-card-arrow { background: var(--red); transform: scale(1.1); }
[dir="rtl"] .deck-card-arrow { transform: rotate(180deg); }
[dir="rtl"] .hero-deck-card:hover .deck-card-arrow { transform: rotate(180deg) scale(1.1); }
.section { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.section-compact { padding: clamp(3.5rem, 6vw, 5.5rem) 0; }
.section-white { background: var(--white); }
.section-navy { background: var(--navy); color: var(--white); }
.section h2 { max-width: 15ch; margin: 0 0 1.25rem; color: var(--navy); font-size: clamp(2.2rem, 4.5vw, 4.6rem); line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
.section-navy h2 { color: var(--white); }
.section-lead { max-width: 60ch; margin: 0 0 3rem; color: var(--muted); font-size: 1.12rem; }
.section-navy .section-lead { color: #cbd8ef; }
.section-header-centered { max-width: 760px; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.section-badge { display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .85rem; border-radius: 999px; background: var(--soft-blue); color: var(--navy); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.25rem; }
.section-badge-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.pathways-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); }
.pathway-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 3vw, 2.75rem); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 32px rgba(7, 31, 79, .04); transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease, border-color .3s ease; overflow: hidden; }
.pathway-card::before { content: ""; position: absolute; top: 0; inset-inline: 0; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
[dir="rtl"] .pathway-card::before { transform-origin: right; }
.pathway-card:hover { transform: translateY(-6px); border-color: rgba(7, 31, 79, .2); box-shadow: 0 24px 60px rgba(7, 31, 79, .12); }
.pathway-card:hover::before { transform: scaleX(1); }
.pathway-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.75rem; }
.pathway-number { font-family: var(--display); font-size: 1.25rem; font-weight: 850; color: #8fa1bd; letter-spacing: -.02em; }
.pathway-icon-wrapper { width: 46px; height: 46px; border-radius: 12px; background: var(--soft-blue); color: var(--navy); display: flex; align-items: center; justify-content: center; transition: background .25s ease, color .25s ease, transform .25s ease; }
.pathway-card:hover .pathway-icon-wrapper { background: var(--navy); color: var(--white); transform: scale(1.05); }
.pathway-audience { display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--red); margin-bottom: .45rem; }
.pathway-title { margin: 0 0 .75rem; color: var(--navy); font-family: var(--display); font-size: clamp(1.4rem, 2vw, 1.85rem); font-weight: 750; line-height: 1.18; letter-spacing: -.025em; }
.pathway-desc { margin: 0 0 1.5rem; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.pathway-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 2rem; }
.pathway-tag { padding: .3rem .65rem; border-radius: 999px; background: var(--paper); color: #3b4e6b; font-size: .75rem; font-weight: 650; border: 1px solid rgba(203, 213, 229, .6); }
.pathway-card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--navy); font-size: .88rem; font-weight: 800; }
.pathway-arrow { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--soft-blue); color: var(--navy); font-size: 1rem; transition: transform .25s ease, background .25s ease, color .25s ease; }
.pathway-card:hover .pathway-arrow { transform: translateX(4px); background: var(--red); color: var(--white); }
[dir="rtl"] .pathway-card:hover .pathway-arrow { transform: translateX(-4px) rotate(180deg); }
[dir="rtl"] .pathway-arrow { transform: rotate(180deg); }
.proof-band { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1px; background: var(--line); border-block: 1px solid var(--line); }
.proof-item { min-height: 220px; padding: clamp(1.8rem,4vw,4rem); background: var(--white); }
.proof-item strong { display: block; color: var(--navy); font-size: clamp(2.7rem,5vw,5.6rem); line-height: 1; letter-spacing: -.04em; }
.proof-item span { display: block; max-width: 24ch; margin-top: 1rem; color: var(--muted); }
.split { display: grid; grid-template-columns: minmax(0,.85fr) minmax(320px,1.15fr); gap: clamp(2rem,7vw,7rem); align-items: center; }
.split-media { min-height: 580px; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.split-copy p { max-width: 60ch; color: var(--muted); }
.value-list { margin: 2rem 0 0; padding: 0; list-style: none; display: grid; gap: .65rem; }
.value-list li { padding: 1rem 0; border-bottom: 1px solid var(--line); font-weight: 720; }
.ribbon { overflow: hidden; padding: 1rem 0; background: var(--red); color: var(--white); }
.ribbon-track { display: flex; gap: 3rem; width: max-content; animation: ribbon 28s linear infinite; font-size: clamp(1.05rem,2vw,1.5rem); font-weight: 850; }
.ribbon-track span { white-space: nowrap; }
@keyframes ribbon { to { transform: translateX(-50%); } }
.purpose-fullwidth-columns { width: 100%; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border: 0; }
.purpose-col { display: flex; flex-direction: column; justify-content: space-between; padding-block: clamp(4rem, 7vw, 6.5rem); }
.purpose-col-mission { background: var(--white); padding-inline-start: max(1.5rem, calc((100% - 1240px)/2 + 1.5rem)); padding-inline-end: clamp(2rem, 5vw, 4.5rem); border-inline-end: 1px solid var(--line); }
.purpose-col-vision { background: var(--navy); color: var(--white); padding-inline-start: clamp(2rem, 5vw, 4.5rem); padding-inline-end: max(1.5rem, calc((100% - 1240px)/2 + 1.5rem)); }
.purpose-badge { display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .85rem; border-radius: 999px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.5rem; align-self: flex-start; }
.purpose-badge-mission { background: var(--soft-blue); color: var(--navy); }
.purpose-badge-mission .purpose-badge-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--navy); }
.purpose-badge-vision { background: rgba(255, 255, 255, .12); color: var(--white); border: 1px solid rgba(255, 255, 255, .18); }
.purpose-badge-vision .purpose-badge-dot { width: 7px; height: 7px; border-radius: 50%; background: #ff3b50; }
.purpose-mission-heading { max-width: 24ch; margin: 0 0 1.5rem; color: var(--navy); font-family: var(--display); font-size: clamp(1.55rem, 2.3vw, 2.1rem); font-weight: 700; line-height: 1.22; letter-spacing: -.028em; }
.purpose-points { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; border-top: 1px solid var(--line); padding-top: 1.25rem; }
.purpose-points li { position: relative; padding-inline-start: 1.5rem; color: var(--muted); font-size: .95rem; line-height: 1.5; }
.purpose-points li::before { content: "—"; position: absolute; inset-inline-start: 0; color: var(--red); font-weight: 800; }
.vision-dual-heading { margin: 0 0 1.25rem; }
.vision-dual-heading .vision-word { display: block; font-family: var(--display); font-size: clamp(2.2rem, 3.8vw, 3.4rem); font-weight: 600; line-height: 1.05; letter-spacing: -.03em; color: rgba(255, 255, 255, .92); }
.vision-dual-heading .vision-accent { display: block; font-family: var(--display); font-size: clamp(2.4rem, 4.2vw, 3.8rem); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; color: #ff3b50; margin-top: .25rem; }
.text-red { color: #d20d24; }
.founder-section .text-red, .section-navy .text-red { color: #ff4d61; font-weight: inherit; }
.founder-section { position: relative; isolation: isolate; overflow: clip; background: #041637; }
.founder-section > .container { position: relative; z-index: 2; }
.founder-parallax-background { position: absolute; z-index: 1; inset: -12% 0; overflow: hidden; pointer-events: none; background: var(--navy); }
.founder-parallax-background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,22,55,.88) 0%, rgba(4,22,55,.52) 54%, rgba(4,22,55,.7) 100%); }
[dir="rtl"] .founder-parallax-background::after { background: linear-gradient(-90deg, rgba(4,22,55,.88) 0%, rgba(4,22,55,.52) 54%, rgba(4,22,55,.7) 100%); }
.founder-parallax-background img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) contrast(1.05) brightness(.78); transform: scale(1.08); }
.credential-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.credential { padding: 1.5rem; border-radius: var(--radius); background: var(--white); }
.credential strong { display: block; color: var(--navy); font-size: 1.1rem; }
.credential span { color: var(--muted); }
.program-block { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.program-block-header { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.program-header-split { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 2rem; align-items: flex-end; }
.program-header-split h2 { margin: 0 0 1rem; }
.program-header-split .section-lead { margin: 0; }
.program-header-action { flex-shrink: 0; }
.corporate-modules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.25rem; margin-bottom: 3rem; }
.corporate-module-card { display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.corporate-module-card:hover { transform: translateY(-4px); background: var(--white); box-shadow: 0 16px 45px rgba(7, 31, 79, .08); }
.module-num-badge { width: 36px; height: 36px; border-radius: 50%; background: var(--soft-red); color: var(--red); font-size: .85rem; font-weight: 850; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.module-body h3 { margin: 0 0 .55rem; color: var(--navy); font-size: 1.25rem; font-weight: 750; letter-spacing: -.02em; }
.module-body p { margin: 0 0 1.25rem; color: var(--muted); font-size: .92rem; line-height: 1.6; }
.module-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.module-tags span { padding: .25rem .6rem; border-radius: 999px; background: var(--white); border: 1px solid rgba(203, 213, 229, .8); font-size: .75rem; font-weight: 650; color: #435570; }
.industry-applicability-box { padding: clamp(1.75rem, 3.5vw, 2.5rem); border-radius: var(--radius); background: var(--soft-blue); border: 1px solid rgba(7, 31, 79, .08); }
.industry-box-label { margin-bottom: 1rem; color: var(--navy); font-size: .92rem; letter-spacing: -.01em; }
.audience-cloud { display: flex; flex-wrap: wrap; gap: .75rem; }
.audience-cloud span { padding: .85rem 1.1rem; border-radius: 999px; background: var(--white); color: var(--navy); font-weight: 750; }

.teacher-split { margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.teacher-media-card { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .4); min-height: 520px; }
.teacher-media-card img { width: 100%; height: 100%; object-fit: cover; }
.teacher-media-overlay { position: absolute; inset-inline: 1.25rem; bottom: 1.25rem; }
.teacher-media-pill { display: inline-block; padding: .6rem 1.1rem; border-radius: 999px; background: rgba(7, 31, 79, .88); color: var(--white); font-size: .8rem; font-weight: 750; backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .2); }
.formats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.15rem; margin-top: 2rem; }
.format-card { padding: 1.6rem; border-radius: var(--radius); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.format-card:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .25); }
.format-tag { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #ff7d8b; margin-bottom: .4rem; }
.format-card h3 { margin: 0 0 .45rem; color: var(--white); font-size: 1.18rem; font-weight: 750; }
.format-card p { margin: 0; color: #b7c8e6; font-size: .88rem; line-height: 1.55; }
.teacher-topics-box { padding: clamp(2rem, 4vw, 3rem); border-radius: var(--radius); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); }
.teacher-topics-title { margin: 0 0 1.5rem; color: var(--white); font-family: var(--display); font-size: 1.35rem; font-weight: 750; }
.course-cloud-modern { display: flex; flex-wrap: wrap; gap: .65rem; }
.topic-pill { padding: .7rem 1.15rem; border-radius: 999px; background: rgba(255, 255, 255, .08); color: var(--white); font-size: .88rem; font-weight: 650; border: 1px solid rgba(255, 255, 255, .14); transition: transform .2s ease, background .2s ease, border-color .2s ease; cursor: default; }
.topic-pill:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .3); }

.individual-pathways-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); }
.individual-card { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 3vw, 2.75rem); border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(7, 31, 79, .04); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.individual-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(7, 31, 79, .1); border-color: rgba(7, 31, 79, .2); }
.individual-card-featured { border-color: rgba(210, 13, 36, .35); background: linear-gradient(180deg, #fdfefe 0%, #fff6f7 100%); box-shadow: 0 14px 40px rgba(210, 13, 36, .08); }
.individual-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.individual-badge-track { font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.individual-card-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--soft-blue); color: var(--navy); display: flex; align-items: center; justify-content: center; }
.individual-card-featured .individual-card-icon { background: var(--soft-red); color: var(--red); }
.individual-card-title { margin: 0 0 .75rem; color: var(--navy); font-family: var(--display); font-size: clamp(1.4rem, 2vw, 1.85rem); font-weight: 750; line-height: 1.2; letter-spacing: -.025em; }
.individual-card-desc { margin: 0 0 1.5rem; color: var(--muted); font-size: .92rem; line-height: 1.6; }
.individual-card-list { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .75rem; border-top: 1px solid var(--line); padding-top: 1.25rem; }
.individual-card-list li { font-size: .88rem; line-height: 1.5; color: var(--ink); }
.individual-card-list li strong { display: block; color: var(--navy); font-weight: 750; }
.individual-card-list li span { color: var(--muted); font-size: .82rem; }

.programs-cta-section { padding: clamp(4rem, 7vw, 6rem) 0; }
.programs-cta-card { padding: clamp(2.5rem, 5vw, 4.5rem); border-radius: var(--radius); background: var(--navy); color: var(--white); display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 2.5rem; align-items: center; box-shadow: 0 24px 70px rgba(3, 14, 34, .3); }
.programs-cta-content h2 { margin: .75rem 0 .75rem; color: var(--white); font-family: var(--display); font-size: clamp(1.85rem, 3vw, 2.75rem); line-height: 1.1; letter-spacing: -.03em; }
.programs-cta-content p { margin: 0; color: #cbd8ef; font-size: 1.05rem; line-height: 1.6; max-width: 54ch; }
.programs-cta-actions { display: flex; flex-direction: column; gap: .85rem; flex-shrink: 0; }
.outcomes-charter { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.35fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: start; }
.outcomes-intro { display: flex; flex-direction: column; align-items: flex-start; }
.outcomes-badge { display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .85rem; border-radius: 999px; background: var(--soft-blue); color: var(--navy); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.25rem; }
.outcomes-badge-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.outcomes-intro h2 { max-width: 16ch; margin: 0 0 1rem; color: var(--navy); font-family: var(--display); font-size: clamp(2.2rem, 3.5vw, 3.1rem); line-height: 1.05; letter-spacing: -.035em; }
.outcomes-intro p.section-lead { margin: 0 0 2rem; color: var(--muted); font-size: clamp(1.02rem, 1.2vw, 1.15rem); line-height: 1.6; }
.outcomes-pillars { display: grid; gap: 1.75rem; border-inline-start: 1px solid var(--line); padding-inline-start: clamp(1.5rem, 3vw, 3rem); }
.outcomes-pillar { display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: start; }
.pillar-marker { display: flex; flex-direction: column; align-items: center; padding-top: .15rem; }
.pillar-num { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: var(--white); font-size: .75rem; font-weight: 800; letter-spacing: .05em; flex-shrink: 0; transition: transform .25s ease, background .25s ease; }
.outcomes-pillar:hover .pillar-num { background: var(--red); transform: scale(1.08); }
.pillar-body h3 { margin: 0 0 .35rem; color: var(--navy); font-size: 1.18rem; font-weight: 750; letter-spacing: -.01em; line-height: 1.3; }
.pillar-body p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.55; }
.impact-quote { max-width: 960px; margin: 0 auto; color: var(--white); font-size: clamp(2rem,4vw,4rem); line-height: 1.12; letter-spacing: -.03em; text-align: center; }
/* Contact Page Architectural Styles */
.contact-hero { position: relative; min-height: 52dvh; padding: calc(var(--header) + 4.5rem) 0 4rem; display: flex; align-items: center; color: var(--white); background: #071f4f; overflow: hidden; }
.contact-hero-ambient { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 12% 25%, rgba(210, 13, 36, 0.18), transparent 40%), radial-gradient(circle at 85% 70%, rgba(12, 47, 112, 0.75), transparent 48%), linear-gradient(180deg, #071f4f 0%, #031028 100%); }
.contact-hero-ambient::after { content: ""; position: absolute; inset: 10% -5% auto auto; width: clamp(260px, 35vw, 500px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50%; box-shadow: inset 0 0 0 6vw rgba(255, 255, 255, 0.02); }
.contact-hero-inner { position: relative; z-index: 2; }
.contact-hero-content { max-width: 48rem; }
.contact-hero-content .hero-eyebrow { color: #ff3b50; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.15rem; display: inline-block; }
.contact-hero-content h1 { color: var(--white); font-family: var(--display); font-size: clamp(2.6rem, 4.2vw, 4.2rem); line-height: 1.04; letter-spacing: -.038em; margin: 0 0 1.25rem; }
.contact-hero-lead { color: #c9d7ee; font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.6; margin: 0 0 2rem; }
.contact-hero-highlights { display: flex; flex-wrap: wrap; gap: .85rem 1.75rem; border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: 1.6rem; }

.consultation-stepper-bar { background: var(--paper); border-bottom: 1px solid var(--line); padding: 1.25rem 0; }
.consultation-stepper-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.consultation-step { display: flex; align-items: center; gap: 1rem; padding: .85rem 1.15rem; border-radius: 12px; background: var(--white); border: 1px solid var(--line); }
.consultation-step.is-active { border-color: rgba(7, 31, 79, 0.35); box-shadow: 0 4px 16px rgba(7, 31, 79, 0.06); }
.step-num { width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: var(--white); font-size: .8rem; font-weight: 850; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.consultation-step.is-active .step-num { background: var(--red); }
.step-text { display: flex; flex-direction: column; }
.step-text strong { color: var(--navy); font-size: .92rem; font-weight: 750; }
.step-text span { color: var(--muted); font-size: .78rem; }

.contact-main-section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.contact-grid-refined { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.35fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.contact-aside-card { position: sticky; top: calc(var(--header) + 2rem); display: flex; flex-direction: column; align-items: flex-start; }
.contact-aside-card h2 { margin: 0 0 1rem; color: var(--navy); font-family: var(--display); font-size: clamp(2rem, 3.2vw, 2.9rem); line-height: 1.08; letter-spacing: -.035em; }
.contact-aside-lead { margin: 0 0 2rem; color: var(--muted); font-size: 1.02rem; line-height: 1.6; }
.contact-pillars-list { display: grid; gap: 1.25rem; margin-bottom: 2.25rem; width: 100%; }
.contact-pillar-item { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.pillar-bullet-num { width: 28px; height: 28px; border-radius: 50%; background: var(--soft-red); color: var(--red); font-size: .78rem; font-weight: 850; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: .15rem; }
.pillar-bullet-text strong { display: block; color: var(--navy); font-size: .98rem; font-weight: 750; margin-bottom: .2rem; }
.pillar-bullet-text span { color: var(--muted); font-size: .88rem; line-height: 1.5; }

.contact-direct-card { width: 100%; padding: 1.5rem; border-radius: var(--radius); background: var(--soft-blue); border: 1px solid rgba(7, 31, 79, 0.1); }
.direct-card-badge { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); margin-bottom: .6rem; }
.direct-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #25d366; box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.25); }
.contact-direct-card p { margin: 0 0 1rem; color: #3b4d66; font-size: .88rem; line-height: 1.5; }
.button-navy-pill { background: var(--navy); color: var(--white); border-radius: 999px; font-size: .85rem; padding: .7rem 1.25rem; }
.button-navy-pill:hover { background: var(--red); }

.contact-form-container { width: 100%; }
.contact-form-card { padding: clamp(2rem, 4vw, 3rem); border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(7, 31, 79, 0.07); }
.form-card-header { margin-bottom: 2rem; border-bottom: 1px solid var(--line); padding-bottom: 1.25rem; }
.form-card-badge { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--red); margin-bottom: .4rem; }
.form-card-header h3 { margin: 0; color: var(--navy); font-family: var(--display); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 750; letter-spacing: -.02em; }
.field-hint { color: var(--muted); font-size: .78rem; margin-top: .25rem; }
.button-full { width: 100%; text-align: center; justify-content: center; margin-top: .75rem; }
.text-center { text-align: center; }
.contact-impact-section { padding: clamp(4.5rem, 8vw, 7rem) 0; text-align: center; }
.contact-impact-section .container { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.contact-impact-section .section-badge { margin-inline: auto; margin-bottom: 1.5rem; }
.impact-quote-attribution { display: block; margin: 1.5rem auto 0; color: #c9d7ee; font-size: .95rem; font-weight: 700; letter-spacing: .02em; text-align: center; }

.contact-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem,7vw,7rem); align-items: start; }
.contact-aside { position: sticky; top: calc(var(--header) + 2rem); }
.contact-aside p { color: var(--muted); }
.contact-note { margin-top: 2rem; padding: 1rem; border-radius: var(--radius); background: var(--soft-red); color: #71101e; }
.contact-form { display: grid; gap: 1.2rem; padding: clamp(1.5rem,4vw,3rem); border-radius: var(--radius); background: var(--white); }
.field { display: grid; gap: .45rem; }
.field label { color: var(--ink); font-weight: 750; }
.field small { color: var(--muted); }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #8c9ab1; border-radius: 10px; background: var(--white); color: var(--ink); padding: .85rem 1rem; }
.field textarea { min-height: 150px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy); outline: 3px solid rgba(7,31,79,.16); }
.field [aria-invalid="true"] { border-color: var(--red); }
.field-error { min-height: 1.3em; color: #a5081b; font-size: .85rem; }
.form-status { margin: 0; padding: .9rem; border-radius: 10px; display: none; }
.form-status.is-error, .form-status.is-success { display: block; }
.form-status.is-error { background: var(--soft-red); color: #71101e; }
.form-status.is-success { background: var(--soft-blue); color: var(--navy); }
.cta-section { padding: clamp(4rem,8vw,7rem) 0; background: var(--red); color: var(--white); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cta-inner h2 { max-width: 15ch; margin: 0; font-size: clamp(2.4rem,5vw,5rem); line-height: 1; letter-spacing: -.035em; }
.cta-inner .button { background: var(--white); color: var(--navy); box-shadow: none; }
.site-footer { background: #041637; color: var(--white); }
.footer-main { width: min(100% - 2rem, 1240px); margin-inline: auto; padding: 4rem 0; display: grid; grid-template-columns: 1.6fr .7fr .7fr 1fr; gap: 2rem; }
.footer-brand img { width: 76px; height: 76px; border-radius: 50%; object-fit: contain; }
.footer-brand p { max-width: 35ch; color: #afbdd2; }
.footer-main .footer-brand h2 { margin-top: 1.5rem; }
.footer-social { display: flex; flex-wrap: wrap; gap: .6rem; }
.social-link { width: 44px; height: 44px; display: grid; place-items: center; margin: 0; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: var(--white); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.social-link svg { width: 19px; height: 19px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.social-link .social-icon-fill { fill: currentColor; stroke: none; }
.footer-main a.social-link { display: grid; margin: 0; }
.footer-main a.social-link:hover { border-color: var(--red); background: var(--red); color: var(--white); transform: translateY(-2px); }
.social-link.is-pending { color: #8fa1bd; cursor: not-allowed; opacity: .68; }
.footer-main h2 { margin: 0 0 .9rem; color: #afbdd2; font-size: .78rem; }
.footer-main a { display: block; margin: .5rem 0; }
.footer-main a:hover { color: #ff7d8b; }
.footer-main small { display: block; margin-top: .8rem; color: #8fa1bd; }
.footer-cta { font-weight: 800; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem max(1rem, calc((100% - 1240px)/2)); border-top: 1px solid rgba(255,255,255,.12); color: #8fa1bd; font-size: .8rem; }
.footer-bottom button { color: var(--white); }
.whatsapp-float { position: fixed; z-index: 25; inset-inline-end: 1.5rem; bottom: 1.5rem; min-height: 52px; display: inline-flex; align-items: center; gap: .75rem; padding-block: .35rem; padding-inline-start: .45rem; padding-inline-end: 1.25rem; border-radius: 999px; background: rgba(7, 31, 79, 0.94); color: var(--white); font-weight: 750; font-size: .88rem; box-shadow: 0 14px 38px rgba(7, 31, 79, .32); border: 1.5px solid rgba(255, 255, 255, .18); backdrop-filter: blur(16px); transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease, background .25s ease, border-color .25s ease; }
.whatsapp-float:hover { transform: translateY(-3px) scale(1.02); background: var(--navy-2); border-color: rgba(255, 255, 255, .35); box-shadow: 0 18px 45px rgba(7, 31, 79, .45); }
.whatsapp-float-logo-wrapper { position: relative; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.whatsapp-float-logo { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; background: var(--white); box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.whatsapp-float-status { position: absolute; bottom: 0; inset-inline-end: 0; width: 10px; height: 10px; border-radius: 50%; background: #25d366; border: 2px solid var(--navy); }
.whatsapp-float-text { white-space: nowrap; }
.whatsapp-float-icon { color: #25d366; flex-shrink: 0; }
.toast { position: fixed; inset-inline-start: 50%; bottom: 1rem; transform: translateX(-50%); }
[data-reveal] { opacity: 1; transform: translateY(24px); transition: transform .7s cubic-bezier(.16,1,.3,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }
.is-arabic { --display: "ELA Noto Arabic", sans-serif; --body: "ELA Noto Arabic", sans-serif; font-family: var(--body); }
.is-arabic .hero-copy h1, .is-arabic .page-hero h1, .is-arabic .section h2 { letter-spacing: 0; line-height: 1.15; }
.is-arabic .hero-copy .hero-eyebrow { letter-spacing: 0; text-transform: none; }
.is-arabic .audience-switcher-label { letter-spacing: 0; text-transform: none; }
@media (max-width: 1100px) {
  .desktop-nav, .header-actions .button-small { display: none; }
  .header-actions { margin-inline-start: auto; }
  .menu-toggle { display: flex; }
  .brand small { display: none; }
}
@media (max-width: 767px) {
  :root { --header: 96px; }
  .site-header { padding: 0 1rem; }
  .brand { min-width: 0; }
  .brand img { width: 70px; height: 70px; }
  .brand strong, body[data-page="home"] .brand strong { max-width: 16ch; font-size: .76rem; letter-spacing: 0; line-height: 1.15; white-space: normal; }
  .hero-grid { min-height: 100dvh; }
  .hero-copy { width: min(100% - 2rem, 1240px); min-height: 100dvh; justify-content: flex-end; padding: calc(var(--header) + 1.5rem) 0 clamp(6.5rem, 15vh, 9.5rem); }
  .hero-copy h1, .page-hero h1 { font-size: clamp(2.85rem, 12vw, 4rem); }
  .hero-copy h1 { max-width: 11ch; }
  .hero-copy p { font-size: 1rem; }
  .hero-actions { width: 100%; }
  .hero-actions .button { flex: 1 1 100%; }
  .hero-media { min-height: 100%; }
  .hero-media img { object-position: 60% center; }
  .hero-media::after, [dir="rtl"] .hero-media::after { background: linear-gradient(0deg, rgba(3,14,34,.96) 0%, rgba(3,14,34,.68) 50%, rgba(3,14,34,.32) 100%); }
  .page-hero { min-height: 70dvh; padding: calc(var(--header) + 3.5rem) 0 3.5rem; }
  .programs-hero, .contact-hero { min-height: auto; padding: calc(var(--header) + 2.5rem) 0 3.5rem; }
  .programs-hero-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .programs-hero-content h1, .contact-hero-content h1 { font-size: clamp(2.3rem, 9.5vw, 3.8rem); }
  .audience-switcher { padding: 1.25rem 0; }
  .audience-switcher-full { padding: 0; }
  .audience-switcher-label { margin-bottom: .65rem; }
  .audience-routes { grid-template-columns: 1fr; }
  .audience-route { min-height: 92px; padding: 1rem; }
  .audience-route + .audience-route { border-inline-start: 0; border-block-start: 1px solid var(--line); }
  .audience-route::after { inset-inline: 1rem; }
  .pathways-grid, .split, .program-intro, .contact-grid, .outcomes-charter, .program-header-split, .corporate-modules-grid, .formats-grid, .individual-pathways-grid, .programs-cta-card, .contact-grid-refined, .consultation-stepper-inner { grid-template-columns: 1fr; }
  .contact-aside-card { position: static; }
  .programs-cta-card { padding: 2.25rem 1.25rem; gap: 1.75rem; }
  .programs-cta-actions { width: 100%; }
  .programs-cta-actions .button { width: 100%; }
  .proof-band { grid-template-columns: 1fr; }
  .proof-item { min-height: auto; padding: 2.5rem 1rem; }
  .split-media { min-height: 450px; order: -1; }
  .credential-grid, .formats, .course-cloud { grid-template-columns: 1fr; }
  .program-intro h2, .contact-aside { position: static; }
  .program-row { grid-template-columns: auto 1fr; }
  .program-row > span { grid-column: 2; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; padding-inline: 1rem; }
  .whatsapp-float { inset-inline-end: 1rem; bottom: 1rem; min-height: 46px; padding-inline-end: 1rem; font-size: .82rem; }
  .purpose-fullwidth-columns { grid-template-columns: 1fr; }
  .purpose-col-mission { padding: 3rem 1.25rem; border-inline-end: 0; border-block-end: 1px solid var(--line); }
  .purpose-col-vision { padding: 3rem 1.25rem; }
  .founder-parallax-background { inset: 0; }
  .founder-parallax-background::after, [dir="rtl"] .founder-parallax-background::after { background: rgba(4,22,55,.78); }
  .founder-parallax-background img { transform: scale(1.08); }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
  @supports (animation-timeline: view()) {
    .founder-parallax-background img { animation: founder-background-parallax linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
  }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-media { animation: hero-media-fade 1.35s cubic-bezier(.16,1,.3,1) both; }
  .hero-media img { animation: hero-image-zoom 1.7s cubic-bezier(.16,1,.3,1) both; }
  .hero-copy .hero-eyebrow { animation: hero-eyebrow-in .9s .12s cubic-bezier(.16,1,.3,1) both; }
  .hero-copy h1 { animation: hero-heading-in 1.05s .24s cubic-bezier(.16,1,.3,1) both; }
  .hero-copy p { animation: hero-paragraph-in .95s .36s cubic-bezier(.16,1,.3,1) both; }
  .hero-actions { animation: hero-actions-in .9s .48s cubic-bezier(.16,1,.3,1) both; }
  .page-hero .container { animation: page-title-in .9s cubic-bezier(.16,1,.3,1) both; }
  .program-row:nth-child(2n), .course-cloud div:nth-child(2n) { transition-delay: .06s; }
  .belief-declaration.is-visible .belief-mission > *, .belief-declaration.is-visible .belief-vision > * { animation: belief-copy-in .7s cubic-bezier(.16,1,.3,1) both; }
  .belief-declaration.is-visible .belief-vision > * { animation-delay: .22s; }
}
@keyframes hero-media-fade { from { opacity: 0; filter: brightness(.75); } to { opacity: 1; filter: brightness(1); } }
@keyframes hero-image-zoom { from { transform: scale(1.08); filter: blur(3px); } to { transform: scale(1); filter: blur(0); } }
@keyframes hero-eyebrow-in { from { opacity: 0; transform: translateY(-12px); letter-spacing: .22em; } to { opacity: 1; transform: translateY(0); letter-spacing: .14em; } }
@keyframes hero-heading-in { from { opacity: 0; transform: translateY(32px); filter: blur(6px); } to { opacity: 1; transform: translateY(0); filter: none; } }
@keyframes hero-paragraph-in { from { opacity: 0; transform: translateY(22px); filter: blur(4px); } to { opacity: 1; transform: translateY(0); filter: none; } }
@keyframes hero-actions-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes page-title-in { from { opacity: 0; clip-path: inset(0 0 32% 0); transform: translateY(18px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes belief-copy-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes founder-background-parallax { from { transform: translate3d(0, -5%, 0) scale(1.1); } to { transform: translate3d(0, 5%, 0) scale(1.1); } }
@media (max-width: 420px) {
  .language-toggle { font-size: .8rem; padding: .4rem; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
@media (prefers-contrast: more) {
  :root { --muted: #32415c; --line: #73819a; }
  .site-header { background: var(--paper); }
}
