/* The Recipe — vertical showcase card (template). One card per case, 9:16, reels-like: slides take turns, progress on top.
   Each card wears its client's dress through CSS variables set by card.js from the case's card config. */
.rc-card{--c-primary:#1E3A8A;--c-primary-2:#12302A;--c-accent:#D9A521;--c-ink:#0A0A0A;--font-display:system-ui;--font-text:system-ui;
  position:relative;aspect-ratio:9/16;width:100%;max-width:100%;border-radius:22px;overflow:hidden;cursor:pointer;
  background:var(--c-primary-2);color:#fff;font-family:var(--font-text);container-type:inline-size;isolation:isolate;
  box-shadow:0 4px 8px rgba(15,23,42,.06),0 26px 56px -18px rgba(15,23,42,.35);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.rc-card:hover{transform:translateY(-4px)}
.rc-card:focus-visible{outline:3px solid var(--c-accent);outline-offset:4px}
.rc-bars{position:absolute;z-index:5;left:12px;right:12px;top:10px;display:flex;gap:4px}
.rc-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.rc-bars i b{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.rc-bars i.done b{transform:scaleX(1)}
.rc-bars i.run b{animation:rc-fill var(--d) linear forwards}
@keyframes rc-fill{to{transform:scaleX(1)}}
.rc-head{position:absolute;z-index:5;left:12px;right:12px;top:22px;display:flex;align-items:center;gap:8px;font-size:3.6cqw;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.rc-head img{width:9cqw;height:9cqw;border-radius:50%;background:#fff}
.rc-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.rc-slide.on{opacity:1}
.rc-slide video,.rc-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-shade{position:absolute;inset:auto 0 0 0;height:48%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.rc-cap{position:absolute;left:7cqw;right:7cqw;bottom:17cqw;font-family:var(--font-display);text-transform:var(--display-transform,uppercase);font-size:10cqw;line-height:.98;letter-spacing:.03em}
.rc-stat{display:flex;flex-direction:column;justify-content:center;padding:0 7cqw;background:var(--bg,var(--c-primary))}
.rc-stat .big{font-family:var(--font-display);font-size:30cqw;line-height:.9;color:var(--fg,#fff)}
.rc-stat .lbl{font-family:var(--font-display);text-transform:var(--display-transform,uppercase);font-size:10cqw;line-height:1;margin-top:3cqw;color:var(--fg2,var(--c-accent))}
.rc-stat .sub{font-size:4cqw;line-height:1.35;margin-top:4cqw;opacity:.85;max-width:60cqw}
.rc-slot{display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 12px,transparent 12px 24px),var(--c-primary);text-align:center;padding:10cqw}
.rc-slot b{display:block;font-size:6cqw}
.rc-slot small{display:block;font-size:3.6cqw;opacity:.75;margin-top:2cqw}
.rc-foot{position:absolute;z-index:5;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.rc-foot .goal{font-size:3.4cqw;line-height:1.25;font-weight:600;max-width:58%;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.rc-foot .open{flex:none;font-size:3.6cqw;font-weight:800;background:#fff;color:var(--c-ink);padding:2.6cqw 3.8cqw;border-radius:999px}
@media (prefers-reduced-motion:reduce){.rc-card,.rc-slide{transition:none}.rc-bars i.run b{animation:none;transform:scaleX(1)}}
