/* Shared site navigation */
nav.site-nav{
  background-image:linear-gradient(180deg,#cd9d30 0%,#c79117 100%);
  border-bottom:3px solid #000;
  padding:0 48px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:900;
}
nav.site-nav .nav-left{display:flex;align-items:center;gap:28px;min-width:0;}
nav.site-nav .nav-brand{
  display:inline-flex;align-items:center;justify-content:center;
  background:#000;
  border:none;
  border-radius:8px;
  padding:6px 12px;
  flex:0 0 auto;
  line-height:0;
  box-shadow:0 3px 14px rgba(50,32,0,.45),0 1px 3px rgba(50,32,0,.35);
}
nav.site-nav .nav-brand img{
  height:45px;width:auto;display:block;
  filter:none;mix-blend-mode:normal;opacity:1;
}
nav.site-nav .nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0;align-items:center;}
nav.site-nav .nav-links > li{position:relative;list-style:none;}
nav.site-nav .nav-links a,
nav.site-nav .nav-links .nav-trigger{
  font-family:'Inter',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;
  text-decoration:none;transition:color .2s;
  text-shadow:0 1px 3px rgba(0,0,0,.3);
  background:none;border:none;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;gap:6px;
}
nav.site-nav .nav-links a:hover,
nav.site-nav .nav-links .nav-trigger:hover{color:rgba(255,255,255,.75);}
nav.site-nav .nav-links .is-active{
  color:#f5e48c;
  border-bottom:2px solid #f5e48c;
  padding-bottom:2px;
}
nav.site-nav .nav-caret{font-size:9px;line-height:1;}
/* Desktop dropdown */
nav.site-nav .nav-dropdown{
  position:absolute;top:calc(100% + 14px);left:-16px;
  min-width:230px;
  background:#f7f3e8;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  padding:8px;
  list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility .18s;
}
nav.site-nav .nav-item-services:hover .nav-dropdown,
nav.site-nav .nav-item-services.open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
nav.site-nav .nav-dropdown li{list-style:none;}
nav.site-nav .nav-links .nav-dropdown a{
  display:block;color:#2f2a20;text-shadow:none;
  font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:none;
  padding:10px 14px;border-radius:8px;
  transition:background .18s,color .18s;
}
nav.site-nav .nav-links .nav-dropdown a:hover{background:#efcf58;color:#2f2a20;}
nav.site-nav .nav-links .nav-dropdown a.is-active{color:#8a6d1f;border-bottom:none;}

/* Hamburger */
nav.site-nav .nav-burger{
  display:none;background:none;border:none;cursor:pointer;
  padding:10px;flex-direction:column;justify-content:center;align-items:center;
  gap:5px;min-width:44px;min-height:44px;
}
nav.site-nav .nav-burger span{
  display:block;width:24px;height:3px;background:#fff;border-radius:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}

/* Mobile panel */
nav.site-nav .nav-mobile{
  display:none;
  position:absolute;top:100%;left:0;right:0;
  background:#f7f3e8;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
  padding:14px 20px 20px;
  z-index:950;
  list-style:none;margin:0;
}
nav.site-nav.menu-open .nav-mobile{display:block;}
nav.site-nav .nav-mobile li{list-style:none;}
nav.site-nav .nav-mobile a,
nav.site-nav .nav-mobile .nav-mobile-label{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#2f2a20;text-decoration:none;padding:12px 4px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
nav.site-nav .nav-mobile .nav-mobile-sub a{padding-left:20px;font-weight:500;text-transform:none;letter-spacing:.02em;font-size:13px;}
nav.site-nav .nav-mobile a.is-active{color:#8a6d1f;border-bottom:1px solid rgba(0,0,0,.08);}
nav.site-nav .nav-mobile .nav-mobile-sub{list-style:none;margin:0;padding:0;}

@media(max-width:768px){
  nav.site-nav{
    background-image:linear-gradient(180deg,#dbb96a 0%,#c79117 100%);
    padding:0 16px;height:76px;gap:12px;
    padding-top:env(safe-area-inset-top,0px);
    height:calc(76px + env(safe-area-inset-top,0px));
    box-sizing:border-box;
  }
  nav.site-nav .nav-brand{padding:5px 9px;box-shadow:0 2px 10px rgba(50,32,0,.42),0 1px 2px rgba(50,32,0,.32);}
  nav.site-nav .nav-brand img{height:38px;}
  nav.site-nav .nav-links{display:none !important;}
  nav.site-nav .nav-burger{display:flex;flex:0 0 auto;}
}
