/* Scoped copy of the live tapapay.app TapaGo connected-ecosystem section. */
.home-dark-preview .tapago-ecosystem {
  position: relative;
  padding: 5.5rem 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(31, 87, 255, 0.18), transparent 24%),
    linear-gradient(180deg, #050608 0%, #050608 100%);
}

.home-dark-preview .tapago-ecosystem,
.home-dark-preview .tapago-ecosystem h2,
.home-dark-preview .tapago-ecosystem p,
.home-dark-preview .tapago-ecosystem div,
.home-dark-preview .tapago-ecosystem span {
  color: #fff;
}

.home-dark-preview .tapago-ecosystem .eyebrow {
  margin-bottom: 1rem;
  color: #67c46a;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: start;
  margin-bottom: 3rem;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__title-wrap h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(1.9rem, 3.6vw, 3.2rem);
  line-height: .98;
  letter-spacing: -.07em;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__muted,
.home-dark-preview .tapago-ecosystem .tapapay-customise__strong {
  display: block;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__muted {
  color: #fff;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__strong {
  color: rgba(255, 255, 255, .62);
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__cta {
  display: flex;
  justify-content: flex-end;
  padding-top: 2.15rem;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__showcase {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: stretch;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 170px;
  gap: 1.15rem;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::before,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  opacity: .28;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::before {
  top: 85px;
  bottom: 85px;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(87,136,255,.08), rgba(87,136,255,.72), rgba(87,136,255,.08));
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::after {
  left: calc(33.333% + .6rem);
  right: calc(33.333% + .6rem);
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, rgba(87,136,255,.08), rgba(87,136,255,.72), rgba(87,136,255,.08));
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: .8rem;
  padding: 1.25rem 1.35rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  background: #070809;
  color: rgba(255,255,255,.66);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  font-size: .98rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  animation: tapago-mosaic-pulse 11s ease-in-out infinite;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card:hover,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card:focus-visible {
  border-color: rgba(103,196,106,.72);
  color: #fff;
  outline: none;
  transform: translateY(-2px);
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 0 0 3px rgba(103,196,106,.28);
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card img {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  object-fit: contain;
  opacity: .94;
  filter: brightness(0) invert(1);
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card span {
  display: block;
  min-width: 0;
  text-align: center;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::before,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--pos { grid-column:1; grid-row:1; animation-delay:0s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--payments { grid-column:2; grid-row:1; animation-delay:1.1s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--reservations { grid-column:3; grid-row:1; animation-delay:2.2s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--voice { grid-column:1; grid-row:2; animation-delay:3.3s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--core {
  grid-column:2;
  grid-row:2;
  border-color:rgba(47,102,255,.24);
  background:radial-gradient(circle at center,rgba(23,78,214,.36),rgba(5,13,34,.96) 72%),#081025;
  box-shadow:inset 0 0 0 1px rgba(87,136,255,.1),0 18px 40px rgba(8,18,48,.28);
  animation-name:tapago-mosaic-core-pulse;
  animation-delay:8.8s;
}
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--insights { grid-column:3; grid-row:2; animation-delay:4.4s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--connectivity { grid-column:1; grid-row:3; animation-delay:5.5s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--inventory { grid-column:2; grid-row:3; animation-delay:6.6s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--integrations { grid-column:3; grid-row:3; animation-delay:7.7s; }

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--voice::after,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--pos::after {
  top:50%; right:-1.15rem; width:1.15rem; height:1px; transform:translateY(-50%);
  background:linear-gradient(90deg,rgba(97,145,255,0),rgba(97,145,255,.95));
  animation:tapago-connector-pulse 11s ease-in-out infinite;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--insights::before {
  top:50%; left:-1.15rem; width:1.15rem; height:1px; transform:translateY(-50%);
  background:linear-gradient(90deg,rgba(97,145,255,.95),rgba(97,145,255,0));
  animation:tapago-connector-pulse 11s ease-in-out infinite;
  animation-delay:4.4s;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--connectivity::after,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--inventory::after,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--integrations::after {
  top:-1.15rem; left:50%; width:1px; height:1.15rem; transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(97,145,255,.95),rgba(97,145,255,0));
  animation:tapago-connector-pulse 11s ease-in-out infinite;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--payments::after,
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--reservations::after {
  bottom:-1.15rem; left:50%; width:1px; height:1.15rem; transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(97,145,255,0),rgba(97,145,255,.95));
  animation:tapago-connector-pulse 11s ease-in-out infinite;
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--payments::after { animation-delay:1.1s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--reservations::after { animation-delay:2.2s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--voice::after { animation-delay:3.3s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--connectivity::after { animation-delay:5.5s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--inventory::after { animation-delay:6.6s; }
.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--integrations::after { animation-delay:7.7s; }

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--core .go-ecosystem__core-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(72%,220px);
}

.home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--core .go-ecosystem__core-logo img {
  width:100%;
  height:auto;
  max-height:72px;
  flex:none;
  object-fit:contain;
  opacity:1;
  filter:none;
}

@keyframes tapago-mosaic-pulse {
  0%,8%,100% { transform:translateY(0); border-color:rgba(255,255,255,.1); background:#070809; color:rgba(255,255,255,.66); }
  3%,5% { transform:translateY(-2px); border-color:rgba(87,136,255,.28); background:linear-gradient(180deg,rgba(12,18,32,.98),rgba(9,14,24,.98)); color:rgba(255,255,255,.96); box-shadow:inset 0 0 0 1px rgba(87,136,255,.08),0 0 0 1px rgba(32,92,255,.14),0 18px 36px rgba(16,34,84,.18); }
}

@keyframes tapago-mosaic-core-pulse {
  0%,10%,100% { transform:translateY(0); border-color:rgba(47,102,255,.24); background:radial-gradient(circle at center,rgba(23,78,214,.36),rgba(5,13,34,.96) 72%),#081025; }
  4%,7% { transform:translateY(-3px); border-color:rgba(112,154,255,.42); background:radial-gradient(circle at center,rgba(36,104,255,.54),rgba(7,17,48,.98) 72%),#0a1535; }
}

@keyframes tapago-connector-pulse {
  0%,8%,100% { opacity:0; box-shadow:none; }
  3%,5% { opacity:1; box-shadow:0 0 18px rgba(86,134,255,.7),0 0 28px rgba(86,134,255,.4); }
}

@media (max-width:1100px) {
  .home-dark-preview .tapago-ecosystem .tapapay-customise__header { grid-template-columns:1fr; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__cta { justify-content:flex-start; padding-top:0; }
}

@media (max-width:700px) {
  .home-dark-preview .tapago-ecosystem { padding:4rem 0; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__header { gap:1.25rem; margin-bottom:2rem; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__title-wrap h2 { max-width:none; font-size:clamp(2.05rem,9vw,3rem); }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__showcase { gap:1.5rem; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:.85rem; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card { grid-column:auto !important; grid-row:auto !important; min-height:92px; padding:1rem; border-radius:22px; font-size:.95rem; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::before,
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::after,
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::before,
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-grid::after { display:none; }
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card--core { min-height:120px; }
}

@media (prefers-reduced-motion:reduce) {
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card,
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::before,
  .home-dark-preview .tapago-ecosystem .tapapay-customise__mosaic-card::after { animation:none !important; }
}
