.cui-contact-light { display: flex; flex-direction: column; gap: 20px; margin: 0; color: #222; font-family: "Montserrat", sans-serif; }
.cui-contact-light, .cui-contact-light * { box-sizing: border-box; }
.cui-contact-light .cui-contact-light__title { margin: 0; font: inherit; font-size: 24px; font-weight: 700; line-height: 1.35; color: inherit; }
.cui-contact-light__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cui-contact-light__field { position: relative; min-width: 0; }
.cui-contact-light__field--wide { grid-column: 1 / -1; }
form.cui-contact-light .cui-contact-light__field input[type], form.cui-contact-light .cui-contact-light__field textarea { box-sizing: border-box; display: block; width: 100%; height: 56px; min-height: 56px; margin: 0; padding: 16px 14px; border: 1px solid #bdbdbd; border-radius: 8px; background: #fff; color: #222; box-shadow: none; font: inherit; font-size: 16px; line-height: 23px; appearance: none; }
form.cui-contact-light .cui-contact-light__field textarea { height: auto; min-height: 172px; resize: vertical; }
.cui-contact-light__field label { position: absolute; top: 16px; left: 10px; max-width: calc(100% - 24px); padding: 0 4px; margin: 0; background: #fff; color: #666; font-size: 16px; font-weight: 400; line-height: 23px; pointer-events: none; transition: top .15s, font-size .15s; }
.cui-contact-light__field :is(input, textarea):focus + label, .cui-contact-light__field :is(input, textarea):not(:placeholder-shown) + label { top: -9px; font-size: 12px; line-height: 18px; }
form.cui-contact-light .cui-contact-light__field :is(input[type], textarea):focus { border: 1px solid #2e338c; padding: 16px 14px; outline: 1px solid #2e338c; outline-offset: 0; box-shadow: none; }
form.cui-contact-light .cui-contact-light__field :is(input[type], textarea)[aria-invalid="true"] { border-color: #d32f2f; }
form.cui-contact-light .cui-contact-light__field :is(input[type], textarea)[aria-invalid="true"]:focus { outline-color: #d32f2f; }
.cui-contact-light__field :is(input, textarea):focus + label { color: #2e338c; }
.cui-contact-light__field [aria-invalid="true"] + label, .cui-contact-light__error { color: #d32f2f; }
.cui-contact-light__error { display: block; padding: 0 14px; font-size: 12px; line-height: 1.7; }
.cui-contact-light__error:empty { display: none; }
.cui-contact-light__result { padding: 12px 16px; border-radius: 8px; background: #edf7ed; color: #1e4620; }
.cui-contact-light__result[hidden] { display: none; }
.cui-contact-light__result.is-error { background: #fdeded; color: #5f2120; }
.cui-contact-light .cui-contact-light__submit { min-width: 180px; margin: 0; padding: 11px 24px; border: 0; border-radius: 999px; background: #2e338c; color: #fff; font: inherit; font-weight: 700; line-height: 26px; letter-spacing: normal; text-transform: none; cursor: pointer; }
.cui-contact-light .cui-contact-light__submit:hover { background: #202462; }
.cui-contact-light .cui-contact-light__submit:disabled { opacity: .55; cursor: wait; }
.cui-contact-light__submit:focus-visible { outline: 2px solid #2e338c; outline-offset: 3px; }
@media (max-width: 599px) { .cui-contact-light__grid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .cui-contact-light__field label { transition: none; } }
