.kvfg {
  --kvfg-black: #101010;
  --kvfg-white: #fffdf8;
  --kvfg-blue: #b9d7ff;
  --kvfg-mint: #bdeed7;
  --kvfg-yellow: #ffe899;
  --kvfg-lilac: #d8c7ff;
  --kvfg-pink: #ffbed4;
  --kvfg-red: #f04438;
  --kvfg-muted: #6b6b6b;
  --kvfg-line: 3px solid var(--kvfg-black);
  --kvfg-shadow: 8px 8px 0 var(--kvfg-black);
  background: var(--kvfg-white);
  color: var(--kvfg-black);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
  padding: 34px 0 80px;
  overflow: clip;
}

.kvfg *, .kvfg *::before, .kvfg *::after { box-sizing: border-box; }
.kvfg button, .kvfg input, .kvfg select { font: inherit; }
.kvfg button, .kvfg a { -webkit-tap-highlight-color: transparent; }
.kvfg a { color: inherit; }
.kvfg [hidden] { display: none !important; }

.kvfg__shell {
  width: min(1680px, calc(100% - 20px));
  margin: 0 auto;
}

.kvfg__hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
  gap: clamp(32px, 6vw, 90px);
  align-items: center;
  background: var(--kvfg-blue);
  border: var(--kvfg-line);
  border-radius: 30px;
  padding: clamp(34px, 6vw, 92px);
  box-shadow: var(--kvfg-shadow);
  position: relative;
  isolation: isolate;
}

.kvfg__hero::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 38px;
  right: 42%;
  top: 20px;
  background: var(--kvfg-red);
  border: var(--kvfg-line);
  transform: rotate(-4deg);
  z-index: -1;
}

.kvfg__eyebrow,
.kvfg__micro-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: var(--kvfg-red);
  color: white;
  border: 2px solid var(--kvfg-black);
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: none;
}

.kvfg__hero h1,
.kvfg__screen-head h2,
.kvfg__method-head h2,
.kvfg__legal h2,
.kvfg__result-head h2 {
  margin: 18px 0 20px;
  font-family: Arial Black, Impact, Inter, sans-serif;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: -.03em;
  line-height: 1.02;
  text-wrap: balance;
}

.kvfg__hero h1 {
  font-size: clamp(52px, 7.4vw, 112px);
  max-width: 760px;
}

.kvfg__hero h1 span {
  display: inline-block;
  background: var(--kvfg-yellow);
  border: var(--kvfg-line);
  padding: .04em .11em .09em;
  transform: rotate(-1.4deg);
  box-shadow: 5px 5px 0 var(--kvfg-black);
}

.kvfg__lead {
  max-width: 720px;
  font-size: clamp(18px, 1.6vw, 26px);
  font-weight: 720;
  margin: 0;
}

.kvfg__hero-actions,
.kvfg__legal-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 32px;
}

.kvfg__button {
  min-height: 52px;
  border: var(--kvfg-line);
  border-radius: 14px;
  padding: 12px 20px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.kvfg__button:hover { transform: translate(-2px, -2px); }
.kvfg__button:focus-visible,
.kvfg input:focus-visible,
.kvfg select:focus-visible,
.kvfg a:focus-visible {
  outline: 4px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--kvfg-black);
}

.kvfg__button--dark {
  color: #fff;
  background: var(--kvfg-black);
  box-shadow: 5px 5px 0 var(--kvfg-red);
}

.kvfg__button--ghost {
  background: #fff;
  color: var(--kvfg-black);
}

.kvfg__button[disabled] {
  opacity: .42;
  cursor: not-allowed;
  transform: none;
}

.kvfg__text-link,
.kvfg__legal-links a {
  font-weight: 900;
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}

.kvfg__hero-visual {
  min-height: 470px;
  position: relative;
}

.kvfg__rate-card {
  position: absolute;
  inset: 34px 20px 34px 40px;
  background: #fff;
  border: var(--kvfg-line);
  border-radius: 28px;
  box-shadow: 12px 12px 0 var(--kvfg-black);
  padding: 34px;
  transform: rotate(2.2deg);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.kvfg__rate-card strong {
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(47px, 5vw, 82px);
  letter-spacing: -.06em;
  line-height: .86;
}

.kvfg__rate-orbit {
  position: absolute;
  width: 92px;
  aspect-ratio: 1;
  right: -32px;
  bottom: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--kvfg-pink);
  border: var(--kvfg-line);
  font-family: Arial Black, Impact, sans-serif;
  font-size: 48px;
  transform: rotate(-8deg);
}

.kvfg__mini-card {
  position: absolute;
  z-index: 2;
  border: var(--kvfg-line);
  border-radius: 16px;
  box-shadow: 5px 5px 0 var(--kvfg-black);
  padding: 15px 18px;
  font-weight: 950;
  text-transform: uppercase;
  line-height: 1.05;
}

.kvfg__mini-card--mint { left: 0; bottom: 2px; background: var(--kvfg-mint); transform: rotate(-4deg); }
.kvfg__mini-card--lilac { right: 0; top: 0; background: var(--kvfg-lilac); transform: rotate(4deg); }

.kvfg__trust-strip {
  margin: 42px 0 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: var(--kvfg-line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--kvfg-black);
}

.kvfg__trust-strip span {
  min-height: 72px;
  display: grid;
  place-items: center;
  padding: 14px;
  color: #fff;
  font-weight: 900;
  text-align: center;
  border-right: 2px solid #fff;
}
.kvfg__trust-strip span:last-child { border-right: 0; }

.kvfg__app {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.kvfg__steps {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 12px;
}

.kvfg__step {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 2px solid var(--kvfg-black);
  border-radius: 14px;
  padding: 11px;
  text-align: left;
  cursor: pointer;
}

.kvfg__step b {
  width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: var(--kvfg-yellow);
  border: 2px solid var(--kvfg-black);
  border-radius: 10px;
  font-weight: 950;
}

.kvfg__step span { font-size: 14px; font-weight: 900; }
.kvfg__step.is-active { background: var(--kvfg-black); color: #fff; box-shadow: 4px 4px 0 var(--kvfg-red); }
.kvfg__step.is-complete b { background: var(--kvfg-mint); }

.kvfg__panel {
  min-width: 0;
  background: #fff;
  border: var(--kvfg-line);
  border-radius: 26px;
  box-shadow: var(--kvfg-shadow);
}

.kvfg__form { margin: 0; }
.kvfg__screen { min-height: 620px; padding: clamp(28px, 5vw, 70px); }
.kvfg__screen--results { background: #f7f3ff; border-radius: 23px 23px 0 0; }

.kvfg__screen-head { max-width: 930px; margin-bottom: 36px; }
.kvfg__screen-head h2,
.kvfg__method-head h2,
.kvfg__legal h2,
.kvfg__result-head h2 { font-size: clamp(38px, 5.2vw, 80px); }
.kvfg__screen-head p { margin: 0; font-size: 18px; font-weight: 650; max-width: 780px; }

.kvfg__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.kvfg__field {
  min-width: 0;
  display: grid;
  gap: 9px;
  align-content: start;
  background: var(--kvfg-blue);
  border: 2px solid var(--kvfg-black);
  border-radius: 18px;
  padding: 18px;
}
.kvfg__field:nth-child(3n+2) { background: var(--kvfg-mint); }
.kvfg__field:nth-child(3n+3) { background: var(--kvfg-lilac); }
.kvfg__field--wide { grid-column: 1 / -1; background: var(--kvfg-yellow); }
.kvfg__field > span { font-size: 14px; font-weight: 950; }
.kvfg__field small { color: #383838; font-size: 12px; }

.kvfg__money-input { position: relative; }
.kvfg__money-input input,
.kvfg__field select {
  width: 100%;
  min-height: 58px;
  border: 2px solid var(--kvfg-black);
  border-radius: 12px;
  background: #fff;
  color: var(--kvfg-black);
  padding: 10px 48px 10px 14px;
  font-size: 18px;
  font-weight: 850;
}
.kvfg__field select { padding-right: 40px; }
.kvfg__money-input i {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-style: normal;
  font-weight: 950;
}

.kvfg__question-stack { display: grid; gap: 20px; }
.kvfg__choice-card,
.kvfg__toggle-card {
  margin: 0;
  border: 2px solid var(--kvfg-black);
  border-radius: 18px;
  background: var(--kvfg-pink);
  padding: 26px 20px 20px;
}
.kvfg__choice-title { margin: 0 0 14px; font-weight: 950; line-height: 1.35; }
.kvfg__choice-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.kvfg__choice-row label { position: relative; cursor: pointer; }
.kvfg__choice-row input { position: absolute; opacity: 0; pointer-events: none; }
.kvfg__choice-row span {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--kvfg-black);
  border-radius: 999px;
  background: #fff;
  padding: 8px 15px;
  font-weight: 900;
}
.kvfg__choice-row input:checked + span { background: var(--kvfg-black); color: #fff; box-shadow: 3px 3px 0 var(--kvfg-red); }

.kvfg__toggle-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  cursor: pointer;
  background: var(--kvfg-yellow);
}
.kvfg__toggle-card input { width: 24px; height: 24px; accent-color: var(--kvfg-black); }
.kvfg__toggle-card span { display: grid; gap: 3px; }
.kvfg__toggle-card b { font-size: 16px; }
.kvfg__toggle-card small { color: #454545; }

.kvfg__form-nav {
  display: grid;
  grid-template-columns: auto minmax(130px, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-top: var(--kvfg-line);
  padding: 20px clamp(20px, 4vw, 54px);
  background: var(--kvfg-yellow);
  border-radius: 0 0 23px 23px;
}
.kvfg__progress { height: 14px; background: #fff; border: 2px solid var(--kvfg-black); border-radius: 999px; overflow: hidden; }
.kvfg__progress span { display: block; height: 100%; background: var(--kvfg-red); transition: width .25s ease; }

.kvfg__loading {
  min-height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  text-align: center;
}
.kvfg__loading span { width: 18px; aspect-ratio: 1; background: var(--kvfg-black); border-radius: 50%; animation: kvfg-bounce 1s infinite alternate; }
.kvfg__loading span:nth-child(2) { animation-delay: .15s; background: var(--kvfg-red); }
.kvfg__loading span:nth-child(3) { animation-delay: .3s; background: var(--kvfg-blue); }
.kvfg__loading b { flex-basis: 100%; font-size: 20px; margin-top: 10px; }
@keyframes kvfg-bounce { to { transform: translateY(-12px); } }

.kvfg__result-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: end;
  margin-bottom: 28px;
}
.kvfg__result-head h2 { margin-bottom: 10px; }
.kvfg__result-summary {
  background: var(--kvfg-black);
  color: #fff;
  border: var(--kvfg-line);
  border-radius: 18px;
  padding: 18px;
  min-width: 240px;
  box-shadow: 5px 5px 0 var(--kvfg-red);
}
.kvfg__result-summary b { display: block; font-size: 28px; }
.kvfg__result-summary span { font-size: 13px; color: #ddd; }

.kvfg__coverage-note,
.kvfg__demo-note,
.kvfg__error-box {
  border: 2px solid var(--kvfg-black);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 20px;
  font-weight: 720;
}
.kvfg__coverage-note { background: var(--kvfg-yellow); }
.kvfg__demo-note { background: var(--kvfg-pink); }
.kvfg__error-box { background: #ffd6d3; }

.kvfg__results-list { display: grid; gap: 22px; }
.kvfg__result-card {
  background: #fff;
  border: var(--kvfg-line);
  border-radius: 22px;
  box-shadow: 7px 7px 0 var(--kvfg-black);
  overflow: hidden;
}
.kvfg__result-card.is-excluded { opacity: .75; box-shadow: none; }

.kvfg__result-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 20px;
  background: var(--kvfg-mint);
  border-bottom: 2px solid var(--kvfg-black);
}
.kvfg__result-card:nth-child(2n) .kvfg__result-top { background: var(--kvfg-blue); }
.kvfg__result-card:nth-child(3n) .kvfg__result-top { background: var(--kvfg-lilac); }

.kvfg__bank-mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid var(--kvfg-black);
  border-radius: 15px;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 20px;
  overflow: hidden;
  padding: 8px;
}
.kvfg__bank-mark--logo { padding: 10px; }
.kvfg__bank-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.kvfg__bank-title { min-width: 0; }
.kvfg__bank-title h3 { margin: 0; font-size: clamp(20px, 2.3vw, 32px); line-height: 1.05; }
.kvfg__bank-title p { margin: 5px 0 0; font-weight: 750; }
.kvfg__rank-badge {
  min-width: 90px;
  text-align: center;
  background: var(--kvfg-black);
  color: #fff;
  border: 2px solid var(--kvfg-black);
  border-radius: 13px;
  padding: 10px 12px;
}
.kvfg__rank-badge b { display: block; font-size: 25px; }
.kvfg__rank-badge span { font-size: 11px; text-transform: uppercase; font-weight: 900; letter-spacing: .08em; }

.kvfg__metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 2px solid var(--kvfg-black);
}
.kvfg__metric {
  min-width: 0;
  padding: 18px;
  border-right: 2px solid var(--kvfg-black);
}
.kvfg__metric:last-child { border-right: 0; }
.kvfg__metric span { display: block; color: #555; font-size: 12px; font-weight: 850; }
.kvfg__metric b { display: block; margin-top: 4px; font-size: clamp(18px, 2vw, 28px); line-height: 1; }
.kvfg__metric small { display: block; margin-top: 5px; font-size: 11px; }

.kvfg__result-body { padding: 20px; }
.kvfg__status-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.kvfg__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 10px;
  border: 2px solid var(--kvfg-black);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.kvfg__status--good { background: var(--kvfg-mint); }
.kvfg__status--warn { background: var(--kvfg-yellow); }
.kvfg__status--bad { background: #ffd0cc; }
.kvfg__status--data { background: var(--kvfg-lilac); }

.kvfg__reason-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kvfg__reason-box { border: 2px solid var(--kvfg-black); border-radius: 15px; padding: 15px; background: #fff; }
.kvfg__reason-box h4 { margin: 0 0 8px; font-size: 14px; text-transform: uppercase; }
.kvfg__reason-box ul { margin: 0; padding-left: 19px; }
.kvfg__reason-box li + li { margin-top: 5px; }
.kvfg__reason-box--why { background: #eaf8f1; }
.kvfg__reason-box--check { background: #fff4d1; }

.kvfg__result-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.kvfg__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 2px solid var(--kvfg-black);
  border-radius: 12px;
  padding: 10px 16px;
  background: var(--kvfg-black);
  color: #fff !important;
  text-decoration: none;
  font-weight: 950;
  box-shadow: 4px 4px 0 var(--kvfg-red);
}
.kvfg__watch-button,
.kvfg__details-button {
  min-height: 48px;
  border: 2px solid var(--kvfg-black);
  border-radius: 12px;
  padding: 9px 14px;
  background: #fff;
  font-weight: 900;
  cursor: pointer;
}
.kvfg__fineprint { margin: 14px 0 0; color: #555; font-size: 12px; }

.kvfg__watch-panel {
  margin-top: 30px;
  border: var(--kvfg-line);
  border-radius: 20px;
  background: var(--kvfg-pink);
  padding: 22px;
  box-shadow: 6px 6px 0 var(--kvfg-black);
}
.kvfg__watch-panel h3 { margin: 0 0 6px; font-size: 26px; }
.kvfg__watch-list { display: grid; gap: 10px; margin-top: 14px; }
.kvfg__watch-item { display: flex; justify-content: space-between; gap: 12px; align-items: center; background: #fff; border: 2px solid var(--kvfg-black); border-radius: 12px; padding: 12px; }
.kvfg__watch-item button { border: 0; background: transparent; text-decoration: underline; font-weight: 900; cursor: pointer; }

.kvfg__method,
.kvfg__legal {
  margin-top: 48px;
  border: var(--kvfg-line);
  border-radius: 28px;
  box-shadow: var(--kvfg-shadow);
  padding: clamp(30px, 5vw, 70px);
}
.kvfg__method { background: var(--kvfg-yellow); }
.kvfg__method-head { max-width: 1000px; }
.kvfg__method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kvfg__method-grid article { background: #fff; border: 2px solid var(--kvfg-black); border-radius: 18px; padding: 20px; }
.kvfg__method-grid article:nth-child(2) { background: var(--kvfg-mint); }
.kvfg__method-grid article:nth-child(3) { background: var(--kvfg-blue); }
.kvfg__method-grid article:nth-child(4) { background: var(--kvfg-lilac); }
.kvfg__method-grid article:nth-child(5) { background: var(--kvfg-pink); }
.kvfg__method-grid .kvfg__method-zero { background: var(--kvfg-black); color: #fff; }
.kvfg__method-grid b { font-family: Arial Black, Impact, sans-serif; font-size: 42px; }
.kvfg__method-grid h3 { margin: 4px 0 8px; }
.kvfg__method-grid p { margin: 0; }

.kvfg__legal { background: var(--kvfg-black); color: #fff; }
.kvfg__legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kvfg__legal-grid p { margin: 0; background: #1f1f1f; border: 1px solid #555; border-radius: 14px; padding: 16px; }
.kvfg__legal-links a { color: #fff; }
.kvfg__noscript { padding: 18px; border: 2px solid var(--kvfg-black); background: #ffd6d3; }

@media (max-width: 1120px) {
  .kvfg__hero { grid-template-columns: 1fr; }
  .kvfg__hero-visual { min-height: 430px; width: min(650px, 100%); }
  .kvfg__app { grid-template-columns: 1fr; }
  .kvfg__steps { position: static; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; overflow-x: auto; padding-bottom: 4px; }
  .kvfg__step { grid-template-columns: 1fr; min-width: 130px; text-align: center; }
  .kvfg__step b { margin: 0 auto; }
  .kvfg__metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kvfg__metric:nth-child(3) { border-right: 0; }
  .kvfg__metric:nth-child(-n+3) { border-bottom: 2px solid var(--kvfg-black); }
  .kvfg__metric:nth-child(4) { border-right: 2px solid var(--kvfg-black); }
  .kvfg__method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .kvfg { padding-top: 16px; }
  .kvfg__shell { width: min(100% - 12px, 1680px); }
  .kvfg__hero { min-height: auto; padding: 28px 20px 36px; border-radius: 22px; box-shadow: 5px 5px 0 var(--kvfg-black); }
  .kvfg__hero h1 { font-size: clamp(44px, 15vw, 72px); }
  .kvfg__lead { font-size: 17px; }
  .kvfg__hero-visual { min-height: 350px; }
  .kvfg__rate-card { inset: 28px 14px 24px 18px; padding: 24px; }
  .kvfg__rate-card strong { font-size: clamp(42px, 13vw, 68px); }
  .kvfg__trust-strip { grid-template-columns: 1fr 1fr; }
  .kvfg__trust-strip span:nth-child(2) { border-right: 0; }
  .kvfg__trust-strip span:nth-child(-n+2) { border-bottom: 2px solid #fff; }
  .kvfg__screen { min-height: 0; padding: 26px 18px 34px; }
  .kvfg__field-grid { grid-template-columns: 1fr; }
  .kvfg__field--wide { grid-column: auto; }
  .kvfg__form-nav { grid-template-columns: 1fr 1fr; }
  .kvfg__progress { grid-column: 1 / -1; grid-row: 1; }
  .kvfg__form-nav [data-kvfg-prev] { grid-column: 1; }
  .kvfg__form-nav [data-kvfg-next] { grid-column: 2; }
  .kvfg__result-head { grid-template-columns: 1fr; }
  .kvfg__result-summary { min-width: 0; }
  .kvfg__result-top { grid-template-columns: auto 1fr; }
  .kvfg__rank-badge { grid-column: 1 / -1; }
  .kvfg__metric-grid { grid-template-columns: 1fr 1fr; }
  .kvfg__metric { border-right: 2px solid var(--kvfg-black) !important; border-bottom: 2px solid var(--kvfg-black); }
  .kvfg__metric:nth-child(2n) { border-right: 0 !important; }
  .kvfg__metric:last-child { grid-column: 1 / -1; border-right: 0 !important; border-bottom: 0; }
  .kvfg__reason-grid,
  .kvfg__method-grid,
  .kvfg__legal-grid { grid-template-columns: 1fr; }
  .kvfg__method,
  .kvfg__legal { padding: 26px 18px; border-radius: 22px; box-shadow: 5px 5px 0 var(--kvfg-black); }
}

@media (prefers-reduced-motion: reduce) {
  .kvfg *, .kvfg *::before, .kvfg *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

.kvfg__history {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 280px);
  gap: 18px;
  align-items: center;
  border: 2px solid var(--kvfg-black);
  border-radius: 15px;
  background: var(--kvfg-blue);
  padding: 15px;
}
.kvfg__history > div { display: grid; gap: 4px; }
.kvfg__history small { color: #3f3f3f; }
.kvfg__history svg { width: 100%; height: 62px; color: var(--kvfg-black); }
.kvfg__history-empty { font-weight: 900; text-align: right; }

@media (max-width: 760px) {
  .kvfg__history { grid-template-columns: 1fr; }
  .kvfg__history-empty { text-align: left; }
}


/* ===== Version 1.0.5 editorial result layout ===== */
.kvfg__micro-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 2px solid var(--kvfg-black);
  border-radius: 999px;
  padding: 6px 10px;
  background: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.kvfg__result-card--editorial {
  border: 3px solid var(--kvfg-black);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 8px 8px 0 var(--kvfg-blue);
}
.kvfg__editorial-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) 230px;
  align-items: stretch;
}
.kvfg__editorial-side--left {
  background: var(--kvfg-lilac);
  border-right: 2px solid var(--kvfg-black);
  padding: 24px 18px;
  display: grid;
  align-content: start;
  gap: 18px;
}
.kvfg__result-card:nth-child(2n) .kvfg__editorial-side--left { background: #dfeee7; }
.kvfg__result-card:nth-child(3n) .kvfg__editorial-side--left { background: #dce7ff; }
.kvfg__rank-mini,
.kvfg__score-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 56px;
  border: 2px solid var(--kvfg-black);
  background: #fff;
  font-family: Arial Black, Impact, sans-serif;
  font-weight: 950;
}
.kvfg__score-stamp {
  min-height: 40px;
  min-width: 78px;
  margin-top: auto;
  font-size: 20px;
}
.kvfg__brand-logo {
  width: 120px;
  height: 58px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid var(--kvfg-black);
  padding: 10px;
}
.kvfg__brand-logo img { max-width: 100%; max-height: 100%; object-fit: contain; display:block; }
.kvfg__brand-logo--with-image span { display:none; font-family: Arial Black, Impact, sans-serif; font-size: 22px; }
.kvfg__brand-logo.is-broken { width: 72px; height: 72px; border-radius: 16px; }
.kvfg__brand-logo.is-broken img { display:none; }
.kvfg__brand-logo.is-broken span { display:block; }
.kvfg__brand-logo--fallback {
  height: 72px;
  width: 72px;
  border-radius: 16px;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 22px;
}
.kvfg__side-copy h3 {
  margin: 2px 0 4px;
  font-size: clamp(26px, 2.7vw, 34px);
  line-height: .95;
  font-family: Arial Black, Impact, sans-serif;
  letter-spacing: -.04em;
}
.kvfg__side-copy p { margin: 0; font-weight: 700; }
.kvfg__side-kicker {
  display:block;
  color: #b53a18;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kvfg__editorial-main {
  background: #f6f3eb;
  padding: 16px;
}
.kvfg__editorial-head {
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items:start;
  margin-bottom: 12px;
}
.kvfg__editorial-head h3 {
  margin: 8px 0 4px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: .98;
  font-family: Arial Black, Impact, sans-serif;
  letter-spacing: -.04em;
}
.kvfg__editorial-head p { margin: 0; font-weight: 800; }
.kvfg__editorial-badge {
  min-width: 108px;
  padding: 10px 12px;
  border: 2px solid var(--kvfg-black);
  background: #fff6c9;
  text-align:center;
}
.kvfg__editorial-badge b { display:block; font-size: 24px; }
.kvfg__editorial-badge span { display:block; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.kvfg__metric-grid--editorial {
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.kvfg__metric-card {
  border: 1.8px solid #bcb8ae;
  background: #fbfbf7;
  min-height: 94px;
  padding: 12px 13px;
}
.kvfg__metric-card:nth-child(3n) { background: #efeffb; }
.kvfg__metric-card span {
  display:block;
  color: #b53a18;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.kvfg__metric-card b {
  display:block;
  font-size: clamp(18px, 2vw, 22px);
  font-family: Arial Black, Impact, sans-serif;
  line-height: 1.02;
  margin-bottom: 4px;
}
.kvfg__metric-card small { display:block; font-size: 12px; line-height: 1.35; }
.kvfg__status-row--editorial { margin-top: 12px; margin-bottom: 14px; }
.kvfg__reason-grid--editorial { margin-top: 10px; }
.kvfg__editorial-side--right {
  background: #050505;
  color: #fff;
  border-left: 2px solid var(--kvfg-black);
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: stretch;
  min-height: 100%;
  box-sizing: border-box;
}
.kvfg__side-badge {
  border: 2px solid #d6bb4f;
  background: #f5d55c;
  color: #000;
  padding: 12px 10px;
  text-align: center;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1.1;
}
.kvfg__side-cta-block h4 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.0;
  font-family: Arial Black, Impact, sans-serif;
  color: #f5d55c;
}
.kvfg__side-cta-block p { margin: 0 0 12px; font-weight: 700; }
.kvfg__cta {
  width: 100%;
  min-height: 64px;
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
  box-sizing: border-box;
  box-shadow: 5px 5px 0 rgba(174, 186, 255, .7);
}
.kvfg__cta span { font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.kvfg__cta b { font-size: 17px; line-height: 1.15; }
.kvfg__cta--disabled {
  background: #d7d4e7;
  color: #111 !important;
  box-shadow: none;
  opacity: .9;
}
.kvfg__bonus-box {
  border: 2px solid #c6c9fb;
  border-radius: 16px;
  background: #d9defe;
  color: #111;
  padding: 12px;
  box-shadow: 4px 4px 0 rgba(255,255,255,.25);
}
.kvfg__bonus-box span {
  display:block;
  color: #a13a5d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.kvfg__bonus-box b { display:block; font-size: 18px; margin-bottom: 6px; }
.kvfg__bonus-box small { display:block; line-height: 1.35; }
.kvfg__toast {
  position: sticky;
  bottom: 18px;
  left: 0;
  margin-top: 16px;
  width: fit-content;
  max-width: min(92%, 480px);
  padding: 12px 16px;
  border: 2px solid var(--kvfg-black);
  border-radius: 14px;
  background: #dff4e5;
  color: #111;
  font-weight: 800;
  box-shadow: 5px 5px 0 var(--kvfg-black);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 40;
}
.kvfg__toast.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 1180px) {
  .kvfg__editorial-layout { grid-template-columns: 200px minmax(0, 1fr) 220px; }
}
@media (max-width: 980px) {
  .kvfg__editorial-layout { grid-template-columns: 1fr; }
  .kvfg__editorial-side--left,
  .kvfg__editorial-side--right { border: 0; border-bottom: 2px solid var(--kvfg-black); }
  .kvfg__editorial-side--right { border-top: 2px solid var(--kvfg-black); border-bottom: 0; }
  .kvfg__editorial-side--left { grid-template-columns: auto auto 1fr auto; align-items: center; }
  .kvfg__score-stamp { margin-top: 0; }
  .kvfg__metric-grid--editorial { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .kvfg__editorial-side--left { grid-template-columns: 1fr; }
  .kvfg__metric-grid--editorial { grid-template-columns: 1fr; }
  .kvfg__editorial-head { grid-template-columns: 1fr; }
  .kvfg__reason-grid--editorial { grid-template-columns: 1fr; }
}


/* ===== Version 1.0.6: verständlichere Methodik-Texte ===== */
.kvfg__method-head h2 {
  max-width: 1100px;
  line-height: .98;
}
.kvfg__method-grid article {
  display: flex;
  flex-direction: column;
}
.kvfg__method-grid h3 {
  line-height: 1.08;
}
.kvfg__method-grid p {
  line-height: 1.45;
}
.kvfg__method-grid .kvfg__method-zero h3,
.kvfg__method-grid .kvfg__method-zero b,
.kvfg__method-grid .kvfg__method-zero p {
  color: #fff !important;
}
@media (max-width: 760px) {
  .kvfg__method-head h2 {
    font-size: clamp(34px, 11vw, 58px);
  }
}


.kvfg__legal h2,
.kvfg__legal .kvfg__micro-label,
.kvfg__legal .kvfg__legal-intro {
  color: #fff !important;
}
.kvfg__legal-intro {
  margin: 0 0 18px;
  max-width: 980px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.45;
  font-weight: 700;
}


.kvfg__app.is-results-mode {
  grid-template-columns: 1fr;
  gap: 18px;
}
.kvfg__app.is-results-mode .kvfg__steps {
  position: static;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.kvfg__app.is-results-mode .kvfg__step {
  min-height: 76px;
}
.kvfg__app.is-results-mode .kvfg__panel {
  padding: clamp(24px, 3vw, 42px);
}
.kvfg__result-head h2 {
  max-width: 12ch;
  text-wrap: balance;
  font-size: clamp(44px, 6.2vw, 88px);
}
.kvfg__result-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}
.kvfg__side-cta-block .kvfg__cta,
.kvfg__editorial-side--right .kvfg__cta {
  background: #f5d55c;
  color: #111 !important;
  border-color: #111;
  box-shadow: 5px 5px 0 rgba(198, 201, 251, .85);
}
.kvfg__editorial-side--right .kvfg__cta span,
.kvfg__editorial-side--right .kvfg__cta b {
  color: #111 !important;
}
.kvfg__editorial-side--right .kvfg__cta:hover {
  transform: translate(-1px, -1px);
}
@media (max-width: 900px) {
  .kvfg__app.is-results-mode .kvfg__steps {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .kvfg__result-head {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .kvfg__result-head h2 { max-width: none; }
}

.kvfg__side-cta-bottom {
  margin-top: 8px;
}
.kvfg__side-cta-bottom .kvfg__cta,
.kvfg__side-cta-bottom .kvfg__cta--disabled {
  width: 100%;
  display: flex;
}

.kvfg__result-actions {
  align-items: stretch;
}
.kvfg__cta--inline {
  min-width: 280px;
}
.kvfg__side-cta-bottom .kvfg__cta,
.kvfg__cta--inline {
  background: #f5d55c !important;
  color: #111 !important;
  border: 2px solid #111 !important;
  box-shadow: 5px 5px 0 rgba(223, 83, 52, .9) !important;
}
.kvfg__side-cta-bottom .kvfg__cta span,
.kvfg__side-cta-bottom .kvfg__cta b,
.kvfg__cta--inline span,
.kvfg__cta--inline b {
  color: #111 !important;
}
.kvfg__cta--disabled {
  opacity: 1;
}


.kvfg__side-cta-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kvfg__side-cta-block p {
  margin: 0;
  font-weight: 700;
  color: #fff;
}
.kvfg__side-cta-bottom {
  margin-top: auto;
  padding-top: 8px;
}
.kvfg__cta--card {
  width: 100%;
  min-height: 98px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 16px 16px 18px;
  border: 3px solid #f5d55c !important;
  border-radius: 18px;
  background: #f5d55c !important;
  color: #111 !important;
  box-shadow: 6px 6px 0 rgba(255,255,255,.22);
  text-decoration: none;
}
.kvfg__cta--card .kvfg__cta-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.kvfg__cta--card .kvfg__cta-copy small {
  display: block;
  margin: 0;
  font-size: 10px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #111;
}
.kvfg__cta--card .kvfg__cta-copy b {
  display: block;
  margin: 0;
  font-size: 30px;
  line-height: .9;
  text-transform: uppercase;
  letter-spacing: -.04em;
  color: #111 !important;
  font-family: Arial Black, Impact, sans-serif;
}
.kvfg__cta--card .kvfg__cta-arrow {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #000;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
}
.kvfg__cta--card:hover {
  transform: translate(-1px, -1px);
}
.kvfg__cta--inline {
  min-width: 320px;
  max-width: 420px;
}
.kvfg__cta--disabled {
  background: #efeccf !important;
  border-color: #e7d15d !important;
  opacity: 1;
}
.kvfg__cta--disabled .kvfg__cta-arrow {
  background: #444;
}
@media (max-width: 640px) {
  .kvfg__cta--card .kvfg__cta-copy b {
    font-size: 24px;
  }
  .kvfg__cta--card {
    min-height: 88px;
    padding: 14px;
  }
}

/* ===== Version 1.0.16: ruhiger Bankenblock, echte FinanceAds-Logos, aufklappbare Details ===== */
.kvfg__editorial-layout {
  align-items: stretch;
}

.kvfg__editorial-side--left {
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

.kvfg__brand-logo,
.kvfg__brand-logo--with-image {
  width: 116px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 8px;
  background: #fffdfa;
  border: 2px solid #070709;
  border-radius: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.kvfg__brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 92%;
  max-height: 76%;
  object-fit: contain;
}

.kvfg__brand-logo--fallback,
.kvfg__brand-logo.is-broken {
  width: 116px;
  height: 58px;
  border-radius: 0;
}

.kvfg__brand-logo.is-broken img {
  display: none;
}

.kvfg__brand-logo.is-broken span,
.kvfg__brand-logo--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 20px;
}

.kvfg__editorial-main {
  padding: 22px;
}

.kvfg__editorial-head--compact {
  margin-bottom: 18px;
}

.kvfg__editorial-head--compact h3 {
  margin: 8px 0 6px;
  font-size: clamp(26px, 2.5vw, 38px);
}

.kvfg__editorial-head--compact p {
  max-width: 760px;
  font-size: 15px;
  line-height: 1.45;
}

.kvfg__metric-grid--editorial {
  gap: 12px;
}

.kvfg__metric-card {
  min-height: 106px;
  padding: 14px 15px;
}

.kvfg__status-row--editorial {
  margin: 16px 0;
}

.kvfg__details-accordion {
  margin-top: 16px;
  border: 2px solid var(--kvfg-black);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.kvfg__details-toggle {
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  border: 0;
  background: #fff;
  color: #111;
  font: inherit;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.kvfg__details-toggle:hover,
.kvfg__details-toggle:focus-visible {
  background: #fff6cf;
}

.kvfg__details-toggle b {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border: 2px solid #111;
  border-radius: 50%;
  background: #f5d55c;
  font-size: 23px;
  line-height: 1;
}

.kvfg__details-content {
  padding: 0 14px 14px;
  border-top: 2px solid var(--kvfg-black);
  background: #f7f3ea;
}

.kvfg__details-content[hidden] {
  display: none;
}

.kvfg__reason-grid--editorial {
  margin-top: 14px;
}

.kvfg__history {
  margin-top: 16px;
}

.kvfg__result-actions--quiet {
  margin-top: 16px;
}

.kvfg__editorial-side--right {
  align-self: stretch;
  min-height: 100%;
  background: #050505;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px 16px;
  box-sizing: border-box;
}

.kvfg__primary-area {
  margin-top: auto;
  padding-top: 18px;
}

.kvfg__primary-action {
  width: 100%;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 14px 15px 18px;
  border: 3px solid #fff;
  border-radius: 18px;
  background: #f5d55c;
  color: #111;
  box-shadow: 5px 5px 0 #d8ddff;
  font: inherit;
  cursor: pointer;
}

.kvfg__primary-action span {
  display: block;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 25px;
  line-height: .95;
  letter-spacing: -.035em;
  text-align: left;
  text-transform: uppercase;
}

.kvfg__primary-action em {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #000;
  color: #fff;
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
}

.kvfg__primary-action:hover,
.kvfg__primary-action:focus-visible {
  transform: translate(-1px, -1px);
}

.kvfg__primary-action.is-disabled {
  background: #e5e0bf;
  color: #555;
  cursor: not-allowed;
  box-shadow: none;
}

.kvfg__primary-area > small {
  display: block;
  margin-top: 10px;
  color: #fff;
  font-size: 10px;
  line-height: 1.4;
}

@media (max-width: 980px) {
  .kvfg__editorial-side--right {
    min-height: auto;
  }
  .kvfg__primary-area {
    margin-top: 8px;
  }
}

@media (max-width: 640px) {
  .kvfg__editorial-main {
    padding: 16px;
  }
  .kvfg__metric-card {
    min-height: auto;
  }
  .kvfg__primary-action span {
    font-size: 22px;
  }
}


/* v1.0.18 – stabile Anordnung der Kundenstatus-Fragen */
.kvfg .kvfg__choice-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 14px !important;
  padding: 20px !important;
  overflow: visible !important;
}
.kvfg .kvfg__choice-title {
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 1.35 !important;
}
.kvfg .kvfg__choice-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
}
.kvfg .kvfg__choice-row label {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  margin: 0 !important;
}


/* v1.0.19 result card refinements */
.kvfg__editorial-layout {
  grid-template-columns: 210px minmax(0, 1fr) 240px;
}
.kvfg__editorial-side--left {
  padding: 20px 14px;
}
.kvfg__side-copy {
  min-width: 0;
}
.kvfg__side-copy h3 {
  margin: 2px 0 6px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: .92;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.kvfg__side-copy p {
  margin: 0;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.kvfg__brand-logo {
  width: 118px;
  max-width: 100%;
}
.kvfg__editorial-side--right {
  justify-content: flex-start;
  gap: 12px;
}
.kvfg__side-badge {
  margin-bottom: 2px;
}
.kvfg__rail-highlight,
.kvfg__rail-checks {
  border: 2px solid #d8c55b;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  padding: 14px 14px 12px;
}
.kvfg__rail-highlight span,
.kvfg__rail-checks span {
  display: block;
  color: #f5d55c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.kvfg__rail-highlight b {
  display: block;
  font-size: 22px;
  line-height: .96;
  letter-spacing: -.03em;
  font-family: Arial Black, Impact, sans-serif;
  color: #fff;
  margin-bottom: 8px;
}
.kvfg__rail-highlight p {
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
}
.kvfg__rail-checks ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}
.kvfg__rail-checks li {
  color: #fff;
  line-height: 1.4;
  font-size: 14px;
}
.kvfg__bonus-box {
  margin-top: 2px;
}
.kvfg__primary-area {
  margin-top: auto;
  display: grid;
  gap: 10px;
}
.kvfg__primary-area small {
  color: rgba(255,255,255,.8);
  line-height: 1.35;
}
@media (max-width: 1180px) {
  .kvfg__editorial-layout {
    grid-template-columns: 190px minmax(0, 1fr) 220px;
  }
}
@media (max-width: 980px) {
  .kvfg__editorial-layout {
    grid-template-columns: 1fr;
  }
  .kvfg__side-copy h3 {
    font-size: clamp(24px, 5vw, 30px);
  }
}

/* v1.0.20 compact result rail */
.kvfg__editorial-side--right {
  gap: 14px;
}
.kvfg__side-badge {
  padding: 12px 10px;
  font-size: 12px;
  line-height: 1.15;
  letter-spacing: .08em;
  white-space: normal;
}
.kvfg__rail-highlight {
  border: 2px solid #d8c55b;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  padding: 14px;
}
.kvfg__rail-highlight span {
  margin-bottom: 7px;
}
.kvfg__rail-highlight b {
  font-size: 21px;
  line-height: 1;
}
.kvfg__rail-highlight p {
  font-size: 13px;
  line-height: 1.4;
}
.kvfg__primary-area {
  margin-top: auto;
  padding-top: 8px;
  min-width: 0;
}
.kvfg__primary-action {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 82px;
  box-sizing: border-box;
  overflow: hidden;
  gap: 10px;
  padding: 13px 12px 13px 14px;
}
.kvfg__primary-action span {
  min-width: 0;
  max-width: calc(100% - 48px);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: .94;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.kvfg__primary-action em {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 10px;
  font-size: 24px;
}
.kvfg__primary-area > small {
  margin-top: 8px;
  color: rgba(255,255,255,.82);
  font-size: 9.5px;
  line-height: 1.35;
}
@media (max-width: 1180px) and (min-width: 981px) {
  .kvfg__primary-action span {
    font-size: 18px;
  }
}


/* v1.0.21 Nachhaltigkeitsfilter */
.kvfg__sustainability-card {
  margin-top: 20px;
  border: 2px solid var(--kvfg-black);
  border-radius: 20px;
  background: #dff4e5;
  padding: 22px;
  display: grid;
  gap: 16px;
  box-shadow: 5px 5px 0 var(--kvfg-black);
}
.kvfg__sustainability-copy h3 {
  margin: 4px 0 8px;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1;
  font-family: Arial Black, Impact, sans-serif;
  letter-spacing: -.035em;
}
.kvfg__sustainability-copy p {
  margin: 0;
  max-width: 820px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}
.kvfg__sustainability-kicker {
  color: #17663b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kvfg__choice-row--sustainability span {
  min-height: 50px;
  padding: 10px 18px;
}
.kvfg__sustainability-card > small {
  color: #31433a;
  line-height: 1.45;
  font-weight: 650;
}
.kvfg__sustainability-note {
  margin: 16px 0;
  padding: 14px 16px;
  border: 2px solid var(--kvfg-black);
  border-radius: 14px;
  background: #dff4e5;
  line-height: 1.45;
}
.kvfg__status--sustainable {
  background: #c8f0d7;
  border-color: #17663b;
  color: #123b25;
}
@media (max-width: 640px) {
  .kvfg__sustainability-card {
    padding: 18px;
    box-shadow: 4px 4px 0 var(--kvfg-black);
  }
  .kvfg__choice-row--sustainability {
    display: grid;
    grid-template-columns: 1fr;
  }
  .kvfg__choice-row--sustainability label,
  .kvfg__choice-row--sustainability span {
    width: 100%;
  }
}




/* v1.0.23 Nachhaltigkeitsbuttons verfeinert */
.kvfg__choice-row--sustainability {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
.kvfg__choice-row--sustainability label {
  display: flex;
  min-width: 0;
}
.kvfg__choice-row--sustainability span {
  width: 100%;
  min-height: 92px;
  height: 100%;
  box-sizing: border-box;
  padding: 16px 18px;
  border-radius: 28px;
  text-align: center;
  line-height: 1.25;
  font-size: 17px;
  font-weight: 900;
  background: #fff;
  box-shadow: none;
}
.kvfg__choice-row--sustainability input:checked + span {
  background: var(--kvfg-black);
  color: #fff;
  box-shadow: 4px 4px 0 var(--kvfg-red);
}
.kvfg__choice-row--sustainability input:focus-visible + span {
  outline: 3px solid rgba(47,86,255,.35);
  outline-offset: 2px;
}
.kvfg__sustainability-card > small {
  font-size: 14px;
}
@media (max-width: 1100px) {
  .kvfg__choice-row--sustainability {
    grid-template-columns: 1fr;
  }
  .kvfg__choice-row--sustainability span {
    min-height: 72px;
    justify-content: flex-start;
    text-align: left;
    border-radius: 24px;
  }
}


/* v1.0.25 CTA and badge refinement */
.kvfg__side-badge {
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .02em;
}
.kvfg__primary-action span {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1;
  letter-spacing: -.03em;
}
@media (max-width: 1180px) and (min-width: 981px) {
  .kvfg__primary-action span {
    font-size: 16px;
  }
}


/* v1.0.26 refinements */
.kvfg__rail-highlight b {
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: .96;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.kvfg__primary-action {
  min-height: 78px;
  padding: 13px 16px;
  gap: 12px;
}
.kvfg__primary-action span {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: calc(100% - 52px);
  font-size: clamp(14px, 1.28vw, 19px);
  line-height: .98;
}
.kvfg__primary-action em {
  margin-left: auto;
}
.kvfg__sustainability-card--step {
  padding: 22px 22px 20px;
}
.kvfg__sustainability-card--step .kvfg__sustainability-copy h3 {
  margin-top: 8px;
  font-size: clamp(28px, 3vw, 44px);
  line-height: .96;
  max-width: 16ch;
}
.kvfg__sustainability-card--step .kvfg__sustainability-copy p {
  max-width: 80ch;
  font-size: 18px;
  line-height: 1.45;
}
.kvfg__sustainability-notes {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.kvfg__sustainability-notes article {
  border: 2px solid var(--kvfg-black);
  border-radius: 20px;
  background: #fff;
  padding: 16px 16px 14px;
}
.kvfg__sustainability-notes article b {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--kvfg-black);
  border-radius: 12px;
  background: var(--kvfg-yellow);
  font-size: 14px;
  margin-bottom: 10px;
}
.kvfg__sustainability-notes article h4 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.05;
}
.kvfg__sustainability-notes article p {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}
@media (max-width: 1100px) {
  .kvfg__sustainability-notes {
    grid-template-columns: 1fr;
  }
}


/* v1.0.27 CTA fit fix */
.kvfg__primary-action {
  min-height: 74px;
  padding: 12px 12px 12px 16px;
  gap: 10px;
}
.kvfg__primary-action span {
  max-width: calc(100% - 46px);
  font-size: clamp(13px, 1.12vw, 17px);
  line-height: .94;
  letter-spacing: -.03em;
  white-space: nowrap;
}
.kvfg__primary-action em {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 10px;
  font-size: 24px;
}
@media (max-width: 1180px) {
  .kvfg__primary-action span {
    font-size: 15px;
  }
}


/* v1.0.28 CTA prominence */
.kvfg__primary-action {
  position: relative;
  min-height: 108px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  align-items: center;
  gap: 12px;
  padding: 15px 14px 15px 18px;
  border: 3px solid #fff;
  border-radius: 20px;
  background: #f5d55c;
  color: #111;
  box-shadow: 7px 7px 0 #e34a36;
  overflow: visible;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.kvfg__primary-action::before {
  content: '';
  position: absolute;
  inset: -7px;
  border: 2px solid rgba(245, 213, 92, .42);
  border-radius: 25px;
  pointer-events: none;
}
.kvfg__primary-action .kvfg__primary-copy {
  min-width: 0;
  max-width: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
  white-space: normal;
  overflow: visible;
}
.kvfg__primary-action .kvfg__primary-copy small {
  display: block;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.kvfg__primary-action .kvfg__primary-copy strong {
  display: block;
  color: #111;
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(20px, 1.65vw, 26px);
  line-height: .84;
  letter-spacing: -.045em;
  text-transform: uppercase;
  white-space: normal;
}
.kvfg__primary-action em {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  margin: 0;
  border-radius: 12px;
  background: #000;
  color: #fff;
  font-size: 29px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.16);
}
.kvfg__primary-action:hover,
.kvfg__primary-action:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 9px 9px 0 #e34a36;
  background: #ffe06a;
}
.kvfg__primary-action:active {
  transform: translate(2px, 2px);
  box-shadow: 3px 3px 0 #e34a36;
}
.kvfg__primary-action.is-disabled {
  box-shadow: none;
}
.kvfg__primary-action.is-disabled::before {
  display: none;
}
@media (max-width: 1180px) and (min-width: 981px) {
  .kvfg__primary-action {
    grid-template-columns: minmax(0, 1fr) 42px;
    min-height: 100px;
    padding-left: 14px;
  }
  .kvfg__primary-action .kvfg__primary-copy strong {
    font-size: 21px;
  }
  .kvfg__primary-action em {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .kvfg__primary-action {
    transition: none;
  }
}


/* v1.0.29 CTA collision fix */
.kvfg__editorial-layout {
  grid-template-columns: 210px minmax(0, 1fr) 260px;
}
.kvfg__primary-action {
  width: 100%;
  min-height: 96px;
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 8px;
  padding: 14px 12px 14px 16px;
  overflow: hidden;
}
.kvfg__primary-action::before {
  inset: 4px;
  border-radius: 15px;
}
.kvfg__primary-action .kvfg__primary-copy {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  gap: 4px;
}
.kvfg__primary-action .kvfg__primary-copy small {
  font-size: 8.5px;
  line-height: 1.1;
  letter-spacing: .08em;
  white-space: normal;
}
.kvfg__primary-action .kvfg__primary-copy strong {
  width: 100%;
  max-width: 100%;
  font-size: 19px;
  line-height: .88;
  letter-spacing: -.035em;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
.kvfg__primary-action em {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  font-size: 24px;
  justify-self: end;
}
@media (max-width: 1180px) and (min-width: 981px) {
  .kvfg__editorial-layout {
    grid-template-columns: 190px minmax(0, 1fr) 240px;
  }
  .kvfg__primary-action .kvfg__primary-copy strong {
    font-size: 17px;
  }
}

/* =========================================================
   FESTGELD NAVIGATOR 1.0.0 – PRODUKTSPEZIFISCHE ERGÄNZUNGEN
========================================================= */
.kvfg__hero-copy { min-width: 0; }
.kvfg__hero h1 { max-width: 12ch; font-size: clamp(52px, 7vw, 112px); }
.kvfg__hero h1 span { display: inline-block; background: var(--kvfg-yellow); border: 2px solid var(--kvfg-black); padding: .06em .12em .1em; transform: rotate(-1deg); box-shadow: 5px 5px 0 var(--kvfg-black); }
.kvfg__lead { max-width: 760px; font-size: clamp(18px, 2vw, 24px); font-weight: 700; }
.kvfg__rate-orbit { width: 88px; height: 88px; font-size: 24px; }

.kvfg__steps { gap: 12px; }
.kvfg__step { min-height: 82px; }
.kvfg__app.is-results-mode .kvfg__steps { grid-template-columns: repeat(7, minmax(0, 1fr)); }

.kvfg__choice-row--cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.kvfg__choice-row--cards label { display: flex; min-width: 0; }
.kvfg__choice-row--cards span {
  width: 100%;
  min-height: 112px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-radius: 22px;
  padding: 18px;
  text-align: left;
}
.kvfg__choice-row--cards b { font-size: 20px; line-height: 1.05; }
.kvfg__choice-row--cards small { margin-top: 6px; font-weight: 700; line-height: 1.35; color: #444; }
.kvfg__choice-row--cards input:checked + span small { color: rgba(255,255,255,.76); }

.kvfg__field--sustainability-focus { margin-top: 4px; background: #fff; }
.kvfg__choice-row--sustainability { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kvfg__choice-row--sustainability span { min-height: 78px; }

.kvfg__liquidity-alert {
  margin: 18px 0;
  display: grid;
  grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border: 2px solid var(--kvfg-black);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 5px 5px 0 var(--kvfg-black);
}
.kvfg__liquidity-alert b { font-size: 18px; }
.kvfg__liquidity-alert span { line-height: 1.45; font-weight: 700; }
.kvfg__liquidity-alert--ok { background: #dff4e5; }
.kvfg__liquidity-alert--warn { background: #ffd6d2; }

.kvfg__personal-summary,
.kvfg__ladder-plan {
  margin: 22px 0;
  border: 3px solid var(--kvfg-black);
  border-radius: 24px;
  background: #fff;
  padding: 22px;
  box-shadow: 7px 7px 0 var(--kvfg-black);
}
.kvfg__personal-summary { background: #f4efff; }
.kvfg__personal-summary-head span,
.kvfg__ladder-plan-head span {
  color: #b53a18;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kvfg__personal-summary-head h3,
.kvfg__ladder-plan-head h3 {
  margin: 5px 0 16px;
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: .98;
  letter-spacing: -.04em;
}
.kvfg__personal-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.kvfg__personal-summary-grid article {
  min-height: 96px;
  border: 2px solid var(--kvfg-black);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}
.kvfg__personal-summary-grid span { display: block; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.kvfg__personal-summary-grid b { display: block; font-size: 22px; line-height: 1.05; }

.kvfg__ladder-plan { background: var(--kvfg-yellow); }
.kvfg__ladder-plan-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: end; }
.kvfg__ladder-plan-head > b { min-width: 230px; border: 2px solid var(--kvfg-black); border-radius: 16px; background: #fff; padding: 14px; font-size: 25px; text-align: right; }
.kvfg__ladder-plan-head > b small { display: block; margin-top: 4px; font-size: 11px; line-height: 1.3; }
.kvfg__ladder-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.kvfg__ladder-step { position: relative; min-height: 190px; display: flex; flex-direction: column; border: 2px solid var(--kvfg-black); border-radius: 18px; background: #fff; padding: 16px; }
.kvfg__ladder-step::after { content: ""; position: absolute; left: 50%; bottom: -12px; width: 2px; height: 12px; background: var(--kvfg-black); }
.kvfg__ladder-step span { color: #b53a18; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.kvfg__ladder-step b { margin-top: 6px; font-size: 28px; line-height: 1; }
.kvfg__ladder-step strong { margin-top: 16px; font-size: 18px; line-height: 1.15; overflow-wrap: anywhere; }
.kvfg__ladder-step small { margin-top: 8px; line-height: 1.35; }
.kvfg__ladder-step em { margin-top: auto; padding-top: 12px; font-style: normal; font-weight: 900; }
.kvfg__ladder-plan > p { margin: 18px 0 0; font-size: 13px; font-weight: 700; }

.kvfg__maturity-box {
  border: 2px solid #8e94ff;
  border-radius: 16px;
  background: #d9defe;
  color: #111;
  padding: 14px;
}
.kvfg__maturity-box span { display: block; color: #6a346e; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.kvfg__maturity-box b { display: block; margin: 5px 0 6px; font-size: 23px; }
.kvfg__maturity-box p { margin: 0; font-size: 12px; line-height: 1.4; }

.kvfg__editorial-layout { grid-template-columns: 210px minmax(0, 1fr) 280px; }
.kvfg__metric-grid--editorial { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kvfg__metric-card { min-height: 108px; }
.kvfg__metric-card b { overflow-wrap: anywhere; }
.kvfg__side-copy h3 { overflow-wrap: anywhere; hyphens: auto; }
.kvfg__editorial-side--right { min-width: 0; }

.kvfg__primary-action {
  min-height: 112px;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 10px;
  padding: 15px 14px 15px 18px;
  overflow: hidden;
}
.kvfg__primary-action .kvfg__primary-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  gap: 5px;
  overflow: hidden;
}
.kvfg__primary-action .kvfg__primary-copy small {
  display: block;
  max-width: 100%;
  color: #111;
  font-size: 8px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: normal;
}
.kvfg__primary-action .kvfg__primary-copy strong {
  display: block;
  max-width: 100%;
  color: #111;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 22px;
  line-height: .86;
  letter-spacing: -.04em;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: normal;
}
.kvfg__primary-action em { width: 46px; height: 46px; flex: 0 0 46px; justify-self: end; }

.kvfg__watch-panel {
  margin-top: 28px;
  border: 3px solid var(--kvfg-black);
  border-radius: 24px;
  background: #dff4e5;
  padding: 22px;
  box-shadow: 7px 7px 0 var(--kvfg-black);
}
.kvfg__watch-panel > div:first-child span { color: #17663b; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.kvfg__watch-panel h3 { margin: 5px 0; font-size: 30px; line-height: 1; }
.kvfg__watch-panel p { margin: 0 0 16px; }
.kvfg__watch-grid { display: grid; gap: 10px; }
.kvfg__watch-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; border: 2px solid var(--kvfg-black); border-radius: 14px; background: #fff; padding: 12px 14px; }
.kvfg__watch-card > div { display: grid; gap: 3px; }
.kvfg__watch-card button { border: 2px solid var(--kvfg-black); border-radius: 999px; background: #fff; padding: 8px 12px; font-weight: 900; cursor: pointer; }

@media (max-width: 1280px) {
  .kvfg__editorial-layout { grid-template-columns: 190px minmax(0, 1fr) 255px; }
  .kvfg__ladder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kvfg__primary-action .kvfg__primary-copy strong { font-size: 19px; }
}
@media (max-width: 980px) {
  .kvfg__app.is-results-mode .kvfg__steps { grid-template-columns: repeat(7, minmax(130px, 1fr)); }
  .kvfg__editorial-layout { grid-template-columns: 1fr; }
  .kvfg__personal-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kvfg__ladder-plan-head { grid-template-columns: 1fr; }
  .kvfg__ladder-plan-head > b { min-width: 0; text-align: left; }
}
@media (max-width: 720px) {
  .kvfg__hero h1 { font-size: clamp(42px, 13vw, 68px); }
  .kvfg__choice-row--cards,
  .kvfg__choice-row--sustainability,
  .kvfg__personal-summary-grid,
  .kvfg__ladder-grid { grid-template-columns: 1fr; }
  .kvfg__liquidity-alert { grid-template-columns: 1fr; }
  .kvfg__metric-grid--editorial { grid-template-columns: 1fr; }
  .kvfg__watch-card { grid-template-columns: 1fr; }
}


/* v1.0.2 useful maturity reminder */
.kvfg__maturity-box p small {
  display: block;
  margin-top: 5px;
  color: #4c4c59;
  font-size: 11px;
  line-height: 1.35;
}


/* v1.0.4 Hero headline centered */
.kvfg__rate-card strong {
  align-self: center;
  text-align: center;
  max-width: 8ch;
}


/* v1.0.5 provider identity + responsive result cards */
.kvfg__side-copy h3 {
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: .92;
  word-break: normal;
  overflow-wrap: anywhere;
  hyphens: manual;
}
.kvfg__brand-logo {
  width: 118px;
  min-height: 58px;
  padding: 8px 10px;
  background: #fff;
  border-radius: 0;
}
.kvfg__brand-logo img {
  max-width: 100%;
  max-height: 44px;
}
@media (max-width: 980px) {
  .kvfg__editorial-side--left {
    display: grid;
    grid-template-columns: auto 120px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
  }
  .kvfg__score-stamp { margin-top: 0; }
}
@media (max-width: 640px) {
  .kvfg__editorial-side--left {
    grid-template-columns: auto minmax(0,1fr);
  }
  .kvfg__brand-logo { width: 112px; min-height: 54px; }
  .kvfg__side-copy { grid-column: 1 / -1; }
  .kvfg__score-stamp { justify-self: start; }
  .kvfg__editorial-head--compact h3 { font-size: clamp(34px, 11vw, 52px); }
}


/* ===== Version 1.0.6: individuelles Ranking + responsive Feinschliff ===== */
.kvfg__rate-card strong {
  max-width: 10ch;
  font-size: clamp(40px, 4.35vw, 72px);
  overflow-wrap: normal;
}
.kvfg__ranking-builder {
  display: grid;
  gap: 18px;
  padding: clamp(16px, 2.3vw, 26px);
  border: var(--kvfg-line);
  border-radius: 22px;
  background: rgba(255,255,255,.52);
  box-shadow: 7px 7px 0 var(--kvfg-black);
}
.kvfg__ranking-builder-head,
.kvfg__ranking-summary-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}
.kvfg__ranking-builder-head h3 {
  margin: 10px 0 7px;
  color: var(--kvfg-ink);
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(36px, 4.3vw, 68px);
  line-height: .9;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.kvfg__ranking-builder-head p { margin: 0; font-weight: 720; }
.kvfg__ranking-total,
.kvfg__ranking-summary-badge {
  min-width: 176px;
  display: grid;
  gap: 3px;
  align-content: start;
  padding: 14px 16px;
  border: var(--kvfg-line);
  border-radius: 16px;
  background: var(--kvfg-yellow);
  text-align: center;
  box-shadow: 4px 4px 0 var(--kvfg-black);
}
.kvfg__ranking-total small,
.kvfg__ranking-summary-badge small {
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.kvfg__ranking-total b,
.kvfg__ranking-summary-badge b {
  font-family: Arial Black, Impact, sans-serif;
  font-size: 31px;
  line-height: 1;
}
.kvfg__ranking-total span,
.kvfg__ranking-summary-badge span { font-size: 11px; }
.kvfg__ranking-presets { display: flex; flex-wrap: wrap; gap: 9px; }
.kvfg__ranking-preset {
  min-height: 42px;
  padding: 8px 14px;
  border: var(--kvfg-line);
  border-radius: 999px;
  background: #fff;
  color: var(--kvfg-black);
  font-weight: 900;
  cursor: pointer;
}
.kvfg__ranking-preset.is-active { background: var(--kvfg-black); color: #fff; }
.kvfg__ranking-rows { display: grid; gap: 12px; }
.kvfg__ranking-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.25fr) minmax(180px, 1fr) 88px;
  gap: 15px;
  align-items: center;
  padding: 14px 16px;
  border: var(--kvfg-line);
  border-radius: 16px;
  background: #fff;
}
.kvfg__ranking-row:nth-child(2) { background: var(--kvfg-mint); }
.kvfg__ranking-row:nth-child(3) { background: var(--kvfg-blue); }
.kvfg__ranking-row:nth-child(4) { background: var(--kvfg-lilac); }
.kvfg__ranking-row:nth-child(5) { background: var(--kvfg-pink); }
.kvfg__ranking-copy { display: grid; gap: 3px; min-width: 0; }
.kvfg__ranking-copy b { font-size: 17px; line-height: 1.15; }
.kvfg__ranking-copy small { color: #3d465b; line-height: 1.35; }
.kvfg__ranking-row input[type="range"] { width: 100%; accent-color: var(--kvfg-black); }
.kvfg__ranking-row output {
  min-height: 48px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: var(--kvfg-line);
  border-radius: 13px;
  background: var(--kvfg-black);
  color: #fff;
  font-weight: 950;
}
.kvfg__ranking-excluded {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding: 14px 16px;
  border: var(--kvfg-line);
  border-radius: 16px;
  background: #fff3bf;
  font-weight: 800;
}
.kvfg__ranking-excluded b {
  padding: 6px 10px;
  border: var(--kvfg-line);
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
}
.kvfg__ranking-summary {
  margin: 22px 0;
  padding: clamp(17px, 2.4vw, 28px);
  border: var(--kvfg-line);
  border-radius: 24px;
  background: #efe39d;
  box-shadow: 7px 7px 0 var(--kvfg-black);
}
.kvfg__ranking-summary-head { margin-bottom: 17px; }
.kvfg__ranking-summary-head h2 {
  margin: 12px 0 0;
  max-width: none;
  color: var(--kvfg-ink);
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(42px, 5vw, 78px);
  line-height: .88;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.kvfg__ranking-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}
.kvfg__ranking-card {
  min-height: 145px;
  padding: 16px;
  border: var(--kvfg-line);
  border-radius: 17px;
  background: #fff;
}
.kvfg__ranking-card--mint { background: var(--kvfg-mint); }
.kvfg__ranking-card--blue { background: var(--kvfg-blue); }
.kvfg__ranking-card--lilac { background: var(--kvfg-lilac); }
.kvfg__ranking-card--pink { background: var(--kvfg-pink); }
.kvfg__ranking-card--black { background: var(--kvfg-black); color: #fff; }
.kvfg__ranking-card b {
  display: block;
  margin-bottom: 7px;
  font-family: Arial Black, Impact, sans-serif;
  font-size: 33px;
  line-height: 1;
}
.kvfg__ranking-card h3 { margin: 0 0 7px; color: inherit; font-size: 17px; line-height: 1.15; }
.kvfg__ranking-card p { margin: 0; font-size: 13px; line-height: 1.4; }
@media (max-width: 1050px) {
  .kvfg__ranking-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kvfg__ranking-row { grid-template-columns: minmax(210px, 1.15fr) minmax(150px, 1fr) 82px; }
}
@media (max-width: 760px) {
  .kvfg__ranking-builder-head,
  .kvfg__ranking-summary-head,
  .kvfg__ranking-row,
  .kvfg__ranking-summary-grid { grid-template-columns: 1fr; }
  .kvfg__ranking-total,
  .kvfg__ranking-summary-badge { min-width: 0; width: 100%; }
  .kvfg__ranking-row output { min-height: 42px; }
  .kvfg__ranking-preset { flex: 1 1 calc(50% - 9px); }
  .kvfg__rate-card strong { font-size: clamp(35px, 11vw, 60px); max-width: 9ch; }
}
@media (max-width: 460px) {
  .kvfg__ranking-builder,
  .kvfg__ranking-summary { padding: 14px; border-radius: 18px; box-shadow: 5px 5px 0 var(--kvfg-black); }
  .kvfg__ranking-preset { flex-basis: 100%; }
  .kvfg__ranking-row { padding: 12px; }
  .kvfg__ranking-card { min-height: auto; }
}


/* v1.0.8 hero, wording and layout refinements */
.kvfg {
  background: #f1f1f5;
}

.kvfg__shell {
  width: min(1720px, calc(100% - 18px));
}

.kvfg__hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1.02fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: center;
  background: linear-gradient(135deg, #ececf2 0%, #f4f4f6 48%, #eef0ec 100%);
  border-radius: 32px 32px 0 0;
  padding: clamp(26px, 4vw, 48px);
  box-shadow: none;
  overflow: hidden;
}

.kvfg__hero::after,
.kvfg__rate-card,
.kvfg__mini-card,
.kvfg__rate-orbit {
  display: none !important;
}

.kvfg__eyebrow {
  margin-bottom: 18px;
  padding: 10px 16px;
  font-size: 14px;
  letter-spacing: .03em;
  box-shadow: 4px 4px 0 rgba(0,0,0,.08);
}

.kvfg__hero h1 {
  margin: 0 0 18px;
  max-width: 8.8ch;
  font-size: clamp(48px, 6.8vw, 102px);
  line-height: .93;
  text-transform: none;
  letter-spacing: -.05em;
}

.kvfg__hero-title-main {
  display: block;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  transform: none !important;
  white-space: nowrap;
}

.kvfg__hero-title-highlight {
  display: inline-block;
  margin-top: 10px;
  white-space: nowrap;
  background: var(--kvfg-yellow);
  border: var(--kvfg-line);
  box-shadow: 5px 5px 0 var(--kvfg-black);
  padding: .05em .12em .1em;
}

.kvfg__lead {
  max-width: 650px;
  font-size: clamp(18px, 1.75vw, 23px);
  font-weight: 700;
  line-height: 1.42;
}

.kvfg__hero-actions {
  margin-top: 30px;
  gap: 14px;
}

.kvfg__button {
  min-height: 58px;
  border-radius: 16px;
  padding: 14px 22px;
}

.kvfg__button--dark {
  box-shadow: 5px 5px 0 #ef6b5a;
}

.kvfg__button--sort {
  background: #fff;
  color: var(--kvfg-black);
  border: 2px solid var(--kvfg-black);
  box-shadow: 5px 5px 0 var(--kvfg-blue);
  text-decoration: none;
}

.kvfg__button--sort:hover,
.kvfg__button--sort:focus-visible {
  background: var(--kvfg-lilac);
  color: var(--kvfg-black);
  box-shadow: 6px 6px 0 var(--kvfg-red);
  transform: translate(-1px, -1px);
}

.kvfg__hero-visual {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 8px 4px 0;
}

.kvfg__hero-image-frame {
  position: relative;
  z-index: 2;
  display: inline-block;
  width: min(100%, 860px);
  padding: 12px;
  background: #f3f4ef;
  border: 3px solid var(--kvfg-black);
  border-radius: 32px;
  box-shadow: 10px 10px 0 rgba(0,0,0,.14);
}

.kvfg__hero-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}

.kvfg__hero-badge {
  position: absolute;
  z-index: 3;
  padding: 11px 16px;
  border: 2px solid var(--kvfg-black);
  border-radius: 14px;
  background: #fff;
  box-shadow: 5px 5px 0 rgba(0,0,0,.08);
  font-weight: 950;
  font-size: 14px;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.kvfg__hero-badge::after {
  content: "";
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 36px;
  height: 18px;
  border-right: 2px dotted rgba(0,0,0,.7);
  border-bottom: 2px dotted rgba(0,0,0,.7);
}

.kvfg__hero-badge--top {
  top: 4%;
  left: 18%;
  background: var(--kvfg-lilac);
  transform: rotate(-4deg);
}

.kvfg__hero-badge--left {
  left: 2%;
  bottom: 18%;
  background: #fff;
  transform: rotate(-5deg);
}

.kvfg__hero-badge--right {
  right: 2%;
  top: 24%;
  background: var(--kvfg-pink);
  transform: rotate(3deg);
}

.kvfg__trust-strip {
  margin: 0 0 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background: var(--kvfg-black);
}

.kvfg__trust-strip span {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 16px 18px;
  color: #fff;
  border-right: 1px solid rgba(255,255,255,.18);
}
.kvfg__trust-strip span:last-child { border-right: 0; }
.kvfg__trust-strip em {
  font-style: normal;
  font-weight: 900;
  text-align: left;
}
.kvfg__trust-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 999px;
  color: #111;
  font-size: 16px;
  font-style: normal;
  line-height: 1;
}
.kvfg__trust-strip span:nth-child(1) .kvfg__trust-icon { background: #f1f1f1; }
.kvfg__trust-strip span:nth-child(2) .kvfg__trust-icon { background: var(--kvfg-lilac); }
.kvfg__trust-strip span:nth-child(3) .kvfg__trust-icon { background: var(--kvfg-pink); }
.kvfg__trust-strip span:nth-child(4) .kvfg__trust-icon { background: var(--kvfg-yellow); }

.kvfg__screen-head h2,
.kvfg__result-head h2,
.kvfg__method-head h2 {
  text-transform: none;
}

.kvfg__feed-powered {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 16px;
  padding: 8px 16px;
  border: 3px solid var(--kvfg-black);
  border-radius: 999px;
  background: var(--kvfg-yellow);
  box-shadow: 5px 5px 0 rgba(0,0,0,.08);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kvfg__coverage-note {
  margin-top: 18px;
  margin-bottom: 0;
}

.kvfg__side-copy h3 {
  font-size: clamp(24px, 2vw, 34px);
  line-height: .94;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal;
  hyphens: manual;
  text-wrap: balance;
  max-width: 12ch;
}

.kvfg__side-copy p {
  text-wrap: balance;
}

.kvfg__editorial-layout {
  grid-template-columns: 230px minmax(0, 1fr) 280px;
}

.kvfg__rail-highlight b {
  word-break: keep-all;
  hyphens: none;
}

@media (max-width: 1280px) {
  .kvfg__editorial-layout {
    grid-template-columns: 210px minmax(0, 1fr) 270px;
  }
}

@media (max-width: 1100px) {
  .kvfg__hero {
    grid-template-columns: 1fr;
    border-radius: 28px 28px 0 0;
    padding: 30px 24px;
  }

  .kvfg__lead { max-width: 100%; }
  .kvfg__trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .kvfg__editorial-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .kvfg__hero {
    padding: 22px 16px 16px;
    border-radius: 22px 22px 0 0;
    gap: 18px;
  }

  .kvfg__eyebrow {
    padding: 8px 12px;
    font-size: 12px;
    margin-bottom: 14px;
  }

  .kvfg__hero h1 {
    max-width: none;
    font-size: clamp(38px, 12vw, 60px);
    line-height: .95;
  }

  .kvfg__hero-title-main,
  .kvfg__hero-title-highlight {
    white-space: normal;
  }

  .kvfg__lead {
    font-size: 16px;
  }

  .kvfg__hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .kvfg__hero-actions .kvfg__button,
  .kvfg__hero-actions .kvfg__button--sort {
    flex: 1 1 100%;
    width: 100%;
    text-align: center;
  }

  .kvfg__hero-image-frame {
    width: 100%;
    padding: 8px;
    border-radius: 22px;
  }

  .kvfg__hero-image {
    border-radius: 16px;
  }

  .kvfg__hero-badge {
    font-size: 11px;
    padding: 8px 12px;
    border-radius: 12px;
  }
  .kvfg__hero-badge--top { top: -2%; left: 6%; }
  .kvfg__hero-badge--left { left: 0; bottom: 12%; }
  .kvfg__hero-badge--right { right: 0; top: 22%; }

  .kvfg__trust-strip {
    grid-template-columns: 1fr;
    border-radius: 0 0 20px 20px;
  }
  .kvfg__trust-strip span {
    min-height: 68px;
    justify-content: flex-start;
    padding: 14px 16px;
    border-right: 0;
    border-top: 1px solid rgba(255,255,255,.12);
  }
  .kvfg__trust-strip span:first-child { border-top: 0; }
  .kvfg__trust-strip em { font-size: 15px; }

  .kvfg__side-copy h3 {
    max-width: none;
    text-wrap: pretty;
  }
}


/* v1.0.9 uppercase heading fit */
.kvfg__hero h1 {
  max-width: 10.2ch;
}

@media (max-width: 760px) {
  .kvfg__hero h1 {
    max-width: none;
  }
}


/* v1.0.10 mobile steps like girokonto */
.kvfg__step {
  width: 100%;
  min-width: 0;
}

.kvfg__step span {
  display: block;
  min-width: 0;
  line-height: 1.18;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  text-wrap: balance;
}

@media (max-width: 1120px) {
  .kvfg__steps,
  .kvfg__app.is-results-mode .kvfg__steps {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding: 2px 4px 12px;
    grid-template-columns: none;
  }

  .kvfg__step,
  .kvfg__app.is-results-mode .kvfg__step {
    flex: 0 0 220px;
    min-height: 72px;
    scroll-snap-align: start;
    grid-template-columns: 48px minmax(0, 1fr);
    text-align: left;
  }

  .kvfg__step b,
  .kvfg__app.is-results-mode .kvfg__step b {
    margin: 0;
  }
}

@media (max-width: 760px) {
  .kvfg__step,
  .kvfg__app.is-results-mode .kvfg__step {
    flex-basis: min(82vw, 245px);
  }
}

@media (max-width: 430px) {
  .kvfg__steps,
  .kvfg__app.is-results-mode .kvfg__steps {
    padding-inline: 2px;
  }

  .kvfg__step,
  .kvfg__app.is-results-mode .kvfg__step {
    flex-basis: min(86vw, 235px);
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 70px;
    padding: 10px;
  }

  .kvfg__step b,
  .kvfg__app.is-results-mode .kvfg__step b {
    width: 40px;
    height: 40px;
  }

  .kvfg__step span {
    font-size: 15px;
  }
}


/* ---- v1.0.11: Festgeld-Feed breit und responsive wie Girokonto ---- */
.kvfg,
.kvfg * {
  box-sizing: border-box;
  max-width: 100%;
}

.kvfg {
  overflow-x: clip;
}

.kvfg__shell {
  width: min(1760px, calc(100% - 12px)) !important;
}

.kvfg__app.is-results-mode {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.kvfg__app.is-results-mode .kvfg__panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.kvfg__app.is-results-mode .kvfg__screen,
.kvfg__app.is-results-mode .kvfg__screen--results {
  width: 100% !important;
  padding: clamp(18px, 2.4vw, 34px) !important;
}

.kvfg__result-head,
.kvfg__summary-chip,
.kvfg__personal-summary,
.kvfg__ladder-plan,
.kvfg__feed-powered,
.kvfg__results-list,
.kvfg__result-card,
.kvfg__result-card--editorial,
.kvfg__editorial-layout,
.kvfg__editorial-main,
.kvfg__editorial-side,
.kvfg__editorial-side--left,
.kvfg__editorial-side--right,
.kvfg__metric-card,
.kvfg__details-content,
.kvfg__reason-box,
.kvfg__rail-highlight,
.kvfg__maturity-box,
.kvfg__bonus-box,
.kvfg__primary-area,
.kvfg__coverage-note,
.kvfg__watch-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}

.kvfg__results-list {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(16px, 3vw, 26px) !important;
  overflow: visible !important;
}

.kvfg__result-card,
.kvfg__result-card--editorial {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: clamp(16px, 3vw, 28px) !important;
}

.kvfg__editorial-layout {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(185px, 215px) minmax(0, 1fr) minmax(240px, 280px) !important;
  align-items: stretch !important;
}

.kvfg__editorial-head {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.kvfg__metric-grid,
.kvfg__metric-grid--editorial {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.kvfg__side-copy h3,
.kvfg__side-copy p,
.kvfg__editorial-head h3,
.kvfg__editorial-head p,
.kvfg__metric-card b,
.kvfg__metric-card small,
.kvfg__status,
.kvfg__details-toggle span,
.kvfg__rail-highlight b,
.kvfg__rail-highlight p,
.kvfg__maturity-box b,
.kvfg__maturity-box p,
.kvfg__bonus-box b,
.kvfg__bonus-box small,
.kvfg__primary-area small,
.kvfg__fineprint,
.kvfg__coverage-note,
.kvfg__watch-item {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

.kvfg__side-copy h3 {
  max-width: none !important;
  text-wrap: pretty !important;
}

.kvfg__brand-logo,
.kvfg__brand-logo.is-broken,
.kvfg__brand-logo--fallback {
  flex: 0 0 auto;
}

.kvfg__brand-logo img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.kvfg__primary-action {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
}

.kvfg__primary-copy,
.kvfg__primary-action span,
.kvfg__primary-action strong,
.kvfg__primary-action small {
  min-width: 0 !important;
  white-space: normal !important;
}

.kvfg__result-actions,
.kvfg__result-actions--quiet {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.kvfg__result-actions button,
.kvfg__watch-button,
.kvfg__details-button {
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
}

.kvfg__details-content,
.kvfg__history {
  overflow: hidden !important;
}

.kvfg__history svg {
  width: 100% !important;
  height: auto !important;
}

.kvfg__watch-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

@media (max-width: 1180px) {
  .kvfg__editorial-layout {
    grid-template-columns: minmax(170px, 205px) minmax(0, 1fr) !important;
  }

  .kvfg__editorial-side--right {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) !important;
    align-items: stretch !important;
    border-left: 0 !important;
    border-top: 2px solid var(--kvfg-black) !important;
  }

  .kvfg__side-badge,
  .kvfg__rail-highlight,
  .kvfg__maturity-box,
  .kvfg__bonus-box {
    grid-column: 1 !important;
  }

  .kvfg__primary-area {
    grid-column: 2 !important;
    grid-row: 1 / span 4 !important;
    margin-top: 0 !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }

  .kvfg__metric-grid,
  .kvfg__metric-grid--editorial {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .kvfg__app.is-results-mode .kvfg__screen,
  .kvfg__app.is-results-mode .kvfg__screen--results {
    padding: clamp(14px, 3vw, 24px) !important;
  }

  .kvfg__result-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__summary-chip {
    width: 100% !important;
    min-width: 0 !important;
  }

  .kvfg__editorial-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__editorial-side--left {
    border-right: 0 !important;
    border-bottom: 2px solid var(--kvfg-black) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "rank copy score"
      "logo copy score" !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .kvfg__rank-mini {
    grid-area: rank !important;
  }

  .kvfg__brand-logo,
  .kvfg__brand-logo.is-broken,
  .kvfg__brand-logo--fallback {
    grid-area: logo !important;
    width: 104px !important;
    height: 56px !important;
  }

  .kvfg__side-copy {
    grid-area: copy !important;
  }

  .kvfg__score-stamp {
    grid-area: score !important;
    margin-top: 0 !important;
    align-self: stretch !important;
  }

  .kvfg__editorial-main {
    padding: clamp(14px, 4vw, 22px) !important;
  }

  .kvfg__editorial-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__editorial-badge {
    width: 100% !important;
    min-width: 0 !important;
  }

  .kvfg__editorial-side--right {
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__side-badge,
  .kvfg__rail-highlight,
  .kvfg__maturity-box,
  .kvfg__bonus-box,
  .kvfg__primary-area {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .kvfg__primary-action {
    min-height: 74px !important;
  }
}

@media (max-width: 640px) {
  .kvfg__shell {
    width: min(100% - 10px, 1680px) !important;
  }

  .kvfg__app.is-results-mode .kvfg__screen,
  .kvfg__app.is-results-mode .kvfg__screen--results {
    padding: 12px !important;
  }

  .kvfg__result-card,
  .kvfg__result-card--editorial {
    border-width: 2px !important;
    box-shadow: 5px 5px 0 var(--kvfg-blue) !important;
  }

  .kvfg__editorial-side--left {
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "rank copy"
      "logo copy"
      "score score" !important;
    padding: 14px 12px !important;
  }

  .kvfg__brand-logo,
  .kvfg__brand-logo.is-broken,
  .kvfg__brand-logo--fallback {
    width: 88px !important;
    height: 48px !important;
  }

  .kvfg__score-stamp {
    width: 100% !important;
    min-height: 42px !important;
  }

  .kvfg__side-copy h3 {
    font-size: clamp(21px, 8vw, 30px) !important;
    line-height: .98 !important;
  }

  .kvfg__side-copy p {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .kvfg__editorial-head h3 {
    font-size: clamp(30px, 11vw, 44px) !important;
    line-height: .95 !important;
  }

  .kvfg__metric-grid,
  .kvfg__metric-grid--editorial,
  .kvfg__reason-grid,
  .kvfg__reason-grid--editorial,
  .kvfg__personal-summary,
  .kvfg__ladder-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__metric-card {
    min-height: 0 !important;
  }

  .kvfg__status-row,
  .kvfg__status-row--editorial {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__status {
    width: 100% !important;
    justify-content: flex-start !important;
    border-radius: 14px !important;
    text-align: left !important;
  }

  .kvfg__details-toggle {
    width: 100% !important;
    min-height: 52px !important;
    white-space: normal !important;
    text-align: left !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  .kvfg__result-actions,
  .kvfg__result-actions--quiet {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__editorial-side--right {
    padding: 14px 12px !important;
  }

  .kvfg__primary-action {
    grid-template-columns: minmax(0, 1fr) 42px !important;
    min-height: 68px !important;
    padding: 11px 12px !important;
  }

  .kvfg__primary-action .kvfg__primary-copy strong,
  .kvfg__primary-action strong {
    font-size: clamp(18px, 6vw, 22px) !important;
    line-height: 1 !important;
  }

  .kvfg__primary-action em {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .kvfg__feed-powered,
  .kvfg__watch-panel,
  .kvfg__coverage-note {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .kvfg__watch-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kvfg__watch-item button {
    width: 100% !important;
    text-align: left !important;
  }
}

@media (max-width: 390px) {
  .kvfg__editorial-side--left {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "rank"
      "logo"
      "copy"
      "score" !important;
  }

  .kvfg__rank-mini,
  .kvfg__brand-logo,
  .kvfg__brand-logo.is-broken,
  .kvfg__brand-logo--fallback {
    justify-self: start !important;
  }

  .kvfg__brand-logo,
  .kvfg__brand-logo.is-broken,
  .kvfg__brand-logo--fallback {
    width: 96px !important;
  }
}
