/* Row stagger rise: grid cards rise into view a row at a time, each column 90ms after the one to its left.
   Measured from the Patty Wagon brand layer on the Lord Burger bones (brand.css / brand.js, 09-30), rewritten.
   In "contents" mode (the default) the cell itself never fades or moves: its CHILDREN fade and rise inside it while
   the cell stays an opaque block, so a grid that draws its lines from its own background (gutter-grid) keeps every
   gutter solid black the whole time instead of flashing the backdrop through half-faded cards. The cell clips while
   it animates, so a child that starts 28px low never pokes into the gutter below.
   "cell" mode is the source's plain reveal for things that aren't gutter-drawn grids: the whole item fades and rises 36px.
   Uses the individual `translate` property, so any transform a card or child already has (hover zooms, tilts) is kept. */
[data-row-rise] {
  --rr-dist: 28px;                       /* contents mode rise */
  --rr-cell-dist: 36px;                  /* cell mode rise */
  --rr-dur: .9s;                         /* rise */
  --rr-fade: .7s;                        /* fade */
  --rr-ease: cubic-bezier(.16, 1, .3, 1);
  --rr-fade-ease: ease;
  /* block-slide-in (data-row-rise="slide", off by default): Sadewa's .rv block reveal */
  --rr-slide-x: 20px;                    /* slides in from this far right */
  --rr-slide-dur: 1s;                    /* fade + slide, one duration */
  --rr-slide-ease: linear(0,0.004,0.0151,0.032,0.0535,0.0788,0.107,0.1374,0.1694,0.2024,0.2361,0.27,0.3039,0.3375,0.3706,0.403,0.4346,0.4652,0.4949,0.5234,0.5509,0.5772,0.6024,0.6264,0.6493,0.6711,0.6917,0.7113,0.7298,0.7473,0.7638,0.7793,0.794,0.8078,0.8207,0.8329,0.8443,0.855,0.865,0.8744,0.8832,0.8914,0.8991,0.9062,0.9129,0.9191,0.925,0.9304,0.9354,0.9401,0.9445,0.9485,0.9523,0.9558,0.9591,0.9621,0.9649,0.9676,0.97,0.9722,0.9743,0.9763,0.978,0.9797,0.9812,0.9827,0.984,0.9852,0.9863,0.9874,0.9884,0.9893,0.9901,0.9908,0.9916,0.9922,0.9928,0.9934,0.9939,0.9944,0.9948,0.9952,0.9956,0.9959,0.9963,0.9965,0.9968,0.9971,0.9973,0.9975,0.9977,0.9979,0.9981,0.9982,0.9984,0.9985,0.9986,0.9987,0.9988,0.9989,1);   /* Framer spring 1 s bounce 0 (spring-to-linear "duration:1 bounce:0") */
}
/* contents: the cell stays put and opaque, its children come in */
.rr-armed:not([data-row-rise="cell"], [data-row-rise="slide"]) > .rr-item:not(.is-done) { overflow: clip; }
.rr-armed:not([data-row-rise="cell"], [data-row-rise="slide"]) > .rr-item > * {
  opacity: 0; translate: 0 var(--rr-dist);
  transition: opacity var(--rr-fade) var(--rr-fade-ease) var(--rr-d, 0ms), translate var(--rr-dur) var(--rr-ease) var(--rr-d, 0ms);
}
.rr-armed:not([data-row-rise="cell"], [data-row-rise="slide"]) > .rr-item.is-in > * { opacity: 1; translate: none; }

/* cell: the whole item fades and rises */
.rr-armed[data-row-rise="cell"] > .rr-item {
  opacity: 0; translate: 0 var(--rr-cell-dist);
  transition: opacity var(--rr-fade) var(--rr-fade-ease) var(--rr-d, 0ms), translate var(--rr-dur) var(--rr-ease) var(--rr-d, 0ms);
}
.rr-armed[data-row-rise="cell"] > .rr-item.is-in { opacity: 1; translate: none; }

/* slide (block-slide-in): the whole item fades from .001 and slides 20px in from the right on a 1 s bounce-0 spring,
   after its own delay (data-rr-d) instead of a row stagger; Sadewa's .rv / data-load reveal */
.rr-armed[data-row-rise="slide"] > .rr-item {
  opacity: .001; translate: var(--rr-slide-x) 0;
  transition: opacity var(--rr-slide-dur) var(--rr-slide-ease) var(--rr-d, 0ms), translate var(--rr-slide-dur) var(--rr-slide-ease) var(--rr-d, 0ms);
}
.rr-armed[data-row-rise="slide"] > .rr-item.is-in { opacity: 1; translate: none; }

/* an item scrolled past before it ever showed (page loaded mid-way, a jump link) appears without a transition */
.rr-armed > .rr-item.is-instant, .rr-armed > .rr-item.is-instant > * { transition: none !important; }
