/* Seal your reply · counts (core/rsvp/022) — fork of core/rsvp/013 for INV-12 Burgundy Blossom v1.1 · Premium (replies R1,
   A1664, D-095; rs013: W3 finish w1, A1510; D-062, D-070; plan rev3 A8, master §8). Every reply is saved and opens WhatsApp. On the linen, not the card: the cream reply card stands in the mouth of a burgundy envelope whose flap is
   folded open behind it; the gold blossom seal on the envelope is the send button (the peak). On the press the card slides
   into the envelope, the flap folds down away from the guest, the seal presses, three petals settle. The card and the
   envelope are siblings so the card can pass between the envelope's layers: back (z 1, with the open flap), card (z 2,
   in a slot clipped to the envelope's outline below its mouth, so a card taller than the envelope still vanishes into
   it), front (z 3), the closed flap (z 4), the seal (z 5). Every envelope part turns 1.2deg about the envelope's top
   centre, the slot's clip uses the same turn. Moving the card never moves the envelope. Lite: the sealed state, no motion. */
.rs022 {
  --rs022-cw: min(calc(100vw - 48px), 440px);
  --rs022-ew: min(calc(100vw - 40px), 460px);
  --rs022-eh: calc(var(--rs022-ew) / 1.42);
  --rs022-tuck: calc(var(--rs022-eh) * .28);
  --rs022-sw: clamp(88px, calc(var(--rs022-ew) * .24), 112px);
  --rs022-hw: calc(var(--rs022-ew) / 2 - 1px);
  --rs022-h1: calc(var(--rs022-eh) - 1px);
  --rs022-line: rgb(94 18 32 / .35);
  --rs022-halo: 0 0 18px rgb(250 242 234 / 1), 0 0 4px rgb(250 242 234 / .9);
  --rs022-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 .85  0 0 0 0 .8  .09 0 0 0 -.03'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  position: relative; z-index: 1; padding: clamp(8px, 2svh, 24px) 0 clamp(48px, 9svh, 96px);
  color: var(--k-ink); text-align: center;
}
@supports (color: color-mix(in srgb, red 50%, transparent)) { .rs022 { --rs022-line: color-mix(in srgb, var(--k-wine) 35%, transparent); } }
.rs022 [hidden] { display: none !important; }
.rs022 .rs022__stage { position: relative; width: min(calc(100vw - 32px), 480px); margin: 0 auto; }
.rs022 .rs022-form { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; }

/* z 2: the card, in a slot whose foot is the envelope's foot (padding + a negative margin put the envelope's mouth
   --rs022-tuck above the card's foot); below the mouth the slot is clipped to the envelope's turned outline */
.rs022 .rs022__slot { position: relative; z-index: 2; align-self: stretch; display: flex; justify-content: center; pointer-events: none;
  padding-bottom: calc(var(--rs022-eh) - var(--rs022-tuck)); margin-bottom: calc(-1 * var(--rs022-eh));
  clip-path: polygon(-80px -600px, calc(100% + 80px) -600px,
    calc(100% + 80px) calc(100% - var(--rs022-eh) + var(--rs022-hw) * .020942),
    calc(50% + var(--rs022-hw) * .99978) calc(100% - var(--rs022-eh) + var(--rs022-hw) * .020942),
    calc(50% + var(--rs022-hw) * .99978 - var(--rs022-h1) * .020942) calc(100% - var(--rs022-eh) + var(--rs022-hw) * .020942 + var(--rs022-h1) * .99978),
    calc(50% - var(--rs022-hw) * .99978 - var(--rs022-h1) * .020942) calc(100% - var(--rs022-eh) - var(--rs022-hw) * .020942 + var(--rs022-h1) * .99978),
    calc(50% - var(--rs022-hw) * .99978) calc(100% - var(--rs022-eh) - var(--rs022-hw) * .020942),
    -80px calc(100% - var(--rs022-eh) - var(--rs022-hw) * .020942)); }
/* the foot band (--rs022-tuck) sits in the pocket and holds no field */
.rs022 .rs022__card { position: relative; box-sizing: border-box; width: var(--rs022-cw); rotate: -1.2deg; container-type: inline-size; pointer-events: auto;
  padding: calc(var(--rs022-cw) * .09) calc(var(--rs022-cw) * .08) calc(var(--rs022-cw) * .1 + var(--rs022-tuck));
  background-color: var(--k-paper); background-image: var(--k-grain), radial-gradient(130% 70% at 90% 0%, rgb(255 251 243 / .6), rgb(255 251 243 / 0) 60%);
  box-shadow: inset 0 0 0 1px rgb(110 60 40 / .07), -1px 2px 2px rgb(60 32 20 / .16), -8px 16px 24px -8px rgb(60 32 20 / .30); }
.rs022 .rs022__by { margin: 0; font: 400 clamp(9.5px, 3.2cqw, 13px)/1.7 var(--k-font-caps); letter-spacing: .2em; text-transform: uppercase; color: var(--k-wine); }
.rs022 .rs022__by b { font-weight: 400; }

/* the fields (rs008's names kept): a hairline name in script, the reply as one block of dots, guests, celebrations, note */
.rs022 .rs022-name { display: block; margin: clamp(14px, 6cqw, 30px) 0 0; }
.rs022 .rs022-input--name { box-sizing: border-box; display: block; width: 100%; margin: 0; padding: .1em .2em .15em; border: 0; border-bottom: 1px solid var(--rs022-line);
  border-radius: 0; background: transparent; text-align: center; outline: none;
  font: 400 clamp(26px, 9cqw, 38px)/1.25 var(--k-font-script); color: var(--k-wine); }
.rs022 .rs022-input--name::placeholder { color: rgb(94 18 32 / .45); opacity: 1; }
.rs022 .rs022-input--name:focus-visible { border-bottom-color: var(--k-wine); box-shadow: 0 1px 0 var(--k-wine); }
.rs022 .rs022__opts { display: inline-flex; flex-direction: column; align-items: flex-start; gap: clamp(10px, 3.4cqw, 16px); margin-top: clamp(16px, 5.5cqw, 28px); text-align: left; }
.rs022 .rs022-choice { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(10px, 3.4cqw, 16px); margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.rs022 .rs022-opt { position: relative; display: flex; align-items: center; gap: clamp(9px, 2.8cqw, 13px); cursor: pointer;
  font: 400 clamp(10px, 3.3cqw, 13.5px)/1.25 var(--k-font-caps); letter-spacing: .14em; text-transform: uppercase; color: var(--k-ink); }
.rs022 .rs022-opt__in { position: absolute; left: 0; top: 50%; width: 1px; height: 1px; margin: 0; opacity: 0; }
.rs022 .rs022-opt__dot { flex: none; box-sizing: border-box; width: clamp(13px, 3.8cqw, 17px); aspect-ratio: 1; border: 1px solid var(--k-wine); border-radius: 50%; }
.rs022 .rs022-opt__dot--none { border-color: transparent; }
.rs022 .rs022-opt__dot--box { border-radius: 0; }
.rs022 .rs022-opt__in:checked + .rs022-opt__dot { background: radial-gradient(circle, var(--k-wine) 0 46%, transparent 50%); }
.rs022 .rs022-opt__in:checked + .rs022-opt__dot--box { background: linear-gradient(var(--k-wine), var(--k-wine)) center / 54% 54% no-repeat; }
.rs022 .rs022-opt__in:focus-visible + .rs022-opt__dot { outline: 2px solid var(--k-wine); outline-offset: 3px; }
.rs022 .rs022-choice:has(:checked) .rs022-opt:not(:has(:checked)) { color: rgb(51 41 31 / .7); }
.rs022 .rs022-input--guests { -webkit-appearance: none; appearance: none; margin: 0 0 0 -.15em; padding: 0 1.15em 0 .25em; border: 0; border-bottom: 1px solid var(--rs022-line);
  border-radius: 0; background-color: transparent; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--k-wine) 50%), linear-gradient(135deg, var(--k-wine) 50%, transparent 50%);
  background-position: calc(100% - .6em) 58%, calc(100% - .3em) 58%; background-size: .3em .3em; background-repeat: no-repeat;
  font: 400 16px/1.25 var(--k-font-caps); letter-spacing: .1em; color: var(--k-wine); } /* 16px: iOS zooms into a smaller field */
.rs022 .rs022-input--guests:focus-visible { outline: 2px solid var(--k-wine); outline-offset: 2px; }
.rs022 .rs022-events { display: block; margin: clamp(20px, 6.5cqw, 32px) 0 0; padding: 0; border: 0; min-inline-size: 0; }
.rs022 .rs022-events > legend { width: 100%; padding: 0; }
.rs022 .rs022__evlist { display: inline-flex; flex-direction: column; align-items: flex-start; gap: clamp(9px, 3cqw, 14px); text-align: left; }
.rs022 .rs022-opt--ev { align-items: flex-start; }
.rs022 .rs022-opt--ev .rs022-opt__dot { margin-top: .05em; }
.rs022 .rs022-opt__d { display: block; margin-top: .25em; font: italic 500 clamp(12.5px, 3.8cqw, 15.5px)/1.25 var(--k-font-body); letter-spacing: 0; text-transform: none; color: var(--k-ink-soft); }
.rs022 .rs022-field { display: block; margin: clamp(20px, 6.5cqw, 32px) 0 0; }
.rs022 .rs022-field__l { display: block; margin: 0 0 .8em; font: 400 clamp(9px, 2.7cqw, 12px)/1.5 var(--k-font-caps); letter-spacing: .16em; text-transform: uppercase; color: var(--k-wine-soft); }
.rs022 .rs022-field__l i { font-style: normal; letter-spacing: .1em; }
.rs022 .rs022-input--note { box-sizing: border-box; display: block; width: 100%; min-height: 4.4em; margin: 0; padding: .45em .7em; border: 1px solid var(--rs022-line); border-radius: 0;
  background: rgb(255 251 243 / .35); resize: vertical; font: italic 500 16px/1.4 var(--k-font-body); color: var(--k-ink); }
.rs022 .rs022-input--note:focus-visible { outline: 2px solid var(--k-wine); outline-offset: 2px; }

/* the envelope: every part is the envelope box, turned 1.2deg about its top centre; .rs022__env itself makes no
   stacking context, so its parts interleave with the card's slot */
.rs022 .rs022__env { position: relative; flex: none; width: var(--rs022-ew); aspect-ratio: 1.42; }
.rs022 .rs022-env-part { position: absolute; inset: 0; rotate: 1.2deg; transform-origin: 50% 0; }
.rs022 .rs022__env-back { z-index: 1; border-radius: 2px; background-color: #5D1827; background-color: color-mix(in oklab, var(--k-env-flap) 92%, #000); }
.rs022 .rs022__env-front { z-index: 3; pointer-events: none; border-radius: 2px; background-color: var(--k-env);
  background-image: var(--rs022-noise), linear-gradient(208deg, rgb(255 196 176 / .16), rgb(255 196 176 / 0) 46%), linear-gradient(0deg, rgb(24 2 8 / .22), rgb(24 2 8 / 0) 42%);
  box-shadow: inset 0 0 0 1px rgb(255 200 190 / .05), -1px 2px 2px rgb(40 10 12 / .30), -10px 20px 32px -10px rgb(40 10 12 / .50); }
/* the top flap, open: folded up behind the card's foot (z 1), its cream liner showing (op029's flap, the W0 reply's shape) */
.rs022 .rs022__flapwrap { z-index: 1; pointer-events: none; transform-style: preserve-3d; transform: perspective(1200px) rotateX(-178deg); }
.rs022 .rs022__flapface, .rs022 .rs022__liner { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
/* at rest the open flap stays hidden behind the card (its liner's edge peeked out past the card's turned foot, eye review r0);
   it shows from the press, as the card leaves (opacity on the faces, never on the 3D wrapper: AG-T118) */
.rs022 .rs022__flapface, .rs022 .rs022__liner { opacity: 0; }
.rs022.is-sealed .rs022__flapface, .rs022.is-sealed .rs022__liner { opacity: 1; }
/* the shadow sits on the face, not the 3D wrapper (AG-T118) */
.rs022 .rs022__flapface { filter: drop-shadow(0 1.5px 1.5px rgb(22 2 8 / .55)) drop-shadow(0 5px 8px rgb(22 2 8 / .25)); }
.rs022 .rs022__flap { position: absolute; inset: 0; clip-path: polygon(0 0, 100% 0, 50% 58%); background-color: var(--k-env-flap);
  background-image: var(--rs022-noise), linear-gradient(208deg, rgb(255 196 176 / .16), rgb(255 196 176 / 0) 46%), linear-gradient(0deg, rgb(24 2 8 / .22), rgb(24 2 8 / 0) 42%); }
.rs022 .rs022__liner { clip-path: polygon(0 0, 100% 0, 50% 58%); background: #F4E6DA; transform: rotateY(180deg); }
.rs022 .rs022__linerline { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
/* z 5: the seal is the send button, on the closed flap's tip; a contact shadow under it */
.rs022 .rs022__sealbox { z-index: 5; pointer-events: none; }
.rs022 .rs022__sealsh { position: absolute; left: calc(50% - var(--rs022-sw) * .42); top: calc(58% - var(--rs022-sw) * .3); width: calc(var(--rs022-sw) * .84);
  aspect-ratio: 1.2; border-radius: 50%; background: radial-gradient(closest-side, rgb(22 2 8 / .5), rgb(22 2 8 / 0)); opacity: .55; }
.rs022 .rs022-seal { position: absolute; left: calc(50% - var(--rs022-sw) / 2); top: calc(58% - var(--rs022-sw) / 2.086); width: var(--rs022-sw); aspect-ratio: 1.043;
  min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent;
  filter: drop-shadow(-2px 4px 3px rgb(22 2 8 / .5)) drop-shadow(-6px 12px 12px rgb(22 2 8 / .28)); }
.rs022 .rs022__sealart { display: block; width: 100%; height: 100%; }
.rs022 .rs022-seal:focus-visible { outline: 2px solid #E9D3A1; outline-offset: 4px; }
.rs022 .rs022-seal:active { scale: .97; }
/* three petals that settle beside the envelope once it is sealed (the couple's colour) */
.rs022 .rs022__fall { z-index: 5; opacity: 0; rotate: var(--rs022-r1); }
.rs022 .rs022__fall--a { width: 30px; left: 85%; top: -7%; --rs022-r0: 14deg; --rs022-r1: 38deg; }
.rs022 .rs022__fall--b { width: 26px; left: -3%; top: 103%; --rs022-r0: -42deg; --rs022-r1: -18deg; }
.rs022 .rs022__fall--c { width: 22px; left: 91%; top: 107%; --rs022-r0: 88deg; --rs022-r1: 112deg; }

/* on the linen: the hint, the house line, the sealed words (halo for the photo ground) */
.rs022 .rs022__hint { margin: clamp(20px, 4.5svh, 34px) 0 0; padding-left: .28em; font: 400 clamp(10px, 2.7vw, 13px)/1.4 var(--k-font-caps); letter-spacing: .28em;
  text-transform: uppercase; color: var(--k-wine); text-shadow: var(--rs022-halo); }
.rs022 .rs022__small { margin: .55em auto 0; max-inline-size: 24em; padding: 0 16px; font: italic 500 clamp(14px, 3.9vw, 17px)/1.35 var(--k-font-body); color: var(--k-ink); text-shadow: var(--rs022-halo); }
.rs022 .rs022__sealed { margin: clamp(22px, 5svh, 40px) 0 0; padding: 0 16px; animation: rs022-show 500ms ease 1400ms both; }
.rs022 .rs022__sealed-s { margin: 0; font: 400 clamp(30px, 9.07vw, 43px)/1.15 var(--k-font-script); color: var(--k-wine); text-shadow: var(--rs022-halo); }
.rs022 .rs022__sealed-c { margin: .5em 0 0; padding-left: .2em; font: 400 clamp(9px, 2.6vw, 12px)/1.5 var(--k-font-caps); letter-spacing: .2em; text-transform: uppercase;
  color: var(--k-ink); text-shadow: var(--rs022-halo); }
.rs022 .rs022__sealed-go { margin: clamp(16px, 4svh, 26px) 0 0; }
.rs022 .rs022-again { margin: 8px 0 0; min-height: 44px; padding: 10px 14px; border: 0; background: none; cursor: pointer;
  font: 400 clamp(10px, 2.7vw, 12px)/1 var(--k-font-caps); letter-spacing: .2em; text-transform: uppercase; color: var(--k-wine);
  text-decoration: underline; text-underline-offset: .45em; text-decoration-thickness: 1px; text-shadow: var(--rs022-halo); }
.rs022 .rs022-again:focus-visible { outline: 2px solid var(--k-wine); outline-offset: 2px; }
/* no script (and reduced motion), or no contact: the deadline on the linen; with a contact, the plain WhatsApp button */
.rs022 .rs022__by--linen { margin: 0 auto; max-inline-size: 30em; padding: 0 20px; font-size: clamp(10px, 2.9vw, 13px); text-shadow: var(--rs022-halo); }
.rs022 .rs022__plain-go { margin: clamp(18px, 4svh, 28px) 0 0; padding: 0 20px; }

/* ---------- the press (times from the press; the guest's own gesture, like the opening) ---------- */
.rs022.is-sealed .rs022__card { translate: 0 var(--rs022-drop, 0px); animation: rs022-in 700ms cubic-bezier(.55, .06, .3, 1) both; }
/* the flap folds down away from the guest (rotateX up from -178deg about the top edge); half way it steps in front of the card */
.rs022.is-sealed .rs022__flapwrap { z-index: 4; transform: perspective(1200px) rotateX(0deg);
  animation: rs022-fold 560ms cubic-bezier(.45, 0, .25, 1) 650ms both, rs022-flapz 560ms steps(1, end) 650ms both; } /* r1: 600-1050 -> 650-1210 ms */
.rs022.is-sealed .rs022-seal { animation: rs022-press 850ms cubic-bezier(.3, .7, .4, 1) 650ms both; } /* r1: lands 1200-1370, released 1500 */
.rs022.is-sealed .rs022__sealsh { opacity: .8; animation: rs022-shadow 850ms ease 650ms both; }
.rs022.is-sealed .rs022__fall { opacity: 1; animation: rs022-fall 1000ms cubic-bezier(.2, .7, .3, 1) 1200ms both; }
.rs022.is-sealed .rs022__fall--b { animation-delay: 1320ms; }
.rs022.is-sealed .rs022__fall--c { animation-delay: 1400ms; }
.rs022.is-sealed .rs022__hint, .rs022.is-sealed .rs022__small { display: none; }
.rs022 .rs022__card.is-shake { animation: rs022-shake 240ms ease-in-out; }

@keyframes rs022-in { from { translate: 0 0; } to { translate: 0 var(--rs022-drop, 0px); } }
@keyframes rs022-fold { from { transform: perspective(1200px) rotateX(-178deg); } to { transform: perspective(1200px) rotateX(0deg); } }
@keyframes rs022-flapz { 0% { z-index: 1; } 50%, 100% { z-index: 4; } }
/* the seal lifts while the flap passes under it, lands, presses (never above its size) */
@keyframes rs022-press { 0% { translate: 0 0; scale: 1; } 35%, 65% { translate: 0 -14px; scale: 1; } 85% { translate: 0 0; scale: .97; } 100% { translate: 0 0; scale: 1; } }
@keyframes rs022-shadow { 0% { opacity: .55; } 35%, 65% { opacity: .2; } 85%, 100% { opacity: .8; } }
@keyframes rs022-fall { from { opacity: 0; translate: 0 -30px; rotate: var(--rs022-r0); } to { opacity: 1; translate: 0 0; rotate: var(--rs022-r1); } }
@keyframes rs022-show { from { opacity: 0; } to { opacity: 1; } }
@keyframes rs022-shake { 0%, 100% { translate: 0 0; } 12.5%, 62.5% { translate: -4px 0; } 37.5%, 87.5% { translate: 4px 0; } }

/* lite (and reduced motion, where no script runs): the end states, no motion */
html.kjy-lite .rs022 *, html.motion-reduce .rs022 * { animation: none !important; }
/* replies R1 (A1664, D-095): rs014's save seam in the card's own type — a count per event (the "Guests ·" row becomes
   "How many of you? ·" with a row per event when there are two or more), the late and error lines, the couple's extra
   questions, and "You replied on …" with "Change your reply" / "Not <name>? Start a new reply" in the sealed words. The
   selects reuse .rs022-input--guests (16px, so iOS never zooms); the only new colour is the error's (rs014's). */
.rs022 .rs022-evs { display: block; width: 100%; margin: clamp(16px, 5cqw, 24px) 0 0; text-align: left; }
.rs022 .rs022-help { margin: 0 0 clamp(8px, 2.6cqw, 12px); font: italic 500 clamp(12.5px, 3.8cqw, 15.5px)/1.3 var(--k-font-body); color: var(--k-ink-soft); }
.rs022 .rs022-evs .rs022__evlist { display: grid; width: 100%; gap: clamp(6px, 2cqw, 10px); }
.rs022 .rs022-ev { display: flex; align-items: center; justify-content: space-between; gap: clamp(9px, 2.8cqw, 13px); }
.rs022 .rs022-ev__n { min-width: 0; }
.rs022 .rs022-ev__c { flex: none; min-height: 44px; }
.rs022 .rs022-extra:empty { display: none; }
.rs022 .rs022-input--q { box-sizing: border-box; display: block; width: 100%; min-height: 44px; margin: 0; padding: .1em .2em .15em; border: 0; border-bottom: 1px solid var(--rs022-line);
  border-radius: 0; background: transparent; font: italic 500 16px/1.35 var(--k-font-body); color: var(--k-ink); }
.rs022 .rs022-input--q:focus-visible { outline: none; border-bottom-color: var(--k-wine); box-shadow: 0 1px 0 var(--k-wine); }
.rs022 .rs022-late, .rs022 .rs022-err { margin: clamp(14px, 4cqw, 20px) 0 0; text-align: center; font: italic 500 clamp(12.5px, 3.8cqw, 15.5px)/1.35 var(--k-font-body); }
.rs022 .rs022-late { color: var(--k-wine); }
.rs022 .rs022-err { color: #8B2E2E; }
.rs022 .rs022-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rs022 .rs022-mine__t { margin: clamp(14px, 3svh, 22px) auto 0; max-inline-size: 24em; font: italic 500 clamp(14px, 3.9vw, 17px)/1.35 var(--k-font-body); color: var(--k-ink); text-shadow: var(--rs022-halo); }
.rs022 .rs022-mine__t:empty { display: none; }
.rs022 .rs022-mine__b { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8px; margin: 4px 0 0; }
/* R1: the inline "Guests ·" / "How many of you? ·" select reaches the 44 px tap size (Premium-1005's release record: found, not
   fixed, 22 px) */
.rs022 .rs022-opt--guests .rs022-input--guests { min-height: 44px; }
/* eye review round 1 (A1664): the event rows in the card's caps (as "Joyfully accept"); the counts no taller than their
   numbers and no wider than they need; the help line centred like the card; each count's line close to its value (the
   44 px tap height is taken above the text); a returning guest's sealed envelope without the empty space of the card that
   is inside it */
.rs022 .rs022-ev { font: 400 clamp(10px, 3.3cqw, 13.5px)/1.25 var(--k-font-caps); letter-spacing: .14em; text-transform: uppercase; color: var(--k-ink); }
.rs022 .rs022-ev__c { width: auto; text-transform: none; letter-spacing: .06em; } /* as wide as "Can’t come" in Cinzel, no wider */
.rs022 .rs022-help { text-align: center; }
.rs022 .rs022-opt--guests .rs022-input--guests, .rs022 .rs022-ev__c { padding-top: 20px;
  background-position: calc(100% - .6em) calc(100% - .55em), calc(100% - .3em) calc(100% - .55em); }
.rs022.is-resealed .rs022__slot { display: none; }
/* eye review round 2 (A1664): each count's value on its label's baseline; the values in the skin's numeral face
   (Cormorant italic, as the dates under the names; Cinzel stays on the labels), still 16 px so iOS never zooms; the
   couple's question selects with the card's own wine caret */
.rs022 .rs022-opt--guests { align-items: baseline; }
.rs022 .rs022-opt--guests .rs022-input--guests, .rs022 .rs022-ev__c { font: italic 500 16px/1.3 var(--k-font-body); letter-spacing: 0; font-variant-numeric: lining-nums; }
.rs022 select.rs022-input--q { -webkit-appearance: none; appearance: none; padding-right: 1.15em; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--k-wine) 50%), linear-gradient(135deg, var(--k-wine) 50%, transparent 50%);
  background-position: calc(100% - .6em) calc(100% - .55em), calc(100% - .3em) calc(100% - .55em); background-size: .3em .3em; background-repeat: no-repeat; }
