/* Machine Minds responsive navigation + back-to-top. */

/* Legacy selector retained for compatibility with header-element wrappers. */
.wp-site-blocks>header.wp-block-template-part{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  width:100%!important;
  margin:0!important;
}
.wp-site-blocks>header.wp-block-template-part .mm-site-header{
  position:relative!important;
  top:auto!important;
  background:
    radial-gradient(circle at 16% 0%,rgba(0,200,244,.09),transparent 28%),
    linear-gradient(90deg,rgba(5,19,44,.98),rgba(7,27,61,.97),rgba(5,19,44,.98))!important;
  border-bottom:1px solid rgba(54,125,232,.28)!important;
  box-shadow:0 10px 32px rgba(1,10,28,.14)!important;
}
.wp-site-blocks>header.wp-block-template-part .mm-site-header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,200,244,.72),rgba(81,68,248,.62),transparent);
  opacity:.75;
  pointer-events:none;
}
.mm-site-header.is-scrolled{
  box-shadow:0 16px 42px rgba(1,10,28,.3)!important;
}

/* Runtime-marked shell: works whether WordPress renders div/header template wrappers. */
.mm-header-shell{
  position:fixed!important;
  top:var(--mm-header-offset,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  z-index:5000!important;
  transform:translateZ(0);
}
.mm-header-shell .mm-site-header{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:
    radial-gradient(circle at 16% 0%,rgba(0,200,244,.09),transparent 28%),
    linear-gradient(90deg,rgba(5,19,44,.985),rgba(7,27,61,.98),rgba(5,19,44,.985))!important;
  border-bottom:1px solid rgba(54,125,232,.32)!important;
  box-shadow:0 12px 34px rgba(1,10,28,.18)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.mm-header-shell.is-scrolled .mm-site-header{
  background:linear-gradient(90deg,rgba(4,17,40,.995),rgba(7,28,62,.995),rgba(4,17,40,.995))!important;
  box-shadow:0 18px 44px rgba(1,10,28,.34)!important;
}
.mm-header-shell .mm-site-header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,200,244,.72),rgba(81,68,248,.62),transparent);
  opacity:.8;
  pointer-events:none;
}
.mm-header-spacer{
  display:block!important;
  width:100%!important;
  min-height:1px;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}

/* Desktop menu polish. */
.mm-primary-navigation .wp-block-navigation-item__content{
  border-radius:999px;
  padding:.58rem .72rem!important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease!important;
}
.mm-primary-navigation .wp-block-navigation-item__content:hover,
.mm-primary-navigation .wp-block-navigation-item__content:focus-visible{
  background:rgba(0,200,244,.09);
  transform:translateY(-1px);
}
body.mm-menu-open{overflow:hidden!important}

/* WordPress waits too long to collapse its navigation. Use a practical site breakpoint. */
@media(max-width:1180px){
  .mm-header-inner{
    min-height:68px!important;
    gap:.75rem!important;
  }
  .mm-header-actions{display:none!important}
  .mm-primary-navigation{margin-left:auto!important}

  .mm-primary-navigation .wp-block-navigation__responsive-container-open{
    display:grid!important;
    place-items:center;
    width:48px;
    height:48px;
    padding:0!important;
    border:1px solid rgba(0,200,244,.36)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,rgba(10,42,98,.9),rgba(6,20,46,.96))!important;
    color:#fff!important;
    box-shadow:0 10px 26px rgba(0,10,35,.22);
  }
  .mm-primary-navigation .wp-block-navigation__responsive-container-open:hover,
  .mm-primary-navigation .wp-block-navigation__responsive-container-open:focus-visible{
    border-color:rgba(0,200,244,.78)!important;
    background:rgba(17,74,158,.97)!important;
  }

  .mm-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .mm-primary-navigation .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:5400!important;
    padding:clamp(1.25rem,5vw,3rem)!important;
    background:
      radial-gradient(circle at 18% 8%,rgba(0,200,244,.16),transparent 27%),
      radial-gradient(circle at 85% 85%,rgba(81,68,248,.2),transparent 31%),
      linear-gradient(145deg,#06142e,#09275b 62%,#07152d)!important;
    color:#fff!important;
    overflow-y:auto!important;
  }
  .mm-primary-navigation .wp-block-navigation__responsive-container-close{
    top:1.25rem!important;
    right:1.25rem!important;
    width:48px!important;
    height:48px!important;
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
  }
  .mm-primary-navigation .wp-block-navigation__responsive-container-content{
    width:min(100%,720px)!important;
    margin:auto!important;
    padding-top:5.5rem!important;
    align-items:stretch!important;
    justify-content:center!important;
  }
  .mm-primary-navigation .wp-block-navigation__container{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:.65rem!important;
  }
  .mm-primary-navigation .wp-block-navigation-item{width:100%!important}
  .mm-primary-navigation .wp-block-navigation-item__content{
    display:flex!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:1rem 1.15rem!important;
    border:1px solid rgba(98,151,237,.22)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    font-size:clamp(1.05rem,2.5vw,1.3rem)!important;
    font-weight:750!important;
  }
  .mm-primary-navigation .wp-block-navigation-item__content:hover,
  .mm-primary-navigation .wp-block-navigation-item__content:focus-visible{
    border-color:rgba(0,200,244,.6)!important;
    background:rgba(0,200,244,.1)!important;
    transform:translateX(4px)!important;
  }
}

@media(min-width:1181px){
  .mm-primary-navigation .wp-block-navigation__responsive-container-open{display:none!important}
  .mm-primary-navigation .wp-block-navigation__responsive-container{
    display:block!important;
    position:static!important;
  }
}

/* Site-wide back-to-top control. It sits above the chat launcher. */
.mm-back-to-top{
  position:fixed!important;
  right:1.35rem!important;
  bottom:6.25rem!important;
  z-index:4900!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-width:50px;
  height:50px;
  padding:0 .85rem;
  border:1px solid rgba(0,200,244,.44);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(9,40,91,.97),rgba(23,109,245,.97));
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 16px 36px rgba(3,21,56,.3);
  font-weight:800;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.94);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,box-shadow .2s ease;
}
.mm-back-to-top.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0) scale(1);
}
.mm-back-to-top:hover,
.mm-back-to-top:focus-visible{
  box-shadow:0 20px 45px rgba(23,109,245,.38);
  transform:translateY(-2px) scale(1.02);
}
.mm-back-to-top__icon{font-size:1.2rem;line-height:1}
.mm-back-to-top__label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}

@media(max-width:781px){
  .mm-back-to-top{
    right:.9rem!important;
    bottom:5.7rem!important;
    min-width:48px;
    height:48px;
    padding:0 .72rem;
  }
  .mm-back-to-top__label{display:none}
}

@media(max-width:520px){
  .mm-header-inner{width:calc(100% - 1.25rem)!important}
}

@media(prefers-reduced-motion:reduce){
  .mm-back-to-top,
  .mm-primary-navigation .wp-block-navigation-item__content{
    transition:none!important;
  }
  .mm-back-to-top:hover{transform:none!important}
}
