/* KWNY Why Choose widget — every rule is scoped to .kwny-why, nothing else on the site is touched. */

.kwny-why{
  --kw-green: var(--e-global-color-primary,   #035E39);
  --kw-ink:   var(--e-global-color-secondary, #00140E);
  --kw-body:  #3F4B44;
  --kw-chip:  #E6EFEA;
  --kw-serif: var(--e-global-typography-primary-font-family, "Test Financier"), Georgia, serif;
  --kw-sans:  var(--e-global-typography-text-font-family, "Inter"), Arial, sans-serif;
  --kw-gap:   24px;

  background-color: #F3F8F5;
  padding: 88px 0;
  font-family: var(--kw-sans);
  box-sizing: border-box;
}
.kwny-why *,
.kwny-why *::before,
.kwny-why *::after{ box-sizing: border-box; }

/* full-width breakout (switch in the widget) — scrollbar-safe */
.kwny-why-full-yes .kwny-why{
  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-why__inner{
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ---------- heading ---------- */
.kwny-why .kwny-why__title{
  margin: 0 auto 48px;
  padding: 0;
  text-align: center;
  font-family: var(--kw-serif);
  font-weight: 400;
  font-size: var(--e-global-typography-1179395-font-size, clamp(1.875rem, 1.5865rem + 1.2821vw, 3.125rem));
  line-height: 1.3em;
  letter-spacing: -0.01em;
  color: var(--kw-ink);
}
.kwny-why .kwny-why__title em{
  display: block;               /* desktop: italic part on its own line */
  font-style: italic;
  color: var(--kw-green);
}

/* ---------- grid (6 tracks; the widget sets how many each card spans) ---------- */
.kwny-why .kwny-why__grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--kw-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.kwny-why .kwny-why__card{
  grid-column: span 2;
  margin: 0;
  padding: 24px 18px 26px;
  border-radius: 12px;
  background-color: #FFFFFF;
}
.kwny-why__card::before,
.kwny-why__card::marker{ content: none; }
.kwny-why .kwny-why__card--s2{ grid-column: span 2; }
.kwny-why .kwny-why__card--s3{ grid-column: span 3; }
.kwny-why .kwny-why__card--s6{ grid-column: span 6; }

.kwny-why__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 18px;
  border-radius: 50%;
  background-color: var(--kw-chip);
  color: var(--kw-green);
}
.kwny-why__icon svg{ width: 19px; height: 19px; display: block; }
.kwny-why__icon i{ font-size: 19px; line-height: 1; }
.kwny-why__icon .e-font-icon-svg{ fill: currentColor; }

.kwny-why .kwny-why__card-title{
  margin: 0 0 12px;
  padding: 0;
  font-family: var(--kw-serif);
  font-weight: 400;
  font-size: clamp(1.1875rem, 1.1298rem + .2564vw, 1.4375rem);
  line-height: 1.3;
  color: var(--kw-ink);
}
.kwny-why .kwny-why__card-desc{
  margin: 0;
  max-width: 48ch;
  font-size: clamp(.9375rem, .9087rem + .1282vw, 1.0625rem);
  line-height: 1.55;
  color: var(--kw-body);
}

/* ---------- quote banner ---------- */
.kwny-why .kwny-why__quote{
  margin: var(--kw-gap) 0 0;
  padding: 44px 48px;
  border-radius: 12px;
  background-color: #045C39;
  text-align: center;
  color: #FFFFFF;
}
.kwny-why .kwny-why__quote blockquote{
  margin: 0 auto 18px;
  padding: 0;
  border: 0;
  max-width: 28em;
  font-family: var(--kw-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.25rem, 1.0769rem + .7692vw, 1.875rem);
  line-height: 1.4;
  color: #FFFFFF;
  background: none;
  quotes: none;
}
.kwny-why .kwny-why__quote blockquote::before,
.kwny-why .kwny-why__quote blockquote::after{ content: none; }
.kwny-why__quote blockquote p{ margin: 0; font: inherit; color: inherit; }
.kwny-why .kwny-why__who{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-style: normal;
  font-size: 1.0625rem;
  line-height: 1.2;
  color: #FFFFFF;
}
.kwny-why .kwny-why__who img{
  width: 28px;
  height: 28px;
  flex: none;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255,255,255,.25);
}

/* ---------- tablet: 2 columns, a lone last card goes full width ---------- */
@media (max-width: 1024px){
  .kwny-why .kwny-why__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kwny-why .kwny-why__card,
  .kwny-why .kwny-why__card--s2,
  .kwny-why .kwny-why__card--s3,
  .kwny-why .kwny-why__card--s6{ grid-column: span 1; }
  .kwny-why .kwny-why__card:last-child:nth-child(odd){ grid-column: 1 / -1; }
}

/* ---------- mobile: one column ---------- */
@media (max-width: 767px){
  .kwny-why{ padding: 48px 0; }
  .kwny-why__inner{ padding: 0 16px; }
  .kwny-why .kwny-why__title{ margin-bottom: 28px; }
  /* lines become "part 1" / "part 2 + italic part" */
  .kwny-why__l1{ display: block; }
  .kwny-why .kwny-why__title em{ display: inline; }
  .kwny-why .kwny-why__grid{ grid-template-columns: minmax(0, 1fr); }
  .kwny-why .kwny-why__card,
  .kwny-why .kwny-why__card--s2,
  .kwny-why .kwny-why__card--s3,
  .kwny-why .kwny-why__card--s6,
  .kwny-why .kwny-why__card:last-child:nth-child(odd){ grid-column: auto; }
  .kwny-why__icon{ width: 36px; height: 36px; margin-bottom: 14px; }
  .kwny-why__icon svg{ width: 17px; height: 17px; }
  .kwny-why .kwny-why__card-title{ margin-bottom: 8px; }
  .kwny-why .kwny-why__quote{ padding: 28px 20px; }
  .kwny-why .kwny-why__who{ font-size: 1rem; }
}

/* ---------- Call Now button (under the cards / quote banner) ---------- */
.kwny-why .kwny-why__cta{
  margin: 40px 0 0;
  padding: 0;
  text-align: center;
}
.kwny-why .kwny-why__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 30px;
  border: 1px solid var(--kw-green);
  border-radius: 999px;
  background-color: var(--kw-green);
  font-family: var(--kw-sans);
  font-size: clamp(1rem, .9712rem + .1282vw, 1.0625rem);
  font-weight: 500;
  line-height: 1.2;
  color: #FFFFFF;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.kwny-why .kwny-why__btn:hover,
.kwny-why .kwny-why__btn:focus{ background-color: #023822; border-color: #023822; color: #FFFFFF; }
.kwny-why .kwny-why__btn:focus-visible{ outline: 2px solid var(--kw-green); outline-offset: 3px; }
.kwny-why .kwny-why__btn svg{ width: 18px; height: 18px; flex: none; }

@media (max-width: 767px){
  .kwny-why .kwny-why__cta{ margin-top: 28px; }
  .kwny-why .kwny-why__btn{ width: 100%; }          /* full-width button on phones */
}
@media (prefers-reduced-motion: reduce){
  .kwny-why .kwny-why__btn{ transition: none; }
}
