/* KWNY Hero Stats widget — every rule is scoped to .kwny-hstat, nothing else on the site is touched. */

.kwny-hstat{
  --kh-num:   var(--e-global-color-primary, #1F4B3F);   /* number colour */
  --kh-body:  #5C5C5C;                                  /* description colour */
  --kh-bg:    #F7F4EE;                                  /* cream band */
  --kh-serif: var(--e-global-typography-primary-font-family, "Test Financier"), Georgia, serif;
  --kh-sans:  var(--e-global-typography-text-font-family, "Inter"), Arial, sans-serif;
  --kh-cols:  4;

  background-color: var(--kh-bg);
  padding: 56px 0;
  font-family: var(--kh-sans);
  box-sizing: border-box;
}
.kwny-hstat *,
.kwny-hstat *::before,
.kwny-hstat *::after{ box-sizing: border-box; }

/* full-width breakout (switch in the widget) — scrollbar-safe */
.kwny-hstat-full-yes .kwny-hstat{
  width: calc(100vw - var(--kwny-sb, 0px));
  max-width: calc(100vw - var(--kwny-sb, 0px));
  margin-left: calc(50% - 50vw + (var(--kwny-sb, 0px) / 2));
  margin-right: calc(50% - 50vw + (var(--kwny-sb, 0px) / 2));
}

.kwny-hstat .kwny-hstat__inner{
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
.kwny-hstat .kwny-hstat__grid{
  display: grid;
  grid-template-columns: repeat(var(--kh-cols), minmax(0, 1fr));
  gap: 32px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.kwny-hstat .kwny-hstat__item{
  margin: 0;
  padding: 0;
  text-align: center;
}
.kwny-hstat__item::before,
.kwny-hstat__item::marker{ content: none; }

.kwny-hstat .kwny-hstat__value{
  margin: 0 0 12px;
  padding: 0;
  font-family: var(--kh-serif);
  font-weight: 400;
  font-size: clamp(2.25rem, 1.8173rem + 1.9231vw, 4rem);   /* 36 → 64px */
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--kh-num);
}
.kwny-hstat .kwny-hstat__unit{
  font-size: .62em;                     /* the "hrs" in "1–4 hrs" */
  font-weight: 400;
}
.kwny-hstat .kwny-hstat__desc{
  margin: 0 auto;
  max-width: 28ch;
  font-size: clamp(.875rem, .8606rem + .0641vw, .9375rem);
  line-height: 1.55;
  color: var(--kh-body);
}

/* ---------- tablet ---------- */
@media (max-width: 1024px){
  .kwny-hstat{ padding: 48px 0; --kh-cols: 2; }
  .kwny-hstat .kwny-hstat__grid{ gap: 28px 20px; }
}

/* ---------- mobile ---------- */
@media (max-width: 767px){
  .kwny-hstat{ padding: 36px 0; --kh-cols: 2; }
  .kwny-hstat .kwny-hstat__inner{ padding: 0 16px; }
  .kwny-hstat .kwny-hstat__grid{ gap: 24px 14px; }
  .kwny-hstat .kwny-hstat__value{ margin-bottom: 8px; }
  .kwny-hstat .kwny-hstat__desc{ max-width: 22ch; }
}
