/* Contact page */
body.contact-page {
    background: radial-gradient(circle at top left, #111430, #050814 70%);
}
.contact-hero {
    padding: 4rem 0 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
    align-items: center;
}
.contact-highlight {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.8rem;
    color: var(--muted);
}
.contact-hero h1 {
    font-size: clamp(2.4rem, 4vw, 3.3rem);
    color: #fffdf2;
    margin: 0.8rem 0 1rem;
}
.contact-lede {
    color: #d5dbf5;
    font-size: 1.05rem;
}
.contact-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}
.contact-summary-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 1.4rem;
    padding: 1.4rem;
}
.contact-section {
    background: rgba(10, 13, 32, 0.85);
}
.visit-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 1.4rem;
    padding: 1.6rem;
    margin-top: 1.2rem;
}
.contact-form {
    margin-top: 1.5rem;
    background: rgba(0,0,0,0.2);
    border: 1px solid var(--border);
    border-radius: 1.5rem;
    padding: 1.8rem;
}
.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem 1.2rem;
}
.form-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--muted);
}
.form-grid label span {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    color: #dfe5ff;
}
.form-grid input,
.form-grid textarea {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    padding: 0.85rem 1rem;
    color: #fff;
}
.form-grid textarea {
    resize: vertical;
}
.form-grid .full-width {
    grid-column: 1 / -1;
}
.contact-page button.btn-primary {
    margin-top: 1.2rem;
}
.contact-grid + .btn-outline {
    margin-top: 1rem;
}
@media (max-width: 768px) {
    .contact-hero {
        grid-template-columns: 1fr;
    }
}
