body::before {
  content: "PREMIUM NAV CSS LOADED";
  position: fixed;
  top: 80px;
  left: 20px;
  z-index: 9999999;
  background: red;
  color: white;
  padding: 10px 14px;
  font-size: 16px;
  font-weight: bold;
	
}/* TEMP NAV RECOVERY TEST */
#financity-main-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 99999 !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

#financity-main-menu > ul.sf-menu {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 22px !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

#financity-main-menu > ul.sf-menu > li {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
}

#financity-main-menu > ul.sf-menu > li > a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  padding: 12px 8px !important;
}
}
/* ==========================================================
   PREMIUM+ NAV, mega menus, 2-col dropdown, video modal
   Refined version
   • Tighter bullet to text spacing (flex based, no absolute)
   • Vertically centered grids so panels feel balanced
   • Image cards now use proper aspect ratios
   • More breathing room inside panels
   • About card: unified composition, title overlay on video
   • Auto 2-column dropdowns (6 to 8 items)
   • Right-aligned career submenu
   • Accessible focus styles & reduced motion support
========================================================== */


/* ----------------------------------------------------------
   DESIGN TOKENS
---------------------------------------------------------- */
:root {
  /* Brand colours */
  --nav-blue:   #150f46;
  --nav-pink:   #f07bac;
  --nav-yellow: #f5ea16;
  --nav-accent: rgba(57, 197, 243, 1);

  /* Surfaces & borders */
  --nav-shadow-1: 0 18px 44px rgba(10, 16, 34, .12);
  --nav-shadow-2: 0  6px 16px rgba(10, 16, 34, .06);
  --nav-border:   color-mix(in srgb, var(--nav-accent) 18%, transparent);
  --mega-rule:    color-mix(in srgb, var(--nav-accent) 15%, transparent);

  /* Nav item geometry */
  --item-h:       38px;
  --item-pad-y:   9px;
  --item-pad-x:   16px;

  /* Bullet geometry, flex based (no absolute positioning) */
  --bullet-size: 5px;
  --bullet-gap:  11px;

  /* Dropdown geometry */
  --drop-gap:     14px;
  --arrow-size:   14px;
  --edge-pad:     24px;

  /* Mega panel shared padding */
  --mega-gap:         40px;
  --mega-pad-top:     22px;
  --mega-pad-bottom:  22px;
  --mega-pad-x:       28px;

  /* Typography */
  --underline-thickness: 2px;
  --underline-offset:    0.14em;
  --underline-opacity:   95%;

  /* Sub menu inner padding */
  --sub-pad-y: 14px;
  --sub-pad-x: 14px;

  /* Border radii */
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 22px;

  /* Motion curves */
  --motion-smooth: cubic-bezier(.22, .61, .36,  1);
  --motion-snappy: cubic-bezier(.20, .90, .20,  1);

  /* ---- About mega ---- */
  --about-col1:     260px;   /* video card column */
  --about-colw:     230px;
  --about-col3w:    230px;
  --about-gap:       40px;
  --about-divider:  color-mix(in srgb, var(--nav-accent) 14%, transparent);
  --about-video-h:  160px;   /* visible video frame height */

  /* ---- CoE mega ---- */
  --coe-col1:    240px;
  --coe-colw:    240px;
  --coe-col3w:   240px;
  --coe-gap:      40px;
  --coe-image-h: 240px;
  --coe-divider: color-mix(in srgb, var(--nav-accent) 14%, transparent);

  /* ---- Therapeutic mega ---- */
  --ther-col1:    240px;
  --ther-colw:    240px;
  --ther-col3w:   240px;
  --ther-gap:      40px;
  --ther-image-h: 240px;
  --ther-divider: color-mix(in srgb, var(--nav-accent) 14%, transparent);

  /* ---- Derived mega panel arrow anchors ---- */
  --coe-anchor:  calc(
    var(--mega-pad-x)
    + var(--coe-col1)
    + var(--coe-gap)
    + (var(--coe-colw) / 2)
  );
  --ther-anchor: calc(
    var(--mega-pad-x)
    + var(--ther-col1)
    + var(--ther-gap)
    + var(--ther-colw)
    + var(--ther-gap)
    + (var(--ther-col3w) / 2)
  );

  /* ---- Video modal ---- */
  --modal-w:    min(980px, 94vw);
  --modal-maxh: 82vh;
}


/* ----------------------------------------------------------
   STACKING CONTEXT
---------------------------------------------------------- */
.financity-header-wrap,
.financity-navigation,
#financity-main-menu {
  position: relative;
  z-index: 9999;
}

/* Hide the slide bar entirely */
#financity-navigation-slide-bar {
  display:    none    !important;
  opacity:    0       !important;
  height:     0       !important;
  box-shadow: none    !important;
}


/* ----------------------------------------------------------
   TOP LEVEL NAV ITEMS
---------------------------------------------------------- */
#financity-main-menu .sf-menu > li {
  position: relative;
}

#financity-main-menu .sf-menu > li > a {
  -webkit-font-smoothing:  antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering:          optimizeLegibility;

  font-weight:      600;
  letter-spacing:   .12px;
  text-decoration:  none        !important;
  border-bottom:    0           !important;
  box-shadow:       none        !important;
  background-image: none        !important;

  transition:
    color            .14s ease,
    background-color .14s ease,
    transform        .14s ease,
    box-shadow       .14s ease,
    opacity          .14s ease;
}

/* Remove theme pseudo element decoration */
#financity-main-menu .sf-menu > li > a::before {
  content: none  !important;
  display: none  !important;
}

/* Hover state, only when Superfish opens the panel */
#financity-main-menu .sf-menu > li.sfHover > a {
  background-color: rgba(255, 255, 255, .05);
  border-radius:    var(--radius-sm);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, #fff 14%, transparent),
    0 4px 10px rgba(7, 12, 28, .05);
}

/* Press / click ripple */
#financity-main-menu .sf-menu > li > a:active {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--nav-pink) 26%, #fff) 0%,
    color-mix(in srgb, var(--nav-pink) 18%, #fff) 100%
  );
  border-radius: var(--radius-sm);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--nav-pink) 28%, transparent),
    0 6px 16px color-mix(in srgb, var(--nav-pink) 14%, transparent);
}

/* Arrow icon */
#financity-main-menu .sf-arrows .sf-with-ul:after {
  opacity:    .9;
  transition: opacity .14s ease, transform .14s ease;
}

#financity-main-menu .sf-menu > li.sfHover > a.sf-with-ul:after {
  opacity:   1;
  transform: none;
}


/* ----------------------------------------------------------
   BASE SUBMENU PANEL
---------------------------------------------------------- */
#financity-main-menu .sf-menu ul.sub-menu {
  /* Layout */
  box-sizing:     border-box;
  position:       absolute;
  left:           50%   !important;
  right:          auto  !important;
  top:            calc(100% + var(--drop-gap)) !important;
  width:          max-content;
  max-width:      min(92vw, 1180px);
  padding:        var(--sub-pad-y) var(--sub-pad-x);
  overflow:       visible;

  /* Visibility (hidden by default) */
  display:        block;
  opacity:        0;
  visibility:     hidden;
  pointer-events: none;
  transform:      translate(-50%, 8px) scale(.992);
  transform-origin: center top;
  will-change:    transform, opacity;

  /* Surface */
  background-color:  #ffffff !important;
  background-image:  radial-gradient(
    120% 80% at 15% 0%,
    color-mix(in srgb, var(--nav-accent) 12%, transparent) 0%,
    rgba(255, 255, 255, 0) 55%
  );
  background-repeat: no-repeat;
  border:            1px solid var(--nav-border);
  border-radius:     26px !important;
  box-shadow:
    var(--nav-shadow-1),
    var(--nav-shadow-2),
    0 0 0 1px color-mix(in srgb, var(--nav-accent) 6%, transparent);

  /* Animation */
  transition:
    opacity     .16s var(--motion-smooth),
    transform   .18s var(--motion-smooth),
    box-shadow  .16s ease,
    visibility   0s  linear .16s;
}

/* Transparent list items */
#financity-main-menu .sf-menu ul.sub-menu li {
  background: transparent !important;
}

/* Revealed state */
#financity-main-menu .sf-menu li.sfHover > ul.sub-menu {
  opacity:        1;
  visibility:     visible;
  pointer-events: auto;
  transform:      translate(-50%, 0) scale(1);
  transition-delay: 0s;
}

/* Bridge, keeps menu open while cursor crosses the gap */
#financity-main-menu .sf-menu > li.sfHover::after {
  content:    "";
  position:   absolute;
  left:       -16px;
  right:      -16px;
  top:        100%;
  height:     var(--drop-gap);
  background: transparent;
}

/* Arrow caret */
#financity-main-menu .sf-menu ul.sub-menu::before {
  content:    "";
  position:   absolute;
  left:       50%;
  top:        calc(-1 * (var(--arrow-size) / 2));
  width:      var(--arrow-size);
  height:     var(--arrow-size);
  transform:  translateX(-50%) rotate(45deg);
  background: #fff;
  border-left: 1px solid var(--nav-border);
  border-top:  1px solid var(--nav-border);
  box-shadow: -3px -3px 8px rgba(0, 0, 0, .04);
  z-index:    5;
  pointer-events: none;
}


/* ----------------------------------------------------------
   SUBMENU LINKS  (flex based, bullet as flex item)
---------------------------------------------------------- */
#financity-main-menu .sf-menu ul.sub-menu a,
#financity-main-menu .sf-menu ul.sub-menu a:visited {
  color:          var(--nav-blue) !important;
  font-weight:    600;
  letter-spacing: .1px;
  line-height:    1.3;
  white-space:    normal;
  overflow-wrap:  anywhere;

  min-height:   var(--item-h);
  padding:      var(--item-pad-y) var(--item-pad-x);

  display:        flex;
  align-items:    flex-start;
  gap:            var(--bullet-gap);
  position:       relative;
  border-radius:  var(--radius-md);

  text-decoration:           none         !important;
  text-decoration-thickness: var(--underline-thickness);
  text-underline-offset:     var(--underline-offset);
  text-decoration-color:     color-mix(in srgb, var(--nav-yellow) 96%, #fff);
  text-decoration-skip-ink:  auto;
  outline: none !important;

  transition:
    background-color      .14s ease,
    transform             .14s ease,
    box-shadow            .14s ease,
    color                 .14s ease,
    text-decoration-color .14s ease;
}

/* Bullet, flex item that hugs the text */
#financity-main-menu .sf-menu ul.sub-menu li > a::before {
  content:       "";
  flex:          0 0 var(--bullet-size);
  width:         var(--bullet-size);
  height:        var(--bullet-size);
  margin-top:    .58em;        /* aligns with first line baseline */
  border-radius: 50%;
  background:    var(--nav-blue);
  opacity:       0.78;
  transition:    transform .14s ease, opacity .14s ease, background-color .14s ease;
}

/* Hover / focus */
#financity-main-menu .sf-menu ul.sub-menu a:hover,
#financity-main-menu .sf-menu ul.sub-menu a:focus-visible {
  color: var(--nav-blue) !important;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--nav-accent) 20%, transparent)  0%,
    color-mix(in srgb, var(--nav-accent)  9%, transparent) 60%,
    rgba(0, 0, 0, 0) 100%
  );
  box-shadow:            inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 18%, transparent);
  transform:             translateX(2px);
  text-decoration-line:  underline;
  text-decoration-color: color-mix(in srgb, var(--nav-yellow) var(--underline-opacity), transparent);
}

/* Bullet animates on hover */
#financity-main-menu .sf-menu ul.sub-menu a:hover::before,
#financity-main-menu .sf-menu ul.sub-menu a:focus-visible::before {
  opacity:    1;
  transform:  scale(1.3);
  background: var(--nav-pink);
}

/* Active / current page */
#financity-main-menu .sf-menu ul.sub-menu li.current-menu-item > a,
#financity-main-menu .sf-menu ul.sub-menu a:active {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--nav-pink) 18%, #fff)  0%,
    color-mix(in srgb, var(--nav-pink)  9%, #fff) 100%
  );
  box-shadow:           inset 0 0 0 1px color-mix(in srgb, var(--nav-pink) 24%, transparent);
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--nav-yellow) var(--underline-opacity), transparent);
}

/* Keyboard focus ring */
#financity-main-menu .sf-menu ul.sub-menu a:focus-visible {
  outline:        2px solid color-mix(in srgb, var(--nav-accent) 45%, #fff) !important;
  outline-offset: 2px;
}

/* Item spacing, gentle rhythm between rows */
#financity-main-menu .sf-menu ul.sub-menu li + li {
  margin-top: 2px;
}


/* ----------------------------------------------------------
   AUTO 2 COLUMN  (6 to 8 items)
---------------------------------------------------------- */
#financity-main-menu .sf-menu
  ul.sub-menu:not(.about-mega):not(.coe-mega):not(.therapeutic-mega):has(> li:nth-child(6)):not(:has(> li:nth-child(9))) {
  padding:      18px 20px;
  column-count: 2;
  column-gap:   36px;
  column-rule:  1px solid var(--mega-rule);
  width:        max-content;
  max-width:    min(92vw, 820px);
}

#financity-main-menu .sf-menu
  ul.sub-menu:not(.about-mega):not(.coe-mega):not(.therapeutic-mega):has(> li:nth-child(6)):not(:has(> li:nth-child(9))) > li {
  margin:                  0 !important;
  padding:                 0 !important;
  break-inside:            avoid;
  -webkit-column-break-inside: avoid;
}

#financity-main-menu .sf-menu
  ul.sub-menu:not(.about-mega):not(.coe-mega):not(.therapeutic-mega):has(> li:nth-child(6)):not(:has(> li:nth-child(9))) a {
  white-space: normal;
}


/* ----------------------------------------------------------
   RIGHT ALIGNED SUBMENUS  (last item / careers)
---------------------------------------------------------- */
#financity-main-menu .sf-menu > li:last-child          > ul.sub-menu,
#financity-main-menu .sf-menu > li.menu-item-careers   > ul.sub-menu,
#financity-main-menu .sf-menu > li.is-careers          > ul.sub-menu {
  left:      auto                                                !important;
  right:     calc(-1 * var(--edge-pad))                          !important;
  transform: translate(0, 8px) scale(.992)                       !important;
  max-width: calc(100vw - var(--edge-pad))                       !important;
}

#financity-main-menu .sf-menu > li:last-child.sfHover        > ul.sub-menu,
#financity-main-menu .sf-menu > li.menu-item-careers.sfHover > ul.sub-menu,
#financity-main-menu .sf-menu > li.is-careers.sfHover        > ul.sub-menu {
  transform: translate(0, 0) scale(1) !important;
}

#financity-main-menu .sf-menu > li:last-child        > ul.sub-menu::before,
#financity-main-menu .sf-menu > li.menu-item-careers > ul.sub-menu::before,
#financity-main-menu .sf-menu > li.is-careers        > ul.sub-menu::before {
  left:      auto      !important;
  right:     34px      !important;
  transform: rotate(45deg) !important;
}


/* ----------------------------------------------------------
   LANGUAGE SWITCHER  (last nav item)
   Minimal dropdown, no panel padding, shifted inward so it
   never clips on the right. Flag + text aligned via flex gap.
---------------------------------------------------------- */
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu {
  left:      auto        !important;
  right:     8px         !important;
  padding:   6px         !important;
  min-width: 0           !important;
  width:     max-content !important;
  transform: translate(0, 8px) scale(.992) !important;
}

#financity-main-menu .sf-menu > li:last-child.sfHover > ul.sub-menu {
  transform: translate(0, 0) scale(1) !important;
}

/* Arrow caret near the right edge of the panel */
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu::before {
  left:      auto  !important;
  right:     18px  !important;
  transform: rotate(45deg) !important;
}

/* Kill the bullet dot in every state for the language switcher */
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu li > a::before,
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a:hover::before,
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a:focus-visible::before {
  display: none !important;
  content: none !important;
}

#financity-main-menu .sf-menu > li:last-child > ul.sub-menu li {
  margin:  0 !important;
  padding: 0 !important;
}

#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a,
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a:visited {
  display:         flex    !important;
  align-items:     center  !important;
  gap:             10px    !important;
  padding:         8px 14px !important;
  min-height:      0       !important;
  line-height:     1.25    !important;
  font-weight:     500     !important;
  white-space:     nowrap  !important;
  border-radius:   8px     !important;
}

#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a:hover,
#financity-main-menu .sf-menu > li:last-child > ul.sub-menu a:focus-visible {
  transform: none !important;
}


/* ==========================================================
   SHARED MEGA PANEL UTILITIES
========================================================== */

/* Reset and align column lists used across all three megas */
#financity-main-menu .sf-menu ul.sub-menu.about-mega       ul.about-col,
#financity-main-menu .sf-menu ul.sub-menu.coe-mega         ul.coe-col,
#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega ul.therapeutic-col {
  display:        block      !important;
  position:       static     !important;
  opacity:        1          !important;
  visibility:     visible    !important;
  pointer-events: auto       !important;
  transform:      none       !important;
  list-style:     none       !important;
  margin:         0          !important;
  padding:        0          !important;
  width:          100%;
  min-width:      0;
}

/* Section heading above each column list */
.mega-col-heading {
  display:         block;
  font-size:       11px;
  letter-spacing:  .14em;
  text-transform:  uppercase;
  font-weight:     700;
  color:           color-mix(in srgb, var(--nav-blue) 60%, transparent);
  margin:          0 0 8px 0;
  padding:         0 var(--item-pad-x);
}

/* Common divider on column lists */
#financity-main-menu .sf-menu ul.sub-menu .mega-col-divider {
  border-left:  1px solid color-mix(in srgb, var(--nav-accent) 14%, transparent);
  padding-left: 20px !important;
}


/* ==========================================================
   ABOUT MEGA,  3 column panel with video card
========================================================== */

#financity-main-menu .sf-menu ul.sub-menu.about-mega {
  width: min(
    calc(var(--about-col1) + var(--about-colw) + var(--about-col3w) + (2 * var(--about-gap)) + (2 * var(--mega-pad-x))),
    calc(100vw - (2 * var(--edge-pad)))
  ) !important;
  max-width: calc(100vw - (2 * var(--edge-pad))) !important;
  padding:   var(--mega-pad-top) var(--mega-pad-x) var(--mega-pad-bottom);
  left:      50%   !important;
  right:     auto  !important;
  transform: translate(calc(-1 * (var(--mega-pad-x) + (var(--about-col1) / 2))), 8px) scale(.992);
}

#financity-main-menu .sf-menu li.sfHover > ul.sub-menu.about-mega {
  transform: translate(calc(-1 * (var(--mega-pad-x) + (var(--about-col1) / 2))), 0) scale(1);
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega::before {
  left:      calc(var(--mega-pad-x) + (var(--about-col1) / 2)) !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

/* 3 column grid, vertically centered so the panel feels balanced */
#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-mega-3col {
  display:               grid !important;
  grid-template-columns: var(--about-col1) minmax(0, var(--about-colw)) minmax(0, var(--about-col3w));
  column-gap:            var(--about-gap);
  align-items:           center;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-mega-3col > * {
  min-width: 0;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega ul.about-col {
  max-width: var(--about-colw);
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega ul.about-col.about-col-a {
  border-left:  1px solid var(--about-divider);
  padding-left: 22px !important;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega ul.about-col.about-col-b {
  border-left:  1px solid var(--about-divider);
  padding-left: 22px !important;
  max-width:    var(--about-col3w);
}

/* ----- About card, video + overlay title (unified composition) ----- */
#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-card {
  position:      relative;
  border-radius: var(--radius-lg);
  overflow:      hidden;
  background:    linear-gradient(160deg, var(--nav-blue) 0%, color-mix(in srgb, var(--nav-blue) 78%, var(--nav-accent)) 100%);
  box-shadow:
    0 10px 26px rgba(10, 16, 34, .14),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 14%, transparent);
  transition: transform .18s ease, box-shadow .18s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-card:hover {
  transform:  translateY(-2px);
  box-shadow:
    0 14px 32px rgba(10, 16, 34, .18),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 18%, transparent);
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-thumb {
  position:   relative;
  background: transparent;
  overflow:   hidden;
}

/* Soft top vignette so the play button always has contrast */
#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-thumb::after {
  content:        "";
  position:       absolute;
  inset:          0;
  background:     linear-gradient(
    160deg,
    rgba(21, 15, 70, .15) 0%,
    rgba(21, 15, 70, .55) 100%
  );
  pointer-events: none;
  z-index:        2;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega video.about-thumb-video {
  width:        100%;
  height:       var(--about-video-h);
  object-fit:   cover;
  display:      block;
  background:   var(--nav-blue);
}

/* Play button, centered above the gradient */
#financity-main-menu .sf-menu ul.sub-menu.about-mega button.about-play {
  position:        absolute;
  left:            50%;
  top:             calc(var(--about-video-h) / 2);
  transform:       translate(-50%, -50%);
  z-index:         6;
  width:           48px;
  height:          48px;
  border-radius:   999px;
  background:      rgba(255, 255, 255, .94);
  border:          1px solid color-mix(in srgb, var(--nav-accent) 28%, transparent);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, .26),
    0 0 0 4px rgba(255, 255, 255, .14);
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  cursor:          pointer;
  outline:         none !important;
  transition:      transform .16s var(--motion-smooth), box-shadow .16s ease, background-color .14s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega button.about-play::before {
  content:       "";
  width:         0;
  height:        0;
  border-left:   11px solid var(--nav-blue);
  border-top:     8px solid transparent;
  border-bottom:  8px solid transparent;
  transform:     translateX(2px);
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega button.about-play:hover {
  transform:  translate(-50%, -50%) scale(1.08);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, .32),
    0 0 0 6px rgba(255, 255, 255, .18);
}

/* Card body, integrated footer with title (sits flush under the video) */
#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-card-body {
  padding:    12px 16px 14px;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--nav-blue) 95%, #000) 0%,
    var(--nav-blue) 100%);
  border-top: 1px solid color-mix(in srgb, var(--nav-accent) 16%, transparent);
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-title {
  margin:         0;
  font-weight:    700;
  font-size:      14px;
  line-height:    1.25;
  letter-spacing: .12px;
  color:          #fff;
  display:        flex;
  align-items:    center;
  gap:            8px;
}

/* Small arrow indicator after the title */
#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-title::after {
  content:    "→";
  font-size:  15px;
  line-height: 1;
  color:      color-mix(in srgb, var(--nav-yellow) 95%, #fff);
  transition: transform .16s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.about-mega .about-card:hover .about-title::after {
  transform: translateX(3px);
}


/* ==========================================================
   COE MEGA,  3 column panel with illustration
========================================================== */

#financity-main-menu .sf-menu ul.sub-menu.coe-mega {
  width: min(
    calc(var(--coe-col1) + var(--coe-colw) + var(--coe-col3w) + (2 * var(--coe-gap)) + (2 * var(--mega-pad-x))),
    calc(100vw - (2 * var(--edge-pad)))
  ) !important;
  max-width: calc(100vw - (2 * var(--edge-pad))) !important;
  padding:   var(--mega-pad-top) var(--mega-pad-x) var(--mega-pad-bottom);
  left:      50%  !important;
  right:     auto !important;
  transform: translate(calc(-1 * var(--coe-anchor)), 8px) scale(.992);
}

#financity-main-menu .sf-menu li.sfHover > ul.sub-menu.coe-mega {
  transform: translate(calc(-1 * var(--coe-anchor)), 0) scale(1);
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega::before {
  left:      var(--coe-anchor) !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-mega-3col {
  display:               grid !important;
  grid-template-columns: var(--coe-col1) minmax(0, var(--coe-colw)) minmax(0, var(--coe-col3w));
  column-gap:            var(--coe-gap);
  align-items:           center;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-mega-3col > * {
  min-width: 0;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega ul.coe-col {
  max-width: var(--coe-colw);
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega ul.coe-col.coe-col-a {
  border-left:  1px solid var(--coe-divider);
  padding-left: 22px !important;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega ul.coe-col.coe-col-b {
  border-left:  1px solid var(--coe-divider);
  padding-left: 22px !important;
  max-width:    var(--coe-col3w);
}

/* Image card, neat container with subtle shadow */
#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-card {
  background:    transparent !important;
  border:        0           !important;
  box-shadow:    none        !important;
  border-radius: 0           !important;
  overflow:      visible     !important;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-thumb {
  position:      relative;
  background:    color-mix(in srgb, var(--nav-accent) 5%, #fff);
  border-radius: var(--radius-lg);
  overflow:      hidden;
  aspect-ratio:  1 / 1;
  width:         100%;
  max-height:    var(--coe-image-h);
  box-shadow:
    0 8px 22px rgba(10, 16, 34, .12),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 10%, transparent);
  transition:    transform .18s ease, box-shadow .18s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-thumb:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px rgba(10, 16, 34, .16),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 14%, transparent);
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega img.coe-thumb-img {
  width:         100%;
  height:        100%;
  object-fit:    cover;
  display:       block;
  background:    transparent !important;
  border-radius: 0;
  transition:    transform .35s ease, filter .35s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.coe-mega .coe-thumb:hover img.coe-thumb-img {
  transform: scale(1.03);
  filter:    saturate(1.05) brightness(1.02);
}


/* ==========================================================
   THERAPEUTIC MEGA,  3 column panel with illustration
========================================================== */

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega {
  width: min(
    calc(var(--ther-col1) + var(--ther-colw) + var(--ther-col3w) + (2 * var(--ther-gap)) + (2 * var(--mega-pad-x))),
    calc(100vw - (2 * var(--edge-pad)))
  ) !important;
  max-width: calc(100vw - (2 * var(--edge-pad))) !important;
  padding:   var(--mega-pad-top) var(--mega-pad-x) var(--mega-pad-bottom);
  left:      50%  !important;
  right:     auto !important;
  transform: translate(calc(-1 * var(--ther-anchor)), 8px) scale(.992);
}

#financity-main-menu .sf-menu li.sfHover > ul.sub-menu.therapeutic-mega {
  transform: translate(calc(-1 * var(--ther-anchor)), 0) scale(1);
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega::before {
  left:      var(--ther-anchor) !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-mega-3col {
  display:               grid !important;
  grid-template-columns: var(--ther-col1) minmax(0, var(--ther-colw)) minmax(0, var(--ther-col3w));
  column-gap:            var(--ther-gap);
  align-items:           center;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-mega-3col > * {
  min-width: 0;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega ul.therapeutic-col {
  max-width: var(--ther-colw);
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega ul.therapeutic-col.therapeutic-col-a {
  border-left:  1px solid var(--ther-divider);
  padding-left: 22px !important;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega ul.therapeutic-col.therapeutic-col-b {
  border-left:  1px solid var(--ther-divider);
  padding-left: 22px !important;
  max-width:    var(--ther-col3w);
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-card {
  background:    transparent !important;
  border:        0           !important;
  box-shadow:    none        !important;
  border-radius: 0           !important;
  overflow:      visible     !important;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-thumb {
  position:      relative;
  background:    color-mix(in srgb, var(--nav-accent) 5%, #fff);
  border-radius: var(--radius-lg);
  overflow:      hidden;
  aspect-ratio:  1 / 1;
  width:         100%;
  max-height:    var(--ther-image-h);
  box-shadow:
    0 8px 22px rgba(10, 16, 34, .12),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 10%, transparent);
  transition:    transform .18s ease, box-shadow .18s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-thumb:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px rgba(10, 16, 34, .16),
    inset 0 0 0 1px color-mix(in srgb, var(--nav-accent) 14%, transparent);
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega img.therapeutic-thumb-img {
  width:         100%;
  height:        100%;
  object-fit:    cover;
  display:       block;
  background:    transparent !important;
  border-radius: 0;
  transition:    transform .35s ease, filter .35s ease;
}

#financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-thumb:hover img.therapeutic-thumb-img {
  transform: scale(1.03);
  filter:    saturate(1.05) brightness(1.02);
}


/* ==========================================================
   VIDEO MODAL
========================================================== */
.about-video-modal {
  position: fixed;
  inset:    0;
  z-index:  999999;
  display:  none;
}

.about-video-modal.is-open {
  display: block;
}

.about-video-modal .about-backdrop {
  position:           absolute;
  inset:              0;
  background:         rgba(8, 14, 32, .74);
  backdrop-filter:    blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.about-video-modal .about-shell {
  position:     absolute;
  inset:        0;
  display:      grid;
  place-items:  center;
  padding:      20px;
}

.about-video-modal .about-player {
  width:         var(--modal-w);
  aspect-ratio:  16 / 9;
  max-height:    var(--modal-maxh);
  border-radius: var(--radius-lg);
  overflow:      hidden;
  position:      relative;
  background:    transparent;
  border:        none;
  box-shadow:    0 28px 70px rgba(0, 0, 0, .42);
}

.about-video-modal .about-topbar {
  position: absolute;
  top:      12px;
  right:    12px;
  display:  flex;
  gap:      10px;
  z-index:  4;
}

.about-video-modal .about-iconbtn {
  width:           40px;
  height:          40px;
  border-radius:   999px;
  background:      rgba(255, 255, 255, .94);
  border:          1px solid color-mix(in srgb, var(--nav-accent) 30%, transparent);
  box-shadow:      0 8px 20px rgba(0, 0, 0, .22);
  cursor:          pointer;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  outline:         none !important;
  transition:      transform .14s ease, box-shadow .14s ease, background-color .14s ease;
}

.about-video-modal .about-iconbtn.about-close::before,
.about-video-modal .about-iconbtn.about-newtab::before {
  font-size: 15px;
  color:     var(--nav-blue);
  line-height: 1;
}

.about-video-modal .about-iconbtn.about-close::before  { content: "\2715"; font-size: 14px; }
.about-video-modal .about-iconbtn.about-newtab::before { content: "\2922"; }

.about-video-modal .about-iconbtn:hover {
  transform:  translateY(-1px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .26);
  background: #fff;
}

.about-video-modal video {
  width:        100%;
  height:       100%;
  display:      block;
  object-fit:   contain;
  background:   transparent;
  outline:      none !important;
}


/* ----------------------------------------------------------
   WIDE SCREENS  (> 900 px)  nudge About mega leftward
---------------------------------------------------------- */
@media (min-width: 901px) {
  #financity-main-menu .sf-menu ul.sub-menu {
    max-width: calc(100vw - 80px);
  }

  #financity-main-menu .sf-menu ul.sub-menu.about-mega {
    --about-nudge: clamp(0px, 10vw, 180px);
    transform: translate(
      calc(-1 * (var(--mega-pad-x) + (var(--about-col1) / 2) + var(--about-nudge))),
      8px
    ) scale(.992);
    padding-right: calc(var(--mega-pad-x) + 18px) !important;
  }

  #financity-main-menu .sf-menu li.sfHover > ul.sub-menu.about-mega {
    transform: translate(
      calc(-1 * (var(--mega-pad-x) + (var(--about-col1) / 2) + var(--about-nudge))),
      0
    ) scale(1);
  }

  #financity-main-menu .sf-menu ul.sub-menu.about-mega::before {
    left: calc(var(--mega-pad-x) + (var(--about-col1) / 2) + var(--about-nudge)) !important;
  }
}


/* ----------------------------------------------------------
   MOBILE  (<= 900 px)  collapse all megas to single column
---------------------------------------------------------- */
@media (max-width: 900px) {

  /* Base submenu reset */
  #financity-main-menu .sf-menu ul.sub-menu {
    left:      0 !important;
    transform: translate(0, 8px) scale(.992);
    width:     auto;
    max-width: 92vw;
  }

  #financity-main-menu .sf-menu li.sfHover > ul.sub-menu {
    transform: translate(0, 0) scale(1);
  }

  #financity-main-menu .sf-menu ul.sub-menu::before {
    left:      34px;
    transform: translateX(0) rotate(45deg);
  }

  /* Collapse 2 col back to 1 */
  #financity-main-menu .sf-menu
    ul.sub-menu:not(.about-mega):not(.coe-mega):not(.therapeutic-mega):has(> li:nth-child(6)):not(:has(> li:nth-child(9))) {
    column-count: 1;
    column-rule:  none;
  }

  /* Shared mobile reset for all three mega panels */
  #financity-main-menu .sf-menu ul.sub-menu.about-mega,
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega {
    left:      0     !important;
    width:     auto  !important;
    max-width: 92vw  !important;
    transform: translate(0, 8px) scale(.992) !important;
  }

  #financity-main-menu .sf-menu li.sfHover > ul.sub-menu.about-mega,
  #financity-main-menu .sf-menu li.sfHover > ul.sub-menu.coe-mega,
  #financity-main-menu .sf-menu li.sfHover > ul.sub-menu.therapeutic-mega {
    transform: translate(0, 0) scale(1) !important;
  }

  #financity-main-menu .sf-menu ul.sub-menu.about-mega::before,
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega::before,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega::before {
    left:      34px  !important;
    transform: translateX(0) rotate(45deg) !important;
  }

  /* Collapse 3 column grids */
  #financity-main-menu .sf-menu ul.sub-menu.about-mega       .about-mega-3col,
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega         .coe-mega-3col,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-mega-3col {
    grid-template-columns: 1fr;
    row-gap:               16px;
  }

  /* Strip dividers from column lists */
  #financity-main-menu .sf-menu ul.sub-menu.about-mega       ul.about-col,
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega         ul.coe-col,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega ul.therapeutic-col {
    width:        auto !important;
    max-width:    none !important;
    min-width:    0    !important;
    border-left:  none !important;
    padding-left: 0    !important;
  }

  /* Constrain image cards on mobile */
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega         .coe-thumb,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega .therapeutic-thumb {
    aspect-ratio: 16 / 10;
    max-height:   220px;
  }
}


/* ----------------------------------------------------------
   REDUCED MOTION
---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  #financity-main-menu .sf-menu > li > a,
  #financity-main-menu .sf-menu ul.sub-menu,
  #financity-main-menu .sf-menu ul.sub-menu a,
  #financity-main-menu .sf-menu ul.sub-menu.about-mega       button.about-play,
  #financity-main-menu .sf-menu ul.sub-menu.coe-mega         img.coe-thumb-img,
  #financity-main-menu .sf-menu ul.sub-menu.therapeutic-mega img.therapeutic-thumb-img,
  .about-video-modal .about-iconbtn {
    transition: none !important;
  }
}