/* Expérience services MERCAVEO, isolée de l'accueil. */
body.ms-page{background:#f4f7f7;color:#183347}
.ms-page .ms-hero{position:relative!important;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#45657f,#8da5b7)!important;padding:70px 0 44px!important;min-height:calc(100svh - 76px)!important;display:flex!important;align-items:stretch!important}
.ms-page .ms-hero::before,.ms-page .ms-hero::after{display:none!important}
.ms-background{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#adc4cc66,transparent 60%),linear-gradient(135deg,#45657f,#8da5b7)}
.ms-background video{width:100%;height:100%;object-fit:cover;object-position:75% 38%;transform:scale(1.1)}
.ms-background:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#071a2db8,transparent 37%,#071a2d1c 55%,#071a2dd9)}
.ms-page .ms-hero>.container{position:relative;width:100%;display:flex!important;flex-direction:column!important;align-items:center;gap:30px;z-index:1}
.ms-page .ms-hero .hero-content,.ms-page .ms-hero .service-hero-copy,.ms-page .ms-hero .security-grid>div,.ms-page .ms-hero .recep-grid>div:first-child{width:100%;max-width:980px;text-align:center;min-height:calc(100svh - 190px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.ms-page .ms-hero .hero-title-row,.ms-page .ms-hero .hero-title-block{display:block;width:100%}
.ms-page .ms-hero h1{font:500 clamp(3rem,6.7vw,6.8rem)/.98 Georgia,"Times New Roman",serif!important;color:#fff!important;letter-spacing:-.04em;text-wrap:balance;margin:16px auto 30px!important;max-width:1000px}
.ms-page .ms-hero .gold{color:#e1bd78!important}
.ms-page .ms-hero .eyebrow{color:#e1bd78!important;background:transparent!important;letter-spacing:.15em;font-size:.74rem}
.ms-page .ms-hero p,.ms-page .ms-hero .lead{color:#f0f6f8!important;max-width:760px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}
.ms-page .ms-hero .lead:first-of-type{margin-top:auto!important}
.ms-page .ms-hero .hero-copy-footer{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center}
.ms-page .ms-hero .hero-copy-footer .lead{margin-top:0!important}
.ms-page .ms-hero .hero-actions,.ms-page .ms-hero .actions{justify-content:center;flex-wrap:wrap;margin-top:15px}
.ms-page .ms-hero .hero-3d-column,.ms-page .ms-hero .service-3d-visual,.ms-page .ms-hero .hero-glow,.ms-page .ms-hero>.mercaveo-sphere-stage{display:none!important}
.ms-page .ms-hero .security-card{max-width:760px;background:#ffffff14!important;border:1px solid #ffffff33;color:#fff;margin:0 auto;text-align:left}
.ms-page .ms-hero .security-card h2{color:#fff}
.ms-page .ms-hero .phone-demo{width:min(100%,620px);margin:auto}
.ms-video-toggle{position:absolute;bottom:14px;right:16px;z-index:3;cursor:pointer;border:1px solid #ffffff66;background:#102b3fbf;color:#fff;border-radius:30px;padding:7px 13px;font-size:.75rem}
.ms-page .section h2{font-family:Georgia,serif;letter-spacing:-.035em;font-weight:500;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.1}
.ms-page .card,.ms-page .security-card,.ms-page .comp-card,.ms-page .recep-feature{border-radius:22px;box-shadow:0 16px 40px #1733470b}
.ms-experience{background:#102b3f;color:#fff;padding:65px 0 0}
.ms-experience .ms-kicker{color:#e1bd78;font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
.ms-experience h2{font:500 clamp(2.3rem,4.7vw,4.5rem)/1.05 Georgia,serif;color:#fff;margin:14px 0 28px;letter-spacing:-.04em}
.ms-options{display:flex;gap:12px;flex-wrap:wrap}
.ms-option{font:inherit;font-weight:750;cursor:pointer;padding:13px 23px;border:1px solid #ffffff55;background:#ffffff09;color:#fff;border-radius:40px;transition:background .25s,transform .25s}
.ms-option[aria-pressed=true]{color:#142c40;background:#e1bd78;border-color:#e1bd78;transform:translateY(-2px)}
.ms-option:focus-visible,.ms-video-toggle:focus-visible{outline:3px solid #90dae5;outline-offset:4px}
.ms-intent{max-width:850px;color:#dbe7ed;line-height:1.65;min-height:3.3em;margin:22px 0 10px}
.ms-example-note{color:#a8bfcc;font-size:.8rem}
.ms-story{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.ms-stage{position:sticky;top:85px;height:calc(100svh - 85px);display:grid;place-items:center;perspective:1000px;min-width:0}
.ms-scene{position:relative;width:100%;max-width:520px;aspect-ratio:1.1;transform:rotateY(-10deg) rotateX(5deg);transition:transform .9s ease}
.ms-scene[data-phase="1"]{transform:rotateY(8deg) rotateX(2deg) scale(1.04)}
.ms-scene[data-phase="2"]{transform:rotateY(0) rotateX(0) scale(.98)}
.ms-orbit{position:absolute;inset:15% -3%;border:1px solid #e1bd7866;border-radius:50%;transform:rotate(-20deg)}
.ms-orbit:after{content:"";position:absolute;inset:-5%;border:1px dashed #88cfda66;border-radius:50%;transform:rotate(50deg)}
.ms-screen{position:absolute;inset:13% 8%;border-radius:27px;padding:24px;background:linear-gradient(145deg,#dceceb,#a0c3ce);border:12px solid #284d64;box-shadow:25px 28px 50px #0005,0 0 0 2px #e1bd78b3;color:#23475e}
.ms-screen:before{content:"● ● ●";position:absolute;top:8px;left:14px;font-size:.55rem;letter-spacing:2px}
.ms-panel{position:absolute;inset:30px 18px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(20px) scale(.95);transition:opacity .6s,transform .8s;pointer-events:none}
.ms-scene[data-phase="0"] .ms-panel[data-panel="0"],.ms-scene[data-phase="1"] .ms-panel[data-panel="1"],.ms-scene[data-phase="2"] .ms-panel[data-panel="2"]{opacity:1;transform:none}
.ms-panel-symbol{font-size:clamp(2.8rem,7vw,5rem);line-height:1;color:#183d54}
.ms-panel strong{font:500 clamp(1.3rem,2.4vw,2rem)/1.15 Georgia,serif;text-align:center;margin:10px 0}
.ms-panel-rows{display:grid;gap:7px;width:100%;margin:10px 0 0}
.ms-panel-rows span{background:#ffffffaa;border-radius:8px;padding:7px 10px;text-align:center;font-size:.84rem}
.ms-panel-rows span:last-child{background:#e1bd78;color:#183d54}
.ms-scene-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#e1bd78}
.ms-chapters{padding:7vh 0}
.ms-chapter{min-height:75svh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid #ffffff24;padding:50px 0;opacity:.58;transition:opacity .6s}
.ms-chapter.is-active{opacity:1}
.ms-chapter h3{font:500 clamp(2.4rem,4vw,4.4rem)/1.04 Georgia,serif;color:#fff;letter-spacing:-.04em;margin:18px 0}
.ms-chapter p{font-size:1.12rem;line-height:1.7;color:#dbe7ed}
.ms-chapter ul{color:#dbe7ed;line-height:1.9;padding-left:20px}
.ms-chapter li::marker{color:#e1bd78}
.ms-story-link{display:inline-block;color:#e1bd78;text-underline-offset:6px;margin-top:15px;font-weight:750}
@media(max-width:850px){.ms-story{display:block}.ms-stage{height:41svh;top:76px;background:#102b3ff0;z-index:1;pointer-events:none}.ms-scene{height:100%;width:min(100%,350px);aspect-ratio:1.1}.ms-screen{padding:15px}.ms-panel-symbol{font-size:2.5rem}.ms-panel strong{font-size:1.25rem}.ms-panel-rows{gap:3px;margin:4px 0 0}.ms-panel-rows span{padding:4px 8px;font-size:.7rem}.ms-chapters{padding:0}.ms-chapter{position:relative;z-index:2;background:#102b3f;min-height:55svh;padding:35px 5px}.ms-chapter h3{font-size:2.6rem}.ms-scene-caption{font-size:.58rem}.ms-page .ms-hero h1{font-size:clamp(2.9rem,9vw,5rem)!important}}
@media(max-width:600px){.ms-page .ms-hero{padding:45px 0 35px!important}.ms-page .ms-hero h1{font-size:clamp(2.7rem,11vw,4rem)!important}.ms-background video{object-position:100% 38%;transform:scale(1.2)}.ms-options{gap:8px}.ms-option{flex:1 1 125px;padding:12px;font-size:.86rem}.ms-stage{height:36svh}.ms-experience{padding-top:45px}.ms-page .ms-hero .hero-content,.ms-page .ms-hero .service-hero-copy,.ms-page .ms-hero .security-grid>div,.ms-page .ms-hero .recep-grid>div:first-child{min-height:calc(100svh - 166px)}}
@media(prefers-reduced-motion:reduce){.ms-page *,.ms-page *:before,.ms-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ms-background video{display:none}.ms-chapter{opacity:1}.ms-video-toggle{display:none}}

/* Priorité sur les anciennes règles des pages intérieures. */
body.ms-page header.ms-hero h1{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.ms-page header.ms-hero p,body.ms-page header.ms-hero .lead{color:#f0f6f8!important}
body.ms-page header.ms-hero .gold{color:#e1bd78!important;-webkit-text-fill-color:#e1bd78!important}

/* Éclats 3D (js/ms-eclats.js) : remplacent la carte illustrative quand WebGL est disponible. */
.ms-stage .ms-3d{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .8s ease}
.ms-has-3d .ms-stage .ms-3d{opacity:1}
.ms-has-3d .ms-orbit,.ms-has-3d .ms-screen{display:none}
.ms-has-3d .ms-scene{transform:none!important}

/* 2026-10-09 — l’orbite décorative ne doit pas créer de défilement horizontal sur mobile */
.ms-experience{overflow-x:clip}

/* Pages hors services (Scan, À propos, Contact) : même haut de page vidéo, en version plus courte
   pour laisser apparaître le contenu (formulaire, tarifs) sans défilement excessif. */
.ms-page .ms-hero.ms-hero-short{min-height:min(68svh,640px)!important;padding:96px 0 64px!important;align-items:flex-end!important}
.ms-page .ms-hero.ms-hero-short .hero-content{min-height:0!important;justify-content:flex-end}
.ms-page .ms-hero.ms-hero-short h1{font-size:clamp(2.6rem,5.4vw,5.2rem)!important;margin:14px auto 22px!important}
.ms-page .ms-hero.ms-hero-short .lead:first-of-type{margin-top:0!important}
.ms-page .ms-hero.ms-hero-short h1+.lead,.ms-page .ms-hero.ms-hero-short .lead{color:#f0f6f8!important}
/* Les titres des cartes de contenu restent à taille raisonnable */
.ms-page:has(.ms-hero-short) .section .card h2{font-size:clamp(1.6rem,2.4vw,2.2rem)}
@media(max-width:640px){.ms-page .ms-hero.ms-hero-short{min-height:auto!important;padding:72px 0 48px!important}}
.ms-page:has(.ms-hero-short) :target{scroll-margin-top:96px}

/* Pages À propos et Scan : bas de page plus aéré (espace entre blocs, respiration du texte) */
.ms-page.ms-aere .section{padding:88px 0 110px!important}
.ms-page.ms-aere .section .card+.card,.ms-page.ms-aere .section .sc-card+.sc-card{margin-top:28px!important}
.ms-page.ms-aere .card,.ms-page.ms-aere .sc-card{padding:34px 36px!important}
.ms-page.ms-aere .section p,.ms-page.ms-aere .section li{line-height:1.75}
.ms-page.ms-aere .section .card p+p,.ms-page.ms-aere .section .sc-card p+p{margin-top:14px}
.ms-page.ms-aere .section ul li+li,.ms-page.ms-aere .section ol li+li{margin-top:8px}
.ms-page.ms-aere .section .card h2,.ms-page.ms-aere .section .sc-card h2{margin-bottom:14px}
@media(max-width:640px){.ms-page.ms-aere .card,.ms-page.ms-aere .sc-card{padding:24px 22px!important}.ms-page.ms-aere .section{padding:64px 0 80px!important}}


/* 2026-10-14 — Correctif desktop : le titre, le texte et les actions des héros doivent rester dans une composition lisible. */
@media (min-width:851px){
  .ms-page .ms-hero{
    min-height:0!important;
    padding:54px 0 48px!important;
    align-items:center!important;
  }
  .ms-page .ms-hero>.container{
    gap:22px!important;
  }
  .ms-page .ms-hero .hero-content,
  .ms-page .ms-hero .service-hero-copy,
  .ms-page .ms-hero .security-grid>div,
  .ms-page .ms-hero .recep-grid>div:first-child{
    min-height:0!important;
    max-width:980px!important;
    justify-content:center!important;
  }
  .ms-page .ms-hero h1{
    max-width:24ch!important;
    font-size:clamp(2.7rem,4.2vw,4.4rem)!important;
    line-height:1.06!important;
    margin:18px auto 20px!important;
  }
  .ms-page .ms-hero .lead,
  .ms-page .ms-hero .lead:first-of-type{
    max-width:68ch!important;
    margin:0 auto!important;
  }
  .ms-page .ms-hero .hero-copy-footer{
    margin-top:0!important;
    gap:0!important;
  }
  .ms-page .ms-hero .hero-actions,
  .ms-page .ms-hero .actions{
    margin-top:20px!important;
  }
}
