/* Header / Site Branding */
.site-header{
  background:var(--white);
  border-bottom:1px solid var(--sand-200);
  position:sticky;
  top:0;
  z-index:100;
}

.nav-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.site-branding{display:flex; align-items:center;}
.site-logo img{height:50px; display:block;}
.site-logo-text{
  font-size:1.3rem;
  font-weight:700;
  color:var(--ink-900);
  text-decoration:none;
}
.site-logo-text:hover{color:var(--blue-500); text-decoration:none;}

/* Primary navigation */
.main-navigation ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:28px;
  margin:0;
  padding:0;
}

.main-navigation li{position:relative;}

.main-navigation a{
  color:var(--ink-900);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 0;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a{color:var(--blue-500);}

.menu-item-has-children > a::after{
  content:"\25BE";
  font-size:11px;
  transition:transform .2s ease;
}
.menu-item-has-children.open > a::after{transform:rotate(180deg);}

.sub-menu{
  position:absolute;
  top:100%;
  left:0;
  background:#fff;
  border:1px solid #e3e6ec;
  border-radius:8px;
  min-width:220px;
  padding:10px 0;
  display:none;
  list-style:none;
  margin:0;
  box-shadow:0 .5rem 1.5rem rgba(31,45,65,.12);
}

.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children.open > .sub-menu{display:block;}

.sub-menu li{width:100%;}
.sub-menu a{display:block; padding:10px 18px; font-weight:500;}
.sub-menu a:hover{background:var(--light); color:var(--blue-500);}

.header-cta{margin-left:8px;}

/* Mobile menu toggle */
.menu-toggle{
  display:none;
  background:none;
  border:none;
  padding:6px;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:26px;
  height:3px;
  background:var(--ink-900);
  margin:5px 0;
  border-radius:2px;
}

/* Footer */
.site-footer{background:var(--ink-900); color:rgba(255,255,255,.7);}

.footer-widgets{padding:52px 0 20px; border-bottom:1px solid rgba(255,255,255,.08);}
.footer-widgets .wrap{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:32px;
}
.footer-widget-area h2,
.footer-widget-area h3,
.footer-widget-area .widget-title{
  color:#fff;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:14px;
}
.footer-widget-area{font-size:13.5px; line-height:1.7;}
.footer-widget-area a{color:rgba(255,255,255,.7);}
.footer-widget-area a:hover{color:#fff;}
.footer-widget-area ul{list-style:none; margin:0; padding:0;}
.footer-widget-area li{margin-bottom:8px;}

.footer-menu{list-style:none; display:flex; flex-wrap:wrap; gap:20px; margin:0; padding:24px 0; font-size:13.5px;}
.footer-menu a{color:rgba(255,255,255,.7);}
.footer-menu a:hover{color:#fff;}

.site-info{padding:24px 0; font-size:13.5px;}
.site-info .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;}
.site-info a{color:rgba(255,255,255,.7); text-decoration:none;}
.site-info a:hover{color:#fff;}