/* FIVE TOUR / navigation 4.4.77 — single public masthead, fluid width, native fonts. */
body.ft4419-public .ft77-mast {
  --mast-ink:var(--ft77-ink,#191b20); --mast-muted:#454c57; --mast-accent:var(--ft77-blue,#005fcb);
  position:sticky; inset-block-start:0; z-index:500; isolation:isolate;
  margin:0; width:100%; padding-block-start:env(safe-area-inset-top,0px); color:var(--mast-ink);
  background:rgba(251,252,253,.96); border-bottom:1px solid rgba(18,45,65,.12);
  font:500 1rem/1.35 var(--ft77-font,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body.ft4419-public .ft77-mast { background:rgba(251,252,253,.91); -webkit-backdrop-filter:saturate(150%) blur(16px); backdrop-filter:saturate(150%) blur(16px); }
}
body.ft4419-public.admin-bar .ft77-mast { inset-block-start:32px; }
.ft77-mast *, .ft77-mast *::before, .ft77-mast *::after { box-sizing:border-box; }
.ft77-nav-wrap {
  position:relative; width:min(1440px,calc(100% - clamp(28px,4vw,72px))); margin-inline:auto;
  min-height:66px; display:flex; align-items:center; gap:clamp(13px,1.55vw,26px);
  padding-block:5px;
}
.ft77-mast .ft77-brand-link { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-start; text-decoration:none; }
.ft77-mast .ft77-brand-link img { display:block; width:clamp(90px,7.5vw,116px); height:51px; object-fit:contain; object-position:left center; }
.ft77-nav-panel { display:flex; align-items:center; gap:clamp(8px,1.35vw,22px); flex:1; min-width:0; }
.ft77-nav-list { display:flex; flex:1; align-items:center; justify-content:center; flex-wrap:wrap; gap:0 clamp(0px,.3vw,6px); min-width:0; }
.ft77-nav-tools { display:flex; gap:5px; flex:0 1 auto; align-items:center; min-width:0; }
.ft77-mast :is(.ft77-nav-list,.ft77-nav-tools) a, .ft77-mast .ft77-nav-toggle {
  display:inline-flex; position:relative; align-items:center; justify-content:center; gap:6px;
  margin:0; padding:6px clamp(5px,.62vw,11px); min-height:40px; max-width:100%;
  border:0; border-radius:999px; box-shadow:none; text-decoration:none;
  background:transparent; color:var(--mast-ink); font:inherit; font-size:clamp(.8rem,.95vw,.9rem); font-weight:570;
  letter-spacing:-.015em; line-height:1.25; text-align:center; overflow-wrap:anywhere;
}
.ft77-mast .ft77-nav-list a::after {
  content:""; position:absolute; inset-inline:calc(50% - 3px); inset-block-end:2px;
  width:6px; height:3px; border-radius:5px; background:transparent;
}
.ft77-mast .ft77-nav-list a[aria-current="page"] { color:var(--mast-accent); }
.ft77-mast .ft77-nav-list a[aria-current="page"]::after { background:var(--mast-accent); }
.ft77-mast .ft77-nav-tools a { color:var(--mast-muted); }
.ft77-mast .ft77-nav-tools :is(.ft77-nav-contact,.ft77-nav-staff) { padding-inline:7px; }
.ft77-mast .ft77-nav-contact span { display:none; }
.ft77-mast .ft77-nav-tools svg { display:block; width:18px; height:18px; flex:none; }
.ft77-mast .ft77-nav-tools .ft77-nav-quote { min-height:36px; padding:8px 14px; color:#fff; background:var(--mast-accent); font-weight:620; }
.ft77-mast .ft77-nav-quote>span[aria-hidden] { font-size:1.08em; }
.ft77-mast .ft77-nav-toggle, .ft77-mast .ft77-nav-toggle[hidden] { display:none; }
.ft77-mast a:focus-visible,.ft77-mast button:focus-visible { outline:3px solid var(--mast-accent); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) {
  .ft77-mast .ft77-nav-list a:hover, .ft77-mast .ft77-nav-tools a:is(.ft77-nav-staff,.ft77-nav-contact):hover { background:#eaf1fa; color:#004caa; }
  .ft77-mast .ft77-nav-quote:hover { background:#004caa; }
}
/* Soft dock magnification, bounded to the hovered item and its two neighbours. */
@media(min-width:961px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ft77-mast .ft77-nav-list a {
    transition:transform .23s cubic-bezier(.22,.8,.27,1),background-color .18s,color .18s; transform-origin:50% 78%;
  }
  .ft77-mast .ft77-nav-list a:hover { transform:translateY(-2px) scale(1.065); z-index:2; }
  .ft77-mast .ft77-nav-list a:hover + a { transform:translateY(-1px) scale(1.027); }
  @supports(selector(a:has(+ a:hover))) {
    .ft77-mast .ft77-nav-list a:has(+ a:hover) { transform:translateY(-1px) scale(1.027); }
  }
}
@media(max-width:960px) {
  body.ft4419-public .ft77-mast:not(.ft77-nav-ready) { position:relative; inset-block-start:auto; }
  .ft77-nav-wrap { min-height:60px; width:100%; padding:5px max(18px,env(safe-area-inset-right)) 5px max(18px,env(safe-area-inset-left)); justify-content:space-between; flex-wrap:wrap; gap:0; }
  .ft77-mast .ft77-brand-link img { width:98px; height:47px; }
  .ft77-mast .ft77-nav-toggle:not([hidden]) { display:inline-flex; min-width:44px; min-height:44px; padding:8px 10px; gap:10px; background:transparent; cursor:pointer; font-size:.875rem; }
  .ft77-nav-lines { width:19px; height:15px; display:flex; flex-direction:column; justify-content:space-between; }
  .ft77-nav-lines i { display:block; height:1.6px; width:100%; border-radius:3px; background:currentColor; }
  .ft77-nav-toggle[aria-expanded="true"] .ft77-nav-lines i:first-child { transform:translateY(6.7px) rotate(45deg); }
  .ft77-nav-toggle[aria-expanded="true"] .ft77-nav-lines i:nth-child(2) { opacity:0; }
  .ft77-nav-toggle[aria-expanded="true"] .ft77-nav-lines i:last-child { transform:translateY(-6.7px) rotate(-45deg); }
  .ft77-nav-panel { display:grid; width:100%; flex:0 0 100%; gap:13px; align-items:start; background:#fafcfd; padding:10px max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
  .ft77-nav-ready .ft77-nav-panel { position:absolute; inset:100% 0 auto; max-height:calc(100vh - 61px); max-height:calc(100dvh - 61px - env(safe-area-inset-top,0px)); overflow:auto; overscroll-behavior:contain; box-shadow:0 15px 25px -18px #13334375; border-bottom:1px solid #d7e3e9; }
  .ft77-nav-ready:not(.ft77-nav-open) .ft77-nav-panel { display:none; }
  .admin-bar .ft77-nav-ready .ft77-nav-panel { max-height:calc(100vh - 108px); max-height:calc(100dvh - 108px - env(safe-area-inset-top,0px)); }
  .ft77-nav-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; }
  .ft77-mast .ft77-nav-list a { min-height:45px; padding:8px 10px; justify-content:flex-start; text-align:left; font-size:.96rem; border-radius:9px; }
  .ft77-mast .ft77-nav-list a[aria-current="page"] { background:#eaf1fa; }
  .ft77-mast .ft77-nav-list a::after { display:none; }
  .ft77-nav-tools { flex-wrap:wrap; gap:3px 8px; padding-top:9px; border-top:1px solid #d9e4e9; }
  .ft77-mast .ft77-nav-tools a { min-height:44px; font-size:.845rem; }
  .ft77-mast .ft77-nav-contact span { display:inline; }
  .ft77-mast .ft77-nav-tools .ft77-nav-quote { min-height:44px; }
}
@media(max-width:782px) { body.ft4419-public.admin-bar .ft77-mast { inset-block-start:46px; } }
@media(max-width:600px) { body.ft4419-public.admin-bar .ft77-mast { inset-block-start:0; } }
@media(max-width:360px) { .ft77-mast .ft77-nav-list { grid-template-columns:minmax(0,1fr); } }
@media(max-width:960px) and (prefers-reduced-motion:no-preference) {
  .ft77-nav-lines i { transition:transform .16s ease,opacity .16s ease; }
  .ft77-nav-open .ft77-nav-panel { animation:ft77-menu-in .18s ease-out both; }
}
@keyframes ft77-menu-in { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:none} }
