/* REA legacy-to-Power-Platform guide: richer steps, figures and locked member steps. Builds on guides.css. */
.r-fig{margin:1.25rem 0 0}
.r-fig img{display:block;width:100%;height:auto;border-radius:var(--r-surface);border:1px solid var(--line)}
.r-fig figcaption{margin-top:.5rem;font-size:.85rem;color:var(--muted)}
.r-steps{list-style:none;margin:.75rem 0 0;padding:0;counter-reset:r;display:grid;gap:.45rem}
.r-steps li{counter-increment:r;position:relative;padding-left:2.2rem;line-height:1.45}
.r-steps li::before{content:counter(r);position:absolute;left:0;top:.05rem;width:1.5rem;height:1.5rem;border-radius:.4rem;background:var(--accent-soft);color:var(--link);font-family:var(--mono);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.r-code{margin:.9rem 0 0;padding:.75rem 1rem;border-radius:var(--r-surface);background:#0e0d14;color:#f4f2fa;font-family:var(--mono);font-size:.88rem;overflow-x:auto;white-space:pre-wrap}
.r-code b{color:#f5c842;font-weight:700}
.g-item.r-full{grid-template-columns:3rem minmax(0,1fr)}
.r-lock{position:relative;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:1.25rem 1.4rem;border:1px solid color-mix(in srgb,var(--purple) 45%,transparent);border-radius:var(--r-card);background:linear-gradient(180deg,var(--accent-soft),var(--surface))}
.r-lock h3{margin:0;font-size:1.15rem;line-height:1.3}
.r-lock p{margin:.35rem 0 0;color:var(--muted)}
.r-lock .r-ch{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--text)}
.r-lock .r-ch svg{width:1rem;height:1rem}
.r-lock .r-peek{margin-top:.9rem;position:relative;border-radius:var(--r-surface);overflow:hidden;border:1px solid var(--line);max-height:220px}
.r-lock .r-peek img{display:block;width:100%;height:auto;filter:saturate(.9)}
.r-lock .r-peek::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,var(--surface) 100%)}
.r-lock .r-act{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.r-note{margin:1rem 0 0;padding:.9rem 1.1rem;border-left:3px solid var(--yellow);background:var(--surface);border-radius:0 var(--r-surface) var(--r-surface) 0;color:var(--text)}

/* Hero: the legacy app is read by REA, then the rebuilt app settles in front. Plays once, then drifts. */
.r-hero{position:relative;overflow:hidden;min-height:clamp(560px,62vw,720px);display:grid;align-content:center}
.r-hero .wrap{position:relative;z-index:2}
.r-copy{max-width:560px}
.r-art{position:absolute;inset:0 0 0 50%;z-index:1;pointer-events:none}
.r-stage{position:absolute;inset:0;perspective:2200px;perspective-origin:30% 40%}
.r-scr{position:absolute;margin:0;border-radius:14px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(0,0,0,.85),0 10px 24px -10px rgba(0,0,0,.6);transform-style:preserve-3d}
.r-scr img{display:block;width:100%;height:auto}
.r-scr figcaption{position:absolute;left:12px;bottom:12px;padding:.3rem .65rem;border-radius:8px;background:rgba(11,10,18,.82);color:#f4f2fa;font-size:.78rem;font-weight:600;letter-spacing:.01em;backdrop-filter:blur(6px)}
.r-scr figcaption i{font-style:normal;color:#f5c842;margin-left:.35rem}
.r-old{width:70%;left:6%;top:9%;transform:rotateY(16deg) rotateX(5deg) translateZ(-60px);opacity:.92}
.r-mda{width:72%;right:-6%;top:44%;transform:rotateY(-13deg) rotateX(5deg)}
.r-por{width:38%;left:8%;top:60%;transform:rotateY(12deg) rotateX(4deg)}
.r-chip{position:absolute;left:40%;top:37%;z-index:3;padding:.8rem 1.1rem;border-radius:14px;background:#f5c842;color:#17130a;box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.r-chip b{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
.r-chip span{display:block;margin-top:.15rem;font-family:var(--mono);font-size:.74rem}
.r-scan{position:absolute;top:0;bottom:0;left:0;width:28%;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(245,200,66,.38),transparent);mix-blend-mode:screen;opacity:0}
/* veil so the copy always reads over the art */
.r-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 38%,color-mix(in srgb,var(--ink) 55%,transparent) 52%,transparent 70%)}
@media (prefers-reduced-motion:no-preference){
  .r-old{animation:r-in-old 900ms cubic-bezier(.23,1,.32,1) both, r-recede 700ms cubic-bezier(.77,0,.175,1) 1450ms both}
  .r-scan{animation:r-scan 900ms cubic-bezier(.77,0,.175,1) 650ms both}
  .r-chip{animation:r-rise 600ms cubic-bezier(.23,1,.32,1) 1250ms both}
  .r-mda{animation:r-in-new 1000ms cubic-bezier(.23,1,.32,1) 1550ms both, r-drift 9s ease-in-out 2700ms infinite alternate}
  .r-por{animation:r-in-por 1000ms cubic-bezier(.23,1,.32,1) 1750ms both, r-drift 11s ease-in-out 2900ms infinite alternate-reverse}
}
@keyframes r-in-old{from{opacity:0;filter:blur(8px);transform:rotateY(24deg) rotateX(8deg) translateZ(-200px) translateY(30px)}to{opacity:.92;filter:blur(0);transform:rotateY(16deg) rotateX(5deg) translateZ(-60px)}}
@keyframes r-recede{to{opacity:.42;transform:rotateY(18deg) rotateX(6deg) translateZ(-160px)}}
@keyframes r-scan{0%{opacity:0;transform:translateX(-110%)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(380%)}}
@keyframes r-rise{from{opacity:0;filter:blur(8px);transform:translateY(16px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes r-in-new{from{opacity:0;filter:blur(8px);transform:rotateY(-22deg) rotateX(8deg) translateZ(-220px) translateY(40px)}to{opacity:1;filter:blur(0);transform:rotateY(-13deg) rotateX(5deg)}}
@keyframes r-in-por{from{opacity:0;filter:blur(8px);transform:rotateY(20deg) rotateX(6deg) translateZ(-200px) translateY(40px)}to{opacity:1;filter:blur(0);transform:rotateY(12deg) rotateX(4deg)}}
@keyframes r-drift{to{translate:0 -8px}}
@media (max-width:960px){
  .r-hero{min-height:0;display:flex;flex-direction:column}
  .r-hero::after{display:none}
  .r-hero .wrap{order:1}
  .r-art{position:relative;inset:auto;order:2;height:clamp(280px,74vw,440px);margin-top:2rem}
  .r-copy{max-width:none}
  .r-stage{perspective:none}
  .r-scr,.r-chip{animation:none!important;filter:none!important}
  .r-old{width:78%;left:4%;top:0;transform:none;opacity:.55}
  .r-mda{width:80%;right:-4%;left:auto;top:34%;transform:none;opacity:1}
  .r-por{width:44%;left:4%;top:52%;transform:none;opacity:1}
  .r-chip{left:auto;right:6%;top:18%;padding:.55rem .8rem}
  .r-chip b{font-size:1rem}.r-chip span{font-size:.66rem}
  .r-scr figcaption{font-size:.68rem;left:8px;bottom:8px}
}
.r-hero .g-eyebrow{color:var(--hl)}
