.contact-form {
    --contact-ink: #183a31;
    --contact-muted: #475d53;
    --contact-bg: #faf6ed;
    --contact-field-bg: #fff;
    --contact-line: #a4b3a8;
    --contact-button-bg: #254c40;
    --contact-button-ink: #fffdf8;
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--contact-line);
    border-radius: 1rem;
    color: var(--contact-ink);
    background: var(--contact-bg);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .12);
    text-align: left;
    font-size: 1rem;
    line-height: 1.55;
}
.contact-form *, .contact-form *::before, .contact-form *::after { box-sizing: border-box; }
.contact-form__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-form__field { min-width: 0; margin-bottom: 1rem; }
.contact-form__field label { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 700; color: var(--contact-ink); }
.contact-form__field input, .contact-form__field select, .contact-form__field textarea {
    display: block; width: 100%; min-width: 0; min-height: 46px;
    padding: .75rem .85rem; border: 1px solid var(--contact-line); border-radius: .5rem;
    background: var(--contact-field-bg); color: var(--contact-ink); font: inherit;
}
.contact-form__field textarea { min-height: 160px; resize: vertical; }
.contact-form__field :is(input, select, textarea):focus-visible { outline: 3px solid #b58d3a; outline-offset: 2px; }
.contact-form button[type=submit] {
    min-height: 48px; padding: .8rem 1.4rem; border: 0; border-radius: .5rem;
    background: var(--contact-button-bg); color: var(--contact-button-ink);
    font-family: inherit; font-size: 1rem; font-weight: 700; line-height: 1.4;
    cursor: pointer;
}
.contact-form button[type=submit]:focus-visible { outline: 3px solid #b58d3a; outline-offset: 3px; }
.contact-form button[type=submit]:disabled { opacity: .65; cursor: wait; }
.contact-form .contact-form__status { margin: 1rem 0 0; color: var(--contact-muted); font-size: .9rem; }
.contact-form .contact-form__status[data-state=error] { color: #8a2522; }
.contact-form .contact-form__status[data-state=success] { color: #1a503a; font-weight: 600; }
.site-page .contact-page-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-areas: "copy form" "social form"; column-gap: 2rem; row-gap: 0; align-items: start; }
.site-page .contact-page-copy { grid-area: copy; }
.site-page .contact-page-layout > .contact-form { grid-area: form; }
.site-page .contact-page-social { grid-area: social; }
.site-page .contact-page-copy p { margin: 0 0 1.3rem; }
.site-page .contact-page-social p { margin: 0 0 1.3rem; }
.site-page .contact-page-copy img { width: 160px; max-width: 100%; height: auto; border-radius: .6rem; }
.site-page .contact-page-social img { width: 160px; max-width: 100%; height: auto; border-radius: .6rem; }
.site-page .contact-form {
    --contact-ink: #f4f0e6; --contact-muted: #c7c3b8; --contact-bg: #12232a;
    --contact-field-bg: #071218; --contact-line: #677376;
    --contact-button-bg: #e6c77a; --contact-button-ink: #071218;
}
.site-page .contact-form .contact-form__status[data-state=error] { color: #ffb9ac; }
.site-page .contact-form .contact-form__status[data-state=success] { color: #a5dfc5; }
.columbanus-page .columbanus-connect-copy .columbanus-contact-details { margin-top: 2rem; border: 0; padding: 0; }
@media (max-width: 700px) {
    .site-page .contact-page-layout { grid-template-columns: 1fr; grid-template-areas: "copy" "form" "social"; gap: 1.2rem; }
    .site-page .contact-page-copy p:last-child { margin-bottom: 0; }
    .site-page .contact-form { padding: 1rem; }
    .site-page .contact-form button[type=submit] { width: 100%; min-height: 52px; }
}
@media (max-width: 500px) { .contact-form__row { grid-template-columns: 1fr; gap: 0; } }
