.mt { max-width: 1320px; margin: 0 auto; padding: 24px clamp(16px, 4vw, 48px) 48px; width: 100%; box-sizing: border-box; }
.mt-ariane { display: flex; gap: 8px; font-size: 12px; color: var(--text-muted, #475569); margin-bottom: 12px; }
.mt-ariane a:hover { color: var(--accent, #4F46E5); }
.mt h1 { font-size: 32px; font-weight: 800; color: var(--primary, #1E2A52); letter-spacing: -0.03em; }
.mt-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; padding-top: 20px; }
.mt-carte { background: var(--surface, #F2F4F4); border: 1px solid var(--border, #E0E4E9); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.mt-carte h2 { font-size: 16px; font-weight: 800; color: var(--primary, #1E2A52); border-bottom: 2px solid var(--accent-soft, #EEF0FF); padding-bottom: 8px; }
.mt-carte h2 a:hover { color: var(--accent, #4F46E5); text-decoration: underline; }
.mt-pastilles { display: flex; flex-wrap: wrap; gap: 6px; }
.mt-pastille { display: inline-flex; align-items: center; background: #fff; border: 1px solid var(--border, #E0E4E9); border-radius: 100px; padding: 5px 10px; font-size: 12px; font-weight: 600; color: var(--primary, #1E2A52); transition: .2s; }
.mt-pastille:hover { background: var(--accent-soft, #EEF0FF); color: var(--accent, #4F46E5); border-color: var(--accent, #4F46E5); }
