.kv24fr {
  --kv24fr-ink: #082f4b;
  --kv24fr-muted: #49677e;
  --kv24fr-blue: #0967b7;
  --kv24fr-bright: #1685eb;
  --kv24fr-border: #d8e5f0;
  --kv24fr-red: #e91921;
  /* Shortcodes may be pasted into pre/code blocks. Never inherit their preserved whitespace. */
  display: block;
  box-sizing: border-box;
  white-space: normal;
  text-indent: 0;
  text-transform: none;
  word-spacing: normal;
  word-break: normal;
  container-type: inline-size;
  width: 100%;
  max-width: 1040px;
  min-width: 0;
  margin: 28px auto;
  border: 1px solid var(--kv24fr-border);
  border-radius: 12px;
  background: #fff;
  color: var(--kv24fr-ink);
  box-shadow: 0 12px 32px rgb(8 47 75 / 5%);
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  letter-spacing: normal;
}
.kv24fr *, .kv24fr *::before, .kv24fr *::after { box-sizing: border-box; }
.kv24fr [hidden] { display: none !important; }
.kv24fr .kv24fr__header { padding: 25px 22px 0; }
.kv24fr .kv24fr__eyebrow { display: inline-block; color: #bc171d; background: #fff0f1; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.kv24fr .kv24fr__header h2 { margin: 13px 0 8px; padding: 0; font-family: 'Playfair Display', Georgia, serif; color: var(--kv24fr-ink); font-size: clamp(25px, 4.3cqi, 34px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-transform: none; }
.kv24fr .kv24fr__header p { margin: 0; color: var(--kv24fr-muted); font-size: 15px; line-height: 1.65; }
.kv24fr .kv24fr__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px 22px; }
.kv24fr .kv24fr__form { margin: 0; padding: 0; min-width: 0; }
.kv24fr .kv24fr__field { margin: 0 0 18px; }
.kv24fr .kv24fr__field label { display: block; margin: 0 0 6px; color: var(--kv24fr-ink); font-size: 14px; font-weight: 700; line-height: 1.5; }
.kv24fr .kv24fr__input-wrap { position: relative; }
.kv24fr .kv24fr__input-wrap input { display: block; width: 100%; min-width: 0; height: 48px; margin: 0; padding: 10px 86px 10px 13px; border: 1px solid #b8cfe0; border-radius: 6px; background: #fff; box-shadow: none; color: var(--kv24fr-ink); font: inherit; font-size: 16px; line-height: 24px; appearance: none; }
.kv24fr .kv24fr__input-wrap span { position: absolute; inset-inline-end: 14px; top: 50%; transform: translateY(-50%); color: var(--kv24fr-muted); font-size: 13px; pointer-events: none; }
.kv24fr .kv24fr__field small { display: block; margin: 5px 0 0; font-size: 12px; line-height: 1.6; color: var(--kv24fr-muted); }
.kv24fr .kv24fr__field input[aria-invalid="true"] { border-color: #bc171d; }
.kv24fr .kv24fr__error { margin: 6px 0 0; color: #b51019; font-size: 12px; line-height: 1.6; }
.kv24fr .kv24fr__button { display: flex; justify-content: center; align-items: center; gap: 12px; width: 100%; min-height: 48px; margin: 4px 0 0; padding: 11px 12px; border: 0; border-radius: 6px; background: var(--kv24fr-red); box-shadow: 0 4px 10px rgb(233 25 33 / 12%); color: #fff; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.5; cursor: pointer; text-transform: none; letter-spacing: normal; }
.kv24fr .kv24fr__button:hover { background: #c80f18; }
.kv24fr .kv24fr__button span { font-size: 21px; line-height: 1; }
.kv24fr .kv24fr__privacy, .kv24fr .kv24fr__noscript { margin: 10px 0 0; color: var(--kv24fr-muted); text-align: center; font-size: 12px; line-height: 1.6; }
.kv24fr .kv24fr__result { min-width: 0; border: 1px solid #dbeaf6; border-radius: 9px; padding: 23px 20px 20px; background: linear-gradient(145deg, #f4faff, #eaf5ff); }
.kv24fr .kv24fr__result-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.kv24fr .kv24fr__badge { padding: 3px 7px; border: 1px solid #c3dcf0; border-radius: 4px; color: #155781; background: #fff; font-size: 11px; font-weight: 700; }
.kv24fr .kv24fr__currency { color: var(--kv24fr-muted); font-size: 11px; letter-spacing: .08em; }
.kv24fr .kv24fr__result-label { margin: 0 0 3px; color: var(--kv24fr-ink); font-size: 14px; font-weight: 600; line-height: 1.5; }
.kv24fr .kv24fr__rate { margin: 0; color: var(--kv24fr-blue); font-size: clamp(26px, 6cqi, 48px); font-weight: 800; line-height: 1.2; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kv24fr .kv24fr__basis { margin: 9px 0 18px; color: var(--kv24fr-muted); font-size: 12px; line-height: 1.65; }
.kv24fr .kv24fr__totals { margin: 0; padding: 13px 0 11px; border-top: 1px solid #cfe1ef; border-bottom: 1px solid #cfe1ef; }
.kv24fr .kv24fr__totals > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2px 12px; margin: 0; padding: 4px 0; font-size: 14px; line-height: 1.6; }
.kv24fr .kv24fr__totals dt { margin: 0; font-weight: 400; color: var(--kv24fr-muted); }
.kv24fr .kv24fr__totals dd { margin: 0; color: var(--kv24fr-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.kv24fr .kv24fr__chart { margin-top: 16px; }
.kv24fr .kv24fr__chart p { margin: 0 0 12px; color: var(--kv24fr-ink); font-size: 12px; font-weight: 700; line-height: 1.5; }
.kv24fr .kv24fr__chart svg { display: block; width: 100%; height: 70px; overflow: visible; }
.kv24fr .kv24fr__grid { fill: none; stroke: #cfe1ef; stroke-width: 1; }
.kv24fr .kv24fr__area { fill: rgb(22 133 235 / 10%); }
.kv24fr .kv24fr__line { fill: none; stroke: var(--kv24fr-bright); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.kv24fr .kv24fr__chart-labels { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: 8px; color: var(--kv24fr-muted); font-size: 11px; }
.kv24fr .kv24fr__compare { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 15px; padding: 10px 0 0; border-top: 1px solid #cfe1ef; color: #075ea6; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.kv24fr .kv24fr__status { margin: 0; padding: 0 22px; color: var(--kv24fr-muted); font-size: 13px; line-height: 1.6; }
.kv24fr .kv24fr__status:not(:empty) { margin: 0 0 18px; }
.kv24fr .kv24fr__schedule { margin: 0 22px; border-top: 1px solid var(--kv24fr-border); }
.kv24fr .kv24fr__schedule summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 14px 0; color: var(--kv24fr-ink); cursor: pointer; list-style: none; font-size: 14px; font-weight: 700; }
.kv24fr .kv24fr__schedule summary::-webkit-details-marker { display: none; }
.kv24fr .kv24fr__schedule summary span { color: var(--kv24fr-blue); font-size: 22px; font-weight: 400; line-height: 1; }
.kv24fr .kv24fr__schedule[open] summary span { transform: rotate(45deg); }
.kv24fr .kv24fr__table-wrap { max-height: 400px; max-width: 100%; overflow: auto; border: 1px solid var(--kv24fr-border); border-radius: 6px; margin: 0 0 20px; }
.kv24fr .kv24fr__table-wrap table { width: 100%; min-width: 520px; margin: 0; border: 0; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.kv24fr .kv24fr__table-wrap caption { padding: 10px; background: #f7fbff; color: var(--kv24fr-muted); text-align: left; font-size: 12px; }
.kv24fr .kv24fr__table-wrap th, .kv24fr .kv24fr__table-wrap td { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--kv24fr-border); background: #fff; color: var(--kv24fr-ink); text-align: right; white-space: nowrap; font-weight: 400; }
.kv24fr .kv24fr__table-wrap th:first-child { text-align: left; }
.kv24fr .kv24fr__table-wrap thead th, .kv24fr .kv24fr__table-wrap tfoot th, .kv24fr .kv24fr__table-wrap tfoot td { background: #f2f7fb; font-weight: 700; }
.kv24fr .kv24fr__table-wrap thead th { position: sticky; top: 0; }
.kv24fr .kv24fr__notes { padding: 16px 22px 19px; background: #f8fbfe; border-top: 1px solid var(--kv24fr-border); border-radius: 0 0 12px 12px; }
.kv24fr .kv24fr__notes p { margin: 0; color: var(--kv24fr-muted); font-size: 12px; line-height: 1.75; }
.kv24fr .kv24fr__notes p + p { margin-top: 6px; }
.kv24fr :is(input, button, a, summary, [tabindex]):focus-visible { outline: 3px solid #0967b7; outline-offset: 3px; }
.kv24fr-fallback { margin: 0; padding: 24px 16px 48px; background: #f3f8fc; color: #082f4b; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.kv24fr-fallback main { max-width: 1040px; margin: auto; }
.kv24fr-fallback h1 { margin: 24px 0; font-family: Georgia, serif; font-size: clamp(25px, 4vw, 36px); line-height: 1.25; }
.kv24fr-fallback .kv24fr-back { display: inline-block; padding: 8px 0; color: #0967b7; }
@container (min-width: 680px) {
  .kv24fr:not(.kv24fr--compact) .kv24fr__layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 38px; padding: 30px 32px; }
  .kv24fr:not(.kv24fr--compact) .kv24fr__header { padding: 30px 32px 0; }
  .kv24fr:not(.kv24fr--compact) .kv24fr__result { padding: 23px 26px 20px; }
  .kv24fr:not(.kv24fr--compact) .kv24fr__schedule { margin-inline: 32px; }
  .kv24fr:not(.kv24fr--compact) .kv24fr__notes { padding-inline: 32px; }
  .kv24fr:not(.kv24fr--compact) .kv24fr__status { padding-inline: 32px; }
}
@media print {
  .kv24fr { box-shadow: none; break-inside: avoid; }
  .kv24fr .kv24fr__button, .kv24fr .kv24fr__compare { display: none; }
  .kv24fr .kv24fr__table-wrap { max-height: none; overflow: visible; }
}
/* Additional modules retain the accepted card and whitespace reset. */
.kv24fr--module .kv24fr__result { align-self: start; }
.kv24fr .kv24fr__input-wrap select { display: block; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10px 30px 10px 13px; border: 1px solid #b8cfe0; border-radius: 6px; background-color: #fff; color: var(--kv24fr-ink); font: inherit; font-size: 16px; line-height: 24px; }
.kv24fr .kv24fr__input-wrap select[aria-invalid="true"] { border-color: #bc171d; }
.kv24fr select:focus-visible { outline: 3px solid #0967b7; outline-offset: 3px; }
.kv24fr .kv24fr__field small:empty { display: none; }
.kv24fr .kv24fr__advanced { margin: 0 0 18px; border: 1px solid var(--kv24fr-border); border-radius: 6px; background: #f8fbfe; }
.kv24fr .kv24fr__advanced summary { padding: 12px; min-height: 48px; font-size: 14px; color: var(--kv24fr-blue); font-weight: 700; cursor: pointer; }
.kv24fr .kv24fr__advanced > div { padding: 8px 12px 0; }
.kv24fr .kv24fr__legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 12px 0 0; padding: 0; list-style: none; }
.kv24fr .kv24fr__legend li { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; font-size: 12px; color: var(--kv24fr-ink); }
.kv24fr .kv24fr__legend li::before { content: ''; width: 18px; border-top: 3px solid var(--kv24fr-bright); }
.kv24fr .kv24fr__line--1 { stroke: #a34318; stroke-dasharray: 7 4; }
.kv24fr .kv24fr__line--2 { stroke: #082f4b; stroke-dasharray: 2 4; }
.kv24fr .kv24fr__legend .kv24fr__legend--1::before { border-top: 3px dashed #a34318; }
.kv24fr .kv24fr__legend .kv24fr__legend--2::before { border-top: 3px dotted #082f4b; }
.kv24fr .kv24fr__chart .kv24fr__chart-note { margin: 8px 0 0; font-size: 11px; color: var(--kv24fr-muted); font-weight: 400; }
.kv24fr .kv24fr__eyebrow { overflow-wrap: anywhere; }
