/* MCE SERVICE DETAIL — one reusable layout for the seven service pages */
.mces-root{--mces-dark:#061827;--mces-deep:#03111c;--mces-blue:#0876bd;--mces-cyan:#5ec5ee;--mces-line:#d7e3e9;--mces-muted:#627584}

/* HERO */
.mces-hero{position:relative;padding:150px 0 90px;color:#fff;background:radial-gradient(circle at 80% 30%,rgba(35,149,204,.2),transparent 34%),linear-gradient(135deg,#03111c 0%,#061827 55%,#09263a 100%);overflow:hidden}
.mces-hero .mcei-grid-overlay{opacity:.22}
.mces-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.mces-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:34px;color:#8ea6b5;font-size:11px;font-weight:750;letter-spacing:.03em}
.mces-breadcrumb a:hover{color:#fff}.mces-breadcrumb span[aria-current]{color:#d3dee5}
.mces-hero .mcei-kicker{color:#7dccf3}
.mces-hero h1{margin:0 0 16px;font-size:clamp(40px,4.9vw,72px);font-weight:560;line-height:.98;letter-spacing:-.05em}
.mces-subtitle{margin:0 0 20px;max-width:640px;font-size:clamp(18px,1.7vw,23px);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:#c7d5de}
.mces-intro{margin:0;max-width:640px;color:#9fb2be;font-size:15px;line-height:1.8}
.mces-hero-trust{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:26px;color:#8299a8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.mces-hero-trust span:before{content:"✓";color:#55c8ef;margin-right:6px}
.mces-hero-visual{min-width:0}
.mces-stage{position:relative;aspect-ratio:4/3.4;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0b2130;isolation:isolate}
.mces-stage>img,.mces-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mces-stage:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,17,28,.05) 40%,rgba(3,17,28,.7))}
.mces-stage:after{content:"";position:absolute;z-index:4;inset:14px;pointer-events:none;opacity:.6;background:linear-gradient(#62c9f0,#62c9f0) left top/30px 1px no-repeat,linear-gradient(#62c9f0,#62c9f0) left top/1px 30px no-repeat,linear-gradient(#62c9f0,#62c9f0) right top/30px 1px no-repeat,linear-gradient(#62c9f0,#62c9f0) right top/1px 30px no-repeat,linear-gradient(#62c9f0,#62c9f0) left bottom/30px 1px no-repeat,linear-gradient(#62c9f0,#62c9f0) left bottom/1px 30px no-repeat,linear-gradient(#62c9f0,#62c9f0) right bottom/30px 1px no-repeat,linear-gradient(#62c9f0,#62c9f0) right bottom/1px 30px no-repeat}
.mces-stage-grid{position:absolute;inset:0;z-index:2;background-image:linear-gradient(rgba(90,194,238,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(90,194,238,.09) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 80%,transparent)}
.mces-stage-scan{position:absolute;inset:0;z-index:3;pointer-events:none}
.mces-stage-scan span{position:absolute;left:4%;right:4%;top:8%;height:2px;background:linear-gradient(90deg,transparent,#55cafa 18%,#fff 50%,#55cafa 82%,transparent);box-shadow:0 0 16px rgba(85,202,250,.85);animation:mcesScan 3.6s cubic-bezier(.45,0,.55,1) infinite}
.mces-stage-readout{position:absolute;z-index:5;left:22px;bottom:22px;display:grid;gap:3px;padding:10px 13px;border:1px solid rgba(126,207,245,.24);background:rgba(4,20,31,.72);backdrop-filter:blur(8px)}
.mces-stage-readout i{position:absolute;right:12px;top:12px;width:6px;height:6px;border-radius:50%;background:#5ed998;box-shadow:0 0 0 4px rgba(94,217,152,.1);animation:mcesBlink 1.8s ease-in-out infinite}
.mces-stage-readout span{font-size:8px;font-weight:900;letter-spacing:.14em;color:#9dd3ec;padding-right:20px}
.mces-stage-readout strong{font-size:13px;letter-spacing:.02em}
@keyframes mcesScan{0%,100%{transform:translateY(0);opacity:.15}48%,52%{opacity:1}50%{transform:translateY(clamp(200px,32vw,390px))}}
@keyframes mcesBlink{0%,100%{opacity:.4}50%{opacity:1}}

/* USE CASE */
.mces-usecase{padding:105px 0;background:#fff}
.mces-usecase-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.mces-usecase-copy{position:sticky;top:110px}
.mces-usecase-copy h2{margin:0 0 20px;font-size:clamp(32px,3.6vw,50px);font-weight:560;line-height:1.04;letter-spacing:-.045em}
.mces-usecase-copy p{margin:0;color:var(--mces-muted);font-size:15px;line-height:1.8}
.mces-usecase-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--mces-line)}
.mces-usecase-list li{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:24px 6px;border-bottom:1px solid var(--mces-line);transition:background .25s ease,padding .25s ease}
.mces-usecase-list li:hover{background:#f6fafc;padding-left:14px}
.mces-usecase-list li>span{font-size:10px;font-weight:900;color:var(--mces-blue);padding-top:5px}
.mces-usecase-list h3{margin:0 0 6px;font-size:19px;letter-spacing:-.02em}
.mces-usecase-list p{margin:0;color:var(--mces-muted);font-size:13px;line-height:1.7}

/* CAPABILITIES */
.mces-capabilities{padding:105px 0;background:#f3f7f9}
.mces-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mces-line);border-left:1px solid var(--mces-line)}
.mces-cap{position:relative;min-height:210px;padding:26px;background:#fff;border-right:1px solid var(--mces-line);border-bottom:1px solid var(--mces-line);transition:transform .28s ease,box-shadow .28s ease}
.mces-cap:hover{z-index:2;transform:translateY(-4px);box-shadow:0 18px 44px rgba(6,24,39,.08)}
.mces-cap:before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--mces-blue);transition:width .45s ease}
.mces-cap:hover:before{width:100%}
.mces-cap>span{font-size:10px;font-weight:900;color:var(--mces-blue)}
.mces-cap h3{margin:44px 0 10px;font-size:19px;letter-spacing:-.02em}
.mces-cap p{margin:0;color:var(--mces-muted);font-size:13px;line-height:1.7}

/* TECHNICAL REFERENCE (ISO/IEC 17025 — Étalonnage only) */
.mces-reference{padding:0 0 105px;background:#f3f7f9}
.mces-reference-card{display:grid;grid-template-columns:96px 1fr;gap:34px;padding:42px;border:1px solid #bcd3df;border-left:4px solid var(--mces-blue);background:repeating-linear-gradient(135deg,#fff 0 18px,#fbfdfe 18px 36px)}
.mces-reference-mark svg{width:84px;height:84px;fill:none;stroke:var(--mces-blue);stroke-width:1.6}
.mces-reference-label{display:inline-block;margin-bottom:12px;padding:5px 9px;background:#e6f2f9;color:#0a5f97;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mces-reference-card h2{margin:0 0 14px;font-size:clamp(24px,2.6vw,34px);font-weight:600;letter-spacing:-.03em}
.mces-reference-card p{margin:0 0 10px;max-width:860px;color:#4f6371;font-size:14px;line-height:1.8}

/* METHODS + GALLERY */
.mces-methods{padding:105px 0;background:var(--mces-dark);color:#fff}
.mces-methods .mcei-kicker{color:#6dc5ec}
.mces-chips{display:flex;flex-wrap:wrap;gap:9px}
.mces-chips span{padding:10px 13px;border:1px solid rgba(126,207,245,.28);background:rgba(255,255,255,.03);font-size:12px;font-weight:800;color:#dbe8ef;transition:.25s}
.mces-chips span:hover{border-color:#5ec5ee;background:rgba(94,197,238,.08)}
.mces-products-link{display:inline-flex;gap:10px;margin-top:24px;color:#7fd0f3!important;font-size:13px;font-weight:900}
.mces-methods .mceh-reverse-frame{margin-top:50px}
.mces-gallery{display:grid;gap:14px;margin-top:50px}
.mces-gallery-1{grid-template-columns:1fr}.mces-gallery-2{grid-template-columns:1fr 1fr}.mces-gallery-3{grid-template-columns:1.3fr 1fr 1fr}
.mces-figure{position:relative;margin:0;height:400px;overflow:hidden;background:#0b2130}
.mces-gallery-1 .mces-figure{height:460px}
.mces-figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.mces-figure:hover img{transform:scale(1.03)}
.mces-figure figcaption{position:absolute;left:0;bottom:0;padding:12px 16px;background:rgba(3,17,28,.86);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* PROCESS */
.mces-process{padding:105px 0;background:#fff}
.mces-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:mces}
.mces-steps li{position:relative;padding:34px 24px 0 0}
.mces-steps li:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--mces-line)}
.mces-steps li:after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--mces-blue),var(--mces-cyan));transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s}
.mces-steps li.is-in:after{transform:scaleX(1)}
.mces-step-no{position:absolute;top:-6px;left:0;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--mces-blue);font-size:0}
.mces-steps h3{margin:12px 0 10px;font-size:20px;letter-spacing:-.02em}
.mces-steps h3:before{content:counter(mces,decimal-leading-zero) " ";counter-increment:mces;color:var(--mces-blue);font-size:11px;font-weight:900;letter-spacing:.08em;vertical-align:middle;margin-right:4px}
.mces-steps p{margin:0;color:var(--mces-muted);font-size:13px;line-height:1.7}

/* RELATED */
.mces-related{padding:105px 0;background:#f3f7f9}
.mces-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mces-related-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mces-line);transition:transform .28s ease,box-shadow .28s ease}
.mces-related-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(6,24,39,.1)}
.mces-related-media{height:220px;overflow:hidden;background:#0b2130}
.mces-related-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.mces-related-card:hover .mces-related-media img{transform:scale(1.04)}
.mces-related-copy{display:flex;flex-direction:column;flex:1;padding:22px}
.mces-related-copy span{font-size:9px;font-weight:900;color:var(--mces-blue);letter-spacing:.14em;text-transform:uppercase}
.mces-related-copy h3{margin:8px 0 8px;font-size:21px;letter-spacing:-.02em}
.mces-related-copy p{margin:0 0 18px;color:var(--mces-muted);font-size:13px;line-height:1.65}
.mces-related-copy b{margin-top:auto;font-size:12px;color:var(--mces-blue)}

/* RESPONSIVE */
@media(max-width:1080px){.mces-hero-grid{gap:40px}.mces-cap-grid{grid-template-columns:1fr 1fr}.mces-usecase-grid{gap:50px}.mces-gallery-3{grid-template-columns:1fr 1fr}.mces-gallery-3 .mces-figure:first-child{grid-column:1/-1}}
@media(max-width:820px){
  .mces-hero{padding:118px 0 64px}
  .mces-hero-grid,.mces-usecase-grid{grid-template-columns:1fr}
  .mces-usecase-copy{position:static}
  .mces-hero h1{font-size:clamp(36px,10vw,54px)}
  .mces-usecase,.mces-capabilities,.mces-methods,.mces-process,.mces-related{padding:72px 0}
  .mces-reference{padding-bottom:72px}
  .mces-steps{grid-template-columns:1fr 1fr;row-gap:34px}
  .mces-related-grid{grid-template-columns:1fr 1fr}
  .mces-figure{height:320px}
}
@media(max-width:560px){
  .mces-breadcrumb{margin-bottom:24px}
  .mces-intro{font-size:14px}
  .mces-hero .mcei-actions{display:grid}
  .mces-hero .mcei-actions a{width:100%}
  .mces-hero-trust{display:grid}
  .mces-cap-grid,.mces-related-grid,.mces-gallery-2,.mces-gallery-3{grid-template-columns:1fr}
  .mces-cap{min-height:auto}.mces-cap h3{margin-top:26px}
  .mces-reference-card{grid-template-columns:1fr;gap:16px;padding:26px 22px}
  .mces-reference-mark svg{width:56px;height:56px}
  .mces-steps{grid-template-columns:1fr}
  .mces-figure,.mces-gallery-1 .mces-figure{height:260px}
  .mces-stage{aspect-ratio:4/3.6}
  .mces-usecase-list li{grid-template-columns:38px 1fr}
}
@media(prefers-reduced-motion:reduce){
  .mces-root *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .mces-stage-scan span{opacity:.4}
  .mces-steps li:after{transform:scaleX(1)}
}
