/* Homepage composition: a quieter hero, white sections and open rows. */
.hero-photo-hero .actions { margin-bottom: 24px; }
.hero-photo-hero .hero-kickers { margin: 0; }

.home-overview {
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.home-overview .mini-stats {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  max-width: none;
}
.home-overview .stat {
  min-width: 0;
  min-height: 0;
  padding: 0 28px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.16);
}
.home-overview .stat:first-child { padding-left: 0; }
.home-overview .stat:last-child { padding-right: 0; border-right: 0; }
.home-overview .stat strong { margin-bottom: 7px; font-size: 20px; letter-spacing: -.025em; }
.home-overview .stat span { max-width: 36ch; font-size: 14px; line-height: 1.65; }
.home-overview + .marquee { margin-top: 0; }

/* Source black becomes white through the existing page-wide light theme. */
.home-industries { padding: 76px 0; background: #000; }
.home-industries .section-head { margin-bottom: 36px; }
.home-industries .section-head p { line-height: 1.7; }
.home-industries .industry,
.home-industries .industry.big {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.16);
}
/* The normal page filter turns this black source background into white. */
.home-contact { padding: 76px 0; background: #000; }
.home-contact .quote-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.home-contact .quote-inner { gap: clamp(28px,4vw,64px); }
.home-contact .quote-copy { padding: 12px 0; }
.home-contact .enquiry-form { background: transparent; }

/* A real ordered list keeps the four deployment steps in reading order. */
.home-process .process {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.18);
}
.home-process .step {
  min-height: 0;
  padding: 24px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.home-process .step::before { display: none; content: none; }
.home-process .step-number {
  display: block;
  margin-bottom: 24px;
  color: var(--accent);
  font-size: 32px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
.home-process .step h3 { margin: 0 0 12px; line-height: 1.2; }
.home-process .step p { line-height: 1.75; }

/* Questions and answers stay visible; dividers replace individual cards. */
.home-faq .faq-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.home-faq .faq {
  display: grid;
  grid-template-columns: minmax(220px,.9fr) minmax(0,1.25fr);
  gap: 32px;
  align-items: start;
  padding: 26px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-faq .faq h3 { margin: 0; font-size: 18px; line-height: 1.45; letter-spacing: -.02em; }
.home-faq .faq p { margin: 0; max-width: 70ch; line-height: 1.75; }
.home-faq .faq > * { min-width: 0; }

@media (max-width: 1020px) {
  .home-process .process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 36px; border-top: 0; }
  .home-process .step { border-top: 1px solid rgba(255,255,255,.18); }
}
@media (max-width: 760px) {
  .home-industries, .home-contact { padding: 54px 0; }
  .home-overview { padding: 22px 0; }
  .home-overview .stat { padding: 0 16px; }
  .home-faq .faq { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 22px 0; }
}
@media (max-width: 620px) {
  .home-overview { padding: 8px 0; }
  .home-overview .mini-stats { grid-template-columns: minmax(0,1fr); }
  .home-overview .stat,
  .home-overview .stat:first-child,
  .home-overview .stat:last-child {
    display: grid;
    grid-template-columns: 56px minmax(0,1fr);
    gap: 18px;
    align-items: start;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.13);
  }
  .home-overview .stat:last-child { border-bottom: 0; }
  .home-overview .stat strong { margin: 2px 0 0; }
  .home-overview .stat span { max-width: none; }
  .home-process .process { grid-template-columns: minmax(0,1fr); gap: 0; }
  .home-process .step { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 18px; padding: 24px 0; }
  .home-process .step-number { margin: 0; font-size: 28px; }
  .home-process .step h3 { font-size: 20px; }
  .home-contact .quote-copy { padding: 0; }
}
