/* Fxtriangle v1.2.4 - corrective visibility/accessibility layer; loaded LAST.
   Based on the client's October 9 production archive; no logos/data/scripts changed. */
:root{--fx-ink:#0B1F33;--fx-accent:#087F69;--fx-accent-dark:#066451;--fx-line:#DBE5EA;--fx-light:#F4F7FA}

/* Counter strip - guaranteed legibility on desktop, tablet and mobile. */
body .fx-value-strip.fx-counter-strip {
  background:#0B1F33!important;
  background-image:none!important;
  color:#fff!important;
  padding:clamp(26px,3vw,42px) 0!important;
}
body .fx-counter-strip .row {align-items:stretch;row-gap:0!important}
body .fx-counter-strip .fx-count-block {
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:115px!important;text-align:center!important;
  color:#fff!important;background:transparent!important;
  padding:18px 20px!important;opacity:1!important;visibility:visible!important;
  border-color:rgba(255,255,255,.20)!important;
}
body .fx-counter-strip .fx-count-block strong {
  display:flex!important;align-items:baseline!important;justify-content:center!important;
  margin:0!important;gap:0!important;
  font-size:clamp(2.1rem,3.8vw,3rem)!important;line-height:1.14!important;
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
  font-weight:800!important;opacity:1!important;visibility:visible!important;
}
body .fx-counter-strip .fx-count-block strong > span,
body .fx-counter-strip .fx-count-block strong .fx-count {
  display:inline!important;width:auto!important;height:auto!important;
  font-size:inherit!important;line-height:inherit!important;margin:0!important;
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
  opacity:1!important;visibility:visible!important;
}
body .fx-counter-strip .fx-count-block > span {
  display:block!important;font-size:clamp(.96rem,1.05vw,1.06rem)!important;
  font-weight:600!important;line-height:1.5!important;margin:10px 0 0!important;
  color:#E8F1F6!important;-webkit-text-fill-color:#E8F1F6!important;
  opacity:1!important;visibility:visible!important;
}
@media (min-width:768px){
 body .fx-counter-strip .row > .fx-count-block:not(:first-child){border-left:1px solid rgba(255,255,255,.20)!important;border-top:0!important}
}
@media (max-width:767.98px){
 body .fx-counter-strip .fx-count-block{min-height:103px!important;padding:16px!important;border-left:0!important}
 body .fx-counter-strip .fx-count-block:not(:first-child){border-top:1px solid rgba(255,255,255,.20)!important}
}

/* Calls to action - never white-on-white or transparent on white. */
body .fx-video-section a.fx-button.fx-button-outline,
body .fx-video-section a.fx-button.fx-button-outline:link,
body .fx-video-section a.fx-button.fx-button-outline:visited,
body .fx-video-section a.fx-button.fx-button-outline span {
  background-color:#087F69!important;
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
  text-shadow:none!important;text-decoration:none!important;
  opacity:1!important;visibility:visible!important;
}
body .fx-video-section a.fx-button.fx-button-outline,
body .fx-video-section a.fx-button.fx-button-outline:link,
body .fx-video-section a.fx-button.fx-button-outline:visited {
 border:2px solid #087F69!important;border-radius:10px!important;min-height:48px!important;
 box-shadow:0 12px 26px rgba(3,69,58,.18)!important;
}
body .fx-video-section a.fx-button.fx-button-outline:is(:hover,:focus-visible){background:#065847!important;border-color:#065847!important;color:#fff!important;}
body .fx-video-section a.fx-button.fx-button-outline:is(:hover,:focus-visible) span{background:transparent!important;color:#fff!important}
body .fx-section:not(.fx-video-section) .fx-button-outline,
body .fx-hero .fx-button-outline,
body .fx-section:not(.fx-video-section) .fx-button-outline span,
body .fx-hero .fx-button-outline span {
  color:#075B4E!important;-webkit-text-fill-color:#075B4E!important;
}
body .fx-section:not(.fx-video-section) .fx-button-outline,
body .fx-hero .fx-button-outline {
  background:#fff!important;border:2px solid #087F69!important;
}
body .fx-section:not(.fx-video-section) .fx-button-outline:is(:hover,:focus-visible),
body .fx-hero .fx-button-outline:is(:hover,:focus-visible){background:#EAF5F1!important}

/* Shared menu and navigation across the PHP pages (all use the same header.php). */
body .fx-site-header {background:rgba(255,255,255,.98)!important;z-index:1011!important}
body .fx-site-header .fx-menu .nav-link,
body .fx-site-header .fx-menu .nav-link:visited {color:#0B1F33!important;-webkit-text-fill-color:#0B1F33!important;opacity:1!important}
body .fx-site-header .fx-menu .nav-link:is(:hover,:focus-visible,.active){color:#086A59!important;-webkit-text-fill-color:#086A59!important}
body .fx-site-header .fx-dropdown-menu .dropdown-item {color:#0B1F33!important;-webkit-text-fill-color:#0B1F33!important}
body .fx-site-header .fx-dropdown-menu .dropdown-item:is(:hover,:focus-visible){background:#EAF5F1!important;color:#075B4E!important}
body .fx-site-header .fx-members-link,
body .fx-site-header .fx-members-link span{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}
body .fx-site-header .fx-members-link {background:#0B1F33!important;border:1px solid #0B1F33!important}
body .fx-site-header .fx-members-link:hover{background:#087F69!important;border-color:#087F69!important}
body .fx-site-header .fx-menu-toggle{min-height:44px!important;min-width:44px!important;background:#FFF!important;border:1px solid #AABBC6!important;color:#0B1F33!important}
body .fx-site-header .fx-menu-toggle span{background:#0B1F33!important}
@media(max-width:1199.98px){
 body .fx-site-header .fx-navbar {min-height:76px!important}
 body .fx-site-header .navbar-collapse{max-height:calc(100dvh - 94px);overflow-y:auto!important;overflow-x:hidden!important;background:#FFFFFF!important;overscroll-behavior:contain}
 body .fx-site-header .fx-menu .nav-link{display:block!important;min-height:44px!important;padding:12px 16px!important;white-space:normal!important;line-height:1.45!important}
 body .fx-site-header .dropdown-menu{max-width:100%;box-shadow:none!important}
 body .fx-site-header .fx-nav-actions{margin-left:auto}
}
@media(max-width:575.98px){
 body .fx-site-header .fx-brand img{max-width:124px!important;height:auto!important;object-fit:contain}
 body .fx-site-header .fx-members-link{font-size:.75rem!important;padding:10px!important}
}

/* Section headings keep an SEO-friendly hierarchy, with visual size independent of tag name. */
body.fx-modernized .container-fluid.header h1,
body.fx-modernized [class*="page-header-"] h1{
  font-size:clamp(1.75rem,3.1vw,3.05rem)!important;line-height:1.19!important;
  overflow-wrap:break-word!important;letter-spacing:-.035em!important;text-wrap:balance;
}
body.fx-modernized main h2,body.fx-modernized main .display-2:not(h1),body.fx-modernized main .display-3:not(h1){
  font-size:clamp(1.5rem,2.6vw,2.45rem)!important;line-height:1.25!important;
}
body.fx-homepage .fx-heading-row h2,body.fx-homepage .fx-section h2{
  font-size:clamp(1.8rem,2.85vw,2.65rem)!important;line-height:1.2!important;
}
body .fxn-page .fxn-h1,body.fxn-page .fxn-h1{font-size:clamp(1.75rem,3vw,2.9rem)!important;line-height:1.22!important;overflow-wrap:anywhere}

/* Never hide meaningful content until JavaScript finishes running. */
body .fx-reveal{opacity:1!important;visibility:visible!important;transform:none!important}
body .fx-service-card :is(h3,p,.fx-card-link){opacity:1!important;visibility:visible!important}
body .fx-back-to-top{display:grid!important;visibility:visible!important;opacity:1!important}
body .fx-live-ribbon-headline,body .fx-live-ribbon-label,body .fx-live-ribbon-all{visibility:visible!important;opacity:1!important}

/* Focus treatment and narrow viewport containment. */
body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #22B8A6!important;outline-offset:3px!important}
body .fx-video-section .row{max-width:100%}
@media(max-width:991.98px){body.fx-homepage .fx-video-section .row{margin-left:0!important;margin-right:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
