/*
Theme Name: Mabika Consulting
Theme URI: https://mabika-consulting.local/
Author: Mabika Consulting
Description: Thème Full Site Editing léger pour Mabika Consulting — Technologie × Information × Ingénierie.
Version: 1.9.4
Requires at least: 7.1
Requires PHP: 8.1
Text Domain: mabika-consulting
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');:root{--p:#8402E9;--k:#111;--w:#fff;--g:#F7F7F5;--m:#626262;--pad:clamp(20px,3.4vw,54px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#111}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.label,.num{font:500 13px/1.3 "JetBrains Mono";letter-spacing:.07em;color:var(--p)}header{position:absolute;z-index:20;top:0;left:0;right:0;height:74px;padding:0 var(--pad);display:flex;align-items:center;color:white;border-bottom:1px solid #ffffff2b}.brand{display:flex;flex-direction:column;font-size:19px;line-height:1}.brand small{font-size:8px;color:#aaa;margin-top:5px}nav{display:flex;gap:27px;margin-left:auto;font-size:12px}.right{display:flex;align-items:center;gap:22px;margin-left:28px}.lang{font:500 10px "JetBrains Mono"}.lang i{font-style:normal;color:#aaa}.headcta,.primary{background:var(--p);color:#fff;padding:14px 18px;font-size:12px;font-weight:700;display:inline-block}#menub,#mobilemenu{display:none}.hero{height:100svh;min-height:680px;background:url("assets/images/hero.png") center/cover no-repeat;display:flex;align-items:center;padding:82px var(--pad) 24px}.heroBox{width:min(1060px,78vw);background:#111111c9;color:white;padding:48px 58px}.heroBox h1{font-size:clamp(43px,3.55vw,59px);line-height:1.02;letter-spacing:-.06em;margin:18px 0}.heroBox h1 span{display:block;white-space:nowrap}.heroBox>p{max-width:700px;color:#ddd;font-size:16px}.actions{display:flex;gap:28px;align-items:center;margin:28px 0}.secondary{font-size:12px;font-weight:700;border-bottom:1px solid}.heroBox small{font:500 9px "JetBrains Mono";color:#aaa}.section{padding:64px var(--pad);max-width:1600px;margin:auto}.di{display:grid;grid-template-columns:.78fr 1.22fr .32fr;gap:34px;align-items:center}.di h2,.intro h2,.resources h2,.cta h2{letter-spacing:-.055em}.di h2{font-size:50px;line-height:1;margin:16px 0}.di h3{font-size:19px}.di p{color:var(--m);font-size:14px}.di figure{height:390px;margin:0;position:relative}.di figcaption{position:absolute;left:18px;bottom:18px;background:#111d;color:#fff;padding:12px 15px;font-weight:700}.caps{border-left:1px solid var(--p);display:flex;flex-direction:column;padding-left:22px}.caps span{padding:13px 0;border-bottom:1px solid #ddd;font-size:13px}.inlinecaps{display:none}.darkbtn{background:#111}.experts{background:var(--g);max-width:none}.experts>*{max-width:1490px;margin-left:auto;margin-right:auto}.intro h2{font-size:46px;line-height:1;margin:14px 0 0;white-space:nowrap}.intro>p{max-width:690px;color:var(--m);font-size:15px;margin:15px 0 30px}.expertGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.expertGrid article{display:grid;grid-template-columns:40% 60%;min-height:360px;background:#fff;border:1px solid #ddd}.copy{padding:27px 18px 24px 23px;display:flex;flex-direction:column}.copy h3{font-size:19px;line-height:1.08;letter-spacing:-.04em;margin:17px 0}.copy p{font-size:12px;color:var(--m);line-height:1.55}.copy a{margin-top:auto;font-size:12px;font-weight:700}.expertGrid article:hover a{color:var(--p)}.method{padding-top:56px;padding-bottom:56px}.methodGrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px}.methodGrid article{border-left:1px solid #ddd;padding:0 26px 15px 19px;min-height:190px}.methodGrid article:last-child{border-right:1px solid #ddd}.methodGrid article>b{font:500 11px "JetBrains Mono";color:var(--p)}.methodGrid h2{font-size:clamp(31px,2.6vw,43px);line-height:1;letter-spacing:-.055em;margin:20px 0}.methodGrid p{font-size:15px;color:var(--m);line-height:1.5}.conviction{height:620px;position:relative;color:#fff;overflow:hidden}.conviction>img,.shade{position:absolute;inset:0}.shade{background:linear-gradient(90deg,#111f 0,#111db 46%,#11155 80%)}.convText{position:relative;z-index:2;height:100%;padding:70px var(--pad);display:grid;grid-template-columns:1fr .75fr;gap:10vw;align-items:center;max-width:1600px;margin:auto}.convText h2{font-size:clamp(44px,4.6vw,70px);line-height:.98;letter-spacing:-.055em;margin:16px 0}.convSide>p{font-size:18px;line-height:1.55;color:#ddd}.convSide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.convSide b{border-top:1px solid #ffffff55;padding-top:12px;font:500 11px/1.5 "JetBrains Mono";text-transform:uppercase}.sectors .intro h2{white-space:nowrap}.sectorGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sectorGrid article>div{aspect-ratio:1.55;overflow:hidden}.sectorGrid img{transition:transform .45s}.sectorGrid h3,.sectorGrid a{transition:.3s}.sectorGrid article:hover img{transform:scale(1.045)}.sectorGrid article:hover h3{transform:translateX(5px)}.sectorGrid article:hover a{transform:translateX(7px);color:var(--p)}.sectorGrid h3{font-size:20px;margin:14px 0 6px}.sectorGrid p{font-size:13px;color:var(--m)}.sectorGrid a{display:inline-block;font-size:12px;font-weight:700}.resources{background:var(--g);max-width:none;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.resources>div,.resources>aside{max-width:700px}.resources h2{font-size:48px;line-height:1}.resources p{color:var(--m)}.resources aside{border-block:1px solid #ddd;padding:30px 0;align-self:end}.resources aside>b{font:500 11px "JetBrains Mono";color:var(--p)}.cta>div{max-width:1100px}.cta h2{font-size:64px;line-height:1;margin:16px 0}.cta p{max-width:600px;color:var(--m)}footer{background:#111;color:#fff;padding:58px var(--pad) 24px}.footTop{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;max-width:1490px;margin:auto}.footBrand p{font:500 9px "JetBrains Mono";color:#aaa;margin-top:30px}.footNav{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.footNav div>b{font-size:11px;color:#999}.footNav a{display:block;font-size:12px;margin:9px 0}.footBottom{max-width:1490px;margin:48px auto 0;border-top:1px solid #ffffff22;padding-top:20px;display:flex;justify-content:space-between;color:#888;font-size:10px}.linkedin{display:inline-flex;margin-left:12px;border:1px solid #ffffff44;width:25px;height:25px;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:700}
@media(max-width:1180px){nav,.headcta{display:none}#menub{display:block;background:none;border:0;color:white;font-size:10px}.right{margin-left:auto}.heroBox{width:min(900px,88vw)}.di{grid-template-columns:.82fr 1.18fr}.caps{display:none}.inlinecaps{display:block!important;color:#111!important}.expertGrid{display:block}.expertGrid article{grid-template-columns:1fr 1fr;margin-bottom:18px}.expertGrid article:nth-child(2) .copy{order:2}.expertGrid article:nth-child(2) img{order:1}.copy h3{font-size:23px;white-space:nowrap}.intro h2{font-size:clamp(30px,3.8vw,40px);white-space:nowrap}.methodGrid{grid-template-columns:1fr 1fr}.methodGrid article{border-top:1px solid #ddd;padding-top:22px}.convText{grid-template-columns:1fr 1fr}.footTop{grid-template-columns:1fr}.footNav{grid-template-columns:repeat(4,1fr)}#mobilemenu{position:fixed;top:74px;right:0;width:min(440px,58vw);background:#111;padding:28px 32px;color:#fff}#mobilemenu:not([hidden]){display:block}#mobilemenu em{font:500 9px "JetBrains Mono";color:#888;font-style:normal}#mobilemenu a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #ffffff22;font-size:20px}#mobilemenu b{color:#b85cff}.menucontact{background:var(--p);padding:14px!important;margin-top:18px;font-size:13px!important}.menucontact b{color:white!important}}
@media(max-width:767px){header{height:66px;padding:0 15px}.brand{font-size:15px}.brand small{display:none}.right{gap:12px}.hero{min-height:650px;padding:76px 10px 15px;align-items:center}.heroBox{width:100%;padding:23px 17px;transform:translateY(-1vh)}.heroBox .label{font-size:9px;white-space:nowrap;letter-spacing:.04em}.heroBox h1{font-size:clamp(27px,7.45vw,34px);line-height:1.04;margin:16px 0}.heroBox h1 span{white-space:normal;text-wrap:balance}.heroBox>p{font-size:13.5px;line-height:1.5}.actions{flex-direction:column;align-items:flex-start;gap:14px;margin:19px 0}.section{padding:52px 20px}.di{grid-template-columns:1fr}.di h2{font-size:39px}.di figure{height:auto;aspect-ratio:1.2}.intro h2,.sectors .intro h2{font-size:37px;white-space:normal}.expertGrid article,.expertGrid article:nth-child(2){grid-template-columns:1fr}.expertGrid article:nth-child(2) .copy{order:0}.expertGrid article:nth-child(2) img{order:0}.copy{min-height:225px}.copy h3{font-size:21px}.expertGrid img{height:52vw;min-height:190px}.methodGrid{grid-template-columns:1fr}.methodGrid article,.methodGrid article:last-child{border:0;border-top:1px solid #ddd;padding:21px 0 23px;min-height:0}.methodGrid article:last-child{border-bottom:1px solid #ddd}.methodGrid h2{font-size:39px;margin:11px 0}.methodGrid p{font-size:15px;margin:0}.conviction{height:720px}.shade{background:linear-gradient(0deg,#111 0,#111d 58%,#11133)}.convText{grid-template-columns:1fr;align-content:end;padding:50px 20px;gap:24px}.convText h2{font-size:43px}.convSide>p{font-size:16px}.convSide>div{grid-template-columns:1fr;gap:8px}.sectorGrid{grid-template-columns:1fr;gap:36px}.resources{grid-template-columns:1fr;gap:35px}.resources h2{font-size:39px}.cta h2{font-size:48px}.footNav{grid-template-columns:1fr 1fr;gap:30px 20px}.footBottom{flex-direction:column;gap:18px}#mobilemenu{top:66px;left:0;right:0;width:auto;padding:23px 20px}#mobilemenu a{font-size:19px;padding:11px 0}}


/* =========================================================
   V2.3 — readability + typography normalization
   ========================================================= */
:root{
  --text-body:15px;
  --text-small:13px;
  --text-label:13px;
  --text-nav:12px;
  --leading-body:1.55;
}

/* Shared type system: body copy no longer changes arbitrarily by section. */
.heroBox>p,.di p,.intro>p,.copy p,.methodGrid p,.sectorGrid p,
.resources p,.cta p,.convSide>p{
  font-size:var(--text-body);
  line-height:var(--leading-body);
}
.copy p,.sectorGrid p{font-size:var(--text-small)}
.copy a,.sectorGrid a,.secondary,.headcta,.primary{font-size:var(--text-nav)}
.label,.num{font-size:var(--text-label)}

/* Document Intelligence primary CTA = brand action. */
.di .darkbtn{background:var(--p);color:#fff}

/* Tablet/mobile capabilities: compact, legible 2×2 grid. */
.inlinecaps{display:none}
@media(max-width:1180px){
  .inlinecaps{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    margin:22px 0 4px;
    padding-top:10px;
    border-top:1px solid var(--p);
    color:var(--k)!important;
  }
  .inlinecaps span{
    padding:10px 0 9px;
    border-bottom:1px solid #d9d9d9;
    font-size:var(--text-body);
    font-weight:500;
    line-height:1.3;
  }
  .inlinecaps span:nth-child(even){padding-left:18px}
}

/* Conviction: guaranteed readable text field across the bright lake/sky area. */
.conviction .shade{
  background:
    linear-gradient(90deg,
      rgba(17,17,17,.92) 0%,
      rgba(17,17,17,.84) 42%,
      rgba(17,17,17,.68) 68%,
      rgba(17,17,17,.56) 100%);
}
.convSide{
  position:relative;
  padding:28px 30px;
  background:rgba(17,17,17,.58);
}
.convSide>p{color:#fff}
.convSide b{
  color:#fff;
  border-top-color:rgba(255,255,255,.5);
}

@media(min-width:768px) and (max-width:1180px){
  :root{--text-body:15px;--text-small:14px;--text-label:12px}
  .convSide{padding:24px}
}

@media(max-width:767px){
  :root{--text-body:15px;--text-small:14px;--text-label:11px}
  .heroBox>p{font-size:var(--text-body)}
  .copy p,.sectorGrid p{font-size:var(--text-small)}
  .inlinecaps span{font-size:14px}
  .convSide{
    padding:20px;
    background:rgba(17,17,17,.72);
  }
  .conviction .shade{
    background:linear-gradient(0deg,
      rgba(17,17,17,.98) 0%,
      rgba(17,17,17,.88) 62%,
      rgba(17,17,17,.30) 100%);
  }
}


/* =========================================================
   V2.4 — whole-block hover interactions
   ========================================================= */

/* Entire expertise/sector block behaves as one interactive surface. */
.expertGrid article,
.sectorGrid article{
  cursor:pointer;
}

/* Expertise: coordinated response from the whole article hover. */
.expertGrid article{
  overflow:hidden;
  transition:border-color .28s ease, background-color .28s ease;
}
.expertGrid article img{
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.expertGrid article .copy h3,
.expertGrid article .copy a,
.expertGrid article .num{
  transition:transform .3s ease,color .3s ease;
}
.expertGrid article:hover{
  border-color:rgba(132,2,233,.42);
}
.expertGrid article:hover img{
  transform:scale(1.045);
}
.expertGrid article:hover .copy h3{
  transform:translateX(4px);
}
.expertGrid article:hover .copy a{
  transform:translateX(7px);
  color:var(--p);
}
.expertGrid article:hover .num{
  color:var(--p);
}

/* Sector: hover is triggered by any point of the complete article. */
.sectorGrid article{
  transition:background-color .28s ease;
}
.sectorGrid article:hover{
  background:rgba(240,224,254,.18);
}
.sectorGrid article:hover img{
  transform:scale(1.045);
}
.sectorGrid article:hover h3{
  transform:translateX(5px);
}
.sectorGrid article:hover a{
  transform:translateX(7px);
  color:var(--p);
}

/* Keyboard users receive the same visual intent when links are focused. */
.expertGrid article:focus-within,
.sectorGrid article:focus-within{
  outline:2px solid var(--p);
  outline-offset:3px;
}

/* V2.5 — Hero value words test */
.heroBox h1 em{
  color:var(--p);
  font-style:normal;
  font-weight:inherit;
}


/* =========================================================
   SHARED SITE PROTOTYPE V1 — Document Intelligence
   Header/footer intentionally inherit the homepage system.
   ========================================================= */
.di-page header{position:absolute;background:transparent;color:#fff}.di-page header nav a,.di-page header .brand,.di-page header #menub{color:#fff}.di-page header .brand small{color:#ddd}
.diHero{height:100svh;position:relative;overflow:hidden;color:#fff}.diHero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.diHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.78) 48%,rgba(17,17,17,.26) 80%)}.diHeroText{position:relative;z-index:2;padding:clamp(145px,19vh,205px) max(34px,calc((100vw - 1380px)/2));max-width:1030px}.diHero h1{font-size:clamp(50px,5.5vw,80px);line-height:.98;letter-spacing:-.055em;margin:18px 0 25px}.diHero h1 em{font-style:normal;color:var(--p)}.diHeroText>p{max-width:760px;font-size:15px;line-height:1.6}.diHero .actions{display:flex;gap:28px;align-items:center;margin-top:30px}.diHero .secondary{color:#fff}.diHero small{position:absolute;top:calc(100svh - 48px);font:500 10px "JetBrains Mono";color:#ddd}
.diConstat{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px;background:#f7f7f5}.diConstat figure{position:relative;margin:0;min-height:690px;overflow:hidden}.diConstat figure img{width:100%;height:100%;object-fit:cover}.diConstatShade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.8),rgba(17,17,17,.06) 65%)}.diConstat figcaption{position:absolute;left:48px;bottom:45px;color:#fff;font-size:clamp(32px,3.2vw,50px);line-height:1.02;letter-spacing:-.04em}.diConstat figcaption strong{color:var(--p)}.diConstatCopy{padding:95px max(40px,calc((100vw - 1380px)/2)) 85px 70px;display:flex;flex-direction:column;justify-content:center}.diConstatCopy h2{font-size:clamp(38px,3.7vw,56px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 25px}.diConstatCopy>p{font-size:15px;line-height:1.65;color:#626262;max-width:560px}.diVerbs{margin-top:38px;border-top:1px solid #bbb}.diVerbs span{display:block;padding:12px 0;border-bottom:1px solid #ccc;font-weight:600}
.diHow{background:#111;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.diHowCopy h2{font-size:clamp(40px,4vw,60px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 22px}.diHowCopy p{color:#ccc;line-height:1.65;max-width:570px}.diFlow{display:grid;grid-template-columns:175px 50px 1fr;gap:28px;align-items:center}.diSheet{height:235px;background:#f7f7f5;color:#111;padding:22px;box-shadow:12px 12px 0 #292929}.diSheet b{font:600 10px "JetBrains Mono";color:#8402E9}.diSheet i{display:block;height:5px;background:#c7c7c7;margin-top:20px}.diSheet i:nth-of-type(2),.diSheet i:nth-of-type(5){width:72%}.diArrow{font-size:30px}.diOutputs{display:grid;border-left:1px solid #8402E9;padding-left:22px}.diOutputs span,.diOutputs strong{padding:11px 14px;border-bottom:1px solid #444;font-size:13px}.diOutputs strong{background:#8402E9;border:0;margin-top:10px}
.diUses .intro{max-width:930px}.diUseList{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #bbb}.diUseList article{padding:28px 32px 34px 0;border-bottom:1px solid #ccc;min-height:215px;transition:background .25s ease,padding .25s ease}.diUseList article:nth-child(3n+2),.diUseList article:nth-child(3n+3){border-left:1px solid #ddd;padding-left:30px}.diUseList article:hover{background:#f7f7f5;padding-left:12px}.diUseList article:nth-child(3n+2):hover,.diUseList article:nth-child(3n+3):hover{padding-left:40px}.diUseList h3{font-size:22px;line-height:1.1;margin:13px 0 10px}.diUseList p{font-size:14px;line-height:1.55;color:#626262;margin:0}
.diIntervention{min-height:680px;position:relative;color:#fff}.diIntervention>img,.diInterventionShade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.diInterventionShade{background:linear-gradient(90deg,rgba(17,17,17,.95),rgba(17,17,17,.79) 63%,rgba(17,17,17,.48))}.diInterventionInner{position:relative;z-index:2;max-width:1380px;margin:auto;padding:95px 34px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.diIntervention h2{font-size:clamp(42px,4vw,60px);line-height:1;letter-spacing:-.045em;margin:12px 0 22px}.diIntervention p{font-size:15px;line-height:1.6;color:#ddd}.diIntervention blockquote{margin:30px 0 0;border-left:3px solid #8402E9;padding:2px 0 2px 17px;font-weight:600;line-height:1.5}.diSteps article{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.35)}.diSteps article>b{font:600 22px "JetBrains Mono";color:#8402E9}.diSteps h3{font-size:20px;margin:0}.diSteps p{font-size:14px;margin:6px 0 0}
.diSecurity{background:#f7f7f5;display:grid;grid-template-columns:1fr 1fr;gap:90px}.diSecurity h2,.diFaq h2{font-size:clamp(40px,4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:12px 0}.diSecurity>div:last-child>p{font-size:15px;line-height:1.65}.diPrinciples{display:grid;grid-template-columns:1fr 1fr;margin:32px 0;border-top:1px solid #bbb}.diPrinciples span{padding:14px 0;border-bottom:1px solid #ccc;font-weight:600}.diPrinciples span:nth-child(even){padding-left:18px;border-left:1px solid #ccc}.diSecurity small{color:#626262;line-height:1.5}
.diFaq{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px}.diAccordion details{border-top:1px solid #bbb}.diAccordion details:last-child{border-bottom:1px solid #bbb}.diAccordion summary{cursor:pointer;list-style:none;position:relative;padding:19px 38px 19px 0;font-weight:600}.diAccordion summary:after{content:"+";position:absolute;right:4px;font-size:20px;font-weight:400}.diAccordion details[open] summary:after{content:"−"}.diAccordion details p{max-width:720px;color:#626262;line-height:1.6;margin:0 0 20px;font-size:14px}.diFinal{background:#fff}
@media(max-width:1180px){.diConstat{grid-template-columns:1fr}.diConstat figure{min-height:480px}.diConstatCopy{padding:70px 50px}.diHow{grid-template-columns:1fr;gap:50px}.diFlow{max-width:750px}.diInterventionInner{padding:80px 50px;gap:55px}.diSecurity,.diFaq{gap:55px}.diUseList{grid-template-columns:1fr 1fr}.diUseList article:nth-child(3n+2),.diUseList article:nth-child(3n+3){border-left:0;padding-left:0}.diUseList article:nth-child(even){border-left:1px solid #ddd;padding-left:28px}.diUseList article:nth-child(even):hover{padding-left:38px}}
@media(max-width:767px){.diHero{height:100svh}.diHeroShade{background:linear-gradient(0deg,rgba(17,17,17,.96),rgba(17,17,17,.74) 68%,rgba(17,17,17,.38))}.diHeroText{padding:115px 20px 30px}.diHero h1{font-size:clamp(39px,11.5vw,52px)}.diHeroText>p{font-size:15px}.diHero .actions{align-items:flex-start;flex-direction:column;gap:18px}.diHero small{top:auto;bottom:24px}.diConstat figure{min-height:430px}.diConstat figcaption{left:20px;bottom:25px;font-size:34px}.diConstatCopy{padding:65px 20px}.diConstatCopy h2{font-size:38px}.diHow{padding-left:20px;padding-right:20px}.diHowCopy h2{font-size:38px}.diFlow{grid-template-columns:90px 22px 1fr;gap:10px}.diSheet{height:170px;padding:12px}.diSheet i{height:4px;margin-top:15px}.diOutputs{padding-left:9px}.diOutputs span,.diOutputs strong{font-size:10px;padding:7px}.diUseList{grid-template-columns:1fr}.diUseList article,.diUseList article:nth-child(even){border-left:0;padding:23px 0;min-height:0}.diUseList article:hover,.diUseList article:nth-child(even):hover{padding-left:8px}.diIntervention{min-height:auto}.diInterventionInner{padding:70px 20px;grid-template-columns:1fr;gap:45px}.diSteps article{grid-template-columns:50px 1fr}.diSecurity,.diFaq{grid-template-columns:1fr;gap:38px}.diSecurity h2,.diFaq h2{font-size:38px}.diPrinciples{grid-template-columns:1fr}.diPrinciples span:nth-child(even){padding-left:0;border-left:0}}

/* =========================================================
   DOCUMENT INTELLIGENCE V1.2 — stronger photographic rhythm
   ========================================================= */
.di-v12 .diHero>img{object-position:center center}
.di-v12 .diHeroShade{background:linear-gradient(90deg,rgba(17,17,17,.96) 0%,rgba(17,17,17,.88) 34%,rgba(17,17,17,.52) 59%,rgba(17,17,17,.12) 82%)}
.v12Constat{display:grid;grid-template-columns:.95fr 1.05fr;background:#f7f7f5;min-height:600px}
.v12ConstatCopy{padding:90px 70px 85px max(34px,calc((100vw - 1380px)/2));display:flex;justify-content:center;flex-direction:column}
.v12ConstatCopy h2{font-size:clamp(39px,3.7vw,56px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 24px}
.v12ConstatCopy p{font-size:15px;line-height:1.65;color:#626262;max-width:590px;margin:0 0 14px}
.v12Constat figure{position:relative;margin:0;overflow:hidden;min-height:600px}
.v12Constat figure img{width:100%;height:100%;object-fit:cover}
.v12Constat figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.75),transparent 54%)}
.v12Constat figcaption{position:absolute;z-index:2;left:38px;bottom:35px;color:#fff;font-size:clamp(28px,2.8vw,44px);line-height:1.03;letter-spacing:-.04em}
.v12Constat figcaption strong{color:#8402E9}
.v12Transform{background:#111;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}
.v12TransformIntro h2{font-size:clamp(42px,4.1vw,62px);line-height:1;letter-spacing:-.045em;margin:12px 0 22px}
.v12TransformIntro p{font-size:15px;line-height:1.65;color:#ccc;max-width:600px}
.v12Flow{display:grid;grid-template-columns:180px 55px 1fr;gap:28px;align-items:center}
.v12Doc{height:245px;background:#f7f7f5;color:#111;padding:22px;box-shadow:12px 12px 0 #292929}
.v12Doc span{font:600 10px "JetBrains Mono";color:#8402E9}.v12Doc i{display:block;height:5px;background:#c6c6c6;margin-top:20px}.v12Doc i:nth-of-type(2),.v12Doc i:nth-of-type(5){width:72%}
.v12Arrow{font-size:30px;font-weight:400}.v12Results{border-left:1px solid #8402E9;padding-left:23px;display:grid}.v12Results span,.v12Results strong{padding:12px 14px;border-bottom:1px solid #444;font-size:13px}.v12Results strong{background:#8402E9;border:0;margin-top:11px}
.v12Apps .intro{max-width:900px}.v12AppsGrid{display:grid;grid-template-columns:1.08fr .92fr;margin-top:52px;border-top:1px solid #bbb}
.v12AppImage{margin:0;overflow:hidden;min-height:470px}.v12AppImage img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.v12AppImage:hover img{transform:scale(1.035)}
.v12AppCases{display:grid}.v12AppCases article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:25px 30px;border-bottom:1px solid #ccc;transition:background .25s ease,padding-left .25s ease}.v12AppCases article:hover{background:#f7f7f5;padding-left:38px}.v12AppCases article>b{font:600 13px "JetBrains Mono";color:#8402E9}.v12AppCases h3{font-size:21px;line-height:1.1;margin:0 0 8px}.v12AppCases p{font-size:14px;line-height:1.55;color:#626262;margin:0}.v12AppCases.b{border-left:1px solid #ccc}.v12AppImage.b{border-left:1px solid #ccc}
.v12Security{display:grid;grid-template-columns:.82fr 1.18fr;background:#f7f7f5;min-height:540px}.v12Security figure{margin:0;overflow:hidden;min-height:540px}.v12Security figure img{width:100%;height:100%;object-fit:cover}.v12SecurityCopy{padding:80px max(34px,calc((100vw - 1380px)/2)) 75px 70px;display:flex;justify-content:center;flex-direction:column}.v12SecurityCopy h2{font-size:clamp(39px,3.8vw,56px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 22px}.v12SecurityCopy>p{font-size:15px;line-height:1.65;max-width:650px}.v12SecurityCopy small{color:#626262;line-height:1.55;max-width:650px}
@media(max-width:1100px){.v12Constat{grid-template-columns:1fr}.v12ConstatCopy{padding:75px 50px}.v12Constat figure{min-height:470px}.v12Transform{grid-template-columns:1fr;gap:48px}.v12Flow{max-width:760px}.v12AppsGrid{grid-template-columns:1fr 1fr}.v12AppImage{min-height:400px}.v12Security{grid-template-columns:1fr}.v12Security figure{min-height:430px}.v12SecurityCopy{padding:70px 50px}}
@media(max-width:767px){.di-v12 .diHeroShade{background:linear-gradient(0deg,rgba(17,17,17,.97) 0%,rgba(17,17,17,.82) 60%,rgba(17,17,17,.3) 100%)}.v12ConstatCopy{padding:65px 20px}.v12ConstatCopy h2{font-size:38px}.v12Constat figure{min-height:390px}.v12Constat figcaption{left:20px;bottom:22px;font-size:31px}.v12Transform{padding-left:20px;padding-right:20px}.v12TransformIntro h2{font-size:38px}.v12Flow{grid-template-columns:90px 22px 1fr;gap:10px}.v12Doc{height:170px;padding:12px}.v12Doc i{height:4px;margin-top:15px}.v12Results{padding-left:9px}.v12Results span,.v12Results strong{font-size:10px;padding:7px}.v12AppsGrid{grid-template-columns:1fr}.v12AppImage{min-height:310px}.v12AppCases.b{border-left:0}.v12AppImage.b{border-left:0}.v12AppCases article{padding:21px 0;grid-template-columns:44px 1fr}.v12AppCases article:hover{padding-left:7px}.v12AppImage.b{order:3}.v12AppCases.b{order:4}.v12Security figure{min-height:330px}.v12SecurityCopy{padding:65px 20px}.v12SecurityCopy h2{font-size:38px}}


/* =========================================================
   DOCUMENT INTELLIGENCE V1.3
   Editorial continuity + security before conversion
   ========================================================= */

/* Desktop continuity: sections share a rhythm instead of reading as isolated panels. */
@media(min-width:1101px){
  .di-v12 .v12Constat{margin:0 4vw;position:relative;z-index:2;transform:translateY(-34px);box-shadow:0 24px 60px rgba(17,17,17,.07)}
  .di-v12 .v12Transform{margin-top:-34px;padding-top:135px;padding-bottom:125px}
  .di-v12 .v12Apps{padding-top:95px;padding-bottom:120px}
  .di-v12 .v12Security{margin:0 4vw;position:relative;z-index:2}
  .di-v12 .v12Intervention{margin-top:0}
  .di-v12 .diFaq{padding-top:110px;padding-bottom:110px}
}

/* Replace dashboard/table visual with a loose editorial transformation. */
.v13Flow{display:grid;grid-template-columns:190px minmax(90px,1fr) minmax(300px,1.25fr);align-items:center;gap:30px;min-height:330px}
.v13Source{align-self:center}.v13Eyebrow{font:600 10px "JetBrains Mono";letter-spacing:.08em;color:#8402E9}
.v13Paper{width:155px;height:215px;background:#f7f7f5;margin:14px 0 13px;padding:25px 18px;box-shadow:12px 12px 0 rgba(255,255,255,.08);transform:rotate(-1.5deg)}
.v13Paper i{display:block;height:4px;background:#bdbdbd;margin-bottom:17px}.v13Paper i:nth-child(2),.v13Paper i:nth-child(5){width:68%}
.v13Source small{display:block;color:#8d8d8d;font-size:10px;line-height:1.45;max-width:170px}
.v13Axis{display:flex;align-items:center;gap:12px}.v13Axis span{height:1px;background:linear-gradient(90deg,#555,#8402E9);flex:1}.v13Axis b{color:#8402E9;font-size:25px;font-weight:400}
.v13Fragments{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 34px;padding:18px 0 92px}
.v13Fragments>div{display:flex;align-items:baseline;gap:13px;padding:15px 0;border-bottom:1px solid #3c3c3c}
.v13Fragments em{font:500 9px "JetBrains Mono";font-style:normal;color:#8402E9}.v13Fragments span{font-size:15px;font-weight:600}
.v13Fragments strong{position:absolute;right:0;bottom:0;font-size:clamp(27px,2.5vw,39px);line-height:.98;letter-spacing:-.035em;color:#fff;text-align:right}
.v13Fragments strong:before{content:"";display:block;width:48px;height:3px;background:#8402E9;margin:0 0 12px auto}

/* Security becomes a calm bridge between use cases and the intervention. */
.v12Security{border-top:1px solid #e2e2df;border-bottom:0}
.v12SecurityCopy{position:relative}
.v12SecurityCopy:before{content:"";position:absolute;left:70px;top:54px;width:46px;height:2px;background:#8402E9}
.v12SecurityCopy .label{margin-top:10px}
.v12SecurityCopy .diPrinciples{display:flex;flex-wrap:wrap;gap:9px 24px;border:0;margin:28px 0 25px}
.v12SecurityCopy .diPrinciples span,.v12SecurityCopy .diPrinciples span:nth-child(even){border:0;padding:0 0 5px;font-size:13px;font-weight:600;border-bottom:1px solid #bdbdb8}
.v12SecurityCopy .diPrinciples span:before{content:"↳";font-family:"JetBrains Mono";color:#8402E9;margin-right:8px;font-size:10px}

/* Intervention is now the single conversion moment. */
.v13InterventionCta{margin-top:28px}
.v12Intervention .diInterventionShade{background:linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.84) 58%,rgba(17,17,17,.52))}
.v12Intervention .diInterventionInner{padding-top:88px;padding-bottom:88px}

/* FAQ closes the story directly into the shared footer. */
.diFaq{border-bottom:1px solid #e4e4e1}
.diFaq + footer{margin-top:0}

@media(max-width:1100px){
  .v13Flow{grid-template-columns:155px 70px 1fr;min-height:290px}
  .v13Paper{width:135px;height:190px}
  .v12SecurityCopy:before{left:50px}
}
@media(max-width:767px){
  .v13Flow{grid-template-columns:90px 25px 1fr;gap:10px;min-height:235px}
  .v13Paper{width:82px;height:125px;padding:13px 10px;margin-top:10px;box-shadow:7px 7px 0 rgba(255,255,255,.08)}
  .v13Paper i{height:3px;margin-bottom:10px}.v13Source small{display:none}.v13Axis{gap:5px}.v13Axis b{font-size:18px}
  .v13Fragments{grid-template-columns:1fr;padding:0 0 70px}.v13Fragments>div{padding:8px 0}.v13Fragments span{font-size:11px}.v13Fragments strong{font-size:23px}
  .v12SecurityCopy:before{left:20px;top:42px}
  .v12SecurityCopy .diPrinciples{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
  .v13InterventionCta{margin-top:22px}
}


/* =========================================================
   DOCUMENT INTELLIGENCE V1.4
   Desktop density + deliberate Hero/Constat breathing room
   + tablet portrait non-immersive hero
   ========================================================= */

/* DESKTOP — Q&A becomes the density reference. */
@media(min-width:1101px){
  /* A real chapter break after the immersive hero. */
  .di-v12 .v12Constat{
    margin:64px 4vw 0;
    transform:none;
    min-height:500px;
    box-shadow:none;
  }
  .di-v12 .v12Constat figure{min-height:500px}
  .di-v12 .v12ConstatCopy{padding-top:66px;padding-bottom:62px}

  /* Solution: keep the dark technological moment, remove excess vertical runway. */
  .di-v12 .v12Transform{
    margin-top:0;
    padding-top:82px;
    padding-bottom:82px;
  }
  .di-v12 .v13Flow{min-height:270px}
  .di-v12 .v13Paper{height:195px;width:145px}
  .di-v12 .v13Fragments{padding-bottom:76px}
  .di-v12 .v13Fragments>div{padding-top:11px;padding-bottom:11px}

  /* Applications: preserve the two-photo rhythm but make it editorial, not monumental. */
  .di-v12 .v12Apps{
    padding-top:76px;
    padding-bottom:82px;
  }
  .di-v12 .v12AppsGrid{margin-top:38px}
  .di-v12 .v12AppImage{min-height:360px}
  .di-v12 .v12AppCases article{
    padding-top:18px;
    padding-bottom:18px;
  }

  /* Security is a bridge, not another full-screen chapter. */
  .di-v12 .v12Security{
    margin:0 4vw;
    min-height:430px;
  }
  .di-v12 .v12Security figure{min-height:430px}
  .di-v12 .v12SecurityCopy{padding-top:58px;padding-bottom:56px}
  .di-v12 .v12SecurityCopy:before{top:39px}
  .di-v12 .v12SecurityCopy .diPrinciples{margin-top:22px;margin-bottom:20px}

  /* Intervention is the conversion moment: compact, clear, not another viewport. */
  .di-v12 .v12Intervention{min-height:520px}
  .di-v12 .v12Intervention .diInterventionInner{
    padding-top:64px;
    padding-bottom:64px;
  }
  .di-v12 .v12Intervention .diSteps article{
    padding-top:13px;
    padding-bottom:13px;
  }
  .di-v12 .v13InterventionCta{margin-top:22px}

  /* Q&A was already right; keep essentially its existing density. */
  .di-v12 .diFaq{
    padding-top:88px;
    padding-bottom:88px;
  }
}

/* TABLET — portrait is not a squeezed desktop cover. */
@media(min-width:768px) and (max-width:1100px){
  .di-v12 .diHero{
    height:auto;
    min-height:640px;
  }
  .di-v12 .diHeroText{
    padding-top:128px;
    padding-bottom:74px;
    max-width:760px;
  }
  .di-v12 .diHero h1{
    font-size:clamp(48px,6.2vw,64px);
    max-width:720px;
  }
  .di-v12 .diHeroText>p{
    max-width:680px;
    font-size:15px;
  }
  .di-v12 .diHero small{
    position:static;
    display:block;
    margin-top:28px;
  }
  .di-v12 .v12Constat{margin-top:44px}
  .di-v12 .v12ConstatCopy{padding-top:62px;padding-bottom:60px}
  .di-v12 .v12Constat figure{min-height:420px}
  .di-v12 .v12Transform{padding-top:72px;padding-bottom:72px}
  .di-v12 .v12Apps{padding-top:70px;padding-bottom:72px}
  .di-v12 .v12AppImage{min-height:340px}
  .di-v12 .v12Security figure{min-height:360px}
  .di-v12 .v12SecurityCopy{padding-top:60px;padding-bottom:58px}
  .di-v12 .v12Intervention .diInterventionInner{padding-top:65px;padding-bottom:65px}
}

/* Keep mobile logic independent; only give Hero → Constat a small explicit pause. */
@media(max-width:767px){
  .di-v12 .v12Constat{margin-top:24px}
}


/* =========================================================
   DOCUMENT INTELLIGENCE V1.5
   CTA cleanup + source/result hierarchy + tighter tablet intervention
   ========================================================= */

/* Hero has one clear action. */
.di-v12 .diHero .actions{gap:0}

/* The constat photograph now speaks without a second slogan overlay. */
.di-v12 .v12Constat figure:after{background:linear-gradient(0deg,rgba(17,17,17,.18),transparent 45%)}

/* SOURCE is intentionally raw / subdued; the result stays fully present. */
.di-v12 .v13Source{opacity:.7}
.di-v12 .v13Paper{
  opacity:.72;
  filter:contrast(.82) brightness(.92);
  box-shadow:10px 10px 0 rgba(255,255,255,.045);
}
.di-v12 .v13Paper i{background:#aaa}
.di-v12 .v13Eyebrow{opacity:.82}
.di-v12 .v13Axis span{opacity:.72}
.di-v12 .v13Fragments>div:nth-child(1){opacity:.68}
.di-v12 .v13Fragments>div:nth-child(2){opacity:.78}
.di-v12 .v13Fragments>div:nth-child(3){opacity:.88}
.di-v12 .v13Fragments>div:nth-child(4){opacity:1}
.di-v12 .v13Fragments strong{opacity:1}

/* Tablet: intervention should read as a compact conversion block, not another screen. */
@media(min-width:768px) and (max-width:1100px){
  .di-v12 .v12Intervention{min-height:0}
  .di-v12 .v12Intervention .diInterventionInner{
    padding-top:48px;
    padding-bottom:48px;
    gap:42px;
  }
  .di-v12 .v12Intervention h2{margin-top:8px;margin-bottom:14px}
  .di-v12 .v12Intervention .diSteps article{
    padding-top:10px;
    padding-bottom:10px;
  }
  .di-v12 .v12Intervention .diSteps p{margin-top:3px}
  .di-v12 .v12Intervention blockquote{margin-top:20px}
  .di-v12 .v13InterventionCta{margin-top:18px}
}


/* =========================================================
   DOCUMENT INTELLIGENCE V1.6
   Clean transformation + compact mobile hero
   ========================================================= */

/* Transformation: no fake source document, no arrow, no duplicated result. */
.v16Operations{
  align-self:center;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #454545;
}
.v16Operations>div{
  min-height:92px;
  padding:22px 10px 20px 0;
  border-bottom:1px solid #454545;
  display:flex;
  align-items:flex-start;
  gap:18px;
  position:relative;
}
.v16Operations>div:nth-child(even){
  padding-left:28px;
  border-left:1px solid #343434;
}
.v16Operations em{
  font:600 10px "JetBrains Mono";
  font-style:normal;
  color:#8402E9;
  padding-top:5px;
}
.v16Operations strong{
  font-size:clamp(20px,1.8vw,28px);
  line-height:1;
  letter-spacing:-.025em;
}
.v16Operations>div:after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  height:2px;
  width:0;
  background:#8402E9;
  transition:width .3s ease;
}
.v16Operations>div:hover:after{width:54px}

/* Tablet: keep the same simple operation matrix. */
@media(min-width:768px) and (max-width:1100px){
  .v16Operations{max-width:760px;width:100%}
  .v16Operations>div{min-height:78px;padding-top:18px;padding-bottom:17px}
}

/* Mobile hero is content-led, not immersive. */
@media(max-width:767px){
  .di-v12 .diHero{
    height:auto;
    min-height:0;
  }
  .di-v12 .diHeroText{
    padding-top:112px;
    padding-bottom:78px;
  }
  .di-v12 .diHero small{
    position:static;
    display:block;
    margin-top:14px;
  }
  .di-v12 .diHero .actions{margin-top:26px}
  .di-v12 .v12Constat{margin-top:24px}

  .v16Operations{
    grid-template-columns:1fr 1fr;
    margin-top:4px;
  }
  .v16Operations>div{
    min-height:68px;
    padding:16px 8px 14px 0;
    gap:10px;
  }
  .v16Operations>div:nth-child(even){padding-left:14px}
  .v16Operations em{font-size:8px;padding-top:3px}
  .v16Operations strong{font-size:16px}
}


/* =========================================================
   DOCUMENT INTELLIGENCE V1.7 — LA SOLUTION
   Recomposition based on validated visual reference.
   ========================================================= */
.v17Solution{
  grid-template-columns:minmax(360px,.9fr) minmax(600px,1.25fr);
  gap:72px;
  align-items:center;
}
.v17Solution .v12TransformIntro h2{
  font-size:clamp(42px,3.65vw,58px);
  line-height:1.02;
  margin-bottom:22px;
}
.v17Solution .v12TransformIntro p{
  max-width:580px;
  font-size:15px;
  line-height:1.55;
}
.v17Process{
  display:grid;
  grid-template-columns:170px minmax(75px,1fr) minmax(300px,1.25fr);
  gap:22px;
  align-items:center;
}
.v17Document{display:flex;flex-direction:column;align-items:center}
.v17Sheet{
  width:145px;height:195px;background:#f5f5f3;color:#111;
  padding:20px 16px;box-shadow:10px 10px 0 rgba(255,255,255,.07);
  position:relative;
}
.v17Sheet:after{
  content:"";position:absolute;right:0;top:0;
  border-top:24px solid #111;border-left:24px solid transparent;
}
.v17Sheet span{font:600 8px "JetBrains Mono";color:#111}
.v17Sheet i{display:block;height:3px;background:#b8b8b5;margin-top:15px}
.v17Sheet i:nth-of-type(2),.v17Sheet i:nth-of-type(5){width:72%}
.v17Document small{
  margin-top:12px;padding:8px 13px;background:#242424;color:#ddd;
  font:500 11px "JetBrains Mono";
}
.v17Arrow{display:flex;align-items:center;gap:8px}
.v17Arrow span{height:1px;background:#7b7b7b;flex:1}
.v17Arrow b{font-size:27px;font-weight:300;color:#ddd}
.v17Outputs{
  position:relative;display:grid;gap:8px;
  padding-left:28px;border-left:1px solid #8402E9;
}
.v17Outputs>div,.v17Outputs>strong{
  min-height:43px;display:flex;align-items:center;gap:12px;
  padding:10px 15px;background:#242424;color:#f4f4f4;
  font-size:13px;font-weight:600;position:relative;
}
.v17Outputs>div:before,.v17Outputs>strong:before{
  content:"";position:absolute;left:-29px;top:50%;width:20px;
  border-top:1px solid #8402E9;
}
.v17Outputs em{font-style:normal;color:#8402E9;font-size:17px}
.v17Outputs>strong{
  margin-top:7px;background:#8402E9;color:#fff;font-size:13px;
}
.v17Outputs>strong em{color:#fff}

/* Tablet: same narrative, compact enough to remain legible. */
@media(min-width:768px) and (max-width:1100px){
  .v17Solution{grid-template-columns:1fr;gap:42px}
  .v17Solution .v12TransformIntro{max-width:720px}
  .v17Process{
    grid-template-columns:140px minmax(55px,.55fr) minmax(320px,1.4fr);
    max-width:780px;width:100%;
  }
  .v17Sheet{width:120px;height:165px;padding:16px 13px}
  .v17Outputs>div,.v17Outputs>strong{min-height:38px;padding:8px 12px}
}

/* Mobile: preserve document → transformation → result, without horizontal overflow. */
@media(max-width:767px){
  .v17Solution{display:block}
  .v17Solution .v12TransformIntro h2{font-size:38px}
  .v17Solution .v12TransformIntro p{font-size:15px;line-height:1.55}
  .v17Process{
    margin-top:42px;
    grid-template-columns:82px 30px minmax(0,1fr);
    gap:10px;width:100%;
  }
  .v17Sheet{width:74px;height:105px;padding:10px 8px;box-shadow:5px 5px 0 rgba(255,255,255,.07)}
  .v17Sheet:after{border-top-width:14px;border-left-width:14px}
  .v17Sheet span{font-size:5px}.v17Sheet i{height:2px;margin-top:8px}
  .v17Document small{font-size:7px;padding:5px 6px;margin-top:7px}
  .v17Arrow{gap:3px}.v17Arrow b{font-size:16px}
  .v17Outputs{gap:5px;padding-left:10px}
  .v17Outputs>div,.v17Outputs>strong{
    min-height:31px;padding:6px 7px;gap:6px;font-size:9px;line-height:1.15;
  }
  .v17Outputs>div:before,.v17Outputs>strong:before{left:-11px;width:8px}
  .v17Outputs em{font-size:12px}
  .v17Outputs>strong{font-size:9px;margin-top:3px}
}

/* =========================================================
   CONTACT V2.3 — CLEAN REBUILD
   One source of truth for desktop / tablet / mobile.
   ========================================================= */

.contact-page{
  background:#fff;
  color:#111;
}
.contact-page header{
  background:#111;
}

/* ---------- 01 / CONTACT INTRO ---------- */
.contactHeroV20{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  height:410px;
  min-height:0;
  padding:108px max(34px,calc((100vw - 1380px)/2)) 54px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
}
.contactHeroV20 .contactHeroImage{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:61% 43%;
}
/* No dark overlay: the approved asset is already sufficiently dark. */
.contactHeroV20 .contactHeroShade{
  display:none;
}
.contactHeroV20 .contactHeroMain{
  position:relative;
  z-index:1;
  width:min(600px,46vw);
  margin:0;
  text-align:left;
}
.contactHeroV20 .label{
  color:#8402E9;
}
.contactHeroV20 .contactHeroMain h1{
  margin:10px 0 17px;
  max-width:590px;
  color:#fff;
  font-size:clamp(48px,4.2vw,64px);
  line-height:.95;
  letter-spacing:-.05em;
}
.contactHeroV20 .contactHeroMain h1 span{
  color:#8402E9;
}
.contactHeroV20 .contactHeroMain p{
  margin:0;
  max-width:570px;
  color:#fff;
  font-size:15px;
  line-height:1.55;
}
.contactHeroV20 .contactLocation{
  position:absolute;
  z-index:1;
  left:max(34px,calc((100vw - 1380px)/2));
  bottom:24px;
  margin:0;
  color:#fff;
  font:500 10px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.02em;
}

/* ---------- 02 / PREMIER ECHANGE ---------- */
.contactExchange{
  position:relative;
  z-index:0;
  margin:0;
  padding:58px max(34px,calc((100vw - 1380px)/2)) 60px;
  background:#F7F7F5;
  color:#111;
  border-bottom:1px solid #deded9;
}
.contactExchangeTitle{
  margin:0 0 34px;
}
.contactExchangeTitle h2{
  margin:10px 0 0;
  max-width:660px;
  color:#111;
  font-size:clamp(34px,3.2vw,48px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.contactExchangeSteps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:64px;
}
.contactExchangeSteps article{
  min-width:0;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:14px;
  padding:14px 0 0;
  border-top:1px solid #c7c7c2;
}
.contactExchangeSteps article>b{
  color:#8402E9;
  font:600 18px/1 "JetBrains Mono",monospace;
}
.contactExchangeSteps strong{
  display:block;
  color:#111;
  font-size:15px;
  line-height:1.3;
}
.contactExchangeSteps p{
  margin:5px 0 0;
  color:#626262;
  font-size:13px;
  line-height:1.5;
}

/* ---------- 03 / MESSAGE ---------- */
.contactMessage{
  position:relative;
  z-index:0;
  margin:0;
  padding:68px max(34px,calc((100vw - 1380px)/2)) 72px;
  background:#fff;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:68px;
  align-items:start;
}
.contactMessageForm{
  min-width:0;
}
.contactMessageForm h2{
  margin:10px 0 9px;
  color:#111;
  font-size:clamp(38px,3.5vw,52px);
  line-height:1;
  letter-spacing:-.045em;
}
.contactMessageLead{
  margin:0 0 30px;
  color:#626262;
  font-size:15px;
  line-height:1.5;
}
.contactFormV20{
  max-width:620px;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.contactFormV20 .formRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.contactFormV20 label{
  display:block;
  margin:0 0 21px;
  color:#111;
  font-size:13px;
  font-weight:700;
}
.contactFormV20 input,
.contactFormV20 textarea{
  box-sizing:border-box;
  display:block;
  width:100%;
  margin-top:8px;
  padding:13px 12px;
  color:#111;
  background:#fff;
  border:1px solid #c9c9c5;
  border-radius:0;
  font:inherit;
  outline:none;
}
.contactFormV20 textarea{
  min-height:132px;
  resize:vertical;
}
.contactFormV20 input:focus,
.contactFormV20 textarea:focus{
  border-color:#8402E9;
}
.contactFormV20 .primary{
  border:0;
  background:#8402E9;
  color:#fff;
  padding:16px 24px;
  font-weight:750;
  cursor:pointer;
}
.contactMessageVisual{
  position:relative;
  min-width:0;
  min-height:500px;
  margin:0;
  overflow:hidden;
  background:#111;
}
.contactMessageVisual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.contactMessageVisual::after{
  content:none;
}

/* ---------- 04 / APPROACH ---------- */
.contactApproach{
  margin:0;
  padding:56px max(34px,calc((100vw - 1380px)/2)) 58px;
  background:#111;
  color:#fff;
  display:block;
}
.contactApproach>div:first-child,
.contactApproachCopy{
  max-width:780px;
}
.contactApproach h2{
  margin:10px 0 20px;
  color:#fff;
  font-size:clamp(35px,3.4vw,50px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.contactApproach h2 em{
  color:#8402E9;
  font-style:normal;
}
.contactApproachCopy p{
  max-width:720px;
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.65;
}
.contactApproachCopy i{
  display:block;
  width:42px;
  margin-top:24px;
  border-top:2px solid #8402E9;
}

/* ---------- TABLET ---------- */
@media (min-width:768px) and (max-width:1100px){
  .contactHeroV20{
    height:400px;
    padding:100px 50px 54px;
  }
  .contactHeroV20 .contactHeroImage{
    object-position:61% 42%;
  }
  .contactHeroV20 .contactHeroMain{
    width:min(510px,60vw);
  }
  .contactHeroV20 .contactHeroMain h1{
    font-size:50px;
  }
  .contactHeroV20 .contactHeroMain p{
    font-size:14px;
  }
  .contactHeroV20 .contactLocation{
    left:50px;
    bottom:22px;
  }

  .contactExchange{
    padding:52px 50px 54px;
  }
  .contactExchangeTitle h2{
    font-size:40px;
  }
  .contactExchangeSteps{
    gap:34px;
  }

  .contactMessage{
    padding:58px 50px 62px;
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .contactMessageForm h2{
    font-size:40px;
  }
  .contactMessageVisual{
    min-height:430px;
  }

  .contactApproach{
    padding:50px;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width:767px){
  .contactHeroV20{
    height:auto;
    min-height:430px;
    padding:100px 20px 68px;
    align-items:flex-end;
  }
  .contactHeroV20 .contactHeroImage{
    object-position:60% 36%;
    opacity:.72;
  }
  .contactHeroV20 .contactHeroMain{
    width:100%;
    margin:0 0 44px;
  }
  .contactHeroV20 .contactHeroMain h1{
    max-width:360px;
    font-size:43px;
    line-height:.96;
  }
  .contactHeroV20 .contactHeroMain p{
    max-width:350px;
    font-size:14px;
    line-height:1.5;
  }
  .contactHeroV20 .contactLocation{
    left:20px;
    bottom:22px;
  }

  .contactExchange{
    padding:46px 20px 48px;
  }
  .contactExchangeTitle{
    margin-bottom:28px;
  }
  .contactExchangeTitle h2{
    font-size:35px;
  }
  .contactExchangeSteps{
    grid-template-columns:1fr;
    gap:20px;
  }
  .contactExchangeSteps article{
    grid-template-columns:38px minmax(0,1fr);
  }

  .contactMessage{
    padding:50px 20px 54px;
    grid-template-columns:1fr;
    gap:36px;
  }
  .contactMessageForm h2{
    font-size:37px;
  }
  .contactFormV20 .formRow{
    grid-template-columns:1fr;
    gap:0;
  }
  .contactMessageVisual{
    min-height:350px;
  }

  .contactApproach{
    padding:50px 20px 52px;
  }
  .contactApproach h2{
    font-size:36px;
  }
}


/* =========================================================
   FINAL LOCAL V2.4 — OFFICIAL BRAND ASSETS
   ========================================================= */
.siteBrand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:148px;
  height:64px;
  overflow:hidden;
  flex:0 0 auto;
}
.siteBrand .siteLogo{
  display:block;
  width:148px;
  height:auto;
  object-fit:contain;
}
.footBrand .footLogo{
  width:190px;
  height:auto;
  overflow:visible;
}
.footBrand .footLogo .siteLogo{
  width:190px;
  height:auto;
}
@media(max-width:767px){
  .siteBrand{
    width:112px;
    height:58px;
  }
  .siteBrand .siteLogo{
    width:112px;
  }
  .footBrand .footLogo,
  .footBrand .footLogo .siteLogo{
    width:165px;
  }
}


/* =========================================================
   V2.5 — GLOBAL SYSTEM FREEZE
   Shared tokens and interaction rules before WordPress FSE.
   ========================================================= */
:root{
  --mc-purple:#8402E9;
  --mc-black:#111111;
  --mc-white:#FFFFFF;
  --mc-warm:#F7F7F5;
  --mc-purple-soft:#F0E0FE;
  --mc-muted:#626262;
  --mc-content:1490px;
  --mc-rule:#deded9;
  --mc-body:15px;
  --mc-small:13px;
  --mc-label:11px;
  --mc-nav:12px;
  --mc-section-y:64px;
  --mc-motion:220ms cubic-bezier(.2,.7,.2,1);
}
body{font-size:var(--mc-body);line-height:1.55;background:var(--mc-white)}
.label,.num{font-size:var(--mc-label);line-height:1.35;letter-spacing:.07em}
.primary,.headcta,.secondary,.copy a,.sectorGrid a{font-size:var(--mc-nav)}
.section{padding-top:var(--mc-section-y);padding-bottom:var(--mc-section-y)}

/* One interaction language: the whole editorial unit reacts. */
.expertGrid article,.sectorGrid article{
  transition:transform var(--mc-motion),box-shadow var(--mc-motion),border-color var(--mc-motion);
}
.expertGrid article img,.sectorGrid article img{
  transition:transform 420ms cubic-bezier(.2,.7,.2,1);
}
.expertGrid article:hover,.sectorGrid article:hover{transform:translateY(-4px)}
.expertGrid article:hover img,.sectorGrid article:hover img{transform:scale(1.035)}
.expertGrid article:hover .copy a,.sectorGrid article:hover a{color:var(--mc-purple)}
.primary,.headcta,.menucontact{transition:transform var(--mc-motion),filter var(--mc-motion)}
.primary:hover,.headcta:hover,.menucontact:hover{transform:translateY(-2px);filter:brightness(.96)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--mc-purple);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Brand source of truth for the WordPress phase.
   Primary = black wordmark + violet diamond, transparent background.
   Dark-context white variant remains available only when contrast requires it. */

@media(max-width:1180px){
  :root{--mc-section-y:58px}
}
@media(max-width:767px){
  :root{--mc-section-y:50px;--mc-body:15px;--mc-small:13px;--mc-label:10px}
  body{font-size:var(--mc-body)}
}

/* =========================================================
   WORDPRESS FSE 1.0 — integration layer
   ========================================================= */
body{overflow-x:hidden}
.wp-site-blocks{padding:0}
.wp-block-post-content{margin:0}
.wp-block-post-content > *{margin-block-start:0;margin-block-end:0}
.mc-site-header{position:absolute;z-index:50;top:0;left:0;right:0;height:74px;padding:0 var(--pad);display:flex;align-items:center;color:#fff;border-bottom:1px solid #ffffff2b}
.mc-site-header .mc-brand{width:148px;height:64px;display:block;flex:0 0 auto;background-repeat:no-repeat;background-position:left center;background-size:contain}
body.home .mc-site-header .mc-brand{background-image:url("assets/brand/logo-main.svg")}
body:not(.home) .mc-site-header .mc-brand{background-image:url("assets/brand/logo-light.svg")}
.mc-site-header nav{display:flex;gap:27px;margin-left:auto;font-size:12px}
.mc-site-header .mc-right{display:flex;align-items:center;gap:22px;margin-left:28px}
.mc-site-header .mc-lang{font:500 10px "JetBrains Mono",monospace}
.mc-site-header .mc-headcta{background:var(--p);color:#fff;padding:14px 18px;font-size:12px;font-weight:700}
.mc-site-header .mc-menu-toggle{display:none}
.mc-site-footer{background:#111;color:#fff;padding:58px var(--pad) 24px}
.mc-site-footer .mc-footer-logo{width:190px;height:100px;background:url("assets/brand/logo-light.svg") left center/contain no-repeat}
.mc-site-footer .footTop,.mc-site-footer .footBottom{max-width:1490px}
.mc-site-footer .footBrand p{margin-top:16px}
.admin-bar .mc-site-header{top:32px}
.mc-page-shell{min-height:65vh;padding:150px var(--pad) 80px}
.mc-page-shell .wp-block-post-title{font-size:clamp(44px,5vw,72px);letter-spacing:-.055em;line-height:.98}
.mc-page-shell .wp-block-post-content{max-width:980px}
.mc-landing-hero{padding:160px var(--pad) 90px;background:#111;color:#fff}
.mc-landing-hero h1{font-size:clamp(48px,6vw,84px);line-height:.96;letter-spacing:-.055em;max-width:1050px}
.mc-pattern-section{padding:72px var(--pad)}
.mc-pattern-section.is-warm{background:#F7F7F5}
.mc-pattern-section.is-dark{background:#111;color:#fff}
.mc-pattern-section h2{font-size:clamp(38px,4vw,58px);line-height:1;letter-spacing:-.045em}
.mc-pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mc-pattern-grid>div{border-top:1px solid #ccc;padding-top:20px}
.mc-contact-form .mc-field{margin-bottom:20px}
.mc-contact-form label{display:block;font-weight:700;font-size:13px}
.mc-contact-form input,.mc-contact-form textarea{display:block;width:100%;margin-top:8px;padding:13px 12px;border:1px solid #c9c9c5;border-radius:0;font:inherit}
.mc-contact-form textarea{min-height:132px}
.mc-form-status{margin:0 0 20px;padding:12px 14px;background:#F0E0FE}
@media(max-width:1180px){
 .mc-site-header nav,.mc-site-header .mc-headcta{display:none}
 .mc-site-header .mc-right{margin-left:auto}
 .mc-site-header .mc-menu-toggle{display:block;background:none;border:0;color:#fff;font-size:12px}
 .mc-pattern-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:782px){.admin-bar .mc-site-header{top:46px}}
@media(max-width:767px){
 .mc-site-header{height:66px;padding:0 15px}
 .mc-site-header .mc-brand{width:112px;height:58px}
 .mc-site-footer{padding-left:20px;padding-right:20px}
 .mc-site-footer .mc-footer-logo{width:165px;height:90px}
 .mc-pattern-grid{grid-template-columns:1fr}
 .mc-page-shell{padding:120px 20px 60px}
 .mc-landing-hero{padding:125px 20px 70px}
}


/* =========================================================
   V1.2 — RESPONSIVE / LAYOUT CORRECTION PASS
   ========================================================= */

/* Header/menu */
.mc-site-header{box-sizing:border-box}
.mc-site-header a{color:inherit;text-decoration:none}
.mc-mobile-menu{position:absolute;top:74px;right:var(--pad);width:min(320px,calc(100vw - 40px));padding:18px 20px;background:#111;color:#fff;border-top:2px solid #8402E9;box-shadow:0 18px 40px #0003}
.mc-mobile-menu[hidden]{display:none!important}
.mc-mobile-menu:not([hidden]){display:grid!important}
.mc-mobile-menu a{padding:11px 0;border-bottom:1px solid #ffffff20;font-size:14px;font-weight:700}
.mc-mobile-menu a:last-child{border-bottom:0;color:#c98aff}

/* Homepage — expertises: image fills the card vertically */
.expertGrid article{overflow:hidden}
.expertGrid article>img{align-self:stretch!important;height:100%!important;min-height:100%!important;margin:0!important;object-fit:cover!important}

/* Homepage — method: regular, deliberate dividers */
.methodGrid{border-top:1px solid #deded9;border-left:1px solid #deded9}
.methodGrid article{border:0!important;border-right:1px solid #deded9!important;border-bottom:1px solid #deded9!important;padding:28px!important}
.methodGrid article:nth-child(3),.methodGrid article:nth-child(4){border-top:0!important}

/* Homepage — conviction: remove black rectangle, preserve image contrast locally */
.conviction .convSide{background:transparent!important;box-shadow:none!important}
.conviction .convSide>p,.conviction .convSide>div{background:transparent!important}
.conviction .shade{background:linear-gradient(90deg,rgba(17,17,17,.62) 0%,rgba(17,17,17,.26) 62%,rgba(17,17,17,.1) 100%)!important}

/* Homepage — resources follows standard section gutters */
.resources{padding-left:var(--pad)!important;padding-right:var(--pad)!important}
.resources>div:first-child{padding-left:0!important}

/* DI — immersive hero exactly viewport, header included */
.di-page .diHero{height:100svh!important;min-height:680px!important;max-height:none!important;box-sizing:border-box!important}
.di-page .diHero>img{height:100%!important;object-fit:cover!important}

/* DI — final output is the violet destination */
.di-page .v17Outputs>strong{display:flex!important;align-items:center!important;gap:10px!important;background:#8402E9!important;color:#fff!important;padding:16px 18px!important;margin-top:10px!important;border:0!important}
.di-page .v17Outputs>strong em,.di-page .v17Outputs>strong span{color:#fff!important}

/* DI — applications intro uses available width */
.di-page .v12Apps>.intro{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;column-gap:72px!important;align-items:end!important}
.di-page .v12Apps>.intro .label{grid-column:1/-1}
.di-page .v12Apps>.intro h2{max-width:900px!important;margin-bottom:0!important}
.di-page .v12Apps>.intro p{max-width:650px!important;margin:0!important}

/* DI — cases: stop text from collapsing into tiny columns */
.di-page .v12AppsGrid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important}
.di-page .v12AppCases article{grid-template-columns:58px minmax(0,1fr)!important;gap:22px!important}
.di-page .v12AppCases article>div{min-width:0!important}
.di-page .v12AppCases h3{max-width:440px!important}
.di-page .v12AppCases p{max-width:520px!important}

/* DI — intervention: give the steps real reading width */
.di-page .diInterventionInner{grid-template-columns:minmax(360px,.82fr) minmax(560px,1.18fr)!important;gap:72px!important}
.di-page .diSteps article{grid-template-columns:64px minmax(0,1fr)!important;gap:20px!important}
.di-page .diSteps article p{max-width:520px!important}

/* Contact — prevent the 3 step copy from collapsing */
.contactExchangeSteps{grid-template-columns:repeat(3,minmax(240px,1fr))!important;gap:48px!important}
.contactExchangeSteps article{grid-template-columns:42px minmax(0,1fr)!important}
.contactExchangeSteps article>div{min-width:0!important}
.contactExchangeSteps p{max-width:280px!important}

/* Tablet */
@media (min-width:768px) and (max-width:1100px){
  .mc-site-header{height:70px;padding:0 30px}
  .mc-site-header .mc-brand{width:120px;height:58px}
  .mc-site-header nav,.mc-site-header .mc-headcta{display:none!important}
  .mc-site-header .mc-right{margin-left:auto;gap:18px}
  .mc-site-header .mc-menu-toggle{display:block!important;padding:10px 0;border:0;background:transparent;color:#fff;font-weight:700}
  .mc-mobile-menu{top:70px;right:30px}

  .methodGrid{grid-template-columns:1fr 1fr!important}
  .methodGrid article{min-height:180px!important}

  .di-page .diHero{min-height:640px!important}
  .di-page .v12Apps>.intro{grid-template-columns:1fr!important;gap:16px!important}
  .di-page .v12Apps>.intro .label,.di-page .v12Apps>.intro h2,.di-page .v12Apps>.intro p{grid-column:1!important}
  .di-page .v12AppsGrid{grid-template-columns:1fr 1fr!important}
  .di-page .v12AppCases article{grid-template-columns:48px minmax(0,1fr)!important}
  .di-page .diInterventionInner{grid-template-columns:minmax(280px,.8fr) minmax(390px,1.2fr)!important;gap:42px!important}
  .di-page .diSteps article{grid-template-columns:52px minmax(0,1fr)!important}

  .contactExchangeSteps{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:30px!important}
}

/* Mobile */
@media (max-width:767px){
  .mc-site-header{height:66px!important;padding:0 18px!important;background:#111}
  .mc-site-header .mc-brand{width:88px!important;height:54px!important;background-image:url("assets/brand/logo-light.svg")!important}
  .mc-site-header nav,.mc-site-header .mc-headcta{display:none!important}
  .mc-site-header .mc-right{margin-left:auto!important;gap:14px!important}
  .mc-site-header .mc-lang{white-space:nowrap}
  .mc-site-header .mc-menu-toggle{display:block!important;padding:10px 0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:12px!important;font-weight:700}
  .mc-mobile-menu{top:66px!important;right:18px!important;left:18px!important;width:auto!important}

  .expertGrid article>img{height:260px!important;min-height:260px!important}

  .methodGrid{grid-template-columns:1fr!important;border-left:0!important}
  .methodGrid article{min-height:0!important;border-left:0!important;border-right:0!important;padding:24px 0!important}

  .conviction .shade{background:rgba(17,17,17,.48)!important}
  .resources{padding-left:20px!important;padding-right:20px!important}

  .di-page .diHero{height:100svh!important;min-height:620px!important}
  .di-page .v17Outputs>strong{padding:14px 15px!important}
  .di-page .v12Apps>.intro{display:block!important}
  .di-page .v12Apps>.intro h2 br{display:none}
  .di-page .v12AppsGrid{grid-template-columns:1fr!important}
  .di-page .v12AppCases article{grid-template-columns:44px minmax(0,1fr)!important;gap:14px!important}
  .di-page .v12AppCases h3,.di-page .v12AppCases p{max-width:none!important}
  .di-page .diInterventionInner{grid-template-columns:1fr!important;gap:38px!important}
  .di-page .diSteps article{grid-template-columns:48px minmax(0,1fr)!important}
  .di-page .diSteps article p{max-width:none!important}

  .contactExchangeSteps{grid-template-columns:1fr!important;gap:0!important}
  .contactExchangeSteps article{grid-template-columns:46px minmax(0,1fr)!important;gap:14px!important;padding:22px 0!important}
  .contactExchangeSteps p{max-width:none!important}
}


/* =========================================================
   V1.3 — targeted corrections after WP visual review
   ========================================================= */

/* Anchor destination must sit below the absolute header. */
#solution{scroll-margin-top:74px}

/* Conviction: light translucent black veil over the whole image, no text box. */
.conviction .shade{
  background:rgba(17,17,17,.34)!important;
}
.conviction .convSide,
.conviction .convSide>p,
.conviction .convSide>div{background:transparent!important;box-shadow:none!important}

/* Method — desktop: vertical separators only. */
@media (min-width:1101px){
  .methodGrid{
    border:0!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .methodGrid article{
    border:0!important;
    border-left:1px solid #deded9!important;
    padding:4px 26px 18px 20px!important;
    min-height:190px!important;
  }
  .methodGrid article:last-child{border-right:1px solid #deded9!important}
}

/* Method — tablet: regular grey frame/grid. */
@media (min-width:768px) and (max-width:1100px){
  .methodGrid{
    grid-template-columns:1fr 1fr!important;
    border:1px solid #deded9!important;
  }
  .methodGrid article{
    border:0!important;
    padding:26px!important;
    min-height:170px!important;
  }
  .methodGrid article:nth-child(odd){border-right:1px solid #deded9!important}
  .methodGrid article:nth-child(-n+2){border-bottom:1px solid #deded9!important}
}

/* Method — mobile: no box, simple stacked rhythm. */
@media (max-width:767px){
  .methodGrid{border:0!important}
  .methodGrid article{
    border:0!important;
    border-top:1px solid #deded9!important;
    padding:24px 0!important;
  }
  .methodGrid article:last-child{border-bottom:1px solid #deded9!important}
}

/* DI hero: exactly immersive on tablet + mobile too. */
@media (max-width:1100px){
  .di-page .diHero,
  .di-v12 .diHero{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }
  .di-page .diHero>img,
  .di-v12 .diHero>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .di-page .diHeroText,
  .di-v12 .diHeroText{height:100%!important;box-sizing:border-box!important}
}

/* DI solution: final result = full violet output box, aligned with all outputs. */
.di-page .v17Outputs>strong{
  width:100%!important;
  min-height:48px!important;
  margin:7px 0 0!important;
  padding:10px 15px!important;
  background:#8402E9!important;
  color:#fff!important;
  border:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.di-page .v17Outputs>strong:before{border-top-color:#8402E9!important}
.di-page .v17Outputs>strong em,.di-page .v17Outputs>strong span{color:#fff!important}

/* Contact: each of the three steps owns a full column; copy no longer collapses. */
.contactExchangeSteps{
  width:100%!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(32px,5vw,76px)!important;
}
.contactExchangeSteps article{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:16px 0 0!important;
}
.contactExchangeSteps article>b{display:block!important;margin-bottom:26px!important}
.contactExchangeSteps article>div{display:block!important;width:100%!important;min-width:0!important}
.contactExchangeSteps strong{font-size:16px!important;line-height:1.25!important}
.contactExchangeSteps p{width:100%!important;max-width:340px!important;font-size:14px!important;line-height:1.55!important}

@media (min-width:768px) and (max-width:1100px){
  .contactExchangeSteps{gap:34px!important}
  .contactExchangeSteps article>b{margin-bottom:20px!important}
  .contactExchangeSteps p{max-width:240px!important}
}
@media (max-width:767px){
  .contactExchangeSteps{grid-template-columns:1fr!important;gap:0!important}
  .contactExchangeSteps article{padding:22px 0 26px!important}
  .contactExchangeSteps article>b{margin-bottom:14px!important}
  .contactExchangeSteps p{max-width:none!important}
}


/* =========================================================
   V1.4 — DI width / viewport + sector alignment
   ========================================================= */

/* Sectors: titles/descriptions share the same vertical rhythm on desktop. */
@media (min-width:1101px){
  .sectorGrid article{display:flex!important;flex-direction:column!important;height:100%!important}
  .sectorGrid article>div{flex:0 0 auto}
  .sectorGrid h3{min-height:52px!important;margin-bottom:8px!important}
  .sectorGrid p{min-height:48px!important;margin:0 0 14px!important}
  .sectorGrid a{margin-top:auto!important;align-self:flex-start!important}
}

/* Document Intelligence hero: the whole first chapter, including location,
   lives inside one viewport. */
.di-page .diHero,.di-v12 .diHero{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
.di-page .diHeroText,.di-v12 .diHeroText{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding-top:110px!important;
  padding-bottom:76px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.di-page .diHero small,.di-v12 .diHero small{
  position:absolute!important;
  left:max(34px,calc((100vw - 1380px)/2))!important;
  bottom:24px!important;
  top:auto!important;
  margin:0!important;
}

/* Applications: one-line desktop heading + supporting copy below. */
@media (min-width:1101px){
  .di-page .v12Apps>.intro,.di-v12 .v12Apps>.intro{
    display:block!important;
    width:100%!important;
    max-width:1490px!important;
  }
  .di-page .v12Apps>.intro h2,.di-v12 .v12Apps>.intro h2{
    max-width:none!important;
    white-space:nowrap!important;
    margin-bottom:14px!important;
  }
  .di-page .v12Apps>.intro h2 br,.di-v12 .v12Apps>.intro h2 br{display:none!important}
  .di-page .v12Apps>.intro p,.di-v12 .v12Apps>.intro p{
    max-width:1050px!important;
    margin:0!important;
  }

  /* Each case list owns 60% of the row; photos become the supporting 40%. */
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{
    grid-template-columns:minmax(360px,40%) minmax(0,60%)!important;
    grid-template-areas:"imageA casesA" "casesB imageB"!important;
  }
  .di-page .v12AppImage.a,.di-v12 .v12AppImage.a{grid-area:imageA!important}
  .di-page .v12AppCases.a,.di-v12 .v12AppCases.a{grid-area:casesA!important}
  .di-page .v12AppCases.b,.di-v12 .v12AppCases.b{grid-area:casesB!important;border-left:0!important}
  .di-page .v12AppImage.b,.di-v12 .v12AppImage.b{grid-area:imageB!important;border-left:1px solid #ccc!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:18px!important;
    padding-left:26px!important;
    padding-right:32px!important;
  }
  .di-page .v12AppCases h3,.di-v12 .v12AppCases h3,
  .di-page .v12AppCases p,.di-v12 .v12AppCases p{max-width:none!important;width:auto!important}

  /* First intervention: reserve substantially more room for the four steps. */
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{
    max-width:1490px!important;
    grid-template-columns:minmax(330px,.68fr) minmax(720px,1.32fr)!important;
    gap:70px!important;
  }
  .di-page .diSteps article,.di-v12 .diSteps article{
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .di-page .diSteps article>div,.di-v12 .diSteps article>div{min-width:0!important;width:100%!important}
  .di-page .diSteps p,.di-v12 .diSteps p{max-width:680px!important;width:auto!important}
}

/* Tablet: immersive hero and readable case/step widths. */
@media (min-width:768px) and (max-width:1100px){
  .di-page .diHeroText,.di-v12 .diHeroText{padding:105px 34px 70px!important;justify-content:center!important}
  .di-page .diHero small,.di-v12 .diHero small{left:34px!important;bottom:22px!important}
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{grid-template-columns:36% 64%!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{grid-template-columns:42px minmax(0,1fr)!important;padding-left:20px!important;padding-right:22px!important}
  .di-page .v12AppCases h3,.di-v12 .v12AppCases h3,.di-page .v12AppCases p,.di-v12 .v12AppCases p{max-width:none!important}
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{grid-template-columns:38% 62%!important;gap:34px!important}
  .di-page .diSteps article,.di-v12 .diSteps article{grid-template-columns:44px minmax(0,1fr)!important}
  .di-page .diSteps p,.di-v12 .diSteps p{max-width:none!important}
}

/* Mobile: full viewport hero, location always visible, text blocks use full width. */
@media (max-width:767px){
  .di-page .diHeroText,.di-v12 .diHeroText{
    padding:92px 20px 66px!important;
    justify-content:center!important;
  }
  .di-page .diHero h1,.di-v12 .diHero h1{font-size:clamp(37px,10.8vw,48px)!important;margin:13px 0 17px!important}
  .di-page .diHeroText>p,.di-v12 .diHeroText>p{font-size:14px!important;line-height:1.5!important}
  .di-page .diHero .actions,.di-v12 .diHero .actions{margin-top:18px!important}
  .di-page .diHero small,.di-v12 .diHero small{left:20px!important;bottom:18px!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{grid-template-columns:40px minmax(0,1fr)!important}
  .di-page .v12AppCases h3,.di-v12 .v12AppCases h3,.di-page .v12AppCases p,.di-v12 .v12AppCases p{max-width:none!important}
  .di-page .diSteps article,.di-v12 .diSteps article{grid-template-columns:42px minmax(0,1fr)!important}
  .di-page .diSteps p,.di-v12 .diSteps p{max-width:none!important}
}


/* =========================================================
   V1.5 — DI structural correction (not proportional patching)
   ========================================================= */

/* The DI hero must finish before the viewport edge. A small safety inset
   prevents browser/WP viewport rounding from pushing the location below fold. */
.di-page .diHero,.di-v12 .diHero{
  height:calc(100dvh - 12px)!important;
  min-height:0!important;
  max-height:calc(100dvh - 12px)!important;
  margin:0!important;
  position:relative!important;
  overflow:hidden!important;
}
.di-page .diHeroText,.di-v12 .diHeroText{
  position:relative!important;
  height:100%!important;
  min-height:0!important;
  padding-top:clamp(92px,12vh,118px)!important;
  padding-bottom:72px!important;
  justify-content:center!important;
}
.di-page .diHero small,.di-v12 .diHero small{
  display:block!important;
  position:absolute!important;
  left:max(34px,calc((100vw - 1380px)/2))!important;
  bottom:18px!important;
  top:auto!important;
  z-index:5!important;
}

/* Applications desktop: use flex rows for the text instead of a nested grid.
   This removes the intrinsic-column collapse visible on the live WordPress page. */
@media (min-width:1101px){
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
  }
  .di-page .v12AppCases,.di-v12 .v12AppCases{
    width:100%!important;
    min-width:0!important;
  }
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{
    display:flex!important;
    align-items:flex-start!important;
    width:100%!important;
    min-width:0!important;
    gap:22px!important;
    padding:26px 34px!important;
  }
  .di-page .v12AppCases article>b,.di-v12 .v12AppCases article>b{
    display:block!important;
    flex:0 0 48px!important;
    width:48px!important;
  }
  .di-page .v12AppCases article>div,.di-v12 .v12AppCases article>div{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .di-page .v12AppCases h3,.di-v12 .v12AppCases h3{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    white-space:normal!important;
  }
  .di-page .v12AppCases p,.di-v12 .v12AppCases p{
    display:block!important;
    width:100%!important;
    max-width:640px!important;
    white-space:normal!important;
  }

  /* Same structural fix for Première intervention. */
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{
    grid-template-columns:minmax(300px,36%) minmax(0,64%)!important;
  }
  .di-page .diSteps,.di-v12 .diSteps{width:100%!important;min-width:0!important}
  .di-page .diSteps article,.di-v12 .diSteps article{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    gap:22px!important;
  }
  .di-page .diSteps article>b,.di-v12 .diSteps article>b{flex:0 0 56px!important;width:56px!important}
  .di-page .diSteps article>div,.di-v12 .diSteps article>div{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
  .di-page .diSteps p,.di-v12 .diSteps p{width:100%!important;max-width:700px!important}
}

@media (min-width:768px) and (max-width:1100px){
  .di-page .diHero,.di-v12 .diHero{height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
  .di-page .diHeroText,.di-v12 .diHeroText{padding:86px 34px 62px!important}
  .di-page .diHero small,.di-v12 .diHero small{left:34px!important;bottom:16px!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article,
  .di-page .diSteps article,.di-v12 .diSteps article{display:flex!important;align-items:flex-start!important;width:100%!important;min-width:0!important}
  .di-page .v12AppCases article>b,.di-v12 .v12AppCases article>b{flex:0 0 42px!important}
  .di-page .v12AppCases article>div,.di-v12 .v12AppCases article>div,
  .di-page .diSteps article>div,.di-v12 .diSteps article>div{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
}

@media (max-width:767px){
  .di-page .diHero,.di-v12 .diHero{height:calc(100dvh - 6px)!important;max-height:calc(100dvh - 6px)!important}
  .di-page .diHeroText,.di-v12 .diHeroText{padding:78px 20px 58px!important;justify-content:center!important}
  .di-page .diHero small,.di-v12 .diHero small{left:20px!important;bottom:14px!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article,
  .di-page .diSteps article,.di-v12 .diSteps article{display:flex!important;align-items:flex-start!important;width:100%!important;min-width:0!important}
  .di-page .v12AppCases article>b,.di-v12 .v12AppCases article>b,
  .di-page .diSteps article>b,.di-v12 .diSteps article>b{flex:0 0 40px!important}
  .di-page .v12AppCases article>div,.di-v12 .v12AppCases article>div,
  .di-page .diSteps article>div,.di-v12 .diSteps article>div{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
}


/* =========================================================
   V1.6 — DI compositions rebuilt from approved references
   ========================================================= */
@media (min-width:1101px){
  /* Applications: exact 2x2 editorial composition — image/cases then cases/image */
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"imageA casesA" "casesB imageB"!important;
    gap:0!important;
    align-items:stretch!important;
  }
  .di-page .v12AppImage.a,.di-v12 .v12AppImage.a{grid-area:imageA!important}
  .di-page .v12AppCases.a,.di-v12 .v12AppCases.a{grid-area:casesA!important}
  .di-page .v12AppCases.b,.di-v12 .v12AppCases.b{grid-area:casesB!important}
  .di-page .v12AppImage.b,.di-v12 .v12AppImage.b{grid-area:imageB!important}
  .di-page .v12AppImage,.di-v12 .v12AppImage{margin:0!important;min-height:360px!important;height:auto!important;overflow:hidden!important}
  .di-page .v12AppImage img,.di-v12 .v12AppImage img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .di-page .v12AppCases,.di-v12 .v12AppCases{display:grid!important;grid-template-rows:repeat(3,1fr)!important;height:100%!important;border:0!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{
    display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:22px!important;
    align-content:center!important;align-items:start!important;padding:22px 30px!important;
    border-top:1px solid #d6d6d2!important;box-sizing:border-box!important;min-height:120px!important;
  }
  .di-page .v12AppCases article:last-child,.di-v12 .v12AppCases article:last-child{border-bottom:1px solid #d6d6d2!important}
  .di-page .v12AppCases article>b,.di-v12 .v12AppCases article>b{width:auto!important;flex:none!important}
  .di-page .v12AppCases article>div,.di-v12 .v12AppCases article>div{width:100%!important;max-width:none!important;min-width:0!important}
  .di-page .v12AppCases h3,.di-v12 .v12AppCases h3{font-size:21px!important;line-height:1.08!important;margin:0 0 8px!important;max-width:none!important;width:100%!important}
  .di-page .v12AppCases p,.di-v12 .v12AppCases p{font-size:14px!important;line-height:1.55!important;margin:0!important;max-width:620px!important;width:100%!important}

  /* Intervention: editorial copy 40%, four broad horizontal steps 60% */
  .di-page .diIntervention,.di-v12 .diIntervention{min-height:520px!important}
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{
    display:grid!important;grid-template-columns:minmax(360px,40%) minmax(0,60%)!important;
    gap:72px!important;align-items:center!important;width:min(1320px,calc(100% - 80px))!important;margin:0 auto!important;
  }
  .di-page .diSteps,.di-v12 .diSteps{display:grid!important;grid-template-rows:repeat(4,auto)!important;width:100%!important}
  .di-page .diSteps article,.di-v12 .diSteps article{
    display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:22px!important;
    padding:16px 0!important;border-top:1px solid rgba(255,255,255,.38)!important;align-items:start!important;
  }
  .di-page .diSteps article:last-child,.di-v12 .diSteps article:last-child{border-bottom:1px solid rgba(255,255,255,.38)!important}
  .di-page .diSteps article>b,.di-v12 .diSteps article>b{width:auto!important;flex:none!important;font-size:21px!important}
  .di-page .diSteps article>div,.di-v12 .diSteps article>div{width:100%!important;max-width:none!important;min-width:0!important}
  .di-page .diSteps h3,.di-v12 .diSteps h3{font-size:20px!important;line-height:1.15!important;margin:0 0 8px!important}
  .di-page .diSteps p,.di-v12 .diSteps p{font-size:14px!important;line-height:1.5!important;margin:0!important;max-width:none!important;width:100%!important}
}

@media (min-width:768px) and (max-width:1100px){
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-areas:"imageA casesA" "casesB imageB"!important;gap:0!important}
  .di-page .v12AppImage.a,.di-v12 .v12AppImage.a{grid-area:imageA!important}.di-page .v12AppCases.a,.di-v12 .v12AppCases.a{grid-area:casesA!important}.di-page .v12AppCases.b,.di-v12 .v12AppCases.b{grid-area:casesB!important}.di-page .v12AppImage.b,.di-v12 .v12AppImage.b{grid-area:imageB!important}
  .di-page .v12AppImage,.di-v12 .v12AppImage{min-height:420px!important;height:auto!important}.di-page .v12AppImage img,.di-v12 .v12AppImage img{width:100%!important;height:100%!important;object-fit:cover!important}
  .di-page .v12AppCases,.di-v12 .v12AppCases{display:grid!important;grid-template-rows:repeat(3,1fr)!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:14px!important;padding:20px!important;border-top:1px solid #d6d6d2!important}
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{display:grid!important;grid-template-columns:minmax(280px,40%) minmax(0,60%)!important;gap:38px!important;width:calc(100% - 56px)!important;margin:auto!important}
  .di-page .diSteps article,.di-v12 .diSteps article{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:14px!important;padding:16px 0!important}
}

@media (max-width:767px){
  .di-page .v12AppsGrid,.di-v12 .v12AppsGrid{display:flex!important;flex-direction:column!important}
  .di-page .v12AppImage,.di-v12 .v12AppImage{height:280px!important;min-height:280px!important}.di-page .v12AppImage img,.di-v12 .v12AppImage img{width:100%!important;height:100%!important;object-fit:cover!important}
  .di-page .v12AppCases,.di-v12 .v12AppCases{display:block!important}
  .di-page .v12AppCases article,.di-v12 .v12AppCases article{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;padding:22px 0!important;border-top:1px solid #d6d6d2!important}
  .di-page .diInterventionInner,.di-v12 .diInterventionInner{display:grid!important;grid-template-columns:1fr!important;gap:34px!important;width:calc(100% - 40px)!important;margin:auto!important}
  .di-page .diSteps article,.di-v12 .diSteps article{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;padding:18px 0!important}
}

/* V1.7 — isolated structural rebuild */
.mcDiApplications{padding:76px var(--pad) 110px;max-width:1600px;margin:0 auto;background:#fff}
.mcDiApplicationsIntro{width:100%;margin:0 0 36px}.mcDiApplicationsIntro h2{font-size:clamp(38px,3.25vw,52px);line-height:1.02;letter-spacing:-.055em;margin:14px 0 12px}.mcDiApplicationsIntro p{font-size:15px;line-height:1.55;color:var(--m);margin:0;max-width:none}
.mcDiApplicationsGrid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"imageA casesA" "casesB imageB";width:100%;border-top:1px solid #cfcfca}.mcDiApplicationsImage{margin:0;min-width:0;height:360px;overflow:hidden}.mcDiApplicationsImageA{grid-area:imageA}.mcDiApplicationsImageB{grid-area:imageB}.mcDiApplicationsImage img{width:100%;height:100%;object-fit:cover}.mcDiCases{display:grid;grid-template-rows:repeat(3,120px);min-width:0}.mcDiCasesA{grid-area:casesA}.mcDiCasesB{grid-area:casesB}.mcDiCases article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:22px;align-content:center;padding:18px 30px;border-bottom:1px solid #cfcfca;min-width:0}.mcDiCases b{font:600 13px/1.2 "JetBrains Mono";color:#8402E9}.mcDiCases article>div{min-width:0;width:100%}.mcDiCases h3{font-size:21px;line-height:1.12;letter-spacing:-.025em;margin:0 0 8px}.mcDiCases p{font-size:14px;line-height:1.5;color:#626262;margin:0;max-width:620px}
.mcDiIntervention{position:relative;min-height:520px;color:#fff;overflow:hidden}.mcDiIntervention>img,.mcDiInterventionShade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mcDiInterventionShade{background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.80) 47%,rgba(17,17,17,.48) 100%)}.mcDiInterventionInner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(380px,40%) minmax(0,60%);gap:72px;align-items:center;width:min(1320px,calc(100% - 80px));min-height:520px;margin:0 auto;padding:54px 0}.mcDiIntervention h2{font-size:clamp(44px,4vw,62px);line-height:.98;letter-spacing:-.05em;margin:12px 0 24px}.mcDiIntervention p{font-size:15px;line-height:1.55;color:#fff;margin:0}.mcDiIntervention blockquote{margin:30px 0 22px;border-left:3px solid #8402E9;padding:2px 0 2px 17px;font-weight:600;line-height:1.5}.mcDiInterventionSteps{width:100%;min-width:0}.mcDiInterventionSteps article{display:grid;grid-template-columns:58px minmax(0,1fr);gap:22px;align-items:start;padding:16px 0;border-top:1px solid rgba(255,255,255,.42);min-width:0}.mcDiInterventionSteps article:last-child{border-bottom:1px solid rgba(255,255,255,.42)}.mcDiInterventionSteps b{font:600 21px/1.1 "JetBrains Mono";color:#8402E9}.mcDiInterventionSteps article>div{min-width:0}.mcDiInterventionSteps h3{font-size:20px;line-height:1.15;margin:0 0 8px}.mcDiInterventionSteps p{font-size:14px;line-height:1.45;margin:0;max-width:none}
@media (min-width:1101px){.mcDiApplicationsIntro h2{white-space:nowrap}}
@media (min-width:768px) and (max-width:1100px){.mcDiApplications{padding:68px 28px 88px}.mcDiApplicationsImage{height:420px}.mcDiCases{grid-template-rows:repeat(3,140px)}.mcDiCases article{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px}.mcDiCases h3{font-size:18px}.mcDiCases p{font-size:13px}.mcDiInterventionInner{grid-template-columns:minmax(280px,40%) minmax(0,60%);gap:38px;width:calc(100% - 56px);padding:52px 0}.mcDiInterventionSteps article{grid-template-columns:46px minmax(0,1fr);gap:14px}}
@media (max-width:767px){.mcDiApplications{padding:56px 20px 72px}.mcDiApplicationsIntro h2{font-size:38px}.mcDiApplicationsGrid{display:flex;flex-direction:column}.mcDiApplicationsImage{height:280px}.mcDiApplicationsImageA{order:1}.mcDiCasesA{order:2}.mcDiApplicationsImageB{order:3}.mcDiCasesB{order:4}.mcDiCases{display:block}.mcDiCases article{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:22px 0}.mcDiCases h3{font-size:20px}.mcDiCases p{font-size:14px;max-width:none}.mcDiIntervention{min-height:auto}.mcDiInterventionInner{grid-template-columns:1fr;gap:34px;width:calc(100% - 40px);min-height:0;padding:64px 0}.mcDiInterventionSteps article{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0}}


/* =========================================================
   V1.8 — DI APPLICATIONS / INTERVENTION HARD RESET
   Fixes WordPress/global layout interference. No inherited
   grid sizing is allowed inside these two compositions.
   ========================================================= */
@media (min-width:1101px){
  .di-page .mcDiApplications,
  .di-v12 .mcDiApplications{
    width:100%!important;max-width:1600px!important;margin:0 auto!important;
    padding:76px var(--pad) 110px!important;overflow:visible!important;
  }
  .di-page .mcDiApplicationsIntro,
  .di-v12 .mcDiApplicationsIntro{width:100%!important;max-width:none!important;margin:0 0 36px!important}
  .di-page .mcDiApplicationsIntro h2,
  .di-v12 .mcDiApplicationsIntro h2{width:100%!important;max-width:none!important;white-space:nowrap!important}
  .di-page .mcDiApplicationsIntro p,
  .di-v12 .mcDiApplicationsIntro p{width:100%!important;max-width:none!important}

  .di-page .mcDiApplicationsGrid,
  .di-v12 .mcDiApplicationsGrid{
    display:grid!important;width:100%!important;max-width:none!important;min-width:0!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:360px 360px!important;
    grid-template-areas:"imageA casesA" "casesB imageB"!important;
    gap:0!important;align-items:stretch!important;
  }
  .di-page .mcDiApplicationsImage,
  .di-v12 .mcDiApplicationsImage{width:100%!important;height:360px!important;min-width:0!important;min-height:0!important;margin:0!important}
  .di-page .mcDiApplicationsImage img,
  .di-v12 .mcDiApplicationsImage img{width:100%!important;height:100%!important;object-fit:cover!important}

  .di-page .mcDiCases,
  .di-v12 .mcDiCases{
    display:flex!important;flex-direction:column!important;width:100%!important;height:360px!important;
    min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
  }
  .di-page .mcDiCases article,
  .di-v12 .mcDiCases article{
    display:flex!important;flex:1 1 0!important;align-items:center!important;width:100%!important;min-width:0!important;
    max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:18px 30px!important;
    gap:22px!important;border:0!important;border-bottom:1px solid #cfcfca!important;overflow:hidden!important;
  }
  .di-page .mcDiCases article>b,
  .di-v12 .mcDiCases article>b{
    display:block!important;flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;
    align-self:flex-start!important;margin-top:2px!important;
  }
  .di-page .mcDiCases article>div,
  .di-v12 .mcDiCases article>div{
    display:block!important;flex:1 1 0!important;width:calc(100% - 70px)!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;justify-self:stretch!important;
  }
  .di-page .mcDiCases h3,
  .di-v12 .mcDiCases h3{
    display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0 0 8px!important;
    white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
  }
  .di-page .mcDiCases p,
  .di-v12 .mcDiCases p{
    display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
    white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
  }

  .di-page .mcDiInterventionInner,
  .di-v12 .mcDiInterventionInner{
    display:grid!important;grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
    width:min(1320px,calc(100% - 80px))!important;max-width:1320px!important;gap:72px!important;
  }
  .di-page .mcDiInterventionSteps,
  .di-v12 .mcDiInterventionSteps{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;max-width:none!important}
  .di-page .mcDiInterventionSteps article,
  .di-v12 .mcDiInterventionSteps article{
    display:flex!important;align-items:flex-start!important;width:100%!important;min-width:0!important;max-width:none!important;
    gap:22px!important;padding:16px 0!important;
  }
  .di-page .mcDiInterventionSteps article>b,
  .di-v12 .mcDiInterventionSteps article>b{display:block!important;flex:0 0 58px!important;width:58px!important;min-width:58px!important}
  .di-page .mcDiInterventionSteps article>div,
  .di-v12 .mcDiInterventionSteps article>div{display:block!important;flex:1 1 0!important;width:calc(100% - 80px)!important;min-width:0!important;max-width:none!important}
  .di-page .mcDiInterventionSteps h3,.di-v12 .mcDiInterventionSteps h3,
  .di-page .mcDiInterventionSteps p,.di-v12 .mcDiInterventionSteps p{width:100%!important;max-width:none!important;word-break:normal!important;overflow-wrap:normal!important}
}

@media (min-width:768px) and (max-width:1100px){
  .di-page .mcDiCases article,.di-v12 .mcDiCases article,
  .di-page .mcDiInterventionSteps article,.di-v12 .mcDiInterventionSteps article{display:flex!important;width:100%!important;min-width:0!important}
  .di-page .mcDiCases article>div,.di-v12 .mcDiCases article>div,
  .di-page .mcDiInterventionSteps article>div,.di-v12 .mcDiInterventionSteps article>div{flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important}
  .di-page .mcDiCases h3,.di-v12 .mcDiCases h3,.di-page .mcDiCases p,.di-v12 .mcDiCases p,
  .di-page .mcDiInterventionSteps h3,.di-v12 .mcDiInterventionSteps h3,.di-page .mcDiInterventionSteps p,.di-v12 .mcDiInterventionSteps p{width:100%!important;max-width:none!important;word-break:normal!important}
}


/* =========================================================
   V1.9.1 — DI applications canonical two-column case rows
   Column 1 = number. Column 2 = copy block (h3 over p).
   ========================================================= */
.mcDiCases article{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:20px!important;
  width:100%!important;
  min-width:0!important;
}
.mcDiCases article>b{
  grid-column:1!important;
  align-self:start!important;
  width:auto!important;
  min-width:0!important;
  margin:2px 0 0!important;
}
.mcDiCaseCopy{
  grid-column:2!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.mcDiCaseCopy h3,
.mcDiCaseCopy p{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.mcDiCaseCopy h3{margin:0 0 8px!important}
.mcDiCaseCopy p{margin:0!important}
@media (min-width:1101px){
  body.di-page .mcDiCases,body.di-v12 .mcDiCases{display:grid!important;grid-template-rows:repeat(3,1fr)!important;height:360px!important;width:100%!important}
  body.di-page .mcDiCases article,body.di-v12 .mcDiCases article{grid-template-columns:54px minmax(0,1fr)!important;padding:18px 30px!important}
}
@media (min-width:768px) and (max-width:1100px){
  body.di-page .mcDiCases article,body.di-v12 .mcDiCases article{grid-template-columns:44px minmax(0,1fr)!important;column-gap:14px!important}
}
@media (max-width:767px){
  body.di-page .mcDiCases article,body.di-v12 .mcDiCases article{grid-template-columns:38px minmax(0,1fr)!important;column-gap:12px!important}
}

/* V1.9.2 — canonical DI rows + hero location. Gutenberg-editable content rows. */
.di-page .diHero,.di-v12 .diHero{height:100dvh!important;min-height:0!important;max-height:100dvh!important}
.di-page .diHero small,.di-v12 .diHero small{top:auto!important;bottom:38px!important}
.mcDiCases .mcDiCase,
.mcDiInterventionSteps .mcDiStep{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  column-gap:20px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.mcDiCases .mcDiCase{padding:18px 30px!important;border-bottom:1px solid #cfcfca!important}
.mcDiCaseNumber,.mcDiStepNumber{
  grid-column:1!important;
  margin:2px 0 0!important;
  width:auto!important;
  min-width:0!important;
  font:600 13px/1.2 "JetBrains Mono",monospace!important;
  color:#8402E9!important;
}
.mcDiCaseCopy,.mcDiStepCopy{
  grid-column:2!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.mcDiCaseCopy h3,.mcDiStepCopy h3{display:block!important;width:100%!important;max-width:none!important;margin:0 0 8px!important}
.mcDiCaseCopy p,.mcDiStepCopy p{display:block!important;width:100%!important;max-width:none!important;margin:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.mcDiInterventionSteps .mcDiStep{padding:16px 0!important;border-top:1px solid rgba(255,255,255,.42)!important}
.mcDiInterventionSteps .mcDiStep:last-child{border-bottom:1px solid rgba(255,255,255,.42)!important}
.mcDiStepNumber{font-size:21px!important}
.mcDiStepCopy h3{font-size:20px!important;line-height:1.15!important}
.mcDiStepCopy p{font-size:14px!important;line-height:1.45!important;color:#fff!important}
@media (min-width:768px) and (max-width:1100px){
  .di-page .diHero small,.di-v12 .diHero small{bottom:34px!important}
  .mcDiCases .mcDiCase{grid-template-columns:44px minmax(0,1fr)!important;column-gap:14px!important;padding:18px!important}
  .mcDiInterventionSteps .mcDiStep{grid-template-columns:46px minmax(0,1fr)!important;column-gap:14px!important}
}
@media (max-width:767px){
  .di-page .diHero small,.di-v12 .diHero small{bottom:28px!important}
  .mcDiCases .mcDiCase{grid-template-columns:38px minmax(0,1fr)!important;column-gap:12px!important;padding:22px 0!important}
  .mcDiInterventionSteps .mcDiStep{grid-template-columns:40px minmax(0,1fr)!important;column-gap:12px!important;padding:18px 0!important}
}


/* V1.9.4 — canonical Document Intelligence hero / strict section flow. */
.di-page .mcDiHero,
.di-v12 .mcDiHero{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  height:100dvh;
  min-height:100svh;
  margin:0;
  overflow:hidden;
  box-sizing:border-box;
  isolation:isolate;
  background:#111;
  color:#fff;
}
.di-page .mcDiHero + .v12Constat,
.di-v12 .mcDiHero + .v12Constat{
  position:relative;
  clear:both;
  transform:none;
}
.mcDiHeroImage{
  position:absolute!important;
  inset:0!important;
  display:block;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  object-fit:cover;
  object-position:center center;
}
.mcDiHeroShade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(17,17,17,.96) 0%,rgba(17,17,17,.88) 34%,rgba(17,17,17,.52) 59%,rgba(17,17,17,.12) 82%);
}
.mcDiHeroContent{
  position:relative;
  z-index:2;
  width:min(720px,calc(100% - 68px));
  height:100%;
  margin-left:max(34px,calc((100vw - 1380px)/2));
  padding:clamp(105px,14vh,145px) 0 38px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.mcDiHeroLabel{
  margin:0 0 18px;
  font:600 10px/1.3 "JetBrains Mono",monospace;
  letter-spacing:.08em;
  color:#8402E9;
}
.mcDiHero h1{
  margin:0 0 26px;
  max-width:720px;
  font-size:clamp(50px,5.5vw,80px);
  line-height:.98;
  letter-spacing:-.055em;
  color:#fff;
}
.mcDiHero h1 span{color:#8402E9}
.mcDiHeroIntro{
  width:100%;
  max-width:720px;
  margin:0 0 30px;
  font-size:15px;
  line-height:1.6;
  color:#fff;
}
.mcDiHero .mcButton{display:inline-flex;align-items:center}
.mcDiHeroLocation{
  margin-top:auto;
  padding-top:24px;
  font:500 10px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.04em;
  color:#ddd;
}
@media (min-width:768px) and (max-width:1100px){
  .mcDiHeroContent{
    width:min(680px,calc(100% - 64px));
    margin-left:32px;
    padding-top:118px;
    padding-bottom:34px;
  }
  .mcDiHero h1{font-size:clamp(48px,6.2vw,64px)}
  .mcDiHeroIntro{max-width:660px}
}
@media (max-width:767px){
  .mcDiHeroShade{background:linear-gradient(0deg,rgba(17,17,17,.97) 0%,rgba(17,17,17,.82) 60%,rgba(17,17,17,.3) 100%)}
  .mcDiHeroContent{
    width:calc(100% - 40px);
    margin-left:20px;
    padding-top:104px;
    padding-bottom:28px;
  }
  .mcDiHeroLabel{margin-bottom:14px}
  .mcDiHero h1{font-size:clamp(39px,11.5vw,52px);margin-bottom:22px}
  .mcDiHeroIntro{font-size:14px;line-height:1.5;margin-bottom:24px}
  .mcDiHeroLocation{padding-top:18px}
}
