/* BRASA — the small set of helpers that replaces inline style attributes.

   The pages ship a strict Content-Security-Policy with no 'unsafe-inline' in
   style-src, so every value that would otherwise live in a style="" attribute
   has a class here instead: stagger indices, marquee speeds, and the handful of
   one-off placements. */

/* stagger index for .reveal / .clip-line / .mask */
.i-0 { --i: 0; }
.i-1 { --i: 1; }
.i-2 { --i: 2; }
.i-3 { --i: 3; }
.i-4 { --i: 4; }
.i-5 { --i: 5; }
.i-6 { --i: 6; }
.i-7 { --i: 7; }

/* marquee tempos */
.speed-24 { --speed: 24s; }
.speed-26 { --speed: 26s; }
.speed-38 { --speed: 38s; }

/* pinned captions on photography */
.pin--bl { left: 1rem; bottom: 1rem; }
.pin--bl-tight { left: .9rem; bottom: .9rem; }

/* spacing one-offs */
.mt-xs { margin-top: .5rem; }
.mb-sm { margin-bottom: .45rem; }
.mb-md { margin-bottom: 1.2rem; }
.sub-head { margin: 2.6rem 0 1rem; }
.section--tight { padding-block: clamp(2rem, 5vh, 3.5rem); }
.legend--flush { margin-top: 0; padding-top: 0; border-top: 0; }

/* a fieldset that should not look like one */
.fieldset-reset { border: 0; padding: 0; margin: 0; }

/* the two-up date/guests row */
.grid-2 { display: grid; }

/* a cocktail with no photograph keeps the rhythm without borrowing one */
.pour__frame--empty {
  background: linear-gradient(180deg, rgba(255, 106, 36, .14), rgba(11, 9, 8, .6));
}

/* the menu-page booking background sits under the copy */
.bg-soft { opacity: .34; }

/* demo toast */
.toast {
  position: fixed;
  left: 1rem; right: 1rem; bottom: 5rem;
  z-index: 70;
  background: var(--char);
}
