/* Home — origin section order and column split */
.hero {
  position: relative;
  min-height: calc(100vh - 90px);
  background-color: #0c141d;
  background-size: cover;
  background-position: center top;
  color: #fff;
}

.hero__inner {
  position: absolute;
  inset: 0;
}

.hero__logo,
.hero__copy,
.hero__play {
  position: absolute;
  left: max(16px, calc(50% - 588px + 46px));
}

.hero__logo { bottom: 381px; }
.hero__logo img { width: 371px; height: auto; max-width: min(371px, 70vw); }

.hero__copy {
  bottom: 288px;
  width: min(640px, 78vw);
  margin: 0;
  text-align: left;
  font-family: Georgia, "Songti SC", serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 24px;
}

.hero__copy p { margin: 0; }

.hero__play { bottom: 167px; }
.hero__play img { width: 221px; height: auto; }

.home-intro { padding: 80px 0 40px; }

.home-intro__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}

.home-intro__text h3 { margin: 10px 0 25px; }

.home-intro__points {
  margin: 0 0 18px;
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
}

.home-intro__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.home-intro__cols p {
  margin: 0;
  padding-right: 5%;
  font-size: 13px;
  line-height: 1.7;
}

.home-intro__video {
  width: 100%;
  background: #000;
  display: block;
}

.home-sep {
  height: 3px;
  background-repeat: repeat-x;
  margin: 20px 0;
}

.home-download { margin-top: 8px; }

.home-download__row {
  display: grid;
  grid-template-columns: 1fr 1.25fr 2fr;
  gap: 16px;
  align-items: center;
}

.home-download__pdf {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #032c27;
  text-decoration: none;
  font-size: 14px;
}

.home-download__pdf strong {
  display: block;
  font-size: 15px;
  margin: 10px 0 3px;
}

.home-download__wx img { width: 100%; height: auto; display: block; }

.home-download__row h3 { margin: 10px 0 0; font-size: 22px; }

.home-products {
  padding: 80px 0 40px;
  background: #f8f9fb;
}

.home-products__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.home-product { text-align: center; padding-right: 3%; }
.home-product img { width: auto; max-width: 100%; height: auto; }

.home-product__body {
  padding: 20px 6%;
  background-repeat: repeat-y;
  background-position: right top;
}

.home-product h4 {
  margin: 0 0 8px;
  color: var(--color-accent);
}

.home-products__more { text-align: center; margin: 28px 0 0; }

.home-products .btn-more {
  background: var(--color-accent);
  color: #fff;
  border: 0;
  padding: 10px 22px;
  font-size: 14px;
}

.home-products .btn-more:hover { background: #e03636; color: #fff; }

.home-ceo { padding: 50px 0 40px; }

.home-ceo__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start;
}

.home-ceo__photo { width: 100%; }
.home-ceo__photo img { width: 100%; height: auto; }

.home-ceo__text { padding-top: 50px; }
.home-ceo__text h3 { margin-top: 0; }

.home-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 16px;
  margin-top: 18px;
}

.home-feature {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-align: left;
}

.home-feature h4 {
  margin: 0 0 4px;
  color: #032c27;
  font-size: 16px;
}

.home-feature p { margin: 0; font-size: 13px; }

.home-feature .icon-check::before {
  margin-bottom: 0;
  font-size: 22px;
}

.home-faq {
  background-color: #323c48;
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 80px 0 40px;
}

.home-faq__title {
  text-align: center;
  color: #fff;
  margin: 0 5% 30px;
  font-size: 22px;
  line-height: 1.5;
}

.home-faq__sep {
  height: 3px;
  margin: 0 25% 24px;
  background-repeat: repeat-x;
}

.home-faq .faq__q {
  display: flex;
  align-items: center;
  gap: 8px;
}

.home-faq .icon-plus,
.home-faq .icon-minus { margin-left: auto; }

.home-faq .faq__q .icon-minus { display: none; }
.home-faq .faq__q[aria-expanded="true"] .icon-plus { display: none; }
.home-faq .faq__q[aria-expanded="true"] .icon-minus { display: inline; }

.home-clients {
  background: var(--color-clients-bg);
  padding: 60px 0;
}

@media (max-width: 960px) {
  .hero { min-height: 560px; }
  .hero__logo { bottom: 280px; }
  .hero__copy { bottom: 200px; font-size: 15px; line-height: 22px; }
  .hero__play { bottom: 110px; }
  .hero__play img { width: 160px; }

  .home-intro__top,
  .home-intro__cols,
  .home-download__row,
  .home-products__grid,
  .home-ceo__grid,
  .home-features {
    grid-template-columns: 1fr;
  }

  .home-ceo__text { padding-top: 0; }
  .home-product__body { background-image: none !important; }
}
