/* A1 LocalRanker brand system: navy #0E2540, azure #0579C1, cyan #04C7E6. */
.a1hf-header,.a1hf-footer{--a1hf-navy:#102843;--a1hf-deep:#091d35;--a1hf-blue:#087cbd;--a1hf-blue2:#005f9e;--a1hf-cyan:#00c6e4;--a1hf-muted:#50677c;--a1hf-border:#dce9f2;font-family:Inter,"Plus Jakarta Sans",system-ui,sans-serif;box-sizing:border-box}
.a1hf-header *,.a1hf-footer *{box-sizing:border-box}
.a1hf-header{position:sticky;top:0;z-index:9900;width:100%;background:rgba(255,255,255,.965);border-bottom:1px solid #dfeaf2;box-shadow:0 9px 40px rgba(13,37,61,.075);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);isolation:isolate}
.a1hf-header:before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#003c7c,#007dd1 48%,#00d7da 95%);opacity:.8;pointer-events:none}
body.admin-bar .a1hf-header{top:32px}
.a1hf-header .a1hf-inner{position:relative;width:min(100%,1400px);margin:0 auto;min-height:88px;padding:0 26px;display:flex;align-items:center;gap:clamp(18px,2.3vw,36px)}
.a1hf-brand{display:flex;align-items:center;flex:0 0 auto;width:clamp(218px,22vw,303px);max-width:100%;padding:3px 0;text-decoration:none!important;background:none!important;border:0!important;min-width:0}
.a1hf-brand img{display:block;max-width:100%;object-fit:contain}.a1hf-logo-wide{display:block;width:100%;height:auto;max-height:83px;object-position:left center}.a1hf-logo-mobile{display:none;align-items:center;gap:9px}.a1hf-brand-type{display:flex;flex-direction:column;min-width:0}.a1hf-brand-type strong{font-weight:850;color:#112c49;font-size:20px;letter-spacing:-.06em;line-height:1.05;white-space:nowrap}.a1hf-brand-type small{font-size:8px;letter-spacing:.075em;font-weight:800;color:#6d8294;white-space:nowrap;margin-top:5px}
.a1hf-nav{display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,1.8vw,30px);min-width:0;flex:1}
.a1hf-nav-items{display:flex!important;align-items:center;gap:clamp(10px,1.7vw,26px);padding:0!important;margin:0!important;list-style:none!important}
.a1hf-nav-items>li{list-style:none!important;margin:0!important;padding:0!important}
.a1hf-toplink{display:flex;align-items:center;gap:2px;min-height:86px}
.a1hf-toplink>a{display:inline-flex;align-items:center;min-height:45px;padding:8px 0;text-decoration:none!important;border:0!important;color:#30445a!important;font-size:13.5px;line-height:1.3;font-weight:760;white-space:nowrap;letter-spacing:-.012em;transition:color .2s ease}
.a1hf-toplink>a:hover,.a1hf-toplink>a:focus-visible,.a1hf-current .a1hf-toplink>a,.a1hf-has-sub:hover>.a1hf-toplink>a,.a1hf-has-sub:focus-within>.a1hf-toplink>a{color:#0074bb!important}
.a1hf-expand{appearance:none!important;box-shadow:none!important;border:0!important;background:transparent!important;color:#637b8b!important;display:grid!important;place-items:center!important;width:24px;height:32px;border-radius:7px!important;padding:0!important;margin:0!important;cursor:pointer!important;min-width:24px;transition:color .2s,background .2s}
.a1hf-expand:hover,.a1hf-expand[aria-expanded="true"]{background:#e7f5fe!important;color:#047bbb!important}
.a1hf-expand svg{transition:transform .25s ease}.a1hf-has-sub.is-open .a1hf-expand svg{transform:rotate(180deg)}
.a1hf-submenu{position:absolute;top:calc(100% - 1px);left:26px;max-width:min(1010px,calc(100% - 52px));min-width:810px;padding:0;background:#fff;border:1px solid #d9e6f0;border-top:3px solid #0e8ec5;border-radius:0 0 20px 20px;box-shadow:0 28px 70px rgba(11,43,74,.2);opacity:0;visibility:hidden;transform:translateY(9px);pointer-events:none;transition:opacity .21s ease,visibility .21s ease,transform .21s ease;z-index:15}
.a1hf-has-sub:hover>.a1hf-submenu,.a1hf-has-sub:focus-within>.a1hf-submenu,.a1hf-has-sub.is-open>.a1hf-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.a1hf-mega-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.7vw,39px);padding:27px 33px 31px}
.a1hf-group-title{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#0480ba;margin:2px 0 15px 13px}
.a1hf-mega-col ul{list-style:none!important;margin:0!important;padding:0!important}
.a1hf-mega-col li{list-style:none!important;margin:0!important;padding:0!important}
.a1hf-mega-link{display:flex!important;gap:11px;align-items:center;position:relative;min-height:50px;padding:9px 9px!important;border:1px solid transparent;border-radius:12px!important;text-decoration:none!important;color:#2d4258!important;font-size:13px;font-weight:730;line-height:1.35;transition:background .22s ease,transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.a1hf-link-icon{width:33px;height:33px;min-width:33px;display:grid;place-items:center;background:#edf7fd;border:1px solid #dbeef8;border-radius:10px;color:#047cbd;box-shadow:0 3px 10px rgba(0,98,157,.025);transform:translateY(0);transition:transform .32s cubic-bezier(.2,.9,.1,1.2),background .2s,border-color .2s}
.a1hf-link-name{flex:1;min-width:0}.a1hf-link-arrow{color:#0694bd;opacity:0;transform:translateX(-6px);font-size:15px;font-weight:900;transition:opacity .2s,transform .2s}
.a1hf-mega-link:hover,.a1hf-mega-link:focus-visible,.a1hf-link-current{background:linear-gradient(110deg,#eff9ff,#f8fdff)!important;border-color:#d7eefc!important;color:#006cae!important;transform:translateX(3px);box-shadow:0 8px 23px rgba(22,105,158,.055)}
.a1hf-mega-link:hover .a1hf-link-icon,.a1hf-mega-link:focus-visible .a1hf-link-icon{background:#def3fc;border-color:#b2e6fa;transform:translateY(-3px) rotate(-4deg)}
.a1hf-mega-link:hover .a1hf-link-arrow,.a1hf-mega-link:focus-visible .a1hf-link-arrow{opacity:1;transform:translateX(0)}
.a1hf-item:not(.a1hf-services) .a1hf-submenu{max-width:710px;min-width:min(690px,calc(100% - 52px))}
.a1hf-item:not(.a1hf-services) .a1hf-mega-inner{grid-template-columns:minmax(0,1fr)}
.a1hf-item:not(.a1hf-services) .a1hf-mega-col ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
.a1hf-nav-action{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-left:auto}
.a1hf-phone{display:inline-flex;align-items:center;gap:7px;color:#35516a!important;font-size:12px;font-weight:780;white-space:nowrap;text-decoration:none!important}.a1hf-phone svg{width:17px;height:17px;color:#0487bd}
.a1hf-primary{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:13px;isolation:isolate;overflow:hidden;min-height:44px;background:linear-gradient(112deg,#0063ae,#008bc8)!important;border:1px solid #0874ac!important;color:#fff!important;padding:13px 15px!important;text-decoration:none!important;border-radius:11px!important;font-size:12px;font-weight:830;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;box-shadow:0 10px 23px rgba(0,103,171,.22),inset 0 1px 0 #ffffff45;transform:translateY(0);transition:transform .24s ease,box-shadow .24s ease,background .24s ease}
.a1hf-primary:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(95deg,transparent 35%,#ffffff40 51%,transparent 70%);transform:translateX(-130%);transition:transform .7s ease}
.a1hf-primary:hover,.a1hf-primary:focus-visible{color:#fff!important;background:linear-gradient(112deg,#005292,#00a2d9)!important;box-shadow:0 17px 33px rgba(0,113,195,.3),inset 0 1px 0 #ffffff50;transform:translateY(-3px)}
.a1hf-primary:hover:before{transform:translateX(125%)}.a1hf-cta-arrow{border-radius:50%;height:23px;width:23px;display:grid;place-items:center;background:#ffffff30;font-size:14px;transition:transform .2s}.a1hf-primary:hover .a1hf-cta-arrow{transform:translate(2px,-2px)}
.a1hf-mobile-toggle{display:none!important;appearance:none!important;align-items:center;justify-content:center;border:1px solid #cee7f5!important;background:#f1f9fe!important;color:#183e62!important;width:46px;height:45px;border-radius:13px!important;box-shadow:none!important;padding:0!important;cursor:pointer!important;flex:0 0 46px;margin-left:auto!important}
.a1hf-lines{display:grid;gap:5px}.a1hf-lines i{display:block;width:20px;height:2px;background:#0a6098;border-radius:5px;transition:transform .2s,opacity .2s}.a1hf-menu-open .a1hf-lines i:nth-child(1){transform:translateY(7px) rotate(45deg)}.a1hf-menu-open .a1hf-lines i:nth-child(2){opacity:0}.a1hf-menu-open .a1hf-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.a1hf-header a:focus-visible,.a1hf-header button:focus-visible,.a1hf-footer a:focus-visible{outline:3px solid #46bdeb!important;outline-offset:3px!important}
/* Footer */
.a1hf-footer{padding:67px 28px 24px;border-top:1px solid #dce9f2;background:linear-gradient(165deg,#f8fcff,#eff7fc);color:#263e53}
.a1hf-footer-top{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.55fr repeat(4,minmax(0,1fr));gap:30px;padding-bottom:51px}
.a1hf-brand-footer{display:flex;width:min(100%,260px);min-height:65px}.a1hf-brand-footer .a1hf-logo-wide{max-height:75px}
.a1hf-footer-brand p{font-size:13px;line-height:1.85;color:#627b8f;max-width:290px;margin:13px 0 13px}
.a1hf-footer-email{font-size:13px;color:#047abd!important;font-weight:700;text-decoration:none!important}
.a1hf-footer-col h2{font-size:11px;letter-spacing:.14em;color:#0b6eac;font-weight:850;margin:8px 0 20px}
.a1hf-footer-col ul{list-style:none!important;margin:0!important;padding:0!important}.a1hf-footer-col li{list-style:none!important;margin:0 0 12px!important}.a1hf-footer-col a{color:#557086!important;text-decoration:none!important;font-size:12px;font-weight:600;line-height:1.5;transition:color .2s}.a1hf-footer-col a:hover{color:#0079b9!important}
.a1hf-footer-bottom{border-top:1px solid #d9e8f1;max-width:1320px;margin:0 auto;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#748b9e;font-size:11px}
/* Existing theme shell: hide only default site header/footer in sites using this plugin. */
body:has(>.a1hf-header) #site-header,body:has(>.a1hf-header) .elementor-location-header{display:none!important}
body:has(.a1hf-footer) #site-footer,body:has(.a1hf-footer) .elementor-location-footer{display:none!important}
@media(max-width:1260px) and (min-width:1101px){.a1hf-header .a1hf-inner{gap:12px;padding:0 16px}.a1hf-brand{width:225px}.a1hf-nav-items{gap:11px}.a1hf-toplink>a{font-size:12px}.a1hf-phone{display:none}.a1hf-primary{font-size:11px;padding:12px!important}}
@media(max-width:1100px){
 .a1hf-header .a1hf-inner{min-height:73px;padding:0 22px;gap:12px}.a1hf-brand{width:auto;min-width:0}.a1hf-brand .a1hf-logo-wide{display:none}.a1hf-logo-mobile{display:flex}.a1hf-logo-mobile img{width:49px;height:49px;object-fit:contain}
 .a1hf-mobile-toggle{display:flex!important}.a1hf-nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:19;background:#fff;padding:12px 22px 25px;max-height:calc(100dvh - 73px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 26px 43px rgba(13,42,72,.2);border-top:1px solid #e6eef4;border-radius:0 0 17px 17px;flex-direction:column;align-items:stretch;gap:13px}
 .a1hf-nav.is-open{display:flex}.a1hf-nav-items{display:block!important;width:100%}.a1hf-nav-items>li{border-bottom:1px solid #e9f0f5!important}
 .a1hf-toplink{min-height:0;justify-content:space-between}.a1hf-toplink>a{flex:1;font-size:15px;padding:15px 0;min-height:50px}
 .a1hf-expand{border:1px solid #d6eaf5!important;background:#f1f8fe!important;border-radius:9px!important;height:38px;width:42px;min-width:42px}
 .a1hf-submenu{position:static;display:none;min-width:0!important;max-width:none!important;width:100%;border:1px solid #e2edf5;border-radius:13px;transform:none!important;box-shadow:none;opacity:1!important;visibility:visible!important;pointer-events:auto!important;margin:0 0 13px;background:#f6fafd}
 .a1hf-has-sub:hover>.a1hf-submenu,.a1hf-has-sub:focus-within>.a1hf-submenu{display:none}.a1hf-has-sub.is-open>.a1hf-submenu{display:block}
 .a1hf-mega-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px}.a1hf-group-title{margin:0 0 9px 5px}
 .a1hf-item:not(.a1hf-services) .a1hf-mega-col ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .a1hf-nav-action{display:flex;width:100%;margin:2px 0 0;align-items:stretch;flex-direction:column}.a1hf-primary{text-align:center;justify-content:center;min-height:51px}.a1hf-phone{display:flex;align-self:flex-start;padding:5px 0 10px}
 .a1hf-nav-open{overflow:hidden}.a1hf-footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.a1hf-footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
 .a1hf-header .a1hf-inner{min-height:68px;padding:0 15px}.a1hf-logo-mobile img{width:43px;height:43px}.a1hf-brand-type strong{font-size:18px}.a1hf-brand-type small{font-size:7px;letter-spacing:.035em}
 .a1hf-nav{padding:10px 14px 20px;max-height:calc(100dvh - 68px)}.a1hf-mega-inner{grid-template-columns:1fr;gap:19px;padding:14px}
 .a1hf-item:not(.a1hf-services) .a1hf-mega-col ul{grid-template-columns:1fr}.a1hf-mega-link{min-height:49px;font-size:13.5px}.a1hf-link-icon{width:35px;height:35px;min-width:35px}
 .a1hf-footer{padding:49px 20px 22px}.a1hf-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.a1hf-footer-brand{grid-column:1/-1}.a1hf-footer-bottom{line-height:1.9;display:block}
}
@media(max-width:375px){.a1hf-brand-type small{display:none}.a1hf-brand-type strong{font-size:16px}.a1hf-logo-mobile img{width:38px;height:38px}}
@media(max-width:782px){body.admin-bar .a1hf-header{top:46px}}
@media(prefers-reduced-motion:reduce){.a1hf-header *, .a1hf-footer *,.a1hf-header *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important;transform:none!important}}


/* v1.2.0 Premium navigation polish: scoped to A1 header; prevents theme default pink */
.a1hf-header,.a1hf-footer{--a1hf-navy:#102843;--a1hf-blue:#087cbd;--a1hf-cyan:#00c6e4}
.a1hf-header .a1hf-inner{max-width:1400px}
.a1hf-header{background:rgba(255,255,255,.975);box-shadow:0 9px 30px rgba(8,50,85,.055);border-bottom:1px solid #deecf5}
.a1hf-toplink>a,.a1hf-header .a1hf-toplink>a:visited{color:#274157!important;transition:color .18s}
.a1hf-toplink:hover>a,.a1hf-toplink>a:focus-visible{color:#007bb4!important}
.a1hf-expand,.a1hf-header .a1hf-expand:hover,.a1hf-header .a1hf-expand:focus,.a1hf-header .a1hf-expand:active{box-shadow:none!important;color:#1676a7!important;border-color:#d9eaf4!important;background:#eff8fe!important;border-radius:10px!important}
.a1hf-expand svg{transition:transform .23s ease}
.a1hf-has-sub.is-open>.a1hf-toplink .a1hf-expand svg{transform:rotate(180deg)}
.a1hf-submenu{border:1px solid #dbeaf5;border-radius:0 0 22px 22px;background:linear-gradient(170deg,#fff 0%,#f9fcff 100%);box-shadow:0 30px 75px rgba(9,49,83,.15)}
.a1hf-mega-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 33px 12px;background:linear-gradient(90deg,#f5fbff,#fff);border-bottom:1px solid #e9f2f8}
.a1hf-mega-kicker{font-size:10px;font-weight:900;letter-spacing:.15em;color:#0582b9}
.a1hf-mega-desc{font-size:12px;color:#687f90}
.a1hf-mega-inner{padding-top:20px;padding-bottom:20px}
.a1hf-group-title{margin-bottom:12px}
.a1hf-mega-link{min-height:51px;border-radius:12px!important}
.a1hf-link-icon{background:linear-gradient(150deg,#e5f7ff,#f3faff);box-shadow:0 4px 13px rgba(5,111,171,.07)}
.a1hf-mega-link:hover .a1hf-link-icon,.a1hf-mega-link:focus-visible .a1hf-link-icon{animation:a1hfIconFloat .62s ease-out 1;box-shadow:0 9px 20px rgba(4,125,192,.15)}
@keyframes a1hfIconFloat{0%,100%{transform:translateY(0) rotate(0deg)}43%{transform:translateY(-5px) rotate(-5deg)}78%{transform:translateY(-2px) rotate(2deg)}}
.a1hf-mega-bottom{border-top:1px solid #e7f0f8;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 32px;background:#f2f9fe;border-radius:0 0 21px 21px;font-size:11.5px;color:#58758c}
.a1hf-mega-bottom a,.a1hf-mega-bottom a:hover{color:#0074ae!important;text-decoration:none!important;font-weight:840}
.a1hf-header .a1hf-primary,.a1hf-header .a1hf-primary:visited,.a1hf-header .a1hf-primary:focus{background:linear-gradient(113deg,#006aab,#058ac6 75%,#00a5c8)!important;color:#fff!important;border:1px solid #006ea9!important;box-shadow:0 12px 26px rgba(0,119,179,.18)!important;border-radius:12px!important}
.a1hf-header .a1hf-primary:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(0,119,179,.24)!important;color:#fff!important}
.a1hf-header button,.a1hf-header button:hover,.a1hf-header button:focus-visible{font-family:inherit!important}
.a1hf-header .a1hf-mobile-toggle,.a1hf-header .a1hf-mobile-toggle:hover,.a1hf-header .a1hf-mobile-toggle:active{background:#ecf8ff!important;color:#0870a8!important;border:1px solid #c8e3f5!important;box-shadow:none!important;border-radius:12px!important}
.a1hf-header a:focus-visible,.a1hf-header button:focus-visible{outline:3px solid #3bb6df!important;outline-offset:2px!important}
@media(max-width:1100px){
 .a1hf-header .a1hf-nav{border-radius:0 0 20px 20px}
 .a1hf-submenu{border-radius:15px;background:#f7fbff;box-shadow:none}
 .a1hf-mega-intro{display:none}
 .a1hf-mega-bottom{border-radius:0 0 13px 13px;padding:14px 17px}
 .a1hf-mega-inner{padding:18px}
 .a1hf-toplink{min-height:53px}
 .a1hf-header .a1hf-expand{min-width:44px;height:42px;touch-action:manipulation}
}
@media(max-width:620px){
 .a1hf-mega-bottom{flex-direction:column;align-items:flex-start;gap:8px}
 .a1hf-header .a1hf-nav{max-height:calc(100dvh - 68px)}
 .a1hf-header .a1hf-toplink>a{font-size:14px!important}
 .a1hf-brand-type strong{color:#102843;font-size:17px}
}
@media(prefers-reduced-motion:reduce){.a1hf-link-icon{animation:none!important}.a1hf-mega-link:hover .a1hf-link-icon{animation:none!important}}
