:root {
  --brand-deep: #3c096c;
  --brand-primary: #5a189a;
  --brand-active: #c77dff;
  --brand-hover: #00a6fb;
  --brand-soft: #f7f9fc;
  --text-deep: #30455c;
}

.payroll {
  padding: 82px 0 74px;
  text-align: center;
}

.payroll > h2 {
  margin: 0;
  color: var(--text-deep);
  font-size: 30px;
  line-height: 1.25;
  font-weight: 500;
}

.payroll .timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px;
  margin-top: 62px;
  align-items: stretch;
}

.payroll .timeline article {
  min-height: 318px;
  padding: 26px 22px 24px;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 7px 20px rgba(38, 56, 78, 0.12);
  text-align: center;
}

.payroll .timeline b {
  width: 50px;
  height: 50px;
  margin-bottom: 26px;
  background: var(--brand-primary);
  font-size: 22px;
}

.payroll .timeline h3 {
  min-height: 45px;
  margin: 0 0 10px;
  color: #333;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
}

.payroll .timeline p {
  margin: 0;
  color: #5f5f66;
  font-size: 14px;
  line-height: 1.52;
}

.team-band { background: #f7f7f7; }
.team-band .team-intro {
  width: min(1720px, calc(100% - 80px));
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 54px;
  padding-top: 58px;
  padding-bottom: 56px;
}
.team-band .team-intro > div { align-self: center; }
.team-band h2,
.team-band p { color: var(--text-deep); }
.team-band .team-intro h2 {
  margin: 0 0 19px;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 600;
}
.team-band .team-intro p {
  max-width: 590px;
  margin: 0 0 15px;
  color: #7c7c7c;
  font-size: 17px;
  line-height: 1.47;
  font-weight: 400;
}
.team-band .team-intro p strong { color: #707070; font-weight: 700; }
.team-band figure { margin: 0; overflow: hidden; border-radius: 0 0 32px 0; }
.team-band figure img { width: 100%; height: 520px; object-fit: cover; }
.team-band > .wrap:last-child { padding-bottom: 72px; }
.team-band .partners { width: min(1220px, calc(100% - 64px)); }
.team-band .partners > h2 { margin: 0 0 46px; color: var(--text-deep); text-align: center; font-size: 28px; line-height: 1.08; font-weight: 600; }
.people-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.person { position: relative; min-height: 500px; overflow: hidden; border: 2px solid var(--brand-primary); border-radius: 6px; background: var(--brand-deep); }
.person::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, rgba(28, 4, 52, 0.05) 24%, rgba(28, 4, 52, 0.88) 100%); pointer-events: none; }
.person img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; transition: transform 500ms ease; }
.person:hover img { transform: scale(1.08); }
.person-copy { position: absolute; z-index: 1; right: 14px; bottom: 128px; left: 14px; color: #fff; text-align: center; }
.person-copy h3,
.person-copy p { margin: 0; color: #fff; }
.person-copy h3 { font-size: 20px; line-height: 1.12; font-weight: 700; }
.person-copy h3 span { display: block; }
.person-copy p { margin-top: 5px; font-size: 13px; line-height: 1.5; font-weight: 500; }

.testimonials { width: min(1440px, calc(100% - 64px)); padding-top: 66px; padding-bottom: 24px; }
.testimonials + .faq-section { padding-top: 44px; }
.carousel { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; max-width: 1300px; margin: 34px auto 0; }
.carousel-viewport { overflow: hidden; }
.carousel-track { display: flex; transition: transform 500ms ease; will-change: transform; }
.carousel-slide { display: flex; flex: 0 0 33.333%; justify-content: center; padding: 0 14px; }
.carousel-slide img { width: 100%; max-width: 405px; margin: 0 auto; }
.carousel-control { width: 42px; height: 48px; border: 0; background: transparent; color: var(--brand-primary); cursor: pointer; font-size: 36px; line-height: 1; }
.carousel-control:hover,
.carousel-control:focus-visible { color: var(--brand-hover); }

@media (prefers-reduced-motion: reduce) {
  .carousel-track,
  .person img { transition: none; }
}

.cta-band > .wrap > img { align-self: end; }
.cta-band .btn { margin: 0 10px 10px 0; }
.cta-band .btn:hover { transform: translateY(-2px) scale(1.04); }
.post-grid { grid-template-columns: repeat(3, 1fr); }
.post-grid .post-card:nth-child(n + 4) { display: none; }

@media (max-width: 1024px) {
  .two-col { gap: 42px; }
  .payroll .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-band .team-intro { width: min(1120px, calc(100% - 40px)); gap: 42px; }
  .team-band figure img { height: 410px; }
  .team-band .team-intro h2 { font-size: 32px; }
  .team-band .team-intro p { font-size: 17px; }
  .team-band .partners { width: min(850px, calc(100% - 48px)); }
  .people-grid { grid-template-columns: repeat(2, 1fr); max-width: 620px; margin-inline: auto; }
  .person,
  .person img { min-height: 460px; }
  .person-copy { bottom: 112px; }
  .cta-secondary { display: none; }
  .post-grid { grid-template-columns: repeat(2, 1fr); }
  .post-grid .post-card:nth-child(3) { display: none; }
}

@media (max-width: 767px) {
  .wrap { width: min(100% - 32px, 560px); }
  .hero { padding-top: 38px; padding-bottom: 64px; }
  .two-col { grid-template-columns: 1fr; gap: 28px; }
  .hero-copy,
  .split-section > div,
  .video-section > div { text-align: center; }
  .check-list { display: none; }
  .reverse > :first-child { order: 2; }
  .payroll { padding: 56px 0 48px; }
  .payroll > h2 { font-size: 27px; }
  .payroll .timeline { grid-template-columns: 1fr; gap: 16px; margin-top: 34px; }
  .payroll .timeline article { min-height: 0; padding: 24px 20px; }
  .payroll .timeline h3 { min-height: 0; font-size: 19px; }
  .team-band .team-intro { width: min(100% - 32px, 560px); padding-top: 46px; padding-bottom: 42px; }
  .team-band .team-intro figure { order: 0; }
  .team-band .team-intro h2 { margin-bottom: 18px; font-size: 28px; }
  .team-band .team-intro p { font-size: 16px; }
  .team-band figure { border-radius: 0 0 20px 0; }
  .team-band figure img { height: 270px; }
  .team-band > .wrap:last-child { padding-bottom: 48px; }
  .people-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .person,
  .person img { min-height: 360px; }
  .person-copy { right: 9px; bottom: 12px; left: 9px; }
  .person-copy { bottom: 74px; }
  .person-copy h3 { font-size: 16px; }
  .person-copy p { font-size: 10px; }
  .testimonials { padding-top: 46px; padding-bottom: 18px; }
  .testimonials + .faq-section { padding-top: 38px; }
  .carousel { grid-template-columns: 28px minmax(0, 1fr) 28px; }
  .carousel-slide { flex-basis: 100%; padding: 0 8px; }
  .carousel-slide img { width: min(440px, 100%); max-width: 100%; }
  .carousel-control { width: 28px; font-size: 28px; }
  .cta-band > .wrap > img { display: none; }
  .post-grid { grid-template-columns: 1fr; }
  .post-grid .post-card:nth-child(3) { display: none; }
  .post-grid .post-card:nth-child(2) { display: block; }
}
