.cu {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 22px;
    width: min(100% - 24px, var(--nic-container));
    margin: 22px auto 40px;
    align-items: start;
}

.cu-kicker {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #5c6b88;
}

.cu-main h1 {
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 3.4rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.02;
}

.cu-main h1 span { color: var(--nic-orange); }
.cu-main h1 span::after {
    content: "";
    display: block;
    width: 72px;
    height: 4px;
    margin-top: 10px;
    border-radius: 4px;
    background: var(--nic-orange);
}

.cu-lead { max-width: 640px; margin: 14px 0 0; color: var(--nic-muted); }

.cu-form { margin-top: 22px; }
.cu-form fieldset { margin: 0; padding: 0; border: 0; }
.cu-form legend { margin-bottom: 10px; color: var(--nic-navy); font-size: 1.05rem; font-weight: 800; }

.cu-audiences {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cu-audience {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-height: 148px;
    margin: 0;
    padding: 16px 14px;
    border: 1.5px solid #e3ebf5;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
}

.cu-audience input { position: absolute; opacity: 0; }
.cu-audience i {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 16px;
}
.cu-audience.is-blue i { background: #e8f1ff; color: #2f6fd0; }
.cu-audience.is-orange i { background: #fff1e6; color: var(--nic-orange); }
.cu-audience.is-green i { background: #e7f8ee; color: #1f9d55; }
.cu-audience strong { color: var(--nic-navy); font-size: 15px; }
.cu-audience small { color: var(--nic-muted); font-size: 13px; line-height: 1.35; }
.cu-go {
    position: absolute;
    right: 12px;
    bottom: 12px;
    color: #9aa8be;
}
.cu-audience:has(input:checked).is-blue { border-color: #2f6fd0; box-shadow: 0 0 0 3px rgba(47, 111, 208, .12); }
.cu-audience:has(input:checked).is-orange { border-color: var(--nic-orange); box-shadow: 0 0 0 3px rgba(244, 106, 10, .12); }
.cu-audience:has(input:checked).is-green { border-color: #1f9d55; box-shadow: 0 0 0 3px rgba(31, 157, 85, .12); }
.cu-audience:has(input:checked) .cu-go { color: var(--nic-orange); }

.cu-card,
.cu-touch,
.cu-faq,
.cu-success {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid #e6edf6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 36px -28px rgba(11, 31, 92, .65);
}

.cu-card h2,
.cu-touch h2,
.cu-faq h2,
.cu-success h2 { margin: 0; font-size: 1.25rem; }
.cu-card > p,
.cu-touch-lead { margin: 4px 0 14px; color: var(--nic-muted); font-size: 14px; }

.cu-field {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 4px 12px;
    align-items: center;
    margin-bottom: 12px;
}
.cu-field label { margin: 0; color: #31415f; font-size: 14px; font-weight: 700; }
.cu abbr { color: var(--nic-orange); text-decoration: none; }
.cu input,
.cu select,
.cu textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #d7e1ee;
    border-radius: 10px;
    background: #fff;
    color: var(--nic-ink);
    font: inherit;
    font-size: 14.5px;
}
.cu textarea { min-height: 110px; resize: vertical; }
.cu input:focus,
.cu select:focus,
.cu textarea:focus { outline: none; border-color: var(--nic-orange); box-shadow: 0 0 0 3px rgba(244, 106, 10, .14); }
.cu .field-validation-error { grid-column: 2; color: #c4321a; font-size: 12.5px; font-weight: 600; }
.cu .field-validation-error:empty,
.cu .field-validation-valid { display: none; }
.cu-count { grid-column: 2; justify-self: end; color: #8b95a8; font-size: 12px; }

.cu-phone { display: flex; align-items: center; border: 1px solid #d7e1ee; border-radius: 10px; overflow: hidden; background: #fff; }
.cu-phone span { padding: 0 12px; border-right: 1px solid #d7e1ee; background: #f7f9fc; color: var(--nic-navy); font-weight: 800; }
.cu-phone input { border: 0; box-shadow: none; }
.cu-phone:focus-within { border-color: var(--nic-orange); box-shadow: 0 0 0 3px rgba(244, 106, 10, .14); }

.cu-actions { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.cu-actions p { margin: 0; color: #5f6e88; font-size: 13px; }
.cu-actions p i { margin-right: 6px; color: #1f9d55; }
.cu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    background: var(--nic-orange);
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.cu-btn:hover { background: var(--nic-orange-600); color: #fff; }

.cu-alert {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #f3c2b8;
    border-radius: 10px;
    background: #fff4f1;
    color: #9f2c18;
    font-weight: 600;
}
.cu-alert ul { margin: 0; padding-left: 1.1rem; }

.cu-success { display: flex; gap: 14px; align-items: flex-start; }
.cu-success > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #e7f8ee;
    color: #1f9d55;
    font-size: 18px;
}
.cu-success p { margin: 6px 0 12px; color: var(--nic-muted); }

.cu-photo {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    min-height: 250px;
}
.cu-photo img { display: block; width: 100%; height: 280px; object-fit: cover; object-position: 50% 30%; }
.cu-sky, .cu-note {
    position: absolute;
    margin: 0;
    color: #12306a;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
}
.cu-sky { top: 12px; right: 14px; font-size: 1.35rem; text-align: right; }
.cu-note { right: 16px; bottom: 16px; font-size: 1.2rem; text-align: right; }

.cu-touch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cu-touch article { display: flex; gap: 10px; align-items: flex-start; }
.cu-touch article > i {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 15px;
}
.cu-touch .is-orange { background: #fff1e6; color: var(--nic-orange); }
.cu-touch .is-amber { background: #fff6df; color: #e0a100; }
.cu-touch .is-blue { background: #e8f1ff; color: #2f6fd0; }
.cu-touch .is-green { background: #e7f8ee; color: #1f9d55; }
.cu-touch h3 { margin: 0; font-size: 14px; }
.cu-touch a,
.cu-touch strong { color: var(--nic-navy); font-weight: 800; text-decoration: none; }
.cu-touch small { display: block; color: var(--nic-muted); font-size: 12.5px; }

.cu-office {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #eef2f7;
}
.cu-office > i { color: #2f6fd0; margin-top: 4px; }
.cu-office h3 { margin: 0 0 4px; font-size: 14px; }
.cu-office p { margin: 0; color: #4d5876; font-size: 13.5px; }
.cu-dir {
    align-self: start;
    padding: 8px 10px;
    border: 1px solid #d7e1ee;
    border-radius: 8px;
    color: var(--nic-navy);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.cu-office iframe {
    grid-column: 1 / -1;
    width: 100%;
    height: 120px;
    border: 0;
    border-radius: 12px;
}

.cu-faq { display: flex; align-items: center; gap: 12px; }
.cu-faq > i {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e8f1ff;
    color: #2f6fd0;
    font-size: 18px;
}
.cu-faq h2 { font-size: 1.05rem; }
.cu-faq p { margin: 2px 0 0; color: var(--nic-muted); font-size: 13.5px; }
.cu-faq-btn {
    margin-left: auto;
    padding: 10px 14px;
    border: 1px solid #d7e1ee;
    border-radius: 10px;
    color: var(--nic-navy);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.cu-faq-btn:hover { border-color: var(--nic-navy); color: var(--nic-navy); }

@media (max-width: 980px) {
    .cu,
    .cu-audiences,
    .cu-touch-grid { grid-template-columns: 1fr; }
    .cu-field { grid-template-columns: 1fr; }
    .cu .field-validation-error,
    .cu-count { grid-column: 1; }
    .cu-actions { flex-direction: column; align-items: flex-start; }
    .cu-faq { flex-wrap: wrap; }
    .cu-faq-btn { margin-left: 0; }
}
