/* =====================================================================
   EAF components — styles for the page sections shipped as Elementor
   templates (elementor-templates/*.json). Values are 1:1 from the Figma
   export. Loaded after style.css.
   ===================================================================== */

/* ---- Elementor container / widget normalisation ---------------------- */
.eaf-theme .e-con { --padding-block-start: 0; }
.eaf-content .elementor-widget { margin-block-end: 0; margin-bottom: 0; }
.eaf-theme .elementor-widget-heading .elementor-heading-title { margin: 0; }
.eaf-theme .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.eaf-theme .elementor-widget-html { line-height: 1.8; }
.eaf-abs.elementor-element { position: absolute !important; inset: 0; z-index: 0; pointer-events: none; }
.eaf-abs .elementor-widget-container { position: absolute; inset: 0; }
.eaf-z1.elementor-element { position: relative; z-index: 1; }
.e-con.eaf-fit { --width: fit-content; width: fit-content; max-width: 100%; }

/* ---- Eyebrow as Heading widget --------------------------------------- */
.elementor-widget-heading.eaf-eyebrow { display: block; margin-bottom: 18px; }
.elementor-widget-heading.eaf-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 12px; }
.elementor-widget-heading.eaf-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 1.5px; background: var(--eaf-gold); flex-shrink: 0; }
.elementor-widget-heading.eaf-eyebrow--teal .elementor-heading-title::before { background: var(--eaf-teal); }
.elementor-widget-heading.eaf-eyebrow--light .elementor-heading-title::before { background: var(--eaf-gold); }
.elementor-widget-heading.eaf-eyebrow { margin-bottom: 0; }

/* ---- Section head (container) ---------------------------------------- */
.e-con.eaf-section-head { border-bottom: var(--eaf-hairline); }
.e-con.eaf-section-head.eaf-section-head--dark { border-bottom: var(--eaf-hairline-dk); }
.e-con.eaf-section-head > .e-con { padding: 0; }
.e-con.eaf-section-head--col { flex-direction: column; align-items: flex-start; justify-content: flex-start; }
.eaf-section-head .eaf-eyebrow { margin-bottom: 18px !important; }
.e-con.eaf-section-head__right { max-width: 380px; padding-bottom: 6px !important; }
.e-con.eaf-section-head__right--wide { max-width: none; }
.eaf-section-head__right .elementor-widget-text-editor { margin-bottom: 20px; }

/* ---- Buttons (Elementor button widget with class) -------------------- */
.eaf-btn-w .elementor-button { border-radius: 0; line-height: 1; letter-spacing: 0.04em; transition: all 0.22s; }
.eaf-btn-w .elementor-button-content-wrapper { gap: 9px; align-items: center; }
.eaf-btn-w .elementor-button-icon svg { width: 13px; height: 13px; transition: transform 0.22s; }
.eaf-btn-w .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }

/* ---- Lattice --------------------------------------------------------- */
.eaf-lat { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.eaf-lat svg { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ---- Hero (home) ----------------------------------------------------- */
.e-con.eaf-hero { position: relative; min-height: max(100vh, 700px); overflow: hidden; justify-content: center; }
.eaf-hero__ov { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.eaf-hero__ov .g1 { position: absolute; inset: 0; background: linear-gradient(to right, #0A1628 0%, #0A1628 42%, rgba(10,22,40,0.82) 54%, rgba(10,22,40,0.3) 70%, rgba(10,22,40,0) 86%); }
.eaf-hero__ov .g2 { position: absolute; inset: 0; background: radial-gradient(ellipse 28% 90% at 44% 50%, rgba(10,22,40,0.38) 0%, transparent 100%); }
.eaf-hero__ov .g3 { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,22,40,0.4) 0%, transparent 20%, transparent 68%, rgba(10,22,40,0.72) 100%); }
.eaf-hero__ov .g4 { position: absolute; inset: 0; background: radial-gradient(ellipse 12% 65% at 44% 46%, rgba(192,154,69,0.09) 0%, transparent 100%); }
.eaf-hero__ov .g5 { position: absolute; inset: 0; background: linear-gradient(to top, rgba(7,13,27,0.82) 0%, transparent 35%); }
.eaf-hero__ov .rule { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(to right, var(--eaf-gold), var(--eaf-gold-light) 40%, rgba(192,154,69,0.1) 100%); z-index: 4; }
.e-con.eaf-hero__copy { position: relative; z-index: 3; max-width: 700px; }
.eaf-hero__lockup { display: flex; align-items: center; gap: 14px; margin-bottom: 32px; }
.eaf-hero__lockup img { height: 32px; width: auto; opacity: 0.9; }
.eaf-hero__lockup i { width: 1px; height: 26px; background: rgba(255,255,255,0.2); }
.eaf-hero__lockup span { font-size: 9.5px; font-weight: 700; color: rgba(255,255,255,0.6); letter-spacing: 0.22em; text-transform: uppercase; }
.eaf-hero .elementor-widget-heading { margin-bottom: 24px; }
.eaf-hero .elementor-widget-text-editor { max-width: 480px; margin-bottom: 44px; }
.eaf-hero__pills { display: flex; align-items: center; margin-bottom: 44px; }
.eaf-hero__pills span { font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.72); letter-spacing: 0.1em; text-transform: uppercase; }
.eaf-hero__pills i { width: 3px; height: 3px; border-radius: 50%; background: var(--eaf-gold); margin: 0 16px; opacity: 0.6; }
.e-con.eaf-hero__btns { flex-direction: row; gap: 14px; padding: 0; }
.eaf-hero__stats { position: absolute; bottom: 0; left: 0; right: 0; z-index: 4; background: rgba(7,13,27,0.88); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-top: 1px solid rgba(192,154,69,0.16); }
.eaf-hero__stats > div { display: flex; padding: 0 var(--eaf-gutter-hero); }
.eaf-hero__stat { flex: 1; padding: 20px 32px; border-right: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; gap: 14px; }
.eaf-hero__stat:first-child { padding-left: 0; }
.eaf-hero__stat:last-child { border-right: none; padding-right: 0; }
.eaf-hero__stat b { font-family: var(--eaf-font-serif); font-size: 30px; font-weight: 700; color: var(--eaf-gold); line-height: 1; flex-shrink: 0; }
.eaf-hero__stat strong { display: block; font-size: 11.5px; font-weight: 700; color: rgba(255,255,255,0.78); }
.eaf-hero__stat small { display: block; font-size: 9.5px; color: rgba(255,255,255,0.28); margin-top: 4px; letter-spacing: 0.06em; }

/* ---- Page hero (sub-pages) ------------------------------------------- */
.e-con.eaf-phero { position: relative; min-height: 420px; overflow: hidden; justify-content: center; }
.eaf-phero__ov { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.eaf-phero__ov .g1 { position: absolute; inset: 0; background: linear-gradient(to right, #0A1628 0%, #0A1628 38%, rgba(10,22,40,0.78) 55%, rgba(10,22,40,0.25) 80%, rgba(10,22,40,0) 100%); }
.eaf-phero__ov .g2 { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,22,40,0.3) 0%, transparent 25%, transparent 65%, rgba(10,22,40,0.6) 100%); }
.eaf-phero__ov .rule { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(to right, var(--eaf-gold), var(--eaf-gold-light) 40%, rgba(192,154,69,0.1) 100%); z-index: 4; }
.e-con.eaf-phero__copy { position: relative; z-index: 3; max-width: 680px; padding: 0 var(--eaf-gutter-hero) !important; }
.eaf-phero__copy .eaf-eyebrow { margin-bottom: 20px !important; }
.eaf-phero__copy .elementor-widget-heading:not(.eaf-eyebrow) { margin-bottom: 18px; }
.eaf-phero__copy .elementor-widget-text-editor { max-width: 460px; }

/* ---- Stats strip (metrics) ------------------------------------------- */
.eaf-metrics { position: relative; }
.eaf-metrics__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(6, 1fr); }
.eaf-metrics__grid--4 { grid-template-columns: repeat(4, 1fr); }
.eaf-metrics__cell { padding: 52px 28px; text-align: center; border-right: 1px solid rgba(255,255,255,0.06); }
.eaf-metrics__grid--4 .eaf-metrics__cell { padding: 56px 32px; }
.eaf-metrics__cell:last-child { border-right: none; }
.eaf-metrics__num { font-family: var(--eaf-font-serif); font-size: clamp(36px, 3.2vw, 52px); font-weight: 700; color: var(--eaf-gold); line-height: 1; letter-spacing: -0.03em; white-space: nowrap; }
.eaf-metrics__grid--4 .eaf-metrics__num { font-size: clamp(40px, 3.5vw, 58px); font-weight: 800; }
.eaf-metrics__rule { width: 24px; height: 1.5px; background: rgba(192,154,69,0.35); margin: 14px auto 12px; }
.eaf-metrics__label { font-size: 11.5px; font-weight: 700; color: var(--eaf-white); letter-spacing: 0.02em; }
.eaf-metrics__sub { font-size: 9.5px; color: rgba(255,255,255,0.3); margin-top: 5px; letter-spacing: 0.07em; }
.eaf-metrics__bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(to right, transparent, var(--eaf-gold) 30%, var(--eaf-gold-light) 50%, var(--eaf-gold) 70%, transparent); opacity: 0.5; }

/* ---- Academies grid (home) ------------------------------------------- */
.eaf-acad { display: grid; grid-template-columns: repeat(3, 1fr); }
.eaf-acad__card { position: relative; overflow: hidden; background: var(--eaf-ivory); border-right: var(--eaf-hairline); border-bottom: var(--eaf-hairline); padding: 48px 44px 44px; min-height: 280px; cursor: pointer; transition: background 0.32s ease; }
.eaf-acad__card:nth-child(3n) { border-right: none; }
.eaf-acad__card:nth-child(n+4) { border-bottom: none; }
.eaf-acad__card .eaf-lat { opacity: 0; transition: opacity 0.32s; }
.eaf-acad__card > div { position: relative; z-index: 1; }
.eaf-acad__n { font-family: var(--eaf-font-serif); font-size: 11px; font-weight: 600; color: var(--eaf-iron); letter-spacing: 0.12em; margin-bottom: 28px; transition: color 0.32s; }
.eaf-acad__rule { width: 20px; height: 2px; background: var(--eaf-gold); margin-bottom: 20px; opacity: 0.45; transition: width 0.32s ease, opacity 0.32s; }
.eaf-acad__card h3 { font-size: 24px; font-weight: 700; color: var(--eaf-navy-dark); line-height: 1.18; margin-bottom: 10px; transition: color 0.32s; }
.eaf-acad__tag { font-size: 9px; font-weight: 700; color: var(--eaf-teal); letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 18px; transition: color 0.32s; }
.eaf-acad__card p { font-size: 13px; color: var(--eaf-slate); line-height: 1.76; margin: 0; transition: color 0.32s; }
.eaf-acad__cta { margin-top: 28px; display: flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(6px); transition: opacity 0.3s, transform 0.3s; font-size: 11px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.1em; text-transform: uppercase; }
.eaf-acad__card:hover { background: var(--eaf-navy-dark); }
.eaf-acad__card:hover .eaf-lat { opacity: 1; }
.eaf-acad__card:hover .eaf-acad__n { color: rgba(192,154,69,0.4); }
.eaf-acad__card:hover .eaf-acad__rule { width: 36px; opacity: 0.9; }
.eaf-acad__card:hover h3 { color: var(--eaf-white); }
.eaf-acad__card:hover .eaf-acad__tag { color: var(--eaf-gold); }
.eaf-acad__card:hover p { color: rgba(253,251,247,0.48); }
.eaf-acad__card:hover .eaf-acad__cta { opacity: 1; transform: none; }

/* ---- Campus mosaic + facilities (home & campus page) ----------------- */
.eaf-mosaic { display: grid; grid-template-columns: 1.4fr 1fr; height: 460px; }
.eaf-mosaic--3 { grid-template-columns: 1.5fr 1fr 1fr; height: 440px; }
.eaf-mosaic__main, .eaf-mosaic__cell { position: relative; overflow: hidden; }
.eaf-mosaic__cell { border-right: var(--eaf-hairline); }
.eaf-mosaic__cell:last-child { border-right: none; }
.eaf-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.eaf-mosaic__main:hover img { transform: scale(1.04); }
.eaf-mosaic__cell:hover img, .eaf-mosaic__side > div:hover img { transform: scale(1.06); }
.eaf-mosaic__main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,18,36,0.7) 0%, transparent 50%); }
.eaf-mosaic__cell::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,18,36,0.65) 0%, transparent 55%); }
.eaf-mosaic__badge { position: absolute; bottom: 28px; left: 32px; z-index: 1; background: var(--eaf-gold); padding: 5px 14px; font-size: 8.5px; font-weight: 700; color: var(--eaf-navy-dark); letter-spacing: 0.2em; text-transform: uppercase; }
.eaf-mosaic__side { display: grid; grid-template-rows: 1fr 1fr; border-left: var(--eaf-hairline); }
.eaf-mosaic__side > div { position: relative; overflow: hidden; border-bottom: var(--eaf-hairline); }
.eaf-mosaic__side > div:last-child { border-bottom: none; }
.eaf-mosaic__side > div::after { content: ""; position: absolute; inset: 0; background: rgba(10,18,36,0.48); }
.eaf-mosaic__label { position: absolute; bottom: 16px; left: 18px; z-index: 1; font-size: 12.5px; font-weight: 700; color: var(--eaf-white); }
.eaf-mosaic--3 .eaf-mosaic__label { bottom: 20px; left: 22px; font-size: 12px; }

.eaf-fac { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--eaf-navy-dark); }
.eaf-fac--page { border-top: none; }
.eaf-fac__col { position: relative; overflow: hidden; background: var(--eaf-ivory); padding: 44px; border-right: var(--eaf-hairline); }
.eaf-fac--page .eaf-fac__col { border-bottom: var(--eaf-hairline); }
.eaf-fac--page .eaf-fac__col:nth-child(n+4) { border-bottom: none; }
.eaf-fac__col:nth-child(3n) { border-right: none; }
.eaf-fac__col--dark { background: var(--eaf-navy-dark); border-right-color: rgba(255,255,255,0.06); }
.eaf-fac__col > div { position: relative; z-index: 1; }
.eaf-fac__n { font-family: var(--eaf-font-serif); font-size: 64px; font-weight: 800; line-height: 1; color: rgba(27,42,72,0.05); margin-bottom: 4px; }
.eaf-fac--page .eaf-fac__n { font-size: 52px; margin-bottom: 6px; }
.eaf-fac__col--dark .eaf-fac__n { color: rgba(192,154,69,0.1); }
.eaf-fac__rule { width: 24px; height: 2px; background: var(--eaf-gold); margin-bottom: 16px; opacity: 0.5; }
.eaf-fac--page .eaf-fac__rule { width: 22px; }
.eaf-fac__col--dark .eaf-fac__rule { opacity: 0.7; }
.eaf-fac__col h3 { font-size: 21px; font-weight: 700; color: var(--eaf-navy-dark); margin-bottom: 24px; }
.eaf-fac--page .eaf-fac__col h3 { margin-bottom: 22px; }
.eaf-fac__col--dark h3 { color: var(--eaf-white); }
.eaf-fac__col ul { list-style: none; margin: 0; padding: 0; }
.eaf-fac__col li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: var(--eaf-hairline); font-size: 13px; color: var(--eaf-body); }
.eaf-fac--page .eaf-fac__col li { padding: 9px 0; }
.eaf-fac__col li::before { content: ""; width: 5px; height: 5px; background: var(--eaf-gold); opacity: 0.8; flex-shrink: 0; }
.eaf-fac__col--dark li { border-bottom-color: rgba(255,255,255,0.06); color: rgba(255,255,255,0.5); }

/* ---- Learning journey (home) ----------------------------------------- */
.eaf-toggle { display: flex; border: var(--eaf-hairline); overflow: hidden; }
.eaf-toggle button { white-space: nowrap; font-family: var(--eaf-font-sans); font-size: 12px; font-weight: 600; padding: 13px 24px; border: none; cursor: pointer; letter-spacing: 0.03em; background: var(--eaf-white); color: var(--eaf-slate); transition: all 0.22s; }
.eaf-toggle button + button { border-left: var(--eaf-hairline); }
.eaf-toggle button.is-active { background: var(--eaf-navy-dark); color: var(--eaf-white); }
.eaf-journey { display: grid; grid-template-columns: repeat(4, 1fr); }
.eaf-journey__step { position: relative; overflow: hidden; background: var(--eaf-white); border-right: var(--eaf-hairline); padding: 48px 40px; cursor: pointer; transition: background 0.25s; }
.eaf-journey__step:last-child { border-right: none; }
.eaf-journey__step:not(.is-first):hover { background: var(--eaf-ivory); }
.eaf-journey__step.is-first { background: var(--eaf-navy-dark); }
.eaf-journey__step > div { position: relative; z-index: 1; }
.eaf-journey__n { font-family: var(--eaf-font-serif); font-size: 52px; font-weight: 800; line-height: 1; color: rgba(27,42,72,0.05); margin-bottom: 20px; }
.is-first .eaf-journey__n { color: rgba(192,154,69,0.15); }
.eaf-journey__rule { width: 20px; height: 2px; background: var(--eaf-gold); margin-bottom: 18px; opacity: 0.45; }
.is-first .eaf-journey__rule { opacity: 0.7; }
.eaf-journey__stage { font-size: 8.5px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 12px; }
.is-first .eaf-journey__stage { color: rgba(192,154,69,0.7); }
.eaf-journey__step h3 { font-size: 20px; font-weight: 700; color: var(--eaf-navy-dark); line-height: 1.24; margin-bottom: 14px; }
.is-first h3 { color: var(--eaf-white); }
.eaf-journey__step p { font-size: 13px; color: var(--eaf-slate); line-height: 1.76; margin-bottom: 22px; }
.is-first p { color: rgba(253,251,247,0.46); }
.eaf-journey__dur { display: inline-block; font-size: 9px; font-weight: 700; color: var(--eaf-navy-dark); background: var(--eaf-smoke); border: var(--eaf-hairline); padding: 5px 14px; letter-spacing: 0.1em; }
.is-first .eaf-journey__dur { color: var(--eaf-gold); background: rgba(192,154,69,0.1); border-color: rgba(192,154,69,0.2); }

/* ---- Beyond learning cards (home) ------------------------------------ */
.eaf-beyond { display: grid; grid-template-columns: repeat(3, 1fr); position: relative; z-index: 1; }
.eaf-beyond__card { border-right: 1px solid rgba(255,255,255,0.07); overflow: hidden; cursor: pointer; transition: background 0.2s; }
.eaf-beyond__card:last-child { border-right: none; }
.eaf-beyond__card:hover { background: rgba(255,255,255,0.03); }
.eaf-beyond__img { height: 220px; overflow: hidden; position: relative; }
.eaf-beyond__img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(0.22) saturate(0.15); transition: filter 0.4s; }
.eaf-beyond__card:hover img { filter: brightness(0.35) saturate(0.3); }
.eaf-beyond__n { position: absolute; top: 24px; left: 28px; font-family: var(--eaf-font-serif); font-size: 56px; font-weight: 800; color: rgba(192,154,69,0.14); line-height: 1; }
.eaf-beyond__body { padding: 32px 44px 44px; }
.eaf-beyond__rule { width: 20px; height: 2px; background: var(--eaf-gold); margin-bottom: 18px; opacity: 0.6; }
.eaf-beyond__body h3 { font-size: 24px; font-weight: 700; color: var(--eaf-white); margin-bottom: 10px; line-height: 1.2; }
.eaf-beyond__sub { font-size: 8.5px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 18px; }
.eaf-beyond__body p { font-size: 13px; color: rgba(255,255,255,0.42); line-height: 1.8; margin-bottom: 28px; }
.eaf-beyond__link { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.08em; }
.eaf-beyond__link:hover { color: var(--eaf-gold-light); }

/* ---- Leadership cards ------------------------------------------------ */
.eaf-leaders { display: grid; grid-template-columns: repeat(4, 1fr); }
.eaf-leader { background: var(--eaf-ivory); border-right: var(--eaf-hairline); overflow: hidden; cursor: pointer; transition: background 0.25s; }
.eaf-leader:last-child { border-right: none; }
.eaf-leader:hover { background: var(--eaf-white); }
.eaf-leader__avatar { height: 180px; background: var(--eaf-navy); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.eaf-leaders--page .eaf-leader__avatar { height: 200px; }
.eaf-leader--chair .eaf-leader__avatar { background: var(--eaf-navy-dark); }
.eaf-leader__avatar span { font-family: var(--eaf-font-serif); font-size: 48px; font-weight: 800; color: var(--eaf-gold); position: relative; z-index: 1; opacity: 0.82; letter-spacing: -0.02em; }
.eaf-leaders--page .eaf-leader__avatar span { font-size: 52px; }
.eaf-leader__avatar::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: rgba(192,154,69,0.35); }
.eaf-leader--chair .eaf-leader__avatar::after { background: var(--eaf-gold); }
.eaf-leader__chair { position: absolute; top: 14px; right: 14px; border: 1px solid rgba(192,154,69,0.4); padding: 4px 10px; font-size: 7px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.24em; text-transform: uppercase; z-index: 1; }
.eaf-leader__body { padding: 26px 28px 32px; }
.eaf-leaders--page .eaf-leader__body { padding: 28px 28px 36px; }
.eaf-leader__name { font-family: var(--eaf-font-serif); font-size: 18px; font-weight: 700; color: var(--eaf-navy-dark); line-height: 1.24; margin-bottom: 10px; }
.eaf-leader__role { font-size: 8.5px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 6px; }
.eaf-leader__org { font-size: 12px; color: var(--eaf-slate); margin-bottom: 22px; }
.eaf-leaders--page .eaf-leader__org { font-size: 11.5px; margin-bottom: 18px; }
.eaf-leader__hr { height: 1px; background: var(--eaf-iron); margin-bottom: 18px; }
.eaf-leaders--page .eaf-leader__hr { margin-bottom: 16px; }
.eaf-leader__more { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: var(--eaf-navy-dark); letter-spacing: 0.06em; opacity: 0.45; transition: opacity 0.22s; }
.eaf-leader:hover .eaf-leader__more { opacity: 1; }
.eaf-leader__bio { font-size: 12px; color: var(--eaf-slate); line-height: 1.78; opacity: 0; max-height: 0; overflow: hidden; transition: opacity 0.3s, max-height 0.4s; margin: 0; }
.eaf-leader:hover .eaf-leader__bio { opacity: 1; max-height: 200px; }

/* ---- CTA banner ------------------------------------------------------ */
.e-con.eaf-cta { position: relative; overflow: hidden; }
.e-con.eaf-cta__row { flex-direction: row; align-items: center; justify-content: space-between; gap: 80px; position: relative; z-index: 1; }
.e-con.eaf-cta__col { flex-direction: column; gap: 12px; min-width: 240px; align-items: stretch; width: auto; flex-shrink: 0; }
.eaf-cta__logo { width: 90px; margin: 0 auto 8px; opacity: 0.6; }
.eaf-cta__col .elementor-widget-button .elementor-button { width: 100%; justify-content: center; }
.eaf-cta__text .elementor-widget-heading:not(.eaf-eyebrow) { margin-bottom: 22px; }
.eaf-cta__text .eaf-eyebrow { margin-bottom: 28px !important; }
.eaf-cta__text .elementor-widget-text-editor { max-width: 520px; }
/* compact CTA (sub-pages): h3 + text left, two buttons right */
.e-con.eaf-cta2 { flex-direction: row; align-items: center; justify-content: space-between; gap: 60px; position: relative; z-index: 1; }
.eaf-cta2 .elementor-widget-heading { margin-bottom: 16px; }
.eaf-cta2 .elementor-widget-text-editor { max-width: 480px; }
.e-con.eaf-cta2__btns { flex-direction: row; gap: 12px; width: auto; flex-shrink: 0; padding: 0; }

/* ---- Why EAF --------------------------------------------------------- */
.eaf-mv { display: grid; grid-template-columns: 1fr 1fr; border-bottom: var(--eaf-hairline); }
.eaf-mv > div { padding: 72px 80px; border-right: var(--eaf-hairline); }
.eaf-mv > div:last-child { border-right: none; }
.eaf-mv__label { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; font-size: 9.5px; font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase; }
.eaf-mv__label::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.eaf-mv__label--teal { color: var(--eaf-teal); }
.eaf-mv__label--gold { color: var(--eaf-gold); }
.eaf-mv p { font-family: var(--eaf-font-serif); font-size: 19px; color: var(--eaf-navy-dark); line-height: 1.7; font-weight: 400; margin: 0; }
.eaf-pillars { display: grid; grid-template-columns: repeat(3, 1fr); }
.eaf-pillars > div { padding: 48px 44px; border-right: var(--eaf-hairline); border-bottom: var(--eaf-hairline); }
.eaf-pillars > div:nth-child(3n) { border-right: none; }
.eaf-pillars > div:nth-child(n+4) { border-bottom: none; }
.eaf-pillars__n { font-family: var(--eaf-font-serif); font-size: 11px; color: var(--eaf-iron); letter-spacing: 0.12em; margin-bottom: 24px; }
.eaf-pillars__rule { width: 22px; height: 2px; margin-bottom: 18px; opacity: 0.7; background: var(--eaf-gold); }
.eaf-pillars__rule--teal { background: var(--eaf-teal); }
.eaf-pillars h3 { font-size: 22px; font-weight: 700; color: var(--eaf-navy-dark); margin-bottom: 16px; line-height: 1.2; }
.eaf-pillars p { font-size: 13.5px; color: var(--eaf-slate); line-height: 1.8; margin: 0; }
.eaf-timeline { display: grid; grid-template-columns: repeat(3, 1fr); position: relative; z-index: 1; }
.eaf-timeline > div { padding: 36px 40px; border-right: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); }
.eaf-timeline > div:nth-child(3n) { border-right: none; }
.eaf-timeline > div:nth-child(n+4) { border-bottom: none; }
.eaf-timeline__yr { font-family: var(--eaf-font-serif); font-size: 38px; font-weight: 800; color: var(--eaf-gold); opacity: 0.7; margin-bottom: 12px; line-height: 1; }
.eaf-timeline p { font-size: 13.5px; color: rgba(255,255,255,0.46); line-height: 1.76; margin: 0; }
.e-con.eaf-pad-80 { padding: 80px var(--eaf-gutter) !important; }
.e-con.eaf-pad-72 { padding: 72px var(--eaf-gutter) 56px !important; }
.eaf-pad-80 .eaf-eyebrow, .eaf-pad-72 .eaf-eyebrow { margin-bottom: 18px !important; }
.eaf-pad-80 .eaf-eyebrow--solo { margin-bottom: 48px !important; }

/* ---- Academies page: selector + detail ------------------------------- */
.eaf-acsel { display: flex; border-bottom: 2px solid var(--eaf-navy-dark); }
.eaf-acsel button { flex: 1; padding: 22px 12px; border: none; border-right: var(--eaf-hairline); cursor: pointer; font-family: var(--eaf-font-sans); font-size: 11.5px; font-weight: 500; background: var(--eaf-ivory); color: var(--eaf-slate); transition: all 0.22s; letter-spacing: 0.02em; text-align: center; }
.eaf-acsel button:last-child { border-right: none; }
.eaf-acsel button i { display: block; font-style: normal; font-family: var(--eaf-font-serif); font-size: 10px; color: var(--eaf-iron); letter-spacing: 0.12em; margin-bottom: 6px; }
.eaf-acsel button.is-active { background: var(--eaf-navy-dark); color: var(--eaf-gold); font-weight: 700; }
.eaf-acsel button.is-active i { color: rgba(192,154,69,0.5); }
.eaf-acdet { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; }
.eaf-acdet__img { position: relative; overflow: hidden; }
.eaf-acdet__img img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.eaf-acdet__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, rgba(10,18,36,0.72) 0%, transparent 70%); }
.eaf-acdet__cap { position: absolute; bottom: 36px; left: 44px; z-index: 1; }
.eaf-acdet__n { font-family: var(--eaf-font-serif); font-size: 52px; font-weight: 800; color: rgba(192,154,69,0.25); line-height: 1; margin-bottom: 8px; }
.eaf-acdet__cap h2 { font-size: 38px; font-weight: 800; color: var(--eaf-white); line-height: 1.1; margin: 0; letter-spacing: -0.02em; }
.eaf-acdet__tag { font-size: 9px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin-top: 10px; color: var(--eaf-gold-light); }
.eaf-acdet__tag--teal { color: var(--eaf-teal-light); }
.eaf-acdet__body { padding: 52px 56px; background: var(--eaf-white); border-left: var(--eaf-hairline); }
.eaf-acdet__lbl { font-size: 9px; font-weight: 700; color: var(--eaf-slate); letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 16px; }
.eaf-acdet__aud { font-size: 12px; color: var(--eaf-teal); font-weight: 600; margin-bottom: 28px; }
.eaf-acdet__rule { width: 28px; height: 1.5px; background: var(--eaf-gold); margin-bottom: 22px; }
.eaf-acdet__body p { font-size: 14px; color: var(--eaf-body); line-height: 1.82; margin-bottom: 36px; }
.eaf-acdet__courses { display: grid; grid-template-columns: 1fr 1fr; }
.eaf-acdet__courses div { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: var(--eaf-hairline); font-size: 12px; color: var(--eaf-body); }
.eaf-acdet__courses div:nth-child(odd) { padding-right: 16px; border-right: var(--eaf-hairline); }
.eaf-acdet__courses div:nth-child(even) { padding-left: 16px; }
.eaf-acdet__courses div::before { content: ""; width: 4px; height: 4px; background: var(--eaf-gold); opacity: 0.8; flex-shrink: 0; }
.eaf-acdet__body .eaf-btn { margin-top: 32px; font-size: 12px; padding: 14px 28px; }

/* ---- Learning Journey page ------------------------------------------- */
.eaf-tracks { display: flex; border-bottom: 2px solid var(--eaf-navy-dark); }
.eaf-tracks button { flex: 1; padding: 22px 32px; border: none; cursor: pointer; font-family: var(--eaf-font-sans); font-size: 13px; font-weight: 500; background: var(--eaf-ivory); color: var(--eaf-slate); transition: all 0.22s; letter-spacing: 0.02em; }
.eaf-tracks button:first-child { border-right: var(--eaf-hairline); }
.eaf-tracks button.is-active { background: var(--eaf-navy-dark); color: var(--eaf-gold); font-weight: 700; }
.eaf-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: var(--eaf-hairline); }
.eaf-steps button { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 28px 32px; border: none; border-right: var(--eaf-hairline); cursor: pointer; background: var(--eaf-ivory); transition: background 0.2s; text-align: left; font-family: var(--eaf-font-sans); }
.eaf-steps button:last-child { border-right: none; }
.eaf-steps button.is-active { background: var(--eaf-white); }
.eaf-steps__n { font-family: var(--eaf-font-serif); font-size: 28px; font-weight: 800; color: rgba(192,154,69,0.25); line-height: 1; margin-bottom: 8px; }
.is-active .eaf-steps__n { color: var(--eaf-gold); }
.eaf-steps__s { font-size: 8.5px; font-weight: 700; color: var(--eaf-slate); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 6px; }
.is-active .eaf-steps__s { color: var(--eaf-gold); }
.eaf-steps__h { font-size: 11px; color: var(--eaf-slate); font-weight: 400; }
.is-active .eaf-steps__h { color: var(--eaf-navy); font-weight: 600; }
.eaf-steps__rule { width: 20px; height: 2px; background: var(--eaf-gold); margin-top: 12px; display: none; }
.is-active .eaf-steps__rule { display: block; }
.eaf-stepdet { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; }
.eaf-stepdet > div { padding: 56px 64px; }
.eaf-stepdet > div:first-child { border-right: var(--eaf-hairline); background: var(--eaf-white); }
.eaf-stepdet > div:last-child { background: var(--eaf-ivory); }
.eaf-stepdet__lbl { font-size: 9px; font-weight: 700; color: var(--eaf-slate); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 16px; }
.eaf-stepdet__dur { display: inline-block; font-size: 11px; font-weight: 700; color: var(--eaf-navy-dark); background: var(--eaf-smoke); border: var(--eaf-hairline); padding: 6px 16px; letter-spacing: 0.08em; margin-bottom: 30px; }
.eaf-stepdet h3 { font-size: 28px; font-weight: 800; color: var(--eaf-navy-dark); line-height: 1.18; margin-bottom: 20px; }
.eaf-stepdet p { font-size: 14px; color: var(--eaf-body); line-height: 1.84; margin: 0; }
.eaf-stepdet__out { margin-bottom: 24px !important; }
.eaf-stepdet__o { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-bottom: var(--eaf-hairline); font-size: 13.5px; color: var(--eaf-body); line-height: 1.5; }
.eaf-stepdet__o b { width: 22px; height: 22px; background: var(--eaf-navy-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; font-family: var(--eaf-font-serif); font-size: 9px; font-weight: 800; color: var(--eaf-gold); }
.eaf-delivery { display: grid; grid-template-columns: repeat(4, 1fr); }
.eaf-delivery > div { padding: 44px 40px; border-right: var(--eaf-hairline); }
.eaf-delivery > div:last-child { border-right: none; }
.eaf-delivery__icon { font-size: 36px; margin-bottom: 22px; line-height: 1; }
.eaf-delivery h3 { font-size: 21px; font-weight: 700; color: var(--eaf-navy-dark); margin-bottom: 16px; }
.eaf-delivery p { font-size: 13.5px; color: var(--eaf-slate); line-height: 1.8; margin: 0; }

/* ---- Beyond Learning page -------------------------------------------- */
.eaf-3pil { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: var(--eaf-hairline); }
.eaf-3pil > div { padding: 60px 52px; border-right: var(--eaf-hairline); }
.eaf-3pil > div:last-child { border-right: none; }
.eaf-3pil .eaf-pillars__rule { width: 24px; margin-bottom: 20px; }
.eaf-3pil h3 { font-size: 25px; font-weight: 700; color: var(--eaf-navy-dark); margin-bottom: 18px; line-height: 1.2; }
.eaf-3pil p { font-size: 14px; color: var(--eaf-slate); line-height: 1.84; margin: 0; }
.e-con.eaf-pubs-head { flex-direction: row; align-items: flex-end; justify-content: space-between; margin-bottom: 52px; padding: 0 !important; }
.eaf-pubs-head .eaf-link--gold { margin-bottom: 8px; }
.eaf-pubs { position: relative; z-index: 1; }
.eaf-pubs__row { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 32px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,0.06); cursor: pointer; transition: background 0.2s; }
.eaf-pubs__row:hover { background: rgba(255,255,255,0.03); }
.eaf-pubs__yr { font-family: var(--eaf-font-serif); font-size: 18px; font-weight: 700; color: rgba(192,154,69,0.5); }
.eaf-pubs__t { font-size: 14px; color: rgba(255,255,255,0.78); font-weight: 500; margin-bottom: 4px; }
.eaf-pubs__cat { font-size: 9px; font-weight: 700; color: var(--eaf-gold); letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.6; }
.eaf-pubs__row svg { opacity: 0.3; }
.eaf-partners { display: grid; grid-template-columns: repeat(3, 1fr); }
.eaf-partners > div { padding: 40px 48px; border-right: var(--eaf-hairline); border-bottom: var(--eaf-hairline); cursor: pointer; transition: background 0.2s; }
.eaf-partners > div:nth-child(3n) { border-right: none; }
.eaf-partners > div:nth-child(n+4) { border-bottom: none; }
.eaf-partners > div:hover { background: var(--eaf-ivory); }
.eaf-partners__type { font-size: 8.5px; font-weight: 700; color: var(--eaf-teal); letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 12px; }
.eaf-partners__name { font-family: var(--eaf-font-serif); font-size: 18px; font-weight: 700; color: var(--eaf-navy-dark); line-height: 1.3; margin-bottom: 10px; }
.eaf-partners__country { font-size: 11.5px; color: var(--eaf-slate); }

/* ---- Leadership page ------------------------------------------------- */
.eaf-gov { display: grid; grid-template-columns: repeat(2, 1fr); position: relative; z-index: 1; }
.eaf-gov > div { padding: 44px 52px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }
.eaf-gov > div:nth-child(2n) { border-right: none; }
.eaf-gov > div:nth-child(n+3) { border-bottom: none; }
.eaf-gov__rule { width: 22px; height: 2px; background: var(--eaf-gold); margin-bottom: 20px; opacity: 0.65; }
.eaf-gov h3 { font-size: 22px; font-weight: 700; color: var(--eaf-white); margin-bottom: 16px; line-height: 1.2; }
.eaf-gov p { font-size: 13.5px; color: rgba(255,255,255,0.42); line-height: 1.82; margin: 0; }
.eaf-gov-head .elementor-widget-heading:not(.eaf-eyebrow) { margin-bottom: 56px; }
.eaf-mandate { display: grid; grid-template-columns: 1fr 1fr; }
.eaf-mandate > div:first-child { padding-right: 72px; border-right: var(--eaf-hairline); }
.eaf-mandate > div:last-child { padding-left: 72px; }
.eaf-mandate .eaf-mv__label { margin-bottom: 22px; font-size: 9px; }
.eaf-mandate .eaf-mv__label::before { width: 24px; height: 1.5px; }
.eaf-mandate p { font-family: var(--eaf-font-serif); font-size: 18px; color: var(--eaf-navy-dark); line-height: 1.72; font-weight: 400; margin: 0; }
.e-con.eaf-mandate-con { border-top: var(--eaf-hairline); }

/* ---- Campus page tour CTA -------------------------------------------- */
.e-con.eaf-tour { flex-direction: row; align-items: center; justify-content: space-between; gap: 60px; border-top: var(--eaf-hairline); padding: 80px var(--eaf-gutter) !important; }
.eaf-tour .elementor-widget-heading { margin-bottom: 14px; }
.eaf-tour .elementor-widget-text-editor { max-width: 440px; }

/* ---- Responsive ------------------------------------------------------ */
@media (max-width: 1024px) {
  .e-con.eaf-fit, .e-con.eaf-section-head__right { --width: 100%; width: 100%; max-width: 100%; }
  .e-con.eaf-cta__col, .e-con.eaf-cta2__btns, .e-con.eaf-hero__btns { width: auto; max-width: 100%; }
  .eaf-toggle { display: inline-flex; max-width: 100%; }
  .eaf-acad, .eaf-fac, .eaf-pillars, .eaf-timeline, .eaf-beyond, .eaf-3pil, .eaf-partners { grid-template-columns: repeat(2, 1fr); }
  .eaf-acad__card:nth-child(3n), .eaf-fac__col:nth-child(3n), .eaf-pillars > div:nth-child(3n), .eaf-timeline > div:nth-child(3n), .eaf-partners > div:nth-child(3n) { border-right: var(--eaf-hairline); }
  .eaf-acad__card:nth-child(2n), .eaf-fac__col:nth-child(2n), .eaf-pillars > div:nth-child(2n), .eaf-timeline > div:nth-child(2n), .eaf-partners > div:nth-child(2n) { border-right: none; }
  .eaf-acad__card, .eaf-fac__col, .eaf-pillars > div, .eaf-timeline > div, .eaf-partners > div { border-bottom: var(--eaf-hairline) !important; }
  .eaf-timeline > div { border-bottom-color: rgba(255,255,255,0.06) !important; }
  .eaf-beyond__card, .eaf-3pil > div { border-bottom: var(--eaf-hairline-dk); }
  .eaf-3pil > div { border-bottom: var(--eaf-hairline); }
  .eaf-journey, .eaf-leaders, .eaf-delivery, .eaf-steps, .eaf-metrics__grid, .eaf-metrics__grid--4 { grid-template-columns: repeat(2, 1fr); }
  .eaf-journey__step, .eaf-leader, .eaf-delivery > div, .eaf-steps button, .eaf-metrics__cell { border-bottom: var(--eaf-hairline); }
  .eaf-journey__step:nth-child(2n), .eaf-leader:nth-child(2n), .eaf-delivery > div:nth-child(2n), .eaf-steps button:nth-child(2n), .eaf-metrics__cell:nth-child(2n) { border-right: none; }
  .eaf-metrics__cell { border-bottom-color: rgba(255,255,255,0.06); }
  .eaf-hero__stats > div { flex-wrap: wrap; }
  .eaf-hero__stat { flex: 1 1 45%; padding: 16px 20px !important; border-right: none; }
  .e-con.eaf-section-head, .e-con.eaf-cta__row, .e-con.eaf-cta2, .e-con.eaf-tour, .e-con.eaf-pubs-head { flex-direction: column; align-items: flex-start; gap: 24px; }
  .eaf-mosaic, .eaf-mosaic--3 { grid-template-columns: 1fr 1fr; height: auto; }
  .eaf-mosaic__main { grid-column: 1 / -1; height: 320px; }
  .eaf-mosaic__side { grid-column: 1 / -1; grid-template-rows: none; grid-template-columns: 1fr 1fr; border-left: none; }
  .eaf-mosaic__side > div { height: 220px; border-bottom: none; border-right: var(--eaf-hairline); }
  .eaf-mosaic--3 .eaf-mosaic__cell { height: 220px; }
  .eaf-mosaic--3 .eaf-mosaic__cell:first-child { grid-column: 1 / -1; height: 320px; }
  .eaf-acdet, .eaf-stepdet, .eaf-mv, .eaf-gov, .eaf-mandate { grid-template-columns: 1fr; }
  .eaf-acdet__img { min-height: 320px; }
  .eaf-acdet__body { border-left: none; border-top: var(--eaf-hairline); }
  .eaf-mv > div, .eaf-gov > div { border-right: none !important; border-bottom: var(--eaf-hairline); }
  .eaf-gov > div { border-bottom-color: rgba(255,255,255,0.07) !important; }
  .eaf-mandate > div:first-child { padding-right: 0; border-right: none; border-bottom: var(--eaf-hairline); padding-bottom: 40px; margin-bottom: 40px; }
  .eaf-mandate > div:last-child { padding-left: 0; }
  .eaf-acsel { flex-wrap: wrap; }
  .eaf-acsel button { flex: 1 1 33%; border-bottom: var(--eaf-hairline); }
  .eaf-stepdet > div { padding: 40px 32px; }
  .eaf-mv > div { padding: 56px 48px; }
}
@media (max-width: 767px) {
  .eaf-toggle { display: flex; flex-direction: column; }
  .eaf-toggle button { white-space: normal; }
  .eaf-toggle button + button { border-left: none; border-top: var(--eaf-hairline); }
  .eaf-acad, .eaf-fac, .eaf-pillars, .eaf-timeline, .eaf-beyond, .eaf-3pil, .eaf-partners, .eaf-journey, .eaf-leaders, .eaf-delivery, .eaf-steps, .eaf-metrics__grid, .eaf-metrics__grid--4, .eaf-mosaic, .eaf-mosaic--3, .eaf-mosaic__side, .eaf-acdet__courses { grid-template-columns: 1fr; }
  .eaf-acad__card, .eaf-fac__col, .eaf-pillars > div, .eaf-timeline > div, .eaf-partners > div, .eaf-journey__step, .eaf-leader, .eaf-delivery > div, .eaf-steps button, .eaf-metrics__cell, .eaf-beyond__card, .eaf-3pil > div, .eaf-mosaic__side > div { border-right: none !important; }
  .eaf-acdet__courses div { padding-left: 0 !important; padding-right: 0 !important; border-right: none !important; }
  .eaf-hero__stat { flex-basis: 100%; }
  .eaf-hero__stat b { font-size: 24px; }
  .eaf-acsel button { flex-basis: 50%; }
  .eaf-tracks { flex-direction: column; }
  .eaf-tracks button:first-child { border-right: none; border-bottom: var(--eaf-hairline); }
  .eaf-mosaic__main, .eaf-mosaic--3 .eaf-mosaic__cell:first-child { height: 240px; }
  .eaf-mosaic__side > div, .eaf-mosaic--3 .eaf-mosaic__cell { height: 180px; }
  .eaf-mv > div, .eaf-fac__col, .eaf-pillars > div, .eaf-3pil > div, .eaf-gov > div, .eaf-acdet__body, .eaf-beyond__body { padding: 36px 24px; }
  .eaf-acdet__cap { left: 24px; bottom: 24px; }
  .eaf-acdet__cap h2 { font-size: 30px; }
  .eaf-stepdet > div, .eaf-pubs__row { padding: 32px 24px; }
  .eaf-pubs__row { grid-template-columns: 52px 1fr auto; gap: 16px; padding: 18px 0; }
  .e-con.eaf-hero__btns, .e-con.eaf-cta2__btns { flex-direction: column; align-items: stretch; }
  .e-con.eaf-cta__col { min-width: 0; width: 100%; }
}
