:root{
  --utic-navf-blue:#003366;
  --utic-navf-blue-dark:#002244;
  --utic-navf-teal:#008080;
  --utic-navf-teal-dark:#006666;
  --utic-navf-teal-soft:#33A1A1;
  --utic-navf-charcoal:#2E2E2E;
  --utic-navf-muted:#5c6b7d;
  --utic-navf-line:rgba(0,51,102,.13);
  --utic-navf-shadow:0 22px 60px rgba(0,34,68,.12);
}

.utic-navf-header,
.utic-navf-header *{
  box-sizing:border-box;
  text-decoration:none !important;
}

.utic-navf-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:#fff;
  font-family:Inter, Arial, sans-serif;
  color:var(--utic-navf-charcoal);
  border-bottom:1px solid rgba(0,51,102,.10);
}

.utic-navf-accent{
  height:5px;
  background:linear-gradient(90deg,var(--utic-navf-blue),var(--utic-navf-teal));
}

.utic-navf-inner{
  width:min(1780px, calc(100% - 64px));
  min-height:118px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:250px minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
}

.utic-navf-logo{
  display:inline-flex;
  align-items:center;
  max-width:220px;
}

.utic-navf-logo img{
  display:block;
  width:auto;
  max-width:205px;
  max-height:104px;
  object-fit:contain;
}

.utic-navf-nav{
  display:flex;
  justify-content:center;
  min-width:0;
}

.utic-navf-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  list-style:none;
  margin:0;
  padding:0;
}

.utic-navf-item{
  position:relative;
}

.utic-navf-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:11px 14px;
  border-radius:999px;
  color:var(--utic-navf-charcoal);
  font-size:17px;
  font-weight:400;
  line-height:1;
  transition:background .22s ease,color .22s ease,box-shadow .22s ease;
  white-space:nowrap;
}

.utic-navf-item:hover > .utic-navf-link,
.utic-navf-item.is-open > .utic-navf-link{
  background:var(--utic-navf-blue);
  color:#fff;
  box-shadow:0 14px 34px rgba(0,51,102,.18);
}

.utic-navf-caret{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}

.utic-navf-item.is-open .utic-navf-caret,
.utic-navf-item:hover .utic-navf-caret{
  transform:rotate(-135deg) translateY(-1px);
}

.utic-navf-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}

.utic-navf-search{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--utic-navf-charcoal);
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:18px;
  font-weight:400;
  border-radius:18px;
  padding:12px 14px;
  cursor:pointer;
  transition:background .22s ease,color .22s ease;
}

.utic-navf-search:hover{
  background:var(--utic-navf-blue);
  color:#fff;
}

.utic-navf-search-icon{
  width:30px;
  height:30px;
  display:inline-block;
  border:4px solid currentColor;
  border-radius:50%;
  position:relative;
}

.utic-navf-search-icon:after{
  content:"";
  position:absolute;
  width:15px;
  height:4px;
  background:currentColor;
  border-radius:999px;
  right:-11px;
  bottom:-5px;
  transform:rotate(45deg);
}

.utic-navf-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:15px 28px;
  border-radius:999px;
  background:var(--utic-navf-blue);
  color:#fff;
  font-size:18px;
  font-weight:500;
  white-space:nowrap;
  box-shadow:0 18px 44px rgba(0,51,102,.18);
  transition:background .22s ease,transform .22s ease,box-shadow .22s ease;
}

.utic-navf-cta:hover{
  color:#fff;
  background:var(--utic-navf-teal-dark);
  transform:translateY(-2px);
  box-shadow:0 24px 54px rgba(0,128,128,.20);
}

.utic-navf-mobile-toggle{
  display:none;
}

/* Compact Mega */
.utic-navf-mega{
  position:fixed;
  left:0;
  right:0;
  top:var(--utic-navf-mega-top, 123px);
  z-index:9998;
  padding:10px 36px 0;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.utic-navf-mega::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:22px;
  pointer-events:auto;
}

.utic-navf-item:hover > .utic-navf-mega,
.utic-navf-item.is-open > .utic-navf-mega{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.utic-navf-mega-shell{
  width:min(1460px, calc(100vw - 72px));
  max-height:calc(100vh - var(--utic-navf-mega-top, 123px) - 24px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:330px minmax(440px,1fr) 320px;
  gap:24px;
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,128,128,.16);
  box-shadow:var(--utic-navf-shadow);
  overflow:auto;
}

.utic-navf-mega-shell.services-accordion{
  grid-template-columns:330px minmax(520px,1fr) 320px;
}

.utic-navf-mega-intro{
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(0,128,128,.08),rgba(0,51,102,.035));
  border:1px solid rgba(0,128,128,.14);
  overflow:hidden;
  align-self:start;
}

.utic-navf-eyebrow,
.utic-navf-col-title{
  margin-bottom:14px;
  color:var(--utic-navf-teal-dark);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.utic-navf-mega-intro h3,
.utic-navf-mega-cta h3{
  margin:0 0 12px;
  color:var(--utic-navf-blue);
  font-size:24px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-.02em;
}

.utic-navf-mega-intro p,
.utic-navf-mega-cta p{
  margin:0 0 18px;
  color:var(--utic-navf-muted);
  font-size:15px;
  line-height:1.65;
}

.utic-navf-mega-intro a{
  display:inline-flex;
  color:var(--utic-navf-blue);
  font-size:15px;
  font-weight:500;
}

.utic-navf-mega-main{
  min-width:0;
  align-self:start;
}

.utic-navf-accordion-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.utic-navf-service-row{
  min-width:0;
  border:1px solid rgba(0,51,102,.08);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.utic-navf-service-row:hover,
.utic-navf-service-row.is-expanded{
  border-color:rgba(0,128,128,.24);
  box-shadow:0 12px 28px rgba(0,34,68,.06);
}

.utic-navf-service-top{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
  padding:8px;
}

.utic-navf-service-link{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--utic-navf-charcoal);
}

.utic-navf-service-link strong{
  min-width:0;
  color:inherit;
  font-size:15px;
  line-height:1.28;
  font-weight:400;
}

.utic-navf-arrow{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--utic-navf-blue),var(--utic-navf-teal));
  position:relative;
  box-shadow:0 10px 22px rgba(0,128,128,.16);
}

.utic-navf-arrow:after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  top:10px;
  left:8px;
  transform:rotate(45deg);
}

.utic-navf-level3-toggle{
  width:34px;
  height:34px;
  border:1px solid rgba(0,51,102,.12);
  border-radius:12px;
  background:rgba(0,128,128,.08);
  cursor:pointer;
  position:relative;
  transition:background .2s ease, transform .2s ease;
}

.utic-navf-level3-toggle:hover{
  background:var(--utic-navf-blue);
}

.utic-navf-level3-toggle:before{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-right:2px solid var(--utic-navf-blue);
  border-bottom:2px solid var(--utic-navf-blue);
  top:11px;
  left:12px;
  transform:rotate(45deg);
}

.utic-navf-level3-toggle:hover:before{
  border-color:#fff;
}

.utic-navf-service-row.is-expanded .utic-navf-level3-toggle{
  background:var(--utic-navf-blue);
}

.utic-navf-service-row.is-expanded .utic-navf-level3-toggle:before{
  border-color:#fff;
  transform:rotate(-135deg);
  top:14px;
}

.utic-navf-level3-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  padding:4px 10px 12px 48px;
  background:linear-gradient(180deg,rgba(0,128,128,.04),rgba(0,51,102,.025));
  border-top:1px solid rgba(0,51,102,.06);
}

.utic-navf-level3-panel[hidden]{
  display:none !important;
}

.utic-navf-level3-link{
  display:block;
  padding:7px 9px;
  border-radius:10px;
  color:var(--utic-navf-muted);
  font-size:13px;
  line-height:1.3;
  transition:background .18s ease,color .18s ease;
}

.utic-navf-level3-link:hover{
  background:rgba(0,128,128,.09);
  color:var(--utic-navf-blue);
}

.utic-navf-link-list.standard{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.utic-navf-mega-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:11px 10px;
  border-radius:14px;
  color:var(--utic-navf-charcoal);
  border:1px solid rgba(0,51,102,.08);
  background:#fff;
  transition:background .2s ease, transform .2s ease,border-color .2s ease;
}

.utic-navf-mega-link:hover{
  background:rgba(0,128,128,.07);
  transform:translateX(3px);
  color:var(--utic-navf-blue);
  border-color:rgba(0,128,128,.18);
}

.utic-navf-mega-link strong{
  display:block;
  min-width:0;
  color:inherit;
  font-size:15px;
  line-height:1.28;
  font-weight:400;
}

.utic-navf-mega-cta{
  padding:26px;
  border-radius:24px;
  background:var(--utic-navf-blue);
  color:#fff;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:stretch;
}

.utic-navf-mega-cta .utic-navf-eyebrow,
.utic-navf-mega-cta h3{
  color:#fff;
}

.utic-navf-mega-cta p{
  color:rgba(255,255,255,.78);
}

.utic-navf-mega-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
  background:#fff;
  color:var(--utic-navf-blue);
  font-weight:500;
  margin-top:8px;
}

/* Search */
.utic-navf-search-panel{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,34,68,.72);
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.utic-navf-search-panel.is-open{
  display:flex;
}

.utic-navf-search-panel form{
  width:min(760px,100%);
  padding:24px;
  border-radius:26px;
  background:#fff;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.utic-navf-search-panel input{
  min-height:50px;
  border:1px solid rgba(0,51,102,.18);
  border-radius:16px;
  padding:0 16px;
  font-size:17px;
}

.utic-navf-search-panel button{
  border:0;
  border-radius:16px;
  background:var(--utic-navf-blue);
  color:#fff;
  padding:0 18px;
  font-weight:500;
}

.utic-navf-search-panel button[data-utic-search-close]{
  background:var(--utic-navf-teal-dark);
}

/* Footer */
.utic-navf-footer{
  font-family:Inter, Arial, sans-serif;
  background:var(--utic-navf-blue-dark);
  color:#fff;
  padding:64px 0 36px;
}

.utic-navf-footer-inner{
  width:min(1180px, calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:42px;
}

.utic-navf-footer .utic-navf-logo img{
  max-width:190px;
}

.utic-navf-footer-brand p{
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

.utic-navf-footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.utic-navf-footer h4{
  margin:0 0 14px;
  color:#fff;
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
}

.utic-navf-footer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.utic-navf-footer-menu a{
  color:rgba(255,255,255,.72);
  font-size:14px;
}

.utic-navf-footer-menu a:hover{
  color:#fff;
}

/* Mobile */
.utic-navf-mobile,
.utic-navf-mobile-toggle{
  display:none;
}

@media (max-width:1300px){
  .utic-navf-inner{
    grid-template-columns:210px minmax(0,1fr) auto;
    width:min(100% - 36px, 1780px);
    gap:18px;
  }

  .utic-navf-link{
    font-size:15px;
    padding:10px 10px;
  }

  .utic-navf-cta{
    font-size:16px;
    padding-inline:20px;
  }

  .utic-navf-mega-shell,
  .utic-navf-mega-shell.services-accordion{
    grid-template-columns:280px minmax(420px,1fr) 280px;
  }
}

@media (max-width:1100px){
  .utic-navf-nav{
    display:none;
  }

  .utic-navf-inner{
    grid-template-columns:1fr auto;
    min-height:94px;
  }

  .utic-navf-logo img{
    max-height:82px;
  }

  .utic-navf-search span:not(.utic-navf-search-icon){
    display:none;
  }

  .utic-navf-mobile-toggle{
    display:inline-grid;
    gap:5px;
    width:46px;
    height:46px;
    border:0;
    border-radius:15px;
    background:var(--utic-navf-blue);
    place-content:center;
  }

  .utic-navf-mobile-toggle span{
    display:block;
    width:20px;
    height:2px;
    background:#fff;
    border-radius:999px;
  }

  .utic-navf-mobile{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,34,68,.72);
    z-index:10000;
  }

  .utic-navf-mobile.is-open{
    display:block;
  }

  .utic-navf-mobile-panel{
    width:min(420px,100%);
    height:100%;
    overflow:auto;
    background:#fff;
    padding:22px;
    position:relative;
  }

  .utic-navf-mobile-close{
    position:absolute;
    top:18px;
    right:18px;
    width:42px;
    height:42px;
    border:0;
    border-radius:14px;
    background:var(--utic-navf-blue);
    color:#fff;
    font-size:28px;
    line-height:1;
  }

  .utic-navf-mobile-list,
  .utic-navf-mobile-list ul{
    list-style:none;
    margin:0;
    padding:0;
  }

  .utic-navf-mobile-list{
    margin-top:20px;
    display:grid;
    gap:8px;
  }

  .utic-navf-mobile-list a{
    display:block;
    padding:12px 14px;
    border-radius:14px;
    color:var(--utic-navf-charcoal);
    background:rgba(0,51,102,.04);
  }

  .utic-navf-mobile-list ul{
    margin-left:14px;
    margin-top:6px;
    display:grid;
    gap:6px;
  }

  .utic-navf-mobile-list ul ul a{
    font-size:13px;
    color:var(--utic-navf-muted);
  }

  .utic-navf-cta.mobile{
    margin-top:22px;
    width:100%;
  }

  .utic-navf-footer-inner{
    grid-template-columns:1fr;
  }

  .utic-navf-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .utic-navf-inner{
    width:min(100% - 24px, 1780px);
  }

  .utic-navf-cta:not(.mobile){
    display:none;
  }

  .utic-navf-search{
    padding-inline:8px;
  }

  .utic-navf-footer-grid{
    grid-template-columns:1fr;
  }

  .utic-navf-search-panel form{
    grid-template-columns:1fr;
  }
}


/* v1.3.2 stability fix: keep mega open while moving pointer between header and panel */
.utic-navf-header a,
.utic-navf-header button{
  -webkit-tap-highlight-color:transparent;
}

.utic-navf-item.is-hover-locked > .utic-navf-link{
  background:var(--utic-navf-blue);
  color:#fff;
  box-shadow:0 14px 34px rgba(0,51,102,.18);
}

.utic-navf-item.is-hover-locked > .utic-navf-mega{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.utic-navf-service-row.has-level3 > .utic-navf-service-top{
  background:rgba(0,128,128,.035);
}

.utic-navf-service-row.is-expanded > .utic-navf-service-top{
  background:rgba(0,51,102,.055);
}

.utic-navf-level3-panel{
  max-height:260px;
  overflow:auto;
}

.utic-navf-level3-link{
  position:relative;
  padding-left:18px;
}

.utic-navf-level3-link:before{
  content:"";
  position:absolute;
  left:7px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--utic-navf-teal);
  transform:translateY(-50%);
  opacity:.75;
}


/* v1.3.4 — full UTIC identity layer + modern footer refinement */
body.utic-navf-theme-identity{
  --utic-navf-blue:#003366;
  --utic-navf-blue-dark:#002244;
  --utic-navf-blue-soft:#336699;
  --utic-navf-teal-dark:#006666;
  --utic-navf-teal:#008080;
  --utic-navf-teal-soft:#33A1A1;
  --utic-navf-charcoal:#2E2E2E;
  color:#2E2E2E;
}

body.utic-navf-theme-identity a{
  color:#003366;
}

body.utic-navf-theme-identity a:hover{
  color:#008080;
}

/* Header / mega menu keep official palette */
.utic-navf-accent{
  background:linear-gradient(90deg,#002244 0%,#003366 45%,#008080 100%)!important;
}

.utic-navf-header{
  color:#2E2E2E;
  border-bottom-color:rgba(0,51,102,.12)!important;
}

.utic-navf-item:hover > .utic-navf-link,
.utic-navf-item.is-open > .utic-navf-link,
.utic-navf-search:hover,
.utic-navf-search.is-open{
  background:#003366!important;
  color:#fff!important;
}

.utic-navf-cta{
  background:linear-gradient(135deg,#003366,#002244)!important;
  color:#fff!important;
}

.utic-navf-cta:hover{
  background:linear-gradient(135deg,#008080,#006666)!important;
  color:#fff!important;
}

.utic-navf-mega-shell{
  border-color:rgba(0,128,128,.20)!important;
  background:linear-gradient(135deg,#fff 0%,#fff 64%,#F4FAFA 100%)!important;
}

.utic-navf-eyebrow,
.utic-navf-col-title{
  color:#006666!important;
}

.utic-navf-mega-intro h3,
.utic-navf-mega-cta h3{
  color:#003366;
}

.utic-navf-mega-cta{
  background:#003366!important;
}

.utic-navf-mega-cta h3{
  color:#fff!important;
}

.utic-navf-mega-cta p,
.utic-navf-mega-cta .utic-navf-eyebrow{
  color:rgba(255,255,255,.82)!important;
}

/* Footer: replace old tiny footer look with modern brand footer */
.utic-navf-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 0%,rgba(51,161,161,.22),transparent 30%),
    linear-gradient(135deg,#002244 0%,#003366 56%,#006666 125%)!important;
  color:#fff!important;
  padding:86px 0 42px!important;
  border-top:5px solid #008080;
}

.utic-navf-footer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.35;
  pointer-events:none;
}

.utic-navf-footer-inner{
  position:relative;
  z-index:1;
  width:min(1320px,calc(100% - 56px))!important;
  display:grid!important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;
  gap:64px!important;
  align-items:start;
}

.utic-navf-footer-brand{
  padding:26px;
  border-radius:28px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}

.utic-navf-footer .utic-navf-logo{
  max-width:220px;
  margin-bottom:22px;
}

/* Make footer logo white as requested */
.utic-navf-footer .utic-navf-logo img{
  max-width:210px!important;
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
}

.utic-navf-footer-brand p{
  margin:0;
  color:rgba(255,255,255,.82)!important;
  font-size:18px;
  line-height:1.8;
}

.utic-navf-footer-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:34px 44px!important;
}

.utic-navf-footer-col{
  min-width:0;
}

.utic-navf-footer h4{
  margin:0 0 18px!important;
  color:#33A1A1!important;
  font-size:14px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}

.utic-navf-footer-menu{
  gap:11px!important;
}

.utic-navf-footer-menu a{
  color:rgba(255,255,255,.82)!important;
  font-size:15px!important;
  line-height:1.55!important;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease;
}

.utic-navf-footer-menu a:hover{
  color:#fff!important;
  transform:translateX(3px);
}

.utic-navf-footer + *,
.site-footer,
footer#colophon,
.site-info,
.footer-html,
.footer-navigation,
.kadence-footer,
.kadence-footer-wrap{
  display:none!important;
}

/* Mobile footer polish */
@media (max-width:980px){
  .utic-navf-footer-inner{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .utic-navf-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:640px){
  .utic-navf-footer{
    padding:58px 0 32px!important;
  }
  .utic-navf-footer-inner{
    width:min(100% - 28px,1320px)!important;
  }
  .utic-navf-footer-grid{
    grid-template-columns:1fr!important;
  }
  .utic-navf-footer-brand{
    padding:22px;
  }
}
