/* Ecosystem page */
.ecosystem-page .section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  color:var(--primary);
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ecosystem-page .hero-split.ecosystem-hero__grid{
  align-items:center;
}
.ecosystem-hero__panel{
  display:grid;
  gap:22px;
  padding:26px;
  border:1px solid #dfe8f5;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(246,250,255,.92));
  box-shadow:0 22px 60px rgba(15,23,42,.08);
}
.ecosystem-hero__panel p{
  margin:0;
  color:#526683;
  font-size:16px;
  line-height:1.55;
}
.ecosystem-orbit{
  position:relative;
  min-height:360px;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 50%,rgba(37,83,232,.16) 0,rgba(37,83,232,.08) 22%,transparent 42%),
    radial-gradient(circle at 80% 18%,rgba(255,205,58,.32),transparent 26%),
    linear-gradient(135deg,#f5f9ff,#ffffff 58%,#edf4ff);
  overflow:hidden;
}
.ecosystem-orbit::before,
.ecosystem-orbit::after{
  content:"";
  position:absolute;
  inset:46px;
  border:1px dashed rgba(37,83,232,.24);
  border-radius:50%;
}
.ecosystem-orbit::after{
  inset:86px;
  border-style:solid;
  opacity:.7;
}
.ecosystem-orbit__core,
.ecosystem-orbit__node{
  position:absolute;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:999px;
  font-weight:950;
  letter-spacing:-.02em;
  box-shadow:0 14px 34px rgba(37,83,232,.12);
}
.ecosystem-orbit__core{
  left:50%;
  top:50%;
  width:116px;
  height:116px;
  transform:translate(-50%,-50%);
  background:linear-gradient(135deg,#2553E8,#5a4ff0);
  color:#fff;
  font-size:22px;
}
.ecosystem-orbit__node{
  min-width:96px;
  min-height:46px;
  padding:10px 14px;
  background:#fff;
  border:1px solid #dce7f5;
  color:#102243;
  font-size:13px;
}
.ecosystem-orbit__node--strategy{left:8%;top:16%;}
.ecosystem-orbit__node--finance{right:7%;top:18%;}
.ecosystem-orbit__node--sales{left:5%;bottom:20%;}
.ecosystem-orbit__node--digital{right:5%;bottom:19%;}
.ecosystem-orbit__node--people{left:50%;bottom:6%;transform:translateX(-50%);}
.ecosystem-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.ecosystem-card{
  position:relative;
  min-height:270px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:radial-gradient(circle at 92% 0%,rgba(37,83,232,.08),transparent 30%),#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.065);
}
.ecosystem-card > span{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  border-radius:14px;
  background:#eef4ff;
  color:#2553E8;
  font-weight:950;
}
.ecosystem-card h3{margin-bottom:12px;}
.ecosystem-card p{margin:0 0 20px;}
.ecosystem-card a{margin-top:auto;}
.ecosystem-stats .ecosystem-stat strong{
  display:inline-flex;
  margin-bottom:14px;
  color:#2553E8;
  font-size:28px;
  font-weight:950;
  letter-spacing:-.04em;
}
.ecosystem-operating-model{
  background:linear-gradient(180deg,#ffffff,#f6f9ff);
}
.ecosystem-steps{
  display:grid;
  gap:14px;
}
.ecosystem-steps div{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:4px 18px;
  align-items:start;
  padding:20px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.055);
}
.ecosystem-steps b{
  grid-row:1 / span 2;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#2553E8,#5a4ff0);
  color:#fff;
  font-size:20px;
  font-weight:950;
}
.ecosystem-steps strong{
  color:#102243;
  font-size:18px;
  font-weight:950;
}
.ecosystem-steps span{
  color:#61718a;
  font-size:15px;
  line-height:1.45;
}
.ecosystem-format-grid .callout-card{
  min-height:210px;
}
.ecosystem-network{
  background:#fff;
}
.ecosystem-partner-slots{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ecosystem-partner-slots div{
  min-height:112px;
  display:grid;
  place-items:center;
  padding:18px;
  border:1px dashed #b9c9df;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfdff,#f6f9ff);
  color:#526683;
  text-align:center;
  font-weight:850;
}
.ecosystem-cta{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.ecosystem-cta h2{
  max-width:780px;
}
.ecosystem-cta p{
  max-width:760px;
  margin-top:16px;
}
@media (max-width:900px){
  .ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ecosystem-orbit{min-height:320px;}
  .ecosystem-cta{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .ecosystem-grid,
  .ecosystem-partner-slots{grid-template-columns:1fr;}
  .ecosystem-card{min-height:auto;padding:22px;}
  .ecosystem-orbit{min-height:280px;}
  .ecosystem-orbit__core{width:96px;height:96px;font-size:19px;}
  .ecosystem-orbit__node{min-width:82px;font-size:12px;}
  .ecosystem-steps div{grid-template-columns:44px 1fr;padding:16px;}
  .ecosystem-steps b{width:44px;height:44px;}
}
/* /Ecosystem page */


/* Ecosystem full partner platform page */
.ecosystem-hero--full .lead{max-width:790px;}
.ecosystem-legal-note{
  margin:22px 0 0;
  padding:14px 16px;
  border:1px solid rgba(37,83,232,.18);
  border-radius:16px;
  background:rgba(37,83,232,.055);
  color:#526683;
  font-size:14px;
  line-height:1.5;
}
.ecosystem-hero__panel--stack{
  position:relative;
  overflow:hidden;
}
.ecosystem-stack-visual{
  position:relative;
  min-height:360px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(4,1fr);
  gap:12px;
  padding:22px;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 50%,rgba(37,83,232,.18),transparent 38%),
    radial-gradient(circle at 88% 12%,rgba(255,205,58,.34),transparent 28%),
    linear-gradient(135deg,#f6f9ff,#fff 58%,#edf4ff);
  border:1px solid #dfe8f5;
}
.ecosystem-stack-visual::before{
  content:"";
  position:absolute;
  inset:20px;
  border:1px dashed rgba(37,83,232,.24);
  border-radius:24px;
  pointer-events:none;
}
.ecosystem-stack-visual span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  min-height:64px;
  padding:12px;
  border:1px solid rgba(210,222,240,.92);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 38px rgba(15,23,42,.08);
  color:#102243;
  font-weight:950;
  letter-spacing:-.02em;
}
.ecosystem-stack-visual__core{
  grid-column:2 / span 2;
  grid-row:2 / span 2;
  background:linear-gradient(135deg,#2553E8,#5a4ff0)!important;
  color:#fff!important;
  font-size:26px;
}
.ecosystem-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ecosystem-hero-metrics div{
  padding:16px;
  border:1px solid #dfe8f5;
  border-radius:18px;
  background:#fff;
}
.ecosystem-hero-metrics strong{
  display:block;
  color:#2553E8;
  font-size:32px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
}
.ecosystem-hero-metrics span{
  display:block;
  margin-top:8px;
  color:#61718a;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
.ecosystem-stats--dark .callout-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.ecosystem-platforms{
  background:linear-gradient(180deg,#fff,#f6f9ff 36%,#fff);
}
.ecosystem-platform-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.ecosystem-platform-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:420px;
  padding:28px;
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:
    radial-gradient(circle at 96% 0%,rgba(37,83,232,.09),transparent 26%),
    #fff;
  box-shadow:0 20px 58px rgba(15,23,42,.07);
  overflow:hidden;
}
.ecosystem-platform-card::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-90px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(255,205,58,.13);
  pointer-events:none;
}
.ecosystem-platform-card__head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}
.ecosystem-platform-card__head > span{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#2553E8,#5a4ff0);
  color:#fff;
  font-weight:950;
  box-shadow:0 14px 30px rgba(37,83,232,.2);
}
.ecosystem-platform-card h3{
  margin:0;
  color:#102243;
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.035em;
}
.ecosystem-platform-card__head p{
  margin:8px 0 0;
  color:#6a7a90;
  font-size:14px;
  line-height:1.42;
  font-weight:800;
}
.ecosystem-platform-card__desc{
  position:relative;
  z-index:1;
  margin:0 0 20px;
  color:#526683;
  font-size:15px;
  line-height:1.58;
}
.ecosystem-tool-cloud{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}
.ecosystem-tool-cloud span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid #dbe6f4;
  border-radius:999px;
  background:#f8fbff;
  color:#263b5c;
  font-size:13px;
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}
.ecosystem-blueprint{
  background:#fff;
}
.ecosystem-blueprint-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.ecosystem-blueprint-grid article{
  min-height:230px;
  padding:26px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 18px 48px rgba(15,23,42,.06);
}
.ecosystem-blueprint-grid span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border-radius:14px;
  background:#eef4ff;
  color:#2553E8;
  font-weight:950;
}
.ecosystem-blueprint-grid h3{margin-bottom:12px;}
.ecosystem-blueprint-grid p{margin:0;}
.ecosystem-scenario-list{
  display:grid;
  gap:12px;
}
.ecosystem-scenario-list div{
  padding:18px 20px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.055);
}
.ecosystem-scenario-list b{
  display:block;
  margin-bottom:6px;
  color:#102243;
  font-size:17px;
  font-weight:950;
}
.ecosystem-scenario-list span{
  display:block;
  color:#61718a;
  font-size:14px;
  line-height:1.45;
}
.ecosystem-principles{
  background:linear-gradient(180deg,#f6f9ff,#fff);
}
@media (max-width:980px){
  .ecosystem-platform-grid,
  .ecosystem-blueprint-grid{grid-template-columns:1fr;}
  .ecosystem-platform-card{min-height:auto;}
  .ecosystem-hero-metrics{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .ecosystem-stack-visual{min-height:300px;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;padding:16px;}
  .ecosystem-stack-visual__core{grid-column:1 / span 2;grid-row:auto;}
  .ecosystem-stack-visual span{min-height:52px;font-size:13px;}
  .ecosystem-platform-card{padding:22px;border-radius:22px;}
  .ecosystem-platform-card__head{grid-template-columns:44px 1fr;gap:14px;}
  .ecosystem-platform-card__head > span{width:44px;height:44px;border-radius:14px;}
  .ecosystem-platform-card h3{font-size:21px;}
  .ecosystem-tool-cloud span{font-size:12px;min-height:30px;}
  .ecosystem-blueprint-grid article{min-height:auto;padding:22px;}
}
/* /Ecosystem full partner platform page */


/* Ecosystem logo-wall page */
.ecosystem-logo-hero{position:relative;padding:96px 0 86px;background:radial-gradient(circle at 78% 20%, rgba(37,83,232,.16), transparent 34%),linear-gradient(135deg,#f8fbff 0%,#ffffff 48%,#eef4ff 100%);border-bottom:1px solid #e6eefb;overflow:hidden;}
.ecosystem-logo-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,520px);gap:52px;align-items:center;}
.ecosystem-logo-hero .crumb{display:inline-flex;margin-bottom:18px;color:var(--primary);font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.ecosystem-logo-hero .page-hero__copy h1{max-width:760px;}
.ecosystem-logo-hero .page-hero__copy p{max-width:660px;margin-top:24px;color:#52627a;font-size:20px;line-height:1.62;}
.ecosystem-logo-hero .page-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.ecosystem-featured-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;border:1px solid rgba(37,83,232,.12);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 28px 70px rgba(15,23,42,.12);backdrop-filter:blur(18px);}
.ecosystem-featured-wall .ecosystem-logo-card{min-height:118px;}
.ecosystem-summary .section-header p{max-width:840px;margin:18px auto 0;color:#52627a;font-size:18px;line-height:1.65;text-align:center;}
.ecosystem-direction-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px;}
.ecosystem-direction-nav a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid #dfe8f7;border-radius:999px;background:#fff;color:#16305f;font-size:13px;font-weight:850;box-shadow:0 6px 18px rgba(15,23,42,.04);}
.ecosystem-direction-nav a:hover{border-color:#9fb8ff;color:var(--blue-2);}
.ecosystem-logo-section{padding-top:72px;}
.ecosystem-logo-section__head{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:start;margin-bottom:28px;}
.ecosystem-logo-section__head h2{text-align:left;font-size:34px;line-height:1.12;}
.ecosystem-logo-section__head p{max-width:820px;margin-top:12px;color:#52627a;font-size:17px;line-height:1.62;}
.ecosystem-logo-section__num{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#2553e8,#884cff);color:#fff;font-weight:900;box-shadow:0 18px 36px rgba(37,83,232,.20);}
.ecosystem-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.ecosystem-logo-card{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px 12px;border:1px solid #e4ebf6;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;color:#102243;text-align:center;}
.ecosystem-logo-card:hover{transform:translateY(-3px);border-color:#bfd0ff;box-shadow:0 18px 42px rgba(37,83,232,.10);}
.ecosystem-logo-card__mark{width:54px;height:54px;border-radius:16px;background:#f7faff;border:1px solid #edf2fb;display:grid;place-items:center;overflow:hidden;}
.ecosystem-logo-card__mark img{width:38px;height:38px;object-fit:contain;display:block;}
.ecosystem-logo-card__name{font-size:13px;font-weight:850;line-height:1.25;color:#172641;}
.ecosystem-blueprint-grid,.ecosystem-scenario-list{margin-top:34px;}
@media (max-width:1180px){.ecosystem-logo-grid{grid-template-columns:repeat(5,minmax(0,1fr));}.ecosystem-logo-hero__grid{grid-template-columns:1fr;gap:34px;}.ecosystem-featured-wall{max-width:720px;}}
@media (max-width:900px){.ecosystem-logo-hero{padding:70px 0 62px;}.ecosystem-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.ecosystem-logo-section__head{grid-template-columns:1fr;}.ecosystem-logo-section__head h2{text-align:left;}.ecosystem-featured-wall{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.ecosystem-logo-hero{padding:54px 0 48px;}.ecosystem-logo-hero .page-hero__copy p{font-size:17px;line-height:1.55;}.ecosystem-logo-hero .page-hero__actions{display:grid;grid-template-columns:1fr;}.ecosystem-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.ecosystem-featured-wall{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;}.ecosystem-featured-wall .ecosystem-logo-card:nth-child(n+7){display:none;}.ecosystem-logo-card{min-height:112px;padding:14px 8px;border-radius:15px;}.ecosystem-logo-card__mark{width:48px;height:48px;border-radius:14px;}.ecosystem-logo-card__mark img{width:34px;height:34px;}.ecosystem-logo-section__head h2{font-size:27px;}.ecosystem-logo-section__head p{font-size:15px;}.ecosystem-direction-nav{justify-content:flex-start;}.ecosystem-direction-nav a{font-size:12px;min-height:38px;padding-inline:12px;}}

/* Ecosystem logo reliability patch */
.ecosystem-logo-card__mark{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;isolation:isolate;}
.ecosystem-logo-card__mark img{display:block;width:42px;height:42px;object-fit:contain;filter:none;}
.ecosystem-featured-wall .ecosystem-logo-card__mark img{width:50px;height:50px;}
.ecosystem-logo-card__fallback{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,rgba(37,83,232,.14),rgba(94,234,212,.16));border:1px solid rgba(37,83,232,.18);color:#17356c;font-weight:900;font-size:13px;letter-spacing:-.02em;text-align:center;line-height:1;}
.ecosystem-featured-wall .ecosystem-logo-card__fallback{width:54px;height:54px;border-radius:17px;font-size:14px;}
.ecosystem-logo-card__mark.is-text-logo .ecosystem-logo-card__fallback{display:flex;}
.ecosystem-logo-card__name{display:block;max-width:100%;overflow-wrap:anywhere;text-align:center;}
.ecosystem-logo-card{position:relative;}
.ecosystem-logo-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;}
