/* ==========================================================================
   FEI — type system (loaded last; overrides fei.css + fei-cinema.css)
   --------------------------------------------------------------------------
   Display: Source Serif 4. FEI's own logo is set in a classic Roman serif; a
            refined text-serif for headlines ties the site to the mark and
            reads as an established institution. Trimmed to wght 400–700,
            opsz 24–60 (display end) to halve the file size. Atkinson trimmed to
            wght 400–700 (33 → 20 KB). UI italics use the serif italic, so the sans
            italic only downloads where article text uses <em>.
   Text/UI: Atkinson Hyperlegible Next (Braille Institute). Built for maximum
            character distinction, which suits a bilingual, adult-learner audience.
   Labels:  no uppercase-tracked kickers or square bullets. Section labels are
            sentence-case serif italics; tags are sentence-case pills.
   Both fonts: SIL Open Font License, self-hosted.
   ========================================================================== */

@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(../fonts/source-serif-4-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(../fonts/source-serif-4-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url(../fonts/source-serif-4-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url(../fonts/source-serif-4-italic-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible Next"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(../fonts/atkinson-next-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible Next"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(../fonts/atkinson-next-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible Next"; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url(../fonts/atkinson-next-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Metric-matched fallbacks (computed from the font files) so the swap does not move layout. */
@font-face { font-family: "Source Serif Fallback"; src: local("Georgia"); size-adjust: 96.13%; ascent-override: 107.77%; descent-override: 34.85%; line-gap-override: 0%; }
@font-face { font-family: "Atkinson Fallback"; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 99.73%; ascent-override: 98.67%; descent-override: 31.69%; line-gap-override: 0%; }

:root {
  --fei-font: "Atkinson Hyperlegible Next", "Atkinson Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fei-serif: "Source Serif 4", "Source Serif Fallback", Georgia, "Times New Roman", serif;
}
body, button, input, select, textarea { font-family: var(--fei-font); }
body { font-size: 17px; line-height: 1.65; }

/* ---------- Display (serif) ---------- */
h1, h2,
.fei-display .elementor-heading-title, .fei-h2 .elementor-heading-title, .fei-phero__title .elementor-heading-title,
.fei-cta__title .elementor-heading-title, .fei-path__title .elementor-heading-title, .fei-poster__title .elementor-heading-title,
.fei-card__title .elementor-heading-title, .fei-side-name .elementor-heading-title, .fei-panel-x__title .elementor-heading-title,
.fei-proof__num .elementor-heading-title, .fei-404__code .elementor-heading-title, .fei-quote__avatar .elementor-heading-title,
.fei-statement p, .fei-quote__text p, .fei-related h2.fei-related__title, .modal__title, .apply-success h2,
.fei-prose h2, .fei-prose h3, .fei-sitemap h3, .fei-posts .elementor-post__title, .fei-posts .elementor-post__title a,
.fei-related__body h3, .fei-footer .fei-foot-phone a {
  font-family: var(--fei-serif) !important;
  font-optical-sizing: auto;
}
.fei-display .elementor-heading-title { font-weight: 600; letter-spacing: -.025em; line-height: .98; }
.fei-display--hero .elementor-heading-title, .fei-display--cta .elementor-heading-title { letter-spacing: -.03em; line-height: .94; }
.fei-display--path .elementor-heading-title { font-size: clamp(50px, 5.8vw, 88px); line-height: .98; letter-spacing: -.028em; font-weight: 600; }
.fei-display .elementor-heading-title em, .fei-cine .elementor-heading-title em { font-weight: 500; font-style: italic; letter-spacing: -.02em; }
.fei-h2 .elementor-heading-title { font-weight: 600; letter-spacing: -.022em; line-height: 1.02; }
.fei-chapter .fei-h2 .elementor-heading-title, .fei-h2--sm .elementor-heading-title { font-weight: 600; letter-spacing: -.018em; line-height: 1.06; }
.fei-phero__title .elementor-heading-title, .fei-cta__title .elementor-heading-title { font-weight: 600; letter-spacing: -.025em; }
.fei-path__title .elementor-heading-title { font-weight: 600; letter-spacing: -.012em; font-size: clamp(24px, 2vw, 30px); line-height: 1.12; }
.fei-poster__title .elementor-heading-title, .fei-card__title .elementor-heading-title, .fei-side-name .elementor-heading-title { font-weight: 600; letter-spacing: -.012em; }
.fei-panel-x__title .elementor-heading-title { font-weight: 600; letter-spacing: -.01em; }
.fei-proof__num .elementor-heading-title { font-weight: 600; letter-spacing: -.01em; }
.fei-statement p { font-weight: 500; letter-spacing: -.012em; line-height: 1.22; }
.fei-quote .fei-quote__text p { font-weight: 500; letter-spacing: -.018em; line-height: 1.16; }
.fei-quote__avatar .elementor-heading-title { font-weight: 600; font-size: 20px; }
.modal__title, .apply-success h2 { font-weight: 600; letter-spacing: -.015em; }
.fei-prose h2, .fei-prose h3 { font-weight: 600; letter-spacing: -.01em; }
.fei-404__code .elementor-heading-title { font-weight: 600; font-style: italic; }
.fei-footer .fei-foot-phone a { font-weight: 600; letter-spacing: 0; }

/* ---------- Text & UI (Atkinson Hyperlegible Next) ---------- */
h3, h4, h5, h6, .fei-h3 .elementor-heading-title, .fei-step .fei-h3 .elementor-heading-title, .fei-feature .elementor-heading-title {
  font-family: var(--fei-font); font-weight: 700; letter-spacing: -.005em;
}
.elementor-widget-button .elementor-button, .form [type=submit], .fei-filters .chip, .fei-chips a, .fei-path__tabs .e-n-tab-title {
  font-family: var(--fei-font) !important; letter-spacing: 0 !important; }
.fei-nav .elementor-nav-menu--main .elementor-item { font-family: var(--fei-font); font-weight: 600; font-size: 16px; letter-spacing: 0; }
.fei-lead p, .fei-lead { font-size: clamp(18px, 1.35vw, 21px); line-height: 1.55; }
.fei-step__no .elementor-heading-title { font-family: var(--fei-serif); font-weight: 600; font-size: 20px !important; }

/* ---------- Labels: sentence-case serif italics (replaces uppercase kickers + square bullet) ---------- */
.fei-eyebrow .elementor-heading-title, .fei-eyebrow p, p.fei-eyebrow,
.fei-eyebrow-html p, .fei-archive-eyebrow p, .fei-related__kicker, .modal__eyebrow,
.fei-footer .fei-foot-title .elementor-heading-title, .fei-cat__name .elementor-heading-title,
.fei-card__cat p, .fei-poster__cat p, .fei-related__tag {
  font-family: var(--fei-serif) !important; font-style: italic !important; font-weight: 400 !important;
  text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3 !important;
}
.fei-eyebrow .elementor-heading-title, .fei-eyebrow-html p, .fei-archive-eyebrow p, .fei-related__kicker, .modal__eyebrow { font-size: clamp(18px, 1.4vw, 21px) !important; }
.fei-eyebrow .elementor-heading-title::before { content: none !important; display: none !important; }
/* Hero location line reads like a dateline: muted, not a coloured badge. */
.fei-cine .fei-eyebrow .elementor-heading-title, .fei-on-dark .fei-eyebrow.elementor-widget-heading .elementor-heading-title { color: rgba(255,255,255,.78); }
.fei-on-blue .fei-eyebrow.elementor-widget-heading .elementor-heading-title { color: rgba(255,255,255,.9); }
.fei-bg-paper .fei-eyebrow .elementor-heading-title, .fei-bg-tint .fei-eyebrow .elementor-heading-title, .fei-cine .fei-path__card .fei-eyebrow.elementor-widget-heading .elementor-heading-title { color: var(--fei-blue-dark); }
.fei-footer .fei-foot-title .elementor-heading-title { font-size: 19px !important; color: rgba(255,255,255,.7) !important; }
.fei-card__cat p, .fei-poster__cat p, .fei-related__tag { font-size: 16px !important; }
.fei-poster__cat p, .fei-night .fei-related__tag { color: rgba(255,255,255,.75) !important; }
.modal__eyebrow { color: var(--fei-blue-dark); margin-bottom: 4px; }
.fei-toc .fei-eyebrow { font-size: 18px !important; color: var(--fei-navy); margin-bottom: 8px; }

/* Tags & small labels: sentence case, no tracking */
.fei-proglist a span, .fei-path__tag, .fei-card__badge p, .fei-poster__badge p, .fei-posts .elementor-post__badge,
.fei-fact__label p, .fei-side-fact__l p, .fei-related-courses span, .fei-sitemap h3, .fei-tab-count {
  text-transform: none !important; letter-spacing: 0 !important; }
.fei-path__tag, .fei-proglist a span { font-size: 13px; font-weight: 700; padding: 4px 10px; }
.fei-card__badge p, .fei-poster__badge p { font-size: 14px; font-weight: 700; padding: 8px 14px; }
.fei-posts .elementor-post__badge { font-size: 13px !important; font-weight: 700 !important; }
.fei-fact__label p, .fei-side-fact__l p { font-size: 14px; font-weight: 400; }
.fei-sitemap h3 { font-size: 18px; font-style: italic; font-weight: 400; color: var(--fei-blue-dark); }
.fei-related-courses span { font-size: 13px; font-weight: 700; }
.fei-crumbs { font-size: 14px; }
.fei-utility { font-size: 14px; }

/* ---------- Lists: plain check marks and serif numerals (no filled squares, no "01" boxes) ---------- */
.fei-list--check li { padding-left: 32px; }
.fei-list--check li::before { background: none !important; width: 20px; height: 20px; top: 15px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--fei-blue) !important; }
.fei-on-dark .fei-list--check li::before { background-color: var(--fei-gold) !important; }
.fei-enroll-facts li::before { background: none !important; width: 22px; height: 22px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--fei-gold) !important; }
.fei-enroll-facts li { font-weight: 500; font-size: 16px; }
.fei-list--num li { padding-left: 44px; }
.fei-list--num li::before { content: counter(fei) "." !important; background: none !important; width: auto; height: auto; top: 16px; display: block;
  font-family: var(--fei-serif); font-style: italic; font-weight: 600; font-size: 22px; line-height: 1.2; color: var(--fei-blue-dark); }

/* UI italics use the serif italic (already loaded for labels), not a second sans italic file. */
.fei-quote__role p, .fei-hero__chip p, .fei-quote__role em { font-family: var(--fei-serif) !important; font-style: italic; }
.fei-hero__chip p { font-size: 18px; font-weight: 500; }
.fei-quote__role p { font-size: 16px; }
@media (max-width: 767px) {
  .fei-utility { font-size: 12.5px; }
  .fei-utility .elementor-icon-list-item + .elementor-icon-list-item::before { margin: 0 8px; }
  .fei-header .fei-utility .fei-lang { margin-left: 6px; }
}
@media (max-width: 400px) {
  .fei-utility { font-size: 12px; }
  .fei-utility .elementor-icon-list-item + .elementor-icon-list-item::before { margin: 0 7px; }
  .fei-lang a { min-width: 28px; padding: 0 4px; }
}

/* v6 (Oct 30 2026): the deck's headline is two long lines ("Career training in Miami." / "From healthcare to HVAC.");
   size it so each stays on one line and the hero still fits the first screen. */
@media (min-width: 1025px) {
  .fei-display--path .elementor-heading-title { font-size: clamp(40px, min(4.1vw, 7.2vh), 64px); line-height: 1.02; }
}
@media (max-width: 767px) {
  .fei-display--path .elementor-heading-title { font-size: clamp(34px, 9.4vw, 44px); line-height: 1.04; }
}

/* v7 (Nov 2 2026): the decks' page headlines are full sentences; size them as statements, not titles. */
.fei-display--program .elementor-heading-title { font-size: clamp(34px, min(3.6vw, 6.6vh), 56px) !important; line-height: 1.05 !important; letter-spacing: -.02em; }
@media (max-width: 767px) { .fei-display--program .elementor-heading-title { font-size: clamp(30px, 8.4vw, 38px) !important; } }
.fei-cine .fei-display:not(.fei-display--path):not(.fei-display--program):not(.fei-display--cta) .elementor-heading-title { font-size: clamp(34px, min(3.8vw, 7vh), 60px); line-height: 1.04; }
.fei-display--cta .elementor-heading-title { font-size: clamp(32px, 3.6vw, 56px) !important; line-height: 1.05; }
.fei-hero-notes a { color: var(--fei-gold); font-weight: 700; }

/* ---- Round 2 (Elias Kawa's review, Nov 2026): bright home hero with a compact inquiry form ---- */
/* Header: solid from the start on a page that opens with the light hero (it was transparent over a dark photo). */
body:has(.fei-hero2) .fei-header .fei-utility { background: var(--fei-night); border-color: transparent; }
body:has(.fei-hero2) .fei-header .fei-mainbar { background: #fff; border-color: var(--fei-line); box-shadow: 0 10px 30px -18px rgba(11,21,48,.35); }
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-nav-menu--main .elementor-item { color: var(--fei-navy); }
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-nav-menu--main .elementor-item:hover,
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-nav-menu--main .elementor-item.highlighted { color: var(--fei-blue); }
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--fei-navy); box-shadow: inset 0 -2px 0 var(--fei-gold); }
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-menu-toggle { background: var(--fei-tint) !important; color: var(--fei-navy) !important; }
body:has(.fei-hero2) .fei-header:not(.is-stuck) .fei-nav .elementor-menu-toggle svg { fill: var(--fei-navy); }

/* Hero */
.e-con.fei-hero2 { padding-top: calc(var(--fei-header-total) + 36px) !important; padding-bottom: 56px !important; background: linear-gradient(180deg, #EAF3FB 0%, #F7FAFC 70%) !important; }
.fei-hero2__copy { align-self: stretch; }
.fei-hero2 .fei-eyebrow .elementor-heading-title { color: var(--fei-blue-dark) !important; }
.fei-hero2__title .elementor-heading-title { font-family: var(--fei-serif); font-size: clamp(38px, 4.2vw, 64px); line-height: 1.04; letter-spacing: -.02em; font-weight: 600; color: var(--fei-navy); text-wrap: balance; }
.fei-hero2__lede p { margin: 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; color: var(--fei-gray); max-width: 38ch; }
.fei-hero2 .fei-btn--outline .elementor-button { color: var(--fei-navy) !important; border-color: var(--fei-navy) !important; background: transparent !important; }
.fei-hero2__photo img { width: 100% !important; height: auto !important; max-height: 360px; object-fit: cover; object-position: center 30%; border-radius: 6px; box-shadow: var(--fei-shadow); display: block; }
/* Inquiry card */
.e-con.fei-hero2__form { background: #fff; border-top: 4px solid var(--fei-gold); box-shadow: var(--fei-shadow-lg); padding: 26px 26px 22px !important; border-radius: 6px; }
.fei-hero2__form-title .elementor-heading-title { font-family: var(--fei-serif); font-size: 28px; line-height: 1.1; font-weight: 600; color: var(--fei-navy); }
.fei-hero2__form-sub p { margin: 0 0 6px; font-size: 15.5px; line-height: 1.45; color: var(--fei-gray); }
.fei-hero2__form .fei-form-card { padding: 0 !important; box-shadow: none !important; border: 0 !important; background: transparent; }
.fei-hero2__form .form { gap: 10px 12px; }
.fei-hero2__form .form .field { gap: 4px; }
.fei-hero2__form .form label:not(.consent) { font-size: 13px; }
.fei-hero2__form .form input[type=text], .fei-hero2__form .form input[type=email], .fei-hero2__form .form input[type=tel], .fei-hero2__form .form select { min-height: 44px !important; height: 44px; padding-top: 8px; padding-bottom: 8px; font-size: 15px; }
.fei-hero2__form .form .field--full:not(#af-program-field) { grid-column: auto; }   /* ZIP beside Program */
.fei-hero2__form .form #af-program-field { grid-column: auto; }
.fei-hero2__form .form .consent { font-size: 12px; line-height: 1.4; gap: 8px; }
.fei-hero2__form .form .consent-fine { font-size: 11.5px; line-height: 1.4; margin: 0; }
.fei-hero2__form .form [type=submit] { min-height: 50px; }
.fei-hero2__form .fei-form-note { margin-top: 2px !important; }
/* Program explorer as its own section */
.fei-programs2 .fei-path__card { max-width: 1120px; margin: 0 auto; width: 100%; box-shadow: var(--fei-shadow-lg); }
/* Advantage portrait: keep faces in frame */
.fei-portrait--faces img { object-position: center 18% !important; }
.fei-faq-still p { margin: 0; font-size: 16px; color: var(--fei-gray); }
.fei-faq-still a { color: var(--fei-blue-dark); font-weight: 700; }
@media (max-width: 1024px) {
  .fei-hero2__photo img { max-height: 300px; }
}
@media (max-width: 767px) {
  .e-con.fei-hero2 { padding-top: calc(var(--fei-header-total) + 20px) !important; }
  .fei-hero2__form .form .field--full:not(#af-program-field), .fei-hero2__form .form #af-program-field { grid-column: 1 / -1; }
  .fei-hero2__photo img { max-height: 220px; }
}
.e-con.fei-hero2 > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ---- Round 3 (Elias's review, Nov 2026): photography, faces, visual balance ---- */
/* Every FEI photo is framed on its faces (focus points read from each image), wherever it appears and at any crop. */
img[src*="fei-photo-advisor-0bfd6d"] { object-position: 62% 28% !important; }
img[src*="fei-photo-business-aebaa0"] { object-position: 60% 18% !important; }
img[src*="fei-photo-financial-5871a0"] { object-position: 50% 32% !important; }
img[src*="fei-photo-students-26defa"] { object-position: 50% 45% !important; }
img[src*="fei-photo-support-3c1124"] { object-position: 70% 22% !important; }
img[src*="fei-photo-program-business-administration-4ee8c1"] { object-position: 45% 40% !important; }
img[src*="fei-photo-program-business-administration-mobile-814abc"] { object-position: 55% 36% !important; }
img[src*="fei-photo-program-business-management-8a4ef1"] { object-position: 50% 32% !important; }
img[src*="fei-photo-program-business-management-mobile-c90ae6"] { object-position: 60% 26% !important; }
img[src*="fei-photo-program-culinary-arts-6638a6"] { object-position: 50% 36% !important; }
img[src*="fei-photo-program-culinary-arts-mobile-08fead"] { object-position: 40% 22% !important; }
img[src*="fei-photo-program-culinary-hospitality-management-bfe2a4"] { object-position: 42% 28% !important; }
img[src*="fei-photo-program-culinary-hospitality-management-mobile-9e2cd3"] { object-position: 30% 14% !important; }
img[src*="fei-photo-program-hvac-8cf8d9"] { object-position: 60% 28% !important; }
img[src*="fei-photo-program-hvac-mobile-aa36f9"] { object-position: 45% 20% !important; }
img[src*="fei-photo-program-medical-assistant-f44771"] { object-position: 55% 32% !important; }
img[src*="fei-photo-program-medical-assistant-mobile-c25225"] { object-position: 50% 24% !important; }
img[src*="fei-photo-program-medical-billing-coding-8fb227"] { object-position: 55% 30% !important; }
img[src*="fei-photo-program-medical-billing-coding-mobile-92eb9d"] { object-position: 50% 36% !important; }
img[src*="fei-photo-program-medical-office-administrator-e3c510"] { object-position: 25% 38% !important; }
img[src*="fei-photo-program-medical-office-administrator-mobile-7e95f8"] { object-position: 25% 22% !important; }
img[src*="fei-photo-program-pastry-baking-arts-d411a1"] { object-position: 50% 42% !important; }
img[src*="fei-photo-program-pastry-baking-arts-mobile-05f486"] { object-position: 50% 34% !important; }
img[src*="fei-photo-program-pastry-baking-management-084c90"] { object-position: 50% 40% !important; }
img[src*="fei-photo-program-pastry-baking-management-mobile-4eda47"] { object-position: 55% 28% !important; }
img[src*="fei-photo-program-pharmacy-technician-97ec7d"] { object-position: 38% 45% !important; }
img[src*="fei-photo-program-pharmacy-technician-mobile-07ea9d"] { object-position: 50% 32% !important; }
img[src*="fei-photo-cta-graduation-fdeb6d"] { object-position: 40% 38% !important; }
img[src*="fei-photo-admissions-pharmacy-team-ccce35"] { object-position: 50% 30% !important; }
/* Lighter page-hero grade: the photo shows; text keeps its dark backing on the left and bottom. */
:root { --fei-cine-grade: linear-gradient(90deg, rgba(11,21,48,.9) 0%, rgba(11,21,48,.66) 40%, rgba(11,21,48,.16) 80%, rgba(11,21,48,.04) 100%),
                          linear-gradient(0deg, rgba(11,21,48,.82) 0%, rgba(11,21,48,.24) 38%, rgba(11,21,48,0) 58%),
                          linear-gradient(180deg, rgba(11,21,48,.5) 0%, rgba(11,21,48,0) 20%); }
/* Split sections (closing banner, home financial aid): the photo sits beside the copy, never under it. */
.fei-split__photo { padding: 0 !important; }
.fei-split__img img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); display: block; }
.fei-split--cta .fei-h2 .elementor-heading-title { font-size: clamp(34px, 3.6vw, 56px); }
.e-con.fei-split--aid { background-color: #005399 !important; }
.fei-split--aid .fei-split__img img { aspect-ratio: 4 / 3; }
.fei-split--aid .fei-aid-list li { color: #fff; }
@media (max-width: 767px) { .fei-split__img img { aspect-ratio: 4 / 3; } }
/* Program video button: in the corner, off people's faces. */
.fei-glance .fei-play, button.fei-play { left: 14px !important; top: auto !important; bottom: 14px; transform: none !important; width: 52px !important; height: 52px !important; }
.fei-glance .fei-play:hover, button.fei-play:hover { transform: scale(1.06) !important; }
.fei-play span { border-left-width: 16px !important; border-top-width: 10px !important; border-bottom-width: 10px !important; }
/* Program photo card on phones: tall enough to keep heads in frame. */
@media (max-width: 767px) { .fei-glance__photo { aspect-ratio: 16 / 11 !important; } }

/* ---- Round 6 (Nov 2026): mobile action bar stays out of the way of the inquiry forms ---- */
body:has(#applyModal.is-open) .fei-mbar { display: none !important; }
body.fei-heroform-in-view .fei-mbar { opacity: 0 !important; transform: translateY(110%) !important; pointer-events: none !important; }

/* FEI consent block (Nov 2026): section labels for "Optional communication consent" / "Application acknowledgment" */
.form .consent-head { margin: 6px 0 -4px; font-size: 12.5px; font-weight: 700; color: var(--fei-navy); letter-spacing: .01em; }
.form .consent-fine em { font-style: italic; color: var(--fei-gray); }
.fei-hero2__form .form .consent-head { font-size: 12px; margin: 4px 0 -4px; }

/* ---------- Program landing pages (/lp/<program>) — layout v2 (Elias, 10 Nov 2026): 5 sections, one form ---------- */
/* Header: sticky, shrinks on scroll; the yellow button shows only once the hero form is off screen */
.e-con.fei-lp-top { border-bottom: 1px solid #E2E8F0; position: sticky; top: 0; z-index: 60; transition: padding .2s ease; }
.fei-lp-top__logo img { width: 52px; transition: width .2s ease; }
body.fei-lp-scrolled .e-con.fei-lp-top { padding-top: 6px !important; padding-bottom: 6px !important; }
body.fei-lp-scrolled .fei-lp-top__logo img { width: 40px; }
.e-con.fei-lp-top__actions { flex-wrap: nowrap; width: auto !important; flex: 0 0 auto !important; margin-left: auto; justify-content: flex-end; }
.fei-lp-top__actions > .elementor-element { width: auto !important; }
.fei-lp-top__req { transition: opacity .2s ease; }
body.fei-heroform-in-view .fei-lp-top__req, body:not(.fei-lp-scrolled) .fei-lp-top__req { opacity: 0; visibility: hidden; pointer-events: none; }
.fei-lp-top__req .elementor-button { padding: 11px 18px !important; font-size: 14.5px !important; }
.fei-lp-top__call { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 2px solid var(--fei-navy); color: var(--fei-navy); font-weight: 700; font-size: 14.5px; text-decoration: none; border-radius: 2px; white-space: nowrap; min-height: 44px; }
.fei-lp-top__call:hover, .fei-lp-top__call:focus-visible { background: var(--fei-navy); color: #fff; }
/* Hero: photo under the chips, columns end level */
.e-con.fei-hero2.fei-lp-hero { padding-top: 40px !important; padding-bottom: 56px !important; }
.fei-lp-hero .fei-hero2__title .elementor-heading-title { font-size: clamp(34px, 3.4vw, 52px); }
.fei-lp-hero .fei-hero2__lede p { max-width: 50ch; }
.fei-lp-hero .fei-hero2__lede p + p { margin-top: 12px; }
.fei-lp-hero__copy { display: flex; flex-direction: column; }
.fei-lp-hero .fei-lp-hero__photo { flex: 1 1 auto; min-height: 260px; display: flex; }
.fei-lp-hero .fei-lp-hero__photo .elementor-widget-container, .fei-lp-hero .fei-lp-hero__photo a { display: flex; width: 100%; }
.fei-lp-hero .fei-lp-hero__photo img { width: 100% !important; height: 100% !important; max-height: 560px !important; min-height: 260px; object-fit: cover; border-radius: 6px; }
.fei-lp-hero__more p { font-size: 16px !important; }
.fei-lp-note { color: var(--fei-gray); font-size: 14.5px !important; }
.fei-lp-facts.fei-deck-facts { color: var(--fei-ink, #1A202C); gap: 10px 12px; }
.fei-lp-facts.fei-deck-facts li { background: #fff; border: 1px solid #D6E2EE; border-radius: 4px; padding: 8px 12px; font-size: 14.5px; }
.fei-lp-facts.fei-deck-facts strong { color: var(--fei-blue-dark); display: block; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 2px; }
.fei-lp-callnote p { margin: 4px 0 0; font-size: 14px; color: var(--fei-gray); text-align: center; }
.fei-lp-callnote a { color: var(--fei-blue-dark); font-weight: 700; }
#lp-form .form .field:has(#af-zip) { grid-column: 1 / -1; }          /* zip full width: no orphaned half row */
#lp-form .form-summary { display: none !important; }                  /* errors show beside each field */
/* Accreditation strip */
.e-con.fei-lp-strip { border-bottom: 1px solid #E2E8F0; }
.fei-lp-coe img { width: 132px !important; height: auto; display: block; }
.fei-lp-strip .fei-eyebrow .elementor-heading-title { font-size: 13px; }
.fei-lp-strip__body p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--fei-gray); }
.fei-lp-strip__body .fei-h3 .elementor-heading-title { font-size: 15px; }
.fei-lp-awardfacts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: 15px; color: var(--fei-ink, #1A202C); }
.fei-lp-awardfacts strong { color: var(--fei-blue-dark); margin-right: 6px; }
/* Sections: wider column, about half the padding, smaller block headlines */
.fei-lp-block__title .elementor-heading-title { font-family: var(--fei-serif); font-size: clamp(22px, 1.9vw, 28px); line-height: 1.18; color: var(--fei-navy); font-weight: 600; text-wrap: balance; }
.fei-lp-sec .fei-eyebrow .elementor-heading-title { font-size: 13px; }
.fei-lp-sec .fei-text p, .fei-lp-block p { font-size: 16px; line-height: 1.6; }
.fei-lp-sec .fei-journey .fei-step p { color: var(--fei-gray); }
.fei-lp-subjects { margin: 0; display: grid; gap: 12px; }
.fei-lp-subjects div { padding-top: 12px; border-top: 1px solid #E2E8F0; }
.fei-lp-subjects dt { font-weight: 700; color: var(--fei-navy); font-size: 15.5px; }
.fei-lp-subjects dd { margin: 2px 0 0; color: var(--fei-gray); font-size: 15px; line-height: 1.5; }
.fei-lp-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.fei-lp-points li { padding: 16px 18px; background: #F7FAFC; border-left: 3px solid var(--fei-gold); }
.fei-lp-points strong { display: block; color: var(--fei-navy); margin-bottom: 4px; }
.fei-lp-points span { color: var(--fei-gray); font-size: 15px; line-height: 1.55; }
.fei-lp-qgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fei-lp-qgrid li { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid #D6E2EE; border-radius: 4px; padding: 14px 16px; font-size: 15.5px; color: var(--fei-ink, #1A202C); }
.fei-lp-qgrid__icon { flex: 0 0 26px; height: 26px; border-radius: 50%; background: var(--fei-navy); color: #fff; font-weight: 700; display: grid; place-items: center; font-size: 14px; }
.fei-lp-cards .fei-deck-card { background: #fff; }
.fei-lp-jobhelp { border-top: 1px solid #D6E2EE; padding-top: 24px !important; }
/* Button row (yellow button + call line), repeated after sections 2-4 */
.fei-lp-row { padding-top: 8px; }
.fei-lp-row__call p { margin: 0; font-size: 15px; color: var(--fei-gray); }
.fei-lp-row__call a { color: var(--fei-blue-dark); font-weight: 700; }
/* Closing band: copy left, How-to-get-started steps right */
.fei-lp-closing-band .fei-lp-block__title .elementor-heading-title { color: #fff; }
.fei-lp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.fei-lp-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.fei-lp-steps__no { width: 44px; height: 44px; display: grid; place-items: center; background: var(--fei-gold); color: var(--fei-navy); font-weight: 800; font-size: 18px; border-radius: 2px; }
.fei-lp-steps h3 { margin: 0 0 4px; color: #fff; font-size: 18px; font-family: inherit; font-weight: 700; }
.fei-lp-steps p { margin: 0; color: rgba(255,255,255,.84); font-size: 15px; line-height: 1.55; }
.fei-lp-closing__steps .fei-text p, .fei-lp-closing__steps .fei-note p { color: rgba(255,255,255,.84); font-size: 14.5px; }
.fei-lp-closing__steps a { color: #fff; text-decoration: underline; }
.fei-lp-foot { border-top: 1px solid rgba(255,255,255,.18); }
.fei-lp-foot p { margin: 0; font-size: 14px; line-height: 1.6; }
.fei-lp-foot .fei-legal-bar ul { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; margin: 0; padding: 0; }
.fei-lp-foot .fei-legal-bar { border-top: 1px solid rgba(255,255,255,.16); padding-top: 24px; }
/* Mobile bottom bar: out of the way while the form is in view or being filled in */
body:has(#lp-form :focus) .fei-mbar { opacity: 0; transform: translateY(110%); pointer-events: none; }
.fei-lp-hero__jump .elementor-button, .fei-lp-row .elementor-button { min-height: 48px; }
@media (max-width: 1024px) {
  .fei-lp-hero .fei-lp-hero__photo img { max-height: 380px !important; }
}
@media (max-width: 767px) {
  .fei-lp-top__call span { font-size: 14px; }
  .fei-lp-top__call { padding: 9px 12px; }
  .fei-lp-top__req { display: none; }
  .e-con.fei-hero2.fei-lp-hero { padding-top: 24px !important; padding-bottom: 40px !important; }
  .fei-lp-facts.fei-deck-facts { gap: 6px; }
  .fei-lp-facts.fei-deck-facts li { padding: 6px 10px; font-size: 13.5px; }
  .fei-lp-facts.fei-deck-facts strong { font-size: 10.5px; }
  .fei-lp-hero__jump .elementor-button { width: 100%; justify-content: center; }
  .fei-lp-hero .fei-lp-hero__photo img { max-height: 240px !important; min-height: 0; }
  .fei-lp-qgrid { grid-template-columns: 1fr; }
  .fei-lp-coe img { width: 104px !important; }
}

/* Thank-you state (layout review, 10 Nov 2026): check icon, the phone number as a full-width button, Explore Programs as a small link */
.apply-success .apply-success__mark { border-radius: 50%; background: #1E7F4F; }
.apply-success .btn.apply-success__call { display: flex; justify-content: center; width: 100%; margin-top: 18px; background: var(--fei-navy); border-color: var(--fei-navy); color: #fff; min-height: 52px; font-size: 16px; }
.apply-success .btn.apply-success__call:hover { background: #0B1530; color: #fff; }
.apply-success__more { margin: 14px 0 0; font-size: 14.5px; text-align: center; }
.apply-success__more a { color: var(--fei-blue-dark); text-decoration: underline; }

/* ---------- Homepage layout v2 (Elias, 10 Nov 2026): five sections; yellow only for requesting information ---------- */
/* 1 Hero: photo grows so the copy column ends level with the form */
.fei-home-hero__copy { display: flex; flex-direction: column; }
.fei-home-hero .fei-home-hero__photo { flex: 1 1 auto; display: flex; min-height: 280px; }
.fei-home-hero .fei-home-hero__photo .elementor-widget-container, .fei-home-hero .fei-home-hero__photo a { display: flex; width: 100%; }
.fei-home-hero .fei-home-hero__photo img { width: 100% !important; height: 100% !important; max-height: none !important; min-height: 280px; object-fit: cover; object-position: center 30%; border-radius: 6px; }
@media (max-width: 1024px) { .fei-home-hero .fei-home-hero__photo img { max-height: 420px !important; } }
@media (max-width: 767px) { .fei-home-hero .fei-home-hero__photo img { max-height: 240px !important; min-height: 0; } .fei-home-hero .fei-btn .elementor-button { width: 100%; justify-content: center; } }
/* Section headlines a size smaller, about half the padding */
.fei-home-block__title .elementor-heading-title { font-family: var(--fei-serif); font-size: clamp(26px, 2.4vw, 36px); line-height: 1.12; font-weight: 600; color: var(--fei-navy); text-wrap: balance; }
.fei-on-dark .fei-home-block__title .elementor-heading-title { color: #fff; }
.fei-home-programs .fei-h2 .elementor-heading-title { font-size: clamp(30px, 2.8vw, 42px); }
/* 2 Programs: all eleven, four columns */
.fei-progcol { border-top: 3px solid var(--fei-navy); padding-top: 14px !important; }
.fei-progcol__cat .elementor-heading-title { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--fei-blue-dark); font-weight: 800; }
.fei-progcol__list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fei-progcol__list a { display: grid; gap: 4px; padding: 14px 16px; background: #F7FAFC; border: 1px solid #E2E8F0; border-radius: 4px; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.fei-progcol__list a:hover, .fei-progcol__list a:focus-visible { border-color: var(--fei-navy); background: #fff; }
.fei-progcol__name { font-weight: 700; color: var(--fei-navy); font-size: 16.5px; line-height: 1.3; }
.fei-progcol__study { color: var(--fei-gray); font-size: 14.5px; line-height: 1.5; }
.fei-progcol__tag { justify-self: start; margin-top: 4px; font-size: 12px; font-weight: 700; letter-spacing: .03em; color: var(--fei-blue-dark); background: #E6F0FA; padding: 3px 8px; border-radius: 3px; }
/* 3 Why FEI: navy band, photo beside six points */
.fei-home-why .fei-home-why__photo { aspect-ratio: auto; min-height: 420px; }
.fei-home-why .fei-features .fei-feature { border-top-color: var(--fei-gold); }
.fei-home-why .fei-lead p { max-width: 62ch; }
@media (max-width: 1024px) { .fei-home-why .fei-home-why__photo { min-height: 320px; aspect-ratio: 16 / 9; } }
/* 4 Cost and how to start */
.fei-home-aid__img img { width: 100% !important; height: auto; max-height: 360px; object-fit: cover; border-radius: 6px; display: block; }
.fei-home-cost .fei-aid-list { margin: 12px 0; padding-left: 20px; }
.fei-home-adm { border-top: 1px solid #D6E2EE; padding-top: 40px !important; }
.fei-home-steps { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.fei-home-steps li { background: #fff; border: 1px solid #D6E2EE; border-radius: 4px; padding: 18px; }
.fei-home-steps__no { width: 36px; height: 36px; display: grid; place-items: center; background: var(--fei-navy); color: #fff; font-weight: 800; font-size: 16px; border-radius: 2px; margin-bottom: 12px; }
.fei-home-steps h4 { margin: 0 0 6px; font-size: 17px; color: var(--fei-navy); font-family: inherit; font-weight: 700; line-height: 1.3; }
.fei-home-steps p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--fei-gray); }
@media (max-width: 1024px) { .fei-home-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .fei-home-steps { grid-template-columns: 1fr; } }
/* Step numbers on yellow squares elsewhere: dark navy on gold for contrast */
.fei-step__no .elementor-heading-title { color: var(--fei-navy) !important; }
.fei-on-dark .fei-step__no .elementor-heading-title { background: var(--fei-gold); color: var(--fei-navy) !important; }
/* 5 Questions on white; footer divided from the closing band */
.fei-home-faq .fei-btn--link .elementor-button { padding-left: 0 !important; }
.fei-footer { border-top: 1px solid rgba(255,255,255,.2); }
.fei-home-cost .fei-aid-list li, .fei-home-cost .fei-text li { color: var(--fei-ink, #1A202C) !important; }
.fei-home-cost .fei-text p { color: var(--fei-gray); }
.fei-home-cost .fei-call-note p { color: var(--fei-gray) !important; }
.fei-home-cost .fei-call-note a { color: var(--fei-blue-dark) !important; font-weight: 700; }
@media (max-width: 767px) {
  .fei-hero2__form .form { grid-template-columns: minmax(0, 1fr) !important; }
  .fei-hero2__form .form .field, .fei-hero2__form .form input, .fei-hero2__form .form select, .fei-hero2__form .iti { min-width: 0 !important; max-width: 100%; width: 100%; }
  .e-con.fei-hero2__form { padding: 20px 16px 18px !important; }
}
@media (max-width: 1024px) { .fei-lp-strip__grid > .fei-lp-strip__body { grid-column: 1 / -1; min-width: 0; } .fei-lp-strip__grid > * { min-width: 0; } }
@media (max-width: 480px) { .elementor-button { white-space: normal !important; text-align: center; max-width: 100%; } .elementor-button .elementor-button-content-wrapper { flex-wrap: nowrap; } }
@media (max-width: 480px) { .form [type=submit], .apply-success .btn { white-space: normal !important; text-align: center; height: auto; min-height: 52px; padding-top: 10px; padding-bottom: 10px; } .form [type=submit] svg { flex: 0 0 auto; } }

/* ---------- Round 8 (Elias, 11 Nov 2026): blue homepage hero, compact form, photo collage, student videos, program photo band ---------- */
/* Homepage hero: FEI blue, cleaner and lighter; the form card stays white */
.e-con.fei-hero3 { background: linear-gradient(160deg, #0A62B0 0%, #005399 45%, #0B3D73 100%) !important; padding-top: calc(var(--fei-header-total) + 40px) !important; padding-bottom: 64px !important; }
body:has(.fei-hero3) .elementor-location-header { background: #fff; }
.fei-hero3 .fei-eyebrow .elementor-heading-title { color: rgba(255,255,255,.86) !important; }
.fei-hero3 .fei-hero2__title .elementor-heading-title { color: #fff; }
.fei-hero3 .fei-hero2__lede p { color: rgba(255,255,255,.9); }
.fei-hero3 .fei-hero2__lede p.fei-hero3__reach { margin-top: 10px; font-size: 16px; color: rgba(255,255,255,.78); }
.fei-hero3 .fei-btn--light .elementor-button { color: #fff !important; border-color: rgba(255,255,255,.8) !important; }
.fei-hero3 .fei-btn--light .elementor-button:hover { background: #fff !important; color: var(--fei-navy) !important; }
/* the white form card inside a dark section: dark text again */
.fei-hero3 .fei-hero3__form, .fei-hero3 .fei-hero3__form p, .fei-hero3 .fei-hero3__form li, .fei-hero3 .fei-hero3__form label { color: var(--fei-ink, #1A202C); }
.fei-hero3 .fei-hero3__form .elementor-heading-title { color: var(--fei-navy) !important; }
.fei-hero3 .fei-hero3__form .fei-hero2__form-sub p, .fei-hero3 .fei-hero3__form .consent, .fei-hero3 .fei-hero3__form .consent-fine { color: var(--fei-gray) !important; }
.fei-hero3 .fei-hero3__form .consent-head { color: var(--fei-navy) !important; }
.fei-hero3 .fei-hero3__form a { color: var(--fei-blue-dark); }
.fei-hero3 .fei-steps__count { color: var(--fei-gray); }
/* collage: four real FEI photos, rounded and staggered */
.fei-collage { display: grid; grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: 150px 150px; gap: 12px; margin-top: 6px; }
.fei-collage__item { margin: 0; overflow: hidden; border-radius: 18px; box-shadow: 0 10px 30px rgba(3, 20, 48, .28); }
.fei-collage__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fei-collage__item--1 { grid-row: 1 / 3; border-radius: 120px 18px 18px 18px; }
.fei-collage__item--1 img { object-position: 50% 25%; }
.fei-collage__item--2 { border-radius: 18px 80px 18px 18px; }
.fei-collage__item--2 img { object-position: 50% 20%; }
.fei-collage__item--3 { grid-column: 2 / 4; }
.fei-collage__item--3 img { object-position: 50% 30%; }
.fei-collage__item--4 { grid-column: 3; grid-row: 1; border-radius: 50%; aspect-ratio: 1; align-self: center; justify-self: center; width: 100%; max-width: 150px; }
.fei-collage__item--4 img { object-position: 50% 20%; }
@media (max-width: 767px) {
  .fei-collage { grid-template-rows: 110px 110px; gap: 8px; }
  .fei-collage__item--4 { max-width: 110px; }
  .e-con.fei-hero3 { padding-top: calc(var(--fei-header-total) + 20px) !important; padding-bottom: 40px !important; }
}
/* compact two-step form: tighter card */
.fei-hero3__form .fei-steps__nav { margin-top: 4px; }
/* Student stories (video testimonials) */
.fei-testis { display: grid; gap: 20px; }
.fei-testis--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fei-testis--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fei-testis--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .fei-testis--3, .fei-testis--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fei-testis { grid-template-columns: 1fr !important; } }
.fei-testi { margin: 0; display: flex; flex-direction: column; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; overflow: hidden; }
.fei-testi__play { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 0; background: #0B1530; cursor: pointer; overflow: hidden; }
.fei-testi__play img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform .3s ease; }
.fei-testi__play:hover img, .fei-testi__play:focus-visible img { transform: scale(1.03); }
.fei-testi__icon { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: var(--fei-gold); box-shadow: 0 6px 20px rgba(0,0,0,.35); }
.fei-testi__icon::after { content: ""; position: absolute; left: 26px; top: 20px; border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent var(--fei-navy); }
.fei-testi__lang { position: absolute; left: 10px; top: 10px; background: rgba(11,21,48,.82); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 8px; border-radius: 3px; letter-spacing: .02em; }
.fei-testi figcaption { padding: 18px 18px 20px; display: grid; gap: 10px; }
.fei-testi blockquote { margin: 0; font-family: var(--fei-serif); font-size: 18px; line-height: 1.4; color: #fff; }
.fei-testi figcaption p { margin: 0; font-size: 14px; color: rgba(255,255,255,.78); }
.fei-testi figcaption strong { color: #fff; }
.fei-testi__note { display: block; margin-top: 4px; font-size: 12.5px; color: rgba(255,255,255,.62); font-style: italic; }
.fei-testi-band .fei-note p { color: rgba(255,255,255,.7); font-size: 13.5px; }
/* Program pages: photo band of real FEI students */
.fei-photoband .fei-photoband__img img { width: 100% !important; height: 260px !important; object-fit: cover; object-position: 50% 30%; border-radius: 8px; display: block; }
@media (max-width: 767px) { .fei-photoband .fei-photoband__img img { height: 120px !important; border-radius: 6px; } }
/* Three CTAs (Get Program Information / Schedule a Campus Tour / Talk to Admissions) */
.fei-cta3 { padding-top: 8px; }
.fei-cta3 .fei-call-note p { color: var(--fei-gray); }
.fei-cta3 .fei-call-note a { color: var(--fei-blue-dark); font-weight: 700; }
/* 3-step "How to get started" row on program pages */
.fei-home-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .fei-home-steps--3 { grid-template-columns: 1fr; } }
/* testimonial cards reuse .fei-play (opens the video pop-up) but not its round-button look */
button.fei-play.fei-testi__play { position: relative !important; left: auto !important; top: auto !important; bottom: auto !important; transform: none !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; background: #0B1530 !important; display: block; }
button.fei-play.fei-testi__play:hover { background: #0B1530 !important; transform: none !important; }
.fei-testi__play img { position: absolute; inset: 0; }
/* hero: form card centered against the collage column */
.fei-hero3 > .e-con-inner > .fei-hero3__form, .e-con.fei-hero3 > .fei-hero3__form { align-self: center; }
.fei-testis--2 { max-width: 880px; }
.fei-testi__lang { font-style: normal; }
.fei-lp-closing__steps .fei-lp-steps h3 { color: #fff !important; }
.fei-home-steps h4 { color: var(--fei-navy) !important; }
.fei-testi blockquote { color: #fff !important; }
