/* Home page ---------------------------------------------------------------- */

.hero-home {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-soft);
  background:
    radial-gradient(1100px 520px at 78% -8%, rgba(52,214,161,0.13), transparent 60%),
    radial-gradient(900px 480px at 10% 12%, rgba(79,157,255,0.10), transparent 60%);
}
.hero-home__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(52,214,161,0.07) 1px, transparent 1px);
  background-size: 40px 40px;
  animation: gridPan 5s linear infinite;
  pointer-events: none;
}
.hero-home__network {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero-home__grid-content {
  position: relative;
  padding: 74px 32px 84px;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 56px;
  align-items: center;
}
.hero-home__title { font-size: 62px; line-height: 1.04; }
.cycle-word {
  display: inline-block;
  transition: opacity .22s ease, transform .22s ease;
  color: var(--c-amber);
}
.hero-home__sub { max-width: 520px; margin-bottom: 34px; }
.hero-home__actions { display: flex; gap: 14px; flex-wrap: wrap; }

.hero-home__panel { box-shadow: 0 40px 80px -30px rgba(0,0,0,0.7); }
.hero-home__panel-body { padding: 8px; }
.hero-agent-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px;
  border-left: 2px solid var(--accent);
  margin: 5px 0;
  background: var(--bg-card);
}
.hero-agent-row__info { flex: 1; min-width: 0; }
.hero-agent-row__name { font-size: 14px; font-weight: 600; color: var(--text-card-title); }
.hero-agent-row__meta { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); margin-top: 2px; }

.teaser-item {
  font-size: 13.5px;
  color: #cdd6e6;
  padding: 5px 0;
  border-top: 1px solid rgba(255,255,255,0.05);
}

.portfolio-teaser {
  margin-top: 72px;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  background: radial-gradient(900px 460px at 85% 0%, rgba(176,123,255,0.10), transparent 60%);
  position: relative;
  overflow: hidden;
}
.portfolio-teaser__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cta-section {
  border-top: 1px solid var(--border-soft);
  background: linear-gradient(180deg, var(--bg-alt-2), var(--bg));
  position: relative;
  overflow: hidden;
}
.cta-section__orb {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 700px;
  height: 700px;
}

@media (max-width: 980px) {
  .hero-home__grid-content { grid-template-columns: 1fr; }
  .hero-home__title { font-size: 44px; }
}
