.bcis-flashlight {
  --bcis-light-x: 50%;
  --bcis-light-y: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.bcis-flashlight::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle 190px at var(--bcis-light-x) var(--bcis-light-y), rgba(212,170,67,.14), transparent 72%);
  opacity: 0;
  transition: opacity .18s ease;
}

.bcis-flashlight:hover::after { opacity: 1; }
.bcis-flashlight:hover {
  border-color: #d4aa43 !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.38), 0 0 0 1px rgba(212,170,67,.16);
}
.bcis-flashlight > * { position: relative; z-index: 1; }
.bcis-flashlight :is(h1,h2,h3,legend,label,strong,.eyebrow,.stage-label,.type-section-title,.type-section-count,.helper):hover {
  color: #fff7dc !important;
  text-shadow: 0 0 8px rgba(212,170,67,.48), 0 0 18px rgba(212,170,67,.22);
}

@media (prefers-reduced-motion: reduce) {
  .bcis-flashlight, .bcis-flashlight::after { transition: none; }
}
