.jmec .jmec-hero { background: linear-gradient(125deg, rgba(245, 247, 250, .96), rgba(237, 244, 250, .94) 52%, rgba(216, 236, 253, .78)); border-bottom: 1px solid var(--line); }
.jmec .jmec-hero-grid { align-items: center; display: grid; gap: 58px; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); min-height: 520px; padding-bottom: 38px; padding-top: 38px; }
.jmec .jmec-hero-copy { max-width: 650px; }
.jmec .jmec-boundary { border-left: 3px solid var(--accent); font-size: 14px; margin: 22px 0 0; padding-left: 15px; }
.jmec .jmec-proof { display: flex; flex-wrap: wrap; gap: 10px 20px; list-style: none; margin: 24px 0 0; padding: 0; }
.jmec .jmec-proof li { color: #334154; font-size: 14px; font-weight: 600; padding-left: 18px; position: relative; }
.jmec .jmec-proof li::before { background: var(--success); border-radius: 50%; content: ""; height: 7px; left: 0; position: absolute; top: 9px; width: 7px; }
.jmec .jmec-hero-media { align-items: center; background: transparent; border: 0; display: flex; flex-direction: column; justify-content: center; margin: 0; min-height: 430px; padding: 0; }
.jmec .jmec-hero-media img { filter: drop-shadow(0 16px 18px rgba(31, 45, 61, .16)); height: 400px; object-fit: contain; width: 100%; }
.jmec .jmec-hero-media figcaption { color: #617080; font-size: 12px; line-height: 1.45; margin-top: 12px; max-width: 470px; text-align: center; }

.jmec .jmec-boundaries { background: #fff; padding: 86px 0; }
.jmec .jmec-boundaries-grid { display: grid; gap: 72px; grid-template-columns: .78fr 1.22fr; }
.jmec .jmec-scope-columns { border-left: 1px solid var(--line); display: grid; gap: 36px; grid-template-columns: 1fr 1fr; padding-left: 40px; }
.jmec .jmec-scope-columns h3 { color: var(--accent-dark); }
.jmec .jmec-scope-columns .jmec-customer h3 { color: #6a4d1c; }
.jmec .jmec-scope-columns ul { list-style: none; margin: 0; padding: 0; }
.jmec .jmec-scope-columns li { border-top: 1px solid var(--line); color: #425063; font-size: 15px; padding: 12px 0 12px 22px; position: relative; }
.jmec .jmec-scope-columns li::before { color: var(--success); content: "+"; font-weight: 700; left: 0; position: absolute; }
.jmec .jmec-customer li::before { color: #9a7424; content: "="; }

.jmec .jmec-routes { background: var(--soft); padding: 88px 0; }
.jmec .jmec-route-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 42px; }
.jmec .jmec-route-card { background: #fff; border-top: 4px solid var(--accent); min-height: 265px; padding: 30px 26px; }
.jmec .jmec-route-card > p { color: var(--accent-dark); font-size: 12px; font-weight: 700; margin-bottom: 28px; text-transform: uppercase; }
.jmec .jmec-route-card > div { color: var(--muted); font-size: 15px; }

.jmec .jmec-engineering { background: var(--dark); color: #fff; padding: 88px 0; }
.jmec .jmec-engineering-grid { align-items: center; display: grid; gap: 72px; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.jmec .jmec-engineering figure { margin-bottom: 0; }
.jmec .jmec-engineering figure img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.jmec .jmec-engineering figcaption { color: #b7c4cf; font-size: 13px; margin-top: 12px; }
.jmec .jmec-engineering h2, .jmec .jmec-engineering h3 { color: #fff; }
.jmec .jmec-engineering p { color: #c3ced7; }
.jmec .jmec-engineering .jmec-kicker { color: #83c8ef; }
.jmec .jmec-engineering-points { border-top: 1px solid #394753; margin-top: 28px; }
.jmec .jmec-engineering-point { border-bottom: 1px solid #394753; display: grid; gap: 14px; grid-template-columns: 115px 1fr; padding: 14px 0; }
.jmec .jmec-engineering-point > p { color: #83c8ef; font-size: 12px; font-weight: 700; margin: 2px 0 0; text-transform: uppercase; }
.jmec .jmec-engineering-point h3 { font-size: 16px; margin-bottom: 4px; }
.jmec .jmec-engineering-point > div { color: #c3ced7; font-size: 14px; grid-column: 2; }

.jmec .jmec-options { background: #fff; padding: 88px 0; }
.jmec .jmec-option-grid { border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 42px 0 0; }
.jmec .jmec-option-grid div { border-top: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: minmax(150px, .72fr) minmax(0, 1.28fr); padding: 22px 26px 22px 0; }
.jmec .jmec-option-grid div:nth-child(even) { border-left: 1px solid var(--line); padding-left: 26px; }
.jmec .jmec-option-grid dt { font-size: 16px; font-weight: 700; }
.jmec .jmec-option-grid dd { color: var(--muted); font-size: 15px; margin: 0; }

.jmec .jmec-process { background: var(--soft); padding: 88px 0; }
.jmec .jmec-process-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 44px 0 0; padding: 0; }
.jmec .jmec-process-grid li { border-left: 1px solid var(--line); min-height: 230px; padding: 8px 22px; }
.jmec .jmec-process-grid li:first-child { border-left: 0; padding-left: 0; }
.jmec .jmec-process-grid span { color: var(--accent-dark); display: block; font-size: 13px; font-weight: 700; margin-bottom: 36px; }
.jmec .jmec-process-grid h3 { font-size: 18px; }
.jmec .jmec-process-grid p { font-size: 14px; margin-bottom: 0; }

.jmec .jmec-rfq { background: var(--accent-soft); padding: 82px 0; }
.jmec .jmec-rfq-grid { display: grid; gap: 72px; grid-template-columns: .8fr 1.2fr; }
.jmec .jmec-rfq-grid ul { column-count: 2; column-gap: 42px; list-style: none; margin: 0; padding: 0; }
.jmec .jmec-rfq-grid li { break-inside: avoid; border-top: 1px solid color-mix(in srgb, var(--accent) 28%, #cfd8df); color: #354557; font-size: 15px; padding: 13px 0 13px 22px; position: relative; }
.jmec .jmec-rfq-grid li::before { color: var(--success); content: "\2713"; font-weight: 700; left: 0; position: absolute; }

.jmec .jmec-related { background: #fff; padding: 88px 0; }
.jmec .jmec-related-grid { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 40px; }
.jmec .jmec-related-grid a { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 205px; padding: 24px 20px; text-decoration: none; }
.jmec .jmec-related-grid a:first-child { border-left: 1px solid var(--line); }
.jmec .jmec-related-grid span { color: var(--accent-dark); display: block; font-size: 12px; font-weight: 700; margin-bottom: 28px; text-transform: uppercase; }
.jmec .jmec-related-grid strong { display: block; font-size: 17px; line-height: 1.35; }
.jmec .jmec-related-grid small { color: var(--muted); display: block; font-size: 13px; line-height: 1.5; margin-top: 10px; }
.jmec .jmec-related-grid a:hover, .jmec .jmec-related-grid a:focus { background: var(--soft); }

.jmec .jmec-faq { background: var(--soft); padding: 88px 0; }
.jmec .jmec-faq-grid { display: grid; gap: 82px; grid-template-columns: .7fr 1.3fr; }
.jmec .jmec-faq-list { border-top: 1px solid #cbd5dd; }
.jmec .jmec-faq-list details { border-bottom: 1px solid #cbd5dd; }
.jmec .jmec-faq-list summary { cursor: pointer; font-size: 17px; font-weight: 700; list-style: none; padding: 19px 42px 19px 0; position: relative; }
.jmec .jmec-faq-list summary::-webkit-details-marker { display: none; }
.jmec .jmec-faq-list summary::after { color: var(--accent-dark); content: "+"; font-size: 24px; position: absolute; right: 4px; top: 13px; }
.jmec .jmec-faq-list details[open] summary::after { content: "\2212"; }
.jmec .jmec-faq-list details p { font-size: 15px; padding: 0 42px 18px 0; }

.jmec .jmec-final { background: var(--accent); padding: 70px 0; }
.jmec .jmec-final-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) auto; }
.jmec .jmec-final h2, .jmec .jmec-final .jmec-kicker { color: #fff; }
.jmec .jmec-final p { color: #e7f3f9; margin-bottom: 0; max-width: 760px; }
.jmec .jmec-final .jmec-actions { justify-content: flex-end; margin-top: 0; }
.jmec .jmec-text-link { color: #fff; font-weight: 700; text-underline-offset: 4px; }
