/* FinTech industry page-specific compositions. */
.page-fintech .industry-hero h1 { text-wrap: balance; }
.page-fintech .industry-stat:last-child { grid-column: auto; justify-self: stretch; }
.page-fintech .industry-logo--payoneer { --k: .74; }
.page-fintech .industry-logo--affirm { --k: 1.05; }
.page-fintech .industry-logo--synctera { --k: .72; }
.page-fintech .industry-logo--lendistry { --k: .84; }
.page-fintech .industry-logo--carta { --k: .98; }
.page-fintech .industry-logos li.industry-logo-dup { display: none; }

@container stats (width >= 600px) {
  .page-fintech .industry-stats__rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@container logos (width < 1100px) {
  .page-fintech .industry-logo-marquee { overflow: hidden; border-top: 1px solid var(--divider-soft); -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%); mask-image: linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%); }
  .page-fintech .industry-logo-marquee.is-ready .industry-logos { width: max-content; border-top: 0; flex-wrap: nowrap; justify-content: flex-start; column-gap: 0; animation: fintech-logo-marquee 48s linear infinite; }
  .page-fintech .industry-logo-marquee.is-ready .industry-logos li { margin-right: clamp(56px, 9vw, 88px); }
  .page-fintech .industry-logo-marquee.is-ready .industry-logos li.industry-logo-dup { display: flex; }
  .page-fintech .industry-logo-marquee.is-ready:hover .industry-logos,
  .page-fintech .industry-logo-marquee.is-ready:focus-within .industry-logos { animation-play-state: paused; }
}

@keyframes fintech-logo-marquee { to { transform: translateX(-50%); } }

.page-fintech .ft-bridge .iris-bridge__grid { align-items: center; }
.page-fintech .ft-bridge__copy { max-width: none; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; text-wrap: pretty; }

@container iris (width >= 700px) {
  .page-fintech .ft-bridge .iris-bridge__grid { grid-template-columns: minmax(0,38fr) minmax(0,62fr); align-items: start; }
  .page-fintech .ft-bridge .iris-bridge__head { align-items: flex-start; padding-top: 0; }
  .page-fintech .ft-bridge .iris-bridge__head .ico { margin-top: -4px; }
  .page-fintech .ft-bridge__copy { padding-top: 2px; }
}

/* Lightweight workflow helpers used by the four operating steps. */
.page-fintech .oge-lite { width: 100%; margin: 0; }
.page-fintech .oge-lite .wf { max-width: none; }
.page-fintech .oge-li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 10px var(--px); border-top: 1px solid var(--line); }
.page-fintech .oge-li .wf-state,
.page-fintech .oge-li .wf-flag { margin-left: 0; font-size: 13px; font-weight: 600; white-space: nowrap; }
.page-fintech .oge-li .wf-flag { color: var(--warn); }
.page-fintech .oge-tag { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-size: 14px; font-weight: 600; }
.page-fintech .oge-tag i { width: 8px; height: 8px; border-radius: 999px; background: var(--green); }
.page-fintech .oge-li.wf-row--exception .oge-tag { color: var(--ink); }
.page-fintech .oge-li.wf-row--exception .wf-flag { font-weight: 700; }
.page-fintech .oge-node { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px 12px; border: 1px solid rgba(15,24,34,.11); border-radius: 10px; background: var(--paper); }
.page-fintech .oge-node .lucide { width: 16px; height: 16px; color: var(--green-ink); }
.page-fintech .oge-node b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.page-fintech .oge-node em { display: block; color: var(--muted); font-size: 12px; font-style: normal; line-height: 1.3; white-space: nowrap; }
.page-fintech .oge-node--zw { border-color: transparent; background: var(--green-deep); color: var(--on-dark); }
.page-fintech .oge-node--zw .lucide { color: var(--lime); }
.page-fintech .oge-node--zw em { color: var(--on-dark-muted); }

.page-fintech .ft-when { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 12px var(--px); border-bottom: 1px solid var(--line); background: var(--paper); list-style: none; }
.page-fintech .ft-when li { position: relative; display: flex; align-items: center; gap: 8px; color: var(--muted-2); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.page-fintech .ft-when li + li::before { content: ""; position: absolute; top: 50%; right: calc(100% + 4px); left: -14px; height: 1px; background: var(--line-2); }
.page-fintech .ft-when i { width: 8px; height: 8px; flex: none; border: 1.5px solid var(--line-2); border-radius: 999px; background: var(--paper); }
.page-fintech .ft-when .is-now { color: var(--green-ink); }
.page-fintech .ft-when .is-now i { border-color: var(--green); background: var(--green); box-shadow: 0 0 0 3px rgba(0,171,82,.15); }

.page-fintech .ft-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(28px,48px) minmax(0,1fr); align-items: center; gap: 6px; padding: 18px var(--px); }
.page-fintech .ft-split__col { display: grid; gap: 10px; }
.page-fintech .ft-split .lic-flow { width: auto; justify-self: stretch; transform: none; }
.page-fintech .ft-split .oge-node { min-width: 0; }
.page-fintech .ft-split .oge-node b,
.page-fintech .ft-split .oge-node em { white-space: normal; }

.page-fintech .ft-del { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap; }
.page-fintech .ft-del .lucide { width: 15px; height: 15px; color: var(--green-ink); }
.page-fintech .ft-status { display: grid; grid-template-columns: 84px minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 12px; min-height: 52px; padding: 10px var(--px); border-top: 1px solid var(--line); }
.page-fintech .ft-status .wf-state,
.page-fintech .ft-status .wf-flag { margin-left: 0; font-size: 13px; font-weight: 600; white-space: nowrap; }
.page-fintech .ft-status .lic-form { justify-self: start; }
.page-fintech .ft-status .ft-del { align-self: stretch; padding-left: 14px; border-left: 1px solid var(--line); }
.page-fintech .ft-status--head { min-height: 0; padding-top: 12px; padding-bottom: 9px; background: var(--paper-2); color: var(--muted-2); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.page-fintech .ft-status--head span:last-child { padding-left: 14px; border-left: 1px solid var(--line); }
.page-fintech .ft-corr { color: var(--warn); }
.page-fintech .ft-corr .lucide { color: var(--warn-ink); }

/* Supported form coverage panel. */
.page-fintech .ft-cov { padding: clamp(48px,4.6vw,72px) 0; background: var(--white); }
.page-fintech .ft-cov__panel { display: grid; grid-template-columns: minmax(0,1fr); overflow: hidden; border-radius: 24px; background: var(--green-deep); }
.page-fintech .ft-cov__anchor { position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; padding: clamp(32px,3.4vw,52px) clamp(32px,3.4vw,56px); }
.page-fintech .ft-cov__geo { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(60% 70% at 0% 0%,rgba(0,171,82,.18),transparent 70%); }
.page-fintech .ft-cov__geo::before { content: ""; position: absolute; right: -1px; bottom: -1px; width: clamp(96px,9vw,136px); height: clamp(64px,6vw,90px); background: linear-gradient(135deg,rgba(0,171,82,.9),rgba(0,129,74,.9)); clip-path: polygon(100% 0,100% 100%,0 100%); }
.page-fintech .ft-cov__geo::after { content: ""; position: absolute; right: clamp(104px,9.8vw,148px); bottom: 0; width: clamp(36px,3.4vw,50px); height: clamp(24px,2.3vw,34px); background: var(--lime); opacity: .85; clip-path: polygon(100% 0,100% 100%,0 100%); }
.page-fintech .ft-cov__title { display: flex; flex-direction: column; gap: 14px; margin: 0; color: var(--on-dark); font-family: var(--serif); font-weight: 400; }
.page-fintech .ft-cov__num { color: #fff; font-size: clamp(88px,8.4vw,128px); font-variant-numeric: lining-nums; letter-spacing: -.035em; line-height: .86; }
.page-fintech .ft-cov__lbl { max-width: none; color: var(--on-dark); font-size: clamp(26px,2.2vw,34px); letter-spacing: -.015em; line-height: 1.12; text-wrap: balance; }
.page-fintech .ft-cov__stage { overflow: hidden; padding: clamp(24px,2.6vw,40px) clamp(24px,3.4vw,56px); border: 0; border-radius: 0; }
.page-fintech .ft-cov__docs { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.page-fintech .ft-doc { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; min-height: 148px; padding: 20px 22px 18px; border: 1px solid rgba(15,24,34,.1); border-radius: 12px; background: var(--paper); box-shadow: 0 1px 0 rgba(15,24,34,.03),0 12px 28px -14px rgba(12,51,30,.22); }
.page-fintech .ft-doc::before { content: ""; position: absolute; top: 0; right: 18px; left: 18px; height: 3px; border-radius: 0 0 3px 3px; background: var(--green); }
.page-fintech .ft-doc::after { content: ""; position: absolute; top: -1px; right: -1px; width: 22px; height: 22px; border-bottom-left-radius: 6px; background: linear-gradient(225deg,#f3f7f4 0 50%,#e3eae5 50% 100%); }
.page-fintech .ft-doc__code { color: var(--ink); font-family: var(--sans); font-size: clamp(24px,2vw,30px); font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -.01em; line-height: 1.05; white-space: nowrap; }
.page-fintech .ft-doc__act { color: var(--green-ink); font-size: 15.5px; font-weight: 500; line-height: 1.35; }
.page-fintech .ft-doc__lines { display: grid; gap: 7px; margin-top: auto; padding-top: 14px; }
.page-fintech .ft-doc__lines i { display: block; height: 5px; border-radius: 3px; background: var(--line); }
.page-fintech .ft-doc__lines i:nth-child(2) { width: 78%; }
.page-fintech .ft-doc__lines i:nth-child(3) { width: 88%; }
.page-fintech .ft-doc__lines i:nth-child(4) { width: 46%; }

/* Embedded reporting composition. */
.page-fintech .ft-embed__grid { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 40px; }
.page-fintech .ft-embed__grid .eyebrow + .h2 { margin-top: 14px; }
.page-fintech .ft-embed__grid .body-copy { max-width: 56ch; margin-top: 20px; }
.page-fintech .ft-embed__grid > figure { margin: 0; }
.page-fintech .ft-app__tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px var(--px) 18px; }
.page-fintech .ft-tile { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-2); color: var(--ink); font-size: 14px; font-weight: 600; }
.page-fintech .ft-tile .lucide { width: 17px; height: 17px; color: var(--green-ink); }
.page-fintech .ft-api { display: flex; flex-direction: column; align-items: center; padding: 4px 0; }
.page-fintech .ft-api__line { width: 2px; height: 16px; background: var(--green); opacity: .55; }
.page-fintech .ft-api__pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border: 1px solid rgba(0,129,74,.28); border-radius: 999px; background: var(--paper); color: var(--green-ink); font-size: 13px; font-weight: 700; }
.page-fintech .ft-api__pill .lucide { width: 15px; height: 15px; }
.page-fintech .ft-zw { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: var(--r-md); background: var(--green-deep); color: var(--on-dark); }
.page-fintech .ft-zw .lucide { width: 18px; height: 18px; color: var(--lime); }
.page-fintech .ft-zw b { display: block; font-size: 15px; font-weight: 600; }
.page-fintech .ft-zw em { display: block; color: var(--on-dark-muted); font-size: 13px; font-style: normal; }

@media (min-width: 1000px) {
  .page-fintech .ft-embed__grid { grid-template-columns: minmax(0,5fr) minmax(0,6fr); gap: clamp(48px,6vw,88px); }
}

@container fit (width >= 760px) {
  .page-fintech .enterprise-fit__grid.ft-fit { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap: clamp(28px,3.4vw,48px); }
  .page-fintech .ft-fit .enterprise-fit__divider { width: 1px; height: auto; align-self: stretch; }
}

@container fit (width < 760px) {
  .page-fintech .enterprise-fit__grid.ft-fit { grid-template-columns: minmax(0,1fr); }
  .page-fintech .ft-fit .enterprise-fit__divider { width: 100%; height: 1px; }
}

.page-fintech .ft-fit p { font-size: 16px; }
.page-fintech .faq__intro { position: static; top: auto; }

@media (min-width: 1024px) {
  .page-fintech .ft-cov__panel { grid-template-columns: minmax(0,32fr) minmax(0,68fr); min-height: 400px; }
  .page-fintech .ft-cov__docs { grid-template-columns: repeat(6,minmax(0,1fr)); align-content: center; gap: 0 18px; height: 100%; }
  .page-fintech .ft-doc { grid-row: 1; }
  .page-fintech .ft-doc--1 { grid-column: 1 / span 2; }
  .page-fintech .ft-doc--2 { grid-column: 3 / span 2; transform: translateY(-10px); }
  .page-fintech .ft-doc--3 { grid-column: 5 / span 2; }
  .page-fintech .ft-doc--4,
  .page-fintech .ft-doc--5 { grid-row: 2; z-index: 1; margin-top: -30px; }
  .page-fintech .ft-doc--4 { grid-column: 2 / span 2; }
  .page-fintech .ft-doc--5 { grid-column: 4 / span 2; }
  .page-fintech .ft-doc--2::before,
  .page-fintech .ft-doc--4::before { background: var(--lime); }
}

@media (min-width: 600px) and (max-width: 1023px) {
  .page-fintech .ft-cov__docs { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
  .page-fintech .ft-doc--1,
  .page-fintech .ft-doc--2,
  .page-fintech .ft-doc--3 { grid-column: span 2; }
  .page-fintech .ft-doc--4,
  .page-fintech .ft-doc--5 { grid-column: span 3; }
}

@media (max-width: 1023px) {
  .page-fintech .ft-cov { padding: clamp(40px,7vw,56px) 0; }
  .page-fintech .ft-cov__anchor { padding: 22px 24px; }
  .page-fintech .ft-cov__title { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
  .page-fintech .ft-cov__num { font-size: clamp(48px,9vw,64px); }
  .page-fintech .ft-cov__lbl { font-size: clamp(20px,3.4vw,26px); }
  .page-fintech .ft-cov__geo::before { width: 72px; height: 48px; }
  .page-fintech .ft-cov__geo::after { right: 78px; width: 28px; height: 18px; }
  .page-fintech .ft-cov__stage { padding: 18px; }
  .page-fintech .ft-doc { min-height: 0; gap: 4px; padding: 16px 16px 14px; }
  .page-fintech .ft-doc__lines { display: none; }
  .page-fintech .ft-doc__code { font-size: 22px; }
  .page-fintech .ft-doc__act { font-size: 14.5px; }
}

@media (max-width: 599px) {
  .page-fintech .ft-cov__docs { gap: 10px; }
  .page-fintech .ft-doc--5 { grid-column: 1 / -1; }
  .page-fintech .ft-doc { padding: 14px 14px 12px; }
  .page-fintech .ft-doc__code { font-size: 20px; }
}

@container canvas (width < 420px) {
  .page-fintech .ft-when li { gap: 6px; font-size: 11.5px; }
  .page-fintech .ft-status { grid-template-columns: 64px minmax(0,1fr); }
  .page-fintech .ft-status > :last-child { grid-column: 2; border-left: 0; padding-left: 0; }
  .page-fintech .ft-status--head { display: none; }
  .page-fintech .ft-split { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .page-fintech .ft-split .lic-flow { width: 18px; margin-left: 14px; justify-self: start; transform: rotate(90deg); }
}

@media (prefers-reduced-motion: reduce) {
  .page-fintech .industry-logo-marquee.is-ready .industry-logos { width: auto; animation: none !important; flex-wrap: wrap; justify-content: center; column-gap: clamp(28px,6vw,48px); }
  .page-fintech .industry-logo-marquee.is-ready .industry-logos li { margin-right: 0; }
  .page-fintech .industry-logo-marquee.is-ready .industry-logos li.industry-logo-dup { display: none !important; }
}
