/* Exact DOM-to-reference alignment for _ConceptV2Landing.cshtml. */
.kv2-brand {
  display: inline-flex;
  width: 250px;
  flex: 0 0 250px;
  align-items: center;
  text-decoration: none;
}

.kv2-brand-image {
  width: 228px;
  height: auto;
}

.kv2-language-switcher {
  position: relative;
  display: flex;
  width: 56px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kuzya-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .86);
}

.kv2-language-switcher::after {
  margin-left: 2px;
  color: var(--kuzya-gray);
  content: "⌄";
  font-size: 11px;
}

.kv2-language-button {
  display: none;
  border: 0;
  background: transparent;
  color: var(--kuzya-navy);
  font-family: var(--kuzya-font);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.kv2-language-button[aria-pressed="true"] {
  display: inline-flex;
}

.kv2-language-switcher:hover,
.kv2-language-switcher:focus-within {
  position: relative;
}

.kv2-language-switcher:hover .kv2-language-button,
.kv2-language-switcher:focus-within .kv2-language-button {
  position: absolute;
  right: 0;
  display: block;
  width: 56px;
  min-height: 32px;
  border: 1px solid var(--kuzya-line);
  background: #fff;
}

.kv2-language-switcher:hover .kv2-language-button:nth-child(1),
.kv2-language-switcher:focus-within .kv2-language-button:nth-child(1) { top: 42px; }
.kv2-language-switcher:hover .kv2-language-button:nth-child(2),
.kv2-language-switcher:focus-within .kv2-language-button:nth-child(2) { top: 74px; }
.kv2-language-switcher:hover .kv2-language-button:nth-child(3),
.kv2-language-switcher:focus-within .kv2-language-button:nth-child(3) { top: 106px; }
.kv2-language-switcher:hover .kv2-language-button:nth-child(4),
.kv2-language-switcher:focus-within .kv2-language-button:nth-child(4) { top: 138px; }

.kv2-language-switcher:hover .kv2-language-button[aria-pressed="true"],
.kv2-language-switcher:focus-within .kv2-language-button[aria-pressed="true"] {
  color: var(--kuzya-orange-strong);
}

.kv2-heading {
  color: var(--kuzya-navy-deep);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.kv2-heading-accent {
  color: var(--kuzya-orange-strong);
}

.kv2-section-heading {
  text-align: center;
}

.kv2-section-lead {
  max-width: 760px;
  margin: 9px auto 0 !important;
  color: var(--kuzya-gray);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.48;
}

.kv2-card-title {
  color: var(--kuzya-navy-deep);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.kv2-card-copy {
  margin-top: 7px !important;
  color: var(--kuzya-gray);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.48;
}

.kv2-check-list {
  display: grid;
  gap: 8px;
  margin: 14px 0 18px !important;
  padding: 0;
  list-style: none;
}

.kv2-check-list li {
  position: relative;
  padding-left: 21px;
  color: var(--kuzya-navy);
  font-size: 13px;
  line-height: 1.35;
}

.kv2-check-list li::before {
  position: absolute;
  left: 1px;
  color: var(--kuzya-orange-strong);
  content: "✓";
  font-weight: 700;
}

/* Hero aliases and exact device montage. */
.kv2-hero-background,
.kv2-hero-paws {
  display: none;
}

.kv2-hero-layout {
  display: grid;
  min-height: 484px;
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  align-items: center;
  gap: 16px;
}

.kv2-display {
  display: grid;
  max-width: 500px;
  color: var(--kuzya-navy-deep);
  font-size: clamp(48px, 4.25vw, 60px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.045em;
}

.kv2-display-accent {
  color: var(--kuzya-navy-deep);
}

.kv2-lead {
  max-width: 470px;
  margin-top: 24px !important;
  color: var(--kuzya-navy);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

.kv2-text-link {
  display: flex;
  flex-basis: 100%;
  margin-top: 2px;
  color: var(--kuzya-navy);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.kv2-hero-checks {
  display: none;
}

.kv2-proof-copy strong,
.kv2-proof-copy span {
  display: block;
}

.kv2-proof-copy strong {
  color: var(--kuzya-navy-deep);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}

.kv2-proof-copy span {
  margin-top: 3px;
  color: var(--kuzya-gray);
  font-size: 11px;
  line-height: 1.3;
}

/* Roles match the tab + patient + bullets + Kuzya composition. */
.kv2-roles > .kv2-container {
  min-height: 510px;
  padding: 22px 30px 24px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .44);
}

.kv2-roles .kv2-section-heading .kv2-eyebrow,
.kv2-roles .kv2-section-heading .kv2-section-lead {
  display: none;
}

.kv2-roles .kv2-heading {
  font-size: 30px;
}

.kv2-role-panels {
  min-height: 340px;
}

.kv2-role-panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.kv2-role-panel:not(:has(.kv2-patient-card)) .kv2-role-panel-copy {
  grid-column: 1 / 3;
}

.kv2-role-panel-copy {
  min-width: 0;
}

/* Workflow keeps only the reference title and one seven-step rail. */
.kv2-workflow > .kv2-container {
  position: relative;
  min-height: 300px;
  padding: 18px 24px 20px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .44);
}

.kv2-workflow > .kv2-container > .kv2-section-heading {
  display: none;
}

.kv2-workflow-intro {
  text-align: center;
}

.kv2-workflow-intro .kv2-card-title {
  font-size: 30px;
}

.kv2-workflow-intro .kv2-card-copy,
.kv2-workflow-mascot,
.kv2-workflow-line {
  display: none;
}

.kv2-step-number {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin: 0 auto 10px;
  border: 1px solid var(--kuzya-line);
  border-radius: 50%;
  background: #fff;
  color: var(--kuzya-orange-strong);
  font-size: 14px;
  font-weight: 600;
}

.kv2-step-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 9px;
}

.kv2-workflow-step {
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.kv2-workflow-step strong {
  display: block;
  color: var(--kuzya-navy-deep);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}

.kv2-workflow-step > span:last-child {
  display: block;
  margin-top: 4px;
  color: var(--kuzya-gray);
  font-size: 10px;
  line-height: 1.3;
}

/* Mobile app composition. */
.kv2-mobile-layout {
  position: relative;
  display: grid;
  min-height: 380px;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.45fr);
  gap: 30px;
  overflow: hidden;
  padding: 24px 30px 20px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .44);
}

.kv2-mobile-copy .kv2-heading {
  margin-top: 5px !important;
}

.kv2-mobile-points {
  display: grid;
  gap: 9px;
  margin-top: 15px;
}

.kv2-mobile-point {
  position: relative;
  padding-left: 21px;
}

.kv2-mobile-point::before {
  position: absolute;
  top: 4px;
  left: 2px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--kuzya-navy-deep);
  content: "";
}

.kv2-mobile-point strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}

.kv2-mobile-point span {
  display: none;
}

.kv2-mobile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.kv2-mobile-actions .kv2-button {
  min-height: 40px;
  padding-inline: 13px;
  font-size: 11px;
}

.kv2-mobile-copy > .kv2-mobile-mascot {
  position: absolute;
  z-index: 3;
  left: 326px;
  bottom: 4px;
  width: 130px;
  max-height: 130px;
  object-fit: contain;
}

.kv2-device {
  min-width: 0;
  margin: 0;
}

.kv2-phone-shell {
  position: relative;
  height: 330px;
  overflow: hidden;
  border: 5px solid var(--kuzya-navy-deep);
  border-radius: 29px;
  background: #fff;
  box-shadow: 0 16px 28px rgba(34, 43, 57, .14);
}

.kv2-phone-screen {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.kv2-phone-frame {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

.kv2-device-caption {
  display: none;
}

/* Demo split. */
.kv2-demo-layout {
  position: relative;
  display: grid;
  min-height: 390px;
  grid-template-columns: minmax(235px, .55fr) minmax(0, 1.45fr);
  gap: 34px;
  overflow: hidden;
  padding: 24px 30px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .44);
}

.kv2-demo-copy {
  align-self: center;
}

.kv2-demo-copy .kv2-heading {
  margin-top: 5px !important;
  font-size: 28px;
}

.kv2-demo-copy .kv2-section-lead {
  margin: 8px 0 0 !important;
  text-align: left;
}

.kv2-demo-toolbar {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  height: 22px;
  align-items: center;
  gap: 12px;
  padding: 0 10px;
  background: var(--kuzya-navy-deep);
  color: #fff;
  font-size: 8px;
}

.kv2-demo-dots {
  display: flex;
  gap: 4px;
}

.kv2-demo-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--kuzya-orange);
}

.kv2-demo-frame {
  width: 100%;
  height: 100%;
  border: 0;
}

.kv2-browser-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Onboarding: three steps on the left, three platforms on the right. */
.kv2-onboarding {
  position: relative;
  overflow: hidden;
}

.kv2-section-wash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .38;
  pointer-events: none;
}

.kv2-onboarding > .kv2-container {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 310px;
  grid-template-columns: minmax(250px, .38fr) minmax(0, .62fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px 22px;
  padding: 20px 28px 22px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .56);
}

.kv2-onboarding > .kv2-container > .kv2-section-heading {
  grid-column: 1 / -1;
  text-align: left;
}

.kv2-onboarding > .kv2-container > .kv2-section-heading .kv2-eyebrow,
.kv2-onboarding > .kv2-container > .kv2-section-heading .kv2-section-lead {
  display: none;
}

.kv2-onboarding > .kv2-container > .kv2-section-heading .kv2-heading {
  font-size: 25px;
}

.kv2-onboarding-grid {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.kv2-onboarding-step {
  display: grid;
  min-height: 62px;
  grid-template-columns: 36px 40px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 7px 9px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.kv2-onboarding-step .kv2-step-number {
  width: 34px;
  height: 34px;
  margin: 0;
}

.kv2-onboarding-step .kv2-step-icon {
  width: 38px;
  height: 38px;
  margin: 0;
}

.kv2-onboarding-step h3 {
  font-size: 13px;
  font-weight: 600;
}

.kv2-onboarding-step p {
  grid-column: 3;
  color: var(--kuzya-gray);
  font-size: 9px;
  line-height: 1.3;
}

.kv2-platform-heading {
  display: none;
}

.kv2-platform-grid {
  grid-column: 2;
  grid-row: 2;
}

.kv2-onboarding-cta {
  display: none;
}

/* Compact 3×3 details. */
.kv2-capabilities > .kv2-container {
  min-height: 300px;
  padding: 16px 24px 20px;
  border: 1px solid rgba(239, 220, 200, .82);
  border-radius: 24px;
  background: rgba(255, 255, 255, .44);
}

.kv2-capabilities .kv2-section-heading .kv2-eyebrow,
.kv2-capabilities .kv2-section-heading .kv2-section-lead {
  display: none;
}

.kv2-capabilities .kv2-heading {
  font-size: 27px;
}

.kv2-capability-summary {
  display: grid;
  min-height: 62px;
  grid-template-columns: 42px minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: center;
  padding: 8px 11px;
  color: var(--kuzya-navy-deep);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  list-style: none;
  cursor: pointer;
}

.kv2-capability-summary::-webkit-details-marker {
  display: none;
}

.kv2-capability-summary::after {
  content: "⌄";
  font-size: 15px;
}

.kv2-capability-summary img {
  width: 40px;
  height: 40px;
}

.kv2-capability-item > p {
  padding: 0 12px 10px 63px;
  color: var(--kuzya-gray);
  font-size: 10px;
  line-height: 1.35;
}

.kv2-capability-cta {
  display: none;
}

/* Voice and two reference teasers. */
.kv2-final {
  padding-top: 10px;
}

.kv2-final .kv2-voice {
  position: relative;
  display: grid;
  min-height: 164px;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  align-items: center;
  overflow: hidden;
  padding: 18px 30px;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(253, 222, 180, .86), rgba(255, 249, 243, .82)),
    url("../images/kuzya-concept-v2/backgrounds/section-wash-1600x900.png") center / cover;
}

.kv2-voice-copy {
  grid-column: 2;
}

.kv2-voice-copy .kv2-heading {
  margin-top: 3px !important;
  font-size: 27px;
}

.kv2-voice-copy > p {
  margin-top: 6px !important;
  color: var(--kuzya-gray);
  font-size: 12px;
  line-height: 1.4;
}

.kv2-voice-copy > strong,
.kv2-voice-copy > span:last-child {
  display: none;
}

.kv2-voice-icon {
  position: absolute;
  z-index: 3;
  bottom: 20px;
  left: 214px;
  width: 62px;
  height: 62px;
}

.kv2-final .kv2-voice-mascot {
  position: absolute;
  left: 50px;
  bottom: -58px;
  width: 245px;
  height: 245px;
  object-fit: contain;
}

.kv2-pricing-teaser,
.kv2-faq-teaser {
  position: relative;
  min-height: 132px;
  overflow: hidden;
  padding: 17px 220px 15px 22px;
}

.kv2-pricing-teaser .kv2-card-title,
.kv2-faq-teaser .kv2-card-title {
  font-size: 19px;
}

.kv2-pricing-teaser .kv2-card-copy,
.kv2-teaser-note,
.kv2-mini-faq {
  display: none;
}

.kv2-pricing-teaser > .kv2-button,
.kv2-faq-teaser > .kv2-button {
  min-height: 34px;
  margin-top: 9px;
  padding-inline: 13px;
  font-size: 10px;
}

.kv2-teaser-icon {
  position: absolute;
  right: 150px;
  bottom: 18px;
  width: 58px;
  height: 58px;
}

.kv2-teaser-mascot {
  position: absolute;
  right: 18px;
  bottom: -44px;
  width: 150px;
  height: 150px;
  object-fit: contain;
}

.kv2-footer-grid {
  grid-template-columns: 270px repeat(3, minmax(0, 1fr));
}

.kv2-footer-brand {
  position: relative;
}

.kv2-footer-description,
.kv2-footer-mascot {
  display: none;
}

.kv2-footer-column h2 {
  margin-bottom: 7px !important;
  font-size: 11px;
  font-weight: 600;
}

.kv2-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  color: var(--kuzya-gray);
  font-size: 9px;
}

@media (max-width: 700px) {
  .kv2-brand {
    width: 132px;
    flex-basis: 132px;
  }

  .kv2-brand-image {
    width: 128px;
  }

  .kv2-language-switcher,
  .kv2-currency {
    display: none;
  }

  .kv2-hero-layout {
    min-height: 610px;
    grid-template-columns: 1fr;
    grid-template-rows: 190px auto;
  }

  .kv2-display {
    max-width: 300px;
    margin-inline: auto;
    font-size: 32px;
  }

  .kv2-lead {
    max-width: 300px;
    margin: 14px auto 0 !important;
    font-size: 13px;
  }

  .kv2-roles > .kv2-container {
    min-height: 636px;
    padding: 18px 8px;
  }

  .kv2-roles .kv2-heading {
    font-size: 23px;
  }

  .kv2-role-panel:not(:has(.kv2-patient-card)) .kv2-role-panel-copy {
    grid-column: 1;
  }

  .kv2-workflow > .kv2-container {
    min-height: 270px;
    padding: 17px 5px 10px;
  }

  .kv2-workflow-intro .kv2-card-title {
    font-size: 23px;
  }

  .kv2-step-number {
    width: 28px;
    height: 28px;
    font-size: 9px;
  }

  .kv2-step-icon {
    width: 34px;
    height: 34px;
  }

  .kv2-workflow-step strong {
    font-size: 7px;
  }

  .kv2-workflow-step > span:last-child {
    display: none;
  }

  .kv2-mobile-layout {
    min-height: 458px;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px 8px 12px;
  }

  .kv2-mobile-copy {
    text-align: center;
  }

  .kv2-mobile-copy .kv2-eyebrow,
  .kv2-mobile-copy .kv2-section-lead,
  .kv2-mobile-points,
  .kv2-mobile-copy > .kv2-mobile-mascot {
    display: none;
  }

  .kv2-mobile-copy .kv2-heading {
    font-size: 24px;
  }

  .kv2-mobile-actions {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    z-index: 3;
    justify-content: center;
    margin: 0;
  }

  .kv2-mobile-actions .kv2-button {
    min-height: 35px;
    padding-inline: 8px;
    font-size: 8px;
  }

  .kv2-phone-shell {
    height: 285px;
    border-width: 3px;
    border-radius: 17px;
  }

  .kv2-demo-layout {
    min-height: 306px;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 16px 11px 12px;
  }

  .kv2-demo-copy {
    display: contents;
    text-align: center;
  }

  .kv2-demo-copy .kv2-eyebrow,
  .kv2-demo-copy .kv2-section-lead,
  .kv2-demo-copy .kv2-check-list,
  .kv2-demo-mascot {
    display: none;
  }

  .kv2-demo-copy .kv2-heading {
    font-size: 23px;
  }

  .kv2-demo-copy > .kv2-button {
    grid-row: 3;
    width: 70%;
    min-height: 40px;
    justify-self: center;
  }

  .kv2-onboarding > .kv2-container {
    min-height: 396px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 12px;
    padding: 16px 8px 11px;
  }

  .kv2-onboarding > .kv2-container > .kv2-section-heading {
    grid-column: 1;
    text-align: center;
  }

  .kv2-onboarding > .kv2-container > .kv2-section-heading .kv2-heading {
    font-size: 23px;
  }

  .kv2-onboarding-grid {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .kv2-onboarding-step {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 4px;
  }

  .kv2-onboarding-step .kv2-step-icon,
  .kv2-onboarding-step h3,
  .kv2-onboarding-step p {
    display: none;
  }

  .kv2-platform-grid {
    grid-column: 1;
    grid-row: 3;
  }

  .kv2-capabilities > .kv2-container {
    min-height: 606px;
    padding: 17px 7px 11px;
  }

  .kv2-capabilities .kv2-heading {
    font-size: 23px;
  }

  .kv2-capability-summary {
    min-height: 49px;
    grid-template-columns: 32px minmax(0, 1fr) 14px;
    padding: 5px 8px;
    font-size: 10px;
  }

  .kv2-capability-summary img {
    width: 30px;
    height: 30px;
  }

  .kv2-capability-item > p {
    padding: 0 9px 8px 49px;
    font-size: 9px;
  }

  .kv2-final .kv2-voice {
    min-height: 356px;
    grid-template-columns: 1fr;
    grid-template-rows: 190px 1fr;
    padding: 8px 14px 16px;
  }

  .kv2-voice-copy {
    grid-column: 1;
    grid-row: 2;
    text-align: center;
  }

  .kv2-voice-copy .kv2-heading {
    font-size: 23px;
  }

  .kv2-voice-copy > p {
    display: none;
  }

  .kv2-final .kv2-voice-mascot {
    top: -12px;
    bottom: auto;
    left: 50%;
    width: 210px;
    height: 210px;
    transform: translateX(-50%);
  }

  .kv2-voice-icon {
    top: 112px;
    bottom: auto;
    left: calc(50% + 42px);
    width: 54px;
    height: 54px;
  }

  .kv2-pricing-teaser,
  .kv2-faq-teaser {
    min-height: 166px;
    padding: 8px 6px 10px;
    text-align: center;
  }

  .kv2-pricing-teaser .kv2-eyebrow,
  .kv2-faq-teaser .kv2-eyebrow {
    display: none;
  }

  .kv2-teaser-icon {
    display: none;
  }

  .kv2-teaser-mascot {
    position: static;
    width: 76px;
    height: 76px;
    margin: 0 auto;
  }

  .kv2-footer-grid {
    display: flex;
    flex-direction: column;
  }

  .kv2-footer-brand {
    display: grid;
    justify-items: center;
  }
}
/* Pixel-reference cascade fixes. */
html {
  scroll-behavior: auto;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: -80px;
  left: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--kuzya-navy-deep);
  color: #fff;
}

.skip-link:focus {
  top: 12px;
}

.kv2-site .kv2-hero-background,
.kv2-site .kv2-hero-paws,
.kv2-site .kv2-workflow-mascot,
.kv2-site .kv2-workflow-line,
.kv2-site .kv2-footer-mascot {
  display: none;
}

.kv2-hero-visual .kv2-hero-blob {
  position: absolute;
  z-index: 0;
  top: -24px;
  right: -4px;
  width: 680px;
  height: 510px;
  object-fit: contain;
  opacity: .52;
  pointer-events: none;
}

.kv2-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.kv2-site .kv2-eyebrow-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

.kv2-workflow-grid {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.kv2-menu-line {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.kv2-menu-toggle {
  align-content: center;
  gap: 4px;
}

.kv2-device-left {
  transform: translateY(14px) scale(.95);
}

.kv2-device-center {
  transform: translateY(0);
}

.kv2-device-right {
  transform: translateY(9px) scale(.97);
}

@media (min-width: 701px) and (max-width: 1100px) {
  .kv2-brand {
    width: 190px;
    flex-basis: 190px;
  }

  .kv2-brand-image {
    width: 180px;
  }

  .kv2-nav-links {
    gap: 10px;
  }

  .kv2-nav-link {
    font-size: 11px !important;
  }
}

@media (max-width: 700px) {
  .kv2-site .kv2-hero-blob,
  .kv2-site .kv2-role-mascot,
  .kv2-site .kv2-mobile-copy > .kv2-mobile-mascot,
  .kv2-site .kv2-demo-mascot,
  .kv2-site .kv2-onboarding-mascot,
  .kv2-site .kv2-teaser-icon {
    display: none;
  }

  .kv2-mobile-nav .kv2-mobile-nav-cta {
    border: 1px solid var(--kuzya-orange-strong);
    background: var(--kuzya-orange-strong);
    color: #fff;
    text-align: center;
  }
}
/* Pixel-reference geometry pass 2. */
@media (min-width: 701px) {
  .kv2-hero-copy {
    transform: translateY(-30px);
  }

  .kv2-hero-visual {
    transform: translateY(-8px);
  }

  .kv2-onboarding {
    min-height: 0;
    padding-block: 8px;
  }

  .kv2-onboarding > .kv2-container {
    min-height: 0;
    gap: 8px 22px;
    padding: 12px 28px 14px;
  }

  .kv2-platform-card {
    padding: 14px 10px 10px;
  }

  .kv2-platform-card p {
    margin: 4px 0 8px !important;
  }

  .kv2-footer {
    min-height: 0;
    padding: 12px 0 8px;
  }

  .kv2-footer-grid {
    gap: 18px;
  }

  .kv2-footer .kv2-brand-image {
    width: 228px;
  }

  .kv2-footer-column h2 {
    margin-bottom: 4px !important;
    font-size: 9px;
  }

  .kv2-footer ul {
    gap: 2px;
  }

  .kv2-footer .kv2-footer-link {
    padding: 0;
    font-size: 7px;
    line-height: 1.15;
  }

  .kv2-footer-bottom {
    min-height: 20px;
    margin-top: 4px;
    font-size: 7px;
  }

  .kv2-footer-socials {
    gap: 5px;
    margin-top: 0;
  }

  .kv2-footer-socials a {
    width: 20px;
    height: 20px;
  }

  .kv2-footer-socials img {
    width: 12px;
    height: 12px;
  }
}

@media (max-width: 700px) {
  body {
    padding: 56px 38px 87px 26px;
  }

  .kv2-hero {
    height: 878px;
    min-height: 878px;
    padding: 0;
  }

  .kv2-hero-layout {
    height: 610px;
    min-height: 610px;
  }

  .kv2-display {
    max-width: 230px;
  }

  .kv2-proof-grid {
    height: 207px;
    min-height: 207px;
    gap: 7px;
    padding: 8px 0 9px;
  }

  .kv2-proof-card {
    height: auto;
    min-height: 90px;
    gap: 5px;
    padding: 6px 4px;
  }

  .kv2-proof-card img {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .kv2-proof-copy span {
    display: none;
  }

  .kv2-roles {
    height: 580px;
    min-height: 580px;
  }

  .kv2-roles > .kv2-container {
    height: 566px;
    min-height: 566px;
    overflow: hidden;
  }

  .kv2-role-panels,
  .kv2-role-panel {
    min-height: 386px;
  }

  .kv2-role-panel-copy {
    display: none;
  }

  .kv2-workflow {
    height: 244px;
    min-height: 244px;
  }

  .kv2-workflow > .kv2-container {
    min-height: 230px;
  }

  .kv2-mobile {
    height: 451px;
    min-height: 451px;
  }

  .kv2-mobile-layout {
    min-height: 437px;
  }

  .kv2-mobile-devices {
    padding-bottom: 31px;
  }

  .kv2-demo {
    height: 312px;
    min-height: 312px;
  }

  .kv2-demo-layout {
    min-height: 298px;
  }

  .kv2-demo-browser {
    height: 154px;
  }

  .kv2-onboarding {
    height: 280px;
    min-height: 280px;
  }

  .kv2-onboarding > .kv2-container {
    height: 266px;
    min-height: 266px;
    grid-template-rows: 58px 58px 128px;
    gap: 6px;
    overflow: hidden;
    padding: 5px 6px;
  }

  .kv2-onboarding > .kv2-container > .kv2-section-heading {
    height: 58px;
    overflow: hidden;
  }

  .kv2-onboarding > .kv2-container > .kv2-section-heading .kv2-heading {
    font-size: 19px;
  }

  .kv2-onboarding-grid {
    height: 58px;
  }

  .kv2-onboarding-step {
    height: 58px;
    min-height: 58px;
  }

  .kv2-platform-grid,
  .kv2-platform-card {
    height: 128px;
    min-height: 128px;
  }

  .kv2-platform-card {
    padding: 7px 2px 6px;
  }

  .kv2-platform-card > img {
    width: 32px;
    height: 32px;
  }

  .kv2-platform-card h3 {
    margin-top: 3px !important;
    font-size: 9px;
  }

  .kv2-platform-card :where(a, button) {
    min-height: 27px;
    padding-inline: 4px;
    font-size: 7px;
  }

  .kv2-capabilities {
    height: 615px;
    min-height: 615px;
  }

  .kv2-capabilities > .kv2-container {
    min-height: 601px;
  }

  .kv2-final {
    height: 538px;
    min-height: 538px;
    overflow: hidden;
  }

  .kv2-final > .kv2-container {
    height: 521px;
  }

  .kv2-final .kv2-voice {
    height: 336px;
    min-height: 336px;
  }

  .kv2-teaser-grid {
    height: 185px;
    min-height: 185px;
  }

  .kv2-pricing-teaser,
  .kv2-faq-teaser {
    min-height: 171px;
  }

  .kv2-footer {
    height: 256px;
    min-height: 256px;
  }
}
/* Pixel-reference visual pass 3. */
@media (max-width: 700px) {
  .kv2-nav-actions {
    display: flex;
    margin-left: auto;
  }

  .kv2-nav-actions .kv2-nav-cta {
    display: none;
  }

  .kv2-brand {
    width: 158px;
    flex-basis: 158px;
  }

  .kv2-brand-image {
    width: 155px;
  }

  .kv2-hero-visual {
    overflow: hidden;
  }

  .kv2-hero-mascot {
    top: -15px;
    width: 270px;
    height: 340px;
  }

  .kv2-hero-copy {
    transform: translateY(-32px);
  }

  .kv2-hero-copy .kv2-eyebrow {
    display: none;
  }

  .kv2-lead {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .kv2-hero-actions {
    max-width: 256px;
    margin-top: 21px;
  }

  .kv2-roles .kv2-heading-accent {
    color: inherit;
  }

  .kv2-role-panel-copy {
    display: block;
    margin-top: 3px;
    text-align: center;
  }

  .kv2-role-panel-copy .kv2-card-title,
  .kv2-role-panel-copy .kv2-card-copy,
  .kv2-role-panel-copy ul {
    display: none;
  }

  .kv2-role-panel-copy .kv2-role-link {
    display: inline-flex;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--kuzya-orange-strong);
    font-size: 9px;
  }

  .kv2-mobile-copy {
    position: static;
  }

  .kv2-mobile-actions {
    z-index: 5;
    bottom: 8px;
  }

  .kv2-mobile-actions .kv2-button,
  .kv2-mobile-actions .kv2-button-primary,
  .kv2-mobile-actions .kv2-button-secondary {
    border: 1px solid var(--kuzya-line);
    background: #fff;
    color: var(--kuzya-navy-deep);
    box-shadow: none;
  }

  .kv2-demo-copy .kv2-eyebrow {
    display: block;
    color: var(--kuzya-navy-deep);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.02em;
    text-align: center;
    text-transform: none;
  }

  .kv2-demo-copy .kv2-heading {
    display: none;
  }

  .kv2-demo-frame {
    width: 900px;
    height: 500px;
    transform: scale(.34);
    transform-origin: 0 0;
  }

  .kv2-final .kv2-voice {
    position: relative;
    display: block;
    padding: 18px 12px;
  }

  .kv2-final .kv2-voice::after {
    position: absolute;
    bottom: 35px;
    left: 12px;
    width: 145px;
    height: 42px;
    background: url("../images/kuzya-concept-v2/decorative/contour-line.svg") center / contain no-repeat;
    content: "";
  }

  .kv2-voice-copy {
    position: absolute;
    z-index: 3;
    top: 20px;
    left: 14px;
    width: 155px;
    text-align: left;
  }

  .kv2-voice-copy .kv2-eyebrow {
    display: block;
    color: var(--kuzya-navy-deep);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.05;
    text-transform: none;
  }

  .kv2-voice-copy .kv2-heading {
    display: none;
  }

  .kv2-final .kv2-voice-mascot {
    top: 62px;
    right: -6px;
    bottom: auto;
    left: auto;
    width: 175px;
    height: 230px;
    transform: none;
  }

  .kv2-voice-icon {
    z-index: 4;
    top: auto;
    right: 50px;
    bottom: 28px;
    left: auto;
    width: 50px;
    height: 50px;
  }

  .kv2-footer .kv2-brand {
    width: 240px;
  }

  .kv2-footer .kv2-brand-image {
    width: 235px;
  }

  .kv2-footer-bottom {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
  }

  .kv2-footer-socials {
    order: -1;
    gap: 8px;
    margin-top: 0;
  }

  .kv2-footer-socials a {
    width: 40px;
    height: 40px;
  }

  .kv2-footer-socials img {
    width: 21px;
    height: 21px;
  }
}
/* Static production demo preview. */
.kv2-site .kv2-demo-frame {
  display: none;
}

.kv2-demo-static {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
/* Pixel-reference micro-alignment pass 5. */
@media (max-width: 700px) {
  .kv2-role-panel {
    padding-top: 56px;
  }

  .kv2-patient-card {
    min-height: 318px;
  }

  .kv2-phone-shell {
    height: 235px;
  }

  .kv2-mobile-actions {
    bottom: 42px;
  }

  .kv2-demo-layout {
    padding: 8px 11px 12px;
  }

  .kv2-final .kv2-voice::after {
    bottom: 80px;
  }

  .kv2-voice-icon {
    bottom: 70px;
  }

  .kv2-final .kv2-voice-mascot {
    top: 48px;
    height: 215px;
  }

  .kv2-footer .kv2-brand {
    width: 220px;
    height: 70px;
    overflow: hidden;
  }

  .kv2-footer .kv2-brand-image {
    width: 300px;
    max-width: none;
    transform: translateX(-80px);
  }

  .kv2-footer-socials a {
    background: var(--kuzya-blue);
    color: #fff;
  }
}
/* Desktop reference height pass 6. */
@media (min-width: 701px) {
  .kv2-capabilities {
    min-height: 312px;
  }

  .kv2-capabilities > .kv2-container {
    min-height: 280px;
  }

  .kv2-final .kv2-voice {
    min-height: 208px;
  }

  .kv2-teaser-grid {
    min-height: 148px;
    padding: 7px 0 9px;
  }

  .kv2-footer {
    padding: 11px 0 8px;
  }

  .kv2-footer .kv2-brand-image {
    width: 170px;
  }

  .kv2-footer-column h2 {
    margin-bottom: 3px !important;
  }

  .kv2-footer ul {
    gap: 1px;
  }

  .kv2-footer li {
    min-height: 0;
    font-size: 7px;
    line-height: 1;
  }

  .kv2-footer-bottom {
    margin-top: 2px;
  }
}
/* Desktop exact-height correction. */
@media (min-width: 701px) {
  .kv2-capabilities > .kv2-container {
    padding: 12px 24px 15px;
  }

  .kv2-footer {
    padding-bottom: 19px;
  }
}
/* Desktop visual alignment pass 8. */
@media (min-width: 701px) {
  .kv2-hero-copy {
    transform: translateY(-42px);
  }

  .kv2-hero-copy .kv2-lead {
    margin-top: 58px !important;
  }

  .kv2-hero-copy .kv2-hero-actions {
    margin-top: 72px;
  }

  .kv2-hero-visual {
    transform: translate(-22px, 4px) scale(1.05);
    transform-origin: center;
  }

  .kv2-mobile-layout {
    grid-template-columns: 486px minmax(0, 1fr);
    gap: 20px;
  }

  .kv2-demo-layout {
    grid-template-columns: 387px minmax(0, 1fr);
  }

  .kv2-final .kv2-voice-mascot {
    left: 70px;
    bottom: -65px;
    width: 360px;
    height: 300px;
  }

  .kv2-capabilities {
    min-height: 309px;
  }

  .kv2-capabilities > .kv2-container {
    min-height: 277px;
  }

  .kv2-footer {
    padding-bottom: 6px;
  }

  .kv2-footer .kv2-brand-image {
    width: 240px;
  }
}
/* Desktop final vertical correction. */
@media (min-width: 701px) {
  .kv2-final {
    padding-top: 26px;
  }
}
/* Static hero product preview. */
.kv2-site .kv2-hero-browser iframe {
  display: none;
}

.kv2-hero-static {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
/* Accessible preserved copy. */
.kv2-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}