/* Review & Validate flow — Moment 02a.
   Same slider structure as the onboarding animation: frame, left/right arrows, dots. */
.rf{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}
.rf-stage{display:flex;align-items:center;gap:20px;width:100%;justify-content:center}
.rf-viewport{position:relative;flex:1 1 0;min-width:0;max-width:min(calc((100vh - 170px) * 1920 / 1109),1200px);overflow:hidden;border-radius:10px}
.rf-track{position:relative;aspect-ratio:1920/1109}
.rf-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;opacity:0;transition:opacity .22s ease;pointer-events:none}
.rf-slide.on{opacity:1;pointer-events:auto;z-index:1}
.rf-pic{position:relative;height:100%;max-width:100%;box-sizing:border-box;border:1px solid #E7E9EF;border-radius:10px;overflow:hidden}
/* the Slack notification (first slide) is its own chrome already — no added border */
.rf-slide:first-child .rf-pic{border:none;border-radius:0}
.rf-pic img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none}

/* hotspots on the screens */
.rf-hit{position:absolute;border:0;padding:0;margin:0;background:transparent;cursor:pointer;z-index:3;border-radius:6px}
.rf-hit:focus-visible{outline:2px solid #2D8DE7;outline-offset:1px}
/* "View Request" in the Slack message invites the click */
.rf-view-btn::after{content:"";position:absolute;inset:-4px;border-radius:9px;border:2px solid #2D8DE7;opacity:0;animation:rfPulse 2.2s ease-out infinite;pointer-events:none}
.rf-view-btn:hover::after{animation:none;opacity:1}
@keyframes rfPulse{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(1.18)}100%{opacity:0}}

/* arrows + dots (match the onboarding slider) */
.rf-arrow{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #E8EBF2;color:#1B2736;cursor:pointer;box-shadow:0 2px 8px rgba(10,2,6,.08);transition:background .2s,border-color .2s,opacity .2s}
.rf-arrow:hover:not(:disabled){background:#F5F7FB;border-color:#D5DAE6}
.rf-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.rf-arrow:focus-visible{outline:2px solid #2c4283;outline-offset:2px}
.rf-prev svg{transform:rotate(180deg)}
.rf-steps{display:flex;flex-direction:column;align-items:center;gap:10px}
.rf-dots{display:flex;gap:8px}
.rf-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#D5DAE6;cursor:pointer;transition:width .3s,background .3s}
.rf-dot.on{width:24px;background:#1B2736}
.rf-dot:focus-visible{outline:2px solid #2c4283;outline-offset:3px}
.rf-label{font:400 12px/1.4 'Manrope',-apple-system,sans-serif;color:#3A4553;font-variant-numeric:tabular-nums}
.rf-label b{font-weight:600;color:#1B2736}

/* cursor (same anatomy as the onboarding animation) */
.rf-cursor{position:absolute;left:0;top:0;width:22px;height:22px;pointer-events:none;z-index:8;opacity:0;transition:transform .6s cubic-bezier(.45,.05,.25,1),opacity .25s;will-change:transform}
.rf-cursor svg{display:block;margin:-2px 0 0 -4px;transform-origin:4px 2px;filter:drop-shadow(0 2px 3px rgba(18,26,58,.35));transition:transform .12s}
.rf-cursor .rf-ripple{position:absolute;left:-20px;top:-20px;width:40px;height:40px;box-sizing:border-box;border-radius:50%;background:rgba(44,66,131,.22);border:2px solid rgba(44,66,131,.55);transform:scale(0);opacity:0}
.rf-cursor.click .rf-ripple{animation:rfRipple .55s ease-out}
.rf-cursor.click svg{transform:scale(.86)}
@keyframes rfRipple{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}

@media (max-width:640px){.rf-stage{gap:8px}.rf-arrow{width:36px;height:36px}}
@media (prefers-reduced-motion: reduce){.rf-slide{transition:none}.rf-view-btn::after{animation:none;opacity:.8}.rf-cursor{display:none}}

/* controls row: dots + play/pause + restart (same as the onboarding slider) */
.rf-bar{display:flex;align-items:center;gap:16px}
.rf-ctl{display:flex;gap:6px;padding-left:16px;border-left:1px solid #E8EBF2}
.rf-ctl button{width:32px;height:32px;padding:0;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #E8EBF2;color:#1B2736;cursor:pointer;box-shadow:0 1px 4px rgba(10,2,6,.06);transition:background .2s,border-color .2s}
.rf-ctl button:hover{background:#F5F7FB;border-color:#D5DAE6}
.rf-ctl button:focus-visible{outline:2px solid #2c4283;outline-offset:2px}
.rf-ctl button[aria-pressed="true"]{border-color:#2c4283}
