.contact-section {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    isolation: isolate;
    background: #02060e;
}

.contact-bg-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    background: #02060e;
    opacity: 1;
    filter: brightness(1.09) saturate(1.08);
    backface-visibility: hidden;
    pointer-events: none;
}

body.video-missing .contact-bg-video {
    display: none;
}

.contact-bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(2, 6, 14, 0.39), rgba(2, 6, 14, 0.08) 50%, rgba(2, 6, 14, 0.33));
    pointer-events: none;
}

.contact-section .contact-layout {
    position: relative;
    z-index: 2;
}

.contact-section .section-copy p {
    color: rgba(45, 102, 111, 0.98);
    font-weight: 800;
}

.contact-form {
    display: grid;
    gap: 18px;
    border-radius: var(--radius);
    padding: 28px;
}

.contact-form.glass-panel {
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.contact-form label span {
    display: block;
    margin-bottom: 8px;
    color: #024ba2;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

input,
textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(2, 6, 14, 0.62);
    color: var(--text);
    outline: 0;
    padding: 4px 16px;
    resize: vertical;
    transition: border-color 180ms ease, background 180ms ease;
}

.contact-form input,
.contact-form textarea {
    border-color: rgba(2, 75, 162, 0.72);
    border-width: 2px;
    background: transparent;
    box-shadow: none;
}

input:focus,
textarea:focus {
    border-color: var(--primary);
    background: rgba(7, 14, 28, 0.9);
}

.contact-form input:focus,
.contact-form textarea:focus {
    background: rgba(2, 6, 14, 0.12);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.42);
    opacity: 1;
    font-weight: 700;
}

.contact-form .contact-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.contact-form .contact-checkbox input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    padding: 0;
    border-color: rgba(2, 75, 162, 0.9);
    cursor: pointer;
    accent-color: #15f4d6;
}

.contact-form .contact-checkbox span {
    margin-bottom: 0;
    color: #024ba2;
    font-size: 0.84rem;
    line-height: 1.35;
    text-transform: none;
}

::placeholder {
    color: rgba(159, 176, 196, 0.58);
}

.form-button {
    width: 100%;
    border: 0;
    cursor: pointer;
}

.form-button:disabled {
    cursor: wait;
    opacity: 0.76;
}

.form-message {
    border: 1px solid rgba(105, 245, 189, 0.28);
    border-radius: var(--radius);
    background: rgba(105, 245, 189, 0.08);
    color: var(--text);
    padding: 14px 16px;
}

.form-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.footer {
    border-top: 1px solid var(--line);
    padding: 34px 0;
    color: var(--muted);
}