.contact-page {
            background: var(--background);
        }

        .contact-main {
            flex: 1;
            min-height: 0;
            overflow: auto;
            padding: 22px 0 28px;
        }

        .contact-shell {
            max-width: 760px;
        }

        .contact-intro {
            margin-bottom: 16px;
        }

        .contact-intro .page-title {
            font-size: 30px;
            line-height: 1.12;
            margin: 0;
        }

        .contact-lead {
            color: var(--muted);
            font-size: 16px;
            line-height: 1.5;
            margin: 6px 0 0;
        }

        .contact-card {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 14px;
            box-shadow: var(--shadow);
            padding: 24px;
        }

        .contact-fields {
            display: grid;
            gap: 17px;
        }

        .contact-row {
            display: grid;
            gap: 18px;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .contact-field {
            min-width: 0;
        }

        .contact-field label {
            color: var(--heading);
            display: block;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 6px;
        }

        .contact-field input,
        .contact-field select,
        .contact-field textarea {
            background: #fff;
            border: 1px solid var(--border-strong);
            border-radius: 9px;
            box-sizing: border-box;
            color: var(--heading);
            font: inherit;
            margin: 0;
            outline: none;
            width: 100%;
        }

        .contact-field input,
        .contact-field select {
            min-height: 46px;
            padding: 10px 13px;
        }

        .contact-field textarea {
            display: block;
            line-height: 1.55;
            min-height: 200px;
            max-height: 320px;
            padding: 12px 13px;
            resize: vertical;
        }

        .contact-field input:hover,
        .contact-field select:hover,
        .contact-field textarea:hover {
            border-color: #9dafaa;
        }

        .contact-field input:focus,
        .contact-field select:focus,
        .contact-field textarea:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(85, 115, 88, .13);
        }

        .message-meta {
            color: var(--muted);
            font-size: 12px;
            line-height: 1.4;
            margin: 5px 0 0;
            text-align: right;
        }

        .contact-footer {
            align-items: center;
            border-top: 1px solid var(--border);
            display: flex;
            gap: 20px;
            justify-content: space-between;
            margin-top: 20px;
            padding-top: 18px;
        }

        .contact-privacy {
            color: var(--muted);
            font-size: 12px;
            line-height: 1.5;
            margin: 0;
        }

        .contact-privacy a {
            color: var(--primary);
            font-weight: 650;
        }

        .contact-submit {
            flex: none;
            min-width: 160px;
        }

        .contact-result {
            border-radius: 9px;
            font-size: 13px;
            line-height: 1.5;
            margin-bottom: 18px;
            padding: 11px 14px;
        }

        .contact-result-success {
            background: var(--success-soft);
            color: var(--success);
        }

        .contact-result-error {
            background: var(--danger-soft);
            color: var(--danger);
        }

        .contact-botcheck {
            display: none !important;
        }

        @media (max-width: 760px) {
            .contact-main {
                padding: 18px 0 24px;
            }

            .contact-shell {
                padding-left: 24px;
                padding-right: 24px;
            }

            .contact-intro .page-title {
                font-size: 25px;
            }

            .contact-lead {
                font-size: 15px;
            }

            .contact-card {
                padding: 20px;
            }
        }

        @media (max-width: 560px) {
            .contact-shell {
                padding-left: 20px;
                padding-right: 20px;
            }

            .contact-row {
                grid-template-columns: 1fr;
                gap: 17px;
            }

            .contact-footer {
                align-items: stretch;
                flex-direction: column;
                gap: 12px;
            }

            .contact-submit {
                width: 100%;
            }

            .contact-privacy {
                text-align: center;
            }
        }
