/* Scoped contact page, using the shared light/dark tokens. */
.mbp-contact-article { max-width:1040px; margin-inline:auto; }
.mbp-contact-main .mbp-institutional-header { max-width:740px; margin-bottom:42px; }
.mbp-contact-main .mbp-institutional-header p { font:400 17px/1.8 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin-top:22px; }
.mbp-contact-layout { display:grid; grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:64px; align-items:start; }
.mbp-contact-layout > *,.mbp-contact-row > * { min-width:0; }
.mbp-contact-main h2 { font:500 28px/1.3 var(--mbp-font-serif); color:var(--mbp-color-heading); margin:0 0 16px; }
.mbp-contact-main h3 { font:600 14px/1.5 var(--mbp-font-sans); color:var(--mbp-color-heading); margin:28px 0 8px; }
.mbp-contact-aside p { font:400 14px/1.85 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin:0 0 12px; }
.mbp-contact-aside a { font:500 13px/1.7 var(--mbp-font-sans); color:var(--mbp-color-accent); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.mbp-contact-aside svg { width:16px; height:16px; vertical-align:middle; margin-left:4px; }
.mbp-contact-direct { border-top:1px solid var(--mbp-color-border); margin-top:28px; }
.mbp-contact-panel { padding:30px; border:1px solid var(--mbp-color-border); border-radius:var(--mbp-radius-md); background:var(--mbp-color-surface); color:var(--mbp-color-text); }
.mbp-contact-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.mbp-contact-field { display:flex; flex-direction:column; gap:8px; margin-bottom:22px; }
.mbp-contact-field label { font:600 13px/1.6 var(--mbp-font-sans); color:var(--mbp-color-heading); }
body.mbp-editorial .mbp-contact-field :is(input,select,textarea) { box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0; height:auto; min-height:48px; padding:12px; border:1px solid var(--mbp-color-field-border); border-radius:var(--mbp-radius-sm); background:var(--mbp-color-bg); color:var(--mbp-color-text); font:400 16px/1.5 var(--mbp-font-sans); box-shadow:none; }
.mbp-contact-field textarea { resize:vertical; }
.mbp-contact-main .mbp-contact-help { display:block; font:400 12px/1.8 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin:0 0 18px; }
.mbp-contact-field .mbp-contact-help { margin:0; }
body.mbp-editorial .mbp-contact-submit { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; max-width:100%; padding:14px 20px; border:1px solid transparent; border-radius:var(--mbp-radius-sm); background:var(--mbp-color-accent-solid); color:var(--mbp-color-on-accent); font:600 14px/1.5 var(--mbp-font-sans); text-transform:none; letter-spacing:0; cursor:pointer; }
body.mbp-editorial .mbp-contact-submit:hover,body.mbp-editorial .mbp-contact-submit:focus-visible { background:var(--mbp-color-accent-solid-hover); color:var(--mbp-color-on-accent); }
.mbp-contact-submit svg { width:18px; height:18px; }
.mbp-contact-error { font:500 13px/1.6 var(--mbp-font-sans); color:var(--mbp-color-terracotta); }
body.mbp-editorial .mbp-contact-field [aria-invalid="true"] { border-color:var(--mbp-color-terracotta); }
.mbp-contact-notice { padding:18px; margin-bottom:24px; border:1px solid var(--mbp-color-accent); border-radius:var(--mbp-radius-sm); background:var(--mbp-color-accent-subtle); color:var(--mbp-color-text); scroll-margin-top:100px; }
.mbp-contact-notice p,.mbp-contact-notice li { font:400 14px/1.7 var(--mbp-font-sans); margin:0; }
.mbp-contact-notice ul { margin:12px 0 0; padding-left:20px; }
.mbp-contact-notice a { color:var(--mbp-color-accent); text-decoration:underline; }
.mbp-contact-field :is(input,select,textarea) { scroll-margin-top:100px; }
.mbp-contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.mbp-contact-trap input { width:1px; max-width:100%; }
@media(max-width:960px) { .mbp-contact-layout { grid-template-columns:minmax(0,220px) minmax(0,1fr); gap:32px; } .mbp-contact-row { grid-template-columns:1fr; gap:0; } }
@media(max-width:768px) { .mbp-contact-layout { grid-template-columns:1fr; gap:32px; } .mbp-contact-panel { grid-row:1; } .mbp-contact-aside { max-width:560px; } }
@media(max-width:480px) { .mbp-contact-panel { padding:22px 16px; } .mbp-contact-main .mbp-institutional-header { margin-bottom:28px; } .mbp-contact-submit { width:100%; } }
