/* The hero's right-column process-preview card (see heroProcessCard() in views/home.ts), next
   to the left copy column. Below 1200px there is no room for a second column, so .hero-visual
   stays display:none and the hero renders as a single column.

   #build-film (build-stage.css) is the page's own fixed background and, from 1680px up,
   already shifts into this same right-hand area. From 1200px up the process card occupies
   that area instead, so build-film is dimmed (it still reads as ambient motion behind the
   glass card) for as long as the home page's hero visual is in view. */

.hero-visual {
  display: none;
}

@media (min-width: 1200px) {
  .hero-wrap {
    display: flex;
    align-items: center;
    gap: clamp(32px, 4vw, 72px);
  }

  .hero-copy {
    flex: 1 1 auto;
    min-width: 0;
  }

  .hero-visual {
    display: block;
    flex: 0 0 auto;
    width: min(480px, 42vw);
  }

  html.has-hero #build-film {
    opacity: 0.25;
  }
}

@media (min-width: 1680px) {
  .hero-visual {
    width: min(560px, 38vw);
  }
}

/* ---------- a glass card previewing the process section ---------- */

.hero-process-card {
  padding: clamp(22px, 2.4vw, 32px) clamp(20px, 2.2vw, 30px);
  border-radius: var(--r-xl);
}

.hero-process-kicker {
  margin: 0;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.hero-process-title {
  margin: 8px 0 20px;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  line-height: 1.1;
  font-weight: 600;
  font-stretch: 85%;
}

.hero-process-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.hero-process-step {
  display: grid;
  grid-template-columns: auto 14px minmax(0, 1fr);
  column-gap: 12px;
  padding-bottom: 16px;
}

.hero-process-when {
  font-size: 0.6875rem;
  color: var(--muted);
  padding-top: 3px;
  white-space: nowrap;
}

.hero-process-dot {
  width: 10px;
  height: 10px;
  margin-top: 4px;
  border-radius: 50%;
  border: 2px solid var(--lime);
}

.hero-process-step:first-child .hero-process-dot {
  background: var(--lime);
  box-shadow: 0 0 12px rgba(200, 255, 61, 0.6);
}

.hero-process-step-title {
  display: block;
  font-size: 0.9375rem;
}

.hero-process-step-body {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--ink-2);
}

.hero-process-footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--glass-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.hero-process-price {
  margin: 0;
}

.hero-process-price-label {
  display: block;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.hero-process-price-amount {
  font-size: 1.25rem;
  font-weight: 700;
  font-stretch: 85%;
  color: var(--lime);
}

.hero-process-link {
  font-size: 0.875rem;
}
