/* Contact — layout only. Type lives in css/common.css. */

.hero .btn-primary {
    display: none;
}

.contact-section {
    padding: var(--space-3xl) 0;
    background: var(--color-bg-white);
}

.contact-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-gutter);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: start;
}

.contact-copy {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding-top: var(--space-sm);
}

.contact-response {
    margin: 0;
    padding: var(--space-md);
    background: var(--color-bg-luxury);
    border-radius: 4px;
    border-left: 3px solid var(--color-primary);
}

.contact-signature {
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border);
}

.contact-form-wrapper {
    background: var(--color-bg-luxury);
    padding: var(--space-xl);
    border-radius: 8px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

.contact-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.contact-input,
.contact-select,
.contact-textarea {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-bg-white);
    transition: border-color 0.2s ease;
}

.contact-input:focus,
.contact-select:focus,
.contact-textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
}

.contact-textarea {
    resize: vertical;
    min-height: 100px;
}

.contact-select {
    appearance: auto;
    cursor: pointer;
}

.contact-submit {
    width: 100%;
    padding: var(--space-md) var(--space-xl);
    cursor: pointer;
    margin-top: var(--space-xs);
}

.contact-success {
    max-width: 700px;
    margin: 0 auto;
    padding: var(--space-xl);
    background: var(--color-bg-luxury);
    border-radius: 4px;
    border-left: 3px solid var(--color-accent);
}

@media (max-width: 820px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .contact-copy {
        order: 1;
    }

    .contact-form-wrapper {
        order: 2;
        padding: var(--space-lg);
    }
}

@media (max-width: 500px) {
    .contact-row {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .contact-form-wrapper {
        padding: var(--space-md);
    }
}



.contact-zoom {
    margin-top: var(--space-xl);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
}

.contact-zoom__note {
    margin: 0;
}

/* #319 color pass: white sections become dark bands (charcoal gray here, v4), same treatment as
   .band in css/common.css. Cards inside keep their own background and dark
   text, so every text rule below skips anything inside a card. */

.contact-section {
    background: var(--color-slate);
    color: var(--color-on-primary);
}

:is(.contact-section) :is(.contact-response, .contact-form-wrapper, .contact-success) {
    color: var(--color-text);
}

:is(.contact-section) :is(h1, h2, h3, h4, h5, h6, .kicker):not(:is(.contact-response, .contact-form-wrapper, .contact-success) *) {
    color: var(--color-on-primary);
}

:is(.contact-section) :is(p, li, .text-muted):not(:is(.contact-response, .contact-form-wrapper, .contact-success), :is(.contact-response, .contact-form-wrapper, .contact-success) *) {
    color: var(--color-on-primary-muted);
}

:is(.contact-section) p a:not(.btn, .h-btn, :is(.contact-response, .contact-form-wrapper, .contact-success) *) {
    color: inherit;
    text-decoration: underline;
}

:is(.contact-section) p a:not(.btn, .h-btn, :is(.contact-response, .contact-form-wrapper, .contact-success) *):hover {
    color: var(--color-on-primary);
}

:is(.contact-section) .btn-primary:not(:is(.contact-response, .contact-form-wrapper, .contact-success) *) {
    background: var(--color-bg-white);
    color: var(--color-primary);
}

:is(.contact-section) .btn-primary:not(:is(.contact-response, .contact-form-wrapper, .contact-success) *):hover {
    background: var(--color-bg-luxury);
    color: var(--color-primary);
}
