/* La collection de projets reprend les repères visuels de la homepage. */
.michelis-projets main { overflow-wrap: break-word; }
.michelis-projets [id] { scroll-margin-top: 28px; }
.mp-breadcrumb { display: flex; gap: 13px; padding-block: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.mp-breadcrumb a:hover { color: var(--pink); }
.mp-hero { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; padding-block: 18px 52px; }
.mp-hero-copy { padding-block: 24px; align-self: center; }
.mp-hero h1 { font-size: clamp(58px, 6vw, 84px); line-height: .99; letter-spacing: -.055em; margin-block: 22px 28px; }
.mp-hero h1 em { color: var(--pink); font-weight: 400; }
.mp-hero .mh-intro { max-width: 390px; }
.mp-hero .mh-button { margin-top: 28px; }
.mp-hero-image { position: relative; min-height: 470px; min-width: 0; margin: 0; overflow: hidden; background: var(--ink); }
.mp-hero-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mp-hero-image::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #10262ecc); }
.mp-hero-image figcaption { position: absolute; z-index: 1; inset: auto 30px 28px; color: white; font: italic 32px/1.2 Georgia, serif; }
.mp-hero-image figcaption span { display: block; font: 700 10px/1.5 Michelis, Arial, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; margin-bottom: 12px; }
.mp-projects { background: linear-gradient(110deg,#faf9f7,#fff 65%); padding-block: 60px; }
.mp-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 28px; }
.mp-heading h2 { font-size: clamp(38px, 4vw, 54px); position: relative; margin-top: 13px; padding-bottom: 20px; }
.mp-heading h2::after { content: ''; position: absolute; bottom: 0; left: 0; width: 42px; height: 2px; background: var(--pink); }
.mp-heading > p { max-width: 370px; color: var(--muted); font-size: 14px; }
.mp-count { font-size: 12px; color: var(--muted); margin-bottom: 24px !important; }
.mp-count span { margin-inline: 8px; color: var(--pink); }
.mp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.mp-card { min-width: 0; background: #fff; border: 1px solid var(--line); }
.mp-card > a { display: flex; flex-direction: column; height: 100%; }
.mp-card-image { height: 220px; background: #dce3e5; overflow: hidden; }
.mp-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .25s; }
.mp-card a:hover .mp-card-image img { transform: scale(1.035); }
.mp-card-copy { flex: 1; padding: 24px; display: flex; flex-direction: column; align-items: start; }
.mp-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 10px; color: var(--muted); }
.mp-meta > span { color: var(--pink); font-weight: 700; text-transform: uppercase; letter-spacing: .6px; }
.mp-meta time { padding-left: 12px; border-left: 1px solid var(--line); }
.mp-card h3 { font-size: 28px; line-height: 1.1; margin-block: 16px 12px; }
.mp-card a:hover h3 { color: var(--pink); }
.mp-description { font-size: 14px; line-height: 1.6; color: var(--muted); margin-bottom: 22px !important; }
.mp-card-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; border-top: 1px solid var(--line); padding-top: 16px; margin-top: auto; font-size: 12px; color: var(--pink); font-weight: 700; }
.mp-card-link > span { font-size: 24px; line-height: 1; }
.mp-pagination { margin-top: 38px; }
.mp-pagination ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.mp-pagination .pagination-item-label { display: inline-flex; justify-content: center; align-items: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid #bac4c9; font-size: 13px; }
.mp-pagination a:hover { color: var(--pink); border-color: var(--pink); }
.mp-pagination .active .pagination-item-label { background: var(--pink); border-color: var(--pink); color: #fff; }
.mp-pagination .disabled .pagination-item-label { border-color: transparent; color: var(--muted); }
.mp-empty { padding: 36px; background: white; border-left: 2px solid var(--pink); }
.mp-empty h3 { font-size: 30px; }
.mp-empty p { color: var(--muted); margin-block: 16px 20px; }
.mp-discover { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding-block: 50px; }
.mp-discover h2 { font-size: clamp(32px, 3vw, 40px); margin-block: 14px; }
.mp-discover p:last-child { color: var(--muted); max-width: 570px; font-size: 14px; }
.mp-discover .mh-button { flex-shrink: 0; }
@media (max-width: 1100px) {
  .mp-hero { gap: 32px; }
  .mp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-discover { gap: 24px; }
  .mp-discover .mh-button { max-width: 300px; }
}
@media (max-width: 760px) {
  .mp-hero { grid-template-columns: 1fr; padding-block: 10px 30px; gap: 24px; }
  .mp-hero-copy { padding-block: 12px 0; }
  .mp-hero h1 { font-size: clamp(58px, 14vw, 78px); }
  .mp-hero-image { min-height: 300px; }
  .mp-hero-image figcaption { inset: auto 22px 22px; font-size: 28px; }
  .mp-projects { padding-block: 36px; }
  .mp-heading, .mp-discover { flex-direction: column; align-items: start; gap: 22px; }
  .mp-heading > p { max-width: none; }
  .mp-card-copy { padding: 20px; }
  .mp-card-image { height: 200px; }
  .mp-card h3 { font-size: 26px; }
  .mp-discover { padding-block: 36px; }
  .mp-discover .mh-button { max-width: 100%; }
}
@media (max-width: 540px) {
  .mp-grid { grid-template-columns: 1fr; gap: 22px; }
  .mp-card-image { height: 230px; }
  .mp-card-copy { padding: 24px; }
  .mp-meta { font-size: 11px; }
  .mp-discover .mh-button { padding-inline: 18px; gap: 16px; }
}
