/* Hero Circle V8 — khusus foto Hero, tanpa mengubah logika CMS. */
main > section.hero .hero-visual {
  position: relative !important;
  width: min(100%, 440px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 7px !important;
  margin-inline: auto !important;
  border-radius: 50% !important;
  overflow: visible !important;
  background: conic-gradient(from 0deg, var(--primary, #20c8c9), #fff 22%, #81e7d7 45%, #d3b9ff 70%, var(--primary, #20c8c9)) !important;
  box-shadow: 0 15px 45px rgba(0,0,0,.18), 0 0 25px rgba(70,210,210,.22) !important;
  animation: hero-circle-spin 9s linear infinite;
}
main > section.hero .hero-visual > img,
main > section.hero .hero-visual > .hero-placeholder {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center center !important;
  overflow: hidden !important;
  animation: hero-circle-counterspin 9s linear infinite;
}
@keyframes hero-circle-spin { to { transform: rotate(360deg); } }
@keyframes hero-circle-counterspin { to { transform: rotate(-360deg); } }
@media (max-width: 800px) {
  main > section.hero .hero-visual { width: min(80vw, 360px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  main > section.hero .hero-visual,
  main > section.hero .hero-visual > img,
  main > section.hero .hero-visual > .hero-placeholder { animation: none !important; }
}
