/* ── Landing-page layout ── */


/* Hero: full viewport, centred content */
.home-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--colorPrimaryDark);
}

/* Vertical spacers matching global conventions */
.long-spacer { height: 6rem; }
.t-f-spacer  { height: 4rem; }
.b-f-spacer  { height: 3rem; }

/* Hero content centering */
.hero-container {
  z-index: 3;
  position: relative;
}

.hero-container .heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 0 var(--margin);
  max-width: 900px;
  margin: 0 auto;
}

.hero-container .heading .text-cont {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  text-align: center;
}

.hero-container .heading .head-cont h1,
.hero-container .heading .head-cont h2 {
  text-align: center;
  font-size: calc(var(--hf2) * 1.35);
  font-weight: 500;
}

.hero-container .heading p {
  text-align: center;
  font-size: var(--hfbody);
  color: var(--colorDarkestGrey);
}

/* Dashboard preview image */
.hero-container .img-cont {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--margin);
  position: relative;
}

.hero-container .img-cont img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: rgba(16,49,77,.06) 0 4px 24px;
}

/* Section header spacing */
.section-header .header-flex {
  padding-top: var(--buffer);
  padding-bottom: calc(var(--buffer) * 0.5);
}

/* CTA button row */
.flex.zero-mar {
  gap: 1rem;
}

/* Beige CTA section text */
.beige-bg .prominent h1 {
  color: var(--colorPrimaryDark);
}

/* Step number fallback (shown when Number1/2/3 images are absent) */
.step-number-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--colorPrimaryDark);
  color: var(--colorWhite);
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Responsive */
@media (max-width: 950px) {
  .hero-container .heading .head-cont h1,
  .hero-container .heading .head-cont h2 {
    font-size: calc(var(--hf2) * 1.1);
  }
}

@media (max-width: 600px) {
  .flex.zero-mar {
    flex-direction: column;
    align-items: center;
  }

  .action-button {
    width: 100%;
    max-width: 280px;
    text-align: center;
  }
}
