/* JCI site shell, part 3: mega menu, footer and responsive shell. */
/* 2026-06-19 mega menu search row and utility refinement */


/* Hide Google reCAPTCHA */
.rc-anchor-invisible {
  display: none !important;
}






/* 2026-06-19 mega menu regression fix: remove scrollbar and restore search usability */


/* 2026-06-19 mega menu usability hotfix */







/* 2026-06-19 mega menu viewport fit follow-up */



/* 2026-06-19 mega menu box sizing follow-up */



/* 2026-06-19 fixed admin viewport fit */



/* 2026-06-19 mega menu editorial refresh */





/* 2026-06-19 mega menu editorial refinement pass 2 */





/* 2026-06-19 mega menu editorial refinement pass 2 follow-up */



/* 2026-06-22 mega menu communication polish: translatable PHP microcopy. */



/* 2026-06-22 prevent double underline on mega menu hover links. */



/* 2026-06-22 hard stop native underline in mega menu links. */


/* 2026-06-22 footer five-column option-page layout. */




.site-footer__top-grid {
  display: grid !important;
  
  
  align-items: start !important;
  margin-top: 0 !important;
}

.site-footer__column--nav h3,  
.site-footer__column--programs h3,  
.site-footer__languages h3 {
  
  color: #fff !important;
  
  font-weight: 500 !important;
}



.site-footer__links a,  
.site-footer__links--html a {
  color: #fff !important;
  
  font-weight: 400 !important;
  
  text-decoration: none !important;
}

.site-footer__links a:hover,  
.site-footer__links a:focus-visible,  
.site-footer__links--html a:hover,  
.site-footer__links--html a:focus-visible {
  color: #487CFF !important;
  text-decoration: none !important;
}

.site-footer__column--meta {
  justify-self: start !important;
  min-width: 0 !important;
}

.site-footer__language-switch,  
.site-footer__language-switch a,  
.site-footer__language-switch span {
  
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.site-footer__campus {
  
  
  font-weight: 700 !important;
  gap: 10px !important;
}







@media (max-width: 1180px) {
  

  .site-footer__column--meta {
    grid-column: span 2 !important;
  }
}

@media (max-width: 760px) {
  

  

  .site-footer__column--meta {
    grid-column: auto !important;
  }

  .site-footer__links li + li {
    margin-top: 14px !important;
  }

  .site-footer__campus {
    margin-top: 32px !important;
    font-size: 22px !important;
  }

  

  .site-footer__program-list li {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    font-size: 15px !important;
  }

  
}

/* 2026-06-22 remove actual mega menu hover line. */


/* 2026-06-22 footer production spacing correction. */
.site-footer__links a,  
.site-footer__links--html a {
  font-size: clamp(15px, 0.92vw, 18px) !important;
  line-height: 1.24 !important;
}

.site-footer__language-switch,  
.site-footer__language-switch a,  
.site-footer__language-switch span {
  font-size: clamp(15px, 0.92vw, 18px) !important;
}





















/* 2026-06-22 footer use homepage container and compact vertical rhythm. */
.site-footer__top-grid {
  grid-template-columns: minmax(120px, 0.95fr) minmax(120px, 0.9fr) minmax(160px, 1.05fr) minmax(190px, 1.15fr) minmax(230px, 1.25fr) !important;
  
  margin: 0 !important;
}

.site-footer__column--nav h3,  
.site-footer__column--programs h3,  
.site-footer__languages h3 {
  margin: 0 !important;
  font-size: clamp(16px, 1.05vw, 20px) !important;
  line-height: 1.16 !important;
}

.site-footer__links,  
.site-footer__program-list,  
.site-footer__social,  
.site-footer__language-switch {
  margin-bottom: 0 !important;
}



.site-footer__links a,  
.site-footer__links--html a,  
.site-footer__language-switch,  
.site-footer__language-switch a,  
.site-footer__language-switch span {
  font-size: clamp(14px, 0.92vw, 17px) !important;
  line-height: 1.2 !important;
}

.site-footer__campus {
  
  font-size: clamp(19px, 1.35vw, 25px) !important;
  line-height: 1.05 !important;
}

.site-footer__campus-icon i {
  font-size: clamp(22px, 1.7vw, 30px) !important;
}

.site-footer__campus-arrow {
  margin-left: clamp(6px, 0vw, 18px);
  font-size: clamp(24px, 1.7vw, 32px);
}

.site-footer__social {
  
  gap: 8px !important;
}

.site-footer__social a {
  width: 34px !important;
  height: 34px !important;
  font-size: 20px !important;
}

.site-footer__social a :is(i, .jci-social-icon, svg) {
  width: 20px !important;
  height: 20px !important;
  font-size: 20px !important;
}



.site-footer__programs-row .site-footer__column--programs {
  max-width: 720px !important;
}

.site-footer__program-list li {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  column-gap: 8px !important;
  font-size: clamp(13px, 0.84vw, 15px) !important;
  line-height: 1.22 !important;
}

.site-footer__program-list li + li {
  margin-top: 5px !important;
}

.site-footer__bottom {
  
  gap: clamp(28px, 4vw, 58px) !important;
}

.site-footer__brand-logo,  
.site-footer img.site-footer__brand-logo {
  width: clamp(56px, 5vw, 78px) !important;
  
}

.site-footer__legal p,  
.site-footer__legal .site-footer__legacy,  
.site-footer__legal .site-footer__member,  
.site-footer__legal .site-footer__legacy p,  
.site-footer__legal .site-footer__member p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(12px, 0.82vw, 14px) !important;
  line-height: 1.3 !important;
}



.site-footer__badges {
  align-self: end !important;
  
}

@media (max-width: 1180px) {
  .site-footer__top-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .site-footer__top-grid {
    grid-template-columns: 1fr !important;
    
  }

  

  
}

/* 2026-06-22 footer exact homepage container correction. */
.site-footer {
  padding-top: clamp(46px, 4vw, 64px) !important;
  padding-bottom: clamp(30px, 2.6vw, 42px) !important;
}

.site-footer__top-grid {
  gap: clamp(22px, 2.8vw, 44px) !important;
}

.site-footer__links li + li {
  margin-top: 8px !important;
}

.site-footer__campus {
  margin-top: clamp(22px, 1.9vw, 30px) !important;
}

.site-footer__social {
  margin-top: clamp(16px, 1.5vw, 22px) !important;
}



.site-footer__bottom {
  margin-top: clamp(44px, 4.2vw, 68px) !important;
}

.site-footer__brand-logo,  
.site-footer img.site-footer__brand-logo {
  margin: 0 0 30px 0 !important;
}

.site-footer__legal p + p {
  margin-top: 4px !important;
}

@media (max-width: 760px) {
  .site-footer__top-grid {
    gap: 24px !important;
  }

  

  .site-footer__bottom {
    margin-top: 44px !important;
  }
}

/* 2026-06-22 footer design mock refinements. */
.site-footer__links--text span {
  display: inline-block !important;
  color: #fff !important;
  font-size: clamp(14px, 0.92vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.site-footer__programs-row {
  margin-top: 0 !important;
}

.site-footer__headline {
  display: none !important;
}

.site-footer__badges {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: clamp(14px, 1.5vw, 24px) !important;
}

.site-footer__badges a {
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

.site-footer__badges img,  
.site-footer__badge-logo,  
.site-footer img.site-footer__badge-logo {
  width: auto !important;
  height: auto !important;
  max-width: clamp(78px, 5vw, 128px) ;
  max-height: clamp(64px, 4.2vw, 112px);
  object-fit: contain;
  aspect-ratio: auto;
}

.site-footer__badge-logo--jci {
  max-width: clamp(78px, 5vw, 128px) ;
  max-height: clamp(64px, 4.2vw, 112px);
}

.site-footer__legal .site-footer__legacy + .site-footer__member {
  margin-top: 4px !important;
}

.site-footer__legal .site-footer__member + .site-footer__copyright {
  margin-top: 4px !important;
}

/* Keep the footer typography on one controlled scale on wide desktop.
 * Smaller viewports continue to use the existing responsive type rules. */
@media (min-width: 1440px) {
  .site-footer__column--nav h3,
  .site-footer__column--programs h3,
  .site-footer__languages h3,
  .site-footer__links a,
  .site-footer__links--html a,
  .site-footer__links--text span,
  .site-footer__language-switch,
  .site-footer__language-switch a,
  .site-footer__language-switch span,
  .site-footer__program-list li {
    font-size: 14px !important;
  }

  .site-footer__column--nav h3,
  .site-footer__column--programs h3,
  .site-footer__languages h3 {
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .site-footer__program-list li {
    line-height: 1.24 !important;
  }

  .site-footer__legal p,
  .site-footer__legal .site-footer__legacy,
  .site-footer__legal .site-footer__member,
  .site-footer__legal .site-footer__legacy p,
  .site-footer__legal .site-footer__member p {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .site-footer__campus {
    font-size: 16px !important;
    line-height: 1.05 !important;
  }

  .site-footer__campus-icon i,
  .site-footer__campus-arrow {
    font-size: 20px !important;
  }
}

@media (max-width: 760px) {
  .site-footer__programs-row {
    margin-top: 0 !important;
  }

  .site-footer__badges {
    justify-content: flex-start !important;
  }
}

/* 2026-06-22 mega menu editorial link hover consistency. */


/* 2026-06-22 shared responsive layout pass using existing classes. */
@media (max-width: 1024px) {
  body .site-header .menu-center,  
  body .site-header .menu-center-actions,  
  body .site-header .desktop-only {
    display: none !important;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  
}





/* 2026-07-03 predictive search final overrides for desktop and mobile mega menu. */




































/* 2026-06-22 mobile open mega menu vertical alignment correction using existing classes. */


/* 2026-06-22 mobile header sticky advisor and open menu refinement using existing classes. */
@media (max-width: 768px) {
  body .site-wrapper > header.site-header .menu-right,  
  body header.site-header .menu-right {
    align-items: center !important;
  }

  body .site-wrapper > header.site-header .menu-right-actions,  
  body header.site-header .menu-right-actions {
    height: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    
    margin: 0 !important;
  }

  body .site-wrapper > header.site-header .menu-right-language,  
  body header.site-header .menu-right-language,  
  body .site-wrapper > header.site-header .lang-switch,  
  body header.site-header .lang-switch,  
  body .site-wrapper > header.site-header .menu-toggle,  
  body header.site-header .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  body .site-wrapper > header.site-header .menu-right-language {
    width: auto !important;
    min-width: 44px !important;
  }

  body .site-wrapper > header.site-header .lang-switch span,  
  body header.site-header .lang-switch span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
  }

  body .site-wrapper > header.site-header .icon-menu,  
  body header.site-header .icon-menu {
    display: block !important;
    width: 30px !important;
    height: 20px !important;
    margin: 0 !important;
  }

  

  

  

  

  

  

  
}



/* 2026-06-22 mobile header height and language switcher spacing refinement using existing classes. */
@media (max-width: 768px) {
  body .site-wrapper > header.site-header .lang-switch,  
  body header.site-header .lang-switch {
    width: 52px !important;
    min-width: 52px !important;
    justify-content: flex-start !important;
    padding-left: 8px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  body .site-wrapper > header.site-header .lang-switch::after,  
  body header.site-header .lang-switch::after {
    right: 7px !important;
  }

  body .site-wrapper > header.site-header .lang-switch__label,  
  body header.site-header .lang-switch__label {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
  }

  body .site-wrapper > header.site-header .menu-right-actions,  
  body header.site-header .menu-right-actions {
    gap: 8px !important;
  }
}

/* 2026-06-22 mobile header exact divider clipping correction using existing classes. */


/* 2026-08-24 canonical mobile header positioning.
 *
 * Every mobile template uses the same in-flow sticky header. This is the path
 * already proven stable on internal pages in iOS/WebKit. The homepage keeps its
 * transparent overlay composition by cancelling only the header's normal-flow
 * footprint with a negative bottom margin; it no longer needs a separate fixed
 * positioning model. */
@media (max-width: 768px) {
  html,
  body {
    min-height: 100dvh !important;
    overscroll-behavior-y: none;
  }

  body .site-wrapper > header.site-header,
  body header.site-header {
    position: sticky !important;
    inset-block-start: 0 !important;
    top: 0 !important;
    inset-inline-start: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    z-index: 1200 !important;
  }

  body .site-wrapper > header.site-header--home,
  body header.site-header--home {
    margin-bottom: calc(-1 * var(--jci-header-offset, 74px)) !important;
  }

  /* A sticky header participates in normal flow, so internal pages must not
   * reserve the same height a second time. */
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) .site-wrapper > main,
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) main {
    padding-top: 0 !important;
  }
}



/* Canonical mobile header geometry shared by every template.
 * Homepage-specific CSS owns only transparent/scrolled colors; dimensions live here. */
@media (max-width: 768px) {
  body .site-wrapper > header.site-header,  
  body header.site-header {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) .site-wrapper > header.site-header,  
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) header.site-header {
    background: #fff !important;
    background-color: #fff !important;
  }

  body .site-wrapper > header.site-header .container-menu-inside,  
  body header.site-header .container-menu-inside,  
  body .site-wrapper > header.site-header .container-menu-inside.jci-container,  
  body header.site-header .container-menu-inside.jci-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 12px !important;
    padding-right: 0 !important;
    padding-bottom: 2px !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

  body .site-wrapper > header.site-header .image-logo,  
  body header.site-header .image-logo,  
  body .site-wrapper > header.site-header .image-logo a,  
  body header.site-header .image-logo a,  
  body .site-wrapper > header.site-header .jci-header-logo,  
  body header.site-header .jci-header-logo,  
  body .site-wrapper > header.site-header .site-logo,  
  body header.site-header .site-logo {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Optical baseline correction: keep the 44px menu control centered and move
   * the logo itself upward so its visible lower edge aligns with the hamburger.
   * !important is required here because the legacy shell sets the logo top
   * position with !important in the same mobile cascade. */
  body .site-wrapper > header.site-header .image-logo,
  body header.site-header .image-logo {
    top: -3px !important;
  }

  body .site-wrapper > header.site-header .image-logo img,  
  body header.site-header .image-logo img,  
  body .site-wrapper > header.site-header .jci-header-logo__image,  
  body header.site-header .jci-header-logo__image,  
  body .site-wrapper > header.site-header .site-logo img,  
  body header.site-header .site-logo img {
    display: block !important;
    width: var(--jci-mobile-header-logo-width, 52px) !important;
    min-width: var(--jci-mobile-header-logo-width, 52px) !important;
    max-width: var(--jci-mobile-header-logo-width, 52px) !important;
    height: auto !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left bottom !important;
    transform: none !important;
  }

  body .site-wrapper > header.site-header #blue-line-row,  
  body header.site-header #blue-line-row {
    height: 8px !important;
    margin-top: 0 !important;
    background: var(--jci-header-stripe-background, #6bb486) !important;
    transform: none !important;
  }

  body .site-wrapper > header.site-header #blue-line-row::after,
  body header.site-header #blue-line-row::after {
    content: none !important;
    display: none !important;
  }
}

.site-footer .site-footer__brand-logo,  
.site-footer img.site-footer__brand-logo {
  margin: 0 0 30px 0 !important;
}


/* 2026-06-24 mega menu Programs: make Explore all programs match Program types. */


/* 2026-06-24 mega menu Programs: reduce Explore all programs prominence. */


/* 2026-06-25 mobile sticky advisor: reveal only after scroll. */


/* 2026-06-27 language switcher micro interaction: editorial underline + soft popover. */
body .site-wrapper > header .menu-right-language,  body .menu-right-language{position:relative!important;isolation:isolate!important;}
body .site-wrapper > header .lang-switch,  body .lang-switch{position:relative!important;min-height:34px!important;padding:0 20px 0 0!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;border:0!important;background:transparent!important;color:var(--bs-body-color) !important;font-size:14px!important;font-weight:650!important;line-height:1!important;text-transform:uppercase!important;cursor:pointer!important;transition:color 160ms ease!important;}
body.home:not(.jci-new-header-scrolled) .site-header--home .lang-switch{color:#fff!important;}
body .site-wrapper > header .lang-switch::before,  body .lang-switch::before{content:""!important;position:absolute!important;left:0!important;right:20px!important;bottom:3px!important;height:1px!important;background:currentColor!important;transform:scaleX(0)!important;transform-origin:50% 50%!important;opacity:.9!important;transition:transform 180ms cubic-bezier(.22,1,.36,1),opacity 180ms ease!important;}
body .site-wrapper > header .lang-switch::after,  body .lang-switch::after{content:""!important;position:absolute!important;right:1px!important;top:50%!important;width:7px!important;height:7px!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;border-radius:0!important;transform:translateY(-62%) rotate(45deg)!important;transition:transform 180ms cubic-bezier(.22,1,.36,1),border-color 160ms ease!important;}
body .site-wrapper > header .lang-switch:hover,  body .site-wrapper > header .lang-switch:focus-visible,  body .lang-switch:hover,  body .lang-switch:focus-visible,  body .lang-switch[aria-expanded="true"]{color:var(--color-blue,#3f6ff0)!important;font-weight:650!important;}
body.home:not(.jci-new-header-scrolled) .site-header--home .lang-switch:hover,  body.home:not(.jci-new-header-scrolled) .site-header--home .lang-switch:focus-visible,  body.home:not(.jci-new-header-scrolled) .site-header--home .lang-switch[aria-expanded="true"]{color:#fff!important;}
body .site-wrapper > header .lang-switch:hover::before,  body .site-wrapper > header .lang-switch:focus-visible::before,  body .site-wrapper > header .lang-switch[aria-expanded="true"]::before,  body .lang-switch:hover::before,  body .lang-switch:focus-visible::before,  body .lang-switch[aria-expanded="true"]::before{transform:scaleX(1)!important;}
body .site-wrapper > header .lang-switch:hover::after,  body .site-wrapper > header .lang-switch:focus-visible::after,  body .lang-switch:hover::after,  body .lang-switch:focus-visible::after{transform:translateY(-48%) rotate(45deg)!important;}
body .site-wrapper > header .lang-switch[aria-expanded="true"]::after,  body .lang-switch[aria-expanded="true"]::after{transform:translateY(-34%) rotate(225deg)!important;}
body .site-wrapper > header .lang-switcher-menu,  body .lang-switcher-menu{position:absolute!important;top:calc(100% + 9px)!important;right:0!important;left:auto!important;min-width:72px!important;padding:6px!important;display:grid!important;gap:2px!important;border:1px solid rgba(17,24,39,.1)!important;border-radius:10px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 14px 34px rgba(15,23,42,.12)!important;backdrop-filter:blur(12px)!important;z-index:1400!important;opacity:0!important;transform:translateY(-4px) scale(.98)!important;transform-origin:100% 0!important;transition:opacity 160ms ease,transform 160ms cubic-bezier(.22,1,.36,1)!important;}
body .site-wrapper > header .lang-switcher-menu.is-open,  body .lang-switcher-menu.is-open{opacity:1!important;transform:translateY(0) scale(1)!important;}
body .site-wrapper > header .lang-switcher-menu.is-closing,  body .lang-switcher-menu.is-closing{opacity:0!important;transform:translateY(-4px) scale(.98)!important;}
body .site-wrapper > header .lang-switcher-menu[hidden],  body .lang-switcher-menu[hidden]{display:none!important;}
body .site-wrapper > header .lang-switcher-menu__item,  body .lang-switcher-menu__item{min-height:34px!important;padding:0 10px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;border-radius:7px!important;color:#475467!important;background:transparent!important;font-size:13px!important;font-weight:650!important;line-height:1!important;text-decoration:none!important;text-transform:uppercase!important;transform:translateX(0)!important;transition:color 150ms ease,background-color 150ms ease,transform 150ms cubic-bezier(.22,1,.36,1)!important;}
body .site-wrapper > header .lang-switcher-menu__item:hover,  body .site-wrapper > header .lang-switcher-menu__item:focus,  body .site-wrapper > header .lang-switcher-menu__item:focus-visible,  body .lang-switcher-menu__item:hover,  body .lang-switcher-menu__item:focus,  body .lang-switcher-menu__item:focus-visible{background:#f4f7fb!important;color:var(--color-blue,#3f6ff0)!important;text-decoration:none!important;transform:translateX(2px)!important;}
body .site-wrapper > header .lang-switch:focus-visible,  body .site-wrapper > header .lang-switcher-menu__item:focus-visible,  body .lang-switch:focus-visible,  body .lang-switcher-menu__item:focus-visible{outline:2px solid rgba(63,111,240,.35)!important;outline-offset:3px!important;}
@media (max-width:1024px){body .site-wrapper > header .lang-switch,  body .lang-switch{min-width:44px!important;min-height:40px!important;padding-right:18px!important;font-size:13px!important;}body .site-wrapper > header .lang-switch::before,  body .lang-switch::before{right:18px!important;bottom:5px!important;}body .site-wrapper > header .lang-switcher-menu,  body .lang-switcher-menu{top:calc(100% + 6px)!important;min-width:68px!important;}}

/* 2026-06-27 language switcher: keep popover below the green divider. */




/* 2026-06-27 language switcher: final clear below header divider. */
body .site-wrapper > header .lang-switcher-menu,  
body .lang-switcher-menu {
  top: calc(100% + 36px) !important;
}

@media (max-width: 1024px) {
  body .site-wrapper > header .lang-switcher-menu,  
  body .lang-switcher-menu {
    top: calc(100% + 30px) !important;
  }
}

/* 2026-06-27 hamburger simple hover: middle line nudge only. */
@media (hover: hover) and (pointer: fine) {
  body .site-wrapper > header .menu-toggle .icon-menu span,  
  body .menu-toggle .icon-menu span {
    transition: transform 160ms ease !important;
  }

  body .site-wrapper > header .menu-toggle[aria-expanded="false"]:hover .icon-menu span,  
  body .menu-toggle[aria-expanded="false"]:hover .icon-menu span {
    transform: translateX(4px) !important;
  }
}

/* 2026-06-27 mobile footer order: two-column menus, meta row, legal before badges. */
@media (max-width: 768px) {
  body .site-footer__top-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 42px !important;
    align-items: start !important;
  }

  body .site-footer__column--first {
    order: 1 !important;
    grid-column: 1 !important;
  }

  body .site-footer__column--second {
    order: 2 !important;
    grid-column: 2 !important;
  }

  body .site-footer__column--third {
    order: 3 !important;
    grid-column: 1 !important;
  }

  body .site-footer__column--fourth {
    order: 4 !important;
    grid-column: 2 !important;
  }

  body .site-footer__column--meta {
    order: 5 !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 14px !important;
    align-items: start !important;
  }

  body .site-footer__languages {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  body .site-footer__campus {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    align-self: start !important;
    font-size: clamp(14px, 3.9vw, 17px) !important;
    gap: 9px !important;
    max-width: 100% !important;
  }

  body .site-footer__campus-icon i {
    font-size: 25px !important;
  }

  body .site-footer__campus-label {
    white-space: normal !important;
    line-height: 1.1 !important;
  }

  body .site-footer__campus-arrow {
    display: none !important;
  }

  body .site-footer__social {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
    gap: 10px !important;
  }

  body .site-footer__social a {
    width: 34px !important;
    height: 34px !important;
  }

  body .site-footer__social a :is(i, .jci-social-icon, svg) {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

  body .site-footer__bottom {
    margin-top: 52px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 30px !important;
  }

  body .site-footer__legal {
    order: 1 !important;
    width: 100% !important;
  }

  body .site-footer .site-footer__brand-logo,  
  body .site-footer img.site-footer__brand-logo {
    margin: 0 0 30px 0 !important;
  }

  body .site-footer__legal p,  
  body .site-footer__legacy,  
  body .site-footer__member,  
  body .site-footer__copyright {
    max-width: 100% !important;
    text-align: left !important;
  }

  body .site-footer__badges {
    order: 2 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 34px !important;
  }

  body .site-footer__badges img,  
  body .site-footer__badge-logo {
    width: auto !important;
    height: auto !important;
    max-width: 96px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 380px) {
  body .site-footer__top-grid,  
  body .site-footer__column--meta {
    column-gap: 20px !important;
  }

  body .site-footer__links a {
    font-size: 13px !important;
  }

  body .site-footer__campus {
    font-size: 13px !important;
  }
}

/* 2026-07-16 production inner header logo size lock */
@media (min-width: 1025px) {
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) header.site-header.site-header--inner .image-logo img,  
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) header.site-header.site-header--inner .jci-header-logo__image,  
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) .site-wrapper > header.site-header.site-header--inner .image-logo img,  
  body:not(.home):not(.front-page):not(.page-template-page-template-new-homepage-php) .site-wrapper > header.site-header.site-header--inner .jci-header-logo__image,  
  body header.site-header.site-header--inner .image-logo img,  
  body header.site-header.site-header--inner .jci-header-logo__image,  
  body .site-wrapper > header.site-header.site-header--inner .image-logo img,  
  body .site-wrapper > header.site-header.site-header--inner .jci-header-logo__image,  
  header.site-header.site-header--inner .image-logo img,  
  header.site-header.site-header--inner .jci-header-logo__image,  
  .site-wrapper > header.site-header.site-header--inner .image-logo img,  
  .site-wrapper > header.site-header.site-header--inner .jci-header-logo__image {
    width: var(--jci-inner-header-logo-width, 64px) !important;
    min-width: var(--jci-inner-header-logo-width, 64px) !important;
    max-width: var(--jci-inner-header-logo-width, 64px) !important;
  }
}

/* 2026-08-12 canonical homepage header surface.
 * The fixed Home header starts transparent over the hero and receives a
 * dedicated white surface when the shared scroll controller marks it as
 * scrolled. Using a pseudo-element avoids relying on a fixed WebKit layer to
 * repaint its own transparent background, while the direct background remains
 * as a standards-based fallback. */
body .site-wrapper > header.site-header--home {
  isolation: isolate !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .site-wrapper > header.site-header--home::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  background: #fff !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 220ms ease !important;
}

body .site-wrapper > header.site-header--home > .container-menu-inside {
  position: relative !important;
  z-index: 1 !important;
}

body .site-wrapper > header.site-header--home > #blue-line-row {
  position: relative !important;
  z-index: 2 !important;
}

body .site-wrapper > header.site-header--home.site-header--scrolled,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: 0 10px 30px rgba(4, 24, 55, 0.08) !important;
}

body .site-wrapper > header.site-header--home.site-header--scrolled::before,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home::before {
  opacity: 1 !important;
}

body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .menu-center-title,  
body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .menu-right-title,  
body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .header-icon,  
body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .lang-switch {
  color: #fff !important;
}

body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .menu-pill {
  background: rgba(255, 255, 255, 0.96) !important;
  color: #07152d !important;
}

body .site-wrapper > header.site-header--home .jci-header-logo__image {
  filter: none !important;
}

body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .icon-menu::before,  
body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .icon-menu::after,  
body .site-wrapper > header.site-header--home:not(.site-header--scrolled) .icon-menu span {
  background: #fff !important;
}

body .site-wrapper > header.site-header--home.site-header--scrolled .menu-center-title,  
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-right-title,  
body .site-wrapper > header.site-header--home.site-header--scrolled .header-icon,  
body .site-wrapper > header.site-header--home.site-header--scrolled .lang-switch,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-center-title,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-right-title,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .header-icon,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .lang-switch {
  color: #07152d !important;
}

body .site-wrapper > header.site-header--home.site-header--scrolled .icon-menu::before,  
body .site-wrapper > header.site-header--home.site-header--scrolled .icon-menu::after,  
body .site-wrapper > header.site-header--home.site-header--scrolled .icon-menu span,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .icon-menu::before,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .icon-menu::after,  
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .icon-menu span {
  background: #07152d !important;
}

/* v435: sticky-header CTAs keep sufficient contrast on their white surface. */
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:hover,
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:focus,
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:focus-visible,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:hover,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:focus,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:focus-visible {
  color: #07152d !important;
}

body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:hover *,
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:focus *,
body .site-wrapper > header.site-header--home.site-header--scrolled .menu-pill:focus-visible *,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:hover *,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:focus *,
body.jci-new-header-scrolled .site-wrapper > header.site-header--home .menu-pill:focus-visible * {
  color: inherit !important;
}
