/* ==========================================================
   NAVBAR MENU — clean two-column drawer
   Left : numbered main sections (About Us / Portfolio / Services)
   Right: the pages inside the selected section, as tidy cards
   Loaded last on every page, so it safely overrides older rules.
   ========================================================== */

/* open height: just enough for the content (no empty space) */
.nav.has-open,.nav.open-mobile{height:min(505px,calc(100vh - 24px))!important;border-radius:30px!important}

/* head row: brand + buttons */
.nav .brand{font-family:var(--f-body)!important;font-weight:800!important}
@media(min-width:901px){.nav .brand{letter-spacing:.2em!important}}
.nav .mobile-menu-label{font-family:var(--f-body)!important;font-weight:700!important;letter-spacing:.18em!important}

/* drawer container */
.nav .mobile-menu-content{
  display:flex!important;flex-direction:column;
  height:calc(100% - 68px)!important;padding:10px clamp(24px,4vw,54px) 22px!important;
  overflow-y:auto!important;overflow-x:hidden;scrollbar-width:none;
}
.nav .mobile-menu-content::-webkit-scrollbar{display:none}

.nav .menu-drawer-grid{
  flex:1;display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr)!important;
  gap:0!important;min-height:0!important;align-items:stretch;
  border-top:1px solid rgba(104,61,35,.12);padding-top:26px;
}

/* ---------- LEFT: main sections ---------- */
.nav .menu-primary{
  counter-reset:menu;display:flex!important;flex-direction:column!important;justify-content:flex-start;gap:6px!important;
  padding:0 clamp(20px,3vw,44px) 0 0!important;border-right:1px solid rgba(104,61,35,.12)!important;border-top:0!important;
}
.nav .menu-primary .mobile-nav-link,
.nav .menu-primary .menu-parent{
  counter-increment:menu;position:relative;display:flex!important;align-items:baseline;justify-content:flex-start!important;gap:18px;width:100%;
  min-height:0!important;padding:16px 46px 16px 0!important;margin:0;border:0!important;border-radius:0;background:none;text-align:left;cursor:pointer;
  font-family:var(--f-head)!important;font-size:clamp(32px,3.2vw,46px)!important;font-weight:600!important;
  letter-spacing:-.005em!important;line-height:1.05;text-transform:none!important;color:var(--ink)!important;
  transition:color .3s ease,padding-left .4s var(--ease),transform .4s var(--ease)!important;
}
.nav .menu-primary .menu-parent::before{
  content:"0" counter(menu);font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.16em;color:rgba(104,61,35,.45);
  transform:translateY(-2px);transition:color .3s ease;
}
.nav .menu-primary .menu-parent::after{
  content:"";position:absolute;right:6px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;
  background:rgba(239,118,47,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef762f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;
  opacity:0;transform:translateX(-8px);transition:opacity .3s ease,transform .4s var(--ease);
}
.nav .menu-primary .menu-parent:hover{padding-left:8px!important;transform:none!important;color:var(--brand)!important}
.nav .menu-primary .menu-parent[aria-expanded="true"]{padding-left:8px!important;color:var(--brand)!important;transform:none!important}
.nav .menu-primary .menu-parent[aria-expanded="true"]::before{color:var(--brand)}
.nav .menu-primary .menu-parent[aria-expanded="true"]::after,.nav .menu-primary .menu-parent:hover::after{opacity:1;transform:none}
.nav .menu-primary .nominate-mobile{display:none!important}

/* ---------- RIGHT: pages of the chosen section ---------- */
.nav .menu-subpanel{position:relative;min-height:0!important;padding:0 0 0 clamp(22px,3.4vw,52px)!important;border:0!important}
.nav .menu-subpanel-empty{display:none!important}
.nav .menu-subpanel-content{
  position:absolute!important;inset:0 0 auto clamp(22px,3.4vw,52px)!important;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s ease,transform .5s var(--ease),visibility 0s linear .5s;
}
.nav .menu-subpanel-content.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease .05s,transform .55s var(--ease),visibility 0s}
.nav .menu-sub-eyebrow{
  display:inline-block;margin:0 0 10px!important;font:800 11px/1 var(--f-body)!important;letter-spacing:.24em!important;color:var(--brand)!important;
}
.nav .menu-sub-lead{max-width:520px;margin:0 0 22px;color:var(--muted)!important;font:500 15px/1.6 var(--f-body)}

.nav .menu-sub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nav .menu-subpanel-content .menu-sub-grid a{
  position:relative;display:grid!important;grid-template-columns:34px 1fr;align-items:center;gap:10px;
  padding:15px 44px 15px 16px!important;border:1px solid rgba(104,61,35,.13)!important;border-radius:16px;
  background:rgba(255,255,255,.75);color:var(--ink)!important;text-decoration:none;letter-spacing:0!important;
  font-size:inherit!important;
  transition:transform .35s var(--ease),border-color .3s ease,box-shadow .35s ease,background .3s ease!important;
}
.nav .menu-subpanel-content .menu-sub-grid a::after{
  content:"";position:absolute;right:16px;top:50%;width:16px;height:16px;margin-top:-8px;opacity:.55;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef762f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .35s var(--ease),opacity .3s ease;
}
.nav .menu-sub-grid a b{font:800 11px/1 var(--f-body);letter-spacing:.14em;color:var(--gold)}
.nav .menu-sub-grid a span{display:flex;flex-direction:column;gap:4px;min-width:0}
.nav .menu-sub-grid a strong{font:700 15px/1.25 var(--f-body);color:var(--ink)}
.nav .menu-sub-grid a em{font:500 12.5px/1.3 var(--f-body);font-style:normal;color:var(--muted)}
.nav .menu-subpanel-content .menu-sub-grid a:hover{transform:translateY(-3px)!important;border-color:rgba(239,118,47,.55)!important;background:#fff;box-shadow:0 14px 30px rgba(104,61,35,.14)}
.nav .menu-sub-grid a:hover::after{opacity:1;transform:translate(2px,-2px)}
.nav .menu-sub-grid a:hover strong{color:var(--brand)}
.nav .menu-sub-grid a[aria-current="page"]{border-color:var(--brand)!important;background:rgba(239,118,47,.07)}
.nav .menu-sub-grid a[aria-current="page"] strong{color:var(--brand)}

/* ---------- drawer footer ---------- */
.nav .mobile-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;
  margin:22px 0 0!important;padding:16px 0 0!important;border-top:1px solid rgba(104,61,35,.12);
  font:500 12px/1.4 var(--f-body)!important;color:var(--muted)!important;
}
.nav .mobile-footer .footer-links{display:flex;gap:18px}
.nav .mobile-footer a{color:var(--muted)!important;text-decoration:none!important;font-weight:600;transition:color .25s}
.nav .mobile-footer a:hover{color:var(--brand)!important}

/* ---------- tablet / phone ---------- */
@media(max-width:900px){
  .nav.has-open,.nav.open-mobile{height:calc(100vh - 18px)!important}
  .nav .mobile-menu-content{padding:8px 20px 20px!important}
  .nav .menu-drawer-grid{flex:0 0 auto;grid-template-columns:1fr!important;padding-top:14px;border-top:1px solid rgba(104,61,35,.12)}
  .nav .menu-primary{padding:0!important;border-right:0!important;flex-direction:row!important;flex-wrap:wrap;gap:8px!important;margin-bottom:18px}
  /* sections become compact pills */
  .nav .menu-primary .menu-parent{
    width:auto!important;flex:1 1 auto;justify-content:center!important;text-align:center;padding:12px 18px!important;border:1px solid rgba(104,61,35,.16)!important;border-radius:999px;
    font:800 12px/1 var(--f-body)!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  }
  .nav .menu-primary .menu-parent::before,.nav .menu-primary .menu-parent::after{display:none}
  .nav .menu-primary .menu-parent:hover,.nav .menu-primary .menu-parent[aria-expanded="true"]{padding-left:18px!important}
  .nav .menu-primary .menu-parent[aria-expanded="true"]{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}
  .nav .menu-primary .nominate-mobile{
    display:flex!important;justify-content:center!important;text-align:center;flex:1 1 100%;order:9;margin-top:2px;padding:14px!important;border-radius:14px!important;
    background:var(--ink)!important;color:#fff!important;font:800 12px/1 var(--f-body)!important;letter-spacing:.16em!important;
  }
  .nav .menu-subpanel{padding:0!important}
  .nav .menu-subpanel-content{position:relative!important;inset:auto!important;display:none;transform:none!important}
  .nav .menu-subpanel-content.is-active{display:block}
  .nav .menu-sub-lead{font-size:14px;margin-bottom:16px}
  .nav .menu-sub-grid{grid-template-columns:1fr;gap:10px}
  .nav .menu-subpanel-content .menu-sub-grid a{padding:14px 42px 14px 14px!important}
  .nav .mobile-footer{margin-top:20px!important}
}
@media(prefers-reduced-motion:reduce){.nav .menu-subpanel-content,.nav .menu-sub-grid a{transition:none!important}}
