/* Duas áreas de composição dentro da largura compartilhada do site. */
body .home-index .home-welcome {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 80px);
  align-items: center;
  background: radial-gradient(ellipse at 76% 50%, #10334b 0%, #071f37 42%, #071521 85%);
}
.home-index .home-welcome-copy { justify-self: center; width: 100%; }
.home-index .home-welcome-background { opacity: .08; }
.home-index .home-welcome:before { background: linear-gradient(90deg, rgba(5,24,39,.5), rgba(5,24,39,.12)); }
.home-platform { position: relative; z-index: 2; width: min(100%, 680px); justify-self: center; }
.home-platform-diagram { display: block; width: 100%; height: auto; overflow: visible; }
.platform-halo { fill: none; stroke: #5fb9da; stroke-opacity: .08; stroke-width: 40; }
.platform-orbit { fill: none; stroke: #5bb5de; stroke-opacity: .18; stroke-width: 1; stroke-dasharray: 3 12; transform-origin: 320px 280px; animation: platform-orbit-turn 60s linear infinite; }
.platform-orbit .platform-orbit-marker { fill: #63e6be; stroke: none; }
.platform-links { fill: none; stroke: url(#platform-link-light); stroke-width: 1.4; opacity: .35; }
.platform-signals { fill: none; stroke: #8ce8ef; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 12 310; animation: platform-signal-flow 9s linear infinite; }
.platform-signals path:nth-child(2n) { stroke: #63e6be; }
.platform-core-ring { fill: none; stroke: #63e6be; stroke-opacity: .45; stroke-width: 1; }
.platform-core { fill: url(#platform-core-light); stroke: #68c6f4; stroke-width: 1.5; }
.platform-name { fill: #f1f8ff; font-size: 36px; font-weight: 700; text-anchor: middle; }
.platform-subtitle { fill: #80cce9; font-size: 14px; letter-spacing: 4px; text-anchor: middle; }
.platform-node rect { fill: #0a2538; stroke: #376277; stroke-width: 1; }
.platform-node circle { fill: #63e6be; }
.platform-node text { fill: #d8ecf8; font-size: 18px; font-weight: 600; text-anchor: middle; }
@keyframes platform-orbit-turn { to { transform: rotate(360deg); } }
@keyframes platform-signal-flow { to { stroke-dashoffset: -644; } }
@media (max-width: 1050px) {
  body .home-index .home-welcome { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .home-index .home-welcome-copy { justify-self: start; }
  .home-platform { width: min(100%, 480px); }
}
@media (max-width: 600px) {
  .home-platform { width: min(100%, 360px); }
}
@media (prefers-reduced-motion: reduce) {
  .platform-orbit, .platform-signals { animation: none; }
}
.platform-node .platform-vega-caption { fill: #a9c9dc; font-size: 11px; font-weight: 400; }
