/* Organic Cart Studio 10.6.3
   One crafted menu system across every viewport.
   Presentation only: no menu items, links, content, or SEO data are changed. */

/* The public header contains only the brand, compact status, and menu trigger. */
.site-header .header-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:clamp(12px,2vw,26px)!important;
}
.site-header .desktop-navigation,
.site-header .site-navigation,
.site-header #primary-menu,
.site-header .header-cta{
  display:none!important;
}
.site-header .header-status{
  display:flex!important;
  justify-self:end!important;
  min-width:0;
}
.site-header .menu-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(7,17,12,.28)!important;
  border-radius:50%!important;
  background:var(--craft-ink)!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:transform .28s var(--craft-ease),background .28s ease,border-color .28s ease;
}
.site-header .menu-toggle:hover{
  transform:rotate(4deg) scale(1.04);
  background:#0a5739!important;
  border-color:#0a5739!important;
}
.site-header .menu-toggle svg{display:block;flex:0 0 auto}

/* Hidden really means hidden. This prevents the overlay from appearing as
   ordinary anchor links before JavaScript runs or while cached CSS loads. */
#mobile-menu[hidden]{display:none!important}
#mobile-menu{
  position:fixed!important;
  inset:0!important;
  z-index:9998!important;
  display:flex!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100svh!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(-18px)!important;
  background:#07110c!important;
  color:#eef5f0!important;
  transition:opacity .32s ease,transform .55s var(--craft-ease),visibility .32s!important;
}
#mobile-menu.is-open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
}
body.ocs-menu-open{overflow:hidden!important;touch-action:none}

#mobile-menu .ocs-menu-shell{
  width:min(100%,1680px)!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:clamp(18px,2.2vw,34px) clamp(18px,4vw,72px) max(18px,env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
#mobile-menu .ocs-menu-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding-bottom:clamp(14px,1.7vw,24px)!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}
#mobile-menu .ocs-menu-head .header-brand{color:#fff!important}
#mobile-menu .ocs-menu-head .header-brand img{
  max-width:140px!important;
  max-height:46px!important;
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  filter:brightness(0) invert(1)!important;
}
#mobile-menu .close{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#fff!important;
  font-family:var(--font-sans)!important;
  font-size:.68rem!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}

#mobile-menu .ocs-menu-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)!important;
  gap:clamp(42px,7vw,120px)!important;
  align-items:center!important;
  min-height:0!important;
  padding:clamp(28px,5vh,64px) 0!important;
}
#mobile-menu .ocs-menu-primary{
  display:block!important;
  min-width:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}
#mobile-menu .ocs-menu-primary-list{
  display:block!important;
  margin:0!important;
  padding:0!important;
  counter-reset:ocs-overlay-menu!important;
}
#mobile-menu .ocs-menu-primary-list>li{
  display:block!important;
  position:relative!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  counter-increment:ocs-overlay-menu!important;
}
#mobile-menu .ocs-menu-primary-list>li>a{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:clamp(58px,8vh,94px)!important;
  padding:clamp(11px,1.25vh,17px) 0!important;
  margin:0!important;
  border:0!important;
  color:#f2f4f2!important;
  font-family:var(--font-display)!important;
  font-size:clamp(2rem,4.35vw,5.1rem)!important;
  font-weight:400!important;
  line-height:.9!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  transition:color .25s ease,padding-left .35s var(--craft-ease)!important;
}
#mobile-menu .ocs-menu-primary-list>li>a::before{
  content:counter(ocs-overlay-menu,decimal-leading-zero)!important;
  display:block!important;
  color:#3aa876!important;
  font-family:var(--font-sans)!important;
  font-size:.62rem!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.16em!important;
}
#mobile-menu .ocs-menu-primary-list>li>a::after{
  content:'↗'!important;
  display:block!important;
  color:#8ca097!important;
  font-family:var(--font-sans)!important;
  font-size:.92rem!important;
  line-height:1!important;
  opacity:.6!important;
  transform:none!important;
}
#mobile-menu .ocs-menu-primary-list>li>a:hover,
#mobile-menu .ocs-menu-primary-list>.current-menu-item>a,
#mobile-menu .ocs-menu-primary-list>.current_page_item>a{
  color:#57c992!important;
  padding-left:8px!important;
}
#mobile-menu .ocs-menu-primary-list .sub-menu{
  display:none!important;
}

#mobile-menu .ocs-menu-contact{
  display:block!important;
  align-self:end!important;
  min-width:0!important;
  padding:24px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.035)!important;
}
#mobile-menu .ocs-menu-contact small{
  display:block!important;
  margin:0 0 14px!important;
  color:#57c992!important;
  font-size:.59rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
#mobile-menu .ocs-menu-contact p{
  margin:0 0 18px!important;
  color:#d8dfdb!important;
  font-family:var(--font-display)!important;
  font-size:clamp(1.35rem,2.15vw,2.15rem)!important;
  line-height:1.08!important;
}
#mobile-menu .ocs-menu-contact a{
  display:inline!important;
  padding:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.36)!important;
  color:#aebbb4!important;
  font-family:var(--font-sans)!important;
  font-size:.78rem!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}

#mobile-menu .ocs-menu-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding-top:clamp(14px,1.7vw,22px)!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  color:#829188!important;
  font-family:var(--font-sans)!important;
  font-size:.61rem!important;
  line-height:1.4!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
#mobile-menu .ocs-menu-foot .ocs-menu-audit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-height:40px!important;
  margin:0!important;
  padding:10px 15px!important;
  border:1px solid #57c992!important;
  border-radius:999px!important;
  background:#57c992!important;
  color:#07110c!important;
  font-family:var(--font-sans)!important;
  font-size:.65rem!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#mobile-menu .ocs-menu-foot .ocs-menu-audit:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#07110c!important;
}

@media(max-width:980px){
  .site-header .header-status{display:none!important}
  .site-header .header-bar{grid-template-columns:minmax(0,1fr) auto!important}
  #mobile-menu .ocs-menu-grid{
    grid-template-columns:1fr!important;
    align-content:start!important;
    gap:28px!important;
    padding:26px 0!important;
  }
  #mobile-menu .ocs-menu-contact{align-self:auto!important;padding:18px!important}
  #mobile-menu .ocs-menu-primary-list>li>a{
    grid-template-columns:38px minmax(0,1fr) 18px!important;
    min-height:58px!important;
    font-size:clamp(1.75rem,8.4vw,3.15rem)!important;
    line-height:.96!important;
  }
}

@media(max-width:640px){
  .site-header .container{padding-inline:12px!important}
  .site-header .header-bar{
    min-height:58px!important;
    padding:8px 9px 8px 12px!important;
  }
  .site-header .menu-toggle{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }
  #mobile-menu .ocs-menu-shell{
    padding:12px 15px max(14px,env(safe-area-inset-bottom))!important;
  }
  #mobile-menu .ocs-menu-head .header-brand img{
    max-width:105px!important;
    max-height:38px!important;
  }
  #mobile-menu .close{
    width:42px!important;
    min-width:42px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  #mobile-menu .close>span{display:none!important}
  #mobile-menu .ocs-menu-grid{padding:18px 0!important;gap:18px!important}
  #mobile-menu .ocs-menu-primary-list>li>a{
    grid-template-columns:32px minmax(0,1fr) 16px!important;
    gap:8px!important;
    min-height:52px!important;
    padding:10px 0!important;
    font-size:clamp(1.55rem,8vw,2.55rem)!important;
  }
  #mobile-menu .ocs-menu-primary-list>li>a::before{font-size:.54rem!important}
  #mobile-menu .ocs-menu-primary-list>li>a::after{font-size:.74rem!important}
  #mobile-menu .ocs-menu-contact{display:none!important}
  #mobile-menu .ocs-menu-foot{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:11px!important;
    padding-top:12px!important;
  }
  #mobile-menu .ocs-menu-foot .ocs-menu-audit{
    min-height:38px!important;
    padding:9px 13px!important;
    font-size:.59rem!important;
  }
}

@media(max-height:700px) and (orientation:landscape){
  #mobile-menu .ocs-menu-shell{padding-top:10px!important;padding-bottom:10px!important}
  #mobile-menu .ocs-menu-head{padding-bottom:8px!important}
  #mobile-menu .ocs-menu-grid{
    grid-template-columns:minmax(0,1.5fr) minmax(210px,.5fr)!important;
    gap:30px!important;
    padding:10px 0!important;
  }
  #mobile-menu .ocs-menu-primary-list>li>a{
    min-height:38px!important;
    padding:5px 0!important;
    font-size:clamp(1.25rem,4.1vw,2.2rem)!important;
  }
  #mobile-menu .ocs-menu-contact{display:block!important;padding:14px!important}
  #mobile-menu .ocs-menu-contact p{font-size:1.15rem!important;margin-bottom:10px!important}
  #mobile-menu .ocs-menu-foot{padding-top:8px!important}
}

@media(prefers-reduced-motion:reduce){
  #mobile-menu,.site-header .menu-toggle{transition:none!important}
}
