  .mobile-nav {
    position: fixed;
    inset: 0;              
    display: none;       
    z-index: 1200;         
    pointer-events: none;
    font-family: "Libre Franklin";
    font-size: 16.8px;
  }

  .mobile-nav__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.36); 
    border: 0;
    padding: 0;
    margin: 0;
    cursor: default;
    pointer-events: auto;  
    transition: opacity 240ms ease;
    opacity: 0;
    backdrop-filter: blur(8px) saturate(1.05);
    -webkit-backdrop-filter: blur(8px) saturate(1.05);
  }

  .mobile-nav__panel{
    position: absolute;
    top: 0;
    right: 0;              
    height: 100%;
    width: min(80vw, 360px);
    max-width: 100%;
    background: linear-gradient(180deg, rgba(28,28,28,0.95), rgba(20,20,20,0.98));
    box-shadow: -28px 0 80px rgba(8,8,8,0.45);
    transform: translateX(110%); 
    transition: transform 360ms cubic-bezier(.2,.9,.25,1);
    padding: clamp(1.25rem, 5vw, 2rem) 1.25rem;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    pointer-events: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-left: 1px solid rgba(255,255,255,0.03);
  }

  .mobile-nav__list{
    list-style: none;
    margin: 0;
    padding: 0;
    width:100%;
  }

  .mobile-nav__list { text-align: right; }

  .mobile-nav__link{
    display: block;
    padding: 0.9rem 0;
    font-size: 1.05rem;
    color: #eee;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    transition: color 180ms ease, transform 180ms ease;
  }
  .mobile-nav__link:hover,
  .mobile-nav__link:focus {
    color: #fff;
    transform: translateX(-6px); 
    outline: none;
  }

  .mobile-nav__link.active {
    color: #ff6600;
  }

  .nav-toggle{
    display: none; 
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    border-radius: 10px;
    border: none;
    background: rgba(255,255,255,0.03);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
    z-index: 1250;
    padding: 0.4rem;
    align-items: center;
    justify-content: center;
  }

  .nav-toggle__box{
    display:inline-block;
    width:22px;
    height:18px;
    position:relative;
  }
  .nav-toggle__bar{
    display:block;
    position:absolute;
    left:0;
    right:0;
    height:2px;
    background: lightgray;
    border-radius:2px;
    transition: transform 260ms cubic-bezier(.2,.9,.25,1), opacity 200ms linear;
  }
  .nav-toggle__bar:nth-child(1){ top:0; }
  .nav-toggle__bar:nth-child(2){ top:8px; }
  .nav-toggle__bar:nth-child(3){ top:16px; }

  .mobile-nav.is-open .nav-toggle__bar:nth-child(1){
    transform: translateY(8px) rotate(45deg);
  }
  .mobile-nav.is-open .nav-toggle__bar:nth-child(2){
    opacity: 0;
    transform: scaleX(0.7);
  }
  .mobile-nav.is-open .nav-toggle__bar:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
  }

  .mobile-nav.is-open { display: block; pointer-events: auto; }
  .mobile-nav.is-open .mobile-nav__backdrop { opacity: 1; cursor: pointer; }
  .mobile-nav.is-open .mobile-nav__panel { transform: translateX(0%); }

  .mobile-nav__link:focus {
    border-radius: 6px;
  }

  @media (max-width: 480px) {
    nav.desktop-nav { display: none; }

    .nav-toggle { display: flex; }

    header { padding-right: 20px; }

    .mobile-nav { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-nav__panel,
    .nav-toggle__bar {
      transition: none !important;
      animation: none !important;
    }
  }