/* Transit & Flow Group Mobile Navigation 2.0.1
   Scope: #tf-header mobile controls (<1024px), #tf-mnav drawer, #tf-mnav-scrim.
   Desktop header rules in tf-header are untouched. */

:root{--tfm-navy:#02264A;--tfm-blue:#0092CD;--tfm-blue-ink:#0A6FB5;--tfm-ink:#1F2F3F;--tfm-mut:#42546A;--tfm-line:#E4EDF3;--tfm-line2:#EEF3F7;--tfm-tint:#EAF6FC;--tfm-soft:#F5F8FA;--tfm-h:64px;--tfm-r:8px;--tfm-ctl:56px;--tfm-ctl-r:12px;--tfm-ctl-line:#CFD9E2}

/* Header controls: hidden on desktop, shown below the drawer breakpoint */
#tf-header .tfm-btn{display:none}
/* "html #tf-header" outranks the header plugin's own "#tf-header" rules whatever order LiteSpeed concatenates the stylesheets in. */
@media (max-width:1023px){
  html:root{--tfx-h:var(--tfm-h)}
  html body.tf-hdr-on{padding-top:var(--tfm-h)!important}
  html #tf-header .tfx-bar,html #tf-header.shrunk .tfx-bar{height:var(--tfm-h)}
  html #tf-header .tfx-in{padding:0 4px 0 16px}
  html #tf-header .tfx-logo{margin-right:8px;display:flex;align-items:center;min-height:44px}
  html #tf-header .tfx-logo img{width:154px;height:28px}
  html #tf-header .tfx-tel{display:none}
  html #tf-header .tfx-acts{gap:8px}
  html #tf-header .tfm-btn{display:flex}
}
@media (max-width:359px){
  html #tf-header .tfx-in{padding:0 3px 0 12px}
  html #tf-header .tfx-logo img{width:132px;height:24px}
}
/* Logged-in sessions: keep the fixed header and drawer below the WordPress admin bar. */
@media (max-width:1023px){
  html body.admin-bar #tf-header{top:46px}
  html body.admin-bar.tf-hdr-on{padding-top:calc(var(--tfm-h) + 46px)!important}
  body.admin-bar #tf-mnav,body.admin-bar .tfm-scrim{top:46px}
}
@media (min-width:783px) and (max-width:1023px){
  html body.admin-bar #tf-header{top:32px}
  html body.admin-bar.tf-hdr-on{padding-top:calc(var(--tfm-h) + 32px)!important}
  body.admin-bar #tf-mnav,body.admin-bar .tfm-scrim{top:32px}
}

/* Shared button */
/* Bare icon controls: no border, background or shadow; the 56x56 target is invisible. */
.tfm-btn{width:var(--tfm-ctl);height:var(--tfm-ctl);flex:0 0 auto;border:0;border-radius:var(--tfm-ctl-r);background:transparent;box-shadow:none;color:var(--tfm-navy);display:flex;align-items:center;justify-content:center;padding:0;margin:0;cursor:pointer;line-height:0;-webkit-tap-highlight-color:transparent;transition:background .15s}
.tfm-btn:hover{background:transparent}
.tfm-btn:active{background:#F1F5F9}
#tf-header .tfm-btn > svg.tfm-ham{width:30px;height:24px;stroke:var(--tfm-navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}
#tf-mnav .tfm-btn > svg.tfm-x{width:28px;height:28px;stroke:var(--tfm-navy);stroke-width:3;stroke-linecap:round;fill:none}
.tfm-btn:hover{background:var(--tfm-soft)}
.tfm-btn:active{background:var(--tfm-line2)}
.tfm-btn svg,#tf-mnav svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
#tf-mnav svg{width:22px;height:22px}
.tfm-btn:focus-visible,#tf-mnav a:focus-visible,#tf-mnav button:focus-visible{outline:3px solid var(--tfm-blue);outline-offset:2px;border-radius:var(--tfm-r)}
.tfm-btn:focus-visible,#tf-header .tfm-btn:focus-visible{outline:3px solid var(--tfm-blue);outline-offset:-4px;border-radius:var(--tfm-ctl-r)}
/* After a touch or click, no ring on the two icon controls; keyboard users keep it. */
html.tfm-pointer .tfm-btn:focus-visible,html.tfm-pointer #tf-header .tfm-btn:focus-visible,html.tfm-pointer #tf-mnav .tfm-btn:focus-visible,html.tfm-pointer .tfm-btn:focus{outline:none;box-shadow:none}

/* Scrim */
.tfm-scrim{position:fixed;inset:0;background:rgba(2,38,74,.45);z-index:9990}
.tfm-scrim[hidden]{display:none}

/* Drawer */
#tf-mnav{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;background:#fff;z-index:9995;display:flex;flex-direction:column;font-family:Poppins,"Segoe UI",system-ui,sans-serif;color:var(--tfm-navy);-webkit-font-smoothing:antialiased;box-sizing:border-box;overscroll-behavior:contain}
#tf-mnav[hidden]{display:none}
#tf-mnav *,#tf-mnav *:before,#tf-mnav *:after{box-sizing:border-box}
#tf-mnav a{text-decoration:none;color:inherit}
@media (min-width:480px){#tf-mnav{left:auto;width:min(420px,100%);box-shadow:-20px 0 50px -30px rgba(2,38,74,.5)}}
@media (min-width:1024px){#tf-mnav,.tfm-scrim{display:none!important}}

/* Dock and floating chat step aside while the menu is open */
body.tfm-open .tf-mobilebar{visibility:hidden!important;pointer-events:none!important}
body.tfm-open #proChatIframeContainer{visibility:hidden!important}
body.tfm-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}

#tf-mnav .tfm-top{flex:0 0 auto;min-height:var(--tfm-h);display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 16px;box-shadow:0 1px 0 var(--tfm-line);padding-top:env(safe-area-inset-top,0px)}
#tf-mnav .tfm-close{width:var(--tfm-ctl);padding:0}
#tf-mnav .tfm-logo{display:flex;align-items:center;min-height:44px}
#tf-mnav .tfm-logo img{display:block;width:154px;height:28px;object-fit:contain;object-position:left}
@media (max-width:359px){#tf-mnav .tfm-top{padding:0 3px 0 12px}#tf-mnav .tfm-logo img{width:132px;height:24px}}

#tf-mnav .tfm-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* Search */
#tf-mnav .tfm-search{padding:14px 16px 10px}
#tf-mnav .tfm-form{margin:0}
#tf-mnav .tfm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#tf-mnav .tfm-field{position:relative;display:block}
#tf-mnav .tfm-input{display:block;width:100%;height:54px;border:1.5px solid var(--tfm-ctl-line);border-radius:var(--tfm-ctl-r);background:#fff;font:inherit;font-size:16px;line-height:1.2;color:var(--tfm-navy);padding:0 52px 0 16px;margin:0;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
#tf-mnav .tfm-input:focus,#tf-mnav .tfm-input:focus-visible{outline:none;border-color:var(--tfm-blue);box-shadow:0 0 0 3px rgba(0,146,205,.18)}
#tf-mnav .tfm-input:placeholder-shown{padding-right:16px}
#tf-mnav .tfm-input::placeholder{color:#6B7C8E;opacity:1}
#tf-mnav .tfm-input::-webkit-search-cancel-button,#tf-mnav .tfm-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
#tf-mnav .tfm-input::placeholder{color:#6B7C8E;opacity:1}
#tf-mnav .tfm-clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;color:var(--tfm-mut);display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--tfm-r);cursor:pointer}
#tf-mnav .tfm-clear[hidden]{display:none}
#tf-mnav .tfm-clear svg{width:20px;height:20px}
#tf-mnav .tfm-status{min-height:0;padding:0;font-size:12px;font-weight:600;color:var(--tfm-mut);display:flex;justify-content:space-between;align-items:center;gap:8px}
#tf-mnav .tfm-status:not(:empty){padding:10px 0 4px}
#tf-mnav .tfm-status a{color:var(--tfm-blue-ink);font-weight:700;white-space:nowrap}
#tf-mnav .tfm-status .tfm-spin{width:14px;height:14px;border:2px solid var(--tfm-line);border-top-color:var(--tfm-blue);border-radius:50%;animation:tfm-spin .8s linear infinite;display:inline-block;vertical-align:-2px;margin-right:6px}
@keyframes tfm-spin{to{transform:rotate(360deg)}}
#tf-mnav .tfm-results{list-style:none;margin:6px -16px 0;padding:0;border-top:1px solid var(--tfm-line2)}
#tf-mnav .tfm-results[hidden]{display:none}
#tf-mnav .tfm-results li{margin:0;padding:0}
#tf-mnav .tfm-results a{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;border-bottom:1px solid var(--tfm-line2)}
#tf-mnav .tfm-results a.is-active,#tf-mnav .tfm-results a:hover{background:#F7FAFC}
#tf-mnav .tfm-results .t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
#tf-mnav .tfm-results .n{font-size:15px;font-weight:600;color:var(--tfm-navy);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tf-mnav .tfm-results .n mark{background:transparent;color:var(--tfm-blue-ink);font-weight:700;padding:0}
#tf-mnav .tfm-results .p{font-size:12px;color:var(--tfm-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tf-mnav .tfm-tag{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--tfm-tint);color:var(--tfm-blue-ink);white-space:nowrap}
#tf-mnav .tfm-tag.area{background:var(--tfm-line2);color:var(--tfm-mut)}
#tf-mnav .tfm-tag.guide{background:#FFF4E5;color:#8A4B00}
#tf-mnav .tfm-tag.page,#tf-mnav .tfm-tag.industry{background:var(--tfm-line2);color:var(--tfm-mut)}
#tf-mnav .tfm-results .ar{flex:0 0 20px;color:#B5C2CE}
#tf-mnav .tfm-results .ar svg{width:20px;height:20px;stroke-width:2}
#tf-mnav .tfm-hint{padding:12px 0 0;font-size:12px;color:#7A8A9A;line-height:1.5}

/* Empty / error state */
#tf-mnav .tfm-empty{padding:22px 0 6px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
#tf-mnav .tfm-empty[hidden]{display:none}
#tf-mnav .tfm-empty .ico{width:48px;height:48px;border-radius:14px;background:#F3F6F9;display:flex;align-items:center;justify-content:center;color:var(--tfm-mut)}
#tf-mnav .tfm-empty .ico svg{width:24px;height:24px}
#tf-mnav .tfm-empty .h{font-size:17px;font-weight:700;color:var(--tfm-navy)}
#tf-mnav .tfm-empty .d{font-size:14px;line-height:1.5;color:var(--tfm-mut);max-width:300px}
#tf-mnav .tfm-empty .links{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}
#tf-mnav .tfm-empty .links a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;border:1px solid var(--tfm-line);border-radius:10px;font-size:15px;font-weight:600;color:var(--tfm-navy)}
#tf-mnav .tfm-empty .links a svg{width:20px;height:20px;color:#B5C2CE;stroke-width:2}

/* Popular chips */
#tf-mnav .tfm-pop{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#tf-mnav .tfm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tfm-mut)}
#tf-mnav .tfm-chips{display:flex;gap:8px;flex-wrap:wrap}
#tf-mnav .tfm-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--tfm-r);background:var(--tfm-tint);color:var(--tfm-blue-ink);font-size:15px;font-weight:600;border:1px solid #D4ECF8}
#tf-mnav .tfm-chip:hover{background:#DDF1FA}
body.tfm-searching #tf-mnav .tfm-pop,body.tfm-searching #tf-mnav .tfm-nav{display:none}

/* Nav list */
#tf-mnav .tfm-nav{border-top:1px solid var(--tfm-line2)}
#tf-mnav .tfm-list{list-style:none;margin:0;padding:0}
#tf-mnav .tfm-item{display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--tfm-line2);position:relative}
#tf-mnav .tfm-link{flex:1 1 auto;display:flex;align-items:center;min-height:52px;padding:0 16px;font-size:17px;font-weight:600;color:var(--tfm-navy);line-height:1.3}
#tf-mnav .tfm-item.is-cur{background:var(--tfm-tint);box-shadow:inset 3px 0 0 var(--tfm-blue)}
#tf-mnav .tfm-item.is-cur > .tfm-link,#tf-mnav .tfm-item.has-cur > .tfm-link{color:var(--tfm-blue-ink)}
#tf-mnav .tfm-item.open > .tfm-link{color:var(--tfm-blue-ink);background:#F7FAFC}
#tf-mnav .tfm-disc{flex:0 0 52px;width:52px;min-height:52px;border:0;border-left:1px solid var(--tfm-line2);background:transparent;color:var(--tfm-mut);display:flex;align-items:center;justify-content:center;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
#tf-mnav .tfm-disc svg{width:20px;height:20px;stroke-width:2;transition:transform .18s ease}
#tf-mnav .tfm-disc[aria-expanded="true"]{color:var(--tfm-blue);background:#F7FAFC}
#tf-mnav .tfm-disc[aria-expanded="true"] svg{transform:rotate(180deg)}
#tf-mnav .tfm-sub{flex:0 0 100%;width:100%;background:#F7FAFC;border-top:1px solid var(--tfm-line2);padding:4px 0 8px}
#tf-mnav .tfm-sub[hidden]{display:none}
#tf-mnav .tfm-g{padding:12px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tfm-mut)}
#tf-mnav .tfm-sub a{display:flex;align-items:center;min-height:44px;padding:0 16px 0 28px;font-size:15px;font-weight:500;color:var(--tfm-navy);line-height:1.3}
#tf-mnav .tfm-sub a:hover{color:var(--tfm-blue-ink)}
#tf-mnav .tfm-sub a.is-cur{color:var(--tfm-blue-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--tfm-blue)}
@media (max-width:359px){#tf-mnav .tfm-link{min-height:50px;font-size:16px;padding:0 14px}#tf-mnav .tfm-disc{flex-basis:48px;width:48px;min-height:50px}#tf-mnav .tfm-search{padding:12px 14px 10px}#tf-mnav .tfm-results{margin:6px -14px 0}}

/* Footer actions */
#tf-mnav .tfm-foot{flex:0 0 auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--tfm-line);background:#fff;box-shadow:0 -8px 16px rgba(2,38,74,.04)}
#tf-mnav .tfm-cta,#tf-mnav .tfm-call{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:10px;font-weight:700;font-size:18px;line-height:1.2;padding:0 16px}
#tf-mnav .tfm-cta{background:var(--tfm-blue)!important;color:#fff!important;border:0}
#tf-mnav .tfm-cta:hover{background:var(--tfm-blue-ink)!important}
#tf-mnav .tfm-call{border:1.5px solid var(--tfm-navy);color:var(--tfm-navy);background:#fff}
#tf-mnav .tfm-call:hover{background:var(--tfm-soft)}
#tf-mnav .tfm-cta svg,#tf-mnav .tfm-call svg{stroke-width:2}
@media (max-width:359px){#tf-mnav .tfm-foot{padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}#tf-mnav .tfm-cta,#tf-mnav .tfm-call{min-height:46px;font-size:16px}}
@media (max-height:600px) and (min-width:360px){#tf-mnav .tfm-foot{flex-direction:row}#tf-mnav .tfm-cta,#tf-mnav .tfm-call{flex:1 1 0;min-height:48px;font-size:15px;gap:6px;padding:0 8px}}

/* Motion */
@media (prefers-reduced-motion:no-preference){
  #tf-mnav{transition:transform .22s cubic-bezier(.2,.7,.2,1),opacity .18s}
  #tf-mnav.tfm-enter{transform:translateX(24px);opacity:0}
  .tfm-scrim{transition:opacity .18s}
  .tfm-scrim.tfm-enter{opacity:0}
}
@media (prefers-reduced-motion:reduce){#tf-mnav,.tfm-scrim,#tf-mnav .tfm-disc svg{transition:none!important;animation:none!important}}

/* Large text safety: never clip */
#tf-mnav .tfm-link,#tf-mnav .tfm-sub a,#tf-mnav .tfm-results .n{word-break:normal;overflow-wrap:anywhere}
#tf-mnav .tfm-results .n,#tf-mnav .tfm-results .p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Hero primary actions on phones: larger, more legible ---------- */
@media (max-width:1023px){html .tf-hero-slider .tf-hero-ctas .tf-btn{font-size:18px;min-height:54px}}

/* ---------- Search results page (/?s=) ---------- */
.tfsr{font-family:Poppins,"Segoe UI",system-ui,sans-serif;color:var(--tfm-navy);max-width:760px;margin:0 auto;padding:28px 16px 48px;box-sizing:border-box}
.tfsr *,.tfsr *:before,.tfsr *:after{box-sizing:border-box}
.tfsr a{text-decoration:none;color:inherit}
.tfsr svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.tfsr-title{margin:0 0 14px;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--tfm-navy)}
.tfsr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tfsr-form{margin:0}
.tfsr-field{display:flex;align-items:center;gap:10px;height:52px;border:1px solid #D9E3EB;border-radius:10px;background:var(--tfm-soft);padding:0 4px 0 14px;transition:border-color .15s,box-shadow .15s,background .15s}
.tfsr-field > svg{color:var(--tfm-mut);stroke-width:1.75}
.tfsr-field:focus-within{background:#fff;border-color:var(--tfm-blue);box-shadow:0 0 0 3px rgba(0,146,205,.15)}
.tfsr-field input{flex:1 1 auto;min-width:0;height:44px;border:0;background:transparent;font:inherit;font-size:16px;color:var(--tfm-navy);outline:none;padding:0;margin:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.tfsr-field input::-webkit-search-cancel-button{-webkit-appearance:none}
.tfsr-go{height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--tfm-navy);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.tfsr-go:hover{background:#0A3A6B}
.tfsr-count{margin:12px 0 0;font-size:13px;font-weight:600;color:var(--tfm-mut)}
.tfsr-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--tfm-line)}
.tfsr-item{margin:0;padding:0;border-bottom:1px solid var(--tfm-line)}
.tfsr-link{display:flex;flex-direction:column;gap:4px;padding:16px 4px;border-radius:8px}
.tfsr-link:hover{background:#F7FAFC}
.tfsr-link:focus-visible{outline:2px solid var(--tfm-blue);outline-offset:2px}
.tfsr-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tfsr-name{font-size:17px;font-weight:700;line-height:1.3;color:var(--tfm-blue-ink)}
.tfsr-link:hover .tfsr-name{text-decoration:underline;text-underline-offset:3px}
.tfsr-tag{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--tfm-tint);color:var(--tfm-blue-ink);white-space:nowrap;margin-top:2px}
.tfsr-tag-servicearea,.tfsr-tag-page,.tfsr-tag-industry{background:var(--tfm-line2);color:var(--tfm-mut)}
.tfsr-tag-guide{background:#FFF4E5;color:#8A4B00}
.tfsr-url{font-size:12px;color:var(--tfm-mut);overflow-wrap:anywhere}
.tfsr-ex{font-size:14px;line-height:1.55;color:var(--tfm-ink)}
.tfsr-empty{margin:24px 0 0;padding:20px;border:1px solid var(--tfm-line);border-radius:12px;background:#F7FAFC}
.tfsr-empty-h{margin:0 0 6px;font-size:17px;font-weight:700}
.tfsr-empty-d{margin:0;font-size:14px;line-height:1.55;color:var(--tfm-mut)}
.tfsr-browse{margin-top:28px}
.tfsr-eyebrow{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tfm-mut)}
.tfsr-chips{display:flex;gap:8px;flex-wrap:wrap}
.tfsr-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;background:var(--tfm-tint);color:var(--tfm-blue-ink);font-size:14px;font-weight:600;border:1px solid #D4ECF8}
.tfsr-chip:hover{background:#DDF1FA}
.tfsr-cta{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.tfsr-book,.tfsr-call{flex:1 1 220px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:10px;font-weight:700;font-size:16px;padding:0 16px}
.tfsr-book{background:var(--tfm-blue)!important;color:#fff!important}
.tfsr-book:hover{background:var(--tfm-blue-ink)!important}
.tfsr-call{border:1.5px solid var(--tfm-navy);color:var(--tfm-navy);background:#fff}
@media (min-width:768px){.tfsr{padding:48px 24px 72px}.tfsr-title{font-size:32px}}
@media (max-width:768px){.tfsr{padding-bottom:calc(48px + 80px + env(safe-area-inset-bottom,0px))}}
