/* core/rsvp/021_gold_ink_reply_counts — fork of core/rsvp/006 for INV-06 Ivory Rose v1.1 · Premium (replies R1, A1664, D-095); rs006 comments: docs/inv06_css_notes.md (moved out for the before-tap budget, A1489) */
.rs021 {
  --rs021-pad: clamp(24px, 6.6vw, 60px);
  --rs021-head: 40px;
  --rs021-sw: clamp(150px, 40vw, 190px);
  --rs021-ink: #9C7C42;
  --rs021-ink: color-mix(in srgb, var(--k-foil) 62%, var(--c-primary));
  position: relative; padding: var(--k-section-pad) var(--k-gutter);
  background: var(--k-light-ground); color: var(--k-ink); text-align: center; touch-action: pan-y;
}
.rs021__thread { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; }
.rs021__thread--front { z-index: 2; display: none; }
.rs021.has-sig .rs021__thread--front { display: block; }
.rs021__eyelet-hole { fill: var(--k-paper-deep); stroke: rgb(47 42 36 / .22); stroke-width: .8; }
.rs021__eyelet-ring { fill: none; stroke: var(--k-foil); stroke-width: 1.4; }
.rs021__thread-x { position: absolute; top: 0; left: var(--k-thread-x); width: 0; height: 0; visibility: hidden; }
.rs021__card { position: relative; max-width: 640px; margin: 0 auto; }
.rs021__paper {
  position: absolute; z-index: 1; inset: 0; pointer-events: none;
  filter: drop-shadow(0 1px 1px rgb(47 42 36 / .06)) drop-shadow(6px 12px 14px rgb(47 42 36 / .10));
}
.rs021__head { position: absolute; left: 0; top: 0; width: 100%; height: var(--rs021-head); max-width: none; overflow: visible; }
.rs021__head-paper { fill: var(--k-card); }
.rs021__rim { fill: none; stroke: var(--k-foil); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.rs021__sheet { position: absolute; left: 0; right: 0; top: calc(var(--rs021-head) - .5px); bottom: 0; background: var(--k-card); }
.rs021__sheet::before { content: ""; position: absolute; left: calc(3% - .5px); right: calc(3% - .5px); top: 0; bottom: 11px; border: 1px solid var(--k-foil); border-top: 0; }
.rs021__body { position: relative; padding: calc(var(--rs021-head) + 22px) var(--rs021-pad) 46px; }
.rs021__body > .rs021__title, .rs021__body > .rs021__rule, .rs021__body > .rs021__by, .rs021__body > .rs021__plain { position: relative; z-index: 4; }
.rs021__title { padding-top: 4px; }
.rs021__rule { width: 170px; margin-top: 8px; }
.rs021__by { margin-top: 16px; font: 500 1.0625rem/1.55 var(--k-font-body); color: var(--k-ink-soft); }
.rs021__by b { font-weight: 600; color: var(--k-ink); }
.rs021__plain { margin-top: 30px; }
.rs021__by--none { margin-top: 20px; font-size: 1.125rem; }
.rs021__rule--end { width: 140px; margin-top: 22px; }
.rs021__spray { z-index: 5; width: var(--rs021-sw); right: -12px; top: calc(var(--rs021-sw) * -.24); }
.rs021__spray .k-spray__base { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.rs021.is-near .rs021__spray--tr .k-spray__tint--petal, .motion-reduce .rs021 .rs021__spray--tr .k-spray__tint--petal { -webkit-mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.rs021.is-near .rs021__spray--tr :is(.k-spray__tint--boost, .k-spray__tint--deep), .motion-reduce .rs021 .rs021__spray--tr :is(.k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.rs021.is-near .rs021__spray--tr .k-spray__tint--leaf, .motion-reduce .rs021 .rs021__spray--tr .k-spray__tint--leaf { -webkit-mask-image: url("assets/sprig-r2-day-leaf.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-leaf.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.rs021.is-near .rs021__spray--tr .k-spray__tint--gold, .motion-reduce .rs021 .rs021__spray--tr .k-spray__tint--gold { -webkit-mask-image: url("assets/sprig-r2-day-gold.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-gold.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.rs021__spray--tr .k-spray__tint { -webkit-mask-image: linear-gradient(transparent, transparent); mask-image: linear-gradient(transparent, transparent); }
.rs021-form { display: grid; gap: 22px; margin-top: 30px; text-align: left; }
.rs021-form[hidden], .rs021-field[hidden], .rs021__plain[hidden] { display: none; }
.rs021-form > *, .rs021__ink > * { position: relative; z-index: 4; }
.rs021__ink { position: relative; display: grid; gap: 22px; }
.rs021__ink > .rs021__stage { position: absolute; z-index: 3; top: -18px; bottom: -14px; left: calc(-1 * var(--rs021-pad)); right: calc(-1 * var(--rs021-pad)); pointer-events: none; }
.rs021__stage--none { position: absolute; inset: 0; pointer-events: none; }
.rs021-field { display: block; }
.rs021-field__l { display: block; margin-bottom: 6px; padding: 0; font: 600 .6875rem/1.3 var(--k-font-display); letter-spacing: .22em; text-transform: uppercase; color: var(--k-ink-soft); }
.rs021-field__l i { font-style: normal; font-weight: 500; letter-spacing: .04em; text-transform: none; }
.rs021-input { display: block; width: 100%; padding: 6px 2px; border: 0; border-bottom: 1px solid var(--k-line); border-radius: 0; background: transparent; font: 500 1.1875rem/1.4 var(--k-font-body); color: var(--k-ink); }
.rs021-input:focus { outline: none; border-bottom-color: var(--c-primary); box-shadow: 0 1px 0 var(--c-primary); }
.rs021-input--note { min-height: 84px; resize: none; }
.rs021-sig {
  --rs021-sfs: clamp(2.25rem, 10vw, 2.75rem);
  position: relative; display: block; height: calc(var(--rs021-sfs) * 1.3); margin-top: -4px;
  font-size: calc(var(--rs021-sfs) * var(--rs021-k, 1));
}
.rs021-sig__in, .rs021-sig__ink {
  position: absolute; left: 0; top: 0; height: 100%; margin: 0; padding: 0 .25em 0 .75em; border: 0;
  font: 400 1em/calc(var(--rs021-sfs) * 1.3) var(--k-font-script); letter-spacing: 0;
}
.rs021-sig__in {
  width: 100%; border-radius: 0; background: transparent; color: transparent; -webkit-text-fill-color: transparent; caret-color: var(--rs021-ink);
}
.rs021-sig__in:focus { outline: none; }
.rs021-sig__in:focus-visible { outline: 1px solid var(--k-line); outline-offset: 3px; background: rgb(var(--c-primary-rgb) / .035); }
.rs021-sig__ink {
  pointer-events: none; white-space: pre; color: var(--rs021-ink);
  clip-path: inset(-.6em -.8em -.6em -.8em);
}
.rs021-sig__ink.is-writing { transition: clip-path var(--rs021-wt, .16s) linear; }
.rs021-choice { display: grid; justify-items: start; gap: 4px; min-width: 0; margin: 0; padding: 0; border: 0; }
.rs021-choice > .rs021-field__l { margin-bottom: 4px; }
.rs021-opt { position: relative; display: inline-flex; align-items: center; min-height: 50px; padding: 8px 22px; margin-left: -8px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rs021-opt input { position: absolute; left: 50%; top: 50%; width: 1px; height: 1px; margin: 0; opacity: 0; }
.rs021-opt__t { font: 500 1.3125rem/1.3 var(--k-font-display); color: var(--k-ink); }
.rs021-opt input:focus-visible ~ .rs021-opt__t { outline: 2px solid var(--c-primary); outline-offset: 5px; }
.rs021-ring { position: absolute; left: -3px; top: -1px; width: calc(100% + 6px); height: calc(100% + 2px); max-width: none; overflow: visible; pointer-events: none; transition: opacity .15s linear; }
.rs021-ring__p {
  fill: none; stroke: var(--rs021-ink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset .42s cubic-bezier(.45, 0, .3, 1);
}
.rs021-opt input:checked ~ .rs021-ring .rs021-ring__p { stroke-dashoffset: 0; }
.rs021-opt input:not(:checked) ~ .rs021-ring { visibility: hidden; }
.rs021-send { justify-self: center; margin-top: 4px; }
.rs021-small { text-align: center; font: 500 .9375rem/1.45 var(--k-font-body); color: var(--k-ink-soft); }
.rs021-thanks { position: relative; z-index: 4; margin-top: 4px; text-align: center; font: 500 1.1875rem/1.5 var(--k-font-display); color: var(--k-ink); }
.rs021-form.is-sent > .rs021-field, .rs021-form.is-sent > .rs021-send, .rs021-form.is-sent > .rs021-small,
.rs021-form.is-sent .rs021__ink > .rs021-field:not(.rs021-field--sig), .rs021-form.is-sent .rs021-field--sig > .rs021-field__l,
.rs021-form.is-sent .rs021-choice > .rs021-field__l,
.rs021-form.is-sent .rs021-opt:not(.is-chosen) { display: none; }
.rs021-form.is-sent { gap: 14px; }
@media (min-width: 768px) {
  .rs021 { --rs021-head: 46px; --rs021-sw: 240px; }
  .rs021__spray { right: -40px; top: -40px; }
  .rs021__body { padding-top: calc(var(--rs021-head) + 30px); padding-bottom: 56px; }
}
.rs021.is-live .rs021-sig__ink { visibility: hidden; }
.rs021.is-live .rs021-ring { opacity: 0; }
.rs021.is-live .rs021-opt.is-css .rs021-ring { opacity: 1; }
/* replies R1 (A1664, D-095): rs014's save seam in rs006's type; notes in section.js */
.rs021-yes, .rs021-extra { display: grid; gap: 22px; }
.rs021-yes[hidden], .rs021-extra:empty, .rs021-mine[hidden], .rs021-thanks[hidden] { display: none; }
.rs021-evs { margin: 0; }
.rs021-ev { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: .75rem; align-items: center; padding: .6rem 0; }
.rs021-ev__n { grid-column: 1; grid-row: 1; font: 500 1.1875rem/1.35 var(--k-font-display); color: var(--k-ink); }
.rs021-ev__d { grid-column: 1; grid-row: 2; font: 500 .875rem/1.4 var(--k-font-body); color: var(--k-ink-soft); }
.rs021-ev__c { grid-column: 2; grid-row: 1 / span 2; min-width: 7rem; min-height: 44px; font-size: 1rem; padding-right: 22px; }
.rs021-help { margin: -.75rem 0 0; font: 500 .9375rem/1.45 var(--k-font-body); color: var(--k-ink-soft); }
.rs021-late { margin: .25rem 0 .75rem; text-align: center; font: 500 1.0625rem/1.5 var(--k-font-display); color: var(--c-primary); }
.rs021-err { margin: .25rem 0 .75rem; text-align: center; color: #8B2E2E; }
.rs021-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rs021__body > .rs021-mine { position: relative; z-index: 4; margin-top: 26px; }
.rs021-mine__t { margin: 0 0 .9rem; font: 500 1.1875rem/1.5 var(--k-font-display); color: var(--c-primary); }
.rs021-change { margin: 0 .75rem .25rem 0; }
.rs021-link { min-height: 44px; padding: .5rem 0; border: 0; background: none; font: 500 .9375rem/1.45 var(--k-font-body); color: var(--k-ink-soft); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rs021__card select, .rs021__card button { min-height: 44px; }
.rs021-form.is-sent > .rs021-yes, .rs021-form.is-sent > .rs021-late, .rs021-form.is-sent > .rs021-err { display: none; }
.rs021-day { margin: 1.1rem 0 0; font: 600 .6875rem/1.3 var(--k-font-display); letter-spacing: .22em; text-transform: uppercase; font-variant-numeric: lining-nums; color: var(--k-ink-soft); }
.rs021-input[name="one"], .rs021-input[name="all"], .rs021-ev__c { font-variant-numeric: lining-nums; }
