:root{
    --blue:#0048cf;
    --blue-dark:#003399;
    --blue-panel:#0042bd;
    --gold:#e8a020;
    --gold-bright:#ffc100;
    --white:#ffffff;
    --ink:#0a1b3d;
  }
  .mobile-header{
	position:fixed;
	z-index:100;
	width:100%;
  }
.backdrop{ z-index:150; }
.mmenu{ z-index:160; }
  .phone-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 18px; background:transparent; border-bottom:none;
  }
  .phone-header .logo{font-weight:800; color:var(--blue); font-size:16px;}
  .phone-header .logo span{color:var(--gold);}
  .phone-body-filler{padding:20px 18px; color:#8993b3; font-size:13px; line-height:1.6;}

  /* ============ HAMBURGER ============ */
  .toggle-btn{
    width:40px; height:40px; border:none; background:transparent;
     position:relative; cursor:pointer; flex-shrink:0;
  }
  .toggle-btn span{
    position:absolute; left:9px; right:9px; height:2px; background:var(--gold); border-radius:2px;
    /* transition:transform var(--panel-duration) var(--panel-ease), opacity .25s ease, top var(--panel-duration) var(--panel-ease); */
  }
  .toggle-btn span:nth-child(1){top:13px;}
  .toggle-btn span:nth-child(2){top:19px;}
  .toggle-btn span:nth-child(3){top:25px;}
  .toggle-btn.open span:nth-child(1){top:29px; transform:rotate(45deg);}
  .toggle-btn.open span:nth-child(2){opacity:0;}
  .toggle-btn.open span:nth-child(3){top:29px; transform:rotate(-135deg);}

  .backdrop{
  position:fixed; inset:0; background:rgba(6,15,40,0.5);
  opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s; z-index:50;
}
  .backdrop.show{opacity:1; visibility:visible;}

  /* ============ PANEL ============ */
  .mmenu{
  position:fixed; top:0; right:0; height:100%; width:100%;
  background:var(--blue-panel); z-index:160;
  transform:translateX(100%);
  transition:transform var(--panel-duration) var(--panel-ease);
  overflow-y:auto;
}
  .mmenu.open{transform:translateX(0);}

  .mmenu-head{display:flex; justify-content: space-between; padding:14px 16px; margin-bottom: 30px;}
  .mmenu-close{background:none; border:none; color:var(--white); font-size:26px; cursor:pointer;}

  .mmenu-list{list-style:none; counter-reset:menuItem; padding-inline-start:0;}
  .mitem{
    counter-increment:menuItem;
    opacity:0; transform:translateX(20px);
    transition:opacity var(--item-duration) ease, transform var(--item-duration) var(--item-ease);
  }
  .mmenu.open .mitem{opacity:1; transform:translateX(0);}
  .mmenu.open .mitem:nth-child(1){transition-delay:calc(var(--stagger-gap) * 1);}
  .mmenu.open .mitem:nth-child(2){transition-delay:calc(var(--stagger-gap) * 2);}
  .mmenu.open .mitem:nth-child(3){transition-delay:calc(var(--stagger-gap) * 3);}
  .mmenu.open .mitem:nth-child(4){transition-delay:calc(var(--stagger-gap) * 4);}
  .mmenu.open .mitem:nth-child(5){transition-delay:calc(var(--stagger-gap) * 5);}
  .mmenu.open .mitem:nth-child(6){transition-delay:calc(var(--stagger-gap) * 6);}

  /* ---- shared hover system: accent bar + number + sliding label ---- */
  .mitem > a, .msub-link{
    position:relative;
    display:flex; align-items:center;
    color:var(--white); text-decoration:none; font-weight:200; font-size:18px;
    padding:22px 22px 14px 26px;
    border-bottom:1px solid rgba(255,255,255,.08);
    overflow:hidden;
  }
  .msub-row{display:flex; border-bottom:none;}
  .msub-link{flex:1; border-bottom:1px solid rgba(255,255,255,.08);}

  /* left accent bar, grows from 0 height on hover */
  .mitem > a::before, .msub-link::before{
    content:"";
    position:absolute; left:0; top:50%;
    width:3px; height:0;
    background:var(--gold-bright);
    transform:translateY(-50%);
    transition:height var(--item-duration) var(--item-ease);
  }
  .mitem > a:hover::before, .msub-link:hover::before{height:60%;}

  /* number, counts up automatically from list order */
  .mitem > a::after, .msub-link::after{
    content:counter(menuItem, decimal-leading-zero);
    order:-1;
    font-size:12px; font-weight:700; letter-spacing:.5px;
    color:rgba(255,255,255,.5);
    margin-right:14px;
    transition:color var(--item-duration) ease, transform var(--item-duration) var(--item-ease);
  }
  .mitem > a:hover::after, .msub-link:hover::after{
    color:var(--gold-bright);
    transform:scale(1.15);
  }

  .link-label{
    display:inline-block;
    transition:transform var(--item-duration) var(--item-ease), color .25s ease;
  }
  .mitem > a:hover .link-label, .msub-link:hover .link-label{
    transform:translateX(8px);
    color:var(--gold-bright);
  }

  .mcaret-btn{width:48px; border:none; background:none; color:var(--white); cursor:pointer; border-left:1px solid rgba(255,255,255,.08); transition:background .25s ease, color .25s ease;}
  .mcaret-btn:hover{background:rgba(255,255,255,.08); color:var(--gold-bright);}
  .mcaret{width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); display:inline-block; transition:transform var(--accordion-duration) var(--accordion-ease);}
  .mhas-sub.mopen .mcaret{transform:rotate(225deg);}

  .msub-wrap{display:grid; grid-template-rows:0fr; background:var(--blue-dark); transition:grid-template-rows var(--accordion-duration) var(--accordion-ease);}
  .mhas-sub.mopen .msub-wrap{grid-template-rows:1fr;}
  .msub{overflow:hidden; min-height:0;}
  .msub a{
    position:relative;
    display:flex; align-items:center; gap:10px;
    color:rgba(255,255,255,.78); text-decoration:none; font-size:16px;
    padding:20px 22px;
    opacity:0; transform:translateX(-8px);
    transition:opacity .3s ease, transform .3s var(--accordion-ease), color .25s ease, padding-left .25s var(--item-ease);
  }
  .mhas-sub.mopen .msub a{opacity:1; transform:translateX(0); transition-delay:.1s;}
  .msub a:hover{color:var(--gold-bright); padding-left:36px;}

  .mcontact{
    display:block; 
	margin:18px 20px; 
	padding:12px; 
    opacity:0; 
	transform:translateY(8px);
    transition:opacity .4s ease, transform .4s var(--item-ease);
  }
  .mcontact h3{ text-align:left; color:var(--white); font-weight:200; font-size:20px; line-height:35px; text-decoration:underline;}
  .mcontact p a{color:var(--gold-bright);}
  .mmenu.open .mcontact{opacity:1; transform:translateY(0); transition-delay:.4s;}