.download-diagram-section, .download-diagram-section *, .download-diagram-section *::before, .download-diagram-section *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
      
.download-diagram-section.section,
.download-diagram-section {
  min-height: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0;
  padding-bottom: 60px;
  padding-left: max(env(safe-area-inset-left), var(--hero-v2-side-gutter));
  padding-right: max(env(safe-area-inset-right), var(--hero-v2-side-gutter));
}

.download-diagram-frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 14px;
  padding: 18px 22px;
  border-radius: 28px;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.download-diagram-scroll {
  width: min(100%, var(--hero-v2-container-max));
  margin-left: auto;
  margin-right: auto;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.download-diagram-scroll-inner {
  width: fit-content;
  min-width: max-content;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 820px) {
  .download-diagram-scroll {
    width: 100dvw;
    max-width: none;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }

  .download-diagram-scroll-inner {
    padding-inline-start: max(env(safe-area-inset-left), var(--hero-v2-side-gutter));
    padding-inline-end: max(env(safe-area-inset-right), var(--hero-v2-side-gutter));
    box-sizing: border-box;
  }

}

.download-diagram-intro {
  width: min(100%, var(--hero-v2-container-max));
  margin: 0 auto 18px;
  text-align: center;
}

@media (max-width: 640px) {
  .download-diagram-intro {
    text-align: left;
  }
}

.download-diagram-title {
  margin: 0;
}

.download-diagram-caption {
  margin: 0 0 14px;
}

.download-diagram-subtitle {
  margin: 12px 0 0;
  color: rgba(245, 245, 247, 0.74);
}

.canvas {
  position: relative;
  width: 300px;
  height: 810px;
  margin-left: 0;
  margin-right: 0;
}

.diagram-content {
  position: absolute;
  left: -20px;
  top: 100px;
  width: 700px;
  height: 700px;
  transform: none;
}

.diagram-nodes-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 700px;
  height: 700px;
  z-index: 5;
}

.download-diagram-section .hero-v2-benefits-eyebrow {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  font-weight: 600;
  color: #F8F8F8;
  justify-content: center;
  text-align: center;
}

.download-diagram-section .hero-v2-benefits-eyebrow span {
  display: block;
  text-align: center;
}

.download-diagram-section .diagram-easy-setup-badge span {
  text-align: right;
}
      
.diagram-easy-setup-badge {
  position: absolute;
  left: calc(80px - 12px);
  top: 90px;
  transform: translate(-100%, -50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}
      
.diagram-briefings-badge {
  position: absolute;
  left: calc(80px + 100px + 12px);
  top: 569px;
  transform: translateY(-50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}
      
.diagram-agent-badge {
  position: absolute;
  left: calc(180px + 60px + 12px);
  top: 260px;
  transform: translateY(-50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}

.diagram-agents-center-badge {
  position: absolute;
  left: 130px;
  top: 260px;
  transform: translate(-50%, -50%);
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}
      
.diagram-agent-badge-bottom {
  position: absolute;
  left: calc(20px - 12px);
  top: 260px;
  transform: translate(-100%, -50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}
      
.diagram-memory-badge {
  position: absolute;
  left: 288px;
  top: 52px;
  transform: translate(-50%, -100%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}

.diagram-gmail-badge {
  position: absolute;
  left: calc(100px + 60px + 12px);
  top: -68px;
  transform: translateY(-50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}
      
.diagram-cloud-input-badge {
  position: absolute;
  left: calc(100px + 60px + 12px);
  top: 411px;
  transform: translateY(-50%);
  padding: 10px 18px;
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}

.diagram-cloud-transfer-badge {
  position: absolute;
  left: 209px;
  top: 411px;
  transform: translate(-50%, -50%);
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}

.diagram-smartphone-gateway-badge {
  position: absolute;
  left: 130px;
  top: 627px;
  transform: translate(-50%, 0);
  margin-bottom: 0;
  z-index: 6;
  pointer-events: none;
}

.node {
  position: absolute;
  background: #ffffff;
  border-radius: 20px;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.06),
    0 12px 28px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: floatIn 0.6s ease-out both;
}
      
.node-macbook {
  width: 100px;
  height: 100px;
  left: 80px;
  top: 40px;
}
      
.node-top {
  width: 60px;
  height: 60px;
  left: 258px;
  top: 60px;
  animation: floatIn 0.6s ease-out 0.08s both, subtleFloat 4s ease-in-out 0.7s infinite;
}
      
.node-top .top-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  opacity: 1;
  filter: brightness(0) saturate(100%);
  display: block;
}
      
.node-macbook .sf-icon {
  width: 60px;
  height: 60px;
}
      
@keyframes floatIn {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
      
@keyframes subtleFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
      
.node-macbook {
  animation: floatIn 0.6s ease-out both, subtleFloat 4s ease-in-out 0.6s infinite;
}
      
.node-iphone {
  width: 100px;
  height: 100px;
  left: 80px;
  top: 519px;
  animation: floatIn 0.6s ease-out 0.15s both, iphonePulse 2.8s ease-in-out infinite;
}
      
@keyframes iphonePulse {
  0%, 94% {
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.06),
      0 12px 28px rgba(0, 0, 0, 0.08);
    transform: scale(1);
  }
  97% {
    box-shadow:
      0 4px 16px rgba(0, 0, 0, 0.1),
      0 12px 32px rgba(0, 0, 0, 0.12);
    transform: scale(1.04);
  }
  100% {
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.06),
      0 12px 28px rgba(0, 0, 0, 0.08);
    transform: scale(1);
  }
}
      
.node-iphone .sf-icon {
  width: 44px;
  height: 44px;
}
      
.node-bridge-top {
  width: 60px;
  height: 60px;
  left: 180px;
  top: 230px;
  animation: floatIn 0.6s ease-out 0.18s both, subtleFloat 4s ease-in-out 0.8s infinite;
}
      
.node-bridge-bottom {
  width: 60px;
  height: 60px;
  left: 20px;
  top: 230px;
  animation: floatIn 0.6s ease-out 0.22s both, subtleFloat 4s ease-in-out 1s infinite;
}
      
.node-bridge-mid {
  width: 60px;
  height: 60px;
  left: 100px;
  top: 381px;
  animation: floatIn 0.6s ease-out 0.26s both, subtleFloat 4s ease-in-out 1.1s infinite;
}

.node-bridge-mid-line {
  width: 60px;
  height: 60px;
  left: 258px;
  top: 381px;
  animation: floatIn 0.6s ease-out 0.3s both, subtleFloat 4s ease-in-out 1.2s infinite;
}

.bridge-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}
      
.bridge-icon-key {
  width: 40px;
  height: 40px;
  filter: brightness(0) saturate(100%);
}
      
.connection-elbow {
  position: absolute;
  left: 0;
  top: 0;
  width: 1100px;
  height: 700px;
  pointer-events: none;
  animation: floatIn 0.6s ease-out 0.3s both;
}
      
.connection-elbow path {
  fill: none;
  stroke: #d0d0d0;
  stroke-width: 2;
  stroke-dasharray: 6 6;
  stroke-linecap: round;
}
      
.connection-elbow .signal-dot {
  fill: rgba(255, 255, 255, 0.9);
  pointer-events: none;
}
      
.connection-chip-mac {
  position: absolute;
  left: 0;
  top: 0;
  width: 1100px;
  height: 700px;
  pointer-events: none;
  animation: floatIn 0.6s ease-out 0.28s both;
}
      
.connection-chip-mac path {
  fill: none;
  stroke: #d0d0d0;
  stroke-width: 2;
  stroke-dasharray: 6 6;
  stroke-linecap: round;
}
      
.connection-chip-mac .signal-dot {
  fill: rgba(255, 255, 255, 0.9);
  pointer-events: none;
}
      
.connection-bridge {
  position: absolute;
  left: 0;
  top: 0;
  width: 1100px;
  height: 700px;
  pointer-events: none;
  animation: floatIn 0.6s ease-out 0.34s both;
}
      
.connection-bridge path {
  fill: none;
  stroke: #d0d0d0;
  stroke-width: 2;
  stroke-dasharray: 6 6;
  stroke-linecap: round;
}
      
.connection-bridge .signal-dot {
  fill: rgba(255, 255, 255, 0.9);
  pointer-events: none;
}
      
.connection-apps-mac {
  position: absolute;
  left: 0;
  top: 0;
  width: 1100px;
  height: 700px;
  pointer-events: none;
  animation: floatIn 0.6s ease-out 0.35s both;
}
      
.connection-apps-mac path {
  fill: none;
  stroke: #d0d0d0;
  stroke-width: 2;
  stroke-dasharray: 6 6;
  stroke-linecap: round;
}
      
.connection-apps-mac .signal-dot {
  fill: rgba(255, 255, 255, 0.9);
  pointer-events: none;
}
      
.node-apps {
  width: 60px;
  height: 60px;
  left: 100px;
  top: -98px;
  animation: floatIn 0.6s ease-out 0.3s both, subtleFloat 4s ease-in-out 0.9s infinite;
  overflow: hidden;
}
      
.node-apps .app-icon {
  position: absolute;
  width: 32px;
  height: 32px;
  object-fit: contain;
  opacity: 0;
  animation: iconCycle 12s ease-in-out infinite;
}
      
.node-apps .app-icon:nth-child(1) { animation-delay: 0s; }
.node-apps .app-icon:nth-child(2) { animation-delay: 2s; }
.node-apps .app-icon:nth-child(3) { animation-delay: 4s; }
.node-apps .app-icon:nth-child(4) { animation-delay: 6s; }
.node-apps .app-icon:nth-child(5) { animation-delay: 8s; }
.node-apps .app-icon:nth-child(6) { animation-delay: 10s; }
      
@keyframes iconCycle {
  0% { opacity: 0; transform: scale(0.8); }
  1.5% { opacity: 1; transform: scale(1); }
  10.5% { opacity: 1; transform: scale(1); }
  12.5% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 0; }
}
