.ch-block--contact-form {
    position: relative;
    overflow: hidden;
    max-width: 980px;
    margin-inline: auto;
    padding: clamp(26px, 5vw, 56px);
    border: 1px solid color-mix(in srgb, var(--sh-cyan, #2de2ff) 24%, var(--sh-line, #263b49));
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--sh-purple, #7c5cff) 18%, transparent), transparent 34%),
        color-mix(in srgb, var(--sh-bg-card, #0d1727) 96%, transparent);
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
}
.ch-block--contact-form::after {
    content: "✦";
    position: absolute;
    right: 28px;
    top: 18px;
    color: color-mix(in srgb, var(--sh-cyan, #2de2ff) 28%, transparent);
    font-size: 64px;
    pointer-events: none;
}
.sh-contact-form__heading { max-width: 700px; margin-bottom: 28px; }
.sh-contact-form__kicker {
    margin: 0 0 8px;
    color: var(--sh-cyan, #2de2ff);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sh-contact-form__heading h2 { margin: 0 0 10px; font-size: clamp(2rem, 5vw, 3.2rem); }
.sh-contact-form__heading p:last-child { margin: 0; color: var(--sh-text-soft, #9fb0c7); line-height: 1.7; }
.sh-contact-form { display: grid; gap: 18px; }
.sh-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sh-contact-field { display: grid; gap: 8px; }
.sh-contact-field span { font-size: 13px; font-weight: 800; }
.sh-contact-field input,.sh-contact-field textarea {
    width: 100%;
    border: 1px solid var(--sh-line-strong, #33445d);
    border-radius: 12px;
    padding: 13px 14px;
    background: color-mix(in srgb, var(--sh-bg, #07101f) 78%, transparent);
    color: var(--sh-text, #f2f6ff);
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.sh-contact-field textarea { resize: vertical; min-height: 170px; line-height: 1.6; }
.sh-contact-field input:focus,.sh-contact-field textarea:focus {
    outline: none;
    border-color: var(--sh-cyan, #2de2ff);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--sh-cyan, #2de2ff) 16%, transparent);
}
.sh-contact-check { display: flex; align-items: flex-start; gap: 10px; color: var(--sh-text-soft, #9fb0c7); font-size: 13px; line-height: 1.55; }
.sh-contact-check input { margin-top: 3px; accent-color: var(--sh-cyan, #2de2ff); }
.sh-contact-check a { color: var(--sh-cyan, #2de2ff); }
.sh-contact-submit {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border: 0;
    border-radius: 12px;
    padding: 14px 20px;
    background: linear-gradient(135deg, var(--sh-cyan, #2de2ff), #72f0ff);
    color: #06101d;
    font: inherit;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 12px 32px rgba(45,226,255,.18);
}
.sh-contact-submit:hover { transform: translateY(-1px); }
.sh-contact-alert { padding: 13px 16px; border-radius: 12px; font-weight: 700; }
.sh-contact-alert.is-success { border: 1px solid rgba(66,217,156,.45); background: rgba(66,217,156,.12); color: #72efb8; }
.sh-contact-alert.is-error { border: 1px solid rgba(255,98,124,.45); background: rgba(255,98,124,.12); color: #ff9aad; }
.sh-contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 700px) {
    .sh-contact-grid { grid-template-columns: 1fr; }
    .ch-block--contact-form { padding: 24px 18px; border-radius: 18px; }
    .sh-contact-submit { width: 100%; justify-content: center; }
}
