/* Contact page — kept in a versioned file to avoid host-side stale caches. */
.mn-contact-hero { overflow: hidden; background-image: linear-gradient(100deg,rgba(236,247,255,.72),rgba(236,247,255,.94)),url('../images/fond-bulles.webp'); background-size: cover; background-position: center; }
.mn-contact-hero-grid { min-height: 710px; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,7vw,7rem); align-items: center; padding-block: clamp(4rem,7vw,6.5rem); }
.mn-contact-hero h1 { max-width: 760px; margin: 0; color: var(--mn-navy); font-size: clamp(3.5rem,6vw,6.5rem); font-weight: 800; line-height: .97; letter-spacing: -.06em; }
.mn-contact-hero .mn-lead { max-width: 710px; color: #34536b; }
.mn-contact-hero .mn-btn-dark { background: var(--mn-navy); color: white; }
.mn-contact-tags { display: flex; flex-wrap: wrap; gap: .65rem; padding: 0; margin: 2rem 0 0; list-style: none; }
.mn-contact-tags li { padding: .45rem .7rem; border: 1px solid rgba(3,31,60,.2); background: rgba(255,255,255,.48); color: var(--mn-navy); font-size: .78rem; font-weight: 800; }
.mn-contact-hero-visual { position: relative; overflow: hidden; margin: 0; border: 8px solid white; border-radius: 72px 2px 2px 2px; background: white; box-shadow: var(--mn-shadow); }
.mn-contact-hero-visual img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 24%; }
.mn-contact-hero-visual figcaption { position: absolute; inset: auto 0 0; display: grid; gap: .25rem; padding: 5rem 1.4rem 1.4rem; background: linear-gradient(transparent,rgba(3,31,60,.97)); color: white; }
.mn-contact-hero-visual figcaption span { color: var(--mn-gold); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mn-contact-hero-visual figcaption strong { color: white; font-size: 1.15rem; }
.mn-contact-direct { padding-block: 1.8rem; border-block: 1px solid var(--mn-line); background: white; }
.mn-contact-direct-grid { display: grid; grid-template-columns: .8fr 1.2fr 1fr; gap: 1px; background: var(--mn-line); }
.mn-contact-direct-grid > * { display: grid; gap: .25rem; padding: 1.25rem 1.4rem; background: white; text-decoration: none; }
.mn-contact-direct-grid span { color: var(--mn-muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mn-contact-direct-grid strong { color: var(--mn-navy); font-size: 1.1rem; overflow-wrap: anywhere; }
.mn-contact-direct-grid a:hover strong { color: var(--mn-blue); }
.mn-contact-form-section { background: var(--mn-navy); color: white; }
.mn-contact-form-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem,7vw,7rem); align-items: start; }
.mn-contact-form-intro { position: sticky; top: 130px; }
.mn-contact-form-intro h2 { color: white; }
.mn-contact-form-intro > p:not(.mn-kicker) { color: #dceafa; }
.mn-contact-prep { display: grid; gap: .75rem; padding: 0; margin: 2rem 0; list-style: none; }
.mn-contact-prep li { position: relative; padding: .8rem 1rem .8rem 2.7rem; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.05); color: white; font-weight: 700; }
.mn-contact-prep li::before { content: '✓'; position: absolute; left: 1rem; color: var(--mn-gold); }
.mn-contact-private { padding: 1rem 1.1rem; border-left: 4px solid var(--mn-gold); background: rgba(255,255,255,.07); color: #dceafa; font-size: .86rem; }
.mn-contact-private strong { color: white; }
.mn-contact-form-card { padding: clamp(1.4rem,4vw,3rem); border-top: 7px solid var(--mn-gold); background: white; color: var(--mn-ink); box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.mn-contact-form-card h3 { margin: 0 0 .4rem; color: var(--mn-navy); font-size: clamp(1.7rem,2.8vw,2.5rem); line-height: 1.1; }
.mn-contact-form-card > p { margin: 0 0 1.8rem; color: var(--mn-muted); }
.mn-contact-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.mn-contact-field { display: grid; gap: .4rem; }
.mn-contact-field-full { grid-column: 1 / -1; }
.mn-contact-field label { color: var(--mn-navy); font-size: .83rem; font-weight: 800; }
.mn-contact-field label span { color: #b64c28; }
.mn-contact-field input,.mn-contact-field select,.mn-contact-field textarea { width: 100%; min-height: 52px; padding: .75rem .85rem; border: 1px solid #b8cbd9; border-radius: 3px; background: #fbfdff; color: var(--mn-ink); font: inherit; }
.mn-contact-field textarea { min-height: 165px; resize: vertical; }
.mn-contact-field input:focus,.mn-contact-field select:focus,.mn-contact-field textarea:focus { outline: 3px solid rgba(228,168,0,.25); border-color: var(--mn-gold); }
.mn-contact-consent { grid-column: 1 / -1; display: grid; grid-template-columns: 20px 1fr; gap: .7rem; align-items: start; color: var(--mn-muted); font-size: .82rem; }
.mn-contact-consent input { width: 18px; height: 18px; margin-top: .2rem; accent-color: var(--mn-navy); }
.mn-contact-submit { grid-column: 1 / -1; min-height: 56px; border: 0; border-radius: 4px; background: var(--mn-gold); color: var(--mn-navy); font: inherit; font-weight: 800; cursor: pointer; }
.mn-contact-submit:hover { filter: brightness(.96); }
.mn-contact-hp { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.mn-contact-feedback { margin: 0 0 1.2rem; padding: 1rem 1.1rem; border-left: 5px solid; font-weight: 700; }
.mn-contact-feedback-success { border-color: #2d8b57; background: #e7f6ed; color: #185f39; }
.mn-contact-feedback-error { border-color: #bd4a3e; background: #fff0ee; color: #8b2f26; }
.mn-contact-process { background: #edf6fc; }
.mn-contact-process-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5vw; align-items: end; margin-bottom: 3rem; }
.mn-contact-process-head h2 { margin: 0; }
.mn-contact-process-head > p { margin: 0; color: var(--mn-muted); }
.mn-contact-process ol { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding: 0; margin: 0; background: var(--mn-line); list-style: none; }
.mn-contact-process li { min-height: 275px; display: flex; flex-direction: column; padding: 2rem; background: white; }
.mn-contact-process li:nth-child(2) { background: var(--mn-navy); color: white; }
.mn-contact-process li > span { color: var(--mn-gold); font-size: 2rem; font-weight: 800; }
.mn-contact-process h3 { margin: auto 0 .7rem; color: var(--mn-navy); font-size: 1.35rem; }
.mn-contact-process p { margin: 0; color: var(--mn-muted); }
.mn-contact-process li:nth-child(2) h3 { color: white; }
.mn-contact-process li:nth-child(2) p { color: #dceafa; }
.mn-contact-trust { background: white; }
.mn-contact-trust-grid { display: grid; grid-template-columns: .38fr .62fr; gap: clamp(2rem,6vw,6rem); align-items: center; padding: clamp(2rem,5vw,4rem); border-top: 8px solid #e31c2d; box-shadow: var(--mn-shadow); }
.mn-contact-trust-mark { display: grid; place-items: center; gap: 1rem; padding: 2rem; background: #00008f; color: white; text-align: center; }
.mn-contact-trust-mark img { width: 150px; }
.mn-contact-trust-mark span { font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mn-contact-trust h2 { margin-bottom: 1.2rem; }
.mn-contact-trust p { color: var(--mn-muted); }
.mn-contact-faq { background: #f7fbfe; }
.mn-contact-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,7vw,7rem); align-items: start; }
.mn-contact-faq-grid h2 { margin-bottom: 1.2rem; }
.mn-contact-faq-grid > div:first-child > p:last-child { color: var(--mn-muted); }
.mn-contact-faq .mn-faq { margin-top: 0; padding: 0 1.6rem; border: 1px solid var(--mn-line); background: white; }
.mn-contact-faq .mn-faq details:last-child { border-bottom: 0; }

@media (max-width: 940px) {
  .mn-contact-hero-grid,.mn-contact-form-grid,.mn-contact-process-head,.mn-contact-trust-grid,.mn-contact-faq-grid { grid-template-columns: 1fr; }
  .mn-contact-hero-grid { min-height: 0; }
  .mn-contact-hero-copy { max-width: 780px; }
  .mn-contact-hero-visual { max-width: 660px; }
  .mn-contact-direct-grid { grid-template-columns: 1fr; }
  .mn-contact-form-intro { position: static; }
  .mn-contact-process ol { grid-template-columns: 1fr; }
  .mn-contact-process li { min-height: 220px; }
}
@media (max-width: 600px) {
  .mn-contact-hero-grid { gap: 2.5rem; padding-block: 3.5rem 2.5rem; }
  .mn-contact-hero h1 { font-size: clamp(2.85rem,13vw,4.1rem); }
  .mn-contact-tags { display: grid; grid-template-columns: 1fr; }
  .mn-contact-hero-visual { border-width: 5px; border-radius: 44px 2px 2px 2px; }
  .mn-contact-direct-grid > * { padding: 1rem; }
  .mn-contact-form { grid-template-columns: 1fr; }
  .mn-contact-field-full,.mn-contact-consent,.mn-contact-submit { grid-column: auto; }
  .mn-contact-form-card { padding: 1.3rem; }
  .mn-contact-process li { min-height: 200px; padding: 1.5rem; }
  .mn-contact-trust-grid { padding: 1.3rem; }
  .mn-contact-trust-mark { padding: 1.5rem; }
  .mn-contact-faq .mn-faq { padding-inline: 1rem; }
}
