.mp-hero { position: relative; display: flex; align-items: flex-end; min-height: min(760px, 76vh); color: #fff; overflow: hidden; background: #242a30; }
.mp-hero > img, .mp-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.mp-hero > img { object-fit: cover; object-position: center 53%; }
.mp-hero-shade { background: linear-gradient(90deg, #1b2329de 0%, #1b2329a0 40%, #1b232922 77%), linear-gradient(0deg, #1b232975, transparent 48%); }
.mp-hero-content { position: relative; width: min(920px, 80vw); margin: 0 0 clamp(75px, 9vw, 140px) clamp(24px, 6vw, 115px); }
.mp-hero .eyebrow { color: #f3e0c4; }
.mp-hero h1 { max-width: 850px; margin: 0 0 22px; color: #fff; font-size: clamp(2.8rem, 4.2vw, 5.2rem); line-height: 1.08; }
.mp-hero p { max-width: 570px; margin: 0 0 28px; color: #f2f4f4; font-size: 1.12rem; line-height: 1.6; }
.mp-hero-caption { position: absolute; right: clamp(24px, 4vw, 70px); bottom: 24px; color: #fff; font-size: .76rem; }
.mp-index { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: #29323b; }
.mp-index a { display: flex; align-items: center; gap: 13px; min-height: 78px; padding: 16px clamp(14px, 2vw, 36px); border-right: 1px solid #ffffff2c; color: #fff; font-size: .74rem; font-weight: 700; }
.mp-index a:last-child { border-right: 0; }
.mp-index a:hover, .mp-index a:focus-visible { background: #ffffff18; }
.mp-index span { color: #e6cfa7; font-size: .75rem; }
.mp-lead { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 8vw, 140px); align-items: end; padding: clamp(70px, 8vw, 130px) clamp(24px, 6vw, 115px); }
.mp-lead .eyebrow { grid-column: 1 / -1; margin-bottom: -20px; }
.mp-lead h2 { max-width: 780px; margin: 0; font-size: clamp(2.2rem, 3.2vw, 3.8rem); line-height: 1.16; }
.mp-lead p { max-width: 680px; margin: 0; color: var(--muted); font-size: 1.07rem; line-height: 1.75; }
.mp-route { padding: 86px clamp(24px, 6vw, 115px); background: #e9edee; }
.mp-route-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 18px 8vw; align-items: end; margin-bottom: 38px; }
.mp-route-head .eyebrow { grid-column: 1 / -1; margin-bottom: -12px; }
.mp-route h2 { max-width: 700px; margin: 0; font-size: clamp(2.2rem, 3vw, 3.6rem); line-height: 1.16; }
.mp-route-head p { max-width: 680px; margin: 0; line-height: 1.7; }
.mp-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.mp-route-grid > div { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 26px clamp(20px, 2.3vw, 40px) 8px 0; }
.mp-route-grid > div + div { padding-left: clamp(20px, 2.3vw, 40px); border-left: 1px solid #c9d2d5; }
.mp-route-grid span { color: var(--bronze); font-size: .73rem; font-weight: 700; }
.mp-route-grid h3 { margin: 0; font-size: 1.22rem; }
.mp-route-grid p { margin: 0; font-size: .89rem; line-height: 1.65; }
.mp-route-grid strong { margin-top: auto; padding-top: 15px; font-size: .8rem; line-height: 1.5; }
.mp-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 690px; }
.mp-stage--reverse .mp-stage-media { order: 2; }
.mp-stage-media { display: flex; flex-direction: column; min-width: 0; margin: 0; background: #edf0f0; }
.mp-stage-media img { display: block; flex: 1 1 auto; width: 100%; min-height: 650px; height: 0; object-fit: cover; }
.mp-stage-media figcaption { min-height: 40px; padding: 12px clamp(24px, 4vw, 70px); color: #4d565d; font-size: .76rem; line-height: 1.4; }
.mp-stage-report { background: #f0f1f1; }
.mp-stage-report img { max-height: 730px; padding: 35px; object-fit: contain; }
.mp-stage-report a { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-height: 650px; }
.mp-stage-report a img { height: auto; min-height: 0; }
.mp-stage-content { display: flex; align-items: center; padding: 72px clamp(32px, 6vw, 115px); background: #fff; }
.mp-stage--reverse .mp-stage-content { background: #f5f6f6; }
.mp-stage-content-inner { width: min(100%, 690px); margin-inline: auto; }
.mp-stage h2 { max-width: 670px; margin: 0 0 22px; font-size: clamp(2.2rem, 3vw, 3.65rem); line-height: 1.16; }
.mp-stage-intro { max-width: 640px; margin: 0 0 30px; color: #465159; font-size: 1.03rem; line-height: 1.72; }
.mp-checks { margin: 0 0 28px; }
.mp-checks > div { display: grid; grid-template-columns: minmax(105px, .34fr) minmax(0, .66fr); gap: 18px; padding: 15px 0; border-top: 1px solid #d8dddf; }
.mp-checks dt { color: var(--ink); font-size: .87rem; font-weight: 700; }
.mp-checks dd { margin: 0; color: var(--muted); font-size: .87rem; line-height: 1.55; }
.mp-gate { margin: 0 0 30px; border-top: 2px solid var(--ink); }
.mp-gate > div { display: grid; grid-template-columns: minmax(105px, .34fr) minmax(0, .66fr); gap: 18px; padding: 14px 0; border-bottom: 1px solid #d8dddf; }
.mp-gate dt { color: var(--bronze); font-size: .74rem; font-weight: 700; text-transform: uppercase; }
.mp-gate dd { margin: 0; font-size: .86rem; line-height: 1.58; }
.mp-stage-clip { margin: 0 0 28px; }
.mp-stage-clip video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #292929; }
.mp-stage-clip figcaption { padding-top: 8px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.mp-links { display: flex; flex-wrap: wrap; gap: 12px 30px; }
.mp-links .text-link { text-decoration: underline; text-underline-offset: 4px; }
.mp-inspection-map { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(45px, 7vw, 120px); padding: 95px clamp(24px, 6vw, 115px); background: #f1f3f3; }
.mp-inspection-head h2 { max-width: 640px; margin: 0 0 20px; font-size: clamp(2.2rem, 3vw, 3.6rem); line-height: 1.16; }
.mp-inspection-head p { max-width: 640px; margin: 0 0 22px; font-size: .96rem; line-height: 1.7; }
.mp-inspection-list { border-top: 2px solid var(--ink); }
.mp-inspection-list > div { display: grid; grid-template-columns: minmax(150px, .4fr) minmax(0, .6fr); gap: 22px; padding: 23px 0; border-bottom: 1px solid #d1d8da; }
.mp-inspection-list strong { font-size: .96rem; }
.mp-inspection-list span { font-size: .88rem; line-height: 1.6; }
.mp-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 60px; align-items: center; padding: 95px clamp(24px, 6vw, 115px); background: #29323b; color: #fff; }
.mp-next > div { max-width: 930px; }
.mp-next .eyebrow { color: #e6cfa7; }
.mp-next h2 { max-width: 790px; margin: 0 0 18px; color: #fff; font-size: clamp(2.2rem, 3vw, 3.6rem); }
.mp-next p { max-width: 780px; margin: 0; color: #e3e8ea; font-size: 1.02rem; line-height: 1.7; }
.mp-next .text-link { margin-top: 20px; color: #fff; }
.mp-next .button { white-space: nowrap; }
.mp-hero h1, .mp-lead h2, .mp-route h2, .mp-stage h2, .mp-inspection-map h2, .mp-next h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

@media (max-width: 1050px) {
  .mp-index { display: flex; overflow-x: auto; }
  .mp-index a { flex: 0 0 205px; }
  .mp-stage { min-height: 0; }
  .mp-stage-media img { min-height: 520px; }
  .mp-stage-content { padding-inline: 35px; }
  .mp-checks > div { grid-template-columns: 1fr; gap: 5px; }
  .mp-gate > div { grid-template-columns: 1fr; gap: 5px; }
  .mp-route-head, .mp-inspection-map { grid-template-columns: 1fr; }
  .mp-route-head { gap: 16px; }
  .mp-route-head .eyebrow { grid-column: auto; margin-bottom: 0; }
}

@media (max-width: 760px) {
  .mp-hero { min-height: 580px; }
  .mp-hero > img { object-position: 61% center; }
  .mp-hero-shade { background: linear-gradient(0deg, #1b2329eb, #1b23295c 80%); }
  .mp-hero-content { width: auto; margin: 0 24px 84px; }
  .mp-hero h1 { font-size: 2.7rem; }
  .mp-hero p { font-size: .98rem; }
  .mp-hero-caption { right: 24px; bottom: 19px; }
  .mp-index a { flex-basis: 180px; min-height: 65px; }
  .mp-lead { display: block; padding: 65px 24px; }
  .mp-lead .eyebrow { display: block; margin-bottom: 15px; }
  .mp-lead h2 { font-size: 2.3rem; }
  .mp-lead p { margin-top: 20px; font-size: .95rem; }
  .mp-route { padding: 65px 24px; }
  .mp-route-head { display: block; margin-bottom: 26px; }
  .mp-route h2 { margin: 10px 0 17px; font-size: 2.3rem; }
  .mp-route-head p { font-size: .94rem; }
  .mp-route-grid { grid-template-columns: 1fr; }
  .mp-route-grid > div, .mp-route-grid > div + div { padding: 23px 0; border-left: 0; border-bottom: 1px solid #c9d2d5; }
  .mp-route-grid strong { padding-top: 3px; }
  .mp-stage { display: flex; flex-direction: column; }
  .mp-stage--reverse .mp-stage-media { order: 0; }
  .mp-stage-media img { height: auto; min-height: 0; aspect-ratio: 1.2; }
  .mp-stage-report img { aspect-ratio: 1.2; padding: 20px; }
  .mp-stage-report a { min-height: 0; }
  .mp-stage-media figcaption { padding: 11px 24px; }
  .mp-stage-content { padding: 56px 24px 62px; }
  .mp-stage h2 { font-size: 2.25rem; }
  .mp-stage-intro { font-size: .94rem; }
  .mp-checks > div { grid-template-columns: minmax(105px, .35fr) minmax(0, .65fr); gap: 15px; }
  .mp-gate > div { grid-template-columns: minmax(105px, .35fr) minmax(0, .65fr); gap: 15px; }
  .mp-inspection-map { display: block; padding: 70px 24px; }
  .mp-inspection-head h2 { font-size: 2.3rem; }
  .mp-inspection-head p { font-size: .94rem; }
  .mp-inspection-list { margin-top: 30px; }
  .mp-inspection-list > div { grid-template-columns: minmax(110px, .38fr) minmax(0, .62fr); gap: 15px; }
  .mp-next { display: block; padding: 70px 24px; }
  .mp-next h2 { font-size: 2.3rem; }
  .mp-next p { font-size: .94rem; }
  .mp-next .button { display: inline-flex; margin-top: 28px; white-space: normal; }
}

@media (max-width: 460px) {
  .mp-hero h1 { font-size: 2.35rem; }
  .mp-checks > div, .mp-gate > div, .mp-inspection-list > div { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 360px) {
  .mp-lead h2 { font-size: 2.1rem; }
}
