.contact-page { padding: 25px 0 55px; }
.contact-heading { padding: 30px 0; max-width: 650px; }
.contact-heading h1 { font-size: 44px; margin-bottom: 18px; }
.contact-heading>p:last-child { font-size: 16px; line-height: 1.8; color: var(--mf-muted); }
.contact-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.contact-methods>a { display: flex; flex-direction: column; border: 1px solid var(--mf-line); padding: 24px; }
.contact-methods>a:hover { border-color: var(--mf-red); }
.contact-methods strong { font-size: 20px; letter-spacing: -.025em; overflow-wrap: anywhere; }
.contact-methods>a>span:last-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; color: var(--mf-muted); margin-top: 18px; }
.contact-methods b { color: var(--mf-red); }
.contact-enquiry { display: grid; grid-template-columns: .8fr 1.35fr; gap: 65px; padding: 55px 0; }
.contact-guidance>p:not(.eyebrow) { font-size: 13px; color: var(--mf-muted); line-height: 1.8; }
.contact-shortcuts { margin: 25px 0; border-top: 1px solid var(--mf-line); }
.contact-shortcuts a { display: block; padding: 17px 0; border-bottom: 1px solid var(--mf-line); }
.contact-shortcuts strong { display: block; font-size: 14px; }
.contact-shortcuts span { display: block; color: var(--mf-muted); font-size: 12px; margin-top: 4px; }
.contact-demo-note { padding: 18px; background: var(--mf-tint); font-size: 11px!important; }
.contact-form-card { padding: 28px; border: 1px solid var(--mf-line); min-width: 0; }
.contact-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; }
.contact-form-heading h3 { font-size: 21px; margin: 0; }
.contact-form-heading button { font-size: 11px; }
.contact-hint { color: var(--mf-muted); font-size: 11px; line-height: 1.7; }
.contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.contact-fields .full { grid-column: 1/-1; }
.contact-fields label { font-size: 12px; font-weight: bold; }
.contact-fields small { font-size: 10px; font-weight: normal; color: var(--mf-muted); }
.contact-fields :is(input,select,textarea) { display: block; width: 100%; margin-top: 7px; padding: 11px; border: 1px solid #bfc3c7; background: white; font: inherit; font-size: 14px; border-radius: 2px; }
.contact-fields textarea { resize: vertical; }
.contact-fields [aria-invalid=true] { border-color: #b00020; }
.contact-fields :is(select,textarea):focus-visible { outline: 3px solid #3488d7; outline-offset: 4px; }
.contact-check { display: flex; align-items: start; gap: 10px; font-size: 12px; margin: 22px 0; }
.contact-check input { accent-color: var(--mf-red); margin-top: 3px; }
#contact-error { background: #fff0f2; color: #9c0020; padding: 13px; font-size: 13px; }
.contact-checkmark { display: grid; place-items: center; background: #edf5ee; color: #257640; width: 50px; height: 50px; font-size: 27px; margin-bottom: 24px; }
#contact-success h3 { font-size: 27px; line-height: 1.25; }
#contact-success>p:not(.eyebrow) { font-size: 13px; color: var(--mf-muted); }
#contact-summary { background: var(--mf-tint); padding: 20px; overflow-wrap: anywhere; }
#contact-summary dt { font-size: 11px; color: var(--mf-muted); }
#contact-summary dd { font-size: 13px; margin: 3px 0 15px; white-space: pre-wrap; }
#contact-summary dd:last-child { margin-bottom: 0; }
.contact-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.contact-location { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; border-top: 1px solid var(--mf-line); padding: 40px 0; }
.contact-location address { font-style: normal; font-size: 16px; line-height: 1.9; margin-top: 20px; }
.contact-location p:not(.eyebrow) { font-size: 12px; color: var(--mf-muted); }
.contact-location small { display: block; margin-top: 12px; font-size: 10px; color: var(--mf-muted); }
.contact-location-card { background: var(--mf-tint); padding: 30px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.contact-location-card svg { color: var(--mf-red); margin-bottom: 20px; }
.contact-location-card strong { font-size: 25px; letter-spacing: -.03em; }
.contact-location-card>span { font-size: 17px; margin: 8px 0 15px; }
@media(max-width:950px) { .contact-methods { gap: 12px; } .contact-methods>a { padding: 18px; } .contact-methods strong { font-size: 17px; } .contact-enquiry { gap: 30px; } .contact-form-card { padding: 22px; } }
@media(max-width:700px) { .contact-methods,.contact-enquiry,.contact-location { grid-template-columns: 1fr; } .contact-enquiry { padding: 35px 0; } .contact-methods strong { font-size: 21px; } .contact-location { gap: 25px; } }
@media(max-width:440px) { .contact-fields { grid-template-columns: 1fr; } .contact-heading h1 { font-size: 36px; } .contact-form-card { padding: 20px 16px; } }

/* Explicit dark-mode palette; light rules above are unchanged. */
:where(html[data-theme="dark"]) .contact-fields :is(input,select,textarea){border:1px solid #45515f;background:#1b232d}
:where(html[data-theme="dark"]) #contact-error{background:#1b232d;color:#ff829b}
:where(html[data-theme="dark"]) .contact-checkmark{background:#1b232d;color:#83d6a5}
