/* Permanent master navigation — identical geometry on every page and at every scroll position. */
html{overflow-y:scroll;scrollbar-gutter:stable}
.ca-global-header,
.ca-global-header *{box-sizing:border-box!important}
.ca-global-header,
.ca-global-header.is-scrolled{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  z-index:1200!important;
  height:82px!important;
  background:#05090c!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.14)!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  transition:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.ca-global-header .nav-shell,
.ca-global-header.is-scrolled .nav-shell{
  width:min(1400px,calc(100% - 96px))!important;
  height:82px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  transition:none!important;
}
.ca-global-header .brand img,
.ca-global-header .logo,
.ca-global-header.is-scrolled .brand img,
.ca-global-header.is-scrolled .logo{
  height:47px!important;
  width:auto!important;
  transition:none!important;
}
.ca-global-header .nav-links,
.ca-global-header.is-scrolled .nav-links{
  gap:27px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
}
.ca-global-header .nav-links a,
.ca-global-header.is-scrolled .nav-links a{
  height:82px!important;
  padding:0!important;
  transition:opacity .18s ease,color .18s ease!important;
}
.ca-global-header .nav-links a.active:after,
.ca-global-header.is-scrolled .nav-links a.active:after{bottom:10px!important}

/* Services dropdown sits inside the permanent header without changing its geometry. */
.ca-global-header .nav-service-menu{
  position:relative;
  height:82px;
  display:flex;
  align-items:center;
}
.ca-global-header .nav-service-link{padding-right:15px!important}
.ca-global-header .nav-submenu-toggle{
  position:absolute;
  right:-3px;
  top:50%;
  width:18px;
  height:32px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transform:translateY(-50%);
}
.ca-global-header .nav-submenu-toggle:after{
  content:"";
  position:absolute;
  left:5px;
  top:11px;
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.ca-global-header .nav-service-menu.submenu-open .nav-submenu-toggle:after{transform:rotate(225deg) translate(-2px,-2px)}
.ca-global-header .nav-submenu{
  position:absolute;
  top:81px;
  left:-20px;
  width:226px;
  padding:9px 0;
  background:#07182C;
  border-top:2px solid #e51b2a;
  box-shadow:0 16px 32px rgba(0,0,0,.26);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.ca-global-header .nav-service-menu:hover .nav-submenu,
.ca-global-header .nav-service-menu:focus-within .nav-submenu,
.ca-global-header .nav-service-menu.submenu-open .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .16s ease,transform .16s ease;
}
.ca-global-header .nav-submenu a,
.ca-global-header.is-scrolled .nav-submenu a{
  display:flex;
  height:auto!important;
  min-height:42px;
  padding:10px 20px!important;
  border:0;
  font-size:12px;
  letter-spacing:.02em;
}
.ca-global-header .nav-submenu a:hover,
.ca-global-header .nav-submenu a.active{background:rgba(255,255,255,.08)}
.ca-global-header .nav-submenu a.active:after{display:none!important}
.ca-global-header .nav-actions,
.ca-global-header.is-scrolled .nav-actions{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.ca-global-header .header-phone{width:122px!important;flex:0 0 122px!important;justify-content:center!important}
.ca-global-header .header-action-btn,
.ca-global-header.is-scrolled .header-action-btn{
  min-height:44px!important;
  height:44px!important;
  padding:0!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease!important;
  transform:none!important;
}
.ca-global-header .header-quote-btn{width:112px!important;flex:0 0 112px!important}
.ca-global-header .portal-btn{width:126px!important;flex:0 0 126px!important}

/* Desktop header geometry is deliberately split into two independent anchors.
   The logo and navigation always begin from the left; the telephone and action
   buttons are pinned to the right. Active links cannot move either group. */
@media(min-width:1081px){
  .ca-global-header .nav-shell,
  .ca-global-header.is-scrolled .nav-shell{
    position:relative!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .ca-global-header .brand{
    flex:0 0 auto!important;
    margin:0!important;
  }
  .ca-global-header .nav-links,
  .ca-global-header.is-scrolled .nav-links{
    flex:0 0 auto!important;
    margin:0 0 0 28px!important;
  }
  .ca-global-header .nav-actions,
  .ca-global-header.is-scrolled .nav-actions{
    position:absolute!important;
    top:19px!important;
    right:0!important;
    width:396px!important;
    min-width:396px!important;
    height:44px!important;
    margin:0!important;
    justify-content:flex-end!important;
    transform:none!important;
  }
}

@media(min-width:1081px) and (max-width:1320px){
  .ca-global-header .header-phone{display:none!important}
  .ca-global-header .nav-actions,
  .ca-global-header.is-scrolled .nav-actions{
    width:256px!important;
    min-width:256px!important;
  }
  .ca-global-header .nav-links,
  .ca-global-header.is-scrolled .nav-links{gap:18px!important}
}

@media(min-width:1081px) and (max-width:1120px){
  .ca-global-header .nav-links,
  .ca-global-header.is-scrolled .nav-links{gap:12px!important}
}

@media(max-width:1180px){
  .ca-global-header .nav-links,.ca-global-header.is-scrolled .nav-links{gap:18px!important}
  .ca-global-header .header-phone{display:none!important}
}
@media(max-width:1080px){
  .ca-global-header .nav-shell,.ca-global-header.is-scrolled .nav-shell{width:min(100% - 44px,920px)!important;height:82px!important}
  .ca-global-header .nav-actions,.ca-global-header.is-scrolled .nav-actions{gap:10px!important}
  .ca-global-header .nav-actions .header-action-btn,.ca-global-header.is-scrolled .nav-actions .header-action-btn{display:none!important}
  .ca-global-header .nav-links,.ca-global-header.is-scrolled .nav-links{top:82px!important;max-height:calc(100vh - 82px)!important}
  .ca-global-header .nav-links a,.ca-global-header.is-scrolled .nav-links a{height:auto!important;padding:13px 0!important}
  .ca-global-header .nav-service-menu{
    height:auto;
    display:grid;
    grid-template-columns:1fr 44px;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .ca-global-header .nav-service-link{grid-column:1;padding-right:0!important;border-bottom:0!important}
  .ca-global-header .nav-submenu-toggle{position:relative;grid-column:2;grid-row:1;right:auto;top:auto;width:44px;height:44px;transform:none}
  .ca-global-header .nav-submenu-toggle:after{left:18px;top:16px;width:7px;height:7px}
  .ca-global-header .nav-submenu{
    position:static;
    grid-column:1 / -1;
    width:auto;
    max-height:0;
    padding:0 0 0 16px;
    overflow:hidden;
    border:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:none;
    background:rgba(0,0,0,.12);
    transition:max-height .2s ease;
  }
  .ca-global-header .nav-service-menu.submenu-open .nav-submenu{max-height:170px;pointer-events:auto}
  .ca-global-header .nav-submenu a,.ca-global-header.is-scrolled .nav-submenu a{min-height:0;padding:10px 12px!important;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06)!important}
}
@media(max-width:700px){
  .ca-global-header,.ca-global-header.is-scrolled{height:70px!important}
  .ca-global-header .nav-shell,.ca-global-header.is-scrolled .nav-shell{height:70px!important;width:calc(100% - 32px)!important}
  .ca-global-header .brand img,.ca-global-header .logo,.ca-global-header.is-scrolled .brand img,.ca-global-header.is-scrolled .logo{height:38px!important}
  .ca-global-header .nav-links,.ca-global-header.is-scrolled .nav-links{top:70px!important;max-height:calc(100vh - 70px)!important}
}

/* Global navigation colour matched to the homepage statistics band. */
.ca-global-header,
.ca-global-header.is-scrolled{
  background:#07182C!important;
}
@media(max-width:1080px){
  .ca-global-header .nav-links,
  .ca-global-header.is-scrolled .nav-links{
    background:#07182C!important;
  }
}

/* Preserve supplied transparent red/white Cartage Australia header logo */
.ca-global-header .brand img,
.ca-global-header .logo,
.ca-global-header.is-scrolled .brand img,
.ca-global-header.is-scrolled .logo{
  filter:none!important;
}
