.mmgm-banner{
  --mmgm-orange:#ff4500;
  --mmgm-amber:#ffbf00;
  --mmgm-ink:#1a1025;
  --pointer-x:0;
  --pointer-y:0;
  position:relative;
  max-width:100%;
  margin:34px auto;
  font-family:inherit;
  isolation:isolate;
  container-type:inline-size;
}
.mmgm-banner *{box-sizing:border-box}
.mmgm-banner__link{
  position:relative;
  display:grid;
  min-height:clamp(290px,38vw,420px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:var(--mmgm-ink);
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 22px 55px rgba(26,16,37,.28),0 4px 0 var(--mmgm-orange);
  transform:translateZ(0);
}
.mmgm-banner__picture{
  z-index:0;
  transform:translate3d(calc(var(--pointer-x) * -22px),calc(var(--pointer-y) * -14px),0) scale(1.04);
  transition:transform .16s ease-out;
}
.mmgm-banner__picture,
.mmgm-banner__picture img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.mmgm-banner__picture img{
  object-fit:cover;
  object-position:center;
  transform:scale(1.08);
  animation:mmgm-cinema 13s ease-in-out infinite alternate;
}
.mmgm-banner__shade{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(26,16,37,.98) 0%,rgba(26,16,37,.88) 29%,rgba(26,16,37,.48) 48%,rgba(26,16,37,.08) 74%),
    linear-gradient(0deg,rgba(26,16,37,.64),transparent 52%);
}
.mmgm-banner__fog{
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:-45%;
  z-index:1;
  width:190%;
  pointer-events:none;
  will-change:transform,opacity;
}
.mmgm-banner__fog--rear{
  background:
    radial-gradient(ellipse at 22% 48%,rgba(214,220,230,.42),transparent 23%),
    radial-gradient(ellipse at 57% 62%,rgba(231,235,240,.34),transparent 25%),
    radial-gradient(ellipse at 82% 40%,rgba(202,210,220,.28),transparent 22%);
  opacity:.66;
  transform:translate3d(calc(var(--pointer-x) * 16px),0,0);
  animation:mmgm-fog-rear 18s ease-in-out infinite alternate;
}
.mmgm-banner__fog--middle{
  background:
    radial-gradient(ellipse at 15% 68%,rgba(244,246,248,.52),transparent 20%),
    radial-gradient(ellipse at 48% 42%,rgba(217,224,232,.4),transparent 22%),
    radial-gradient(ellipse at 76% 66%,rgba(239,242,245,.45),transparent 20%);
  opacity:.72;
  transform:translate3d(calc(var(--pointer-x) * 27px),calc(var(--pointer-y) * 10px),0);
  animation:mmgm-fog-middle 12s ease-in-out infinite alternate-reverse;
}
.mmgm-banner__fog--front{
  top:20%;
  bottom:-42%;
  background:
    radial-gradient(ellipse at 25% 62%,rgba(255,255,255,.58),transparent 18%),
    radial-gradient(ellipse at 58% 73%,rgba(224,229,236,.48),transparent 21%),
    radial-gradient(ellipse at 88% 58%,rgba(255,255,255,.4),transparent 17%);
  opacity:.66;
  transform:translate3d(calc(var(--pointer-x) * 38px),calc(var(--pointer-y) * 15px),0);
  animation:mmgm-fog-front 9s ease-in-out infinite alternate;
}
.mmgm-banner__content{
  position:relative;
  z-index:4;
  align-self:center;
  width:min(68%,620px);
  padding:clamp(28px,5vw,64px);
  padding-right:clamp(18px,2.5vw,32px);
  animation:mmgm-reveal .85s cubic-bezier(.2,.72,.2,1) both;
}
.mmgm-banner__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  color:rgba(255,255,255,.86);
  font-size:clamp(11px,1.35vw,14px);
  font-weight:800;
  line-height:1.4;
  letter-spacing:.12em;
}
.mmgm-banner__eyebrow::before{
  width:34px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--mmgm-orange),var(--mmgm-amber));
  content:"";
  box-shadow:0 0 18px rgba(255,69,0,.76);
}
.mmgm-banner__title{
  display:block;
  max-width:570px;
  margin:0;
  color:#fff;
  font-size:clamp(37px,6vw,74px);
  font-weight:900;
  line-height:1.02;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-shadow:0 5px 24px rgba(0,0,0,.34);
}
.mmgm-banner--singer .mmgm-banner__title{
  font-size:clamp(38px,7.4cqi,68px);
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.mmgm-banner--circle .mmgm-banner__title,
.mmgm-banner--violin .mmgm-banner__title{
  font-size:clamp(31px,4.35vw,55px);
  line-height:1.1;
}
.mmgm-banner__description{
  display:block;
  max-width:520px;
  margin:16px 0 22px;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px,2vw,19px);
  line-height:1.5;
}
.mmgm-banner__cta{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:50px;
  padding:12px 21px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:linear-gradient(135deg,var(--mmgm-orange),#d82f00);
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1;
  box-shadow:0 12px 30px rgba(255,69,0,.3);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
  animation:mmgm-pulse 3.2s ease-in-out infinite;
}
.mmgm-banner__play{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:var(--mmgm-orange);
  font-size:12px;
  line-height:1;
}
.mmgm-banner__bars{
  position:absolute;
  right:22px;
  bottom:18px;
  z-index:4;
  display:flex;
  height:24px;
  align-items:flex-end;
  gap:4px;
  opacity:.7;
}
.mmgm-banner__bars i{
  display:block;
  width:3px;
  height:8px;
  border-radius:4px;
  background:var(--mmgm-amber);
  animation:mmgm-bars .9s ease-in-out infinite alternate;
}
.mmgm-banner__bars i:nth-child(2){height:18px;animation-delay:-.25s}
.mmgm-banner__bars i:nth-child(3){height:12px;animation-delay:-.5s}
.mmgm-banner__bars i:nth-child(4){height:22px;animation-delay:-.7s}
.mmgm-banner__bars i:nth-child(5){height:14px;animation-delay:-.35s}
.mmgm-banner__link:hover .mmgm-banner__cta,
.mmgm-banner__link:focus-visible .mmgm-banner__cta{
  transform:translateY(-2px) scale(1.025);
  filter:brightness(1.08);
  box-shadow:0 16px 38px rgba(255,69,0,.46);
}
.mmgm-banner__link:focus-visible{
  outline:3px solid var(--mmgm-orange);
  outline-offset:4px;
}
@keyframes mmgm-cinema{
  from{transform:scale(1.08) translate3d(-1.2%,-.4%,0)}
  to{transform:scale(1.15) translate3d(1.2%,.7%,0)}
}
@keyframes mmgm-fog-rear{
  from{margin-left:-10%;opacity:.46}
  to{margin-left:9%;opacity:.72}
}
@keyframes mmgm-fog-middle{
  from{margin-left:-7%;margin-top:1%;opacity:.52}
  to{margin-left:12%;margin-top:-2%;opacity:.78}
}
@keyframes mmgm-fog-front{
  from{margin-left:-4%;margin-top:2%;opacity:.46}
  to{margin-left:10%;margin-top:-1%;opacity:.72}
}
@keyframes mmgm-reveal{
  from{opacity:0}
  to{opacity:1}
}
@keyframes mmgm-pulse{
  0%,100%{box-shadow:0 12px 30px rgba(255,69,0,.28)}
  50%{box-shadow:0 14px 38px rgba(255,69,0,.58)}
}
@keyframes mmgm-bars{
  from{transform:scaleY(.45);opacity:.48}
  to{transform:scaleY(1);opacity:1}
}
@media (max-width:720px){
  .mmgm-banner{margin:26px auto}
  .mmgm-banner__link{
    min-height:min(148vw,610px);
    border-radius:20px;
  }
  .mmgm-banner__picture img{
    object-position:center top;
    animation-duration:16s;
  }
  .mmgm-banner__shade{
    background:
      linear-gradient(0deg,rgba(26,16,37,.99) 0%,rgba(26,16,37,.9) 27%,rgba(26,16,37,.36) 57%,rgba(26,16,37,.04) 100%);
  }
  .mmgm-banner__content{
    align-self:end;
    width:100%;
    padding:26px 22px 30px;
  }
  .mmgm-banner__eyebrow{
    margin-bottom:10px;
    font-size:10px;
  }
  .mmgm-banner__title,
  .mmgm-banner--circle .mmgm-banner__title,
  .mmgm-banner--violin .mmgm-banner__title{
    max-width:100%;
    font-size:clamp(31px,10vw,44px);
    line-height:1.08;
  }
  .mmgm-banner__description{
    margin:12px 0 18px;
    font-size:15px;
  }
  .mmgm-banner__cta{
    min-height:48px;
    padding:11px 18px;
    font-size:14px;
  }
  .mmgm-banner__bars{right:18px;bottom:15px}
}
@media (prefers-reduced-motion:reduce){
  .mmgm-banner *,
  .mmgm-banner *::before,
  .mmgm-banner *::after{
    animation:none!important;
    scroll-behavior:auto!important;
    transition:none!important;
  }
}