/* KIVANTOS / editorial card direction. All selectors stay within brand content. */
body.kv-brand-body .kv {
  --kv-card-radius: 24px;
  --kv-card-space: clamp(28px, 2.6vw, 38px);
  --kv-card-gap: clamp(20px, 2.1vw, 30px);
  --kv-card-surface: #f0f3f7;
  --kv-card-border: #d7e0eb;
  --kv-ink: #080f1c;
  --kv-electric: #192f73;
  --kv-soft: #eef2f6;
}

/* Deep colour gives the purchase a clear focal point beside the product. */
body.kv-brand-body .kv main .product > div:last-child,
body.kv-brand-body .kv main .pd-summary {
  position: relative;
  background: var(--kv-ink);
  border-color: #283449;
  color: #f7f9fc;
  box-shadow: none;
}
body.kv-brand-body .kv main .product > div:last-child::before,
body.kv-brand-body .kv main .pd-summary::before {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--lime);
  margin-bottom: 20px;
}
body.kv-brand-body .kv main .product > div:last-child h2,
body.kv-brand-body .kv main .pd-summary h1 {
  color: #fff;
  font-weight: 600;
  letter-spacing: -.045em;
  font-size: clamp(36px, 3.6vw, 56px);
  margin-bottom: 24px;
}
body.kv-brand-body .kv main .product > div:last-child > p,
body.kv-brand-body .kv main .pd-summary > p {
  color: #c0cbdc;
}
body.kv-brand-body .kv main .product > div:last-child .eyebrow,
body.kv-brand-body .kv main .pd-summary .eyebrow {
  color: #b8c6dc;
}
body.kv-brand-body .kv main .product > div:last-child .muted,
body.kv-brand-body .kv main .pd-summary .muted {
  color: #aebed2;
}
body.kv-brand-body .kv main .product > div:last-child .price,
body.kv-brand-body .kv main .pd-summary .pd-price {
  color: var(--lime);
  font-weight: 600;
}
body.kv-brand-body .kv main .product > div:last-child .pill,
body.kv-brand-body .kv main .pd-summary .pill {
  color: #e0e8f4;
  border-color: #40516b;
  background: #14223b;
  border-radius: 7px;
}
body.kv-brand-body .kv main .product > div:last-child p a,
body.kv-brand-body .kv main .pd-summary p a,
body.kv-brand-body .kv main .pd-summary > .lv-link {
  color: #eff6ff;
}
body.kv-brand-body .kv main .numbers > div,
body.kv-brand-body .kv main .pd-specs > div {
  background: #14223b;
  border-color: #354762;
}
body.kv-brand-body .kv main .numbers b,
body.kv-brand-body .kv main .pd-specs b {
  color: #fff;
  font-weight: 500;
}
body.kv-brand-body .kv main .numbers > div > span,
body.kv-brand-body .kv main .pd-specs > div > span {
  color: #bccbe0;
}
body.kv-brand-body .kv main .numbers > div:first-child,
body.kv-brand-body .kv main .pd-specs > div:first-child {
  background: var(--lime);
  border-color: var(--lime);
}
body.kv-brand-body .kv main .numbers > div:first-child b,
body.kv-brand-body .kv main .pd-specs > div:first-child b,
body.kv-brand-body .kv main .numbers > div:first-child > span,
body.kv-brand-body .kv main .pd-specs > div:first-child > span {
  color: var(--kv-ink);
}
body.kv-brand-body .kv main .pd-order select {
  background: #14223b;
  border-color: #40516b;
  color: #f7f9fc;
}
body.kv-brand-body .kv main .product > div:last-child .eyebrow,
body.kv-brand-body .kv main .pd-summary .eyebrow {
  margin-bottom: 16px;
}
body.kv-brand-body .kv main .pd-summary > p {
  margin-bottom: 18px;
}
body.kv-brand-body .kv main .pd-summary .pd-price {
  margin-top: 20px;
  margin-bottom: 8px;
}
body.kv-brand-body .kv main .pd-summary .pill {
  margin-bottom: 18px;
}
body.kv-brand-body .kv main .pd-specs {
  margin: 22px 0;
}
body.kv-brand-body .kv main .pd-order {
  margin: 22px 0 20px;
}
body.kv-brand-body .kv main .pd-summary > p:last-child {
  margin-bottom: 0;
}

/* Give image/copy pairs an editorial rhythm without displacing the hero. */
body.kv-brand-body .kv main #shop {
  background: var(--kv-soft);
}
body.kv-brand-body .kv main .product,
body.kv-brand-body .kv main .pd-grid {
  align-items: start;
}
body.kv-brand-body .kv main .product .photo {
  align-self: stretch;
}
body.kv-brand-body .kv main .product .photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.kv-brand-body .kv main .lv-carry {
  background: #fff;
}
body.kv-brand-body .kv main .lv-carry-copy {
  padding: var(--kv-card-space);
  border: 1px solid var(--kv-card-border);
  border-radius: var(--kv-card-radius);
  background: var(--kv-soft);
}
body.kv-brand-body .kv main .lv-carry-grid {
  gap: var(--kv-card-gap);
  align-items: stretch;
}
body.kv-brand-body .kv main .value-panel {
  background: var(--kv-soft);
}
body.kv-brand-body .kv main .value-grid > div:first-child,
body.kv-brand-body .kv main .lv-brand-formula .lv-brand-intro-grid > div:first-child {
  padding: var(--kv-card-space);
  background: var(--kv-electric);
  border: 1px solid #314789;
  border-radius: var(--kv-card-radius);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.kv-brand-body .kv main .value-grid > div:first-child h2,
body.kv-brand-body .kv main .lv-brand-formula .lv-brand-intro-grid > div:first-child h2 {
  color: #fff;
}
body.kv-brand-body .kv main .value-grid > div:first-child p,
body.kv-brand-body .kv main .value-grid > div:first-child .eyebrow,
body.kv-brand-body .kv main .lv-brand-formula .lv-brand-intro-grid > div:first-child .eyebrow {
  color: #d4def4;
}
body.kv-brand-body .kv main .value-grid > div:last-child,
body.kv-brand-body .kv main .kv-product-tables > div,
body.kv-brand-body .kv main .lv-brand-intro-grid > div:last-child {
  background: #fff;
}
body.kv-brand-body .kv main .kv-table caption {
  color: var(--kv-electric);
  font-weight: 600;
}
body.kv-brand-body .kv main .kv-table thead th {
  color: #526682;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.kv-brand-body .kv main .kv-product-tables > div:first-child {
  border-top: 4px solid var(--kv-electric);
}
body.kv-brand-body .kv main .kv-product-tables > div:last-child {
  border-top: 4px solid var(--lime);
}
body.kv-brand-body .kv main .kv-section-head h2,
body.kv-brand-body .kv main .lv-section-heading h2,
body.kv-brand-body .kv main .culture-heading h2,
body.kv-brand-body .kv main .lv-carry-copy h2,
body.kv-brand-body .kv main .value-grid h2,
body.kv-brand-body .kv main .lv-brand-intro-grid h2 {
  font-weight: 600;
  letter-spacing: -.045em;
}

/* Formula panels pair a blue instrument with a quiet dark data surface. */
body.kv-brand-body .kv main .tech .kv-formula-focus {
  background: #192f73e8;
  border-color: #5576b547;
}
body.kv-brand-body .kv main .tech .kv-formula-data {
  background: #080f1ceb;
  border-color: #556a8c52;
}
body.kv-brand-body .kv main .tech .kv-table caption {
  color: #f4f7fb;
}
body.kv-brand-body .kv main .tech .kv-table thead th {
  color: #b3c4dd;
}
body.kv-brand-body .kv main .tech .kv-table-note,
body.kv-brand-body .kv main .tech .kv-energy-scale {
  color: #aebed4;
}
body.kv-brand-body .kv main .culture-section {
  background: var(--kv-soft);
}
body.kv-brand-body .kv main .culture-copy {
  padding: 0;
  left: var(--kv-card-space);
  right: var(--kv-card-space);
  bottom: var(--kv-card-space);
}
body.kv-brand-body .kv main .culture-top {
  left: var(--kv-card-space);
  right: var(--kv-card-space);
  top: var(--kv-card-space);
}
body.kv-brand-body .kv main .culture-top > span:first-child,
body.kv-brand-body .kv main .lv-world-grid span,
body.kv-brand-body .kv main .lv-frame-label {
  color: var(--lime);
}
body.kv-brand-body .kv main .lv-world-grid > article {
  background: var(--kv-ink);
}
body.kv-brand-body .kv main .lv-world-grid h3 {
  color: #fff;
  font-weight: 600;
}
body.kv-brand-body .kv main .lv-world-grid p {
  color: #becbdf;
}
body.kv-brand-body .kv main .lv-carry-pair figcaption {
  background: var(--kv-ink);
  color: #d7e2f4;
  border-top: 2px solid var(--lime);
}

/* Support and legal pages use the same accents with a light reading surface. */
body.kv-brand-body .kv main .lv-inner-hero {
  padding-inline: var(--kv-card-space);
  border-radius: var(--kv-card-radius);
}
body.kv-brand-body .kv main.page > .inner-section > h2 {
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 600;
  letter-spacing: -.04em;
  margin-bottom: 24px;
}
body.kv-brand-body .kv main.page > .inner-section:has(.step-grid, details, .kv-table-wrap, .wpcf7) > h2,
body.kv-brand-body .kv main.page > .inner-section:has(.step-grid, details, .kv-table-wrap, .wpcf7) > p {
  padding-inline: var(--kv-card-space);
}
body.kv-brand-body .kv main .step-grid > div {
  background: #fff;
}
body.kv-brand-body .kv main .step-grid > div:nth-child(2) {
  background: var(--kv-electric);
  border-color: var(--kv-electric);
  color: #fff;
}
body.kv-brand-body .kv main .step-grid > div:nth-child(2) b {
  color: var(--lime);
}
body.kv-brand-body .kv main .step-grid > div:nth-child(2) h3 {
  color: #fff;
}
body.kv-brand-body .kv main .step-grid > div:nth-child(2) p {
  color: #d4def4;
}
body.kv-brand-body .kv main .contact-callout {
  background: var(--kv-electric);
}
body.kv-brand-body .kv main .wpcf7 {
  max-width: none;
  background: #fff;
  border-top: 4px solid var(--kv-electric);
}
body.kv-brand-body .kv main details {
  background: #f0f3f7;
}
body.kv-brand-body .kv main details[open] {
  background: #fff;
  border-color: #8a9dbb;
}
body.kv-brand-body .kv main .kv-policy-toc {
  background: var(--kv-ink);
  border-color: #283449;
}
body.kv-brand-body .kv main .kv-policy-toc > span {
  color: var(--lime);
}
body.kv-brand-body .kv main .kv-policy-toc a {
  color: #d7e2f4;
}

@media (min-width: 1101px) {
  body.kv-brand-body .kv main .product,
  body.kv-brand-body .kv main .pd-grid,
  body.kv-brand-body .kv main .lv-carry-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  }
  body.kv-brand-body .kv main .value-grid,
  body.kv-brand-body .kv main .lv-brand-intro-grid {
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    align-items: stretch;
  }
  body.kv-brand-body .kv main .culture-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  }
  body.kv-brand-body .kv main .lv-world-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  body.kv-brand-body .kv main .lv-world-grid > article:nth-child(1),
  body.kv-brand-body .kv main .lv-world-grid > article:nth-child(4) {
    grid-column: span 7;
  }
  body.kv-brand-body .kv main .lv-world-grid > article:nth-child(2),
  body.kv-brand-body .kv main .lv-world-grid > article:nth-child(3) {
    grid-column: span 5;
  }
  body.kv-brand-body .kv main .lv-world-grid > article > img {
    height: 340px;
  }
}
@media (hover: hover) and (pointer: fine) {
  body.kv-brand-body .kv main .kv-policy-toc a:hover {
    color: var(--lime);
  }
  body.kv-brand-body .kv main .pd-gallery button:hover,
  body.kv-brand-body .kv main details:hover {
    border-color: #8097b9;
  }
}
@media (max-width: 900px) {
  body.kv-brand-body .kv main .lv-carry-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.kv-brand-body .kv main .product .photo > img {
    height: auto;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  body.kv-brand-body .kv main .step-grid h3 {
    min-height: 2.5em;
  }
}
@media (max-width: 760px) {
  body.kv-brand-body .kv {
    --kv-card-radius: 18px;
    --kv-card-space: 24px;
    --kv-card-gap: 22px;
  }
  body.kv-brand-body .kv main .product > div:last-child h2,
  body.kv-brand-body .kv main .pd-summary h1 {
    font-size: 36px;
  }
}
@media (max-width: 380px) {
  body.kv-brand-body .kv { --kv-card-space: 20px; }
  body.kv-brand-body .kv main .product > div:last-child h2,
  body.kv-brand-body .kv main .pd-summary h1 {
    font-size: 32px;
  }
}
