.ecosystem,
.ecosystem-info { letter-spacing: 0; }
.ecosystem *,
.ecosystem-info * { letter-spacing: 0; }
.ecosystem {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 18px;
  text-align: center;
}
.ecosystem-orbit {
  position: relative;
  width: min(530px, 100%, max(360px, calc(100svh - 300px)));
  aspect-ratio: 1;
  margin: 8px auto 0;
  isolation: isolate;
}
.ecosystem-wheel { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ecosystem-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  justify-items: center;
  align-content: center;
  width: 27%;
  aspect-ratio: 1;
  border: 1px solid #dde3dc;
  border-radius: 50%;
  background: #f4f4f2;
  box-shadow: 0 10px 24px #304d3510;
}
.ecosystem-center img { width: 61%; height: auto; display: block; }
.ecosystem-center span { font-size: 14px; color: #3c5142; font-weight: 650; margin-top: -3px; }
.ecosystem-satellite {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 20%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 4px;
  border: 1px solid #d6dfd7;
  border-radius: 50%;
  background: #fcfdfb;
  color: #465149;
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 550;
  text-align: center;
  cursor: pointer;
  transition: background 250ms, border-color 250ms, color 250ms, box-shadow 250ms, transform 250ms;
}
.ecosystem-satellite:hover { background: var(--segment-tint); border-color: var(--segment-color); }
.ecosystem-satellite[aria-selected="true"] {
  border: 2px solid var(--segment-color);
  color: var(--segment-color);
  background: var(--segment-tint);
  box-shadow: 0 0 0 5px var(--segment-tint), 0 7px 20px #263f2912;
}
.ecosystem-satellite:focus-visible,
.ecosystem-playback:focus-visible { outline: 2px solid #27628d; outline-offset: 5px; }
.ecosystem-controls { display: flex; align-items: center; justify-content: center; gap: 12px; height: 38px; margin-top: 2px; }
.ecosystem-controls[hidden] { display: none; }
.ecosystem-position { font-size: 11px; font-variant-numeric: tabular-nums; color: #737b74; }
.ecosystem-progress { width: 72px; height: 3px; overflow: hidden; border-radius: 2px; background: #dfe5dc; }
.ecosystem-progress > span { display: block; height: 100%; width: 100%; background: #477840; transform: scaleX(0); transform-origin: left; }
.ecosystem-playback { display: grid; place-items: center; padding: 0; width: 36px; height: 36px; border: 0; background: transparent; color: #58695b; cursor: pointer; border-radius: 50%; }
.ecosystem-playback:hover { background: #e4ebe2; }
.ecosystem-playback svg { width: 17px; height: 17px; }
.landing-hero.ecosystem-info {
  --ecosystem-accent: #477840;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.6fr);
  align-items: center;
  min-height: 630px;
  max-width: 1050px;
  padding: 48px 32px 64px;
  gap: 60px;
  scroll-margin-top: 24px;
}
.ecosystem-info .landing-hero-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.ecosystem-info .landing-kicker { font-size: 13px; line-height: 1.5; text-transform: none; color: var(--ecosystem-accent); font-weight: 650; }
.ecosystem-info h2 { margin: 14px 0 20px; font-size: 36px; line-height: 1.18; font-weight: 600; color: #252d29; overflow-wrap: anywhere; }
.ecosystem-info .landing-lead { margin: 0; font-size: 17px; line-height: 1.7; color: #606b62; min-height: 145px; }
.ecosystem-info .landing-hero-actions { margin-top: 22px; gap: 12px; flex-wrap: wrap; width: 100%; }
.ecosystem-info .landing-button { min-height: 46px; padding: 12px 18px; font-size: 14px; text-align: center; line-height: 1.4; }
.ecosystem-info .landing-button.primary { background: #3c5142; color: #fff; }
.ecosystem-info .landing-store-links-top { order: 5; margin-top: 26px; margin-bottom: 0; }
.ecosystem-info .landing-trust-list { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; color: #68746a; }
.ecosystem-info .landing-trust-list li { gap: 7px; }
.ecosystem-info .landing-trust-list li::before { content: ""; width: 5px; height: 5px; flex: none; border-radius: 50%; background: var(--ecosystem-accent); }
.ecosystem-info .landing-product-stage {
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
}
.ecosystem-device { width: min(235px, 100%); margin: 0; text-align: center; }
.ecosystem-device-frame { padding: 7px; border: 1px solid #3f4640; border-radius: 34px; background: #202520; box-shadow: 0 18px 36px #24332a16; }
.ecosystem-device-frame img { display: block; width: 100%; height: auto; aspect-ratio: 1320 / 2868; object-fit: contain; border-radius: 27px; background: #f4f4f2; }
.ecosystem-device figcaption { margin-top: 16px; min-height: 38px; color: #778075; font-size: 11px; line-height: 1.6; }
.ecosystem-device figcaption strong { display: block; font-weight: 550; color: #505e52; }
@media (min-width: 1600px) and (min-height: 950px) {
  .ecosystem { padding-top: 36px; }
  .ecosystem-orbit { width: 570px; }
  .ecosystem-satellite { font-size: 14px; }
}
@media (max-width: 760px) {
  .ecosystem { width: calc(100% - 32px); padding-top: 20px; padding-bottom: 12px; }
  .ecosystem-orbit { width: min(470px, 100%); margin-top: 16px; }
  .ecosystem-satellite { font-size: 12px; }
  .landing-hero.ecosystem-info { grid-template-columns: 1fr; gap: 32px; width: calc(100% - 40px); padding: 30px 0 48px; min-height: 0; }
  .ecosystem-info h2 { font-size: 30px; margin: 12px 0 16px; }
  .ecosystem-info .landing-lead { min-height: 0; font-size: 16px; line-height: 1.65; }
  .ecosystem-info .landing-hero-copy { min-height: 425px; }
  .ecosystem-info .landing-hero-actions { flex-direction: row; }
  .ecosystem-info .landing-store-links-top { margin-top: 22px; }
  .ecosystem-info .landing-product-stage { margin: 0; min-height: 0; transform: none; }
  .ecosystem-device { width: 230px; }
}
@media (max-width: 400px) {
  .ecosystem-satellite { width: 22%; font-size: 11px; gap: 3px; padding: 2px; }
  .ecosystem-center span { font-size: 11px; }
  .ecosystem-info h2 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .ecosystem-satellite { transition: none; }
}
