@layer components {

.kn-lead { max-width: 800px; margin: 32px auto; padding: 0 16px; }
.kn-lead__inner { background: var(--bg-card); border: 2px solid var(--border-strong); border-radius: 0; padding: 24px 20px; }
.kn-lead__inner:focus-within { border-color: var(--accent-ink); }
.kn-lead__title { margin-bottom: 12px; }
.kn-lead__text { max-width: var(--measure); font-size: 0.9375rem; line-height: 1.6; color: var(--text-secondary); margin-bottom: 20px; }
.kn-lead__notice { max-width: 640px; font-size: 0.8125rem; line-height: 1.5; color: var(--text-primary); background: var(--surface-subtle); border: 0.5px solid var(--border); border-radius: var(--r-card); padding: 10px 12px; margin-bottom: 16px; }
.kn-lead__notice--success { border-color: var(--border-accent); background: var(--accent-light); }
.kn-lead__notice--error { border-color: var(--color-error); }
.kn-lead__form { max-width: 760px; }
.kn-form-captcha:empty { display: none; }
.kn-lead__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kn-lead__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.kn-lead__label { font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); }
.kn-lead__input, .kn-lead__textarea { width: 100%; font-family: inherit; font-size: 0.875rem; color: var(--text-primary); background: #FFFFFF; border: 2px solid var(--border-strong); border-radius: 0; padding: 8px 12px; }
.kn-lead__input::placeholder, .kn-lead__textarea::placeholder { color: var(--text-muted); }
.kn-lead__input:focus, .kn-lead__textarea:focus { outline: none; border-color: var(--accent-ink); }
.kn-lead__textarea { resize: vertical; min-height: 96px; }
.kn-lead__consent { display: flex; gap: 10px; align-items: flex-start; max-width: var(--measure); font-size: 0.8125rem; line-height: 1.55; color: var(--text-secondary); margin: 4px 0 20px; cursor: pointer; }
.kn-lead__checkbox { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--accent-ink); cursor: pointer; }
.kn-lead__consent a { color: var(--text-primary); text-underline-offset: 2px; }
.kn-lead__submit { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 12px 22px; border-radius: 0; background: var(--border-strong); color: #FFFFFF; border: 2px solid var(--border-strong); cursor: pointer; }
.kn-lead__submit:hover { background: var(--accent-ink); border-color: var(--accent-ink); }
.kn-lead__status { max-width: var(--measure); margin: 10px 0 0; font-size: 0.8125rem; line-height: 1.5; color: var(--text-secondary); }
.kn-lead__status:empty { display: none; }
.kn-lead__status.is-success { color: var(--text-primary); background: var(--accent-light); border: 0.5px solid var(--border-accent); border-radius: var(--r-card); padding: 10px 12px; }
.kn-lead__status.is-error { color: var(--text-primary); border: 0.5px solid var(--color-error); border-radius: var(--r-card); padding: 10px 12px; }
.kn-lead__note { max-width: var(--measure-narrow); font-size: 0.8125rem; line-height: 1.55; color: var(--text-muted); margin: 12px 0 0; }
.kn-lead__alt { font-size: 0.9375rem; line-height: 1.6; color: var(--text-secondary); margin: 20px 0 12px; }
.kn-lead__direct { font-size: 0.9375rem; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.kn-lead__tg { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
.kn-lead__tg:hover { text-decoration: underline; text-underline-offset: 2px; }
.kn-lead__mail { color: var(--text-primary); font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
  .kn-lead__inner { transition: none; }
}

@media (max-width: 900px) {
  .kn-lead { margin: 24px auto; padding: 0 16px; }
  .kn-lead__inner { padding: 20px 16px; }
  .kn-lead__row { grid-template-columns: 1fr; }
  .kn-lead__submit { width: 100%; }
}

}
