.fm-spotlight-hero{
  position:relative;
  min-height:calc(100vh - 80px);
  overflow-x:hidden;
  overflow-y:visible;
  display:grid;
  align-items:center;
  padding:72px clamp(18px,4vw,64px);
  background-image:linear-gradient(90deg,rgba(5,3,10,.97),rgba(5,3,10,.72),rgba(5,3,10,.92)),url('/assets/images/neon-silhouettes.svg');
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.fm-spotlight-hero,
.fm-spotlight-hero *{
  box-sizing:border-box;
}
.fm-spotlight-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 25% 20%,rgba(168,85,247,.35),transparent 32%),radial-gradient(circle at 75% 40%,rgba(236,72,153,.22),transparent 28%);
}
.fm-spotlight-shell{
  position:relative;
  width:100%;
  max-width:none;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(36px,6vw,72px);
  align-items:start;
  justify-items:center;
}
.fm-spotlight-stage{
  position:relative;
  width:100%;
  min-width:0;
  max-width:none;
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(26px,4vw,42px);
  border:2px solid rgba(255,255,255,.86);
  border-radius:8px;
  background:linear-gradient(125deg,rgba(8,4,16,.84),rgba(36,8,48,.48) 55%,rgba(5,3,10,.68));
  box-shadow:0 0 8px rgba(255,255,255,.86),0 0 22px rgba(255,255,255,.5),0 0 54px rgba(236,72,153,.56),0 0 96px rgba(168,85,247,.36),inset 0 0 34px rgba(255,255,255,.08);
}
.fm-spotlight-stage:before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:5px;
  pointer-events:none;
}
.fm-spotlight-viewport{
  position:relative;
  width:100%;
  z-index:1;
}
.fm-spotlight-carousel--enhanced .fm-spotlight-viewport{
  min-height:330px;
}
.fm-spotlight-slide{
  width:100%;
}
.fm-spotlight-carousel--enhanced .fm-spotlight-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateX(18px);
  pointer-events:none;
  transition:opacity 420ms ease,transform 420ms ease;
}
.fm-spotlight-carousel--enhanced .fm-spotlight-slide.is-active{
  position:relative;
  opacity:1;
  transform:translateX(0);
  pointer-events:auto;
}
.fm-spotlight-inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3vw,34px);
  align-items:start;
}
.fm-spotlight-inner > *{
  min-width:0;
}
.fm-spotlight-hero-no-art .fm-spotlight-inner{
  grid-template-columns:1fr;
}
.fm-spotlight-copy{
  order:2;
  max-width:none;
  width:100%;
  padding:0;
  border-radius:0;
  background:transparent;
}
.fm-spotlight-title{
  margin:0;
  color:#fff;
  font-size:clamp(2.65rem,5.1vw,5.65rem);
  --fm-spotlight-title-min:1.85rem;
  line-height:.94;
  font-weight:1000;
  letter-spacing:0;
  text-shadow:0 0 10px rgba(255,255,255,.75),0 0 30px rgba(236,72,153,.88),0 0 70px rgba(168,85,247,.65);
  max-width:100%;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:manual;
}
.fm-spotlight-description{
  max-width:860px;
  margin:20px 0 0;
  color:#ececff;
  font-size:clamp(1rem,1.55vw,1.18rem);
  line-height:1.55;
  overflow-wrap:anywhere;
}
.fm-spotlight-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}
.fm-spotlight-frame{
  position:relative;
  order:1;
  margin:0;
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  border:1px solid rgba(255,255,255,.42);
  border-radius:14px;
  overflow:hidden;
  background:radial-gradient(circle at 20% 20%,rgba(236,72,153,.34),transparent 32%),radial-gradient(circle at 82% 74%,rgba(34,211,238,.22),transparent 34%),linear-gradient(135deg,#111827,#05030a 64%,#1f1238);
  box-shadow:0 20px 64px rgba(0,0,0,.42),0 0 18px rgba(255,255,255,.2),0 0 42px rgba(236,72,153,.22);
}
.fm-spotlight-frame img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fm-spotlight-art-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.72);
  font-size:clamp(1.5rem,3.4vw,3rem);
  font-weight:1000;
  letter-spacing:0;
  text-transform:uppercase;
  text-shadow:0 0 28px rgba(236,72,153,.7);
}
.fm-spotlight-frame.is-image-failed img{
  display:none;
}
.fm-spotlight-controls{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.fm-spotlight-arrow{
  position:absolute;
  top:50%;
  pointer-events:auto;
  width:58px;
  height:92px;
  padding:0;
  border:0;
  border-radius:0;
  color:transparent;
  background:transparent;
  font-size:0;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
}
.fm-spotlight-arrow:before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 0 5px rgba(255,255,255,.98)) drop-shadow(0 0 18px rgba(236,72,153,.72)) drop-shadow(0 0 30px rgba(168,85,247,.46));
  transition:filter .2s ease,transform .2s ease;
}
.fm-spotlight-arrow[data-fm-spotlight-prev]{
  left:8px;
}
.fm-spotlight-arrow[data-fm-spotlight-prev]:before{
  border-top:24px solid transparent;
  border-bottom:24px solid transparent;
  border-right:34px solid #fff;
}
.fm-spotlight-arrow[data-fm-spotlight-next]{
  right:8px;
}
.fm-spotlight-arrow[data-fm-spotlight-next]:before{
  border-top:24px solid transparent;
  border-bottom:24px solid transparent;
  border-left:34px solid #fff;
}
.fm-spotlight-arrow:hover:before{
  filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 24px rgba(236,72,153,.88)) drop-shadow(0 0 40px rgba(168,85,247,.62));
  transform:translate(-50%,-50%) scale(1.08);
}
.fm-spotlight-cta{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow-wrap:anywhere;
}
.fm-spotlight-arrow:focus-visible,
.fm-spotlight-cta:focus-visible{
  outline:3px solid #fde68a;
  outline-offset:3px;
}
.fm-spotlight-noscript{
  position:relative;
  z-index:2;
  margin:16px 0 0;
  color:#cbd5e1;
}
.fm-spotlight-phone-demo{
  justify-self:center;
  width:min(100%,360px);
  margin-top:0;
}
@media(prefers-reduced-motion:reduce){
  .fm-spotlight-carousel--enhanced .fm-spotlight-slide{
    transition:none;
    transform:none;
  }
}
@media(max-width:1220px){
  .fm-spotlight-stage{
    max-width:100%;
  }
}
@media(max-width:860px){
  .fm-spotlight-hero{
    min-height:auto;
    padding:50px 18px;
  }
  .fm-spotlight-stage{
    min-height:auto;
  }
  .fm-spotlight-carousel--enhanced .fm-spotlight-viewport{
    min-height:560px;
  }
  .fm-spotlight-frame{
    max-width:640px;
  }
}
@media(max-width:520px){
  .fm-spotlight-hero{
    padding:44px 12px;
  }
  .fm-spotlight-stage{
    padding:22px 14px;
  }
  .fm-spotlight-title{
    font-size:clamp(2.1rem,13vw,2.45rem);
    --fm-spotlight-title-min:1.25rem;
    white-space:normal;
    text-wrap:balance;
  }
  .fm-spotlight-description{
    font-size:1rem;
  }
  .fm-spotlight-carousel--enhanced .fm-spotlight-viewport{
    min-height:0;
  }
  .fm-spotlight-arrow{
    width:42px;
    height:74px;
  }
  .fm-spotlight-arrow[data-fm-spotlight-prev]{
    left:0;
  }
  .fm-spotlight-arrow[data-fm-spotlight-next]{
    right:0;
  }
  .fm-spotlight-arrow[data-fm-spotlight-prev]:before{
    border-top-width:18px;
    border-bottom-width:18px;
    border-right-width:25px;
  }
  .fm-spotlight-arrow[data-fm-spotlight-next]:before{
    border-top-width:18px;
    border-bottom-width:18px;
    border-left-width:25px;
  }
  .fm-spotlight-phone-demo{
    width:100%;
    max-width:320px;
    min-height:auto;
    transform:none;
  }
  .fm-spotlight-phone-demo .phone-frame{
    width:min(100%,300px);
    height:auto;
    aspect-ratio:335/665;
  }
  .fm-spotlight-phone-demo .phone-glow{
    width:min(100%,320px);
    height:560px;
  }
}
@media(forced-colors:active){
  .fm-spotlight-stage,
  .fm-spotlight-cta{
    border:2px solid ButtonText;
  }
  .fm-spotlight-arrow:before{
    filter:none;
  }
  .fm-spotlight-arrow[data-fm-spotlight-prev]:before{
    border-right-color:ButtonText;
  }
  .fm-spotlight-arrow[data-fm-spotlight-next]:before{
    border-left-color:ButtonText;
  }
}
