/* ============================================
   HOMEPAGE OVERRIDES — Elegant balloon.art aesthetic
   Applied after components.css
   ============================================ */

/* === OVERVIEW GRID — Enhanced cards === */
.overview-grid {
  padding-top: 50px;
  padding-bottom: 50px;
}

.overview-card {
  display: flex; flex-direction: column;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
  border: 1px solid rgba(255,255,255,0.04);
}

.overview-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0,210,211,0.10), 0 0 0 1px rgba(0,210,211,0.08);
}

.overview-card-img img {
  object-position: center 20%;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.overview-card:hover .overview-card-img img { transform: scale(1.05); }

.overview-card h2 {
  padding: 22px 24px 8px;
  font-size: 26px;
}

.overview-card p {
  padding: 0 24px;
  line-height: 1.7;
  flex: 1;
}

.overview-card .card-link {
  display: block;
  padding: 18px 24px;
  letter-spacing: 0.5px;
  font-size: 14px; color: var(--color-cyan);
  transition: letter-spacing 0.3s, color 0.3s;
  margin-top: auto;
}
.overview-card:hover .card-link { letter-spacing: 1.5px; }

/* === CONNECT BANNER — More breathing room === */
.connect-banner {
  gap: 40px;
  margin-bottom: 40px;
}

.connect-banner-img {
  max-height: 320px;
  border: 1px solid rgba(255,255,255,0.04);
}

.connect-banner-img img {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.connect-banner:hover .connect-banner-img img { transform: scale(1.03); }

.connect-banner-content h2 { font-size: 34px; }
.connect-banner-content p { line-height: 1.7; }

/* === TRUSTED BY — Refined, understated + KITT scanner === */
.trusted-section {
  margin: 0 auto;
  padding: 50px var(--gap) 60px;
  border-top: 1px solid rgba(255,255,255,0.04);
  position: relative;
  overflow: hidden;
}

.trusted-section h2 {
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 300;
  margin-bottom: 28px;
}

.trusted-grid {
  gap: 6px 18px;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
}

.trusted-name {
  color: #444;
  font-weight: 300;
  opacity: 0;
  transform: translateY(12px);
  animation: trustedFadeIn 0.6s ease forwards;
  transition: color 0.4s ease, text-shadow 0.4s ease, transform 0.3s ease;
}

.trusted-name:hover {
  text-shadow: 0 0 20px rgba(0, 210, 211, 0.3), 0 0 40px rgba(0, 210, 211, 0.1);
  transform: scale(1.08);
}

@keyframes trustedFadeIn {
  to { opacity: 1; transform: translateY(0); }
}

/* Staggered fade-in for trusted names (32 names) */
.trusted-name:nth-child(1)  { animation-delay: 0.04s; }
.trusted-name:nth-child(2)  { animation-delay: 0.08s; }
.trusted-name:nth-child(3)  { animation-delay: 0.12s; }
.trusted-name:nth-child(4)  { animation-delay: 0.16s; }
.trusted-name:nth-child(5)  { animation-delay: 0.20s; }
.trusted-name:nth-child(6)  { animation-delay: 0.24s; }
.trusted-name:nth-child(7)  { animation-delay: 0.28s; }
.trusted-name:nth-child(8)  { animation-delay: 0.32s; }
.trusted-name:nth-child(9)  { animation-delay: 0.36s; }
.trusted-name:nth-child(10) { animation-delay: 0.40s; }
.trusted-name:nth-child(11) { animation-delay: 0.44s; }
.trusted-name:nth-child(12) { animation-delay: 0.48s; }
.trusted-name:nth-child(13) { animation-delay: 0.52s; }
.trusted-name:nth-child(14) { animation-delay: 0.56s; }
.trusted-name:nth-child(15) { animation-delay: 0.60s; }
.trusted-name:nth-child(16) { animation-delay: 0.64s; }
.trusted-name:nth-child(17) { animation-delay: 0.68s; }
.trusted-name:nth-child(18) { animation-delay: 0.72s; }
.trusted-name:nth-child(19) { animation-delay: 0.76s; }
.trusted-name:nth-child(20) { animation-delay: 0.80s; }
.trusted-name:nth-child(21) { animation-delay: 0.84s; }
.trusted-name:nth-child(22) { animation-delay: 0.88s; }
.trusted-name:nth-child(23) { animation-delay: 0.92s; }
.trusted-name:nth-child(24) { animation-delay: 0.96s; }
.trusted-name:nth-child(25) { animation-delay: 1.00s; }
.trusted-name:nth-child(26) { animation-delay: 1.04s; }
.trusted-name:nth-child(27) { animation-delay: 1.08s; }
.trusted-name:nth-child(28) { animation-delay: 1.12s; }
.trusted-name:nth-child(29) { animation-delay: 1.16s; }
.trusted-name:nth-child(30) { animation-delay: 1.20s; }
.trusted-name:nth-child(31) { animation-delay: 1.24s; }
.trusted-name:nth-child(32) { animation-delay: 1.28s; }

/* KITT scanner effect — sweeping cyan glow over trusted names */
.trusted-grid::after {
  content: '';
  position: absolute;
  top: 0; left: -20%;
  width: 20%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0,210,211,0.15), transparent);
  animation: kitt-scan 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes kitt-scan {
  0% { left: -20%; }
  50% { left: 100%; }
  100% { left: -20%; }
}

/* Heading accent line under "Trusted by" */
.trusted-section h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 210, 211, 0.5), transparent);
  margin: 12px auto 0;
}

/* KITT scanner bar — divider between overview cards and connect banner */
.kitt-row {
  position: relative;
  height: 4px;
  margin: 0 auto;
  max-width: var(--max-width);
  overflow: hidden;
}

.kitt-row::before {
  content: '';
  position: absolute;
  top: 1px; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,0.08);
}

.kitt-row::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 120px; height: 4px;
  background: linear-gradient(90deg, transparent, var(--color-cyan), var(--color-cyan), transparent);
  border-radius: 2px;
  box-shadow: 0 0 15px var(--color-cyan), 0 0 30px rgba(0, 210, 211, 0.4);
  animation: kitt-bar 3s ease-in-out infinite;
}

@keyframes kitt-bar {
  0%, 100% { left: 0; }
  50% { left: calc(100% - 120px); }
}

/* Mobile: tighter trusted grid */
@media (max-width: 768px) {
  .trusted-name {
    font-size: 11px;
    letter-spacing: 1px;
  }
  .trusted-grid {
    gap: 4px 8px;
  }
}
