/* Homepage only: retain the original warm identity in both theme variants. */
.homepage {
  --home-ink: #2a221a;
  --home-muted: #5b5247;
  --home-border: #c8b69a;
  --home-control: #897453;
  --home-accent: #995020;
  --home-surface: #fffaf1;
  --home-surface-low: #f6ecd9;
  --home-focus: #32628b;
}
html.kz-theme-light .homepage {
  --home-border: #c6b8a4;
  --home-surface: #fffdf8;
  --home-surface-low: #f7f0e4;
}
html.kz-theme-light body.homepage,
html.kz-theme-light .homepage .kz-page {
  background: linear-gradient(180deg, #edf1f1 0, #f5f6f5 800px) !important;
}
.homepage .kz-page {
  --kz-coral: #a95824;
  --kz-coral-dark: #874119;
  --kz-graphite-3: #71634f;
}
.homepage :is(.kz-hero__content,.kz-explain,.kz-explain > div,.kz-explain__bullet > span:last-child,.kz-faq-grid > div,.kz-meter > div,.kz-symptom__label,.home-evidence__inner > div) {
  min-width: 0;
}
.homepage .kz-explain { grid-template-columns: minmax(0, 1fr); }
.homepage .kz-explain__bullet > span:last-child,
.homepage .kz-faq__btn > span:first-child { overflow-wrap: anywhere; }
.homepage .kz-symptoms { grid-template-columns: minmax(0, 1fr); }
.homepage .kz-test {
  border: 1px solid var(--home-border);
  background: linear-gradient(135deg, #fff9ec, #f7efdE);
}
.homepage .kz-symptom {
  border: 1px solid var(--home-border);
  background: linear-gradient(120deg, #fffdf9, #fcf7ef);
  box-shadow: none;
}
.homepage .kz-symptom__label { line-height: 1.45; }
.homepage .kz-symptom__check {
  width: 24px; height: 24px; flex-basis: 24px;
  border: 2px solid var(--home-control);
  background: #fffdf9;
}
.homepage .kz-symptom:has(input:checked) {
  border-color: var(--home-accent);
  background: #f4e5cf;
}
.homepage .kz-symptom input:checked ~ .kz-symptom__check {
  border-color: var(--home-accent); background: var(--home-accent);
}
.homepage .kz-symptom:focus-within {
  outline: 3px solid var(--home-focus); outline-offset: 3px;
}
.homepage .kz-symptom:hover { border-color: var(--home-control); transform: none; }
.homepage :is(.kz-when__card,.kz-home__card,.kz-faq__item,.kz-final) {
  border: 1px solid var(--home-border);
}
.homepage .kz-faq__btn { gap: 16px; line-height: 1.5; }
.homepage .kz-faq__chev {
  width: 28px; height: 28px; flex: 0 0 28px;
  border: 1px solid var(--home-border);
  color: #674622; background: #f5e5cd;
}
.homepage .kz-faq__item[data-expanded="true"] .kz-faq__chev {
  color: #674622; background: #edd7b7;
}
.homepage .kz-explain__dot {
  color: #785125; border: 1px solid #c7aa80; background: #f4e5cf;
}
.homepage .kz-meter__hint-icon { color: var(--home-accent); }
.homepage .kz-meter__scale { gap: 8px; }
.homepage .kz-meter__scale .kz-range { color: #655643; }
.homepage .kz-meter__scale > div:nth-child(1) .kz-label { color: #3d713f; }
.homepage .kz-meter__scale > div:nth-child(2) .kz-label { color: #736017; }
.homepage .kz-meter__scale > div:nth-child(3) .kz-label { color: #8d4d13; }
.homepage .kz-meter__scale > div:nth-child(4) .kz-label { color: #9c3027; }
.homepage .kz-btn--coral { color: #fff; background: #a95824; box-shadow: none; }
.homepage .kz-btn--coral:hover { background: #874119; }
.homepage .kz-hero__campaign,
.homepage .kz-hero__start { min-height: 46px; display: inline-flex; align-items: center; }
.homepage :is(a,button):focus-visible {
  outline: 3px solid var(--home-focus); outline-offset: 3px;
}
.homepage .kz-faq__btn:focus-visible { outline-offset: -4px; }
.homepage :is(.kz-a11y-launch--floating,.kz-mobile-menu-toggle,#backToTop) {
  min-width: 44px; min-height: 44px;
}
.homepage .home-calculator-link { padding-top: 22px; }
.homepage .home-calculator-link p {
  margin: 0; color: var(--home-muted); line-height: 1.65;
}
.homepage :is(.home-calculator-link,.home-evidence) a {
  color: #764319; font-weight: 600; text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.homepage .home-evidence { padding-bottom: 48px; }
.homepage .home-evidence__inner {
  display: grid; gap: 30px; align-items: start;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid var(--home-border); border-radius: 24px;
  background: linear-gradient(120deg, var(--home-surface), var(--home-surface-low));
}
.homepage .home-evidence h2 { margin: 0; font-size: clamp(21px,2.3vw,28px); line-height: 1.3; }
.homepage .home-evidence h3 { margin: 0; font-size: 18px; line-height: 1.4; }
.homepage .home-evidence p { margin: 12px 0; color: var(--home-muted); line-height: 1.65; }
.homepage .home-evidence a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }

/* Replace the homepage's light-theme overrides, not other portal pages. */
html.kz-theme-light .homepage .kz-hero {
  background: transparent !important; box-shadow: none !important;
}
html.kz-theme-light .homepage .kz-test {
  border: 1px solid var(--home-border) !important;
  background: linear-gradient(135deg, var(--home-surface), var(--home-surface-low)) !important;
}
html.kz-theme-light .homepage .kz-symptom {
  border: 1px solid var(--home-border) !important;
  background: #fffdf9 !important; box-shadow: none !important;
}
html.kz-theme-light .homepage .kz-symptom:hover { border-color: var(--home-control) !important; }
html.kz-theme-light .homepage .kz-symptom:has(input:checked) {
  border-color: var(--home-accent) !important; background: #f4e5cf !important;
}
html.kz-theme-light .homepage .kz-symptom__check {
  border-color: var(--home-control) !important; background: #fffdf9 !important;
}
html.kz-theme-light .homepage .kz-symptom:has(input:checked) .kz-symptom__check {
  border-color: var(--home-accent) !important; background: var(--home-accent) !important;
}
html.kz-theme-light .homepage .kz-meter {
  padding: 0; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
html.kz-theme-light .homepage .kz-meter :is(h2,h3,strong,p,span) { color: var(--home-ink) !important; }
html.kz-theme-light .homepage .kz-meter .kz-btn { color: #fff !important; background: #a95824 !important; }
html.kz-theme-light .homepage .kz-meter .kz-btn span { color: #fff !important; }
html.kz-theme-light .homepage .kz-meter__hint {
  border: 1px solid var(--home-border) !important; background: #f5ecd9 !important;
}
html.kz-theme-light .homepage .kz-meter__hint-icon svg { color: var(--home-accent) !important; }
html.kz-theme-light .homepage .kz-explain {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
}
html.kz-theme-light .homepage .kz-when__card {
  border: 1px solid var(--home-border) !important;
  background: linear-gradient(140deg, #fffdf8, #f8f1e6) !important;
}
html.kz-theme-light .homepage .kz-when__card .kz-when__num {
  width: auto; margin: 0 0 10px; padding: 0;
  color: var(--home-accent) !important; background: transparent !important; box-shadow: none;
}
html.kz-theme-light .homepage .kz-home__card { border: 1px solid var(--home-border) !important; }
html.kz-theme-light .homepage .kz-faq {
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
html.kz-theme-light .homepage .kz-faq__item {
  border: 1px solid var(--home-border) !important;
  background: linear-gradient(120deg, #fffdf8, #f8f0e3) !important;
  box-shadow: none !important;
}
html.kz-theme-light .homepage .kz-faq__btn { background: transparent !important; }
html.kz-theme-light .homepage .kz-faq__chev {
  color: #674622 !important; background: #f5e5cd !important;
}
html.kz-theme-light .homepage .kz-faq__item[data-expanded="true"] .kz-faq__chev { background: #edd7b7 !important; }
html.kz-theme-light .homepage .kz-faq__panel-inner { background: transparent !important; }
html.kz-theme-light .homepage .kz-explain__dot { color: #785125 !important; }
html.kz-theme-light .homepage .kz-faq-intro a { color: #764319 !important; }
html.kz-theme-light .homepage .kz-final .kz-btn { color: #fff !important; background: #a95824 !important; }
html.kz-theme-light .homepage .kz-final .kz-btn span { color: #fff !important; }

@media (min-width:600px) {
  .homepage .kz-symptoms { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width:900px) {
  .homepage .kz-explain { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .homepage .home-evidence__inner { grid-template-columns: 1.15fr 1fr; }
}
@media (min-width:1000px) {
  .homepage .kz-symptoms { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .homepage .kz-hero__campaign { margin-top: 8px; white-space: normal; line-height: 1.4; }
  .homepage .kz-hero__media::before {
    background: linear-gradient(180deg, #f6e4cb 0%, rgba(246,228,203,0) 25%);
  }
}
@media (max-width:600px) {
  .homepage .kz-explain__bullet { gap: 12px; }
  .homepage .kz-faq__btn { padding: 18px 16px !important; gap: 12px; font-size: 15px; }
  .homepage .kz-faq__panel-inner { padding: 0 16px 20px; }
  .homepage .kz-symptom { padding: 14px 12px; gap: 10px; }
  .homepage .kz-meter__scale { font-size: 11px; gap: 6px; }
  .homepage .kz-section h2 { line-height: 1.3; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion:reduce) {
  .homepage :is(.kz-symptom,.kz-faq__panel,.kz-faq__chev,.kz-meter__bubble) { transition: none; }
}
