/* Humanity Ledger landing.
   A light grey page with white cards that carry the story in order: what
   Ledger Chat is, how to start, what it does, private payments, how it
   compares, and where it runs. The three core ideas stack over one another
   as the visitor scrolls. */

.Landing_page__KlMBB,
.Landing_page__KlMBB *,
.Landing_page__KlMBB *::before,
.Landing_page__KlMBB *::after {
  box-sizing: border-box;
}

/* app/globals.css styles bare elements for older pages: h1 to h4 and p get
   other typefaces, weights and letter spacing, and every link and button
   gets a 44px minimum height on touch widths. Neutralise both inside this
   surface. The :where() keeps the reset below the specificity of the class
   rules that follow; the doubled class is only needed to outrank the
   global link and button rule. */
.Landing_page__KlMBB :where(h1, h2, h3, h4, h5, h6, p) {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.Landing_page__KlMBB.Landing_page__KlMBB a,
.Landing_page__KlMBB.Landing_page__KlMBB button {
  /* auto, not 0: auto is the initial value and keeps a flex item from
     being squeezed below its content. */
  min-height: auto;
}

/* The app shell scrolls inside a flex <main> and resets the minimum height
   of its direct children, so fill the space with flex instead. */
.Landing_page__KlMBB.Landing_page__KlMBB {
  flex: 1 0 auto;
}

.Landing_page__KlMBB {
  --page-bg: #f4f6fa;
  --card-radius: 28px;
  --card-pad: 64px;
  --gutter: 32px;

  position: relative;
  min-height: calc(100vh / var(--hl-zoom, 1));
  /* UNIFIED AZTEC NEUTRAL BACKGROUND:
     Matches ImmersiveField and body background perfectly. No cream or dark bands. */
  background: #f4f6fa;
  color: var(--hl-ink);
  font-family: var(--hl-font);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media (max-width: 760px) {
  .Landing_page__KlMBB {
    --card-radius: 22px;
    --card-pad: 28px;
    --gutter: 16px;
  }
}

.Landing_wrap__EpIi_ {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-left: max(var(--gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
}

/* ── Navigation ─────────────────────────────────────────────── */

.Landing_nav__BnBav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--page-bg) 86%, transparent);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--hl-dur) var(--hl-ease);
}

.Landing_navScrolled__kPuI0 {
  border-bottom-color: var(--hl-border);
}

.Landing_navInner__pCFX0 {
  height: 68px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.Landing_navLinks__t424q {
  display: none;
  gap: 28px;
  margin-right: auto;
  font-size: 15px;
}

/* Five links need room. Below this width they would wrap onto two lines,
   so the bar keeps only the brand and the actions. */
@media (min-width: 1120px) {
  .Landing_navLinks__t424q {
    display: flex;
  }
}

.Landing_navLinks__t424q a {
  white-space: nowrap;
  color: var(--hl-ink-2);
  text-decoration: none;
  transition: color var(--hl-dur-fast) var(--hl-ease);
}

.Landing_navLinks__t424q a:hover {
  color: var(--hl-ink);
}

.Landing_navBrand__kEXXU {
  display: inline-flex;
  margin-right: auto;
  text-decoration: none;
}

@media (min-width: 1120px) {
  .Landing_navBrand__kEXXU {
    margin-right: 8px;
  }
}

.Landing_navActions__gTo3v {
  display: flex;
  align-items: center;
  gap: 8px;
}

.Landing_navActions__gTo3v .Landing_navSecondary__lwk3Y {
  display: none;
}

@media (min-width: 640px) {
  .Landing_navActions__gTo3v .Landing_navSecondary__lwk3Y {
    display: inline-flex;
  }
}

.Landing_labelShort__FVRQV {
  display: inline;
}

.Landing_labelLong__cRJBi {
  display: none;
}

@media (min-width: 480px) {
  .Landing_labelShort__FVRQV {
    display: none;
  }
  .Landing_labelLong__cRJBi {
    display: inline;
  }
}

/* ── Buttons ────────────────────────────────────────────────── */

.Landing_btn__Q1Aji {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font: inherit;
  font-size: 15px;
  font-weight: 550;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--hl-dur-fast) var(--hl-ease), border-color var(--hl-dur-fast) var(--hl-ease),
    color var(--hl-dur-fast) var(--hl-ease);
}

.Landing_btnSm___17Id {
  height: 38px;
  padding: 0 16px;
  font-size: 14px;
}

.Landing_btnLg__DBrYv {
  height: 52px;
  padding: 0 26px;
  font-size: 16px;
}

.Landing_btnPrimary__JhffB {
  background: var(--hl-primary);
  color: #ffffff !important;
  border: 1px solid var(--hl-primary);
}

.Landing_btnPrimary__JhffB *,
.Landing_btnPrimary__JhffB span {
  color: #ffffff !important;
}

.Landing_btnPrimary__JhffB:hover {
  background: var(--hl-primary-hover);
}

.Landing_btnSecondary__0BSxs {
  background: var(--hl-bg);
  color: var(--hl-ink);
  border: 1px solid var(--hl-border-strong);
}

.Landing_btnSecondary__0BSxs:hover {
  background: var(--hl-bg-subtle);
}

.Landing_btnGhost__8OxP9 {
  background: transparent;
  color: var(--hl-ink);
  border: 1px solid transparent;
}

.Landing_btnGhost__8OxP9:hover {
  background: rgba(16, 24, 40, 0.05);
}

.Landing_textLink__HfnPo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 550;
  color: var(--hl-ink);
  text-decoration: none;
}

.Landing_textLink__HfnPo:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ── Cards ──────────────────────────────────────────────────── */

.Landing_stack__fThj6 {
  /* No z-index: a stacking context here would stop the hero map from
     blending (multiply) with the living field behind the page. */
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 20px;
  padding-top: 12px;
  padding-bottom: 20px;
}

.Landing_card__uUGsl {
  position: relative;
  min-width: 0;
  max-width: 100%;
  /* Solid pure white card: zero background bleed-through during fast scroll,
     delivering crisp 120fps compositor performance like Aztec.network. */
  background: #ffffff;
  border: 1px solid rgba(16, 24, 40, 0.08);
  border-radius: var(--card-radius);
  padding: var(--card-pad);
  box-shadow: 0 0 0 1px rgba(16, 24, 40, 0.04), 0 12px 36px -20px rgba(16, 24, 40, 0.16);
  scroll-margin-top: 96px;
}

/* Sections that sit straight on the field, like an editorial page. */
.Landing_open__PLUrU {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  content-visibility: visible;
}

/* Hero card: always visible without intrinsic size estimation */
.Landing_hero__ECmNS {
  content-visibility: visible !important;
}

/* Gentle reveal while scrolling — DESKTOP ONLY.
   On mobile/touch devices, cards render solid immediately without scroll-linked
   transforms, eliminating jank, paint lags and background flashes. */
@supports (animation-timeline: view()) {
  @media (min-width: 981px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
    .Landing_reveal__vzVVM {
      animation: Landing_reveal__vzVVM linear both;
      animation-timeline: view();
      /* A fixed distance, not a share of the card's height: tall cards would
         otherwise stay faded while their top half is already being read. */
      animation-range: entry 0px entry 220px;
    }
  }
}

@keyframes Landing_reveal__vzVVM {
  from {
    opacity: 0.65;
    transform: translateY(18px) scale(0.995);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.Landing_sectionHead__lP9nu {
  max-width: 760px;
  margin-bottom: 48px;
}

@media (max-width: 760px) {
  .Landing_sectionHead__lP9nu {
    margin-bottom: 32px;
  }
}

.Landing_eyebrow__Plkym {
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hl-ink-3);
}

.Landing_h1___X5X9 {
  margin: 0;
  font-family: var(--hl-font-display);
  font-size: clamp(50px, 7.6vw, 108px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.025em;
  text-wrap: balance;
  /* FIX: Italic glyphs' right descenders can extend beyond the content box and be
     clipped by overflow-x: clip on html. Add a small padding-right so the full
     letter including any italic overhang is always visible. */
  padding-right: 4px;
  /* Prevent text from being clipped on the right by any parent overflow: hidden */
  overflow: visible;
}

.Landing_h2__uDcZL {
  margin: 0;
  font-family: var(--hl-font-display);
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.Landing_h1___X5X9 em,
.Landing_h2__uDcZL em {
  font-style: italic;
  letter-spacing: -0.01em;
  color: var(--hl-ink);
}

.Landing_h3__fec6V {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.012em;
}

.Landing_lead__q_Aqd {
  margin: 20px 0 0;
  max-width: 640px;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.55;
  color: var(--hl-ink-2);
  text-wrap: pretty;
}

.Landing_body___M9At {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--hl-ink-2);
  text-wrap: pretty;
}

.Landing_small__X3oBW {
  font-size: 14px;
  line-height: 1.55;
  color: var(--hl-ink-3);
  text-wrap: pretty;
}

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

.Landing_hero__ECmNS {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
  padding-top: clamp(40px, 7vw, 88px);
  padding-bottom: clamp(40px, 7vw, 88px);
  overflow: hidden;
}

@media (min-width: 1024px) {
  .Landing_hero__ECmNS {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
    gap: 16px;
  }
}

.Landing_heroCtas__riCgm {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 36px;
}

.Landing_trust__3Mhn3 {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.Landing_trust__3Mhn3 li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14.5px;
  white-space: nowrap;
  color: var(--hl-ink-2);
}

.Landing_trust__3Mhn3 svg {
  color: var(--hl-ink);
  flex-shrink: 0;
}

.Landing_heroVisual__UG8MX {
  position: relative;
  min-width: 0;
}

/* On narrow screens the hero is the headline and the actions, nothing else. */
@media (max-width: 1023px) {
  .Landing_heroVisual__UG8MX {
    display: none;
  }
}

.Landing_heroMap__4xRmS {
  width: 122%;
  margin-left: -6%;
  /* The map art has a white ground; multiply lets the living field show. */
  mix-blend-mode: multiply;
}

@media (max-width: 1023px) {
  .Landing_heroMap__4xRmS {
    margin: 0 auto;
    max-width: 620px;
  }
}

.Landing_heroFloat__nlkJA {
  position: absolute;
  left: 4%;
  bottom: 6%;
  width: min(300px, 62%);
}

@media (max-width: 520px) {
  .Landing_heroFloat__nlkJA {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin-top: 8px;
  }
}

/* ── Pillars (stacking cards) ───────────────────────────────── */

.Landing_pillars__Qq7Y9 {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.Landing_pillar__5qW7j {
  position: sticky;
  top: calc(92px + var(--i, 0) * 16px);
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
  min-height: 380px;
  padding: 44px;
  border-radius: 22px;
  background: var(--hl-bg-subtle);
  border: 1px solid var(--hl-border);
  box-shadow: 0 -8px 24px -18px rgba(16, 24, 40, 0.18);
  /* Prevent content from bleeding through sticky cards stacked above */
  overflow: hidden;
  isolation: isolate;
  z-index: calc(var(--i, 0) + 2);
  background: #ffffff;
}

@media (min-width: 900px) {
  .Landing_pillar__5qW7j {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 48px;
  }
}

@media (max-width: 760px) {
  .Landing_pillar__5qW7j {
    position: relative;
    top: auto;
    min-height: 0;
    padding: 24px;
    gap: 24px;
  }
}

.Landing_pillarIcon__IvKsA {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--hl-bg);
  border: 1px solid var(--hl-border);
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}

.Landing_pillarTitle__W4sjG {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.6vw, 30px);
  line-height: 1.15;
  font-weight: 650;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

/* ── Product vignettes ──────────────────────────────────────── */

.Landing_vignette__adJdb {
  min-width: 0;
  background: var(--hl-bg);
  border: 1px solid var(--hl-border);
  border-radius: 18px;
  box-shadow: var(--hl-shadow-md);
  overflow: hidden;
}

.Landing_vHead__3B6Zj {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--hl-border);
}

.Landing_vAvatar__NXNW2 {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(150deg, #dfe3ea, #c8ced8);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--hl-ink-2);
  flex-shrink: 0;
}

.Landing_vName__c7gWt {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.Landing_vSub__5patL {
  font-size: 12px;
  color: var(--hl-ink-3);
}

.Landing_vBody__vacaM {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.Landing_vNotice__CuIhO {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 2px 0 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--hl-bg-muted);
  font-size: 12px;
  color: var(--hl-ink-2);
}

.Landing_bubbleIn__Vi3lR,
.Landing_bubbleOut__9tzPG {
  max-width: 80%;
  padding: 9px 13px;
  font-size: 14px;
  line-height: 1.45;
  border-radius: 18px;
}

.Landing_bubbleIn__Vi3lR {
  align-self: flex-start;
  background: var(--hl-bg-muted);
  color: var(--hl-ink);
  border-bottom-left-radius: 6px;
}

.Landing_bubbleOut__9tzPG {
  align-self: flex-end;
  background: var(--hl-accent);
  color: #ffffff;
  border-bottom-right-radius: 6px;
}

.Landing_vMeta__2Mr10 {
  align-self: flex-end;
  font-size: 11px;
  color: var(--hl-ink-4);
  margin-top: 2px;
}

.Landing_sig__IITY5 {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.Landing_sigTitle__brBIz {
  font-size: 15px;
  font-weight: 600;
}

.Landing_sigRows__3gyQ_ {
  border: 1px solid var(--hl-border);
  border-radius: 12px;
  overflow: hidden;
}

.Landing_sigRow__g17U6 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 10px 14px;
  font-size: 13px;
  min-width: 0;
}

.Landing_sigRow__g17U6 span:first-child {
  flex-shrink: 0;
}

.Landing_sigRow__g17U6 + .Landing_sigRow__g17U6 {
  border-top: 1px solid var(--hl-border);
}

.Landing_sigRow__g17U6 span:first-child {
  flex-shrink: 0;
  color: var(--hl-ink-3);
}

.Landing_sigRow__g17U6 span:last-child {
  font-family: var(--hl-font-mono);
  font-size: 12.5px;
  color: var(--hl-ink);
  text-align: right;
  /* Break between words ("Free, no / transaction"), never inside one. */
  overflow-wrap: anywhere;
  word-break: normal;
  min-width: 0;
}

.Landing_sigBtns__WISBc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.Landing_sigBtns__WISBc span {
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 550;
}

.Landing_sigCancel__Iwt4t {
  border: 1px solid var(--hl-border-strong);
  color: var(--hl-ink);
}

.Landing_sigSign__hTbb7 {
  background: var(--hl-primary);
  color: #ffffff;
}

.Landing_route__9_4P_ {
  padding: 28px 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: start;
  gap: 8px;
}

.Landing_node__0Ux6c {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  min-width: 0;
}

.Landing_nodeIcon__7L58E {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1px solid var(--hl-border);
  background: var(--hl-bg-subtle);
  display: grid;
  place-items: center;
}

.Landing_nodeLabel__3zY9B {
  font-size: 13px;
  font-weight: 550;
}

.Landing_nodeHint__XRvEH {
  font-size: 12px;
  color: var(--hl-ink-3);
  line-height: 1.35;
}

.Landing_wire__Owmzg {
  width: 36px;
  height: 2px;
  margin-top: 27px;
  border-radius: 2px;
  background: repeating-linear-gradient(90deg, var(--hl-ink-4) 0 6px, transparent 6px 10px);
}

@media (max-width: 640px) {
  .Landing_route__9_4P_ {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .Landing_wire__Owmzg {
    width: 2px;
    height: 22px;
    margin: 0 auto;
    margin-top: 0;
    background: repeating-linear-gradient(180deg, var(--hl-ink-4) 0 6px, transparent 6px 10px);
  }
}

.Landing_routeFoot__gUcZ0 {
  border-top: 1px solid var(--hl-border);
  padding: 12px 16px;
  font-size: 12.5px;
  color: var(--hl-ink-3);
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

/* ── Steps ──────────────────────────────────────────────────── */

.Landing_steps__0piqN {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--hl-border);
}

@media (min-width: 700px) {
  .Landing_steps__0piqN {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1100px) {
  .Landing_steps__0piqN {
    grid-template-columns: repeat(4, 1fr);
  }
}

.Landing_step__dxKRu {
  padding: 28px 28px 8px 0;
}

@media (min-width: 1100px) {
  .Landing_step__dxKRu + .Landing_step__dxKRu {
    padding-left: 28px;
    border-left: 1px solid var(--hl-border);
  }
}

@media (max-width: 1099px) {
  .Landing_step__dxKRu {
    border-bottom: 1px solid var(--hl-border);
    padding-bottom: 28px;
  }
}


@media (min-width: 700px) and (max-width: 1099px) {
  .Landing_step__dxKRu:nth-child(even) {
    padding-left: 28px;
    border-left: 1px solid var(--hl-border);
  }
}

.Landing_stepNum__2dN0o {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--hl-border-strong);
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
  font-variant-numeric: tabular-nums;
}

/* ── Feature tiles ──────────────────────────────────────────── */

.Landing_tiles__3I_Kl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 760px) {
  .Landing_tiles__3I_Kl {
    grid-template-columns: repeat(2, 1fr);
  }
}

.Landing_tile___7Bu7 {
  padding: 32px;
  border-radius: 20px;
  background: var(--hl-bg-subtle);
  border: 1px solid var(--hl-border);
  min-width: 0;
  transition: transform var(--hl-dur-slow) var(--hl-ease), box-shadow var(--hl-dur-slow) var(--hl-ease), background var(--hl-dur) var(--hl-ease);
}

@media (hover: hover) and (pointer: fine) {
  .Landing_tile___7Bu7:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -26px rgba(16, 24, 40, 0.35);
  }
}

@media (max-width: 760px) {
  .Landing_tile___7Bu7 {
    padding: 24px;
  }
}

.Landing_tileIcon__KP6_M {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--hl-bg);
  border: 1px solid var(--hl-border);
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}

/* ── Payments ───────────────────────────────────────────────── */

.Landing_split__xQMjk {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}

@media (min-width: 1024px) {
  .Landing_split__xQMjk {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    gap: 64px;
  }
}

.Landing_defs__hDX_S {
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px 40px;
}

@media (min-width: 640px) {
  .Landing_defs__hDX_S {
    grid-template-columns: repeat(2, 1fr);
  }
}

.Landing_defTitle__hhME0 {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
}

.Landing_defTag__T7cPJ {
  font-size: 13px;
  font-weight: 500;
  color: var(--hl-ink-3);
}

.Landing_note__5n3AR {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 40px;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--hl-bg-subtle);
  border: 1px solid var(--hl-border);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--hl-ink-2);
}

.Landing_note__5n3AR svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--hl-ink-2);
}

.Landing_receipt___0XiD {
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* The animation's circle fills a small part of its 800 by 600 canvas, so
   the canvas is scaled up and the centre is cropped into view. */
.Landing_receiptAnim__l3mVA {
  position: relative;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  overflow: hidden;
  border-radius: 999px;
}

.Landing_receiptAnimInner__7ubk2 {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 400px;
  height: 300px;
  transform: translate(-50%, -50%);
}

.Landing_receiptStatic__y8nGu {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: var(--hl-ink);
  color: #ffffff;
  display: grid;
  place-items: center;
}

.Landing_receiptLabel__3eGrG {
  font-size: 14px;
  color: var(--hl-ink-3);
}

.Landing_receiptAmount___tS1p {
  margin-top: 4px;
  font-size: 34px;
  font-weight: 650;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.Landing_receiptRows__YwXla {
  width: 100%;
  margin-top: 22px;
  border-top: 1px solid var(--hl-border);
  text-align: left;
}

.Landing_receiptRow__UNZOw {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 11px 0;
  font-size: 14px;
  border-bottom: 1px solid var(--hl-border);
  min-width: 0;
}

.Landing_receiptRow__UNZOw span:first-child {
  color: var(--hl-ink-3);
  flex-shrink: 0;
  max-width: 52%;
}

.Landing_receiptRow__UNZOw span:last-child {
  text-align: right;
  word-break: break-word;
  min-width: 0;
}

.Landing_receiptRow__UNZOw span:first-child {
  color: var(--hl-ink-3);
}

.Landing_receiptRow__UNZOw span:last-child {
  text-align: right;
}

/* ── Comparison ─────────────────────────────────────────────── */

.Landing_tableBox__xk6g0 {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--hl-border);
  border-radius: 18px;
}

.Landing_table__c2O1Q {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 15px;
}

.Landing_table__c2O1Q th,
.Landing_table__c2O1Q td {
  padding: 16px 20px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--hl-border);
}

.Landing_table__c2O1Q tbody tr:last-child td {
  border-bottom: 0;
}

.Landing_table__c2O1Q thead th {
  font-size: 14px;
  font-weight: 600;
  color: var(--hl-ink);
  background: var(--hl-bg-subtle);
}

.Landing_table__c2O1Q thead th:first-child {
  width: 34%;
  color: var(--hl-ink-3);
  font-weight: 500;
}

.Landing_table__c2O1Q td:first-child {
  color: var(--hl-ink);
  font-weight: 500;
}

.Landing_table__c2O1Q td {
  color: var(--hl-ink-2);
}

.Landing_ours__1_YYK {
  background: color-mix(in srgb, var(--hl-accent-subtle) 55%, transparent);
}

.Landing_cell__2LPAR {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.Landing_yes__TglY_ {
  color: var(--hl-ink);
}

.Landing_no__4r7ov {
  color: var(--hl-ink-4);
}

/* ── Checklist ──────────────────────────────────────────────── */

.Landing_checklist___crd4 {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 48px;
}

@media (min-width: 760px) {
  .Landing_checklist___crd4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.Landing_checklist___crd4 li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid var(--hl-border);
  font-size: 16px;
  color: var(--hl-ink);
}

.Landing_checklist___crd4 svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--hl-ink);
}

/* ── Platforms ──────────────────────────────────────────────── */

.Landing_platforms__TfIIg {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 700px) {
  .Landing_platforms__TfIIg {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1100px) {
  .Landing_platforms__TfIIg {
    grid-template-columns: repeat(4, 1fr);
  }
}

.Landing_platform__irwxl {
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid var(--hl-border);
  background: var(--hl-bg-subtle);
  min-width: 0;
}

.Landing_platformStatus__p5BSj {
  margin: 14px 0 8px;
  font-size: 14px;
  font-weight: 550;
  color: var(--hl-ink-3);
}

.Landing_platformLive__PDw_o {
  color: var(--hl-success);
}

.Landing_platformAction__Uv1An {
  margin-top: auto;
  padding-top: 24px;
}

/* ── Updates ────────────────────────────────────────────────── */

.Landing_updates__Isa2K {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--hl-border);
}

.Landing_update__BqIto {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px 40px;
  padding: 22px 0;
  border-bottom: 1px solid var(--hl-border);
}

@media (min-width: 900px) {
  .Landing_update__BqIto {
    grid-template-columns: 300px 1fr;
  }
}

.Landing_updateTitle__GRI6M {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

/* ── Closing ────────────────────────────────────────────────── */

.Landing_closing__mSYZq {
  text-align: center;
  padding-top: clamp(56px, 8vw, 96px);
  padding-bottom: clamp(56px, 8vw, 96px);
  overflow: hidden;
}

.Landing_closingMark__pPrTn {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
}

.Landing_closing__mSYZq .Landing_lead__q_Aqd {
  margin-inline: auto;
}

.Landing_closingCtas__rVbm5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
}

.Landing_headRow__JQn96 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.Landing_srOnly__X1Zus {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Comparison on phones: one block per feature instead of a wide table. */
.Landing_compareList__jbtg6 {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--hl-border);
}

@media (max-width: 759px) {
  .Landing_tableBox__xk6g0 {
    display: none;
  }
  .Landing_compareList__jbtg6 {
    display: block;
  }
}

.Landing_compareItem__IvcwT {
  padding: 18px 0;
  border-bottom: 1px solid var(--hl-border);
}

.Landing_compareFeature__0xK4K {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 600;
}

.Landing_compareRow___FAdw {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 5px 0;
  font-size: 15px;
  color: var(--hl-ink-2);
}

.Landing_compareRow___FAdw > span:first-child {
  color: var(--hl-ink-3);
}

.Landing_compareRowOurs__c7JNE > span:first-child {
  color: var(--hl-ink);
  font-weight: 550;
}

/* The 30-second film lives in FilmSection.module.css. */

/* Ledger Chat in 30 seconds: a live vector iPhone instead of a video.
   Every word on screen is real markup, so nothing is thin or blurred at any size. */

.FilmSection_film__LIK0F {
  background: #ffffff;
  border: 1px solid #eceef2;
}

.FilmSection_head__ONGAG {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.FilmSection_lead__lFCmM {
  margin: 16px auto 0;
  max-width: 560px;
  font-size: 18px;
  line-height: 1.5;
  color: var(--hl-ink-2, #4a505c);
}

.FilmSection_stage__nGTxh {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: 56px;
  margin-top: 48px;
}

.FilmSection_chapters__2IXHu {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.FilmSection_chapter__hKa7J {
  display: block;
  width: 100%;
  padding: 16px 18px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: background 0.25s ease;
}

/* Grid on an inner span: a <button> centres its own content box in some engines. */
.FilmSection_row__mcsLg {
  display: grid;
  width: 100%;
  grid-template-columns: 40px minmax(0, 1fr);
  -moz-column-gap: 14px;
       column-gap: 14px;
  align-items: baseline;
  text-align: left;
}

.FilmSection_chapter__hKa7J:hover {
  background: #f6f7f9;
}

.FilmSection_chapter__hKa7J:focus-visible {
  outline: 2px solid #15171c;
  outline-offset: 2px;
}

.FilmSection_active__EQkdw,
.FilmSection_active__EQkdw:hover {
  background: #f3f4f7;
}

.FilmSection_num__Ze_EH {
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #6b7280;
}

.FilmSection_active__EQkdw .FilmSection_num__Ze_EH {
  color: #15171c;
}

.FilmSection_title__ZfK6o {
  font-size: 21px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #727a88;
  transition: color 0.25s ease;
}

.FilmSection_active__EQkdw .FilmSection_title__ZfK6o {
  color: #15171c;
}

.FilmSection_text__pBDAz {
  display: block;
  grid-column: 2;
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.55;
  color: #4a505c;
}

.FilmSection_bar__IGYkg {
  grid-column: 2;
  height: 3px;
  margin-top: 14px;
  border-radius: 3px;
  background: #e4e7ec;
  overflow: hidden;
}

.FilmSection_bar__IGYkg > span {
  display: block;
  height: 100%;
  background: #15171c;
  transform-origin: left center;
}

.FilmSection_phoneWrap__14j5K {
  position: relative;
  height: min(760px, 82vh);
  min-height: 520px;
}

/* Soft studio light behind the device, like a product shot. */
.FilmSection_phoneWrap__14j5K::before {
  content: "";
  position: absolute;
  inset: 6% 4%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(82, 0, 255, 0.1), rgba(82, 0, 255, 0.03) 60%, transparent);
  filter: blur(8px);
  pointer-events: none;
}

.FilmSection_screenFade__h5I50 {
  width: 100%;
  height: 100%;
  animation: FilmSection_fadeIn__WwFhD 0.45s ease both;
}

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

.FilmSection_controls__TgWQQ {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding-left: 18px;
}

.FilmSection_play__QMUO9 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #e4e7ec;
  background: #ffffff;
  color: #15171c;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.FilmSection_play__QMUO9:focus-visible {
  outline: 2px solid #15171c;
  outline-offset: 2px;
}

.FilmSection_clock__g_0jQ {
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  color: #727a88;
}

.FilmSection_note__O4HIP {
  margin: 28px auto 0;
  max-width: 640px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
  color: #727a88;
}

@media (max-width: 900px) {
  .FilmSection_stage__nGTxh {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 32px;
  }
  .FilmSection_phoneWrap__14j5K {
    order: -1;
    height: min(620px, 72vh);
    min-height: 460px;
  }
  .FilmSection_chapter__hKa7J:not(.FilmSection_active__EQkdw) {
    display: none;
  }
  .FilmSection_controls__TgWQQ {
    justify-content: center;
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .FilmSection_screenFade__h5I50 {
    animation: none;
  }
}

