/* IdeaSpawn Sitewide Ad-Slick Motifs — ctx-1781780701 */
:root { --em: #10b981; --em-dim: rgba(16,185,129,0.15); --zinc-card: linear-gradient(145deg, #18181b, #27272a); }
.visual-card { background: var(--zinc-card); }
.ad-slick { transition: transform .2s cubic-bezier(0.4,0,0.2,1), box-shadow .2s, border-color .2s; }
.ad-slick:hover { transform: translateY(-3px); box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.4); }

/* Hero constellation */
.hero-constellation { position: relative; }
.hero-pulse-ring { animation: hero-pulse 3s ease-in-out infinite; }
.hero-orbit { animation: galaxy-rotate 30s linear infinite; transform-origin: center; }
.hero-orb { animation: orb-glow 2.5s ease-in-out infinite; }
@keyframes hero-pulse { 0%,100%{opacity:.04;transform:scale(1)} 50%{opacity:.12;transform:scale(1.03)} }
@keyframes galaxy-rotate { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes orb-glow { 0%,100%{opacity:.6;filter:drop-shadow(0 0 2px rgba(16,185,129,.3))} 50%{opacity:1;filter:drop-shadow(0 0 8px rgba(16,185,129,.6))} }

/* Metric arc gauges */
.metric-arc { transition: stroke-dashoffset .8s cubic-bezier(0.23,1,0.32,1); }
.metric-orb-core { animation: orb-glow 2s ease-in-out infinite; }

/* Node graph (tracker OPM tests) */
.opm-node { transition: transform .2s, filter .2s; }
.opm-node:hover { transform: scale(1.12); filter: brightness(1.3); }
.opm-edge { stroke-dasharray: 6 4; animation: synergy-dash 2s linear infinite; }
@keyframes synergy-dash { to { stroke-dashoffset: -20; } }

/* Benefit orbit grid (ai-notion) */
.benefit-cluster { position: relative; }
.benefit-satellite { animation: satellite-orbit 5s linear infinite; transform-origin: center; }
.benefit-satellite:nth-child(2) { animation-delay: -1.2s; }
.benefit-satellite:nth-child(3) { animation-delay: -2.4s; }
@keyframes satellite-orbit { from{transform:rotate(0deg) translateX(14px) rotate(0deg)} to{transform:rotate(360deg) translateX(14px) rotate(-360deg)} }

/* Blog timeline orbs */
.blog-timeline { display: flex; align-items: center; gap: 3px; }
.blog-timeline-dot { transition: transform .2s; }
.post-card:hover .blog-timeline-dot { transform: scale(1.2); }
.timeline-arc { stroke-dasharray: 40; stroke-dashoffset: 40; animation: timeline-draw .6s forwards ease; }
@keyframes timeline-draw { to { stroke-dashoffset: 0; } }

/* Peptide product motifs */
.rel-orb { transition: transform .2s, filter .2s; }
.rel-orb:hover { transform: scale(1.15); filter: brightness(1.2); }
.evidence-tier { transition: stroke-dashoffset .9s cubic-bezier(0.23,1,0.32,1); }
.research-cloud-orb { transition: all .2s; }
.research-cloud-orb:hover { transform: scale(1.1) translateY(-2px); }
.protocol-arc { stroke-dasharray: 200; stroke-dashoffset: 200; animation: protocol-draw 1.8s forwards ease; }
@keyframes protocol-draw { to { stroke-dashoffset: 40; } }

/* Flow gauge section */
.flow-gauge { transition: stroke-dashoffset 1s ease; }
.section-orb { animation: section-float 4s ease-in-out infinite; }
@keyframes section-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }