/* Services: four-up service cards and the Moldflow / Moldex3D analysis service (from the client's PPTs). */
.img-grid.four{grid-template-columns:repeat(4,1fr)}
.img-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.img-card-link .body h3::after{content:" →";color:#016FC0}
@media (max-width:1100px){.img-grid.four{grid-template-columns:repeat(2,1fr)}}

/* ---------- Dark analysis block ---------- */
.mf{background:
  radial-gradient(900px 500px at 15% 20%,#016fc047,transparent 70%),
  linear-gradient(#ffffff08 1px,transparent 1px) 0 0/40px 40px,
  linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/40px 40px,#0B1622;color:#e6eef6}
.mf .sec-head .label{color:#E5B85C}
.mf .sec-head h2{color:#fff}
.mf .sec-head h2 .accent{color:#4EAEFC}
.mf .sec-head p{color:#b6c4d3;max-width:860px}
.mf-top{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch;margin-top:10px}
.mf-viewer{position:relative;margin:0;display:flex;flex-direction:column;padding:18px;border-radius:24px;background:#ffffff0a;border:1px solid #ffffff1f}
.mf-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.mf-badges li{padding:6px 12px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff2e;font:700 12px/1.2 Inter,sans-serif;letter-spacing:.04em;color:#e6eef6}
.mf-badges li:first-child{background:#016FC0;border-color:#016FC0;color:#fff}
.mf-stack{position:relative;flex:1;min-height:340px;border-radius:16px;background:#fff;overflow:hidden}
.mf-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.6s cubic-bezier(.22,.8,.24,1)}
.mf-slide.is-on{opacity:1;transform:none}
.mf-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#4eaefc26 48%,#4eaefc59 50%,#4eaefc26 52%,transparent 100%);background-size:220% 100%;animation:mfScan 3.4s linear infinite;mix-blend-mode:multiply}
@keyframes mfScan{from{background-position:120% 0}to{background-position:-20% 0}}
.mf-viewer figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;color:#b6c4d3}
.mf-dots{display:flex;gap:6px}
.mf-dots button{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.mf-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffffff4d;transition:width .3s,background .3s,border-radius .3s}
.mf-dots button[aria-current=true]::before{width:22px;border-radius:5px;background:#E5B85C}
.mf-dots button:focus-visible{outline:2px solid #E5B85C;outline-offset:2px;border-radius:6px}
.mf-side{display:flex;flex-direction:column;gap:18px}
.mf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}
.mf-stats div{padding:18px 16px;border-radius:18px;background:#ffffff0d;border:1px solid #ffffff1f}
.mf-stats dt{font:800 34px/1 Inter,sans-serif;letter-spacing:-.03em;color:#fff}
.mf-stats div:first-child dt{color:#E5B85C}
.mf-stats dd{margin:8px 0 0;font-size:13px;line-height:1.4;color:#b6c4d3}
.mf-stages{flex:1;padding:20px;border-radius:20px;background:#ffffff0a;border:1px solid #ffffff1f}
.mf-stages h3{margin:0 0 14px;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#E5B85C}
.mf-stage{padding:12px 0;border-top:1px solid #ffffff17}
.mf-stage h4{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:16px;color:#fff}
.mf-stage h4 span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#016FC0;font-size:12px}
.mf-stage ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0 0 0 38px;list-style:none}
.mf-stage li{padding:5px 10px;border-radius:999px;background:#ffffff0f;font-size:12.5px;color:#d6e2ee}
.mf-mods-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;margin:56px 0 18px}
.mf-mods-head h3{margin:0;font-size:clamp(22px,2.2vw,30px);color:#fff}
.mf-mods-head p{margin:0;color:#b6c4d3}
.mf-mods{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0;padding:0;list-style:none;counter-reset:none}
.mf-mod{position:relative;padding:18px 16px 20px;border-radius:18px;background:#ffffff0a;border:1px solid #ffffff1a;overflow:hidden;transition:transform .35s cubic-bezier(.22,.8,.24,1),background .35s,border-color .35s}
.mf-mod::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#016FC0,#4EAEFC);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.mf-mod:hover{transform:translateY(-4px);background:#016fc026;border-color:#4eaefc66}
.mf-mod:hover::after{transform:scaleX(1)}
.mf-code{display:inline-block;padding:4px 9px;border-radius:7px;background:#4eaefc26;color:#9BD3FF;font:800 11.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.mf-mod h4{margin:12px 0 6px;font-size:16px;color:#fff}
.mf-mod p{margin:0;font-size:13px;line-height:1.5;color:#b6c4d3}

/* ---------- Light value block ---------- */
.mf-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 0;padding:0;list-style:none}
.mf-adv li{padding:16px 18px;border-radius:16px;background:#0B1622;color:#fff}
.mf-adv b{display:block;font-size:15.5px;margin-bottom:4px;color:#E5B85C}
.mf-adv span{font-size:13.5px;line-height:1.45;color:#cfdbe7}
.mf-proc-wrap,.mf-ind{margin-top:44px}
.mf-proc-wrap h3,.mf-ind h3{margin:0 0 16px;font-size:clamp(20px,2vw,26px);text-align:center}
.mf-proc{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:0;padding:0;list-style:none}
.mf-proc::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:2px;background:repeating-linear-gradient(90deg,#016FC0 0 8px,transparent 8px 14px);opacity:.5}
.mf-proc li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.mf-pn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#016FC0;color:#fff;font:800 14px/1 Inter,sans-serif;box-shadow:0 0 0 6px #fff,0 10px 22px -10px #016fc0b3}
.mf-proc b{margin-top:6px;font-size:15px;color:#0B1622}
.mf-proc small{font-size:13px;line-height:1.45;color:#4b5563}
.mf-ind ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}
.mf-ind li{padding:10px 16px;border-radius:999px;background:#fff;border:1px solid #dbe6f1;font-weight:600;font-size:14px;color:#0B1622}
.mf-cta{margin:40px 0 0;text-align:center}

@media (max-width:1100px){
  .mf-top{grid-template-columns:1fr}
  .mf-mods{grid-template-columns:repeat(2,1fr)}
  .mf-adv{grid-template-columns:repeat(2,1fr)}
  .mf-proc{grid-template-columns:repeat(3,1fr);row-gap:26px}
  .mf-proc::before{display:none}
}
@media (max-width:760px){
  .img-grid.four{grid-template-columns:repeat(2,1fr)}
  .mf-stack{min-height:260px}
  .mf-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .mf-stats div{padding:14px 10px}
  .mf-stats dt{font-size:24px}
  .mf-stats dd{font-size:11.5px}
  .mf-stage ul{padding-left:0}
  .mf-mods{grid-template-columns:1fr 1fr;gap:10px}
  .mf-mod{padding:14px 12px 16px}
  .mf-mod h4{font-size:15px}
  .mf-mod p{font-size:12.5px}
  .mf-mods-head{margin-top:40px}
  .mf-adv{grid-template-columns:1fr}
  .mf-proc{grid-template-columns:1fr 1fr}
  .mf-cta .button{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.mf-scan{animation:none;display:none}.mf-slide{transition:none}}
.mf p,.mf li,.mf dd,.mf2 p,.mf2 small,.mf2 span{text-align:left;text-justify:auto}
.mf .sec-head p,.mf2 .mf-proc small,.mf2 .mf-proc b{text-align:center}
.mf-ind li{text-align:center}
