/* V102 — custom State “S” menu control */
.v102-state-menu{
  position:relative!important;
  overflow:hidden!important;
  border-color:rgba(236,28,45,.72)!important;
  background:
    radial-gradient(circle at 14% 50%,rgba(236,28,45,.22),transparent 23%),
    linear-gradient(125deg,#181b22 0%,#0c0e13 54%,#050609 100%)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.52),0 0 22px rgba(236,28,45,.22),inset 0 1px 0 rgba(255,255,255,.13)!important;
  animation:v102MenuBreath 3.2s ease-in-out infinite!important;
}
.v102-state-menu::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-80%!important;
  left:-25%!important;
  width:24%!important;
  height:260%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)!important;
  transform:rotate(18deg) translateX(-400%)!important;
  animation:v102MenuSweep 4.4s ease-in-out infinite!important;
  pointer-events:none!important;
}
.v102-state-icon{
  position:relative;
  flex:0 0 52px;
  width:52px;
  height:52px;
  display:grid!important;
  place-items:center;
  border-radius:17px;
  border:1px solid rgba(255,75,91,.7);
  background:linear-gradient(145deg,#ef2238 0%,#a60615 100%);
  box-shadow:0 0 0 5px rgba(236,28,45,.08),0 0 25px rgba(236,28,45,.48),inset 0 1px 0 rgba(255,255,255,.34),inset 0 -8px 15px rgba(64,0,7,.35);
  transform:translateZ(0);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),border-radius .38s ease,background .38s ease;
  z-index:2;
}
.v102-s-mark{
  display:block!important;
  font:900 31px/1 "Barlow Condensed",sans-serif;
  font-style:italic;
  color:#fff;
  text-shadow:0 2px 0 rgba(0,0,0,.22),0 0 14px rgba(255,255,255,.32);
  transform:skewX(-8deg);
  opacity:1;
  transition:opacity .18s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}
.v102-x-mark{
  display:block!important;
  position:absolute;
  inset:0;
  opacity:0;
  transform:rotate(-90deg) scale(.55);
  transition:opacity .18s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}
.v102-x-mark i{
  position:absolute;
  left:50%;
  top:50%;
  width:25px;
  height:3px;
  margin:-1.5px 0 0 -12.5px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 0 12px rgba(255,255,255,.6);
}
.v102-x-mark i:first-child{transform:rotate(45deg)}
.v102-x-mark i:last-child{transform:rotate(-45deg)}
.v102-state-menu[aria-expanded="true"] .v102-state-icon{
  border-radius:50%;
  transform:rotate(180deg) scale(1.04);
  background:linear-gradient(145deg,#ff4054,#b30617);
  box-shadow:0 0 0 7px rgba(236,28,45,.1),0 0 34px rgba(236,28,45,.72),inset 0 1px 0 rgba(255,255,255,.38);
}
.v102-state-menu[aria-expanded="true"] .v102-s-mark{opacity:0;transform:skewX(-8deg) rotate(90deg) scale(.4)}
.v102-state-menu[aria-expanded="true"] .v102-x-mark{opacity:1;transform:rotate(0) scale(1)}
.v102-state-menu[aria-expanded="true"] .v84-label{font-size:0}
.v102-state-menu[aria-expanded="true"] .v84-label::after{content:"Close Menu";font-size:18px}
.v102-state-menu[aria-expanded="true"] .v84-copy small{font-size:0}
.v102-state-menu[aria-expanded="true"] .v84-copy small::after{content:"Return to the showroom";font-size:9px}
.v102-state-menu:hover .v102-state-icon,.v102-state-menu:focus-visible .v102-state-icon{transform:translateY(-3px) rotate(-4deg) scale(1.06)}
.v102-state-menu[aria-expanded="true"]:hover .v102-state-icon,.v102-state-menu[aria-expanded="true"]:focus-visible .v102-state-icon{transform:translateY(-3px) rotate(180deg) scale(1.08)}
@keyframes v102MenuBreath{
  0%,100%{box-shadow:0 18px 46px rgba(0,0,0,.52),0 0 18px rgba(236,28,45,.18),inset 0 1px 0 rgba(255,255,255,.13)}
  50%{box-shadow:0 22px 52px rgba(0,0,0,.58),0 0 38px rgba(236,28,45,.48),inset 0 1px 0 rgba(255,255,255,.18)}
}
@keyframes v102MenuSweep{
  0%,58%{transform:rotate(18deg) translateX(-400%)}
  78%,100%{transform:rotate(18deg) translateX(620%)}
}
@media(max-width:700px){
  .v102-state-menu{min-height:84px!important;padding:13px 15px!important}
  .v102-state-icon{flex-basis:48px;width:48px;height:48px;border-radius:15px}
  .v102-s-mark{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
  .v102-state-menu,.v102-state-menu::after{animation:none!important}
}
