/* The supplied raster logo is displayed directly; CSS trims only its blank margins. */
:root{--bg:#060e1c;--cyan:#37afff;--line:#263b54;--text:#f3f7fd}
.site-header{background:#fff;border-bottom:1px solid #dfe6ef;backdrop-filter:none;color:#07162a}
.header-inner{height:86px;gap:26px}
.brand{font:inherit;letter-spacing:normal;line-height:1;padding:0;display:inline-flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;color:#06162b}
.brand-crop{position:relative;display:block;width:156px;height:42px;overflow:hidden;flex-shrink:0;background:white}
.brand-crop img{position:absolute;max-width:none;width:173%;height:auto;left:-37.08%;top:-49.84%;mix-blend-mode:multiply}
.brand .brand-descriptor{position:static;display:block;align-self:flex-start;width:90%;max-width:none;text-align:center;font-size:.625rem;letter-spacing:.19em;line-height:1.35;font-weight:700;color:#46566a}
.desktop-nav{gap:23px}
.desktop-nav a{color:#354457;font-size:0.875rem;min-height:44px;display:flex;align-items:center}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#0069ca}
.header-contact{background:#006cdb;color:white;border:1px solid #006cdb;border-radius:11px;padding:9px 15px;font-size:0.875rem;font-weight:600;min-height:38px;line-height:1.25;display:inline-flex;align-items:center;justify-content:center}
.header-contact:hover{background:#005ab6}
.menu-toggle span{background:#07172b}
#mobile-menu{background:#fff;color:#07172b;border-left-color:#d2dce8}
#mobile-menu nav a{border-color:#dfe6ef}
#mobile-menu nav a[aria-current]{color:#07172b}
.menu-close{color:#07172b}
.site-footer{background:white;color:#0b1a2f;border-top:1px solid #d9e2ec}
.footer-main{padding-block:48px}
.footer-main>p{color:#52647b}
.footer-main nav a{color:#344b65}
.footer-main nav a:hover{color:#0064c4}
.footer-bottom{color:#536579;border-color:#dde5ee}
.site-header :focus-visible,.site-footer :focus-visible,#mobile-menu :focus-visible{outline-color:#005fbc}
@media(max-width:1250px){.desktop-nav{gap:18px}}
@media(max-width:1000px){.header-inner{height:78px}.desktop-nav{display:none}.header-contact{margin-left:auto}}
@media(max-width:620px){.header-inner{height:74px;gap:10px}.brand-crop{width:132px;height:36px}.brand{gap:4px}.brand .brand-descriptor{font-size:.625rem;letter-spacing:.1em}.header-contact{font-size:0.8125rem;padding:10px 12px}.footer-main{gap:27px}.footer-main .brand-crop{width:156px;height:42px}}
@media(max-width:359px){.header-contact{font-size:0.75rem;padding-inline:9px}.brand-crop{width:116px;height:32px}.header-inner{gap:7px}.menu-toggle{min-width:40px}}
.brand>.brand-crop{margin:0;padding:0;align-self:center;font-size:inherit;color:inherit}
/* Mobile/tablet Astra main header refinement: keep Services on desktop only. */
@media (max-width:1240px), (max-width:1366px) and (pointer:coarse){.header-contact{display:none}.menu-toggle{margin-left:auto}}
/* Astra desktop navigation capsule refinement. */
@media (min-width:1241px) and (pointer:fine), (min-width:1367px){
  .header-inner{gap:28px;position:relative}
  .desktop-nav{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #d7e0e8;border-radius:999px;background:#eef3f7;max-width:calc(100% - 220px);overflow:visible}
  .desktop-nav a{min-height:38px;padding:9px 13px;border-radius:999px;color:#1b2b3e;font-size:.8125rem;font-weight:600;line-height:1;display:flex;align-items:center;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
  .desktop-nav a:hover{background:#f8fbfd;color:#005fbc;text-decoration:none}
  .desktop-nav a[aria-current]{background:#fff;color:#07172b;box-shadow:0 1px 2px rgba(7,23,43,.08)}
  .desktop-nav a:focus-visible{outline:3px solid #68d7ff;outline-offset:3px}
}


/* Owner visual correction 2026-10-11: mobile/tablet active page highlight. */
#mobile-menu nav a[aria-current]{background:#e8f4ff;color:#07172b;border-radius:12px}

/* Owner header logo size refinement 2026-10-11: reduce displayed header logo only; preserve source asset. */
.site-header .header-inner{
  height:82px;
}
.site-header .brand{
  gap:4px;
  padding-bottom:10px;
}
.site-header .brand-crop{
  width:128px!important;
  height:34px!important;
}
.site-header .brand-descriptor{
  font-size:.56rem;
  letter-spacing:.13em;
  line-height:1.25;
}
@media(max-width:1240px){
  .site-header .header-inner{
    height:78px;
  }
}
@media(max-width:620px){
  .site-header .header-inner{
    height:70px;
    gap:10px;
  }
  .site-header .brand-crop{
    width:108px!important;
    height:29px!important;
  }
  .site-header .brand{
    gap:3px;
    padding-bottom:8px;
  }
  .site-header .brand-descriptor{
    font-size:.53rem;
    letter-spacing:.09em;
  }
}
@media(max-width:359px){
  .site-header .brand-crop{
    width:100px!important;
    height:27px!important;
  }
}

