.mbh-contact-page { overflow-x: clip; background: #f8f8f6; }
.mbh-contact-page .mbh-section { padding-block: 44px; }
.mbh-contact-hero { position: relative; background: linear-gradient(135deg, #fff9f5 0%, #f7f3ef 55%, #f4f4f1 100%); }
.mbh-contact-hero { padding-block: 34px 27px !important; }
.mbh-contact-hero-inner { max-width: 880px; }
.mbh-contact-hero h1 { margin-bottom: 6px; font-size: clamp(2.3rem, 7vw, 3.6rem); }
.mbh-contact-subtitle { margin-bottom: 14px; color: var(--mbh-dark); font-family: var(--mbh-heading-font); font-size: clamp(1.3rem, 4vw, 1.75rem); font-weight: 600; line-height: 1.3; }
.mbh-contact-hero-text { max-width: 780px; color: #555; font-size: 1rem; }
.mbh-contact-hero-text > *:last-child { margin-bottom: 0; }
.mbh-contact-main { padding-block: 30px 52px !important; background: #f8f8f6; }
.mbh-contact-grid { display: grid; gap: 28px; align-items: start; }
.mbh-contact-info { display: grid; width: 100%; max-width: 620px; min-width: 0; justify-self: center; gap: 14px; }
.mbh-contact-trust-card { overflow: hidden; border: 1px solid #e8ded7; border-radius: 20px; background: #fff7f1; box-shadow: 0 14px 40px rgba(49,34,26,.065); }
.mbh-contact-portrait { position: relative; width: min(86%, 480px); margin: 16px auto 0; overflow: hidden; border-radius: 16px; background: #f6e6d6; }
.mbh-contact-portrait::after { content: ""; position: absolute; inset: auto 0 0; height: 24%; pointer-events: none; background: linear-gradient(to bottom, transparent, rgba(72,42,22,.1)); }
.mbh-contact-portrait img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.mbh-contact-trust-copy { padding: 21px 21px 23px; }
.mbh-contact-trust-copy h2 { margin-bottom: 11px; font-size: clamp(1.65rem, 5vw, 2.05rem); }
.mbh-contact-human-note { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 11px; color: var(--mbh-orange-dark); font-size: .76rem; font-weight: 750; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.mbh-contact-human-note span { width: 8px; height: 8px; border-radius: 50%; background: var(--mbh-orange); box-shadow: 0 0 0 4px rgba(226,82,24,.12); }
.mbh-contact-support-panel { padding: 8px; border: 1px solid var(--mbh-border); border-radius: 16px; background: var(--mbh-white); box-shadow: 0 8px 28px rgba(21,21,21,.035); }
.mbh-contact-details-card { display: grid; gap: 7px; }
.mbh-contact-detail { display: flex; min-width: 0; min-height: 68px; align-items: center; gap: 12px; padding: 9px 11px; border-radius: 11px; background: #faf9f7; }
.mbh-contact-icon { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: var(--mbh-orange); background: #fff0e9; }
.mbh-contact-icon svg { width: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.mbh-contact-label { display: block; margin-bottom: 2px; color: var(--mbh-muted); font-size: .73rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.mbh-contact-detail a { overflow-wrap: normal; word-break: normal; white-space: nowrap; }
.mbh-contact-detail a, .mbh-contact-detail strong { color: var(--mbh-dark); font-size: .98rem; font-weight: 650; }
.mbh-contact-quick { position: relative; margin-top: 7px; padding: 16px 16px 15px 20px; border-top: 1px solid #f0d9cc; border-radius: 10px; background: #fff6f0; }
.mbh-contact-quick::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 0; width: 3px; border-radius: 0 4px 4px 0; background: var(--mbh-orange); }
.mbh-contact-quick h3 { margin-bottom: 5px; font-size: 1.1rem; }
.mbh-contact-quick .mbh-prose { color: #59524e; font-size: .9rem; }
.mbh-contact-form-card { position: relative; min-width: 0; padding: 25px 16px 22px; border: 1px solid #e1dfdc; border-radius: 20px; background: var(--mbh-white); box-shadow: 0 16px 48px rgba(21,21,21,.07); }
.mbh-contact-form-card > h2 { margin-bottom: 7px; font-size: clamp(1.8rem, 5vw, 2.25rem); }
.mbh-contact-form-intro { margin-bottom: 20px; color: var(--mbh-muted); }
.mbh-contact-form { display: grid; gap: 15px; }
.mbh-contact-form-row { display: grid; gap: 15px; }
.mbh-contact-field { display: grid; min-width: 0; align-content: start; gap: 5px; }
.mbh-contact-field > label { color: var(--mbh-dark); font-size: .93rem; font-weight: 680; line-height: 1.4; }
.mbh-contact-field > label > span[aria-hidden] { color: var(--mbh-orange); }
.mbh-contact-optional { margin-left: 5px; color: var(--mbh-muted); font-size: .76rem; font-weight: 500; }
.mbh-contact-field input[type="text"], .mbh-contact-field input[type="email"], .mbh-contact-field select, .mbh-contact-field textarea { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid #cbc9c6; border-radius: 11px; color: var(--mbh-dark); background-color: #fdfdfc; box-shadow: inset 0 1px 2px rgba(21,21,21,.02); line-height: 1.45; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.mbh-contact-field select { padding-right: 38px; cursor: pointer; }
.mbh-contact-field textarea { min-height: 160px; resize: vertical; }
.mbh-contact-field input::placeholder, .mbh-contact-field textarea::placeholder { color: #898682; opacity: 1; }
.mbh-contact-field input:hover, .mbh-contact-field select:hover, .mbh-contact-field textarea:hover { border-color: #a9a6a2; }
.mbh-contact-field input:focus, .mbh-contact-field select:focus, .mbh-contact-field textarea:focus { border-color: var(--mbh-orange); outline: 0; background: var(--mbh-white); box-shadow: 0 0 0 4px rgba(226,82,24,.14); }
.mbh-contact-field [aria-invalid="true"] { border-color: #a52a2a; background: #fffafa; }
.mbh-contact-help { color: var(--mbh-muted); font-size: .78rem; line-height: 1.35; }
.mbh-contact-field-error { color: #8d1d1d; font-size: .84rem; font-weight: 650; line-height: 1.5; }
.mbh-contact-privacy { padding: 11px 12px; border: 1px solid #ebe8e4; border-radius: 11px; background: #faf9f7; }
.mbh-contact-privacy label { display: flex; align-items: flex-start; gap: 11px; font-weight: 400; }
.mbh-contact-privacy input { flex: 0 0 21px; width: 21px; height: 21px; margin-top: 2px; accent-color: var(--mbh-orange); }
.mbh-contact-submit { width: 100%; min-height: 54px; margin-top: 1px; box-shadow: 0 9px 22px rgba(189,62,13,.2); }
.mbh-contact-submit:hover { box-shadow: 0 13px 28px rgba(189,62,13,.28); }
.mbh-contact-notice, .mbh-contact-error-summary { margin: 18px 0 24px; padding: 16px 18px; border-radius: 12px; }
.mbh-contact-notice p, .mbh-contact-error-summary p { margin: 0; }
.mbh-contact-notice.is-success { border: 1px solid #a9d5b3; color: #225a2d; background: #edf9ef; }
.mbh-contact-notice.is-error, .mbh-contact-error-summary { border: 1px solid #e4adad; color: #762020; background: #fff2f2; }
.mbh-contact-error-summary ul { margin: 8px 0 0; padding-left: 20px; }
.mbh-contact-error-summary a { color: inherit; }
.mbh-contact-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (min-width: 600px) {
  .mbh-contact-form-row-meta { grid-template-columns: minmax(0, 1.15fr) minmax(190px, .85fr); gap: 16px; }
  .mbh-contact-form-card { padding: 34px 30px 29px; }
  .mbh-contact-field input[type="text"], .mbh-contact-field input[type="email"], .mbh-contact-field select { min-height: 52px; padding-block: 12px; }
  .mbh-contact-field textarea { min-height: 170px; }
}

@media (min-width: 768px) {
  .mbh-contact-hero { padding-block: 44px 30px !important; }
  .mbh-contact-main { padding-block: 34px 62px !important; }
  .mbh-contact-grid { max-width: 820px; }
  .mbh-contact-trust-copy { padding: 25px 27px 27px; }
  .mbh-contact-details-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1180px) {
  .mbh-contact-hero { padding-block: 48px 31px !important; }
  .mbh-contact-main { padding-block: 37px 68px !important; }
  .mbh-contact-grid { max-width: none; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); column-gap: clamp(38px, 3.5vw, 46px); row-gap: 14px; }
  .mbh-contact-info, .mbh-contact-support-panel { display: contents; }
  .mbh-contact-trust-card { grid-column: 1; grid-row: 1; }
  .mbh-contact-portrait { width: min(86%, 430px); }
  .mbh-contact-details-card { grid-column: 1; grid-row: 2; grid-template-columns: 1fr; padding: 8px; border: 1px solid var(--mbh-border); border-radius: 16px; background: var(--mbh-white); box-shadow: 0 8px 28px rgba(21,21,21,.035); }
  .mbh-contact-form-card { grid-column: 2; grid-row: 1 / span 2; padding: 38px 36px 34px; }
  .mbh-contact-form { gap: 17px; }
  .mbh-contact-quick { display: grid; grid-column: 1 / -1; grid-row: 3; grid-template-columns: minmax(200px, .34fr) minmax(0, 1fr); align-items: center; gap: 20px; margin-top: 0; padding: 15px 22px 15px 26px; }
  .mbh-contact-quick h3 { margin: 0; }
}

@media (min-width: 1500px) {
  .mbh-contact-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); column-gap: 46px; }
}

@media (max-width: 599px) {
  .mbh-contact-human-note { font-size: .7rem; letter-spacing: .065em; }
  .mbh-contact-icon { flex-basis: 40px; width: 40px; height: 40px; }
  .mbh-contact-privacy label { gap: 9px; font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .mbh-contact-field input, .mbh-contact-field select, .mbh-contact-field textarea { transition: none; }
}
