/* HFCMAT Clean Navigation. All selectors are scoped to .hfcn-root. */
.hfcn-root{
  --hfcn-navy:#00005a;--hfcn-ink:#101643;--hfcn-accent:#5764e8;--hfcn-mist:#f6f7ff;
  --hfcn-border:#e8ebf3;--hfcn-subtle:#59647d;--hfcn-height:90px;
  position:sticky;top:0;z-index:99990;width:100%;height:var(--hfcn-height);
  color:var(--hfcn-ink);background:#fff;font-family:inherit;
  line-height:1.4;font-size:14px;isolation:isolate;
}
.hfcn-root,.hfcn-root *,.hfcn-root *::before,.hfcn-root *::after{box-sizing:border-box}
.hfcn-root a{text-decoration:none!important;color:inherit}
.hfcn-root button,.hfcn-root input{font:inherit}
.hfcn-root button{cursor:pointer}
.hfcn-root svg{display:block;width:20px;height:20px;flex:none}
.hfcn-root [hidden]{display:none!important}
.hfcn-root :focus-visible{outline:3px solid var(--hfcn-accent);outline-offset:3px}
.hfcn-header{height:var(--hfcn-height);background:#fff;border-bottom:1px solid var(--hfcn-border);position:relative;z-index:25}
.hfcn-header-inner{height:100%;max-width:1620px;margin:auto;padding:0 clamp(20px,4vw,68px);display:flex;align-items:center;gap:clamp(24px,3vw,56px)}
.hfcn-brand{display:flex;align-items:center;flex:none;min-width:0;max-width:250px}
.hfcn-brand img,.hfcn-brand-image{display:block;max-width:225px!important;max-height:62px!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:left center}
.hfcn-brand-symbol{background:var(--hfcn-navy);color:white;display:grid;place-items:center;font-weight:800;letter-spacing:-1.2px;font-size:22px;border-radius:10px;width:48px;height:48px;flex:none;margin-right:11px}
.hfcn-brand-words{display:flex;flex-direction:column;line-height:1.06;white-space:nowrap;color:var(--hfcn-navy);text-transform:none}
.hfcn-brand-words b{font-size:23px;font-weight:750;letter-spacing:-.85px}
.hfcn-brand-words small{font-size:8.2px;font-weight:750;letter-spacing:1.3px;padding-top:5px}
.hfcn-desktop-nav{display:flex;align-items:center;gap:clamp(11px,1.3vw,24px);margin-left:auto;white-space:nowrap;height:100%}
.hfcn-desktop-entry{display:flex;align-items:center;height:100%;position:relative;gap:1px}
.hfcn-nav-link{height:100%;display:flex;align-items:center;font-size:clamp(12px,.83vw,14px);font-weight:650;letter-spacing:-.15px;position:relative}
.hfcn-nav-link::after{content:"";height:2px;left:0;right:0;bottom:0;background:var(--hfcn-navy);position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.hfcn-desktop-entry:hover .hfcn-nav-link::after,.hfcn-desktop-entry.is-active .hfcn-nav-link::after{transform:scaleX(1)}
.hfcn-desktop-entry:hover .hfcn-nav-link,.hfcn-desktop-entry.is-active .hfcn-nav-link{color:var(--hfcn-navy)}
.hfcn-nav-chevron{padding:5px 0 5px 2px;border:0;background:transparent;color:var(--hfcn-navy);display:grid;place-items:center}
.hfcn-nav-chevron svg{width:15px;height:15px;transition:transform .2s}
.hfcn-desktop-entry.is-active .hfcn-nav-chevron svg{transform:rotate(180deg)}
.hfcn-actions{display:flex;align-items:center;gap:clamp(10px,1.2vw,20px);flex:none}
.hfcn-portal{color:#4a5274!important;font-weight:600;white-space:nowrap;font-size:12px}
.hfcn-portal:hover{color:var(--hfcn-navy)!important}
.hfcn-icon-button{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;background:transparent;color:var(--hfcn-navy);border-radius:8px;transition:background .18s}
.hfcn-icon-button:hover{background:var(--hfcn-mist)}
.hfcn-icon-button svg{width:22px;height:22px}
.hfcn-cta,.hfcn-mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;border-radius:8px;background:var(--hfcn-navy);color:#fff!important;padding:15px 18px 15px 20px;font-weight:650;font-size:13px;transition:background .18s,transform .18s;min-height:48px}
.hfcn-cta:hover,.hfcn-mobile-cta:hover{background:#23248d;transform:translateY(-1px)}
.hfcn-cta svg,.hfcn-mobile-cta svg{width:17px;height:17px}
.hfcn-menu-toggle{display:none}
.hfcn-backdrop{position:fixed;top:var(--hfcn-height);left:0;right:0;bottom:0;background:rgba(3,8,37,.32);backdrop-filter:blur(2px);z-index:4}
.hfcn-panels{position:absolute;inset:100% 0 auto;z-index:15}
.hfcn-mega{position:relative;max-height:calc(100dvh - var(--hfcn-height));overflow-y:auto;background:var(--hfcn-mist);border-bottom:1px solid #e2e7f2;box-shadow:0 18px 42px rgba(8,17,74,.1);animation:hfcn-slide .18s ease both}
.hfcn-mega-inner{max-width:1500px;margin:0 auto;padding:47px clamp(26px,4.7vw,78px) 53px;display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:clamp(38px,5vw,90px)}
.hfcn-eyebrow{color:var(--hfcn-accent);font-weight:750;font-size:11px;letter-spacing:2.1px}
.hfcn-mega-intro{padding-right:15px}
.hfcn-mega-intro h2{font-family:inherit;margin:15px 0 15px;font-size:clamp(25px,2vw,32px);line-height:1.16;letter-spacing:-.9px;color:var(--hfcn-navy);font-weight:750}
.hfcn-mega-intro p{font-family:inherit;color:#59637f;font-size:13px;line-height:1.8;margin:0 0 22px}
.hfcn-intro-link{color:var(--hfcn-navy)!important;font-weight:700;display:inline-flex;align-items:center;gap:9px;font-size:12.5px}
.hfcn-intro-link svg{width:17px;height:17px}
.hfcn-mega-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(26px,3vw,58px);row-gap:32px}
.hfcn-mega-group h3{font-family:inherit;font-size:13px;font-weight:750;line-height:1.3;letter-spacing:.6px;text-transform:uppercase;color:var(--hfcn-navy);margin:4px 0 23px}
.hfcn-mega-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.hfcn-mega-group li{padding:0;margin:0;list-style:none}
.hfcn-mega-group li a{display:flex;align-items:flex-start;gap:13px;min-width:0}
.hfcn-item-dot{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid var(--hfcn-accent);border-radius:100%;color:var(--hfcn-accent);transition:background .18s,color .18s;margin-top:0}
.hfcn-item-dot svg{width:11px;height:11px;transform:rotate(-45deg)}
.hfcn-mega-group li a:hover .hfcn-item-dot{background:var(--hfcn-accent);color:white}
.hfcn-item-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.hfcn-item-copy strong{font-weight:700;color:var(--hfcn-navy);font-size:13.5px;line-height:1.42;transition:color .18s}
.hfcn-mega-group li a:hover strong{color:#424ed1}
.hfcn-item-copy small{color:#59647c;font-size:11.5px;line-height:1.65}
.hfcn-search-panel{position:absolute;top:100%;left:0;right:0;z-index:19;background:#fff;border-bottom:1px solid var(--hfcn-border);box-shadow:0 20px 45px rgba(7,12,48,.13);animation:hfcn-slide .18s ease both}
.hfcn-search-inner{max-width:1120px;margin:auto;padding:38px 40px 46px;position:relative}
.hfcn-search-inner label{display:block;font-size:22px;font-weight:700;letter-spacing:-.6px;color:var(--hfcn-navy);margin-bottom:17px}
.hfcn-search-field{display:flex;border:1px solid #c6cde5;border-radius:10px;overflow:hidden}
.hfcn-search-field:focus-within{outline:2px solid var(--hfcn-accent);outline-offset:2px}
.hfcn-search-field input{background:#fff!important;color:var(--hfcn-navy)!important;width:100%;height:57px;border:0!important;padding:0 19px!important;font-size:16px!important;box-shadow:none!important;outline:none!important}
.hfcn-search-field button{border:0;background:var(--hfcn-navy);color:#fff;padding:0 23px}
.hfcn-search-close{position:absolute;right:39px;top:32px;border:0;background:transparent;color:var(--hfcn-navy);font-size:26px}
.hfcn-mobile{display:none}
@keyframes hfcn-slide{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
body.hfcn-scroll-lock{overflow:hidden!important}
/* Hide familiar theme header containers only when the two separate settings are enabled. */
body.hfcn-auto-active.hfcn-hide-original #masthead,
body.hfcn-auto-active.hfcn-hide-original .site-header,
body.hfcn-auto-active.hfcn-hide-original .elementor-location-header,
body.hfcn-auto-active.hfcn-hide-original .ct-header,
body.hfcn-auto-active.hfcn-hide-original .header-area{display:none!important}
@media(max-width:1420px){.hfcn-header-inner{gap:22px;padding:0 28px}.hfcn-portal{display:none}.hfcn-brand img{max-width:185px!important}.hfcn-brand-words b{font-size:20px}.hfcn-brand-symbol{width:42px;height:42px}.hfcn-desktop-nav{gap:13px}}
@media(max-width:1080px){
  .hfcn-root{--hfcn-height:78px}
  .hfcn-desktop-nav,.hfcn-portal,.hfcn-cta{display:none}
  .hfcn-header-inner{padding:0 clamp(18px,4vw,42px);gap:16px}
  .hfcn-brand{margin-right:auto}
  .hfcn-actions{gap:8px}
  .hfcn-brand img{max-width:205px!important;max-height:57px!important}
  .hfcn-menu-toggle{display:grid}
  .hfcn-icon-close{display:none;font-size:33px;line-height:1;position:relative;top:-1px}
  .hfcn-root.is-mobile-open .hfcn-icon-menu{display:none}
  .hfcn-root.is-mobile-open .hfcn-icon-close{display:block}
  .hfcn-panels{display:none!important}
  .hfcn-mobile{display:block;position:fixed;inset:var(--hfcn-height) 0 0;z-index:12;overflow-y:auto;overscroll-behavior:contain;background:#fff;animation:hfcn-slide .18s ease both}
  .hfcn-mobile-content{max-width:900px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom,24px)}
  .hfcn-mobile-entry{border-bottom:1px solid #e6eaf1}
  .hfcn-mobile-row{display:flex;align-items:center;min-height:76px;padding:0 clamp(23px,4vw,43px);gap:16px}
  .hfcn-mobile-row > a{color:var(--hfcn-navy)!important;font-weight:670;font-size:clamp(17px,2.4vw,21px);letter-spacing:-.2px;flex:1;padding:21px 0}
  .hfcn-mobile-chevron{flex:none;width:49px;height:46px;display:grid;place-items:center;color:var(--hfcn-navy);background:#f4f3ff;border:0;border-radius:3px;transition:background .18s,color .18s}
  .hfcn-mobile-chevron svg{transition:transform .2s;width:19px;height:19px}
  .hfcn-mobile-entry.is-expanded .hfcn-mobile-row{background:#f7f6ff}
  .hfcn-mobile-entry.is-expanded .hfcn-mobile-row>a{color:var(--hfcn-accent)!important}
  .hfcn-mobile-entry.is-expanded .hfcn-mobile-chevron{background:#e9e7ff;color:var(--hfcn-accent)}
  .hfcn-mobile-entry.is-expanded .hfcn-mobile-chevron svg{transform:rotate(180deg)}
  .hfcn-mobile-sub{background:#fff;padding:28px clamp(23px,4vw,43px) 34px}
  .hfcn-mobile-group{margin-bottom:31px}
  .hfcn-mobile-group h3{font-family:inherit;font-size:13px;font-weight:750;line-height:1.3;letter-spacing:.7px;color:var(--hfcn-navy);margin:0 0 17px;text-transform:uppercase}
  .hfcn-mobile-group a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #f1f2f6;color:#232952!important;font-weight:600;font-size:14px;line-height:1.45}
  .hfcn-mobile-group a:hover{color:var(--hfcn-accent)!important}
  .hfcn-mobile-group a span{font-size:23px;color:var(--hfcn-accent);line-height:1}
  .hfcn-mobile-overview{display:inline-flex;align-items:center;gap:9px;color:var(--hfcn-navy)!important;font-weight:700;font-size:13px}
  .hfcn-mobile-overview svg{width:17px;height:17px}
  .hfcn-mobile-bottom{padding:28px clamp(23px,4vw,43px) 42px;display:flex;flex-direction:column;gap:20px;background:#f7f8fd}
  .hfcn-mobile-cta{align-self:stretch;justify-content:space-between;border-radius:8px;font-size:15px;padding:17px 20px}
  .hfcn-search-inner{padding:29px 28px 32px}
  .hfcn-search-inner label{font-size:20px;padding-right:50px}
  .hfcn-search-close{right:29px;top:24px}
}
@media(max-width:520px){
  .hfcn-root{--hfcn-height:72px}
  .hfcn-header-inner{padding:0 17px}
  .hfcn-brand-symbol{width:38px;height:38px;font-size:18px;border-radius:9px;margin-right:9px}
  .hfcn-brand-words b{font-size:19px;letter-spacing:-.7px}
  .hfcn-brand-words small{font-size:6.6px;letter-spacing:.85px}
  .hfcn-brand img{max-width:168px!important;max-height:52px!important}
  .hfcn-actions{gap:0}
  .hfcn-icon-button{width:40px;height:44px}
  .hfcn-icon-button svg{width:22px;height:22px}
  .hfcn-mobile-row{min-height:73px;padding:0 21px}
  .hfcn-mobile-row>a{font-size:18px}
  .hfcn-mobile-chevron{width:43px;height:42px}
  .hfcn-mobile-sub{padding-left:22px;padding-right:22px}
  .hfcn-search-inner{padding:25px 21px 30px}
}
@media(prefers-reduced-motion:reduce){.hfcn-root *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* v1.1: Shield the menu's icon buttons from theme/Elementor button styles.
   The navigation chevrons are intentionally plain Font Awesome icons,
   not outlined square buttons. */
.hfcn-root button.hfcn-nav-chevron,
.hfcn-root button.hfcn-mobile-chevron,
.hfcn-root button.hfcn-icon-button {
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  border-width:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  outline:none!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  min-height:0!important;
  line-height:1!important;
  text-transform:none!important;
  transform:none!important;
  -webkit-tap-highlight-color:transparent;
}
.hfcn-root button.hfcn-nav-chevron,
.hfcn-root button.hfcn-mobile-chevron{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--hfcn-navy)!important;
}
.hfcn-root button.hfcn-nav-chevron{
  width:18px!important;
  height:34px!important;
  margin-left:4px!important;
  flex:0 0 18px!important;
}
.hfcn-root .hfcn-nav-chevron .fa,
.hfcn-root .hfcn-mobile-chevron .fa{
  display:inline-block!important;
  font-family:FontAwesome!important;
  font-style:normal!important;
  font-weight:normal!important;
  font-variant:normal!important;
  line-height:1!important;
  font-size:11px!important;
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .28s cubic-bezier(.2,.72,.2,1),color .18s ease;
  pointer-events:none;
}
.hfcn-root .hfcn-desktop-entry.is-active .hfcn-nav-chevron .fa,
.hfcn-root .hfcn-mobile-entry.is-expanded .hfcn-mobile-chevron .fa{
  transform:rotate(-180deg);
}
.hfcn-root button.hfcn-icon-button{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--hfcn-navy)!important;
}
.hfcn-root button.hfcn-nav-chevron:focus-visible,
.hfcn-root button.hfcn-mobile-chevron:focus-visible,
.hfcn-root button.hfcn-icon-button:focus-visible{
  outline:2px solid var(--hfcn-accent)!important;
  outline-offset:3px!important;
  border-radius:3px!important;
}
.hfcn-root .hfcn-mega-group h3 a{
  color:inherit!important;
  text-decoration:none!important;
}
.hfcn-root .hfcn-mega-group h3 a:hover,
.hfcn-root .hfcn-mobile-group h3 a:hover{color:var(--hfcn-accent)!important}
.hfcn-root .hfcn-mega-group .hfcn-nested-list{
  padding-left:18px;
  border-left:1px solid #dbe0f2;
  margin:15px 0 0 11px;
  gap:12px;
}
.hfcn-root .hfcn-mega-group .hfcn-nested-list .hfcn-item-dot{
  width:17px;height:17px;
}
.hfcn-root .hfcn-mega-group .hfcn-nested-list .hfcn-item-dot svg{width:9px;height:9px}
.hfcn-root .hfcn-mobile-group h3 a{color:inherit!important}
.hfcn-root .hfcn-mobile-child.hfcn-mobile-depth-1{padding-left:16px;font-weight:500}
.hfcn-root .hfcn-mobile-child.hfcn-mobile-depth-2{padding-left:32px;font-weight:500}
.hfcn-root .hfcn-mobile-child.hfcn-mobile-depth-3,
.hfcn-root .hfcn-mobile-child.hfcn-mobile-depth-4,
.hfcn-root .hfcn-mobile-child.hfcn-mobile-depth-5{padding-left:44px;font-weight:500}
@media (max-width:1080px){
  .hfcn-root button.hfcn-mobile-chevron{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }
  .hfcn-root .hfcn-mobile-chevron .fa{font-size:15px!important}
  .hfcn-root .hfcn-mobile-entry.is-expanded .hfcn-mobile-chevron{color:var(--hfcn-accent)!important}
}
@media(prefers-reduced-motion:reduce){
  .hfcn-root .hfcn-nav-chevron .fa,
  .hfcn-root .hfcn-mobile-chevron .fa{transition:none!important}
}

/* Keep the hamburger invisible at desktop sizes, even in themes which
   assign display:block to all buttons or all icon buttons. */
.hfcn-root button.hfcn-menu-toggle{display:none!important}
@media(max-width:1080px){.hfcn-root button.hfcn-menu-toggle{display:grid!important}}
/* Inherit the site's font family while retaining legible menu sizing. */
.hfcn-root .hfcn-desktop-nav a.hfcn-nav-link{
  font-family:inherit!important;
  font-size:clamp(12px,.83vw,14px)!important;
  line-height:1.4!important;
  font-weight:650!important;
  letter-spacing:-.15px!important;
  text-transform:none!important;
}

/* v1.2: Elementor-safe full-width dropdown and header backdrop.
   JS measures the actual root position to cover the viewport even when the
   shortcode is placed inside a boxed Elementor container. */
.hfcn-root{
  --hfcn-page-edge:calc(50% - 50vw);
  --hfcn-page-width:100vw;
  font-family:inherit!important;
  font-size:inherit;
}
.hfcn-header{
  /* Use viewport width for the actual header as well as the dropdown.
     This prevents a narrow white Elementor header layer behind it. */
  left:var(--hfcn-page-edge);
  width:var(--hfcn-page-width);
  max-width:none;
  background:#fff;
  border-bottom:1px solid var(--hfcn-border);
}
.hfcn-header-inner{position:relative;z-index:1}
.hfcn-mega{
  left:var(--hfcn-page-edge);
  width:var(--hfcn-page-width);
  max-width:none;
}
.hfcn-search-panel{
  left:var(--hfcn-page-edge);
  right:auto;
  width:var(--hfcn-page-width);
}
/* WP menu item ordering is unchanged. Native CSS columns balance the link
   heights naturally; odd counts distribute as evenly as possible. */
.hfcn-mega-groups{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(32px,4vw,78px);
  align-items:start;
}
.hfcn-mega-group:only-child{grid-column:1/-1}
.hfcn-mega-group:only-child > .hfcn-top-links{
  display:block;
  columns:2;
  column-gap:clamp(35px,5vw,95px);
  column-fill:balance;
}
.hfcn-mega-group:only-child > .hfcn-top-links > li{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  margin:0 0 20px;
}
.hfcn-mega-group:only-child > .hfcn-top-links > li:last-child{margin-bottom:0}
.hfcn-root .hfcn-mega-group h3,
.hfcn-root .hfcn-mobile-group h3{font-family:inherit!important}
.hfcn-root .hfcn-nav-link,
.hfcn-root .hfcn-item-copy strong,
.hfcn-root .hfcn-item-copy small,
.hfcn-root .hfcn-mega-intro,
.hfcn-root .hfcn-cta,
.hfcn-root .hfcn-portal{font-family:inherit!important}
@media(min-width:1081px) and (max-width:1480px){
  .hfcn-header-inner{gap:clamp(12px,1.35vw,22px);padding-inline:clamp(14px,2vw,30px)}
  .hfcn-desktop-nav{gap:clamp(8px,.8vw,13px)}
  .hfcn-nav-link{font-size:clamp(11px,.86vw,13px)}
  .hfcn-brand img{max-width:clamp(142px,14vw,185px)!important}
  .hfcn-brand-words b{font-size:20px}
  .hfcn-cta{padding:13px 14px;gap:11px;font-size:12px}
}
@media(min-width:1081px) and (max-width:1260px){
  /* Keep the real menu, search and logo on compact laptop screens. */
  .hfcn-cta,.hfcn-portal{display:none}
  .hfcn-header-inner{gap:12px}
  .hfcn-desktop-nav{gap:9px}
  .hfcn-brand img{max-width:148px!important}
  .hfcn-nav-link{font-size:11.5px!important}
  .hfcn-root .hfcn-desktop-nav a.hfcn-nav-link{font-size:11.5px!important}
  .hfcn-actions{gap:5px}
  .hfcn-icon-button{width:35px}
}
@media(max-width:1080px){
  .hfcn-mega-groups{grid-template-columns:1fr}
  .hfcn-mega-group:only-child > .hfcn-top-links{columns:1}
}


/* v1.3: WP menu groups are placed in separate columns, without moving
   or hard-coding any links. A single group retains balanced two-column links. */
.hfcn-root .hfcn-mega-groups.hfcn-groups-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:clamp(25px,3vw,56px);
  align-content:start;
}
.hfcn-root .hfcn-mega-groups.hfcn-groups-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.hfcn-root .hfcn-mega-groups.hfcn-groups-one{grid-template-columns:minmax(0,1fr)}
/* Small laptops use two group columns to avoid unreadably narrow words. */
@media (min-width:1081px) and (max-width:1250px){
  .hfcn-root .hfcn-mega-groups.hfcn-groups-three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .hfcn-root .hfcn-mega-groups.hfcn-groups-three,
  .hfcn-root .hfcn-mega-groups.hfcn-groups-two{grid-template-columns:minmax(0,1fr)}
}
/* Fully neutralise site-wide Elementor/theme button styles on the search X.
   Keep keyboard focus visible; do not show an outline at rest or on hover. */
.hfcn-root button.hfcn-search-close,
.hfcn-root button.hfcn-search-close:hover,
.hfcn-root button.hfcn-search-close:active{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:36px!important;
  height:36px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  outline:0!important;
  color:var(--hfcn-navy)!important;
  transform:none!important;
  line-height:1!important;
  cursor:pointer!important;
}
.hfcn-root button.hfcn-search-close svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  stroke:currentColor!important;
  fill:none!important;
  pointer-events:none;
}
.hfcn-root button.hfcn-search-close:focus-visible{
  outline:2px solid var(--hfcn-accent)!important;
  outline-offset:3px!important;
  border-radius:3px!important;
}
/* Only the CTA is present in the bottom row unless the administrator adds
   other links to their actual WordPress menu. */
.hfcn-root .hfcn-mobile-bottom{gap:14px}

/* The former first child of the mobile footer was Staff portal. Now that
   it is removed, preserve the Get in touch CTA contrast. */
.hfcn-root .hfcn-mobile-bottom>a.hfcn-mobile-cta{color:#fff!important}


/* v1.4: Uniform three-column mega menus, including short menus.
   Short sections sit in adjacent tracks; long WP menu lists are divided by
   PHP into balanced groups with no more than seven direct links per list. */
@media (min-width:1081px){
  .hfcn-root .hfcn-mega-groups,
  .hfcn-root .hfcn-mega-groups.hfcn-groups-one,
  .hfcn-root .hfcn-mega-groups.hfcn-groups-two,
  .hfcn-root .hfcn-mega-groups.hfcn-groups-three{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:clamp(24px,2.4vw,42px);
    row-gap:33px;
    justify-items:stretch;
    align-content:start;
    align-items:start;
  }
  .hfcn-root .hfcn-mega-group:only-child{grid-column:auto}
  .hfcn-root .hfcn-mega-group > .hfcn-top-links,
  .hfcn-root .hfcn-mega-group:only-child > .hfcn-top-links{
    display:flex;
    flex-direction:column;
    columns:auto;
    column-count:auto;
    gap:18px;
  }
  .hfcn-root .hfcn-mega-group > .hfcn-top-links > li,
  .hfcn-root .hfcn-mega-group:only-child > .hfcn-top-links > li{
    margin:0;
  }
  .hfcn-root .hfcn-continuation-spacer{visibility:hidden}
}
@media(min-width:1081px) and (max-width:1250px){
  .hfcn-root .hfcn-mega-inner{
    grid-template-columns:minmax(155px,185px) minmax(0,1fr);
    gap:clamp(22px,3vw,36px);
    padding-inline:clamp(20px,3vw,38px);
  }
  .hfcn-root .hfcn-mega-groups,
  .hfcn-root .hfcn-mega-groups.hfcn-groups-three{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:clamp(15px,1.8vw,25px);
  }
  .hfcn-root .hfcn-mega-group li a{gap:8px}
  .hfcn-root .hfcn-item-copy strong{font-size:12.5px}
}
/* Use the site's Elementor global body font when one is configured; otherwise
   inherit from the theme. Do not load or force a separate navigation font.
   Apply consistently to labels, headings, descriptions, CTA and buttons.
   Exclude Font Awesome glyphs so the animated chevrons retain their icons. */
.hfcn-root{
  --hfcn-site-font:var(--e-global-typography-text-font-family,var(--e-global-typography-primary-font-family,inherit));
  font-family:var(--hfcn-site-font)!important;
}
.hfcn-root :not(.fa){
  font-family:var(--hfcn-site-font)!important;
}
.hfcn-root .hfcn-nav-chevron .fa,
.hfcn-root .hfcn-mobile-chevron .fa{
  font-family:FontAwesome!important;
}
