/* Konko · Quote
   NOTE: every visual declaration is forced with !important — HubSpot's
   Elevate base theme (main.hubl.css) styles blockquote/h*/p/a with
   element selectors that otherwise beat our single-class selectors. */

/* ── Premium pass: elevate into a card, gold-gradient mark, gold photo ring ── */
.kquote__figure {
  background: var(--brand-white) !important;
  border: 1px solid var(--brand-border) !important;
  border-radius: 28px !important;
  padding: clamp(32px, 5vw, 60px) !important;
  box-shadow: 0 18px 50px rgba(10, 10, 10, 0.07) !important;
  position: relative !important;
  overflow: hidden !important;
}
.ksection--cream .kquote__figure { background: var(--brand-white) !important; }
.ksection--dark .kquote__figure { background: var(--brand-black-soft) !important; border-color: var(--brand-border-home) !important; }
/* Soft warm glow in the corner */
.kquote__figure::after {
  content: "" !important;
  position: absolute !important;
  top: -40% !important; right: -10% !important;
  width: 45% !important; height: 120% !important;
  background: radial-gradient(closest-side, rgba(201,168,76,0.10), rgba(201,168,76,0) 70%) !important;
  pointer-events: none !important;
}
.kquote__mark { color: var(--brand-gold) !important; }
.kquote__photo { border: 2px solid var(--brand-gold) !important; }
.kquote__figure {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.kquote__mark {
  display: block !important;
  font-family: var(--font-display) !important;
  font-size: clamp(64px, 9vw, 120px) !important;
  font-weight: 600 !important;
  line-height: 0.6 !important;
  color: var(--brand-gold) !important;
  margin: 0 0 clamp(8px, 1.5vw, 16px) !important;
}

/* Rendered as <blockquote> — Elevate gives blockquote its own
   background / border-left / padding / font / quotes, so reset all. */
.kquote__text {
  background: none !important;
  border: 0 !important;
  border-left: 0 !important;
  padding: 0 !important;
  font-family: var(--font-display) !important;
  font-size: clamp(24px, 3.6vw, 44px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  color: inherit !important;
  white-space: pre-line !important;
  text-wrap: balance;
  font-style: normal !important;
  quotes: none !important;
}
.kquote__text::before,
.kquote__text::after { content: none !important; }

.kquote__author {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin: clamp(32px, 4vw, 48px) 0 0 !important;
  padding: 0 !important;
}

.kquote__photo {
  flex-shrink: 0 !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 9999px !important;
  object-fit: cover !important;
  border: 2px solid var(--brand-white) !important;
  box-shadow: var(--shadow-card) !important;
}

/* Empty-photo placeholder reuses .kph but forced into a small circle */
.kquote__photo--ph {
  min-height: 0 !important;
  font-size: 11px !important;
  border-radius: 9999px !important;
}

.kquote__meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
}

/* Author name — matches text-[20px] font-semibold leading-[27px] text-brand-black */
.kquote__name {
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 27px !important;
  color: var(--brand-black) !important;
  margin: 0 !important;
}
.ksection--dark .kquote__name { color: var(--brand-white) !important; }

/* Author role — matches text-[18px] font-normal leading-[27px] text-neutral-500 */
.kquote__role {
  font-family: var(--font-sans) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  color: var(--neutral-500) !important;
  margin: 0 !important;
}
.ksection--dark .kquote__role { color: rgba(255, 255, 255, 0.62) !important; }

.kquote__logo {
  margin-left: auto !important;
  max-height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Any stray link inside the quote (not a button) — beat a:not(.hs-elevate-button) */
.kquote a:not(.kbtn) {
  color: var(--brand-gold-dark) !important;
  text-decoration: none !important;
}
.ksection--dark .kquote a:not(.kbtn) { color: var(--brand-gold-vivid) !important; }

@media (max-width: 768px) {
  .kquote__text { font-size: clamp(22px, 6vw, 30px) !important; line-height: 1.3 !important; }
  .kquote__author { flex-wrap: wrap !important; gap: 14px !important; }
  .kquote__photo { width: 56px !important; height: 56px !important; }
  .kquote__name { font-size: 18px !important; line-height: 24px !important; }
  .kquote__role { font-size: 16px !important; line-height: 22px !important; }
  .kquote__logo { margin-left: 0 !important; flex-basis: 100% !important; max-height: 32px !important; }
}

/* ── Redesign: airy centered editorial pull-quote (no heavy box) ── */
.kquote .kcontainer { max-width: 880px !important; }
.kquote__figure {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: clamp(8px, 2vw, 24px) 0 !important;
  margin: 0 auto !important; text-align: center !important; overflow: visible !important; position: relative !important;
}
.ksection--cream .kquote__figure, .ksection--light .kquote__figure,
.ksection--gray .kquote__figure, .ksection--dark .kquote__figure { background: transparent !important; border: 0 !important; }
.kquote__figure::after { content: none !important; }
.kquote__mark {
  display: block !important; font-family: var(--font-display) !important;
  font-size: clamp(86px, 11vw, 150px) !important; font-weight: 700 !important; line-height: 0.5 !important;
  color: var(--brand-gold) !important; opacity: 0.5 !important;
  height: clamp(44px, 6vw, 72px) !important; margin: 0 auto 4px !important;
}
.kquote__text {
  font-size: clamp(19px, 2.1vw, 27px) !important; font-weight: 500 !important; line-height: 1.42 !important;
  letter-spacing: -0.015em !important; color: var(--neutral-900) !important;
  margin: 0 auto !important; max-width: 760px !important;
}
.ksection--dark .kquote__text { color: var(--brand-white) !important; }
.kquote__author {
  flex-direction: column !important; align-items: center !important; gap: 4px !important;
  margin: clamp(28px, 4vw, 40px) auto 0 !important; padding-top: clamp(22px, 3vw, 30px) !important; position: relative !important;
}
.kquote__author::before {
  content: "" !important; position: absolute !important; top: 0 !important; left: 50% !important;
  transform: translateX(-50%) !important; width: 40px !important; height: 2px !important; background: var(--brand-gold) !important;
}
.kquote__photo { width: 60px !important; height: 60px !important; border: 2px solid var(--brand-gold) !important; margin: 0 0 6px !important; }
.kquote__meta { align-items: center !important; text-align: center !important; }
.kquote__name { font-size: 18px !important; line-height: 1.3 !important; }
.kquote__role { font-size: 15px !important; line-height: 1.3 !important; }
.kquote__logo { margin: 8px auto 0 !important; max-height: 30px !important; }
