.contact-page { padding-block: clamp(1.75rem, 5vw, 4.5rem); background: var(--mist); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; }
.contact-directory, .contact-form {
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border-radius: 1rem;
}
.contact-directory { background: var(--ink); color: #fff; border-top: 3px solid var(--gold); }
.contact-directory h2 { color: #fff; }
.contact-directory address { color: #e1eaf3; }
.contact-methods { display: grid; gap: .6rem; }
.contact-methods a, .contact-topics a { color: #fff; overflow-wrap: anywhere; }
.contact-methods i { color: #f1ce84; margin-right: .3rem; }
.contact-topics { display: grid; gap: .45rem; margin-top: 1.4rem; }
.contact-topics a {
    display: flex; justify-content: space-between; gap: .6rem; align-items: center;
    padding: .65rem .8rem; background: #ffffff12; border-radius: .5rem; text-decoration: none;
}
.contact-topics a:hover, .contact-topics a[aria-current] { background: #ffffff25; }
.contact-form { background: #fff; border: 1px solid #e7dcc8; box-shadow: 0 12px 30px #082b480e; }
.contact-form textarea { resize: vertical; }
.contact-privacy { font-size: .875rem; }
.contact-venue { margin-top: clamp(2rem, 5vw, 4rem); }
.contact-venue-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .65rem 1rem; margin-bottom: 1rem; }
.contact-venue-header p { margin: 0; }
.contact-venue iframe { display: block; width: 100%; height: clamp(17rem, 39vw, 27rem); border: 1px solid #e7dcc8; border-radius: 1rem; }
@media (max-width: 991px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
