.kc-main { padding: 126px 0 80px; background: linear-gradient(135deg,#f8f7ff,#fff 70%); }
.kc-back { display: inline-block; margin-bottom: 35px; color: #5143c4 !important; font-size: 14px; }
.kc-layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 65px; align-items: start; }
.kc-intro { padding-top: 20px; }
.kc-intro h1 { font-size: clamp(36px,4vw,56px); margin: 16px 0 24px; }
.kc-intro h1 em { color: var(--kl-primary); font-style: normal; }
.kc-intro > p { color: #536171; font-size: 17px; }
.kc-email { padding: 24px 0; border-top: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); margin: 28px 0; }
.kc-email span { display: block; font-size: 14px; margin-bottom: 6px; }
.kc-email a { color: #5143c4; font-size: clamp(17px,2vw,23px); font-weight: 700; overflow-wrap: anywhere; }
.kc-guide h2 { font-size: 21px; }
.kc-guide ul { padding-left: 20px; color: #536171; }
.kc-guide li { margin-bottom: 10px; }
.kc-card { background: white; padding: 36px; border: 1px solid var(--kl-line); border-radius: 20px; box-shadow: var(--kl-shadow); min-width: 0; }
.kc-card h2 { font-size: 29px; margin-bottom: 12px; }
.kc-card > p { color: #536171; font-size: 13px; }
.kc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; margin: 25px 0; }
.kc-field { min-width: 0; }
.kc-field--full { grid-column: 1 / -1; }
.kc-field label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.kc-input { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #bac2cf; background: #fff; border-radius: 8px; color: var(--kl-text); font: inherit; }
textarea.kc-input { resize: vertical; }
.kc-input:focus-visible, .kl-page a:focus-visible, .kl-page button:focus-visible { outline: 3px solid #6658dd; outline-offset: 3px; }
.kc-note { font-size: 13px !important; color: #536171; }
.kc-note a { text-decoration: underline; color: #5143c4; }
.kc-success,.kc-error { padding: 16px; border-radius: 9px; margin: 20px 0; }
.kc-success { color: #14523d; background: #e7f7ef; }
.kc-error { color: #8b2028; background: #fff0f1; }
.kc-field-errors { color: #9b202c; font-size: 13px; margin-top: 6px; }
.kc-field-errors ul,.kc-error ul { margin: 0; padding-left: 18px; }
@media(max-width: 950px) { .kc-layout { grid-template-columns: 1fr; gap: 26px; } .kc-intro { max-width: 640px; } }
@media(max-width: 550px) { .kc-card { padding: 24px 19px; } .kc-fields { grid-template-columns: 1fr; } .kc-main { padding-top: 106px; } }
