.revenue-loop{margin-top:44px}.loop-precursor{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.loop-pre-pill{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:9px 18px 9px 9px;font-size:14px;font-weight:600;display:flex}.loop-pre-badge{background:var(--ink);width:30px;height:30px;color:var(--paper);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.loop-pre-arrow{color:var(--muted)}.loop-down-arrow{color:var(--muted);justify-content:center;margin:12px 0 8px;display:flex}.loop-card{background:linear-gradient(180deg, #fbfaf6 0%, var(--paper) 100%);border:1px solid var(--rule);border-radius:24px;padding:clamp(24px,5vw,56px);position:relative;overflow:hidden;box-shadow:0 1px 2px #0e0e0d0a,0 16px 30px -18px #0e0e0d38}.loop-card:before{content:"";background:linear-gradient(90deg, var(--yellow), var(--margin));height:4px;position:absolute;top:0;left:0;right:0}.loop-container{aspect-ratio:1000/620;width:min(1000px,100%);margin:0 auto;position:relative}.loop-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.loop-hub{aspect-ratio:1;background:var(--ink);width:24%;color:var(--paper);text-align:center;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loop-hub-title{font-family:var(--font-instrument-serif), serif;font-size:clamp(16px,2.4vw,24px);font-style:italic;line-height:1.05}.loop-hub-accent{color:var(--yellow)}.loop-arrow{width:24px;height:24px;color:var(--margin);opacity:.55;animation:9s ease-in-out infinite loopArrowPulse;animation-delay:var(--adelay);position:absolute;transform:translate(-50%,-50%)}@keyframes loopArrowPulse{0%{opacity:.55;transform:translate(-50%,-50%)scale(1)}4.5%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}16%{opacity:.55;transform:translate(-50%,-50%)scale(1)}to{opacity:.55;transform:translate(-50%,-50%)scale(1)}}.loop-node{width:21%;position:absolute;transform:translate(-50%,-50%)}.loop-node-card{border:1px solid var(--rule);animation:9s ease-in-out infinite loopNodePulse;animation-delay:var(--delay);background:#fff;border-radius:14px;padding:12px 12px 13px;box-shadow:0 1px 2px #0e0e0d0a}.loop-node-badge{background:var(--ink);width:30px;height:30px;color:var(--paper);animation:9s ease-in-out infinite loopBadgePulse;animation-delay:var(--delay);border-radius:9px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.loop-node-card h3{font-family:var(--font-jetbrains-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 5px;font-size:11px;font-weight:600}.loop-node-card p{color:var(--ink-soft);margin:0 0 7px;font-size:12px;line-height:1.4}.loop-node-tools{flex-wrap:wrap;gap:5px;display:flex}@keyframes loopNodePulse{0%{border-color:var(--rule);box-shadow:0 1px 2px #0e0e0d0a}5%{border-color:var(--yellow);box-shadow:0 0 0 4px #f2e84a33}20%{border-color:var(--rule);box-shadow:0 1px 2px #0e0e0d0a}to{border-color:var(--rule);box-shadow:0 1px 2px #0e0e0d0a}}@keyframes loopBadgePulse{0%{background:var(--ink);color:var(--paper);transform:scale(1)}5%{background:var(--yellow);color:var(--ink);transform:scale(1.1)}20%{background:var(--ink);color:var(--paper);transform:scale(1)}to{background:var(--ink);color:var(--paper);transform:scale(1)}}.tool-chip{border:1px solid var(--rule);background:#fff;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:3px;display:inline-flex;box-shadow:0 1px 1px #0e0e0d08}.tool-logo{object-fit:contain;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.loop-node-card,.loop-node-badge,.loop-arrow{animation:none!important}.loop-comet{display:none}}@media (max-width:860px){.loop-card{padding:28px 20px}.loop-container{aspect-ratio:auto;flex-direction:column;gap:0;width:100%;display:flex}.loop-ring,.loop-hub,.loop-arrow{display:none}.loop-node{width:100%;position:static;transform:none}.loop-node-card,.loop-node-badge{animation:none}.loop-node:not(:last-child):after{content:"";background:var(--rule);width:1.5px;height:16px;margin:0 0 0 25px;display:block}}
