/* Groupe MST 1.9.13 — public-site visual harmonisation; no Office, map or form data changes. */

/* 1. Header language wheel: identical colour and footprint on every route.
   Reserve space for both the wheel and the variable-length translated CTA. */
.site-header .header-inner{min-width:0;gap:clamp(8px,1vw,18px)}
.site-header .brand{min-width:0;flex:0 1 auto}
.site-header .main-nav{min-width:0;gap:clamp(10px,1.25vw,24px)}
.site-header .header-actions{flex:0 0 auto;min-width:0;display:flex;align-items:center;gap:10px}
.site-header .mst-lang-carousel{box-sizing:border-box!important;flex:0 0 256px!important;width:256px!important;min-width:256px!important;max-width:256px!important;height:72px!important;min-height:72px!important;max-height:72px!important;padding:6px 8px!important;gap:0!important;justify-content:space-between!important;align-items:center!important;overflow:visible!important;position:relative!important}
.site-header .mst-lang-wheel{position:relative!important;flex:0 0 164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;height:58px!important;overflow:visible!important}
.site-header .mst-lang-arrow{flex:0 0 30px!important;width:30px!important;min-width:30px!important;height:30px!important;padding:0!important;display:grid!important;place-items:center!important}
.site-header .mst-lang-flag{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;filter:none!important;opacity:1!important;transition:transform .27s ease,box-shadow .27s ease!important}
.site-header .mst-lang-flag[data-offset="-1"],.site-header .mst-lang-flag[data-offset="1"]{opacity:1!important;filter:none!important}
.site-header .mst-lang-flag[data-offset="-2"],.site-header .mst-lang-flag[data-offset="2"]{opacity:0!important;pointer-events:none!important}
.site-header .mst-lang-flag-emoji{opacity:1!important;filter:none!important;text-shadow:none!important}
.site-header .btn-contact{flex:0 0 auto;min-width:clamp(155px,12vw,218px);min-height:58px;padding:12px 22px!important;line-height:1.2;text-align:center;white-space:normal;max-width:230px;overflow-wrap:normal}
/* Prevent header items from overlapping at intermediate widths; do not let CTA resize the wheel. */
@media(max-width:1370px){.site-header .brand-text span{display:none}.site-header .main-nav{gap:clamp(8px,1vw,16px)}.site-header .header-inner{gap:10px}}
@media(max-width:1120px){.site-header .mst-lang-carousel{flex-basis:218px!important;width:218px!important;min-width:218px!important;max-width:218px!important;height:66px!important;min-height:66px!important;max-height:66px!important;padding:5px!important}.site-header .mst-lang-wheel{flex-basis:134px!important;width:134px!important;min-width:134px!important;max-width:134px!important;height:54px!important}.site-header .mst-lang-flag{width:47px!important;height:47px!important;min-width:47px!important}.site-header .mst-lang-flag[data-offset="-1"]{transform:translate(calc(-50% - 42px),-50%) scale(.8)!important}.site-header .mst-lang-flag[data-offset="1"]{transform:translate(calc(-50% + 42px),-50%) scale(.8)!important}.site-header .mst-lang-flag[data-offset="0"]{transform:translate(-50%,-50%) scale(1.14)!important}.site-header .btn-contact{min-width:145px;max-width:180px;min-height:54px;padding:10px 16px!important}}
@media(max-width:760px){.site-header .header-inner{flex-wrap:wrap}.site-header .header-actions{flex-wrap:wrap;justify-content:flex-end}.site-header .mst-lang-carousel{order:3!important;flex:0 0 218px!important;width:218px!important;min-width:218px!important;max-width:218px!important;margin-inline:auto}.site-header .btn-contact{order:2}.site-header .menu-toggle{order:1}}
@media(max-width:460px){.site-header .header-actions{max-width:100%;gap:5px}.site-header .mst-lang-carousel{flex-basis:206px!important;width:206px!important;min-width:206px!important;max-width:206px!important}.site-header .mst-lang-wheel{flex-basis:124px!important;width:124px!important;min-width:124px!important;max-width:124px!important}.site-header .btn-contact{min-width:120px;max-width:155px;font-size:.86rem;padding:10px 12px!important}}
html[dir="rtl"] .site-header .mst-lang-carousel{direction:ltr!important}

/* 2. One motion vocabulary. Keep the original left-to-right services carousel and its progress bar. */
@keyframes mst1913HeroText{from{opacity:0;transform:translate3d(0,23px,0);filter:blur(3px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
.mst-new-hero .mst-hero-copy h1,.mst-b2b-hero-copy h1,.mst-section-hero-copy h1,.mst-about-hero-copy h1,.mst-web-hero-copy h1{animation:mst1913HeroText .8s cubic-bezier(.2,.75,.22,1) .12s both}
.mst-new-hero .mst-hero-copy .mst-hero-buttons,.mst-b2b-hero-copy .mst-b2b-actions,.mst-about-hero-copy .mst-about-actions,.mst-web-hero-copy .mst-b2b-actions{animation:mst1913HeroText .75s ease .3s both}
/* Restore distinct sideways reveal for services; don't animate individual text inside its cards. */
body.mst-motion-ready .mst-home-services .mst-home-service[data-mst-motion="card"]{opacity:0;transform:translate3d(-38px,0,0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
body.mst-motion-ready .mst-home-services .mst-home-service[data-mst-motion="card"].mst-motion-visible{opacity:1;transform:translate3d(0,0,0)}
body.mst-motion-ready .mst-home-services .mst-home-service[data-mst-motion="card"].mst-motion-visible:hover{transform:translateY(-5px)}

/* 3. Hero copy and image must remain in their own grid cells. The website service keeps its useful preview art,
   but now follows the same angled separation, dark palette and rhythm as other service details. */
.mst-b2b-hero-layout,.mst-about-hero-layout,.mst-section-hero-layout,.mst-web-hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,3.6vw,58px);min-width:0}
.mst-b2b-hero-copy,.mst-section-hero-copy,.mst-about-hero-copy,.mst-web-hero-copy{min-width:0;max-width:100%;position:relative;z-index:3}
.mst-b2b-hero-copy h1,.mst-section-hero-copy h1,.mst-about-hero-copy h1,.mst-web-hero-copy h1{max-width:100%;overflow-wrap:break-word;hyphens:auto;text-wrap:balance}
.mst-b2b-hero-copy p,.mst-section-hero-copy p,.mst-about-hero-copy p,.mst-web-hero-copy p{max-width:100%}
.mst-b2b-hero-image,.mst-about-hero-image,.mst-web-hero-art{min-width:0;max-width:100%;z-index:1}
.mst-web-hero{background:linear-gradient(110deg,#121316 0%,#121316 50%,#1b1a18 100%)!important}
.mst-web-hero-inner{min-height:clamp(520px,45vw,660px)}
.mst-web-hero-art{overflow:hidden;isolation:isolate;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);padding-inline-start:clamp(22px,3vw,45px)}
.mst-web-hero-art:before{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 66% 55%,rgba(243,185,48,.13),transparent 70%)}
.mst-web-window{max-width:100%;transform:perspective(1200px) rotateY(-4deg) rotateX(1deg)}
.mst-web-hero-copy{padding-block:clamp(45px,5vw,80px)}
.mst-web-hero-copy h1{font-size:clamp(2.35rem,4.1vw,4.4rem);line-height:1.06}
@media(min-width:761px) and (max-width:1200px){.mst-b2b-hero-layout,.mst-about-hero-layout,.mst-section-hero-layout,.mst-web-hero-inner{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:clamp(20px,2.5vw,35px)}.mst-web-window{transform:none}.mst-web-hero-art{padding-inline-start:16px}}
@media(max-width:820px){.mst-b2b-hero-layout,.mst-about-hero-layout,.mst-section-hero-layout,.mst-web-hero-inner{grid-template-columns:minmax(0,1fr)!important}.mst-web-hero-art{clip-path:none;padding-inline-start:0;min-height:300px}.mst-web-hero-inner{min-height:0}.mst-web-hero-copy{padding:50px 0 12px}.mst-web-window{transform:none!important}.mst-b2b-hero-copy h1,.mst-section-hero-copy h1,.mst-about-hero-copy h1,.mst-web-hero-copy h1{overflow-wrap:break-word}}

/* 4. Uniform dark inquiry panels: same gold accents, spacing, field contrast and keyboard focus.
   Form names, validation, selectors, action URLs and consent checkboxes are intentionally untouched. */
.mst-b2b-form-card,.mst-general-form-wrap,.mst-re-form,.mst-websites-page .mst-b2b-form-card{background:linear-gradient(155deg,#242528,#191b1e)!important;border:1px solid #78613b!important;border-top:3px solid #edc04b!important;border-radius:24px!important;color:#f5f0e7!important;box-shadow:0 22px 55px rgba(0,0,0,.27)!important;padding:clamp(23px,3vw,42px)!important;min-width:0}
.mst-re-form{border-radius:0 22px 22px 0!important;border-top:1px solid #78613b!important}
.mst-b2b-form-card h2,.mst-general-form-wrap h2,.mst-re-form h2,.mst-b2b-form-card h3,.mst-general-form-wrap h3,.mst-re-form h3{color:#fff!important}
.mst-b2b-form label,.mst-b2b-form label span,.mst-general-form label,.mst-general-form label span,.mst-re-form label,.mst-re-form label span,.mst-web-check-grid legend,.mst-websites-page .mst-web-check-grid legend{color:#f3ede2!important}
.mst-b2b-form input:not([type=checkbox]):not([type=radio]),.mst-b2b-form select,.mst-b2b-form textarea,.mst-general-form input:not([type=checkbox]):not([type=radio]),.mst-general-form select,.mst-general-form textarea,.mst-re-form input:not([type=checkbox]):not([type=radio]),.mst-re-form select,.mst-re-form textarea{background:#111316!important;border:1px solid #736344!important;color:#f8f4ed!important;color-scheme:dark!important;border-radius:11px!important;min-height:49px!important;max-width:100%!important}
.mst-b2b-form input::placeholder,.mst-b2b-form textarea::placeholder,.mst-general-form input::placeholder,.mst-general-form textarea::placeholder,.mst-re-form input::placeholder,.mst-re-form textarea::placeholder{color:#aaa399!important;opacity:1}
.mst-b2b-form :is(input,select,textarea):focus-visible,.mst-general-form :is(input,select,textarea):focus-visible,.mst-re-form :is(input,select,textarea):focus-visible{outline:2px solid #efc34e!important;outline-offset:2px!important;border-color:#efc34e!important}
.mst-re-form-note{background:#322c1f!important;color:#e9dbc0!important;border-color:#edc04b!important}
.mst-general-form .mst-general-note,.mst-b2b-form-card .mst-b2b-intro{color:#c9c3b8!important}
.mst-b2b-form .mst-b2b-consent,.mst-general-form .mst-general-consent,.mst-re-form .mst-b2b-consent{color:#e8dfd1!important}
.mst-b2b-form .mst-form-legal-notice,.mst-general-form .mst-form-legal-notice,.mst-re-form .mst-form-legal-notice{color:#d8d1c5!important}
.mst-b2b-form .mst-form-legal-notice a,.mst-general-form .mst-form-legal-notice a,.mst-re-form .mst-form-legal-notice a{color:#ffd36a!important}
@media(max-width:820px){.mst-re-form{border-radius:0 0 22px 22px!important}}
@media(max-width:600px){.mst-b2b-form-card,.mst-general-form-wrap,.mst-re-form{padding:20px!important;border-radius:17px!important}}

@media(prefers-reduced-motion:reduce){.mst-new-hero .mst-hero-copy h1,.mst-b2b-hero-copy h1,.mst-section-hero-copy h1,.mst-about-hero-copy h1,.mst-web-hero-copy h1,.mst-new-hero .mst-hero-copy .mst-hero-buttons,.mst-b2b-hero-copy .mst-b2b-actions,.mst-about-hero-copy .mst-about-actions,.mst-web-hero-copy .mst-b2b-actions{animation:none!important}body.mst-motion-ready .mst-home-services .mst-home-service[data-mst-motion="card"]{opacity:1!important;transform:none!important;transition:none!important}}
