/* Shared navigation layout for every public page. */
.header nav{gap:22px}
.header nav a[aria-current="page"]{color:#c9b4ff}
/* A rainbow whip stays inside the original CTA, with a soft pulse outside it. */
.header .header-cta{position:relative;isolation:isolate;overflow:hidden}
.header .header-cta:before,.header .header-cta:after{content:"";position:absolute;pointer-events:none;opacity:0}
.header .header-cta:before{
  inset:-200% -50%;z-index:-2;
  background:conic-gradient(#a77aff,#66e8ff 18%,#baff82 34%,#ffc16f 49%,#ff70c5 66%,#a77aff 84%,#66e8ff);
}
.header .header-cta:after{
  inset:1px;z-index:-1;border-radius:5px;background-color:#0d0f19;
  background-image:linear-gradient(110deg,transparent 28%,#a477ff24 38%,#68e8ff38 45%,#ff77cf45 52%,#ffc77a30 59%,transparent 70%);
  background-size:260% 100%;background-position:50% 0;background-repeat:no-repeat;
}
.header .header-cta:is(:hover,:focus-visible){border-color:transparent;color:#fff;filter:none;box-shadow:0 0 13px #9874ff40,0 0 22px #64dfff20}
.header .header-cta:is(:hover,:focus-visible):before,.header .header-cta:is(:hover,:focus-visible):after{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .header .header-cta:before,.header .header-cta:after{transition:opacity .18s ease}
  .header .header-cta:is(:hover,:focus-visible){animation:beta-cta-pulse 2.2s ease-in-out infinite}
  .header .header-cta:is(:hover,:focus-visible):before{animation:beta-cta-whip 2.2s linear infinite}
  .header .header-cta:is(:hover,:focus-visible):after{animation:beta-cta-sweep 2.2s ease-in-out infinite}
  @keyframes beta-cta-whip{to{transform:rotate(1turn)}}
  @keyframes beta-cta-sweep{0%{background-position:150% 0}100%{background-position:-50% 0}}
  @keyframes beta-cta-pulse{
    0%,100%{box-shadow:0 0 9px #a477ff30,0 0 16px #64dfff12}
    50%{box-shadow:0 0 15px #aa77ff70,0 0 27px #ff78c832}
  }
}
@media(max-width:1100px){
  .header .header-cta{display:none}
  .header .menu{display:flex;gap:13px;background:transparent;font-size:14px;align-items:center}
  .header .menu span{font-size:22px}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#10111b;border-bottom:1px solid #41344f;padding:20px;flex-direction:column;gap:0}
  .header nav.open{display:flex}
  .header nav a{padding:12px;font-size:16px}
}
@media(max-width:760px){
  .header{padding-inline:20px}
  .header nav{top:100%}
}
