/* Standalone quote ----------------------------------------------------- */
.ks-quote {
  position: relative;
  box-sizing: border-box;
  margin: 34px 0;
  padding: 24px 28px 20px 54px;
  border: 1px solid var(--ks-border, #e3e7ef);
  border-left: 4px solid var(--ks-primary, #223070);
  border-radius: 8px;
  background: color-mix(in srgb, var(--ks-primary, #223070) 3%, var(--ks-surface, #ffffff));
  color: var(--ks-text, #31343a);
  font-style: normal;
}
.ks-quote::before {
  content: "“";
  position: absolute;
  top: 9px;
  left: 17px;
  color: color-mix(in srgb, var(--ks-primary, #223070) 35%, transparent);
  font-family: Georgia, serif;
  font-size: 48px;
  line-height: 1;
}
.ks-quote__title {
  margin: 0 0 8px !important;
  color: var(--ks-primary, #223070);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}
.ks-quote__text {
  margin: 0 !important;
  font-size: 16px;
  line-height: 1.9;
}
.ks-quote__source {
  display: block;
  margin-top: 12px;
  color: var(--ks-muted, #667085);
  font-size: 12px;
  line-height: 1.6;
}
.ks-quote__source a { color: var(--ks-primary, #223070); text-decoration: underline; text-underline-offset: 2px; }

/* Author profile ------------------------------------------------------- */
.ks-author-box {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  box-sizing: border-box;
  margin: 42px 0;
  padding: 26px 28px;
  border: 1px solid var(--ks-border, #e3e7ef);
  border-radius: 14px;
  background: color-mix(in srgb, var(--ks-primary, #223070) 3%, var(--ks-surface, #ffffff));
  color: var(--ks-text, #31343a);
}
.ks-author-box__media { min-width: 0; text-align: center; }
.ks-author-box__media img,
.ks-author-box__image-button img {
  display: block;
  width: 104px;
  height: 104px;
  margin: 0 auto;
  border-radius: 50%;
  object-fit: cover;
}
.ks-author-box__image-button {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ks-author-box__body { min-width: 0; }
.ks-author-box__label {
  margin: 0 0 3px !important;
  color: var(--ks-muted, #667085);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
.ks-author-box__name {
  margin: 0 0 8px !important;
  color: var(--ks-primary, #223070);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}
.ks-author-box__credentials {
  margin: 0 0 9px !important;
  color: var(--ks-muted, #667085);
  font-size: 12px;
  line-height: 1.8;
}
.ks-author-box__description {
  margin: 0 0 8px !important;
  font-size: 14px;
  line-height: 1.85;
}
.ks-author-box__profile-link,
.ks-author-box__profile-text {
  color: var(--ks-primary, #223070);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.ks-author-box__profile-link:hover,
.ks-author-box__profile-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 767px) {
  .ks-quote { margin: 28px 0; padding: 20px 17px 17px 42px; }
  .ks-quote::before { left: 12px; font-size: 40px; }
  .ks-quote__title { font-size: 14px; }
  .ks-quote__text { font-size: 14px; line-height: 1.8; }

  .ks-author-box {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    margin: 34px 0;
    padding: 20px 16px;
    border-radius: 11px;
  }
  .ks-author-box__media img,
  .ks-author-box__image-button img { width: 70px; height: 70px; }
  .ks-author-box__name { margin-bottom: 6px !important; font-size: 17px; }
  .ks-author-box__credentials { font-size: 11px; line-height: 1.65; }
  .ks-author-box__description { font-size: 13px; line-height: 1.75; }
}
