._panel_1yk5j_1 {
  border: 1px solid #e5e7eb;
  border-radius: 40px;
  background: #fff;
  margin: 24px 0 0;
  padding: 20px 24px;
  overflow: hidden;
}

/* Section headings share the lime pill chrome of "BEST CODE RIGHT NOW" /
   "Try this next" (Nick 2026-07-22). Real heading text stays in the markup —
   the uppercase is cosmetic. */
._title_1yk5j_13 {
  display: inline-flex;
  width: fit-content;
  background: #b7ff00;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
  margin: 0 0 12px;
}

._subtitle_1yk5j_28 {
  font-size: 13px;
  font-weight: 500;
  color: #6b7380;
  margin: 0 0 8px;
}

/* ── Below-the-gate text states (stage 7) ────────── */

._stateLead_1yk5j_37 {
  font-size: 16px;
  font-weight: 700;
  color: #0f1114;
  margin: 8px 0 6px;
}

._stateFact_1yk5j_44 {
  font-size: 14px;
  font-weight: 500;
  color: #333840;
  line-height: 1.6;
  margin: 0 0 4px;
  max-width: 620px;
}

._chartWrap_1yk5j_53 {
  margin-bottom: 8px;
}

._divider_1yk5j_57 {
  height: 1px;
  background: #e8ebf0;
  margin: 0 0 20px;
}

/* ── KPI row ─────────────────────────────────────── */

._kpiRow_1yk5j_65 {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0px;
}

._kpi_1yk5j_65 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
  padding-right: 24px;
}

._kpiSep_1yk5j_80 {
  width: 1px;
  height: 44px;
  background: #e8ebf0;
  flex-shrink: 0;
  margin-right: 24px;
}

._kpiLabel_1yk5j_88 {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: #8c949e;
  text-transform: uppercase;
}

._kpiValue_1yk5j_96 {
  font-size: 16px;
  font-weight: 700;
  color: #0f1114;
}

/* ── Legend ──────────────────────────────────────── */

._legendRow_1yk5j_104 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

._legendItems_1yk5j_111 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 16px;
  row-gap: 6px;
}

/* One swatch+label pair — never breaks internally; the row wraps between
   pairs (2×2 on narrow screens). */
._legendItem_1yk5j_111 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

._swatch_1yk5j_128 {
  display: inline-block;
  width: 14px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}

._legendText_1yk5j_136 {
  font-size: 11px;
  font-weight: 500;
  color: #6b7380;
}

/* ── Responsive ─────────────────────────────────── */

@media (max-width: 900px) {
  ._panel_1yk5j_1 {
    padding: 32px 28px;
  }

  ._kpiRow_1yk5j_65 {
    flex-wrap: wrap;
    gap: 16px;
  }

  ._kpiSep_1yk5j_80 {
    display: none;
  }

  ._kpi_1yk5j_65 {
    flex: 0 0 calc(50% - 8px);
    padding-right: 0;
  }
}

@media (max-width: 640px) {
  ._panel_1yk5j_1 {
    padding: 24px 20px;
    border-radius: 24px;
  }

  ._kpi_1yk5j_65 {
    flex: 0 0 100%;
  }

  ._legendRow_1yk5j_104 {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
._wrap_1nc8e_1 {
  position: relative;
  width: 100%;
  overflow: visible;
}

._svg_1nc8e_7 {
  display: block;
}

/* Hover tooltip — stage-4 design: small boxed-grid micro-table, value-first.
   Label left / value right; the hovered week's Performance leads. Positioned
   absolutely inside the chart wrap and clamped to it (solid-ux-tidy
   2026-07-22) — it can never hang outside the container. */
._tip_1nc8e_15 {
  position: absolute;
  pointer-events: none;
  z-index: 20;
  /* Mount-only fade: while sliding across bars the element stays mounted
     (only position/content update), so this plays once on appear and never
     replays mid-slide. Hide stays instant so it can't trail the pointer. */
  animation: _tipIn_1nc8e_1 0.1s ease-out;
  background: #fff;
  border: 1px solid #e7e9ee;
  border-radius: 11px;
  box-shadow: 0 5px 20px rgba(15, 17, 20, 0.1);
  max-width: 260px;
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}

._tt_1nc8e_32 {
  font-size: 11px;
  line-height: 1.3;
  color: #333840;
}

._ttWk_1nc8e_38 {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #9aa1aa;
  padding: 5px 10px 2px;
}

._ttRow_1nc8e_47 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 3px 10px;
  border-bottom: 1px solid #eef0f3;
}

._ttRow_1nc8e_47:last-child {
  border-bottom: none;
}

._ttHead_1nc8e_59 {
  background: #f6f7f9;
}

._ttHead_1nc8e_59 ._ttL_1nc8e_63 {
  font-weight: 700;
  color: #333840;
}

._ttHead_1nc8e_59 ._ttV_1nc8e_68 {
  font-size: 12px;
}

._ttL_1nc8e_63 {
  color: #6b7380;
  font-weight: 500;
}

._ttV_1nc8e_68 {
  color: #0f1114;
  font-weight: 700;
}

/* The bottom "✓ Worked at X checkouts" line — green, full-width statement. */
._ttWork_1nc8e_83 {
  color: #0f9a4c;
  font-weight: 700;
}

@keyframes _tipIn_1nc8e_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  ._tip_1nc8e_15 { animation: none; }
}
._burst_1k98d_1 {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
}

._bit_1k98d_10 {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 2px;
  opacity: 0;
  animation: _fling_1k98d_1 700ms ease-out forwards;
}

@keyframes _fling_1k98d_1 {
  0% {
    opacity: 1;
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translate(var(--cx), var(--cy)) scale(0.5) rotate(200deg);
  }
}
._row_1106b_1 {
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 14px 24px;
  transition: background 0.1s;
}

._row_1106b_1:hover {
  background: #fafafa;
}

/* Text for screen readers only — carries what a visual-only cue conveys
   (e.g. that a shown code is truncated). Never a claim the page doesn't
   also make visibly. */
._srOnly_1106b_16 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Wraps a row + its expandable performance chart; transparent so the row list
   reads exactly as before when collapsed. */
._rowWrap_1106b_30 {
  display: block;
}

/* The dashed separator sits at the BOTTOM of the expanded block (Sharif,
   ruled 2026-07-22) so the chart reads as attached to its own row, not the
   row below it. */
._expand_1106b_37 {
  padding: 4px 24px 20px;
  background: #fcfcfd;
  border-bottom: 1px dashed #e8ebf0;
  animation: _copiedIn_1106b_1 0.28s ease-out;
}

._expandTitle_1106b_44 {
  font-size: 12px;
  font-weight: 700;
  color: #0f1114;
  padding: 12px 0 4px;
}

/* Simple shimmer skeleton while the code's full series is fetched on expand.
   Sized by the strip chart's own aspect ratio so the swap can't shift layout. */
._chartPlaceholder_1106b_53 {
  aspect-ratio: 960 / 150;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 500;
  border-radius: 12px;
  background: linear-gradient(90deg, #f6f7f9 25%, #eef0f3 37%, #f6f7f9 63%);
  background-size: 400% 100%;
  animation: _chartShimmer_1106b_1 1.2s ease-in-out infinite;
}

@keyframes _chartShimmer_1106b_1 {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

/* (Reduced-motion for all flow animations lives in ONE block at the end of
   this file — it must come after every animated rule to win the cascade.) */
@media (prefers-reduced-motion: reduce) {
  ._chartPlaceholder_1106b_53 { animation: none; }
}

._chartMsg_1106b_78 {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 12.5px;
  font-weight: 500;
}

/* ── Discount ───────────────────────────────────── */

._discountCol_1106b_90 {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
  overflow: hidden;
}

/* May carry a full description when no value parsed — truncate, never wrap. */
._dealValue_1106b_101 {
  font-size: 18px;
  font-weight: 700;
  color: #0f1114;
  letter-spacing: -0.3px;
  flex-shrink: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Source ─────────────────────────────────────── */

._sourceCol_1106b_115 {
  width: 180px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

._sourceName_1106b_123 {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  white-space: nowrap;
}

/* ── Last Verified ──────────────────────────────── */

._lastVerifiedCol_1106b_132 {
  width: 150px;
  flex-shrink: 0;
}

._verifiedText_1106b_137 {
  font-size: 12px;
  font-weight: 500;
  color: #8ebb1c;
  white-space: nowrap;
}

/* ── Votes ──────────────────────────────────────── */

._votesCol_1106b_146 {
  width: 150px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}

/* ── Performance micro-chart button (ADR 2026-07-20) ── */
._perfBtn_1106b_157 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 4px 8px;
  cursor: pointer;
  font-family: inherit;
}

._perfBtn_1106b_157:hover {
  border-color: #d4d7dc;
  background: #fcfcfd;
}

._perfPct_1106b_174 {
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

._perfState_1106b_180 {
  font-size: 12px;
  font-weight: 600;
  color: #8c949e;
}

._chevron_1106b_186 {
  flex-shrink: 0;
  transition: transform 0.2s;
}

._chevronUp_1106b_191 {
  transform: rotate(180deg);
}

/* Success-column quiet register (ADR 2026-07-20, Direction C; revised
   2026-07-22 — NEW moved out into its own pill, so the column now reads in
   three registers: the interactive perf pill, the NEW pill, and this quiet
   text for a thin % or the no-signal dash). */
._successQuiet_1106b_199 {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #8c949e;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* NEW pill — same chrome as the performance pill so the Success column's
   badges read as one family (Nick's ruling 2026-07-22); static, not
   interactive. The % keeps its band colour inline. */
._newPill_1106b_211 {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #6b7380;
  font-variant-numeric: tabular-nums;
  white-space: pre;
}

/* ── Code ───────────────────────────────────────── */

._codeCol_1106b_228 {
  width: 180px;
  flex-shrink: 0;
}

._codeWrap_1106b_233 {
  display: flex;
  align-items: stretch;
  gap: 6px;
}

._codeText_1106b_239 {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  background: #f4f5f7;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #333845;
}

/* text-overflow needs a non-flex text box — on the flex container the
   ellipsis silently never renders and long codes hard-clip mid-glyph
   (Sharif's "ellipsis at the edge", ruled 2026-07-22). */
._codeText_1106b_239 > span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._copyBtn_1106b_263 {
  position: relative;
  background: #00a6ff;
  color: #fff;
  border: 2px solid #0062ff;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: inherit;
  box-shadow: 2px 2px 0 0 #0062ff;
  transition: transform 0.1s, box-shadow 0.1s;
}

._copyBtn_1106b_263:hover {
  background: #00aaff;
}

._copyBtn_1106b_263:active {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 0 #0062ff;
}

._dealTag_1106b_289 {
  display: inline-block;
  background: #f4f5f7;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #9ca3af;
}

/* ── Copied message ──────────────────────────────── */

/* Slides in with the house motion (solid-ux-tidy 2026-07-22). Pure CSS on
   mount — the clipboard write has already fired by the time this renders, so
   the animation can never delay it. */
._copiedMessage_1106b_304 {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  animation: _copiedIn_1106b_1 0.28s ease-out;
}

@keyframes _copiedIn_1106b_1 {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* The thanks line fades in when it replaces the vote buttons. Declared
   before .leaving so the exit still wins when both classes are present. */
._thanksIn_1106b_322 {
  animation: _copiedIn_1106b_1 0.18s ease-out;
}

/* Exit mirror of copiedIn — the JSX holds the copied/thanks UI through a
   ~0.2s 'leaving' beat before swapping back, so it fades out instead of
   vanishing. Declared after the entry classes so its animation wins. */
._leaving_1106b_321 {
  animation: _copiedOut_1106b_1 0.2s ease-in forwards;
}


@keyframes _copiedOut_1106b_1 {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-4px); }
}

/* The returning normal row fades back in (class added at the swap). */
._rowReturn_1106b_340 {
  animation: _rowFadeIn_1106b_1 0.18s ease-out;
}

/* Quick fade for the lazy-loaded chart arriving over the shimmer. */
._chartIn_1106b_345 {
  animation: _rowFadeIn_1106b_1 0.18s ease-out;
}

@keyframes _rowFadeIn_1106b_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

._copiedCode_1106b_354 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #00a6ff;
  flex-shrink: 0;
}

._copiedText_1106b_362 {
  font-size: 14px;
  font-weight: 600;
  color: #0f1114;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Vote prompt ─────────────────────────────────── */

._votePanel_1106b_372 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

._votePrompt_1106b_379 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  min-width: 0;
}

._voteQuestion_1106b_387 {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  white-space: nowrap;
}

._voteSubtext_1106b_394 {
  font-size: 10.5px;
  font-weight: 500;
  color: #9ca3af;
  white-space: nowrap;
}

._voteButtons_1106b_401 {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

._voteBtn_1106b_407 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  border: 2px solid transparent;
  color: #fff;
  font-family: inherit;
  transition: transform 0.1s, box-shadow 0.1s, opacity 0.1s;
}

._voteBtnYes_1106b_423 {
  background: #21c766;
  border-color: #16ad55;
  box-shadow: 2px 2px 0 0 #16ad55;
}

._voteBtnYes_1106b_423:hover { opacity: 0.9; }

._voteBtnYes_1106b_423:active {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 0 #16ad55;
}

._voteBtnNo_1106b_436 {
  background: #ff095c;
  border-color: #d60c50;
  box-shadow: 2px 2px 0 0 #d60c50;
}

._voteBtnNo_1106b_436:hover { opacity: 0.9; }

._voteBtnNo_1106b_436:active {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 0 #d60c50;
}

/* ── Vote thanks ─────────────────────────────────── */

._voteThanks_1106b_451 {
  /* relative: anchors the confetti burst on a yes-vote */
  position: relative;
  font-size: 12px;
  font-weight: 600;
  color: #9ca3af;
  white-space: nowrap;
  text-align: right;
  flex-shrink: 0;
}

/* ── Tried badge (stage 3) ───────────────────────── */

/* Lands with a tiny scale-pop; the badge is keyed on its outcome so the pop
   replays as • becomes ✓/✗ (solid-ux-tidy, Nick 2026-07-22). */
._triedBadge_1106b_466 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  background: #eef0f3;
  color: #8c949e;
  flex-shrink: 0;
  animation: _badgePop_1106b_1 0.15s ease-out;
}

@keyframes _badgePop_1106b_1 {
  from { transform: scale(0.85); opacity: 0.5; }
  to { transform: scale(1); opacity: 1; }
}

/* Scheme green/red (ruling 2026-07-22), pale circle tinted from the same hue. */
._triedYes_1106b_487 {
  background: #e4f8ed;
  color: #21c766;
}

._triedNo_1106b_492 {
  background: #ffe6ef;
  color: #ff095c;
}

/* ── Responsive ─────────────────────────────────── */

@media (max-width: 900px) {
  ._lastVerifiedCol_1106b_132,
  ._votesCol_1106b_146 {
    display: none;
  }

  ._codeCol_1106b_228 {
    width: 160px;
  }
}

@media (max-width: 640px) {
  ._row_1106b_1 {
    padding: 14px 16px;
  }

  ._codeCol_1106b_228 {
    width: 140px;
  }

  /* The buttons carry the question ("It worked / It didn't"), so the prompt
     text can drop out entirely when the row gets tight — nothing orphans. */
  ._votePrompt_1106b_379 {
    display: none;
  }
}

/* ── Reduced motion ──────────────────────────────── */

/* Kept LAST so it out-cascades every animated rule above (same specificity,
   source order decides). */
@media (prefers-reduced-motion: reduce) {
  ._copiedMessage_1106b_304,
  ._expand_1106b_37,
  ._leaving_1106b_321,
  ._thanksIn_1106b_322,
  ._rowReturn_1106b_340,
  ._chartIn_1106b_345,
  ._triedBadge_1106b_466 { animation: none; }
}
._banner_1vt4v_1 {
  width: 100%;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}

._inner_1vt4v_7 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 10px 24px;
  box-sizing: border-box;
}

._text_1vt4v_15 {
  margin: 0;
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}

._link_1vt4v_24 {
  color: #0f1114;
  text-decoration: underline;
  white-space: nowrap;
}

._link_1vt4v_24:hover {
  color: #6b7280;
}

@media (max-width: 640px) {
  ._inner_1vt4v_7 {
    padding: 10px 20px;
  }
}
._page_1gd98_1 {
  display: flex;
  flex-direction: column;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

._main_1gd98_9 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 72px 24px 96px;
  box-sizing: border-box;
}

/* ── Clipped coupon graphic ────────────────────────────────── */

._coupon_1gd98_21 {
  position: relative;
  border: 3px dashed hsl(252, 69%, 60%);
  border-radius: 20px;
  padding: 14px 54px 22px;
  transform: rotate(-2deg);
  background: hsl(252, 69%, 97%);
}

._code_1gd98_30 {
  font-size: 108px;
  font-weight: 700;
  line-height: 1;
  color: hsl(252, 69%, 60%);
  letter-spacing: 0.02em;
}

._scissors_1gd98_38 {
  position: absolute;
  top: -15px;
  left: 32px;
  font-size: 26px;
  transform: rotate(90deg);
}

/* ── Copy ──────────────────────────────────────────────────── */

._headline_1gd98_48 {
  font-weight: 700;
  font-size: 42px;
  line-height: 1.05;
  color: #0f1114;
  margin: 8px 0 0;
  text-align: center;
  max-width: 620px;
}

._body_1gd98_58 {
  color: #3f4650;
  font-size: 17px;
  line-height: 1.55;
  text-align: center;
  max-width: 460px;
  margin: 0;
}

._searchWrap_1gd98_67 {
  width: 100%;
  max-width: 480px;
}

._homeLink_1gd98_72 {
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

._homeLink_1gd98_72:hover {
  color: #0f1114;
}

@media (max-width: 640px) {
  ._headline_1gd98_48 {
    font-size: 30px;
  }

  ._code_1gd98_30 {
    font-size: 76px;
  }

  ._coupon_1gd98_21 {
    padding: 12px 40px 18px;
  }
}
._card_s1eez_1 {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Flat variant — same content layout, but the border/radius/background belong to
   the parent group so the Best-available card can extend down over the try-next
   chain as a single panel (stage 3). */
._cardFlat_s1eez_14 {
  background: transparent;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ── Top row ─────────────────────────────────────── */

._topRow_s1eez_24 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._topLeft_s1eez_31 {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* This visit's tried ✓/✗ mark — same treatment as the table rows', scheme
   green/red (ruling 2026-07-22), sized up a touch for the hero. Lands with a
   tiny scale-pop, keyed on the outcome so it replays as • becomes ✓/✗. */
._triedBadge_s1eez_40 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  background: #eef0f3;
  color: #8c949e;
  flex-shrink: 0;
  animation: _badgePop_s1eez_1 0.15s ease-out;
}

@keyframes _badgePop_s1eez_1 {
  from { transform: scale(0.85); opacity: 0.5; }
  to { transform: scale(1); opacity: 1; }
}

._triedYes_s1eez_60 {
  background: #e4f8ed;
  color: #21c766;
}

._triedNo_s1eez_65 {
  background: #ffe6ef;
  color: #ff095c;
}

._badge_s1eez_70 {
  background: #b7ff00;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}

._sourceInfo_s1eez_83 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

._sourceText_s1eez_90 {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  white-space: nowrap;
}

/* ── Discount ────────────────────────────────────── */

._discount_s1eez_99 {
  font-size: 52px;
  font-weight: 700;
  color: #0f1114;
  letter-spacing: -0.5px;
  line-height: 1;
}

/* ── Code row ────────────────────────────────────── */

._codeRow_s1eez_109 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* min-width floor keeps the wrap-first behaviour: when code + button don't
   fit (mobile), the box takes its own full line before any truncation — the
   ellipsis only appears for codes longer than a whole line. */
._codeInput_s1eez_119 {
  flex: 1;
  min-width: min(220px, 100%);
  background: #f4f5f7;
  border: 1.5px solid #e5e7eb;
  padding: 13px 18px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2.5px;
  color: #0f1114;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._copyBtn_s1eez_135 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #00a6ff;
  color: #fff;
  border: 2px solid #0062ff;
  padding: 13px 24px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: inherit;
  box-shadow: 3px 3px 0 0 #0062ff;
  transition: transform 0.1s, box-shadow 0.1s;
}

._copyBtn_s1eez_135:hover {
  background: #00aaff;
}

._copyBtn_s1eez_135:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 0 #0062ff;
}

/* ── Copied code display ─────────────────────────── */

/* Slides in with the house motion (solid-ux-tidy 2026-07-22); the clipboard
   write fires before this renders, so the animation never delays it. */
._codeDisplay_s1eez_169 {
  animation: _copiedIn_s1eez_1 0.28s ease-out;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid #f5f5f5;
  padding: 13px 18px;
  border-radius: 16px;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
}

._codeDisplayCode_s1eez_185 {
  font-weight: 700;
  letter-spacing: 2.5px;
  color: #00a6ff;
  flex-shrink: 0;
}

._codeDisplayMsg_s1eez_192 {
  font-weight: 600;
  color: #0f1114;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Inline vote question ────────────────────────── */

._votePrompt_s1eez_201 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  flex-shrink: 1;
  min-width: 0;
}

._voteQuestion_s1eez_211 {
  font-size: 16px;
  font-weight: 600;
  color: #0f1114;
  white-space: nowrap;
  flex-shrink: 0;
  margin: 0;
}

._voteSubtext_s1eez_220 {
  font-size: 12px;
  font-weight: 500;
  color: #9ca3af;
  white-space: nowrap;
}

._voteButtons_s1eez_227 {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

._voteBtn_s1eez_233 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 48px;
  padding: 13px 24px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid transparent;
  font-family: inherit;
  color: #fff;
  transition: transform 0.1s, box-shadow 0.1s, opacity 0.1s;
}

._voteBtnYes_s1eez_250 {
  background: #21c766;
  border-color: #16ad55;
  box-shadow: 3px 3px 0 0 #16ad55;
}

._voteBtnYes_s1eez_250:hover { opacity: 0.9; }

._voteBtnYes_s1eez_250:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 0 #16ad55;
}

._voteBtnNo_s1eez_263 {
  background: #ff095c;
  border-color: #d60c50;
  box-shadow: 3px 3px 0 0 #d60c50;
}

._voteBtnNo_s1eez_263:hover { opacity: 0.9; }

._voteBtnNo_s1eez_263:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 0 #d60c50;
}

/* ── Inline thanks ───────────────────────────────── */

._voteThanks_s1eez_278 {
  /* relative: anchors the confetti burst on a yes-vote */
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
}

._voteThanksText_s1eez_287 {
  font-size: 16px;
  font-weight: 700;
  color: #0f1114;
  white-space: nowrap;
}

/* ── Trust signals ───────────────────────────────── */

._trustSignals_s1eez_296 {
  background: #f9fafb;
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

._trustRow_s1eez_305 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._trustLeft_s1eez_312 {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

._testPassedChip_s1eez_319 {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f9ffea;
  border: 1px solid #b7ff00;
  border-radius: 8px;
  padding: 4px 10px;
  height: 24px;
  font-size: 11px;
  font-weight: 600;
  color: #21c766;
  white-space: nowrap;
  flex-shrink: 0;
}

._testPassedDot_s1eez_335 {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #21c766;
  flex-shrink: 0;
}

._metaItem_s1eez_343 {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  white-space: nowrap;
}

._metaLabel_s1eez_351 {
  font-weight: 500;
  color: #9ca3af;
}

._metaValue_s1eez_356 {
  font-weight: 600;
  color: #374151;
}

/* ── Performance button ──────────────────────────── */

._performanceBtn_s1eez_363 {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 4px 10px;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
}

._performanceBtnLabel_s1eez_376 {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  white-space: nowrap;
}

._chevron_s1eez_383 {
  flex-shrink: 0;
  transition: transform 0.2s;
}

._chevronUp_s1eez_388 {
  transform: rotate(180deg);
}

/* ── Expanded chart section ──────────────────────── */

._expandedSection_s1eez_394 {
  background: #fff;
  border-radius: 20px;
  padding: 16px;
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  animation: _copiedIn_s1eez_1 0.28s ease-out;
}

@keyframes _copiedIn_s1eez_1 {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* The thanks block fades in when it replaces the vote buttons. Declared
   before .leaving so the exit still wins when both classes are present. */
._thanksIn_s1eez_412 {
  animation: _copiedIn_s1eez_1 0.18s ease-out;
}

/* Exit mirror of copiedIn — plays through the 'leaving' phase before the
   card swaps back. Declared after the entry classes so its animation wins. */
._leaving_s1eez_411 {
  animation: _copiedOut_s1eez_1 0.2s ease-in forwards;
}


@keyframes _copiedOut_s1eez_1 {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-4px); }
}

/* The returning code + button fade back in (class added at the swap). */
._rowReturn_s1eez_429 {
  animation: _rowFadeIn_s1eez_1 0.18s ease-out;
}

/* Quick fade for the lazy-loaded chart arriving over the shimmer. */
._chartIn_s1eez_434 {
  animation: _rowFadeIn_s1eez_1 0.18s ease-out;
}

@keyframes _rowFadeIn_s1eez_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

._chartHeader_s1eez_443 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._chartTitle_s1eez_449 {
  font-size: 18px;
  font-weight: 700;
  color: #0f1114;
  line-height: 24px;
  margin: 0;
}

._chartSubtitle_s1eez_457 {
  font-size: 12px;
  font-weight: 600;
  color: #6b7380;
  line-height: 16px;
  margin: 0;
}

/* Shimmer skeleton while the code's full series is fetched on expand.
   Sized by the strip chart's own aspect ratio so the swap can't shift layout. */
._chartPlaceholder_s1eez_467 {
  aspect-ratio: 960 / 150;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 500;
  border-radius: 12px;
  background: linear-gradient(90deg, #f6f7f9 25%, #eef0f3 37%, #f6f7f9 63%);
  background-size: 400% 100%;
  animation: _featChartShimmer_s1eez_1 1.2s ease-in-out infinite;
}

@keyframes _featChartShimmer_s1eez_1 {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  ._chartPlaceholder_s1eez_467,
  ._codeDisplay_s1eez_169,
  ._expandedSection_s1eez_394,
  ._leaving_s1eez_411,
  ._thanksIn_s1eez_412,
  ._rowReturn_s1eez_429,
  ._chartIn_s1eez_434,
  ._triedBadge_s1eez_40 { animation: none; }
}

/* ── Responsive ──────────────────────────────────── */

@media (max-width: 640px) {
  ._card_s1eez_1 {
    border-radius: 24px;
  }

  ._discount_s1eez_99 {
    font-size: 36px;
  }

  ._trustLeft_s1eez_312 {
    gap: 14px;
  }

  /* The trust row wraps so the Performance button gets its own full-width
     line instead of clipping off the card edge (solid-ux-tidy 2026-07-22). */
  ._trustRow_s1eez_305 {
    flex-wrap: wrap;
  }

  ._performanceBtn_s1eez_363 {
    width: 100%;
    justify-content: center;
    padding: 8px 10px;
  }

  ._voteButtons_s1eez_227 {
    flex: 1;
  }

  ._voteBtn_s1eez_233 {
    flex: 1;
    width: auto;
  }

  /* The buttons carry the question at this width; the supporting line goes. */
  ._voteSubtext_s1eez_220 {
    display: none;
  }
}

/* Text for screen readers only — carries what a visual-only cue conveys
   (e.g. that a shown code is truncated). Never a claim the page doesn't
   also make visibly. */
._srOnly_s1eez_542 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
._footer_1d62v_1 {
  width: 100%;
}

._divider_1d62v_5 {
  height: 1px;
  background: #eaecef;
  max-width: 960px;
  margin: 0 auto;
}

._inner_1d62v_12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
  max-width: 1008px;
  margin: 0 auto;
  padding: 28px 24px;
}

._logoLink_1d62v_23 {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

._logo_1d62v_23 {
  height: 22px;
  width: auto;
  opacity: 0.5;
}

._nav_1d62v_36 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}

._link_1d62v_43 {
  font-size: 12px;
  font-weight: 500;
  color: #9ca3af;
  text-decoration: none;
}

._link_1d62v_43:hover {
  color: #6b7280;
}
._header_11pnx_1 {
  width: 100%;
  background: #fff;
}

._inner_11pnx_6 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1008px;
  margin: 0 auto;
  padding: 28px 24px;
}

._logoLink_11pnx_15 {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

._logo_11pnx_15 {
  height: 38px;
  width: auto;
}

._nav_11pnx_27 {
  display: flex;
  align-items: center;
  gap: 32px;
}

._navLink_11pnx_33 {
  font-size: 14px;
  font-weight: 500;
  color: #454a54;
  text-decoration: none;
}

._navLink_11pnx_33:hover {
  color: #0f1114;
}

@media (max-width: 640px) {
  ._inner_11pnx_6 {
    padding: 20px 20px;
  }

  ._navLink_11pnx_33 {
    display: none;
  }
}
._card_mgxwf_1 {
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
  background: #fff;
  overflow: hidden;
  margin: 0;
}

._content_mgxwf_9 {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
}

/* ── Hero ────────────────────────────────────────── */

._hero_mgxwf_18 {
  background: #f9f9fb;
  border-radius: 16px;
  padding: 60px 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

._heroTitle_mgxwf_29 {
  font-size: 48px;
  font-weight: 700;
  color: #0a0a0f;
  margin: 0;
  line-height: 1.1;
  letter-spacing: -1px;
}

._heroSubtitle_mgxwf_38 {
  font-size: 16px;
  font-weight: 400;
  color: #6b7380;
  margin: 0;
  max-width: 560px;
  line-height: 1.6;
}

/* ── History card ────────────────────────────────── */

._historyCard_mgxwf_49 {
  background: #f9f9fb;
  border-radius: 16px;
  padding: 24px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── Chart header ────────────────────────────────── */

._chartHeader_mgxwf_60 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

._chartTitle_mgxwf_66 {
  display: inline-flex;
  width: fit-content;
  background: #b7ff00;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
  margin: 0 0 8px;
}

._chartSubtitle_mgxwf_81 {
  font-size: 13px;
  font-weight: 600;
  color: #6b7380;
  margin: 0;
  line-height: 1.5;
  max-width: 460px;
}

._legend_mgxwf_90 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  flex-shrink: 0;
}

._legendItem_mgxwf_98 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._swatch_mgxwf_104 {
  display: inline-block;
  width: 14px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}

._legendText_mgxwf_112 {
  font-size: 12px;
  font-weight: 600;
  color: #6b7380;
  white-space: nowrap;
}

/* ── Chart ───────────────────────────────────────── */

._chartWrap_mgxwf_121 {
  width: 100%;
}

/* ── Below-the-gate text states (stage 7) ────────── */

._stateLead_mgxwf_127 {
  font-size: 16px;
  font-weight: 700;
  color: #0a0a0f;
  margin: 0;
}

._stateFact_mgxwf_134 {
  font-size: 14px;
  font-weight: 500;
  color: #333840;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
}

/* ── KPI row ─────────────────────────────────────── */

/* Left-flowing with a fixed gap — space-between scattered two KPIs to
   opposite card edges (stage 8). */
._kpiRow_mgxwf_147 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 8px;
  gap: 48px;
}

._kpi_mgxwf_147 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

._kpiLabel_mgxwf_162 {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.6px;
  color: #6b7380;
  text-transform: uppercase;
  white-space: nowrap;
}

._kpiValue_mgxwf_171 {
  font-size: 20px;
  font-weight: 700;
  color: #0a0a0f;
  line-height: 1.2;
}

/* ── Responsive ─────────────────────────────────── */

@media (max-width: 900px) {
  ._hero_mgxwf_18 {
    padding: 40px 32px;
  }

  ._heroTitle_mgxwf_29 {
    font-size: 36px;
  }

  ._kpiRow_mgxwf_147 {
    flex-wrap: wrap;
    gap: 16px;
  }

  ._kpi_mgxwf_147 {
    flex: 0 0 calc(50% - 8px);
  }
}

@media (max-width: 640px) {
  ._card_mgxwf_1 {
    border-radius: 24px;
  }

  ._hero_mgxwf_18 {
    padding: 32px 20px;
    border-radius: 12px;
  }

  ._heroTitle_mgxwf_29 {
    font-size: 28px;
  }

  ._heroSubtitle_mgxwf_38 {
    font-size: 14px;
  }

  ._historyCard_mgxwf_49 {
    border-radius: 12px;
    padding: 16px;
  }

  ._chartHeader_mgxwf_60 {
    flex-direction: column;
    gap: 12px;
  }

  ._kpi_mgxwf_147 {
    flex: 0 0 100%;
  }
}
/* ── Related stores ──────────────────────────────── */

._section_1vvmj_3 {
  padding: 48px 0 0;
}

/* Flush with the content column, same scale as the codes-table heading —
   one section-heading register across the page (Nick 2026-07-22). */
._label_1vvmj_9 {
  padding-left: 2px;
  margin-bottom: 24px;
}

._title_1vvmj_14 {
  display: inline-flex;
  width: fit-content;
  background: #b7ff00;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
  color: #000;
  margin: 0;
  word-break: break-word;
}

._grid_1vvmj_30 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

/* ── Tile ────────────────────────────────────────── */

._tile_1vvmj_38 {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 4px;
  text-decoration: none;
  overflow: hidden;
  transition: background 0.1s;
}

._tile_1vvmj_38:hover {
  background: #fafafa;
}

._logo_1vvmj_54 {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  flex-shrink: 0;
  overflow: hidden;
}

._logoImg_1vvmj_62 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

._logoPlaceholder_1vvmj_69 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f5f7;
  color: #9ca3af;
  font-size: 18px;
  font-weight: 700;
  border-radius: 12px;
}

._textGroup_1vvmj_82 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  letter-spacing: -0.5px;
}

._name_1vvmj_91 {
  font-size: 18px;
  font-weight: 700;
  color: #0f1114;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._domain_1vvmj_100 {
  font-size: 10px;
  font-weight: 300;
  color: #0f1114;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Responsive ──────────────────────────────────── */

@media (max-width: 900px) {
  /* The content column's own gutter is the indent now — stay flush with it,
     matching the codes-table heading. */
  ._section_1vvmj_3 {
    padding-left: 0;
    padding-right: 0;
  }

  ._label_1vvmj_9 {
    padding-left: 2px;
  }

  ._grid_1vvmj_30 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  ._grid_1vvmj_30 {
    grid-template-columns: 1fr;
  }
}
._wrapper_cup44_1 {
  position: relative;
  width: 560px;
  max-width: 100%;
}

._searchBar_cup44_7 {
  display: flex;
  align-items: center;
  background: #fff;
  border: 9.5px solid #b7ff00;
  border-radius: 28px;
  padding: 8px 8px 8px 24px;
  gap: 12px;
}

._searchInput_cup44_17 {
  flex: 1;
  border: none;
  outline: none;
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #0f1114;
  background: transparent;
}

._searchInput_cup44_17::placeholder {
  color: #9ca3af;
}

._searchButton_cup44_32 {
  background: #00a6ff;
  color: #fff;
  font-family: 'General Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  border: none;
  border-radius: 24px;
  padding: 8px 24px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

._searchButton_cup44_32:hover {
  background: #0095e6;
}

._results_cup44_50 {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 200;
  background: #fff;
  border-radius: 28px;
  border: 1.2px solid #e5e7eb;
  box-shadow: 0 7.2px 20.4px rgba(0, 0, 0, 0.08);
  padding: 8px;
}

@keyframes _pulse_cup44_1 {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

._skeletonItem_cup44_68 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}

._skeletonImg_cup44_75 {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #e9eaee;
  flex-shrink: 0;
  animation: _pulse_cup44_1 1.4s ease-in-out infinite;
}

._skeletonText_cup44_84 {
  height: 14px;
  border-radius: 4px;
  background: #e9eaee;
  width: 153px;
  animation: _pulse_cup44_1 1.4s ease-in-out infinite;
  animation-delay: 75ms;
}

._noResults_cup44_93 {
  padding: 16px;
  font-family: 'General Sans', sans-serif;
  font-size: 14px;
  color: #9ca3af;
  text-align: center;
}

._resultItem_cup44_101 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 20px;
  text-decoration: none;
  color: #0a0a0f;
  cursor: pointer;
  transition: background 0.1s;
}

._resultItem_cup44_101:hover,
._resultItemActive_cup44_114 {
  background: #f6f6f6;
}

._resultImg_cup44_118 {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  object-fit: contain;
  flex-shrink: 0;
  background: #f3f4f6;
}

._resultName_cup44_127 {
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #0a0a0f;
}
._page_10zns_1 {
  display: flex;
  flex-direction: column;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

._bar_10zns_9 {
  padding: 22px 32px;
  border-bottom: 1px solid #f0f0f0;
}

._logo_10zns_14 {
  height: 28px;
  display: block;
}

._main_10zns_19 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 64px 24px 96px;
  text-align: center;
}

._kicker_10zns_30 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: hsl(252, 69%, 60%);
}

._headline_10zns_37 {
  font-weight: 700;
  font-size: 42px;
  line-height: 1.05;
  color: #0f1114;
  margin: 0;
}

._body_10zns_45 {
  color: #3f4650;
  font-size: 17px;
  line-height: 1.55;
  max-width: 420px;
  margin: 0;
}

._retry_10zns_53 {
  background: #0f1114;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  padding: 13px 34px;
  cursor: pointer;
  margin-top: 6px;
}

._retry_10zns_53:hover {
  background: hsl(252, 69%, 40%);
}

._homeLink_10zns_70 {
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

._homeLink_10zns_70:hover {
  color: #0f1114;
}

@media (max-width: 640px) {
  ._headline_10zns_37 {
    font-size: 30px;
  }
}
/* ── Page shell ──────────────────────────────────────────── */
._page_swxf0_2 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

/* Centered content column, matching header/footer inner width */
._section_swxf0_12 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._sectionLabel_swxf0_23 {
  margin: 0;
  padding-left: 24px;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1px;
  color: #9ca3af;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_swxf0_33 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_swxf0_40 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_swxf0_50 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

._heroSubtitle_swxf0_60 {
  margin: 0;
  max-width: 640px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── How Wethrift is different ───────────────────────────── */
._promiseGrid_swxf0_70 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

._promiseCard_swxf0_76 {
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 24px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 28px;
}

._promiseText_swxf0_86 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._promiseTitle_swxf0_92 {
  margin: 0;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._promiseBody_swxf0_100 {
  margin: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Our story ───────────────────────────────────────────── */
._storyCard_swxf0_109 {
  display: flex;
  gap: 48px;
  padding: 32px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
}

._storyTitle_swxf0_118 {
  margin: 0;
  width: 300px;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._storyCopy_swxf0_128 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

._storyCopy_swxf0_128 p {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Meet the team ───────────────────────────────────────── */
._teamList_swxf0_145 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._teamCard_swxf0_151 {
  display: flex;
  align-items: flex-start;
  padding: 8px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
}

._avatar_swxf0_160 {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 160px;
  height: 160px;
  flex-shrink: 0;
  border-radius: 32px;
  overflow: hidden;
}

._avatarImg_swxf0_171 {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

._teamContent_swxf0_177 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  flex: 1;
  min-width: 0;
}

._teamHeading_swxf0_186 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._teamName_swxf0_192 {
  margin: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._teamRole_swxf0_201 {
  margin: 0;
  font-weight: 700;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 1px;
  color: #9ca3af;
}

._teamBio_swxf0_210 {
  margin: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── What shoppers say ───────────────────────────────────── */
._reviewRow_swxf0_219 {
  display: flex;
  gap: 16px;
}

._reviewCard_swxf0_224 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  background: #f9fafb;
  border-radius: 40px;
}

._stars_swxf0_235 {
  margin: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  color: #f5ba21;
}

._reviewTitle_swxf0_243 {
  margin: 0;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._reviewQuote_swxf0_251 {
  margin: 0;
  flex: 1;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

._reviewMeta_swxf0_260 {
  margin: 0;
  font-weight: 500;
  font-size: 11px;
  color: #9ca3af;
}

/* ── Company ─────────────────────────────────────────────── */
._infoRow_swxf0_268 {
  display: flex;
  gap: 16px;
}

._infoCard_swxf0_273 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 28px;
}

._infoTitle_swxf0_285 {
  margin: 0;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._infoBody_swxf0_293 {
  margin: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

._infoBody_swxf0_293 p {
  margin: 0 0 8px;
}

._infoBody_swxf0_293 p:last-child {
  margin-bottom: 0;
}

._infoLink_swxf0_309 {
  color: #6b7280;
  text-decoration: underline;
}

._infoLink_swxf0_309:hover {
  color: #0f1114;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
  ._reviewRow_swxf0_219,
  ._infoRow_swxf0_268 {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  ._section_swxf0_12 {
    padding: 20px;
  }

  ._hero_swxf0_33 {
    padding-top: 48px;
  }

  ._heroTitle_swxf0_50 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._promiseGrid_swxf0_70 {
    grid-template-columns: 1fr;
  }

  ._storyCard_swxf0_109 {
    flex-direction: column;
    gap: 20px;
    padding: 24px;
    border-radius: 32px;
  }

  ._storyTitle_swxf0_118 {
    width: auto;
  }

  ._teamCard_swxf0_151 {
    flex-direction: column;
    align-items: stretch;
  }

  ._avatar_swxf0_160 {
    width: 100%;
    height: 200px;
  }
}
:root {
  --h: 252;
  --s: 69%;
  --l: 60%;
}

/* ── Page shell ──────────────────────────────────────────── */
._page_1l0ob_8 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_1l0ob_17 {
  display: flex;
  justify-content: center;
  padding: 0;
}

._heroCard_1l0ob_23 {
  position: relative;
  isolation: isolate;
  z-index: 1;
  background: #beecff;
  border-radius: 48px;
  width: 100%;
  max-width: 1000px;
  height: 477px;
  padding: 60px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  box-sizing: border-box;
}

/* Clips the decorative bg SVG without clipping the search dropdown */
._heroBgClip_1l0ob_42 {
  position: absolute;
  inset: 0;
  border-radius: 48px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

._heroBg_1l0ob_42 {
  width: 100%;
  height: 100%;
  display: block;
}

._heroTitle_1l0ob_57 {
  position: relative;
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 50px;
  line-height: 1;
  color: #0f1114;
  text-align: center;
  max-width: 480px;
  margin: 0;
}


/* ── Stats ───────────────────────────────────────────────── */
._stats_1l0ob_71 {
  padding: 40px 24px;
}

._statsInner_1l0ob_75 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}

._stat_1l0ob_71 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

._statNumber_1l0ob_90 {
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 44px;
  letter-spacing: -1px;
  color: #0f1114;
  line-height: 1;
}

._statLabel_1l0ob_99 {
  font-family: 'General Sans', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

._statDot_1l0ob_108 {
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: #d1d5db;
  line-height: 1;
}

/* ── How It Works ────────────────────────────────────────── */
._howItWorks_1l0ob_117 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 24px;
  gap: 80px;
  /* no overflow:hidden — the background blob bleeds upward into the hero area */
}

._howItWorksLabel_1l0ob_127 {
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #000;
  letter-spacing: 1.5px;
  margin: 0;
}

._step_1l0ob_136 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 100%;
  max-width: 720px;
}

._stepHeader_1l0ob_145 {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  width: 100%;
}

._stepNumber_1l0ob_152 {
  background: #b7ff00;
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 26px;
  color: #0f1114;
  border-radius: 10px;
  padding: 4px 12px;
  flex-shrink: 0;
  line-height: 1.4;
}

._stepTitle_1l0ob_164 {
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  color: #0f1114;
  margin: 0;
  width: 240px;
  flex-shrink: 0;
}

._stepDesc_1l0ob_175 {
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
  flex: 1;
}

/* ── Diagrams ────────────────────────────────────────────── */

._diagramWrap_1l0ob_187 {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
._diagramWrap_1l0ob_187::-webkit-scrollbar {
  display: none;
}

._diagramImg_1l0ob_199 {
  display: block;
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}

/* ── Extension CTA ───────────────────────────────────────── */

._ctaSection_1l0ob_208 {
  display: flex;
  justify-content: center;
  padding: 60px 24px;
}

/*
  Card: same max-width as .heroCard (1000px), fixed 448px height,
  overflow hidden so the browser mockup that bleeds left is clipped.
*/
._ctaCard_1l0ob_218 {
  position: relative;
  isolation: isolate;
  background: #ff095c;
  border-radius: 24px;
  width: 100%;
  max-width: 1000px;
  height: 448px;
  overflow: hidden;
  clip-path: inset(0 round 24px);
  transform: translateZ(0);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 40px 0px;
}

/* Decorative background SVG — fits exactly 1000×448, screen blend at 17% opacity */
._ctaBg_1l0ob_236 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  mix-blend-mode: screen;
}

/*
  Browser mockup image (node 79:1070) — 568 × 436 px natural.
  Offset left so ~50 px of grey browser chrome bleeds off the card edge.
*/
._ctaBrowserImg_1l0ob_250 {
  position: absolute;
  left: 0px;
  top: 12px;
  width: 568px;
  height: 436px;
}

/* Right-side text block */
._ctaContent_1l0ob_259 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  width: 457px;
  flex-shrink: 0;
  padding-right: 72px;
}

._ctaTitle_1l0ob_270 {
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 1;
  color: #fff;
  text-align: right;
  margin: 0;
}

._ctaDesc_1l0ob_280 {
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #fff;
  text-align: right;
  width: 295px;
  margin: 0;
  line-height: 1.5;
}

._ctaButton_1l0ob_291 {
  background: #fff;
  color: #0f1114;
  font-family: 'General Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 32px;
  border-radius: 16px;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
}

._ctaButton_1l0ob_291:hover {
  background: #f0f0f0;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  ._heroTitle_1l0ob_57 {
    font-size: 32px;
  }

  ._statsInner_1l0ob_75 {
    gap: 24px;
  }

  ._statDot_1l0ob_108 {
    display: none;
  }

  ._stepHeader_1l0ob_145 {
    flex-direction: column;
  }

  ._stepTitle_1l0ob_164 {
    width: auto;
    font-size: 28px;
  }

  ._ctaCard_1l0ob_218 {
    height: auto;
    min-height: 280px;
    padding: 32px 24px 32px 24px;
  }

  ._ctaBrowserImg_1l0ob_250 {
    display: none;
  }

  ._ctaContent_1l0ob_259 {
    width: 100%;
    align-items: flex-start;
  }

  ._ctaTitle_1l0ob_270 {
    font-size: 36px;
    text-align: left;
  }

  ._ctaDesc_1l0ob_280 {
    text-align: left;
    width: auto;
  }
}
/* ── Page shell ──────────────────────────────────────────── */
._page_vfrx1_2 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

/* Centered content column, matching header/footer inner width */
._section_vfrx1_12 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_vfrx1_24 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_vfrx1_31 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_vfrx1_41 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

/* ── Body copy ───────────────────────────────────────────── */
._content_vfrx1_52 {
  gap: 0;
  max-width: 720px;
}

/* Paragraph (system <span>) and H2 (system <div>) render as bare
   elements, so target them by element under the scoped .content class. */
._content_vfrx1_52 > div {
  margin: 32px 0 12px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._content_vfrx1_52 > span,
._content_vfrx1_52 > p {
  display: block;
  margin: 0 0 16px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_vfrx1_52 > span:last-child,
._content_vfrx1_52 > p:last-child {
  margin-bottom: 0;
}

._content_vfrx1_52 > ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

._content_vfrx1_52 > ul > li {
  margin: 0 0 8px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_vfrx1_52 strong {
  font-weight: 700;
  color: #0f1114;
}

._content_vfrx1_52 a {
  color: #0f1114;
  text-decoration: underline;
}

._content_vfrx1_52 a:hover {
  color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 640px) {
  ._section_vfrx1_12 {
    padding: 20px;
  }

  ._hero_vfrx1_24 {
    padding-top: 48px;
  }

  ._heroTitle_vfrx1_41 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._content_vfrx1_52 > div {
    font-size: 20px;
  }
}
/* ── Page shell ──────────────────────────────────────────── */
._page_1lh0g_2 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

/* Centered content column, matching header/footer inner width */
._section_1lh0g_12 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_1lh0g_24 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_1lh0g_31 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_1lh0g_41 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

/* ── Body copy ───────────────────────────────────────────── */
._content_1lh0g_52 {
  gap: 0;
  max-width: 720px;
}

/* Paragraph (system <span>) and H2 (system <div>) render as bare
   elements, so target them by element under the scoped .content class. */
._content_1lh0g_52 > div {
  margin: 32px 0 12px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._content_1lh0g_52 > span,
._content_1lh0g_52 > p {
  display: block;
  margin: 0 0 16px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_1lh0g_52 > span:last-child,
._content_1lh0g_52 > p:last-child {
  margin-bottom: 0;
}

._content_1lh0g_52 strong {
  font-weight: 700;
  color: #0f1114;
}

._content_1lh0g_52 a {
  color: #0f1114;
  text-decoration: underline;
}

._content_1lh0g_52 a:hover {
  color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 640px) {
  ._section_1lh0g_12 {
    padding: 20px;
  }

  ._hero_1lh0g_24 {
    padding-top: 48px;
  }

  ._heroTitle_1lh0g_41 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._content_1lh0g_52 > div {
    font-size: 20px;
  }
}
/* ── Page shell ──────────────────────────────────────────── */
._page_1jd4m_2 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

/* Centered content column, matching header/footer inner width */
._section_1jd4m_12 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_1jd4m_24 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_1jd4m_31 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_1jd4m_41 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

._heroSubtitle_1jd4m_51 {
  margin: 0;
  max-width: 640px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Body copy ───────────────────────────────────────────── */
._content_1jd4m_61 {
  gap: 0;
}

._updated_1jd4m_65 {
  margin: 0 0 24px;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1px;
  color: #9ca3af;
}

/* Paragraph (system <span>) and H2 (system <div>) render as bare
   elements, so target them by element under the scoped .content class. */
._content_1jd4m_61 > div {
  margin: 32px 0 12px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._content_1jd4m_61 > span,
._content_1jd4m_61 > p {
  display: block;
  margin: 0 0 16px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_1jd4m_61 > span:last-child,
._content_1jd4m_61 > p:last-child {
  margin-bottom: 0;
}

._content_1jd4m_61 > ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

._content_1jd4m_61 > ul > li {
  margin: 0 0 8px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_1jd4m_61 strong {
  font-weight: 700;
  color: #0f1114;
}

._content_1jd4m_61 a {
  color: #0f1114;
  text-decoration: underline;
}

._content_1jd4m_61 a:hover {
  color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 640px) {
  ._section_1jd4m_12 {
    padding: 20px;
  }

  ._hero_1jd4m_24 {
    padding-top: 48px;
  }

  ._heroTitle_1jd4m_41 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._content_1jd4m_61 > div {
    font-size: 20px;
  }
}
/* Shared styling for the Savvy pages (landing / installed / uninstall /
   install). Built on the About page's design tokens (General Sans, 1008px
   column, rounded 1.5px-bordered cards, #0f1114 / #6b7280 / #9ca3af text) so
   the ported pages read as part of the current theme. The designer will do a
   proper pass once these are working — keep changes here, not scattered. */

/* ── Page shell ──────────────────────────────────────────── */
._page_10x31_8 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

._section_10x31_17 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._sectionLabel_10x31_28 {
  margin: 0;
  padding-left: 24px;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1px;
  color: #9ca3af;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_10x31_38 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_10x31_45 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_10x31_55 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

._heroSubtitle_10x31_65 {
  margin: 0;
  max-width: 640px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Buttons ─────────────────────────────────────────────── */
._cta_10x31_75 {
  display: inline-block;
  padding: 14px 24px;
  background: #5439bd;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  border: none;
  border-radius: 30px;
  text-decoration: none;
  cursor: pointer;
}

._cta_10x31_75:hover {
  background: #4830a3;
}

._ctaSecondary_10x31_92 {
  display: inline-block;
  padding: 14px 24px;
  background: #fff;
  color: #0f1114;
  font-weight: 700;
  font-size: 15px;
  border: 1.5px solid #e5e7eb;
  border-radius: 30px;
  text-decoration: none;
  cursor: pointer;
}

._ctaSecondary_10x31_92:hover {
  border-color: #0f1114;
}

._ctaCenter_10x31_109 {
  display: flex;
  justify-content: center;
  padding: 8px 24px 24px;
}

/* ── Feature rows (landing + installed) ──────────────────── */
._featureRow_10x31_116 {
  display: flex;
  gap: 48px;
  align-items: center;
  padding: 32px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
}

._featureRow_10x31_116:nth-child(even) {
  flex-direction: row-reverse;
}

._featureText_10x31_130 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
  min-width: 0;
}

._featureTitle_10x31_138 {
  margin: 0;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._featureBody_10x31_146 {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
}

._featureList_10x31_154 {
  margin: 0;
  padding-left: 16px;
  border-left: 2px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}

._featureMedia_10x31_167 {
  flex: 1;
  min-width: 0;
  line-height: 0;
}

._mediaImg_10x31_173 {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 1px solid #ededed;
}

/* ── Logo grid ───────────────────────────────────────────── */
._centerTitle_10x31_181 {
  margin: 0;
  text-align: center;
  font-weight: 700;
  font-size: 26px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._logoGrid_10x31_190 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  justify-items: center;
  align-items: center;
  padding: 32px 0;
}

._logoImg_10x31_199 {
  width: 100px;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* ── Reviews ─────────────────────────────────────────────── */
._reviewRow_10x31_207 {
  display: flex;
  gap: 16px;
}

._reviewCard_10x31_212 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  background: #f9fafb;
  border-radius: 40px;
}

._stars_10x31_223 {
  margin: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  color: #f5ba21;
}

._reviewTitle_10x31_231 {
  margin: 0;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._reviewQuote_10x31_239 {
  margin: 0;
  flex: 1;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Savvy logo lockup ───────────────────────────────────── */
._logoLockup_10x31_249 {
  display: flex;
  justify-content: center;
  padding: 16px 0;
}

._savvyLogo_10x31_255 {
  height: 64px;
  width: auto;
}

/* ── Uninstall feedback form ─────────────────────────────── */
._formCard_10x31_261 {
  display: flex;
  gap: 48px;
  padding: 32px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
}

._formIntro_10x31_270 {
  flex: 1;
  min-width: 0;
}

._formIntroTitle_10x31_275 {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._formIntroBody_10x31_283 {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
}

._form_10x31_261 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._checkRow_10x31_299 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  color: #0f1114;
}

._textarea_10x31_308 {
  width: 100%;
  height: 100px;
  margin-top: 8px;
  padding: 12px;
  box-sizing: border-box;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  resize: vertical;
}

._textarea_10x31_308:disabled {
  background: #f9fafb;
  color: #9ca3af;
}

._submitRow_10x31_326 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

._thanks_10x31_333 {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  color: #6b7280;
}

/* ── Install flow (iOS enable / permissions) ─────────────── */
._installWrap_10x31_341 {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 48px 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

._installTitle_10x31_354 {
  margin: 0;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._stepList_10x31_363 {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._step_10x31_363 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 40px;
  text-align: left;
  font-size: 16px;
  color: #0f1114;
  opacity: 0.5;
  transform: scale(0.98);
  transition: all 0.2s ease-in-out;
}

._stepHighlighted_10x31_387 {
  opacity: 1;
  transform: scale(1);
  background: linear-gradient(to right, #eee, #fff);
}

._stepDot_10x31_393 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 100px;
  background: lightgrey;
  color: #333;
  font-weight: 600;
  font-size: 14px;
}

._stepHighlighted_10x31_387 ._stepDot_10x31_393 {
  background: #333;
  color: #fff;
}

._stepImg_10x31_412 {
  display: block;
  width: 85%;
  margin: 0 0 16px auto;
  border-radius: 15px;
  box-shadow: 5px 5px 8px 1px rgba(128, 128, 128, 0.12);
}

._inlineIcon_10x31_420 {
  width: 26px;
  height: 26px;
  padding: 4px;
  background: #eee;
  border-radius: 6px;
  vertical-align: middle;
  box-sizing: border-box;
}

._installNote_10x31_430 {
  margin: 0;
  font-size: 18px;
  color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
  ._reviewRow_10x31_207 {
    flex-direction: column;
  }

  ._logoGrid_10x31_190 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  ._section_10x31_17 {
    padding: 20px;
  }

  ._hero_10x31_38 {
    padding-top: 48px;
  }

  ._heroTitle_10x31_55 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._featureRow_10x31_116,
  ._featureRow_10x31_116:nth-child(even),
  ._formCard_10x31_261 {
    flex-direction: column;
    gap: 20px;
    padding: 24px;
    border-radius: 32px;
  }

  ._featureTitle_10x31_138 {
    font-size: 20px;
  }
}
* {
  font-family: 'General Sans', system-ui, -apple-system, sans-serif;
  box-sizing: border-box;
}

._page_21y4p_6 {
  min-height: 100vh;
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* ── Store toolbar ───────────────────────────────── */

._toolbar_21y4p_15 {
  background: #fff;
  width: 100%;
}

._toolbarInner_21y4p_20 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px 24px;
  gap: 16px;
}

._storeLeft_21y4p_30 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._storeLink_21y4p_36 {
  text-decoration: none;
  color: inherit;
}

._storeLink_21y4p_36:hover {
  text-decoration: underline;
}

._storeLogo_21y4p_45 {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 12px;
  flex-shrink: 0;
}

._storeName_21y4p_53 {
  font-size: 22px;
  font-weight: 700;
  color: #0f1114;
  margin: 0;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

._storeMeta_21y4p_62 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

._activeCount_21y4p_69 {
  font-size: 12px;
  font-weight: 600;
  color: #3e8b17;
  text-underline-offset: 3px;
}

._metaDot_21y4p_76 {
  color: #bfc4cc;
  font-size: 13px;
}

._metaText_21y4p_81 {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
}

/* ── Main content ────────────────────────────────── */

._content_21y4p_89 {
  max-width: 1008px;
  margin: 0 auto;
  padding: 0 0 60px;
  width: 100%;
}

/* The page headline — the graded verdict as a status chip (Nick's pick,
   2026-07-22): band-coloured dot + the sentence on a quiet pill, tight
   under the store name. */
._pageVerdict_21y4p_99 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  font-weight: 600;
  color: #0f1114;
  line-height: 1.4;
  margin: 0 0 20px;
  padding: 9px 16px;
  background: #f6f7f9;
  border-radius: 999px;
  width: fit-content;
}

._verdictDot_21y4p_114 {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

/* Change B (W2, ruled 2026-07-24): the meta description rendered as visible
   body text — the first prose the shopper reads, matching the SERP snippet they
   clicked. On moderate/strong it carries the featured code in full plaintext,
   even on monetised stores. Placement B: under the verdict chip, above the
   featured card. */
._pageLede_21y4p_126 {
  font-size: 15.5px;
  line-height: 1.55;
  color: #3a3f47;
  margin: 0 0 20px;
  max-width: 680px;
}

/* ── Best-available card + try-next chain (stage 3; re-cut 2026-07-22) ── */

/* The Best-available card owns its border/radius; FeaturedCoupon renders flat
   inside it. */
._bestGroup_21y4p_138 {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
  overflow: hidden;
}

/* The try-next chain — its OWN card below the hero, styled like the
   Best-available card with "Try this next" as its pill heading (solid-ux-tidy
   ruling 2026-07-22). Appears on the first copy, grows a row per try; the
   card itself slides in with the same motion as its rows. */
._chainGroup_21y4p_149 {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 40px;
  overflow: hidden;
  margin-top: 14px;
  animation: _chainIn_21y4p_200 0.28s ease-out;
}

._chainHeader_21y4p_158 {
  display: flex;
  align-items: center;
  padding: 18px 24px 6px;
}

/* Same pill treatment as the featured card's BEST AVAILABLE CODE badge. */
._chainBadge_21y4p_165 {
  background: #b7ff00;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

/* Enters with the chain card's motion — it appears at the same moment. */
._seeAllLink_21y4p_178 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 14px 0 0 24px;
  background: none;
  border: none;
  padding: 4px 0;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: #00a6ff;
  cursor: pointer;
  animation: _chainIn_21y4p_200 0.28s ease-out;
}

._seeAllLink_21y4p_178:hover {
  text-decoration: underline;
}

/* Freshly-revealed chain rows slide in — page-movement discipline: motion only
   at the copy/return moment, and never for reduced-motion users. */
._chainIn_21y4p_200 {
  animation: _chainIn_21y4p_200 0.28s ease-out;
}

@keyframes _chainIn_21y4p_200 {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._chainIn_21y4p_200,
  ._chainGroup_21y4p_149,
  ._seeAllLink_21y4p_178 {
    animation: none;
  }
}

/* ── All codes ───────────────────────────────────── */

._table_21y4p_225 {
  border: 1px solid #e5e7eb;
  border-radius: 32px;
  overflow: hidden;
  margin-top: 32px;
  padding-bottom: 10px;
}

/* Inside the bordered card; the text carries the shared lime heading-pill
   chrome (Nick 2026-07-22; hairline removed 2026-07-23 — separation duty
   moves to the header-row styling). */
._tableTitle_21y4p_236 {
  padding: 22px 24px 12px;
}

._tableTitlePill_21y4p_240 {
  display: inline-flex;
  width: fit-content;
  background: #b7ff00;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

/* Column header as a subtle inset grey strip (Nick's pick, 2026-07-23): the
   12px side margin + 12px inner padding line the labels up with the rows'
   24px edge. */
._tableHeader_21y4p_257 {
  display: flex;
  align-items: center;
  margin: 8px 12px 0;
  padding: 10px 12px;
  background: #f7f8fa;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #9ca3af;
}

._colDiscount_21y4p_271 {
  flex: 1;
  min-width: 0;
}

._colLastVerified_21y4p_276 {
  width: 150px;
  flex-shrink: 0;
}

._colVotes_21y4p_281 {
  width: 150px;
  flex-shrink: 0;
}

._colCode_21y4p_286 {
  width: 180px;
  flex-shrink: 0;
}

/* ── Empty ───────────────────────────────────────── */

._empty_21y4p_293 {
  text-align: center;
  color: #9ca3af;
  padding: 60px 0;
  font-size: 14px;
}

/* ── Responsive ─────────────────────────────────── */

/* 901–1040px: the 1008px content column otherwise runs to within a few px of
   the screen edge — 40px-radius cards need breathing room (stage 8). */
@media (max-width: 1040px) {
  ._content_21y4p_89 {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 900px) {
  ._toolbarInner_21y4p_20 {
    padding-left: 16px;
    padding-right: 16px;
  }

  ._content_21y4p_89 {
    padding-left: 12px;
    padding-right: 12px;
  }

  ._colLastVerified_21y4p_276,
  ._colVotes_21y4p_281 {
    display: none;
  }

  ._colCode_21y4p_286 {
    width: 160px;
  }
}

@media (max-width: 640px) {
  ._toolbarInner_21y4p_20 {
    flex-direction: column;
    align-items: flex-start;
  }

  ._storeName_21y4p_53 {
    font-size: 18px;
  }

  ._bestGroup_21y4p_138 {
    border-radius: 24px;
  }

  ._colCode_21y4p_286 {
    width: 140px;
  }
}
/* ── Page shell ──────────────────────────────────────────── */
._page_1u105_2 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #fff;
  min-height: 100vh;
  font-family: 'General Sans', sans-serif;
}

/* Centered content column, matching header/footer inner width */
._section_1u105_12 {
  width: 100%;
  max-width: 1008px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Hero ────────────────────────────────────────────────── */
._hero_1u105_24 {
  gap: 20px;
  padding-top: 72px;
  padding-bottom: 24px;
  align-items: flex-start;
}

._badge_1u105_31 {
  background: #b7ff00;
  color: #0f1114;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.5px;
  padding: 4px 12px;
  border-radius: 20px;
}

._heroTitle_1u105_41 {
  margin: 0;
  max-width: 784px;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1px;
  color: #0f1114;
}

._heroSubtitle_1u105_51 {
  margin: 0;
  max-width: 640px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: #6b7280;
}

/* ── Body copy ───────────────────────────────────────────── */
._content_1u105_61 {
  gap: 0;
}

._updated_1u105_65 {
  margin: 0 0 24px;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1px;
  color: #9ca3af;
}

/* Paragraph (system <span>) and H2 (system <div>) render as bare
   elements, so target them by element under the scoped .content class. */
._content_1u105_61 > div {
  margin: 32px 0 12px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: #0f1114;
}

._content_1u105_61 > span,
._content_1u105_61 > p {
  display: block;
  margin: 0 0 16px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

._content_1u105_61 > span:last-child,
._content_1u105_61 > p:last-child {
  margin-bottom: 0;
}

._content_1u105_61 a {
  color: #0f1114;
  text-decoration: underline;
}

._content_1u105_61 a:hover {
  color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 640px) {
  ._section_1u105_12 {
    padding: 20px;
  }

  ._hero_1u105_24 {
    padding-top: 48px;
  }

  ._heroTitle_1u105_41 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }

  ._content_1u105_61 > div {
    font-size: 20px;
  }
}
._button_1ithf_1 {
  background-color: hsl(var(--h), var(--s), var(--l));
  color: white;
  padding: 10px;
  cursor: pointer;
  border-radius: 30px;
  border: none;
  margin-bottom: 4px;
}

._button_1ithf_1:hover {
  background-color: hsl(var(--h), var(--s), calc(70%));
}

._button_1ithf_1:active {
  background-color: hsl(var(--h), var(--s), calc(50%));
}
._component_root_1qzl0_1 {
  border: 1px solid #acacac;
  border-radius: 10px;
  padding: 6px;
}

._nested-2_1qzl0_7 {
  border-radius: 4px; /* Parent radius minus parent padding */
  padding: 4px;
}

._nested-3_1qzl0_12 {
  border-radius: 2px; /* Parent radius minus parent padding */
}
._h1_xwvmz_1 {
  font-size: 2em;
  font-weight: bold;
}
._h2_jsb36_1 {
  font-size: 1.5em;
  font-weight: bold;
}
._h3_eywzh_1 {
  font-size: 1.2em;
  font-weight: bold;
}
._link_1m0c4_1 {
  color: green;
}
._paragraph_eenj2_1 {
}
._span_1v3sq_1 {
}
._table_1fjq6_1 {
  border: 1px solid #ddd;
}
