/* Share cards. Sized in container query units so one template renders as a thumbnail, on the card
   page, and at export width. Everything the browser export needs is in this file plus the brand
   variables the layout inlines. Keep it free of @import and url() so it inlines cleanly. */

.share-card {
  position: relative;
  container-type: inline-size;
  width: 100%;
  overflow: hidden;
  border-radius: 3%;
  background: var(--card-bg, #fff);
  color: var(--card-fg, #1c1f23);
  font-family: var(--brand-body-font, system-ui, sans-serif);
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
}
.is-export .share-card { border-radius: 0; }

.share-card--square    { aspect-ratio: 1 / 1; }
.share-card--portrait  { aspect-ratio: 4 / 5; }
.share-card--story     { aspect-ratio: 9 / 16; }
.share-card--landscape { aspect-ratio: 1200 / 630; }
.share-card--wide      { aspect-ratio: 16 / 9; }
.share-card--header    { aspect-ratio: 3 / 1; }
.share-card--badge     { aspect-ratio: 3 / 1; }
.share-card--linkedin  { aspect-ratio: 1200 / 627; }
.share-card--letter    { aspect-ratio: 2550 / 3300; }

.share-card--theme-brand {
  --card-bg: var(--brand-primary, #188aec);
  --card-fg: #fff;
  --card-accent: var(--brand-accent, #f0bf4a);
  --card-muted: rgba(255, 255, 255, 0.8);
  --card-line: rgba(255, 255, 255, 0.25);
}
.share-card--theme-light {
  --card-bg: #fffdf8;
  --card-fg: var(--brand-text, #1c1f23);
  --card-accent: var(--brand-primary, #188aec);
  --card-muted: rgba(28, 31, 35, 0.62);
  --card-line: rgba(28, 31, 35, 0.12);
}
.share-card--theme-photo {
  --card-bg: #1c1f23;
  --card-fg: #fff;
  --card-accent: var(--brand-accent, #f0bf4a);
  --card-muted: rgba(255, 255, 255, 0.85);
  --card-line: rgba(255, 255, 255, 0.3);
  background-size: cover;
  background-position: center;
}
.share-card--theme-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.82) 100%);
}

.share-card__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 4cqw;
  padding: 7cqw;
}
.share-card--story .share-card__inner { justify-content: center; gap: 8cqw; padding: 9cqw 9cqw 40cqw; }
.share-card--story .share-card__footer { position: absolute; left: 9cqw; right: 9cqw; bottom: 9cqw; }
.share-card--landscape .share-card__inner,
.share-card--wide .share-card__inner,
.share-card--header .share-card__inner,
.share-card--badge .share-card__inner { padding: 4.5cqw 5cqw; gap: 2cqw; }

.share-card__top { display: flex; flex-direction: column; gap: 1.5cqw; flex: 0 1 auto; min-height: 0; overflow: hidden; }
.share-card__footer { flex: 0 0 auto; }

.share-card__eyebrow {
  font-size: 3cqw;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--card-accent);
}
.share-card__headline {
  margin: 1cqw 0;
  font-family: var(--brand-heading-font, inherit);
  font-size: 8.2cqw;
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.share-card__headline--long { font-size: 7cqw; }
.share-card__headline--xl { font-size: 6cqw; }
.share-card--story .share-card__headline { font-size: 10.5cqw; }
.share-card--story .share-card__headline--long { font-size: 9cqw; }
.share-card--story .share-card__headline--xl { font-size: 7.8cqw; }
.share-card__sub {
  margin: 0;
  max-width: 88%;
  font-size: 3.9cqw;
  line-height: 1.38;
  color: var(--card-muted);
}
.share-card--landscape .share-card__eyebrow, .share-card--wide .share-card__eyebrow, .share-card--header .share-card__eyebrow { font-size: 2.2cqw; }
.share-card--landscape .share-card__headline, .share-card--wide .share-card__headline { font-size: 6cqw; }
.share-card--landscape .share-card__headline--long, .share-card--wide .share-card__headline--long { font-size: 5cqw; }
.share-card--landscape .share-card__headline--xl, .share-card--wide .share-card__headline--xl { font-size: 4.3cqw; }
.share-card--header .share-card__headline { font-size: 5cqw; }
.share-card--header .share-card__headline--long { font-size: 4.3cqw; }
.share-card--header .share-card__headline--xl { font-size: 3.8cqw; }
.share-card--landscape .share-card__sub, .share-card--wide .share-card__sub, .share-card--header .share-card__sub { font-size: 2.6cqw; }
.share-card--landscape .share-card__headline--xl + .share-card__sub, .share-card--wide .share-card__headline--xl + .share-card__sub, .share-card--header .share-card__headline--xl + .share-card__sub { font-size: 2.3cqw; }

.share-card__photo {
  width: 26cqw;
  height: 26cqw;
  margin-bottom: 2cqw;
  border-radius: 50%;
  object-fit: cover;
  border: 1cqw solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 2cqw 6cqw rgba(0, 0, 0, 0.18);
}
.share-card--landscape .share-card__photo, .share-card--wide .share-card__photo, .share-card--header .share-card__photo { width: 14cqw; height: 14cqw; }

.share-card__amount {
  margin-top: 1cqw;
  font-size: 13cqw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.share-card__amount-note { font-size: 4.5cqw; font-weight: 600; color: var(--card-muted); }
.share-card__amount--covered { font-size: 9cqw; color: var(--card-accent); }
.share-card--landscape .share-card__amount, .share-card--wide .share-card__amount { font-size: 8cqw; }

.share-card__list {
  margin: 2cqw 0 0;
  padding: 0;
  list-style: none;
  font-size: 3.6cqw;
  line-height: 1.5;
}
.share-card__list-head { font-weight: 700; color: var(--card-accent); text-transform: uppercase; letter-spacing: 0.1em; font-size: 2.8cqw; margin-bottom: 0.5cqw; }
.share-card__list li { display: flex; justify-content: space-between; gap: 3cqw; border-top: 1px solid var(--card-line); padding: 1.2cqw 0; }
.share-card__list li.share-card__list-head { border-top: 0; display: block; }
.share-card__list-amount { font-weight: 700; white-space: nowrap; }

.share-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4cqw;
  padding-top: 3cqw;
  border-top: 1px solid var(--card-line);
}
.share-card__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 0.8cqw; flex: 1 1 auto; min-width: 0; }
.share-card__logo { height: 6.5cqw; width: auto; max-width: 50cqw; object-fit: contain; object-position: left; }
.share-card__logo--chip { box-sizing: content-box; padding: 1cqw 1.6cqw; border-radius: 1.4cqw; background: var(--card-chip, #fff); }
.share-card--theme-light { --card-chip: var(--brand-primary, #188aec); }
.share-card__brand-name { font-size: 4.2cqw; font-weight: 800; }
.share-card__with { font-size: 2.8cqw; color: var(--card-muted); }
.share-card__link { max-width: 100%; font-size: 3.6cqw; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.share-card__image-fallback { font-size: 4.2cqw; font-weight: 800; }
.share-card__qr {
  flex: 0 0 auto;
  width: 22cqw;
  height: 22cqw;
  padding: 1.4cqw;
  border-radius: 2cqw;
  background: #fff;
}
.share-card--landscape .share-card__qr, .share-card--wide .share-card__qr, .share-card--header .share-card__qr { width: 15cqw; height: 15cqw; }
.share-card--landscape .share-card__footer, .share-card--wide .share-card__footer, .share-card--header .share-card__footer { padding-top: 2cqw; }
.share-card--landscape .share-card__logo, .share-card--wide .share-card__logo, .share-card--header .share-card__logo { height: 4.5cqw; }
.share-card--landscape .share-card__link, .share-card--wide .share-card__link, .share-card--header .share-card__link { font-size: 2.6cqw; }
.share-card--landscape .share-card__with, .share-card--wide .share-card__with, .share-card--header .share-card__with { font-size: 2cqw; }

/* Partner kit cards: Jordan's six layouts drawn in the partner's brand. "Brand" surfaces are the primary colour,
   "paper" is the partner's background with a touch of it. Bootstrap does not reach the export, so every margin is set here. */
.share-card--theme-kit { background: transparent; }
.share-card--theme-kit .share-card__inner { display: block; padding: 0; }

.kc {
  --kc-ink: var(--brand-text, #1c1f23);
  --kc-paper: color-mix(in srgb, var(--brand-primary, #188aec) 6%, var(--brand-background, #fff));
  --kc-brand: var(--brand-primary, #188aec);
  --kc-on-brand: var(--brand-on-primary, #fff);
  --kc-mark: var(--brand-primary-ink, #188aec);
  --kc-spark: var(--brand-accent-ink, #b88a12);
  --kc-muted: var(--brand-muted, #5d6670);
  --kc-head: var(--brand-heading-font, system-ui, sans-serif);
  --kc-body: var(--brand-body-font, system-ui, sans-serif);
  --kc-italic: var(--brand-quote-font, Georgia, serif);
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 7.5cqw;
  background: var(--kc-paper);
  color: var(--kc-ink);
  font-family: var(--kc-body);
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}
.kc p, .kc h1, .kc ol { margin: 0; }
.kc b { font-weight: 700; }
.kc em { font-family: var(--kc-italic); font-style: italic; font-weight: 400; letter-spacing: 0; }
.kc-on-brand { background: var(--kc-brand); color: var(--kc-on-brand); --kc-mark: var(--kc-on-brand); --kc-spark: var(--kc-on-brand); --kc-muted: var(--kc-on-brand); }

.kc-lockup { display: flex; align-items: center; gap: 1.6cqw; min-width: 0; font-family: var(--kc-head); font-size: 3.4cqw; line-height: 1; white-space: nowrap; }
.kc-lockup__logo { display: block; flex: 0 1 auto; width: auto; height: 6cqw; max-width: 38cqw; object-fit: contain; object-position: left center; }
.kc-lockup__logo--chip { box-sizing: content-box; padding: 0.9cqw 1.4cqw; border-radius: 1.2cqw; background: var(--brand-text, #1c1f23); }
.kc-lockup--on-dark .kc-lockup__logo--chip { background: #fff; }
.kc-lockup__name { font-weight: 700; }
.kc-lockup__plus { opacity: 0.55; }
.kc-lockup__sn { display: block; flex: none; width: auto; height: 2.7cqw; }

.kc-eyebrow { font-size: 2.2cqw; font-weight: 700; letter-spacing: 0.06em; line-height: 1.2; text-transform: uppercase; color: var(--kc-mark); }
.kc-headline { font-family: var(--kc-head); font-size: 10.6cqw; font-weight: 700; line-height: 1.06; letter-spacing: -0.03em; }
.kc-text { font-size: 3.6cqw; line-height: 1.4; max-width: 80cqw; }
.kc-note { font-size: 1.95cqw; font-weight: 700; letter-spacing: 0.05em; line-height: 1.5; text-transform: uppercase; color: var(--kc-muted); }
.kc-quote { font-family: var(--kc-italic); font-style: italic; }

.kc-cta { display: flex; align-items: center; gap: 2.4cqw; }
.kc-pill { display: inline-flex; align-items: center; padding: 2.3cqw 4.2cqw; border-radius: var(--brand-radius, 999px); background: var(--kc-brand); color: var(--kc-on-brand); font-size: 2.2cqw; font-weight: 700; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.kc-pill--light { background: var(--brand-background, #fff); color: var(--kc-ink); }
.kc-cta__aside { font-size: 1.95cqw; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--kc-muted); }
.kc-cta__note { font-size: 2.6cqw; }


.kc-heart { position: absolute; color: var(--kc-mark); }
.kc-sparkle { position: absolute; color: var(--kc-spark); }

.kc-circled { position: relative; display: inline-block; margin: 0 0.14em; }
.kc-circled svg { position: absolute; left: -0.2em; top: 0.04em; width: calc(100% + 0.4em); height: 1.04em; color: var(--kc-mark); overflow: visible; }

.kc-tags { display: flex; flex-wrap: wrap; gap: 2.2cqw 1.8cqw; max-width: 82cqw; }
.kc-tag { display: inline-flex; align-items: center; gap: 1.5cqw; padding: 1.7cqw 2.8cqw; border: 0.35cqw solid var(--kc-ink); border-radius: 1cqw; background: var(--brand-background, #fff); color: var(--kc-ink); font-size: 3.3cqw; font-weight: 600; line-height: 1.1; }
.kc-tag__ring { flex: none; width: 1.5cqw; height: 1.5cqw; border: 0.3cqw solid var(--kc-ink); border-radius: 50%; }
.kc-tag--0 { transform: rotate(-2deg); }
.kc-tag--1 { background: color-mix(in srgb, var(--brand-primary, #188aec) 16%, var(--brand-background, #fff)); transform: rotate(1.2deg); }
.kc-tag--2 { background: color-mix(in srgb, var(--brand-secondary, #0f5fa8) 22%, var(--brand-background, #fff)); transform: rotate(1.6deg); }
.kc-tag--3 { background: color-mix(in srgb, var(--brand-accent, #f0bf4a) 28%, var(--brand-background, #fff)); transform: rotate(-1.4deg); }

/* Instagram / Facebook post, 1080 x 1350 */
.kc-post .kc-body { display: flex; flex-direction: column; align-items: flex-start; margin: auto 0; padding-bottom: 4cqw; }
.kc-post .kc-eyebrow { margin-bottom: 3.6cqw; }
.kc-post .kc-headline { margin-bottom: 5cqw; }
.kc-post .kc-text { margin-bottom: 2.6cqw; }
.kc-post .kc-note { margin-bottom: 5.5cqw; }
.kc-post__sparkle { left: 68cqw; top: 19cqw; width: 5.4cqw; }
.kc-post__heart { left: 75cqw; top: 22.5cqw; width: 13.5cqw; transform: rotate(-10deg); }

/* Wish tags post, 1080 x 1350 */
.kc-wishtags { background: linear-gradient(180deg, var(--kc-paper) 0%, color-mix(in srgb, var(--brand-primary, #188aec) 18%, var(--brand-background, #fff)) 100%); }
.kc-wishtags .kc-body { margin-top: 11cqw; }
.kc-wishtags .kc-headline { margin-bottom: 4.5cqw; font-size: 9.2cqw; }
.kc-wishtags .kc-text { max-width: 74cqw; margin-bottom: 5.5cqw; font-size: 3.5cqw; }
.kc-wishtags__heart { left: 80cqw; top: 13.5cqw; width: 10.5cqw; transform: rotate(-6deg); }
.kc-wishtags__cta { margin-top: auto; }

/* Story, 1080 x 1920 */
.kc-story { padding: 0 8cqw; }
.kc-story .kc-lockup { margin-top: 27cqw; font-size: 3.7cqw; }
.kc-story .kc-body { margin-top: 11cqw; }
.kc-story .kc-quote { margin-bottom: 5cqw; font-size: 9.6cqw; line-height: 1; opacity: 0.85; }
.kc-story .kc-headline { position: relative; margin-bottom: 7cqw; font-size: 10.4cqw; text-wrap: balance; }
.kc-squiggle { position: absolute; right: 4cqw; bottom: -3.2cqw; width: 19cqw; }
.kc-story .kc-text { max-width: 82cqw; margin-bottom: 5.5cqw; font-size: 3.85cqw; }
.kc-story .kc-note { max-width: 80cqw; font-size: 2.2cqw; }
.kc-story__end { display: flex; flex-direction: column; align-items: center; gap: 1cqw; margin: auto 0 24cqw; padding-top: 4cqw; }
.kc-arrow { width: 8cqw; height: 18cqw; }
.kc-story .kc-pill { padding: 2.8cqw 5cqw; font-size: 2.6cqw; }

/* LinkedIn image, 1200 x 627 */
.kc-linkedin { flex-direction: row; padding: 0; }
.kc-linkedin__side { position: relative; display: flex; align-items: center; justify-content: center; width: 32.6cqw; }
.kc-linkedin__heart { position: static; width: 16cqw; margin-top: -4cqw; transform: rotate(-4deg); }
.kc-linkedin__year { position: absolute; left: 3.5cqw; bottom: 4.5cqw; font-size: 1.6cqw; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.kc-linkedin__main { flex: 1 1 auto; min-width: 0; padding: 6cqw 5cqw; }
.kc-linkedin .kc-lockup { margin-bottom: 4.8cqw; font-size: 2.4cqw; }
.kc-linkedin .kc-lockup__logo { height: 4.4cqw; max-width: 26cqw; }
.kc-linkedin .kc-lockup__sn { height: 1.9cqw; }
.kc-linkedin .kc-headline { margin-bottom: 2.4cqw; font-size: 4.4cqw; line-height: 1.04; }
.kc-linkedin .kc-text { max-width: 56cqw; font-size: 2.05cqw; line-height: 1.4; }

/* Email header, 1200 x 400 */
.kc-email { justify-content: center; padding: 0 6.5cqw; }
.kc-email .kc-lockup { margin-bottom: 3cqw; font-size: 2.1cqw; }
.kc-email .kc-lockup__logo { height: 3.6cqw; max-width: 22cqw; }
.kc-email .kc-lockup__sn { height: 1.7cqw; }
.kc-email .kc-headline { margin-bottom: 2cqw; font-size: 5.6cqw; }
.kc-email .kc-note { font-size: 1.45cqw; }
.kc-email__heart { right: 9cqw; top: 9cqw; width: 11cqw; transform: rotate(-6deg); }
.kc-email__sparkle { right: 24cqw; top: 3.5cqw; width: 4cqw; }

/* Printable flyer, 8.5 x 11 in */
.kc-flyer { padding: 0; }
.kc-flyer__top { position: relative; flex: none; min-height: 46cqw; padding: 7.4cqw 8cqw 4.2cqw; }
.kc-flyer .kc-lockup { font-size: 3.3cqw; }
.kc-flyer .kc-eyebrow { margin: 6cqw 0 2cqw; font-size: 2.1cqw; }
.kc-flyer .kc-headline { max-width: 64cqw; font-size: 7.8cqw; line-height: 1.04; }
.kc-flyer__sparkle { left: 73cqw; top: 31cqw; width: 4.4cqw; }
.kc-flyer__heart { left: 79cqw; top: 12cqw; width: 15.5cqw; transform: rotate(-6deg); }
.kc-flyer__bottom { display: flex; flex: 1 1 auto; flex-direction: column; padding: 4.5cqw 8cqw 4.5cqw; }
.kc-flyer__how { display: flex; justify-content: space-between; gap: 5cqw; }
.kc-steps { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2.6cqw; padding: 0; list-style: none; counter-reset: kc-step; }
.kc-steps li { position: relative; display: flex; flex-direction: column; gap: 0.8cqw; padding-left: 8.5cqw; counter-increment: kc-step; }
.kc-steps li::before { content: counter(kc-step); position: absolute; left: 0; top: -0.6cqw; display: flex; align-items: center; justify-content: center; width: 5.6cqw; height: 5.6cqw; border-radius: 50%; background: var(--kc-brand); color: var(--kc-on-brand); font-size: 2.5cqw; font-weight: 700; }
.kc-steps b { font-family: var(--kc-head); font-size: 3.3cqw; line-height: 1.1; }
.kc-steps span { font-size: 2.2cqw; line-height: 1.35; }
.kc-flyer__scan { flex: none; width: 25cqw; text-align: center; }
.kc-flyer__qr { padding: 1.6cqw; border: 0.4cqw solid var(--kc-ink); border-radius: 1.6cqw; background: #fff; }
.kc-flyer__qr img { display: block; width: 100%; height: auto; }
.kc-flyer__scan-label { margin-top: 2.4cqw; font-size: 1.7cqw; font-weight: 700; letter-spacing: 0.05em; line-height: 1.35; text-transform: uppercase; }
.kc-flyer__url { margin-top: 1.2cqw; font-size: 1.6cqw; color: var(--kc-muted); overflow-wrap: break-word; }
.kc-flyer .kc-tags { max-width: none; margin-top: 3cqw; gap: 1.4cqw 1.2cqw; }
.kc-flyer .kc-tag { gap: 1cqw; padding: 1.1cqw 1.8cqw; font-size: 2.3cqw; border-width: 0.3cqw; }
.kc-flyer .kc-tag__ring { width: 1.1cqw; height: 1.1cqw; border-width: 0.25cqw; }
.kc-flyer__note { margin-top: auto; padding-top: 2.5cqw; font-size: 1.8cqw; }

/* A partner's card for a family: the photo fills the top, with the words and wishlist items laid over its foot.
   A wave, tilted tags and a tilted QR keep it from reading as a form. */
.share-card--theme-feature { background: #fff; color: var(--brand-text, #1c1f23); }
.share-card--theme-feature .share-card__inner { display: block; padding: 0; }
.fc { --fc-band: color-mix(in srgb, var(--brand-primary, #188aec) 10%, #fff); position: absolute; inset: 0; display: flex; flex-direction: column; background: var(--fc-band); }
.fc__photo { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; background: #e9ebee; }
.fc__photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.fc__photo::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 45%, rgba(0, 0, 0, 0.78) 100%); }
.fc__wave { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 2; display: block; width: 100%; height: 9cqw; color: var(--fc-band); }
.fc__overlay { position: absolute; left: 6cqw; right: 6cqw; bottom: 9.5cqw; z-index: 3; color: #fff; }
.fc__eyebrow { display: inline-block; padding: 1cqw 2.6cqw; border-radius: 99cqw; background: var(--brand-primary, #188aec); color: var(--brand-on-primary, #fff); font-size: 2.5cqw; font-weight: 700; letter-spacing: 0.04em; transform: rotate(-2deg); transform-origin: left center; }
.fc .share-card__headline { margin: 1.8cqw 0 2.2cqw; color: #fff; font-size: 8cqw; line-height: 1.02; letter-spacing: -0.02em; text-shadow: 0 0.4cqw 2.4cqw rgba(0, 0, 0, 0.35); }
.fc .share-card__headline--long { font-size: 6.8cqw; }
.fc .share-card__headline--xl { font-size: 5.6cqw; }
.fc__tags { display: flex; flex-wrap: wrap; gap: 1.6cqw 1.4cqw; }
.fc__tag { display: inline-flex; gap: 1.2cqw; max-width: 100%; padding: 1.3cqw 2.6cqw; border-radius: 99cqw; background: #fff; color: var(--brand-text, #1c1f23); font-size: 2.9cqw; font-weight: 600; white-space: nowrap; box-shadow: 0 0.6cqw 2cqw rgba(0, 0, 0, 0.25); }
.fc__tag b { color: var(--brand-primary-ink, var(--brand-primary, #188aec)); font-weight: 800; }
.fc__tag:nth-child(3n + 1) { transform: rotate(-1.6deg); }
.fc__tag:nth-child(3n + 2) { transform: rotate(1.2deg); }
.fc__tag:nth-child(3n) { transform: rotate(-0.8deg); }
.fc__heart { position: absolute; right: 6cqw; bottom: 23cqw; z-index: 3; width: 10cqw; color: #fff; transform: rotate(10deg); filter: drop-shadow(0 0.5cqw 1.4cqw rgba(0, 0, 0, 0.3)); }
.fc__sparkle { position: absolute; right: 16.5cqw; bottom: 30cqw; z-index: 3; width: 4cqw; color: #fff; filter: drop-shadow(0 0.5cqw 1.4cqw rgba(0, 0, 0, 0.3)); }
.fc__foot { position: relative; z-index: 4; flex: none; margin-top: -1px; background: var(--fc-band); display: flex; align-items: center; justify-content: space-between; gap: 3cqw; min-height: 15cqw; padding: 0.5cqw 5.5cqw 3.4cqw; }
.fc__brands { display: flex; align-items: center; gap: 1.8cqw; min-width: 0; }
.fc__partner { display: block; flex: 0 1 auto; width: auto; height: 7cqw; max-width: 34cqw; object-fit: contain; object-position: left center; }
.fc__partner--chip { box-sizing: content-box; padding: 0.9cqw 1.4cqw; border-radius: 1.2cqw; background: var(--brand-text, #1c1f23); }
.fc__partner-name { font-family: var(--brand-heading-font, inherit); font-size: 4.2cqw; font-weight: 700; }
.fc__plus { font-size: 3.2cqw; opacity: 0.5; }
.fc__sn { display: block; flex: none; width: auto; height: 2.9cqw; }
.fc__scan { position: absolute; right: 5cqw; bottom: 3cqw; display: flex; flex-direction: column; align-items: center; gap: 0.6cqw; padding: 1.2cqw 1.2cqw 1cqw; border-radius: 2.6cqw; background: #fff; box-shadow: 0 1cqw 3.4cqw rgba(0, 0, 0, 0.28); transform: rotate(3deg); }
.fc__qr { display: block; width: 17cqw; height: 17cqw; }
.fc__scan-label { font-family: var(--brand-quote-font, Georgia, serif); font-size: 2.5cqw; font-style: italic; line-height: 1; color: var(--brand-text, #1c1f23); }
.fc__overlay { padding-right: 18cqw; }

.share-card--square .fc__tag:nth-child(n + 3) { display: none; }
.share-card--square .fc__photo::after { inset: 50% 0 0; }
.share-card--square .fc__overlay { bottom: 6cqw; padding-right: 0; }
.share-card--square .fc__eyebrow { font-size: 2.2cqw; }
.share-card--square .fc .share-card__headline { margin: 1.2cqw 0 1.6cqw; font-size: 6.2cqw; }
.share-card--square .fc .share-card__headline--long { font-size: 5.4cqw; }
.share-card--square .fc .share-card__headline--xl { font-size: 4.6cqw; }
.share-card--square .fc__tags { flex-wrap: nowrap; padding-right: 15cqw; }
.share-card--square .fc__tag { font-size: 2.3cqw; padding: 1cqw 2cqw; }
.share-card--square .fc__foot { min-height: 13cqw; }
.share-card--square .fc__scan { padding: 1cqw; }
.share-card--square .fc__qr { width: 14cqw; height: 14cqw; }
.share-card--square .fc__scan-label { font-size: 2.1cqw; }
.share-card--square .fc__heart { bottom: 21cqw; width: 8cqw; }
.share-card--square .fc__sparkle { bottom: 27cqw; right: 14.5cqw; width: 3.2cqw; }

/* Instagram and TikTok cover the top and bottom of a story, so the words and logos sit inside the safe zone. */
.share-card--story .fc__heart { bottom: 62cqw; width: 12cqw; }
.share-card--story .fc__sparkle { bottom: 72cqw; right: 19cqw; width: 5cqw; }
.share-card--story .fc__foot { min-height: 18cqw; padding-bottom: 16cqw; }
.share-card--story .fc__partner { height: 8cqw; max-width: 30cqw; }
.share-card--story .fc__sn { height: 2.9cqw; }
.share-card--story .fc__scan { bottom: 15cqw; }
.share-card--story .fc__qr { width: 21cqw; height: 21cqw; }
.share-card--story .fc__overlay { padding-right: 0; bottom: 15cqw; }
.share-card--story .fc__eyebrow { font-size: 3cqw; }
.share-card--story .fc .share-card__headline { font-size: 10cqw; }
.share-card--story .fc .share-card__headline--long { font-size: 8.6cqw; }
.share-card--story .fc .share-card__headline--xl { font-size: 7cqw; }
.share-card--story .fc__tag { font-size: 3.4cqw; }

/* Wide sizes keep the same stack with everything scaled to the card's short side. */
.share-card--landscape .fc__wave, .share-card--wide .fc__wave, .share-card--linkedin .fc__wave { height: 5cqw; }
.share-card--landscape .fc__overlay, .share-card--wide .fc__overlay { left: 3.5cqw; right: 22cqw; bottom: 5.5cqw; padding-right: 0; }
.share-card--landscape .fc__eyebrow, .share-card--wide .fc__eyebrow { font-size: 1.5cqw; }
.share-card--landscape .fc .share-card__headline, .share-card--wide .fc .share-card__headline { margin: 1cqw 0 1.2cqw; font-size: 4.6cqw; }
.share-card--landscape .fc .share-card__headline--long, .share-card--wide .fc .share-card__headline--long { font-size: 4cqw; }
.share-card--landscape .fc .share-card__headline--xl, .share-card--wide .fc .share-card__headline--xl { font-size: 3.4cqw; }
.share-card--landscape .fc__tag, .share-card--wide .fc__tag { padding: 0.7cqw 1.5cqw; font-size: 1.6cqw; }
.share-card--landscape .fc__foot, .share-card--wide .fc__foot { min-height: 7cqw; padding: 0 3.5cqw 1.6cqw; }
.share-card--landscape .fc__partner, .share-card--wide .fc__partner { height: 3.8cqw; max-width: 20cqw; }
.share-card--landscape .fc__sn, .share-card--wide .fc__sn { height: 1.7cqw; }
.share-card--landscape .fc__plus, .share-card--wide .fc__plus { font-size: 1.8cqw; }
.share-card--landscape .fc__scan, .share-card--wide .fc__scan { right: 3cqw; bottom: 1.8cqw; padding: 0.8cqw 0.8cqw 0.7cqw; border-radius: 1.6cqw; }
.share-card--landscape .fc__qr, .share-card--wide .fc__qr { width: 12cqw; height: 12cqw; }
.share-card--landscape .fc__scan-label, .share-card--wide .fc__scan-label { font-size: 1.6cqw; }
.share-card--landscape .fc__heart, .share-card--wide .fc__heart { bottom: 12cqw; right: 3.5cqw; width: 5cqw; }
.share-card--landscape .fc__sparkle, .share-card--wide .fc__sparkle { bottom: 16cqw; right: 9.5cqw; width: 2.2cqw; }

.share-card--header .fc__wave { height: 3cqw; }
.share-card--header .fc__heart, .share-card--header .fc__sparkle, .share-card--header .fc__tags, .share-card--header .fc__scan-label { display: none; }
.share-card--header .fc__overlay { left: 3cqw; right: 16cqw; bottom: 3cqw; padding-right: 0; }
.share-card--header .fc__eyebrow { font-size: 1.2cqw; }
.share-card--header .fc .share-card__headline { margin: 0.6cqw 0 0; font-size: 3.4cqw; }
.share-card--header .fc .share-card__headline--long { font-size: 3cqw; }
.share-card--header .fc .share-card__headline--xl { font-size: 2.5cqw; }
.share-card--header .fc__foot { min-height: 5cqw; padding: 0 3cqw 0.8cqw; }
.share-card--header .fc__partner { height: 2.8cqw; max-width: 16cqw; }
.share-card--header .fc__sn { height: 1.3cqw; }
.share-card--header .fc__plus { font-size: 1.4cqw; }
.share-card--header .fc__scan { right: 2.4cqw; bottom: 1cqw; padding: 0.6cqw; border-radius: 1.2cqw; }
.share-card--header .fc__qr { width: 10cqw; height: 10cqw; }
