/* ==========================================================================
   05 — Home and About section layouts
   ========================================================================== */

/* ------------------------------------------------------------- Home hero --- */
.bx-home-hero {
  position: relative;
  min-height: 880px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: var(--c-navy);
  background-image: var(--hero-bg, none);
  background-size: cover;
  background-position: center center;
  color: var(--c-on-dark);
  border-radius: 0 0 30px 30px;
  isolation: isolate;
}
.bx-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(40, 39, 69, .25) 0%, rgba(40, 39, 69, .85) 100%);
}
.bx-home-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  max-width: 754px;
  padding-block-end: 53px;
  text-align: center;
}
.bx-home-hero__title { color: var(--c-on-dark); }
.bx-home-hero__consult {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 30px;
  border: 1px solid var(--c-rule-on-dark);
  border-radius: var(--radius-pill);
  color: var(--c-on-dark);
  font-weight: var(--fw-bold);
}
.bx-home-hero__consult:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-white);
}
.bx-home-hero__proof {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 25px;
  border-block-start: 1px solid var(--c-rule-on-dark);
}
.bx-home-hero__note { color: var(--c-on-dark-muted); text-align: center; }

/* ---------------------------------------------------------- Split layout --- */
.bx-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-gap-lg);
  align-items: start;
}
.bx-split__head { grid-column: 1 / -1; }
.bx-split__img { width: 100%; border-radius: var(--radius-md); }
.bx-split__body { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.bx-home-about__lead { font-size: 20px; line-height: 30px; font-weight: var(--fw-bold); }

.bx-pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 60px; width: 100%; }
.bx-counters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }

/* ------------------------------------------------------------ Why choose --- */
.bx-why { display: flex; flex-direction: column; gap: 40px; }
.bx-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.bx-why__card {
  padding: 50px 40px;
  background: var(--c-white);
  border-radius: var(--radius-md);
  --ib-title-size: 20px;
  --ib-title-lh: 26px;
  --ib-desc-size: 16px;
}
.bx-why__foot { font-weight: var(--fw-bold); }

/* --------------------------------------------------------------- Awards --- */
.bx-awards { display: flex; flex-direction: column; width: 100%; }
.bx-awards__row {
  display: flex;
  flex-direction: row;
  gap: 24px;
  padding-block: 23px;
  border-block-end: 1px solid var(--c-border);
}
.bx-awards__year { flex: 0 0 110px; font-weight: var(--fw-bold); color: var(--c-primary); }
.bx-awards__title { font-weight: var(--fw-bold); }

/* --------------------------------------------------------------- Values --- */
.bx-values__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 45px 30px; }
.bx-values__item { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.bx-values__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.bx-values__img { width: 100%; border-radius: var(--radius-md); }

/* -------------------------------------------------- Service carousel card --- */
.bx-svccard { height: 100%; }
.bx-svccard__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 45px;
  height: 100%;
  padding: var(--space-card);
  background: var(--c-navy-card);
  border-radius: var(--radius-md);
}
.bx-svccard__title { color: var(--c-on-dark); font-size: 24px; line-height: 30px; }
.bx-svccard__copy { color: var(--c-on-dark-muted); font-size: 16px; line-height: 24px; flex: 1 1 auto; }

/* ------------------------------------------------------------- Outcomes --- */
.bx-outcomes__inner { display: flex; flex-direction: column; gap: 60px; }
.bx-outcomes__head { display: flex; flex-direction: column; gap: 30px; }
.bx-outcomes__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.bx-outcomes__filters { display: flex; flex-wrap: wrap; gap: 10px; }
.bx-outcomes__filter {
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.bx-outcomes__filter[aria-pressed="true"] {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-white);
}
.bx-outcomes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.bx-outcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  background: var(--c-navy-card);
  border-radius: var(--radius-md);
}
.bx-outcome[hidden] { display: none; }
.bx-outcome__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: var(--space-card); }
.bx-outcome__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-outcome__title { color: var(--c-on-dark); font-size: 24px; line-height: 30px; margin-block-start: 8px; }
.bx-outcome__copy { color: var(--c-on-dark-muted); font-size: 16px; line-height: 24px; flex: 1 1 auto; }
.bx-outcome__img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; border-radius: var(--radius-sm); }

/* --------------------------------------------------------- Testimonials --- */
.bx-tsection__inner { display: flex; flex-direction: column; gap: 50px; }
.bx-tsection--panel .bx-tsection__inner {
  background: var(--c-bg-lite);
  border-radius: var(--radius-md);
  padding: 80px 60px;
}
.bx-tsection__head { display: flex; flex-direction: column; gap: 20px; }
.bx-tsection__proof { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.bx-tsection__group { width: 140px; height: auto; }
.bx-tsection__counter { text-align: left; }
.bx-tsection__counter .bx-counter__number { font-size: 50px; }
.bx-tsection__counter .bx-counter__title { display: none; }
.bx-tsection__note { color: var(--c-text-muted); }

.bx-testimonial {
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
  padding: var(--space-card);
  background: var(--c-white);
  border-radius: var(--radius-md);
}

.bx-testimonial__quote { font-size: 18px; line-height: 28px; flex: 1 1 auto; }
.bx-testimonial__by { display: flex; align-items: center; gap: 14px; }
.bx-testimonial__avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.bx-testimonial__meta { display: flex; flex-direction: column; gap: 2px; }
.bx-testimonial__name { font-weight: var(--fw-bold); }
.bx-testimonial__stars { color: var(--c-primary); letter-spacing: 2px; }

/* -------------------------------------------------------- Latest posts ---- */
.bx-home-posts { display: flex; flex-direction: column; gap: 60px; }
.bx-home-posts__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-gap-lg);
  align-items: start;
}
.bx-home-posts__rest { display: flex; flex-direction: column; gap: 40px; }
.bx-home-team { display: flex; flex-direction: column; gap: 40px; }

/* ---------------------------------------------------------- Contact CTA --- */
.bx-homecta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-gap-lg);
  padding: 80px 30px;
  background: var(--c-bg-lite);
  border-radius: var(--radius-md);
  align-items: start;
}
.bx-homecta__text { display: flex; flex-direction: column; gap: 25px; padding-inline-start: 30px; }
.bx-homecta__text .bx-icon-box__title { font-size: var(--fs-h3); line-height: var(--lh-h3); }
.bx-homecta__phone { display: flex; flex-direction: column; gap: 4px; }
.bx-homecta__phone-label { font-weight: var(--fw-bold); color: var(--c-text-muted); }
.bx-homecta__phone-num { font-size: 24px; font-weight: var(--fw-bold); color: var(--c-text); }
.bx-homecta__form { padding-inline-end: 30px; }

/* ---------------------------------------------------------- Breakpoints --- */
@media (max-width: 1024px) {
  .bx-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bx-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bx-outcomes__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .bx-home-hero { min-height: 620px; border-radius: 0 0 20px 20px; }
  .bx-home-hero__proof { flex-direction: column; }

  .bx-split,
  .bx-values__list,
  .bx-pillars,
  .bx-why__grid,
  .bx-counters,
  .bx-home-posts__grid,
  .bx-homecta { grid-template-columns: 1fr; }

  .bx-outcome { grid-template-columns: 1fr; }
  .bx-outcome__body { padding: 28px; }
  .bx-tsection--panel .bx-tsection__inner { padding: 40px 24px; }
  .bx-homecta { padding: 40px 20px; }
  .bx-homecta__text,
  .bx-homecta__form { padding-inline: 0; }
}
