/* REGRESSOLOG: isolated accessible mobile navigation, v1.0.0.
   Existing desktop header and theme styles remain unchanged. */
.mobile-nav-toggle,
.header .mobile-nav-cta {display:none}
.mobile-nav-backdrop[hidden]{display:none!important}
.mobile-nav-backdrop{display:none}

@media (max-width:1100px){
  .header{z-index:60}
  .header .head{
    position:static;
    display:flex;
    height:76px;
    min-height:76px;
    flex-wrap:nowrap;
    padding-top:0;
    padding-bottom:0;
    gap:12px;
  }
  .header .brand{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 64px);
    gap:11px;
  }
  .header .brand img{flex:none;width:50px;height:50px}
  .header .brand > span{min-width:0;overflow:hidden}
  .header .brand-title{
    font-size:clamp(17px,2.1vw,23px);
    line-height:1.13;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .header .brand-sub{
    margin-top:5px;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .header .head > .header-consultation{display:none!important}
  .header .mobile-nav-toggle{
    display:flex;
    flex:0 0 44px;
    width:44px;
    height:44px;
    justify-content:center;
    align-items:center;
    padding:0;
    border:1px solid rgba(231,182,95,.56);
    border-radius:13px;
    background:rgba(231,182,95,.08);
    color:#f7d891;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .header .mobile-nav-toggle:hover,
  .header .mobile-nav-toggle:focus-visible,
  .header .mobile-nav-toggle[aria-expanded="true"]{
    border-color:rgba(247,216,145,.9);
    background:rgba(231,182,95,.16);
  }
  .header .mobile-nav-toggle:focus-visible{
    outline:2px solid #f7d891;
    outline-offset:3px;
  }
  .mobile-nav-toggle__lines{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
  .mobile-nav-toggle__lines > span{
    display:block;width:21px;height:2px;background:currentColor;
    border-radius:2px;
    transform-origin:center;
    transition:transform .2s ease,opacity .2s ease;
  }
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle__lines > span:first-child{transform:translateY(7px) rotate(45deg)}
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle__lines > span:nth-child(2){opacity:0}
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle__lines > span:last-child{transform:translateY(-7px) rotate(-45deg)}

  /* Reuse the existing nav, so no duplicate links or WordPress menus. */
  .header #primary-navigation.nav{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    right:12px;
    left:auto;
    width:min(390px,calc(100vw - 24px));
    max-height:calc(100vh - 104px);
    max-height:calc(100dvh - 104px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    margin:0;
    padding:12px;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    white-space:normal;
    border:1px solid rgba(231,182,95,.42);
    border-radius:18px;
    background:linear-gradient(160deg,rgba(13,18,48,.99),rgba(5,8,25,.99));
    box-shadow:0 24px 70px rgba(0,0,0,.66),0 0 0 1px rgba(255,255,255,.02) inset;
    z-index:62;
  }
  .header #primary-navigation.nav.is-open{display:flex}
  .header #primary-navigation.nav > a:not(.mobile-nav-cta){
    display:flex;
    align-items:center;
    flex:0 0 auto;
    min-height:46px;
    padding:12px 15px;
    border-radius:10px;
    font-size:15px;
    font-weight:500;
    line-height:1.3;
    white-space:normal;
    text-decoration:none;
    color:#f5f0e9;
    transition:background .15s ease,color .15s ease;
  }
  .header #primary-navigation.nav > a:not(.mobile-nav-cta)::after{display:none}
  .header #primary-navigation.nav > a:not(.mobile-nav-cta):hover,
  .header #primary-navigation.nav > a:not(.mobile-nav-cta):focus-visible{
    background:rgba(231,182,95,.12);
    color:#f7d891;
  }
  .header #primary-navigation.nav > a.active:not(.mobile-nav-cta){
    background:rgba(231,182,95,.10);
    color:#f7d891;
    box-shadow:inset 3px 0 0 #e7b65f;
  }
  .header #primary-navigation.nav > a:focus-visible{
    outline:2px solid #f7d891;
    outline-offset:-2px;
  }
  .header #primary-navigation.nav > .mobile-nav-cta{
    display:flex;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    min-height:46px;
    margin:10px 0 0;
    padding:12px 16px;
    font-size:13px;
    white-space:normal;
    text-align:center;
    line-height:1.3;
    border-radius:999px;
  }
  .mobile-nav-backdrop:not([hidden]){
    display:block;
    position:fixed;
    inset:0;
    z-index:59;
    background:rgba(2,4,15,.6);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
  }
  body.mobile-nav-open{overflow:hidden}
}
@media(max-width:480px){
  .header .head{height:69px;min-height:69px;gap:8px}
  .header .brand{max-width:calc(100% - 56px);gap:8px}
  .header .brand img{width:44px;height:44px}
  .header .brand-title{font-size:clamp(16px,4.9vw,19px)}
  .header .brand-sub{font-size:10px}
  .header .mobile-nav-toggle{width:42px;height:42px;flex-basis:42px;border-radius:12px}
  .header #primary-navigation.nav{top:calc(100% + 5px)}
}
@media(prefers-reduced-motion:reduce){
  .mobile-nav-toggle__lines > span,
  .header .mobile-nav-toggle,
  .header #primary-navigation.nav > a {transition:none!important}
}
