/* Kevin Solo public experience contract
   Loaded after page styles. It standardizes public typography, navigation,
   responsive behavior and touch targets without changing business logic. */

:root {
  --kv-display-home: 58px;
  --kv-display-feature: 64px;
  --kv-display-article: 56px;
  --kv-display-compact: 46px;
  --kv-public-max: 1410px;
  --kv-public-reading: 820px;
  --kv-public-gutter: 32px;
  --kv-public-ink: #24241f;
  --kv-public-muted: #6f6b63;
  --kv-public-green: #123f35;
  --kv-public-green-2: #245645;
  --kv-public-wine: #92283a;
  --kv-public-paper: #fffdf8;
  --kv-public-canvas: #f4ead6;
  --kv-public-line: rgba(35, 49, 42, 0.14);
  --kv-public-shadow: 0 20px 54px rgba(43, 37, 28, 0.09);
  --kv-public-radius: 20px;
  --kv-public-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --kv-public-display: "Songti SC", "STSong", "SimSun", serif;
}

html {
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) {
  max-width: 100%;
  overflow-x: clip;
  color: var(--kv-public-ink);
  font-family: var(--kv-public-sans);
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)),
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) *,
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) *::before,
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) *::after {
  box-sizing: border-box;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) img,
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) video,
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) canvas,
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) iframe {
  max-width: 100%;
}

[data-kv-title] {
  margin-top: 0;
  color: var(--kv-public-ink);
}

/* Public navigation: preserve each template's structure, unify behavior. */
[data-kv-nav] {
  width: 100%;
  max-width: 100%;
  padding-left: max(var(--kv-public-gutter), env(safe-area-inset-left));
  padding-right: max(var(--kv-public-gutter), env(safe-area-inset-right));
  color: var(--kv-public-ink);
  font-family: var(--kv-public-sans);
  letter-spacing: 0;
}

[data-kv-nav] a,
[data-kv-nav] button {
  min-width: 0;
  letter-spacing: 0;
  text-underline-offset: 4px;
}

[data-kv-nav] a:focus-visible,
[data-kv-nav] button:focus-visible,
body:not(.kv-admin) a:focus-visible,
body:not(.kv-admin) button:focus-visible,
body:not(.kv-admin) input:focus-visible,
body:not(.kv-admin) select:focus-visible,
body:not(.kv-admin) textarea:focus-visible {
  outline: 3px solid rgba(184, 137, 77, 0.42);
  outline-offset: 3px;
}

body:not(.kv-admin) .btn,
body:not(.kv-admin) [class*="btn-"] {
  min-height: 44px;
  letter-spacing: 0;
}

body:not(.kv-admin) p,
body:not(.kv-admin) li,
body:not(.kv-admin) dd,
body:not(.kv-admin) blockquote {
  letter-spacing: 0;
  text-wrap: pretty;
}

/* Homepage: keep the report sample beside the message without collision. */
.kv-home .hero-grid {
  align-items: start !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(460px, 0.82fr) !important;
  gap: 64px !important;
}

.kv-home .hero-copy,
.kv-home .hero-report-card {
  min-width: 0;
}

.kv-home .hero-title {
  margin-bottom: 32px !important;
}

.kv-home .hero-subtitle {
  max-width: 780px;
}

.kv-home .hero-stance {
  max-width: 780px;
}

.kv-home .hero-report-card {
  width: 100%;
  max-width: 610px;
  justify-self: end;
}

/* Product and assessment feature pages. */
.kv-knowledge [data-kv-title="feature"],
.kv-prompts [data-kv-title="feature"],
.kv-about [data-kv-title="feature"],
.kv-articles [data-kv-title="feature"],
.kv-diagnosis-sample [data-kv-title="feature"],
.kv-fuye [data-kv-title="feature"],
.kv-quiz [data-kv-title="feature"],
.kv-report [data-kv-title="feature"] {
  margin-bottom: 24px;
}

.kv-knowledge .knowledge-hero-copy,
.kv-prompts .hero-copy,
.kv-diagnosis-sample .diagnosis-hero-copy,
.kv-fuye .hero > *,
.kv-quiz .panel,
.kv-report .hero {
  min-width: 0;
}

.kv-prompts .hero-grid,
.kv-knowledge .knowledge-hero-grid,
.kv-diagnosis-sample .diagnosis-hero-grid {
  align-items: start;
}

/* Article system: predictable reading width and a quieter headline scale. */
body.kv-article > [data-kv-title="article"] {
  margin: 72px auto 32px;
}

.kv-article-category [data-kv-title="feature"],
.kv-articles [data-kv-title="feature"] {
  margin-bottom: 24px;
}

.kv-article article,
.kv-article .article-body,
.kv-article .article-content {
  overflow-wrap: break-word;
}

@media (max-width: 1240px) {
  :root {
    --kv-display-home: 52px;
    --kv-display-feature: 56px;
    --kv-display-article: 50px;
    --kv-display-compact: 42px;
    --kv-public-gutter: 28px;
  }

  .kv-home .hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr) !important;
    gap: 40px !important;
  }

  .kv-home .hero-report-card {
    max-width: 560px;
  }
}

@media (max-width: 980px) {
  :root {
    --kv-display-home: 54px;
    --kv-display-feature: 48px;
    --kv-display-article: 44px;
    --kv-display-compact: 38px;
    --kv-public-gutter: 24px;
  }

  [data-kv-nav] {
    min-height: 68px;
  }

  .kv-home .hero-grid,
.kv-prompts .hero-grid,
.kv-knowledge .knowledge-hero-grid,
.kv-diagnosis-sample .diagnosis-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kv-home .hero-grid {
    gap: 48px !important;
  }

  .kv-home .hero-report-card {
    max-width: 720px;
    justify-self: start;
  }

  body.kv-knowledge .page,
body.kv-diagnosis-sample .page,
body.kv-prompts > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: max(32px, env(safe-area-inset-left)) !important;
    padding-right: max(32px, env(safe-area-inset-right)) !important;
  }

  .kv-prompts .hero-card,
.kv-knowledge .knowledge-product-card,
.kv-diagnosis-sample .diagnosis-sample-card {
    width: 100%;
    max-width: 720px;
  }

  body.kv-article > [data-kv-title="article"] {
    margin-top: 56px;
  }
}

@media (max-width: 720px) {
  :root {
    --kv-display-home: 42px;
    --kv-display-feature: 40px;
    --kv-display-article: 36px;
    --kv-display-compact: 34px;
    --kv-public-gutter: 20px;
    --kv-public-radius: 16px;
  }

  [data-kv-nav] {
    min-height: 60px;
    padding-left: max(var(--kv-public-gutter), env(safe-area-inset-left));
    padding-right: max(var(--kv-public-gutter), env(safe-area-inset-right));
  }

  [data-kv-nav] a,
[data-kv-nav] button,
body:not(.kv-admin) .btn,
body:not(.kv-admin) [class*="btn-"] {
    min-height: 44px;
  }

  .kv-home .hero-grid {
    gap: 36px !important;
  }

  body.kv-knowledge .page,
body.kv-diagnosis-sample .page,
body.kv-prompts > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
  }

  .kv-site-nav[data-kv-nav="public"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-brand {
    min-height: 44px !important;
    justify-self: start;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    scrollbar-width: none;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links::-webkit-scrollbar {
    display: none;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links a {
    display: inline-flex !important;
    min-height: 44px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    white-space: nowrap !important;
  }

  .kv-knowledge [data-kv-title="feature"],
.kv-prompts [data-kv-title="feature"],
.kv-about [data-kv-title="feature"],
.kv-articles [data-kv-title="feature"],
.kv-diagnosis-sample [data-kv-title="feature"],
.kv-fuye [data-kv-title="feature"],
.kv-quiz [data-kv-title="feature"],
.kv-report [data-kv-title="feature"] {
    margin-bottom: 20px !important;
  }.kv-home .hero-title {
    margin-bottom: 20px !important;
  }

  .kv-home .hero-actions,
.kv-knowledge .btn-row,
.kv-prompts .hero-actions,
.kv-diagnosis-sample .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .kv-home .hero-actions > *,
.kv-knowledge .btn-row > *,
.kv-prompts .hero-actions > *,
.kv-diagnosis-sample .hero-actions > * {
    width: 100%;
    justify-content: center;
  }

  body.kv-article > [data-kv-title="article"] {
    margin: 40px auto 24px;
  }
}

@media (max-width: 430px) {
  :root {
    --kv-display-home: 34px;
    --kv-display-feature: 34px;
    --kv-display-article: 32px;
    --kv-display-compact: 30px;
    --kv-public-gutter: 16px;
  }

  [data-kv-nav] {
    min-height: 56px;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links {
    gap: 7px !important;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links a {
    min-height: 40px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 14px !important;
  }

  body.kv-articles .kv-site-nav[data-kv-nav="public"] .kv-site-links a[href="/articles/"],
body.kv-article-category .kv-site-nav[data-kv-nav="public"] .kv-site-links a[href="/articles/"] {
    display: none !important;
  }

  .kv-home .hero-grid {
    gap: 28px !important;
  }

  .kv-home .hero-title {
    margin-bottom: 22px !important;
  }

  .kv-home .portrait-frame {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.kv-article > [data-kv-title="article"] {
    margin-top: 32px;
  }
}

@media (min-width: 721px) and (max-width: 900px) {
  body.kv-prompts .header {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.kv-prompts .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px 14px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.kv-prompts .logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.kv-prompts .header-cta {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin-left: 0 !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    white-space: nowrap !important;
  }

  body.kv-prompts .search-bar {
    order: 0 !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    flex-basis: auto !important;
    max-width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
  }

  body.kv-prompts .filters {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    padding-bottom: 12px !important;
  }

  body.kv-prompts .filters > span {
    display: none !important;
  }

  body.kv-prompts .filter-btn {
    flex: 0 1 auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 340px) {
  :root {
    --kv-display-home: 30px;
    --kv-display-feature: 30px;
    --kv-display-article: 29px;
    --kv-display-compact: 28px;
  }

  .kv-site-nav[data-kv-nav="public"] {
    gap: 6px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links {
    gap: 5px !important;
  }

  .kv-site-nav[data-kv-nav="public"] .kv-site-links a {
    min-height: 36px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: 12px !important;
  }
}

/* FULL-SITE EDITORIAL SYSTEM V3
   One semantic layer for reading width, surface hierarchy, contrast and states.
   Page-specific styles keep their own visual language; this layer only supplies
   shared contracts and removes the previous one-card-fits-all treatment. */

:root {
  --kv-page-max: 1180px;
  --kv-reading-max: 740px;
  --kv-body-size: 16px;
  --kv-body-leading: 1.75;
  --kv-text-title: #251f1a;
  --kv-text-body: #3d352d;
  --kv-text-muted: #655b50;
  --kv-text-link: #6f1f2c;
  --kv-text-visited: #63364f;
  --kv-on-dark-title: #fffaf2;
  --kv-on-dark-body: rgba(255, 250, 242, 0.86);
  --kv-on-dark-muted: rgba(255, 250, 242, 0.72);
  --kv-on-dark-link: #f2d7aa;
  --kv-radius-sm: 6px;
  --kv-radius-md: 12px;
  --kv-radius-lg: 18px;
  --kv-shadow-raised: 0 18px 48px rgba(52, 38, 25, 0.13);
  --kv-shadow-interactive: 0 10px 26px rgba(35, 27, 18, 0.12);
  --kv-border-subtle: rgba(60, 48, 37, 0.16);
  --kv-focus-ring: #8b2635;
  --kv-motion-fast: 160ms;
  --kv-motion-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --kv-section-space: clamp(64px, 7vw, 104px);
  --kv-breakpoint-tablet: 900px;
  --kv-breakpoint-mobile: 640px;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) {
  --kv-text-title: #251f1a;
  --kv-text-body: #3d352d;
  --kv-text-muted: #655b50;
  --kv-text-link: #6f1f2c;
  --kv-focus-ring: #8b2635;
  color: var(--kv-text-body);
  font-size: var(--kv-body-size);
  line-height: var(--kv-body-leading);
  background-attachment: scroll;
}

body[data-kevin-ui="v1"] {
  --kv-content: min(var(--kv-page-max), calc(100vw - 48px));
  --kv-reading: min(var(--kv-reading-max), calc(100vw - 40px));
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) [data-kv-title],
body[data-kevin-ui="v1"] :where(.kv-display-title, [data-kv-title]) {
  color: var(--kv-text-title) !important;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(.lead, .muted, [data-kv-muted]) {
  color: var(--kv-text-muted) !important;
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(p, li, dd, blockquote) {
  line-height: 1.82;
  text-wrap: pretty;
}

/* Editorial reading stays deliberately narrower than navigation and tools. */
body.kv-article .kv-editorial-reading,
body.kv-article-category-v1 .kv-editorial-reading {
  margin-inline: auto;
}
body.kv-article [data-kv-reading],
body.kv-question-v1 :where(.answer-main, .question-reading),
body.kv-question-index-v1 :where(.answer-main, .question-reading) {
  width: min(var(--kv-reading-max), calc(100vw - 40px));
  max-width: 100%;
  margin-inline: auto;
}

/* Dark surfaces redefine the semantic text contract once. */
:where(
  .kv-bplus-inverse,
  .kv-home-intro,
  .kv-home-final,
  .kv-routes__primary,
  .case-observation,
  .cases-final,
  .is-ai,
  .kt-author-note,
  .boundary-layout,
  .kevin-article-cta,
  .about-principle-card,
  .avatar-card,
  .deep-side,
  .locked-wechat-box,
  .kv-case-judgement,
  .knowledge-card-cover,
  body.kv-question-v1 .side,
  body.kv-question-index-v1 .side,
  body.kv-question-v1 .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta-block,
  body.kv-diagnosis-sample.kv-diagnosis-bplus .cta
) {
  --kv-text-title: var(--kv-on-dark-title);
  --kv-text-body: var(--kv-on-dark-body);
  --kv-text-muted: var(--kv-on-dark-muted);
  --kv-text-link: var(--kv-on-dark-link);
  --kv-focus-ring: #f2d7aa;
  color: var(--kv-on-dark-body);
}

:where(
  .kv-bplus-inverse,
  .kv-home-intro,
  .kv-home-final,
  .kv-routes__primary,
  .case-observation,
  .cases-final,
  .is-ai,
  .kt-author-note,
  .boundary-layout,
  .kevin-article-cta,
  .about-principle-card,
  .avatar-card,
  .deep-side,
  .locked-wechat-box,
  .kv-case-judgement,
  .knowledge-card-cover,
  body.kv-question-v1 .side,
  body.kv-question-index-v1 .side,
  body.kv-question-v1 .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta-block,
  body.kv-diagnosis-sample.kv-diagnosis-bplus .cta
) :where(h1, h2, h3, h4, [data-kv-title]) {
  color: var(--kv-on-dark-title) !important;
}

:where(
  .kv-bplus-inverse,
  .kv-home-intro,
  .kv-home-final,
  .kv-routes__primary,
  .case-observation,
  .cases-final,
  .is-ai,
  .kt-author-note,
  .boundary-layout,
  .kevin-article-cta,
  .about-principle-card,
  .avatar-card,
  .deep-side,
  .locked-wechat-box,
  .kv-case-judgement,
  .knowledge-card-cover,
  body.kv-question-v1 .side,
  body.kv-question-index-v1 .side,
  body.kv-question-v1 .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta-block,
  body.kv-diagnosis-sample.kv-diagnosis-bplus .cta
) :where(p, li, dd, blockquote) {
  color: var(--kv-on-dark-body) !important;
}

:where(
  .kv-bplus-inverse,
  .kv-home-intro,
  .kv-home-final,
  .kv-routes__primary,
  .case-observation,
  .cases-final,
  .is-ai,
  .kt-author-note,
  .boundary-layout,
  .kevin-article-cta,
  .about-principle-card,
  .avatar-card,
  .deep-side,
  .locked-wechat-box,
  .kv-case-judgement,
  .knowledge-card-cover,
  body.kv-question-v1 .side,
  body.kv-question-index-v1 .side,
  body.kv-question-v1 .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta-block,
  body.kv-diagnosis-sample.kv-diagnosis-bplus .cta
) :where(.lead, .muted, small, .case-boundary, [data-kv-muted]) {
  color: var(--kv-on-dark-muted) !important;
}

:where(
  .kv-bplus-inverse,
  .kv-home-intro,
  .kv-home-final,
  .kv-routes__primary,
  .case-observation,
  .cases-final,
  .is-ai,
  .kt-author-note,
  .boundary-layout,
  .kevin-article-cta,
  .about-principle-card,
  .avatar-card,
  .deep-side,
  .locked-wechat-box,
  .kv-case-judgement,
  .knowledge-card-cover,
  body.kv-question-v1 .side,
  body.kv-question-index-v1 .side,
  body.kv-question-v1 .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta,
  body.kv-fuye-entry.kv-conversion-v1 .page:not(#top) .cta-block,
  body.kv-diagnosis-sample.kv-diagnosis-bplus .cta
) a:not(.btn):not(.kv-button):not([class*="btn-"]) {
  color: var(--kv-on-dark-link);
}

.cases-final .cases-kicker,
.case-observation .case-observation__label,
body.kv-home-bplus .kv-home-intro .kv-home-kicker,
body.kv-home-bplus .kv-home-final .kv-home-kicker {
  color: var(--kv-on-dark-link) !important;
}

/* Focus must remain visible on both paper and deep-green surfaces. */
body:not(.kv-admin) :where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"]),
  [contenteditable="true"]
):focus-visible {
  outline: 3px solid var(--kv-focus-ring) !important;
  outline-offset: 3px !important;
}

body.kv-article .kv-editorial-reading a:not(.btn):not(.kv-button):visited,
body.kv-articles main a:not(.btn):not(.kv-button):not(.hub-action):visited,
body.kv-question-index-v1 main a:not(.btn):not(.kv-button):visited {
  color: var(--kv-text-visited);
}

body.kv-articles main .hub-action--primary:visited {
  color: #fff;
}

body.kv-articles main .hub-action--secondary:visited {
  color: #2a1f18;
}

/* Buttons are controls, not decorative pills. */
:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(
  .btn,
  .kv-button,
  .cta-btn,
  .kt-btn,
  [class*="btn-"]
) {
  min-height: 48px;
  border-radius: var(--kv-radius-md) !important;
  transition:
    transform var(--kv-motion-fast) var(--kv-motion-ease),
    box-shadow var(--kv-motion-fast) var(--kv-motion-ease),
    background-color var(--kv-motion-fast) var(--kv-motion-ease),
    border-color var(--kv-motion-fast) var(--kv-motion-ease);
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(
  .btn,
  .kv-button,
  .cta-btn,
  .kt-btn,
  [class*="btn-"]
):not(:disabled):not([aria-disabled="true"]):hover {
  transform: translateY(-1px);
}

:where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled,
  [aria-disabled="true"],
  .is-disabled
) {
  cursor: not-allowed !important;
  opacity: 0.56;
  transform: none !important;
  box-shadow: none !important;
  pointer-events: none;
}

/* Homepage: open editorial composition, one evidence object, no enclosing card. */
body.kv-home-v1 .kv-home-hero {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-inline: 0 !important;
}

body.kv-home-v1 :where(
  .kv-home-evidence > div,
  .kv-case-proof__timeline article,
  .kv-method-strip article,
  .kv-fit__columns article
) {
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.kv-home-v1 .kv-home-evidence {
  border-block-color: rgba(60, 48, 37, 0.22);
}

body.kv-home-v1 .kv-routes__quiet a {
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition:
    color var(--kv-motion-fast) var(--kv-motion-ease),
    background-color var(--kv-motion-fast) var(--kv-motion-ease);
}

body.kv-home-v1 .kv-routes__quiet a:hover {
  background: rgba(255, 250, 242, 0.48) !important;
}

/* Raised treatment is reserved for evidence or an actionable destination. */
body[data-kevin-ui="v1"] :where(.kv-dossier, .hero-report-card, .diagnosis-preview-card) {
  border-radius: var(--kv-radius-sm);
  box-shadow: var(--kv-shadow-raised);
}

body[data-kevin-ui="v1"] :where(.card, .panel, .price-card, .pain-card, .dossier-card, .final-box):not(a):not(button) {
  transition: none;
}

/* Page-family rhythm. */
body.kv-home-v1 :where(.kv-home-intro, .kv-method, .kv-fit, .kv-routes, .kv-home-final),
body.kv-about main > section,
body.kv-cases main > section {
  padding-block: var(--kv-section-space);
}

body.kv-question-v1 main {
  --kv-section-space: clamp(52px, 6vw, 82px);
}

body.kv-question-v1 .search-ai-byline {
  margin: 18px 0 0;
  color: var(--kv-text-muted);
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  overflow-wrap: anywhere;
}

body.kv-quiz :where(.panel, .side-card),
body.kv-report :where(.panel, .deep-side),
body.kv-knowledge :where(.knowledge-card, .knowledge-card-cover) {
  border-radius: var(--kv-radius-md);
}

@media (max-width: 900px) {
  :root {
    --kv-section-space: clamp(52px, 12vw, 72px);
  }

  body[data-kevin-ui="v1"] {
    --kv-content: min(var(--kv-page-max), calc(100vw - 32px));
    --kv-reading: min(var(--kv-reading-max), calc(100vw - 32px));
  }

  :where(body:not(.kv-admin):not(.kv-fuye-admin):not(.kv-prompts-admin)) :where(
    .btn,
    .kv-button,
    .cta-btn,
    .kt-btn,
    [class*="btn-"]
  ) {
    min-height: 48px;
  }
}

@media (max-width: 640px) {
  body[data-kevin-ui="v1"] {
    --kv-content: calc(100vw - 28px);
    --kv-reading: calc(100vw - 28px);
  }

  body.kv-home-v1 .kv-home-hero {
    padding-inline: 0 !important;
  }

  body.kv-home-v1 .kv-home-evidence > div {
    padding-inline: 0 !important;
  }

  body.kv-question-v1 .search-ai-byline {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.65;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(body:not(.kv-admin)) {
    scroll-behavior: auto !important;
  }

  body:not(.kv-admin),
body:not(.kv-admin) *,
body:not(.kv-admin) *::before,
body:not(.kv-admin) *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: scroll !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    will-change: auto !important;
  }

  body:not(.kv-admin) :where(
    a,
    button,
    .btn,
    .kv-button,
    .cta-btn,
    .kt-btn,
    [class*="btn-"],
    .card,
    .panel
  ):hover {
    transform: none !important;
  }
}

/* Wide homepage composition: one decision on the left, evidence on the right. */
@media (min-width: 1180px) {
  body.kv-home-bplus .kv-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(400px, 1fr);
    column-gap: clamp(56px, 5vw, 72px);
    align-items: center;
    padding-block: clamp(72px, 7vw, 96px);
  }

  body.kv-home-bplus .kv-home-hero__copy {
    max-width: 820px;
    margin-inline: 0;
    text-align: left;
  }

  body.kv-home-bplus .kv-home-hero__copy > .kv-home-kicker {
    justify-content: flex-start;
  }

  body.kv-home-bplus .kv-home-hero h1[data-kv-title="home"] {
    margin-top: clamp(26px, 2.8vw, 36px);
  }

  body.kv-home-bplus .kv-home-hero__lead {
    max-width: 720px;
    margin: clamp(24px, 2.4vw, 30px) 0 0;
  }

  body.kv-home-bplus .kv-home-hero__actions {
    justify-content: flex-start;
    margin-top: clamp(24px, 2.4vw, 30px);
  }

  body.kv-home-bplus .kv-home-evidence {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    align-self: stretch;
    margin-top: 0;
    border: 0 !important;
    border-left: 1px solid var(--kv-line) !important;
  }

  body.kv-home-bplus .kv-home-evidence > div,
body.kv-home-bplus .kv-home-evidence > div:first-child,
body.kv-home-bplus .kv-home-evidence > div:last-child {
    min-height: 0;
    padding: 24px 0 24px clamp(32px, 3vw, 44px);
    border-right: 0;
    border-bottom: 1px solid var(--kv-line);
  }

  body.kv-home-bplus .kv-home-evidence > div:last-child {
    border-bottom: 0;
  }
}

@media (min-width: 1600px) {
  body.kv-home-bplus[data-kevin-ui="v1"] {
    --kv-content: min(1360px, calc(100vw - 80px));
  }

  body[data-kevin-ui="v1"].kv-home-bplus :where(.kv-home-intro, .kv-fit, .kv-home-final) {
    padding-inline: max(40px, calc((100vw - 1360px) / 2));
  }
}
