.kdk-form-block { padding-block: 3rem;
padding-inline: 1.25rem;
box-sizing: border-box;
}
.kdk-form {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.25rem 1.5rem;
max-width: 720px;
margin-inline: auto;  font-family: "Funnel Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
font-optical-sizing: auto;
}
.kdk-form *,
.kdk-form input,
.kdk-form textarea,
.kdk-form select,
.kdk-form button {
font-family: inherit;
}
.kdk-form__row {
grid-column: 1 / -1;
display: flex;
flex-direction: column;
gap: 0.4rem;
}
.kdk-form__row[style*="--kdk-form-w:50%"] { grid-column: span 1; }
@media (max-width: 640px) {
.kdk-form { grid-template-columns: 1fr; gap: 1rem; }
.kdk-form__row[style*="--kdk-form-w:50%"] { grid-column: 1 / -1; }
}
.kdk-form__label { font-size: 0.95rem; line-height: 1.3; }
.kdk-form__required { color: #9966FF; }
.kdk-form__input {
appearance: none;
background: transparent;
border: 0;
border-bottom: 1.5px solid currentColor;
border-radius: 0;
padding: 0.5rem 0;
font: inherit;
color: inherit;
width: 100%;
box-sizing: border-box;
transition: border-color 150ms;
}
.kdk-form__input:focus { outline: none; border-bottom-color: #9966FF; }
.kdk-form__input--select {
padding-right: 1.75rem;
background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
background-position: calc(100% - 14px) center, calc(100% - 8px) center;
background-size: 6px 6px, 6px 6px;
background-repeat: no-repeat;
}
textarea.kdk-form__input { resize: vertical; min-height: 5rem; }
.kdk-form__row--error .kdk-form__input { border-bottom-color: #9966FF; }
.kdk-form__error { color: #9966FF; font-size: 0.85rem; line-height: 1.3; min-height: 0; }
.kdk-form__row--error .kdk-form__error { min-height: 1.2em; }
.kdk-form__hp {
position: absolute !important;
width: 1px; height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
border: 0; padding: 0;
}
.kdk-form__row--submit {
grid-column: 1 / -1;
flex-direction: row;
justify-content: flex-start;
align-items: center;
gap: 1rem;
margin-top: 0.5rem;
}
.kdk-form__submit {
appearance: none;
background: #0A0A0A;
color: #fff;
border: 0;
border-radius: 999px;
padding: 0.75rem 2rem;
font: inherit;
font-weight: 600;
cursor: pointer;
transition: opacity 150ms, transform 150ms;
}
.kdk-form__submit:hover { opacity: 0.85; }
.kdk-form__submit.is-loading { opacity: 0.6; cursor: wait; }
.kdk-form__status { grid-column: 1 / -1; font-size: 0.95rem; }
.kdk-form__status--ok  { color: #1d7e3a; }
.kdk-form__status--err { color: #9966FF; }
.kdk-form__notice {
padding: 1rem;
background: rgba(0,0,0,0.05);
border-radius: 6px;
font-size: 0.95rem;
}
.kdk-form-placeholder { border: 2px dashed rgba(0,0,0,0.15); padding: 0; }