/* Nicecard demo — "Just Married" (新婚快乐) invitation style. Everything is scoped under .nci--married,
   .nci-cover--married and .nci-float--married so the other styles are untouched; new classes use the
   mrd- prefix. The page is a size container, so every measurement is in cqw and the flyer keeps its
   proportions in the 372px phone frame, the 390px editor canvas and a 390px phone.
   One ink on cream stock. Every drawing, every heading and both names are the same cherry wine; body
   text is a wine-black; the countdown is the one block printed in reverse, cream out of solid wine.
   The only other colours on the page are the owner's marker doodles in the run-sheet, used as drawn.
   Every colour that carries a word clears 4.5:1 on --mrd-paper: --mrd-wine 7.7:1, --mrd-ink 15.1:1,
   --mrd-ink-2 10.5:1, --mrd-mute 6.1:1 — and --mrd-paper on --mrd-night 11.7:1, on --mrd-wine 7.7:1.
   The smallest type on the page is 2.6cqw (10px at 390), never below 10px on a narrower phone.
   Type: Archivo at 700 for the display lines, the numerals and every small caps label; Jost for the
   running text; Caveat Brush for the handwritten asides, which falls through to Long Cang for Chinese.
   Drawings from the line kit are NC.inv.Ink masks tinted through --nci-ink-c, which the page sets once;
   every one of them, and every ornament of the page's own, is pointer-events: none. */

.nci--married,
.nci-cover--married,
.nci-float--married {
  --mrd-paper: #f7efe2;
  --mrd-paper-2: #efe3d0;
  --mrd-card: #fcf7ee;
  --mrd-wine: #92192b;
  --mrd-night: #5f0f1b;
  --mrd-ink: #2a1519;
  --mrd-ink-2: #4b2f33;
  --mrd-mute: #6e5255;
  --mrd-hair: rgba(146, 25, 43, 0.36);
  --mrd-hair-2: rgba(146, 25, 43, 0.16);
  --mrd-g: 7cqw;
  --mrd-line: 0.45cqw;
  --mrd-disp: 'Archivo', 'Noto Sans SC', 'PingFang SC', system-ui, sans-serif;
  --mrd-body: 'Jost', 'Noto Sans SC', 'PingFang SC', system-ui, sans-serif;
  /* Long Cang has no full-width punctuation: a ，or ： a couple types falls to the loaded Noto Sans SC
     rather than to a system face. The sample's handwritten lines carry none. */
  --mrd-hand: 'Caveat Brush', 'Long Cang', 'Noto Sans SC', cursive;
  --nci-ink-c: var(--mrd-wine);
}

.nci--married {
  container-type: inline-size;
  overflow-x: clip;
  overflow-y: visible;
  background-color: var(--mrd-paper);
  /* Poster stock: a faint fleck at two periods that never line up, and the edges a shade warmer. */
  background-image:
    radial-gradient(circle, rgba(120, 60, 40, 0.07) 0 0.5px, transparent 0.9px),
    radial-gradient(circle, rgba(146, 25, 43, 0.05) 0 0.5px, transparent 0.9px),
    linear-gradient(90deg, rgba(120, 70, 40, 0.05), transparent 12%, transparent 88%, rgba(120, 70, 40, 0.05));
  background-size: 7px 7px, 11px 13px, 100% 100%;
  background-position: 0 0, 3px 5px, 0 0;
  color: var(--mrd-ink);
  font-family: var(--mrd-body);
  --nci-bg: var(--mrd-paper);
  --nci-soft: var(--mrd-paper-2);
  --nci-slot-line: rgba(146, 25, 43, 0.45);
  --nci-slot-ink: var(--mrd-ink-2);
  --nci-hint: rgba(146, 25, 43, 0.45);
  --nci-sel: var(--mrd-wine);
}

/* One pen. The kit's drawings share one line, but printed at a tenth of the page a sparkle, the camera
   or the car comes out a pale pink next to the fireworks and the shoes. Each drawing is laid three
   times over itself in place, so the anti-aliased edge of every stroke builds back up to the full wine
   without the line getting any wider. */
:is(.nci--married, .nci-cover--married) .nci-ink {
  -webkit-mask: var(--nci-ink) center / contain no-repeat, var(--nci-ink) center / contain no-repeat, var(--nci-ink) center / contain no-repeat;
  mask: var(--nci-ink) center / contain no-repeat, var(--nci-ink) center / contain no-repeat, var(--nci-ink) center / contain no-repeat;
}

.nci--married .nci-section {
  display: flow-root;
  padding: 0;
}

.nci--married .nci-s-cover {
  padding: 0 0 4cqw;
}

.nci--married .nci-s-story {
  padding: 17cqw 0 20cqw;
}

.nci--married .nci-s-gallery {
  padding: 18cqw 0 20cqw;
}

.nci--married .nci-s-schedule,
.nci--married .nci-s-venue,
.nci--married .nci-s-faq,
.nci--married .nci-s-rsvp {
  padding: 0 0 20cqw;
}

.nci--married .nci-s-wishes {
  padding: 0 0 8cqw;
}

/* Every drawn piece on this page is ornament: none of them may take a tap away from a field or a photo. */
.nci--married .mrd-star,
.nci--married .mrd-squig,
.nci--married .mrd-snap-line,
.nci--married .mrd-doodle,
.nci--married .mrd-floor,
.nci-cover--married .mrd-snap-line,
.nci-cover--married .mrd-star {
  pointer-events: none;
}

/* ───── ornament ───── */

:is(.nci--married, .nci-cover--married) .mrd-star {
  display: block;
  flex: none;
  width: 2.6cqw;
  height: 2.6cqw;
  fill: currentColor;
}

:is(.nci--married, .nci-cover--married) .mrd-dot {
  width: 1.8cqw;
  height: 1.8cqw;
  fill: var(--mrd-wine);
}

.nci--married .mrd-squig {
  display: block;
  fill: none;
  stroke: var(--mrd-wine);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ───── section heads ───── */

.nci--married .mrd-head {
  position: relative;
  padding: 0 var(--mrd-g);
  text-align: center;
}

.nci--married .mrd-caps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4cqw;
  font-family: var(--mrd-disp);
  font-size: 2.8cqw;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

/* Tracking hangs off the last letter; the indent puts the same air on the other side of the word. */
.nci--married .mrd-caps-t {
  text-indent: 0.3em;
}

.nci--married .mrd-title {
  margin-top: 3cqw;
  font-family: var(--mrd-disp);
  font-size: 9.6cqw;
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  color: var(--mrd-wine);
  overflow-wrap: anywhere;
}

.nci--married.nci--lang-zh .mrd-title {
  font-size: 8.2cqw;
  line-height: 1.18;
  letter-spacing: 0.05em;
}

.nci--married .mrd-head-squig {
  width: 24cqw;
  margin: 3.6cqw auto 0;
}

/* ───── photographs ─────
   Each picture sits on a wine hairline printed a little off register: the same rectangle, shifted down
   and right, showing along two edges. */

:is(.nci--married, .nci-cover--married) .mrd-snap-line {
  position: absolute;
  inset: 0;
  transform: translate(2.2cqw, 2.2cqw);
  border: var(--mrd-line) solid var(--mrd-wine);
}

.nci--married .mrd-snap {
  position: relative;
}

.nci--married .mrd-snap-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ───── cover ─────
   The flyer's head (kicker, the handwritten word, the car, the headline), the photograph, then the
   names, the date and the place on the paper. The overlay shares every one of these rules. */

:is(.nci--married, .nci-cover--married) .mrd-cv-head {
  position: relative;
  flex: none;
  height: 47cqw;
}

/* Above the handwritten word, whose tall script line box would otherwise take the kicker's taps. */
:is(.nci--married, .nci-cover--married) .mrd-cv-kicker {
  position: absolute;
  z-index: 1;
  top: 7cqw;
  left: var(--mrd-g);
  font-family: var(--mrd-disp);
  font-size: 2.8cqw;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--mrd-wine);
}

:is(.nci--married, .nci-cover--married) .mrd-cv-just {
  position: absolute;
  top: 12.6cqw;
  left: 7cqw;
  font-family: var(--mrd-hand);
  font-size: 16cqw;
  line-height: 1;
  white-space: nowrap;
  color: var(--mrd-wine);
  transform: rotate(-8deg);
  transform-origin: 0 100%;
}

:is(.nci--married.nci--lang-zh, .nci-cover--married.mrd-lang-zh) .mrd-cv-just {
  top: 15cqw;
  font-size: 13cqw;
}

:is(.nci--married, .nci-cover--married) .mrd-cv-car {
  position: absolute;
  top: 1.6cqw;
  right: 2.6cqw;
  width: 46cqw;
}

:is(.nci--married, .nci-cover--married) .mrd-cv-spark {
  position: absolute;
  top: 15cqw;
  left: 35cqw;
  width: 11cqw;
}

/* The headline stands on the paper and only its foot runs onto the photograph — onto the empty wall
   at the top of the frame. A cream edge, built out of text shadows so it stays outside the letter,
   lets the ink hold wherever the foot lands. */
:is(.nci--married, .nci-cover--married) .mrd-cv-big {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: -6.4cqw;
  left: 0;
  padding: 0 3cqw;
  font-family: var(--mrd-disp);
  font-size: 19.4cqw;
  font-weight: 700;
  line-height: 0.8;
  letter-spacing: -0.025em;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  color: var(--mrd-wine);
  text-shadow:
    0.5cqw 0 0 var(--mrd-paper),
    -0.5cqw 0 0 var(--mrd-paper),
    0 0.5cqw 0 var(--mrd-paper),
    0 -0.5cqw 0 var(--mrd-paper),
    0.36cqw 0.36cqw 0 var(--mrd-paper),
    -0.36cqw 0.36cqw 0 var(--mrd-paper),
    0.36cqw -0.36cqw 0 var(--mrd-paper),
    -0.36cqw -0.36cqw 0 var(--mrd-paper);
}

:is(.nci--married.nci--lang-zh, .nci-cover--married.mrd-lang-zh) .mrd-cv-big {
  bottom: -4.6cqw;
  font-size: 18cqw;
  line-height: 1;
  letter-spacing: 0.04em;
  text-indent: 0.04em;
}

:is(.nci--married, .nci-cover--married) .mrd-cv-photo {
  position: relative;
  width: 84cqw;
  margin: 0 auto;
  aspect-ratio: 4 / 5;
}

.nci--married .mrd-cv-img,
.nci-cover--married .mrd-cvo-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* The overlay's frame gives up height on a short screen. It is cropped a little below the top edge the
   page's own frame keeps, so the two of them stay whole while a strip of the empty wall above their
   heads is kept for the headline's foot, however short the frame gets. */
.nci-cover--married .mrd-cvo-photo img {
  display: block;
  object-fit: cover;
  object-position: center 22%;
}

/* The photo's own clip: the sparkles hang over the frame's edge, a zoomed photo never does. */
.nci-cover--married .mrd-cvo-clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

:is(.nci--married, .nci-cover--married) .mrd-cv-spark2 {
  position: absolute;
  z-index: 2;
  bottom: -8cqw;
  left: -6.6cqw;
  width: 13cqw;
}

:is(.nci--married, .nci-cover--married) .mrd-names {
  margin-top: 9.4cqw;
  padding: 0 var(--mrd-g);
  font-family: var(--mrd-disp);
  font-size: 8.4cqw;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.005em;
  text-align: center;
  text-transform: uppercase;
  color: var(--mrd-wine);
  overflow-wrap: anywhere;
}

:is(.nci--married.nci--lang-zh, .nci-cover--married.mrd-lang-zh) .mrd-names {
  font-size: 8.6cqw;
  letter-spacing: 0.08em;
}

:is(.nci--married, .nci-cover--married) .mrd-amp {
  display: inline-block;
  margin: 0 2.2cqw;
  font-family: var(--mrd-hand);
  font-size: 1.12em;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mrd-ink);
  transform: rotate(-8deg);
}

:is(.nci--married, .nci-cover--married) .mrd-when {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.2cqw 2.2cqw;
  margin-top: 3.8cqw;
  padding: 0 var(--mrd-g);
  font-family: var(--mrd-disp);
  font-size: 2.9cqw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mrd-ink);
}

.nci--married .mrd-where {
  margin-top: 1.4cqw;
  padding: 0 var(--mrd-g);
  font-size: 3.4cqw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-lede {
  text-wrap: pretty;
  max-width: 80cqw;
  margin: 7cqw auto 0;
  padding: 0 2cqw;
  font-size: 3.8cqw;
  line-height: 1.7;
  text-align: center;
  color: var(--mrd-ink-2);
}

.nci--married.nci--lang-zh .mrd-lede {
  font-size: 3.6cqw;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* ───── story ───── */

.nci--married .mrd-meet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48cqw;
  align-items: center;
  gap: 3cqw;
  margin: 11cqw var(--mrd-g) 0;
}

.nci--married .mrd-meet-tags {
  display: flex;
  flex-direction: column;
  gap: 8cqw;
  min-width: 0;
}

.nci--married .mrd-meet-ink {
  width: 100%;
}

/* "HELLO my name is": a wine band, the name written in marker, one line under it. */
.nci--married .mrd-tag {
  position: relative;
  overflow: hidden;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 2.6cqw;
  background: var(--mrd-card);
  transform: rotate(-4deg);
  box-shadow: 1.2cqw 1.4cqw 0 -0.2cqw var(--mrd-hair-2);
}

.nci--married .mrd-tag--b {
  margin-left: 2cqw;
  transform: rotate(3.4deg);
}

.nci--married .mrd-tag-hd {
  padding: 1.8cqw 2cqw 1.6cqw;
  background: var(--mrd-wine);
  color: var(--mrd-paper);
  text-align: center;
}

.nci--married .mrd-tag-hd b {
  display: block;
  font-family: var(--mrd-disp);
  font-size: 5.6cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nci--married .mrd-tag-hd span {
  display: block;
  margin-top: 0.8cqw;
  font-family: var(--mrd-disp);
  font-size: max(10px, 2.6cqw);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.nci--married .mrd-tag-name {
  padding: 2.6cqw 2cqw 0;
  font-family: var(--mrd-hand);
  font-size: 8.4cqw;
  line-height: 1.05;
  text-align: center;
  color: var(--mrd-wine);
  overflow-wrap: anywhere;
}

.nci--married .mrd-tag-line {
  padding: 1.6cqw 3cqw 3.4cqw;
  font-size: 2.9cqw;
  line-height: 1.5;
  text-align: center;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-body {
  text-wrap: balance;
  margin: 13cqw auto 0;
  padding: 0 10cqw;
  font-size: 3.9cqw;
  line-height: 1.75;
  text-align: center;
  color: var(--mrd-ink);
}

.nci--married.nci--lang-zh .mrd-body {
  font-size: 3.7cqw;
  line-height: 1.95;
  letter-spacing: 0.03em;
}

.nci--married .mrd-lift {
  position: relative;
  margin: 13cqw 0 0;
}

.nci--married .mrd-snap--lift {
  width: 68cqw;
  margin: 0 9cqw 0 auto;
  aspect-ratio: 4 / 5;
  transform: rotate(2.4deg);
}

.nci--married .mrd-lift-spark {
  position: absolute;
  top: 8cqw;
  left: 5cqw;
  width: 15cqw;
}

.nci--married .mrd-cap {
  text-wrap: balance;
  width: 64cqw;
  margin: 7cqw 9cqw 0 auto;
  font-family: var(--mrd-hand);
  font-size: 5cqw;
  line-height: 1.2;
  text-align: right;
  color: var(--mrd-wine);
  transform: rotate(-2.5deg);
  transform-origin: 100% 50%;
}

/* ───── countdown — the dance floor ─────
   Printed in reverse: cream out of solid wine, the mirror ball hanging from the block's top edge, slow
   light turning behind it. */

.nci--married .nci-s-countdown {
  overflow: hidden;
  padding: 0 0 17cqw;
  background: var(--mrd-night);
  color: var(--mrd-paper);
  --nci-ink-c: var(--mrd-paper);
  --nci-hint: rgba(247, 239, 226, 0.5);
  --nci-sel: var(--mrd-paper);
}

.nci--married .mrd-floor {
  position: absolute;
  top: 36cqw;
  left: 50%;
  width: 230cqw;
  height: 230cqw;
  margin: -115cqw 0 0 -115cqw;
  border-radius: 50%;
  background: repeating-conic-gradient(from 4deg, rgba(247, 239, 226, 0.09) 0deg 4deg, transparent 4deg 15deg);
  -webkit-mask: radial-gradient(closest-side, #000 12%, rgba(0, 0, 0, 0.5) 45%, transparent 100%);
  mask: radial-gradient(closest-side, #000 12%, rgba(0, 0, 0, 0.5) 45%, transparent 100%);
}

.nci--married .mrd-disco {
  position: relative;
  width: 50cqw;
  margin: 0 auto;
  transform-origin: 50% 0;
}

.nci--married .mrd-head--night {
  margin-top: 5cqw;
}

.nci--married .mrd-head--night .mrd-caps,
.nci--married .mrd-head--night .mrd-title {
  color: var(--mrd-paper);
}

.nci--married .mrd-head--night .mrd-squig {
  stroke: var(--mrd-paper);
}

.nci--married .mrd-cd {
  position: relative;
  margin-top: 6cqw;
  text-align: center;
}

.nci--married .mrd-days-n {
  display: block;
  font-family: var(--mrd-disp);
  font-size: 38cqw;
  font-weight: 700;
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

.nci--married .mrd-days-l {
  display: block;
  margin-top: 2.4cqw;
  font-family: var(--mrd-disp);
  font-size: 3cqw;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  text-transform: uppercase;
}

.nci--married .mrd-hms {
  display: flex;
  justify-content: center;
  gap: 3.4cqw;
  margin-top: 8cqw;
}

.nci--married .mrd-hms-c {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 19cqw;
  height: 19cqw;
  border: var(--mrd-line) solid rgba(247, 239, 226, 0.7);
  border-radius: 50%;
}

.nci--married .mrd-hms-n {
  font-family: var(--mrd-disp);
  font-size: 7cqw;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.nci--married .mrd-hms-l {
  margin-top: 0.8cqw;
  font-family: var(--mrd-disp);
  font-size: max(10px, 2.6cqw);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-indent: 0.16em;
  text-transform: uppercase;
}

.nci--married .mrd-cd-done {
  position: relative;
  margin-top: 6cqw;
  font-family: var(--mrd-disp);
  font-size: 12cqw;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.nci--married .mrd-cd-date {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.4cqw 2.4cqw;
  margin-top: 9cqw;
  padding: 0 var(--mrd-g);
  font-size: 3.4cqw;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.nci--married .mrd-cd-date .mrd-dot {
  fill: var(--mrd-paper);
}

.nci--married .mrd-cd-foot {
  text-wrap: balance;
  position: relative;
  margin-top: 5cqw;
  padding: 0 12cqw;
  font-family: var(--mrd-hand);
  font-size: 5cqw;
  line-height: 1.3;
  text-align: center;
}

/* ───── gallery — the photo booth ───── */

.nci--married .mrd-booth {
  display: grid;
  grid-template-columns: 44cqw minmax(0, 1fr);
  align-items: center;
  gap: 6cqw;
  margin: 12cqw var(--mrd-g) 0;
}

.nci--married .mrd-strip {
  display: flex;
  flex-direction: column;
  gap: 2.2cqw;
  min-width: 0;
  padding: 2.8cqw 2.8cqw 0;
  background: var(--mrd-wine);
  transform: rotate(-3.5deg);
  box-shadow: 0 3cqw 5cqw -3cqw rgba(60, 10, 20, 0.5);
  --nci-soft: rgba(247, 239, 226, 0.18);
  --nci-bg: rgba(247, 239, 226, 0.08);
  --nci-slot-line: rgba(247, 239, 226, 0.5);
  --nci-slot-ink: var(--mrd-paper);
  --nci-hint: rgba(247, 239, 226, 0.5);
  --nci-sel: var(--mrd-paper);
}

.nci--married .mrd-strip-img {
  width: 100%;
  aspect-ratio: 5 / 4;
}

.nci--married .mrd-strip-foot {
  text-wrap: balance;
  padding: 2.2cqw 0 3cqw;
  font-family: var(--mrd-disp);
  font-size: max(10px, 2.6cqw);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  color: var(--mrd-paper);
}

.nci--married .mrd-booth-side {
  min-width: 0;
}

.nci--married .mrd-cam {
  position: relative;
}

.nci--married .mrd-cam-ink {
  width: 100%;
  transform: rotate(9deg);
}

.nci--married .mrd-cam-flash {
  position: absolute;
  top: -10cqw;
  right: -4cqw;
  width: 15cqw;
}

.nci--married .mrd-verse {
  margin-top: 13cqw;
  font-family: var(--mrd-hand);
  font-size: 5cqw;
  line-height: 1.28;
  white-space: pre-line;
  color: var(--mrd-wine);
  transform: rotate(-3deg);
}

.nci--married.nci--lang-zh .mrd-verse {
  font-size: 5.6cqw;
  line-height: 1.45;
}

/* ───── schedule — the run-sheet ───── */

.nci--married .mrd-run {
  margin: 9cqw 0 0;
  padding: 0 var(--mrd-g);
  list-style: none;
}

.nci--married .mrd-run-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36cqw;
  align-items: center;
  gap: 4cqw;
  padding: 7cqw 0;
  border-top: 0.3cqw dashed var(--mrd-hair);
}

.nci--married .mrd-run-row:first-child {
  border-top: 0;
}

.nci--married .mrd-run-row.is-flip {
  grid-template-columns: 36cqw minmax(0, 1fr);
}

.nci--married .mrd-run-row.is-flip .mrd-run-art {
  order: -1;
}

.nci--married .mrd-run-row.is-flip .mrd-run-txt {
  text-align: right;
}

.nci--married .mrd-run-txt {
  min-width: 0;
}

.nci--married .mrd-run-n {
  display: block;
  font-family: var(--mrd-disp);
  font-size: 15cqw;
  font-weight: 700;
  line-height: 0.86;
  letter-spacing: -0.03em;
  color: transparent;
  -webkit-text-stroke: 0.36cqw var(--mrd-wine);
}

.nci--married .mrd-run-at {
  margin-top: 3cqw;
  font-family: var(--mrd-disp);
  font-size: 5.6cqw;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: var(--mrd-wine);
}

.nci--married .mrd-run-t {
  margin-top: 1.4cqw;
  font-size: 4.2cqw;
  font-weight: 500;
  line-height: 1.4;
  color: var(--mrd-ink);
}

.nci--married .mrd-run-note {
  margin-top: 2cqw;
  font-family: var(--mrd-hand);
  font-size: 4.4cqw;
  line-height: 1.15;
  color: var(--mrd-wine);
  transform: rotate(-2deg);
  transform-origin: 0 50%;
}

.nci--married .mrd-run-row.is-flip .mrd-run-note {
  transform-origin: 100% 50%;
}

.nci--married .mrd-run-art {
  display: block;
  width: 100%;
  height: auto;
}

.nci--married .mrd-foot {
  margin-top: 6cqw;
  padding: 0 12cqw;
  font-size: 3.5cqw;
  line-height: 1.8;
  text-align: center;
  white-space: pre-line;
  color: var(--mrd-mute);
}

.nci--married .mrd-linkrow {
  margin-top: 7cqw;
  text-align: center;
}

.nci--married .mrd-btn {
  display: inline-block;
  padding: 2.9cqw 5.4cqw;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 999px;
  background: transparent;
  font-family: var(--mrd-disp);
  font-size: 2.9cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--mrd-wine);
}

/* ───── venue — the gig poster ───── */

.nci--married .mrd-live {
  position: relative;
}

.nci--married .mrd-live-fw {
  width: 90cqw;
  margin: 0 auto;
}

.nci--married .mrd-head--live {
  margin-top: -15cqw;
}

/* The caps line and the name sit on the last sparks of the fireworks: the caps on a paper label, the
   name with the same cream edge as the cover's headline. */
.nci--married .mrd-head--live .mrd-caps {
  width: fit-content;
  margin: 0 auto;
  padding: 0.8cqw 3.4cqw;
  background: var(--mrd-paper);
}

.nci--married .mrd-live-name {
  margin-top: 3cqw;
  font-size: 11.6cqw;
  line-height: 0.92;
  text-shadow:
    0.5cqw 0 0 var(--mrd-paper),
    -0.5cqw 0 0 var(--mrd-paper),
    0 0.5cqw 0 var(--mrd-paper),
    0 -0.5cqw 0 var(--mrd-paper),
    0.36cqw 0.36cqw 0 var(--mrd-paper),
    -0.36cqw 0.36cqw 0 var(--mrd-paper),
    0.36cqw -0.36cqw 0 var(--mrd-paper),
    -0.36cqw -0.36cqw 0 var(--mrd-paper);
}

.nci--married.nci--lang-zh .mrd-live-name {
  font-size: 9cqw;
  line-height: 1.15;
}

.nci--married .mrd-live-city {
  margin-top: 3cqw;
  font-family: var(--mrd-disp);
  font-size: 3cqw;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-transform: uppercase;
  color: var(--mrd-ink);
}

.nci--married .mrd-addr {
  margin-top: 2cqw;
  padding: 0 11cqw;
  font-size: 3.4cqw;
  line-height: 1.6;
  text-align: center;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-mapwrap {
  position: relative;
  margin: 8cqw var(--mrd-g) 0;
  overflow: hidden;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 3cqw;
}

/* The map drawn in the same ink: a street grid, one avenue across it, the road and the pin. */
.nci--married .nci-map {
  height: 46cqw;
  background-color: var(--mrd-card);
  background-image:
    linear-gradient(28deg, transparent 46.6%, rgba(146, 25, 43, 0.16) 46.6% 49%, transparent 49%),
    linear-gradient(rgba(146, 25, 43, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(146, 25, 43, 0.1) 1px, transparent 1px);
  background-size: 100% 100%, 8cqw 8cqw, 8cqw 8cqw;
  background-position: 0 0, 3cqw 2cqw, 3cqw 2cqw;
}

.nci--married .nci-map-road {
  top: 62%;
  height: 3cqw;
  border-top: 0.3cqw solid var(--mrd-hair);
  border-bottom: 0.3cqw solid var(--mrd-hair);
  background: var(--mrd-paper);
}

.nci--married .nci-map-pin {
  top: 44%;
  left: 48%;
  width: 5.4cqw;
  height: 5.4cqw;
  background: var(--mrd-wine);
  box-shadow: 0 0 0 1cqw rgba(146, 25, 43, 0.16);
}

.nci--married .mrd-maps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3cqw;
  margin-top: 5cqw;
  padding: 0 var(--mrd-g);
}

.nci--married .mrd-note {
  margin-top: 8cqw;
  padding: 0 9cqw;
  font-family: var(--mrd-hand);
  font-size: 4.8cqw;
  line-height: 1.3;
  text-align: center;
  white-space: pre-line;
  color: var(--mrd-wine);
}

.nci--married.nci--lang-zh .mrd-note {
  font-size: 5cqw;
  line-height: 1.5;
}

.nci--married .mrd-travel {
  margin: 9cqw var(--mrd-g) 0;
}

.nci--married .mrd-travel-row {
  display: grid;
  grid-template-columns: 26cqw minmax(0, 1fr);
  gap: 4cqw;
  padding: 4cqw 0;
  border-top: 0.3cqw dashed var(--mrd-hair);
}

.nci--married .mrd-travel-row:last-child {
  border-bottom: 0.3cqw dashed var(--mrd-hair);
}

.nci--married .mrd-travel-k {
  font-family: var(--mrd-disp);
  font-size: 2.8cqw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

.nci--married .mrd-travel-v {
  font-size: 3.4cqw;
  line-height: 1.6;
  color: var(--mrd-ink-2);
}

/* ───── faq — house rules ───── */

.nci--married .mrd-rules {
  display: grid;
  gap: 5cqw;
  margin: 10cqw var(--mrd-g) 0;
}

.nci--married .mrd-rule {
  position: relative;
  padding: 5cqw 5.4cqw 5.4cqw;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 3cqw;
  background: var(--mrd-card);
  transform: rotate(-0.8deg);
}

.nci--married .mrd-rule:nth-child(even) {
  transform: rotate(0.9deg);
}

.nci--married .mrd-rule-n {
  display: inline-block;
  padding: 1.2cqw 2.8cqw;
  border-radius: 999px;
  background: var(--mrd-wine);
  font-family: var(--mrd-disp);
  font-size: max(10px, 2.6cqw);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mrd-paper);
}

.nci--married .mrd-rule-q {
  margin-top: 3cqw;
  font-family: var(--mrd-disp);
  font-size: 4.6cqw;
  font-weight: 700;
  line-height: 1.25;
  color: var(--mrd-wine);
}

.nci--married .mrd-rule-a {
  margin-top: 1.8cqw;
  font-size: 3.6cqw;
  line-height: 1.65;
  color: var(--mrd-ink-2);
}

/* ───── rsvp — the dance card ───── */

.nci--married .mrd-shoes {
  width: 52cqw;
  margin: 9cqw auto 0;
}

.nci--married .mrd-say {
  text-wrap: pretty;
  margin-top: 6cqw;
  padding: 0 11cqw;
  font-size: 3.7cqw;
  line-height: 1.7;
  text-align: center;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-by {
  margin-top: 3cqw;
  padding: 0 var(--mrd-g);
  font-family: var(--mrd-disp);
  font-size: 2.9cqw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-align: center;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

.nci--married .mrd-card {
  position: relative;
  margin: 8cqw var(--mrd-g) 0;
  padding: 7cqw 6cqw;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 4cqw;
  background: var(--mrd-card);
}

/* The card's second outline, printed off register like the photographs; behind the card, never a target. */
.nci--married .mrd-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: calc(var(--mrd-line) * -1);
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 4cqw;
  transform: translate(2cqw, 2cqw);
  pointer-events: none;
}

.nci--married .mrd-form {
  display: grid;
  gap: 5.4cqw;
}

.nci--married .mrd-fl {
  display: grid;
  gap: 1.6cqw;
  min-width: 0;
}

.nci--married .mrd-fl--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4cqw;
}

.nci--married .mrd-fl-l {
  font-family: var(--mrd-disp);
  font-size: 2.8cqw;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

.nci--married .mrd-in {
  width: 100%;
  min-width: 0;
  padding: 2.4cqw 0.6cqw;
  border: 0;
  border-bottom: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 0;
  outline: none;
  background: transparent;
  font-family: var(--mrd-body);
  font-size: 4cqw;
  line-height: 1.3;
  color: var(--mrd-ink);
}

.nci--married .mrd-in::placeholder {
  color: var(--mrd-mute);
}

.nci--married .mrd-in:focus-visible {
  box-shadow: 0 var(--mrd-line) 0 var(--mrd-wine);
}

.nci--married .mrd-in.is-bad {
  border-bottom-style: dashed;
}

.nci--married .mrd-err {
  font-size: max(12px, 3cqw);
  line-height: 1.4;
  color: var(--mrd-wine);
}

.nci--married .mrd-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3cqw;
}

.nci--married .mrd-choice-b {
  padding: 3.6cqw 2cqw;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 999px;
  background: transparent;
  font-family: var(--mrd-disp);
  font-size: 3.6cqw;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

.nci--married .mrd-choice-b[aria-pressed='true'] {
  background: var(--mrd-wine);
  color: var(--mrd-paper);
}

.nci--married .mrd-step {
  display: inline-flex;
  align-items: center;
  gap: 3cqw;
  font-family: var(--mrd-disp);
  font-size: 5cqw;
  font-weight: 700;
  color: var(--mrd-wine);
}

.nci--married .mrd-step span {
  min-width: 4cqw;
  text-align: center;
}

.nci--married .mrd-step button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9cqw;
  height: 9cqw;
  padding: 0;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 50%;
  background: transparent;
  font-size: 5cqw;
  line-height: 1;
  color: var(--mrd-wine);
}

.nci--married .mrd-step button:disabled {
  opacity: 0.4;
}

.nci--married.nci--preview .mrd-step button:disabled,
.nci--married.nci--edit .mrd-step button:disabled {
  opacity: 1;
}

.nci--married .mrd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2cqw;
}

.nci--married .mrd-tagb {
  padding: 1.8cqw 3.4cqw;
  border: 0.3cqw solid var(--mrd-hair);
  border-radius: 999px;
  background: transparent;
  font-family: var(--mrd-body);
  font-size: 3cqw;
  line-height: 1.2;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-tagb[aria-pressed='true'] {
  border-color: var(--mrd-wine);
  background: var(--mrd-wine);
  color: var(--mrd-paper);
}

.nci--married .mrd-submit {
  margin-top: 2cqw;
  padding: 4.2cqw;
  border: 0;
  border-radius: 999px;
  background: var(--mrd-wine);
  box-shadow: 0 0 0 0.7cqw var(--mrd-card), 0 0 0 1.15cqw var(--mrd-wine);
  font-family: var(--mrd-disp);
  font-size: 4cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mrd-paper);
}

.nci--married :is(.mrd-choice-b, .mrd-step button, .mrd-tagb, .mrd-submit, .mrd-wish-post, .mrd-done-edit):focus-visible {
  outline: 2px solid var(--mrd-ink);
  outline-offset: 3px;
}

.nci--married .mrd-done {
  text-align: center;
}

.nci--married .mrd-done-stars {
  display: flex;
  justify-content: center;
  gap: 2.6cqw;
  color: var(--mrd-wine);
}

.nci--married .mrd-done-stars .mrd-star {
  width: 4.6cqw;
  height: 4.6cqw;
}

.nci--married .mrd-done-stars .mrd-star:nth-child(2) {
  width: 6.4cqw;
  height: 6.4cqw;
  margin-top: -1.4cqw;
}

.nci--married .mrd-done-t {
  margin-top: 4cqw;
  font-family: var(--mrd-disp);
  font-size: 7.6cqw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

.nci--married .mrd-done-b {
  margin-top: 3.4cqw;
  font-size: 3.7cqw;
  line-height: 1.7;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-req {
  margin-left: 0.4em;
  color: var(--mrd-wine);
}

.nci--married .mrd-choice + .mrd-err {
  margin-top: -3.4cqw;
}

.nci--married .mrd-submit[aria-busy='true'],
.nci--married .mrd-wish-post[aria-busy='true'] {
  opacity: 0.7;
  cursor: progress;
}

.nci--married .mrd-done-when {
  margin-top: 2cqw;
  font-size: 2.8cqw;
  color: var(--mrd-mute);
}

.nci--married .mrd-done-edit {
  margin-top: 5cqw;
  padding: 2.9cqw 5.4cqw;
  border: var(--mrd-line) solid var(--mrd-wine);
  border-radius: 999px;
  background: transparent;
  font-family: var(--mrd-disp);
  font-size: 2.9cqw;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

/* ───── wishes — the guestbook, and the close ───── */

.nci--married .mrd-wishform {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3cqw;
  margin: 9cqw var(--mrd-g) 0;
}

.nci--married .mrd-wish-post {
  justify-self: end;
  margin-top: 2cqw;
  padding: 3cqw 4.6cqw;
  border: 0;
  border-radius: 999px;
  background: var(--mrd-wine);
  font-family: var(--mrd-disp);
  font-size: 2.9cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--mrd-paper);
}

.nci--married .mrd-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 5cqw 4cqw;
  margin: 10cqw var(--mrd-g) 0;
}

.nci--married .mrd-note-card {
  min-width: 0;
  padding: 4.2cqw 4cqw 3.6cqw;
  border: 0.3cqw solid var(--mrd-wine);
  border-radius: 1.2cqw;
  background: var(--mrd-card);
  transform: rotate(-1.6deg);
}

.nci--married .mrd-note-card:nth-child(even) {
  margin-top: 5cqw;
  transform: rotate(1.8deg);
}

.nci--married .mrd-note-text {
  font-size: 3.4cqw;
  line-height: 1.55;
  color: var(--mrd-ink);
  overflow-wrap: anywhere;
}

.nci--married .mrd-note-from {
  margin-top: 2.4cqw;
  font-family: var(--mrd-hand);
  font-size: 4.2cqw;
  line-height: 1.1;
  color: var(--mrd-wine);
  overflow-wrap: anywhere;
}

.nci--married .mrd-notes-empty {
  grid-column: 1 / -1;
  font-size: 3.4cqw;
  line-height: 1.6;
  text-align: center;
  color: var(--mrd-mute);
}

.nci--married .mrd-close {
  position: relative;
  margin-top: 20cqw;
  text-align: center;
}

.nci--married .mrd-snap--exit {
  width: 74cqw;
  margin: 0 auto;
  aspect-ratio: 4 / 5;
  transform: rotate(-2deg);
}

.nci--married .mrd-close-spark {
  position: absolute;
  top: -8cqw;
  right: 3cqw;
  width: 18cqw;
}

.nci--married .mrd-close-big {
  margin-top: 13cqw;
  padding: 0 6cqw;
  font-family: var(--mrd-disp);
  font-size: 12.4cqw;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--mrd-wine);
  overflow-wrap: anywhere;
}

.nci--married.nci--lang-zh .mrd-close-big {
  font-size: 15cqw;
  line-height: 1.05;
  letter-spacing: 0.04em;
}

.nci--married .mrd-close-line {
  text-wrap: pretty;
  margin-top: 5cqw;
  padding: 0 12cqw;
  font-size: 3.7cqw;
  line-height: 1.7;
  color: var(--mrd-ink-2);
}

.nci--married .mrd-close-car {
  width: 44cqw;
  margin: 10cqw auto 0;
}

.nci--married .mrd-sign {
  margin-top: 6cqw;
}

.nci--married .mrd-sign-w {
  display: block;
  font-family: var(--mrd-hand);
  font-size: 5.4cqw;
  line-height: 1.1;
  color: var(--mrd-wine);
}

.nci--married .mrd-sign-n {
  display: block;
  margin-top: 1.6cqw;
  font-family: var(--mrd-disp);
  font-size: 3.6cqw;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mrd-wine);
}

/* ───── motion — guests only, never in the editor ───── */

.nci--married.nci--view .mrd-disco {
  animation: mrd-swing 5.6s ease-in-out infinite;
}

.nci--married.nci--view .mrd-floor {
  animation: mrd-spin 48s linear infinite;
}

.nci--married.nci--view :is(.mrd-cv-spark, .mrd-cam-flash, .mrd-close-spark) {
  animation: mrd-twinkle 2.8s ease-in-out infinite;
}

.nci--married.nci--view .mrd-cam-flash {
  animation-delay: -1.1s;
}

@keyframes mrd-swing {
  0%,
  100% {
    transform: rotate(-3deg);
  }
  50% {
    transform: rotate(3deg);
  }
}

@keyframes mrd-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes mrd-twinkle {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.45;
    transform: scale(0.86);
  }
}

/* ───── Guest cover overlay ─────
   The page's first screen, head for head: the flyer's head, the photograph (which gives up height on a
   short screen rather than pushing the names off it), the names, the date and a wine button. */

.nci-cover--married {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: var(--mrd-paper);
  color: var(--mrd-ink);
  font-family: var(--mrd-body);
  text-align: center;
}

.nci-cover--married .mrd-cvo-photo {
  flex: 1 1 105cqw;
  /* Low enough that a two-line pair of names still leaves the button on a 640px phone; the overlay
     only scrolls below this. */
  min-height: 38cqw;
  max-height: 105cqw;
  aspect-ratio: auto;
  background: var(--mrd-paper-2);
}

.nci-cover--married .mrd-cvo-foot {
  flex: none;
  padding-bottom: 7cqw;
}

.nci-cover--married .mrd-cvo-open {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2.6cqw;
  margin-top: 5.4cqw;
  padding: 3.4cqw 7cqw;
  border: 0;
  border-radius: 999px;
  background: var(--mrd-wine);
  box-shadow: 0 0 0 0.7cqw var(--mrd-paper), 0 0 0 1.15cqw var(--mrd-wine);
  font-family: var(--mrd-disp);
  font-size: 3.4cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mrd-paper);
}

.nci-cover--married .mrd-cvo-arrow {
  font-size: 4.4cqw;
  letter-spacing: 0;
  transition: transform 260ms var(--nci-ease);
}

.nci-cover--married .mrd-cvo-open:hover .mrd-cvo-arrow {
  transform: translateX(1cqw);
}

.nci-cover--married .mrd-cvo-open:focus-visible {
  outline: 2px solid var(--mrd-ink);
  outline-offset: 7px;
}

/* Opening: the car pulls away up the flyer, the sparkles go, then the whole sheet lifts. */
.nci-cover--married.mrd-cvo--opening {
  animation: mrd-lift 900ms ease forwards;
}

.nci-cover--married.mrd-cvo--opening .mrd-cv-car {
  animation: mrd-drive 900ms cubic-bezier(0.55, 0, 0.75, 0.3) forwards;
}

@keyframes mrd-drive {
  0% {
    transform: none;
  }
  12% {
    transform: translate(0.5cqw, -0.4cqw) rotate(-1.2deg);
  }
  24% {
    transform: translate(-0.4cqw, 0.2cqw) rotate(0.8deg);
  }
  100% {
    transform: translate(-34cqw, -26cqw) scale(0.3);
    opacity: 0;
  }
}

@keyframes mrd-lift {
  0%,
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nci--married.nci--view :is(.mrd-disco, .mrd-floor, .mrd-cv-spark, .mrd-cam-flash, .mrd-close-spark),
  .nci-cover--married.mrd-cvo--opening,
  .nci-cover--married.mrd-cvo--opening .mrd-cv-car {
    animation: none;
  }

  .nci-cover--married .mrd-cvo-arrow {
    transition: none;
  }
}

/* ───── Floating bar — two round stickers in the foot of the right margin ─────
   Out of the centre, where it would come to rest on the reply card's button and the guestbook's
   field; round, like the stepper and the hours on the dance floor. The studio's music player brings a
   pill of its own from studio.css, which loads after this sheet; here it is one more circle, and its
   button keeps its aria-label, so the caption can go. */

.nci-float--married {
  left: auto;
  right: 12px;
  bottom: 16px;
  justify-content: flex-end;
  gap: 8px;
}

.nci-float--married button,
.nci-float--married .studio-music button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  gap: 0;
  padding: 0;
  border: 1.5px solid var(--mrd-wine);
  border-radius: 50%;
  background: rgba(252, 247, 238, 0.96);
  backdrop-filter: none;
  box-shadow: 0 6px 14px -8px rgba(60, 10, 20, 0.5);
  font: 0 / 1 var(--mrd-disp);
  letter-spacing: 0;
  color: var(--mrd-wine);
}

.nci-float--married .studio-music button span {
  display: none;
}

.nci-float--married .nci-float-dot {
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
}

/* Escaped, so the marks survive however the sheet is decoded: a note for the music, an arrow for share. */
.nci-float--married .nci-float-dot::before,
.nci-float--married .studio-music button::before {
  content: '\266A';
  font-size: 16px;
  line-height: 1;
}

.nci-float--married .nci-float-share::before {
  content: '\2197';
  font-size: 16px;
  line-height: 1;
}

.nci-float--married .nci-float-music[aria-pressed='true'],
.nci-float--married .studio-music button[aria-pressed='true'],
.nci-float--married .nci-float-share {
  background: var(--mrd-wine);
  color: var(--mrd-paper);
}

.nci-float--married button:focus-visible {
  outline: 2px solid var(--mrd-wine);
  outline-offset: 2px;
}
