:root{--ink:#172b50;--blue:#244b9a;--blue2:#3866c6;--pale:#e9eef8;--cream:#f9f9f6;--white:#fff;--muted:#65728a;--line:#dbe1ed;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.7 'Inter',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Inter',Arial,sans-serif!important;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,7vw,7.4rem);font-weight:800}h2{font-size:clamp(2.35rem,4.5vw,4.6rem);font-weight:750}h3{font-size:1.5rem}h1 em,h2 em{font-style:normal;color:var(--blue2)}.period,.brand-dot{color:#6189e8}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.narrow{max-width:880px}.skip-link{position:absolute;top:-60px;left:10px;background:#fff;padding:10px;z-index:20}.skip-link:focus{top:10px}.site-header{position:relative;z-index:5;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;gap:40px}.brand{display:inline-flex;flex-direction:column;position:relative;font:800 1.7rem/.9 'Inter',Arial,sans-serif;letter-spacing:-.08em;white-space:nowrap}.brand-dot{position:absolute;left:100%;top:-4px}.brand small{font:700 .57rem/1.8 'Inter',Arial,sans-serif;letter-spacing:.37em}.main-nav{margin-left:auto}.nav-list{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0}.nav-list a{font-size:.9rem;font-weight:700}.nav-list a:hover,.text-link:hover{color:var(--blue2)}.header-cta{font-size:.84rem;font-weight:700;border-bottom:1px solid;padding-bottom:5px}.menu-toggle{display:none}.hero{overflow:hidden;padding-top:90px;background:#f4f6fa}.hero-grid{min-height:590px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:5%}.eyebrow{display:block;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin-bottom:25px}.hero h1{margin-bottom:35px}.hero-lead,.lead{font-size:1.16rem;line-height:1.75;color:#4e5c73;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--blue);border:1px solid var(--blue);color:#fff;padding:15px 21px;font-weight:700;font-size:.87rem;transition:.2s}.btn:hover{background:#17366f;transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:#fff}.btn-light{background:#fff;border-color:#fff;color:var(--ink)}.hero-art{height:460px;position:relative;display:grid;place-items:center}.art-ring{position:absolute;width:360px;height:360px;border:65px solid #cfdaee;border-radius:50%;transform:rotate(-20deg) scaleX(.8);box-shadow:38px 45px 0 #e4eaf4}.art-panel{position:relative;z-index:1;background:var(--blue);width:310px;height:300px;transform:rotate(-8deg);box-shadow:24px 26px 0 #93a9d5;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:28px;font:800 3.5rem/.98 'Inter',Arial,sans-serif;letter-spacing:-.08em}.art-panel span{color:#a7c0ff}.art-panel strong{font-size:3rem}.art-label{position:absolute;right:-20px;bottom:30px;font-size:.7rem;letter-spacing:.2em;transform:rotate(-90deg)}.hero-foot{display:flex;gap:45px;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:.67rem;letter-spacing:.15em;font-weight:700}.section{padding:115px 0}.section-tint{background:var(--pale)}.section-head{max-width:800px;margin-bottom:54px}.section-head h2{margin-bottom:24px}.section-head p:not(.eyebrow){max-width:590px;color:#5a6881}.inline-head{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:20px}.text-link{font-weight:800;border-bottom:1px solid;padding-bottom:6px;font-size:.9rem}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{position:relative;min-height:285px;background:#fff;padding:35px 40px;border:1px solid var(--line);transition:.25s}.service-card:hover{transform:translateY(-5px);border-color:#8fa6d5}.card-number{font-size:.68rem;letter-spacing:.16em;color:var(--blue);font-weight:800}.service-card h3{margin:38px 0 15px;font-size:2rem}.service-card p{max-width:340px;color:var(--muted)}.card-arrow{position:absolute;right:34px;top:30px;font-size:1.4rem}.project-grid,.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-image{height:245px;background:#d1dced;display:grid;place-items:center;overflow:hidden;color:#4c6696;font-size:.8rem;letter-spacing:.12em}.project-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.project-card:hover img{transform:scale(1.05)}.project-card h3,.project-card h2{font-size:1.4rem;margin:20px 0 8px}.project-card p{color:var(--muted);font-size:.91rem}.empty-state{grid-column:1/-1;padding:60px;background:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.steps>div{display:grid;grid-template-columns:50px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:23px 0}.steps b{color:var(--blue2)}.steps h3{margin-bottom:7px}.steps p{color:var(--muted);margin-bottom:0}.article-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:270px;display:flex;flex-direction:column}.article-card h2,.article-card h3{font-size:1.55rem}.article-card p{color:var(--muted)}.article-card>span:last-child{margin-top:auto;font-size:.85rem;font-weight:800}.contact-banner{padding:100px 0;background:var(--blue);color:#fff}.contact-banner .eyebrow{color:#b8ccff}.contact-banner h2{font-size:clamp(3rem,6vw,6.2rem)}.contact-banner h2 em{color:#b8ccff}.site-footer{background:#1B1B39;color:#fff;padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.brand-light{color:#fff}.footer-top p{color:#bdc8dc;margin-top:27px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:11px}.footer-top .eyebrow{color:#aabde7;margin-bottom:8px}.footer-bottom{border-top:1px solid #41506c;margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;font-size:.76rem;color:#a9b6ce}.page-hero{background:#edf2fa;padding:110px 0 95px}.page-hero h1{font-size:clamp(3.3rem,6vw,6rem)}.page-hero .lead{margin-top:30px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:50px 0;border-top:1px solid var(--line)}.service-row:nth-child(even) .service-visual{order:2}.service-visual{height:420px;background:linear-gradient(145deg,#e1e8f5,#c4d3ee);position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:35px;overflow:hidden}.service-visual:after{content:'';position:absolute;width:300px;height:300px;border:65px solid #8fa8da;border-radius:50%;right:-100px;bottom:-150px;opacity:.6}.service-visual span{font-size:4rem;font-weight:800;letter-spacing:-.07em;color:#8098c7}.service-visual strong{font:800 clamp(2.5rem,4vw,4rem)/1.05 'Inter',Arial,sans-serif;max-width:340px;letter-spacing:-.07em}.service-visual i{position:absolute;right:35px;top:35px;font-size:2rem;font-style:normal}.service-copy h2{font-size:clamp(2rem,3.5vw,3.4rem)}.service-copy p{color:var(--muted)}.service-copy ul{padding-left:20px;margin:25px 0}.service-copy li{margin-bottom:6px}.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.four-grid>div{border-top:2px solid var(--blue);padding-top:25px}.four-grid h3{font-size:1.2rem}.four-grid p{color:var(--muted);font-size:.91rem}.faq{border-bottom:1px solid #becae0;padding:20px 0}.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:1.4rem}.faq[open] summary:after{content:'−'}.faq p{color:var(--muted);margin:12px 0 0}.prose{font-size:1.08rem}.prose h2{font-size:2.2rem;margin-top:45px}.prose a{text-decoration:underline}.prose p,.prose li{color:#4d5a70}.featured{margin-top:50px}.featured img{width:100%;max-height:580px;object-fit:cover}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{font-weight:700;font-size:.88rem}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #c6d0e2;padding:14px;background:#fff;margin-top:7px;border-radius:0;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #7999e3;outline-offset:1px}.contact-form .check{display:flex;align-items:start;gap:12px;font-weight:400}.contact-form .check input{margin-top:7px}.contact-form button{align-self:start}.form-note{font-size:.75rem;color:var(--muted)}.trap{position:absolute;left:-9999px}.notice{padding:15px;background:#dfeadf;margin-bottom:20px}.pagination{margin-top:30px}.pagination .nav-links{display:flex;gap:20px}.pagination a{text-decoration:underline}@media(max-width:1050px){.header-cta{display:none}.hero-grid{grid-template-columns:1fr 1fr}.four-grid{grid-template-columns:repeat(2,1fr)}.split{gap:40px}}@media(max-width:760px){.container{width:min(var(--max),calc(100% - 38px))}.header-inner{height:75px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;background:none;border:0;font-weight:700;color:var(--ink)}.main-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--cream);padding:20px;border-bottom:1px solid var(--line)}.main-nav.is-open{display:block}.nav-list{display:flex;flex-direction:column;align-items:start;gap:15px}.hero{padding-top:60px}.hero-grid,.split,.service-row,.contact-grid{grid-template-columns:1fr}.hero-grid{min-height:unset}.hero-art{height:320px}.art-ring{width:230px;height:230px;border-width:45px}.art-panel{width:230px;height:220px;font-size:2.7rem}.art-panel strong{font-size:2.3rem}.art-label{display:none}.hero-foot{justify-content:space-between;gap:10px;font-size:.54rem}.section{padding:70px 0}.service-grid,.project-grid,.article-grid{grid-template-columns:1fr}.inline-head{display:block}.inline-head .text-link{display:inline-block;margin-bottom:15px}.service-row{gap:30px;padding:45px 0}.service-row:nth-child(even) .service-visual{order:0}.service-visual{height:300px}.four-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px;flex-direction:column}.page-hero{padding:75px 0}.contact-grid{gap:30px}}@media(max-width:450px){h1{font-size:3.15rem}.four-grid{grid-template-columns:1fr}.service-card{padding:25px}.hero-foot span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2 — Typographie et navigation */
:root{--ms-font:'Inter',Arial,sans-serif}
body,button,input,textarea{font-family:'Inter',Arial,sans-serif!important}
h1,.hero h1,.page-hero h1{font-size:clamp(2.2rem,4.1vw,4.25rem)!important;line-height:1.12!important;letter-spacing:-.035em}
h2,.section h2{font-size:clamp(1.65rem,2.7vw,2.75rem)!important;line-height:1.18!important}
h3{font-size:clamp(1.15rem,1.5vw,1.5rem)!important}
.header-cta{display:none!important}.nav-list{display:flex;align-items:center;gap:1.4rem;list-style:none}.nav-item{position:relative;display:flex;align-items:center;gap:.25rem}.nav-item>a{text-decoration:none}.submenu-toggle{border:0;background:transparent;cursor:pointer;color:inherit;padding:.25rem;font-size:1.2rem}.sub-menu{display:none;position:absolute;z-index:100;left:0;top:100%;min-width:240px;background:#fff;box-shadow:0 12px 35px #071b3b25;border:1px solid #dbe4f2;list-style:none;margin:0;padding:.65rem;border-radius:.5rem}.sub-menu li a{display:block;padding:.65rem .8rem;text-decoration:none;color:#122b53}.has-submenu:hover>.sub-menu,.has-submenu:focus-within>.sub-menu,.has-submenu.submenu-open>.sub-menu{display:block}.ms-icon{width:44px;height:44px;display:block;margin:1.2rem 0;color:#2858a6}.service-visual .ms-icon{width:66px;height:66px;color:inherit}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.review-card{margin:0;padding:2rem;background:#f2f6fd;border-radius:1rem}.review-card .review-quote{font-size:3rem;line-height:1;color:#2b5eb2}.review-card footer{margin-top:1rem;font-weight:600}.footer-top{grid-template-columns:2fr 1fr 1fr 1fr!important}
@media(max-width:950px){.reviews-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr!important}.nav-list{display:block}.nav-item{display:flex;flex-wrap:wrap}.nav-item>a{flex:1}.sub-menu{position:static;box-shadow:none;width:100%;min-width:0}.nav-item:not(.submenu-open)>.sub-menu{display:none}.nav-item.submenu-open>.sub-menu{display:block}}
@media(max-width:600px){.footer-top{grid-template-columns:1fr!important}}

/* V3 — direction artistique agence digitale : graphite, ivoire, accent électrique */
:root{--ink:#101827;--blue:#315bff;--blue2:#315bff;--pale:#eef1f6;--cream:#f8f9fb;--white:#fff;--muted:#556174;--line:#e1e5ec;--max:1240px;--ms-font:'Inter',Arial,sans-serif}
body{background:var(--cream);color:var(--ink);font-family:'Inter',Arial,sans-serif!important;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.art-panel,.service-visual strong{font-family:'Inter',Arial,sans-serif!important;letter-spacing:-.035em}
h1,.hero h1,.page-hero h1{font-size:clamp(2.15rem,3.7vw,3.85rem)!important;line-height:1.13!important;font-weight:650}
h2,.section h2{font-size:clamp(1.55rem,2.5vw,2.65rem)!important;font-weight:650}
.section{padding:90px 0}.page-hero{background:linear-gradient(135deg,#f4f6f9 0%,#e9edf7 100%);padding:92px 0 80px}.hero{background:#f5f6fa}.site-header{background:rgba(248,249,251,.96);backdrop-filter:blur(14px)}
.btn{border-radius:8px;background:#315bff;border-color:#315bff}.btn:hover{background:#2149e5}.service-card,.article-card,.review-card{border-radius:14px;box-shadow:0 10px 30px rgba(18,26,42,.035)}.service-visual{background:linear-gradient(145deg,#e6e9f0,#d7dce8);border:1px solid #dce1ea;border-radius:14px}.service-visual:after{border-color:#b4c3ff;opacity:.65}.service-visual span{color:#7686aa}.service-visual strong{font-weight:650;font-size:clamp(2rem,3vw,3rem)}.service-visual .ms-icon{color:#315bff}
/* Même hauteur des colonnes d'une carte service, quelle que soit la longueur du texte */
.service-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6%}.service-visual{height:auto;min-height:100%;align-self:stretch}.service-copy{padding:24px 0;display:flex;flex-direction:column;align-items:flex-start}.service-copy .text-link{margin-top:auto}.service-copy h2{font-size:clamp(1.7rem,2.7vw,2.75rem)!important}.four-grid h3{font-size:1.08rem!important;line-height:1.25;min-height:2.7em}
.site-footer{background:#1B1B39}.footer-bottom{align-items:center}.legal-links{display:flex;gap:18px;flex-wrap:wrap}.legal-links a:hover{color:#fff}.social-icons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.social-icons a{width:42px;height:42px;border:1px solid #546074;border-radius:10px;display:grid;place-items:center;transition:background .2s,border-color .2s}.social-icons a:hover{background:#315bff;border-color:#315bff}.social-icons svg{width:21px;height:21px}
.studio-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-pillars article{padding:30px;background:#fff;border:1px solid var(--line);border-radius:12px}.studio-pillars h3{font-size:1.22rem!important}.studio-pillars p{color:var(--muted)}.service-extra{margin:36px 0}.page-transition{position:fixed;inset:0;z-index:99999;background:#315bff;opacity:0;pointer-events:none;transition:opacity .17s ease}.page-transition.is-active{opacity:.9;pointer-events:all}
@media(max-width:760px){.service-row{grid-template-columns:1fr;gap:22px}.service-visual{height:300px;min-height:300px}.service-copy{padding:0}.four-grid h3{min-height:0}.studio-pillars{grid-template-columns:1fr}.legal-links{gap:10px}}
@media(prefers-reduced-motion:reduce){.page-transition{display:none}}

/* V4 — Hero revisité : interface digitale, sans texte vertical */
.hero-workspace{height:480px;min-width:0;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:20px 22px 28px}.workspace-orbit{position:absolute;inset:55px 10px 55px 25px;border:1px solid #cbd8ef;border-radius:50%;transform:rotate(-22deg);background:radial-gradient(circle at 50% 50%,#e3ecff 0%,transparent 65%);z-index:-1}.workspace-window{position:relative;width:min(100%,440px);min-height:350px;background:#fff;border:1px solid #cdd9ec;border-radius:17px;box-shadow:0 30px 75px rgba(20,43,80,.15);overflow:hidden;transform:rotate(-3deg)}.workspace-top{height:51px;border-bottom:1px solid #e5eaf3;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#6b7891;font-size:10px;letter-spacing:.16em;font-weight:700}.workspace-dots{display:flex;gap:5px}.workspace-dots i{width:8px;height:8px;border-radius:50%;background:#d6deed}.workspace-dots i:first-child{background:#3866c6}.workspace-cross{font-size:18px;color:#315ad1}.workspace-body{padding:37px 35px 26px;background:linear-gradient(140deg,#f7f9fe 0%,#e5edfd 100%)}.workspace-tag{font-size:10px;font-weight:800;letter-spacing:.15em;color:#46659e}.workspace-headline{margin:26px 0 34px;font-weight:700;font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.06;letter-spacing:-.055em;color:#172b50}.workspace-headline span{color:#3866c6}.workspace-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cad6ec;padding-top:14px;font-size:11px;font-weight:700;color:#5c6e91}.workspace-arrow{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#315ad1;color:#fff;font-size:23px}.workspace-pill{position:absolute;right:-4px;bottom:26px;background:#172b50;color:#fff;border-radius:100px;padding:13px 20px;font-size:12px;box-shadow:0 12px 35px #172b5026;transform:rotate(4deg)}.workspace-pill span{color:#8facff;padding:0 7px}.hero-art .art-label{display:none}
/* Neue Montréal : déposer localement les fichiers sous assets/fonts/ (non inclus) */
body{font-family:'Inter',Arial,sans-serif!important}h1,h2,h3,.brand,.brand small,.service-visual strong{font-family:'Inter',Arial,sans-serif!important}
@media(max-width:760px){.hero-workspace{height:350px;padding:12px 16px 28px}.workspace-window{min-height:260px}.workspace-body{padding:18px 25px}.workspace-headline{font-size:2.6rem;margin:17px 0}.workspace-pill{bottom:10px;right:5px}.workspace-orbit{inset:35px 15px}}

/* V5 — Lecture des prestations et hiérarchie éditoriale */
.service-detail-layout{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.5fr);gap:clamp(35px,6vw,100px);align-items:start}
.service-detail-intro{position:sticky;top:30px}.service-detail-intro h2{font-size:clamp(1.65rem,2.7vw,2.65rem);line-height:1.15}.service-detail-intro>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.75}.service-detail-intro .btn{margin-top:18px}
.service-detail-block{padding:0 0 38px;margin-bottom:40px;border-bottom:1px solid var(--line)}.service-detail-block:last-child{border-bottom:0;margin-bottom:0}.service-detail-block .eyebrow{margin-bottom:13px}.service-detail-block h2{font-size:clamp(1.45rem,2.25vw,2.1rem);font-weight:700;letter-spacing:-.025em;line-height:1.25;margin:0 0 17px}.service-detail-block p{font-size:1.03rem;line-height:1.85;color:#4d5a70;max-width:70ch}.detail-faq{margin:22px 0}.detail-faq h3{font-size:1.06rem;font-weight:700;letter-spacing:0;margin:0 0 7px}.detail-faq p{margin:0}.service-extra h2{margin-top:0}
.article-card h2,.article-card h3,.article-grid .article-card h2{font-size:clamp(1.15rem,1.55vw,1.42rem)!important;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}.article-card{min-height:220px}
.four-grid{gap:clamp(14px,2vw,26px)}.four-grid>div{padding-top:20px}.four-grid h3{font-size:clamp(1.15rem,1.45vw,1.4rem)!important;min-height:0!important;line-height:1.25;letter-spacing:-.015em}.four-grid p{font-size:1rem;line-height:1.65}.four-grid .eyebrow{margin-bottom:15px}
@media(max-width:800px){.service-detail-layout{grid-template-columns:1fr;gap:45px}.service-detail-intro{position:static}.service-detail-block{margin-bottom:30px;padding-bottom:30px}.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.four-grid{grid-template-columns:1fr}.service-detail-block h2{font-size:1.5rem}}

/* V6 — direction artistique light, graphique, sans ombres */
:root{--ink:#1B1B39;--muted:#343434;--blue:#315bff;--blue2:#315bff;--line:#d9dce2;--cream:#fafafa;--pale:#f0f2f6}
body,h1,h2,h3,h4,h5,h6,p,li,small,strong,b,span,summary,.eyebrow,.card-number,.text-link,.brand,.brand-dot,.service-copy p,.section-head p:not(.eyebrow),.service-card p,.article-card p,.project-card p,.studio-pillars p,.steps p,.steps b,.prose p,.prose li,.hero-lead,.lead,.service-detail-intro>p:not(.eyebrow),.service-detail-block p,.service-visual span,.workspace-headline,.workspace-headline span,.workspace-tag,.workspace-top,.workspace-bottom,.workspace-cross,.workspace-pill,.workspace-pill span,.footer-top p,.footer-top .eyebrow,.footer-bottom,.nav-list a,.sub-menu li a{color:#1B1B39!important}
h1,h2,h3,h4,.brand,.service-visual strong,.service-detail-block h2,.detail-faq h3{font-weight:500!important}
strong,b{font-weight:500} .eyebrow,.card-number{font-weight:500!important}
*,*::before,*::after{box-shadow:none!important;text-shadow:none!important}
.service-card,.article-card,.review-card,.service-visual,.studio-pillars article,.workspace-window,.social-icons a,.sub-menu,.btn,.workspace-pill{border-radius:4px!important}
.workspace-dots i,.workspace-arrow{border-radius:50%}
.btn,.btn:hover,.btn-outline,.btn-light,.workspace-arrow{color:#1B1B39!important;background:#dce4ff;border-color:#c6d3ff;font-weight:500!important}
.btn:hover{background:#c9d6ff}.btn-outline{background:transparent}
.contact-banner,.site-footer{background:#1B1B39!important;color:#1B1B39!important}
.contact-banner .eyebrow,.contact-banner h2,.contact-banner h2 em,.site-footer a,.site-footer p,.site-footer .brand,.footer-bottom,.footer-top .eyebrow{color:#1B1B39!important}
.site-footer .social-icons a{border-color:#bbc4d4}.social-icons a:hover{background:#dce4ff;border-color:#9bb0df}
.section,.page-hero,.hero,.section-tint,.contact-banner{position:relative;isolation:isolate;overflow:hidden}
.section:before,.page-hero:before,.contact-banner:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:clamp(190px,32vw,480px);height:clamp(190px,32vw,480px);right:-12%;top:-130px;border:1px solid rgba(49,91,255,.13);border-radius:50%;background:repeating-linear-gradient(135deg,transparent 0 23px,rgba(49,91,255,.028) 24px 25px)}
.section:nth-of-type(even):before{left:-15%;right:auto;top:auto;bottom:-160px}
.page-hero:after,.hero:after{content:'';position:absolute;z-index:-1;pointer-events:none;left:2%;bottom:6%;width:140px;height:140px;background-image:radial-gradient(#b9c9ee 1px,transparent 1px);background-size:15px 15px;opacity:.55}
.service-visual{background:linear-gradient(135deg,#f2f3f7,#e6ebf5)}
.workspace-body{background:linear-gradient(140deg,#f9fafc,#edf1f8)}
.workspace-pill{background:#e3e8f2!important}
.page-transition{background:#e4eaff}

/* V7 — structure, contraste, variations visuelles */
.contact-banner{background:#111317!important;color:#fff!important;border-bottom:0!important;padding:clamp(75px,9vw,145px) 0!important;min-height:320px}
.contact-banner:before{display:none!important}.contact-banner:after{content:"";position:absolute;inset:0 0 0 auto;width:46%;z-index:-1;background:linear-gradient(125deg,transparent 5%,rgba(255,255,255,.08) 5.2%,transparent 5.6%,transparent 23%,rgba(255,255,255,.08) 23.2%,transparent 23.6%),radial-gradient(circle at 65% 40%,rgba(255,255,255,.13),transparent 45%)}
.contact-banner .eyebrow,.contact-banner h2,.contact-banner h2 em{color:#fff!important}.contact-banner .btn{background:#fff!important;color:#1B1B39!important;border-color:#fff!important}
.site-footer{background:#1B1B39!important;border-top:6px solid #fff!important;padding-top:clamp(55px,7vw,100px)!important}
.site-footer:before{display:none!important}
/* Titres toujours noirs sur fond clair ; le bleu est réservé aux éléments graphiques */
h1 em,h2 em,h3 em,.hero h1 em,.page-hero h1 em,.hero h1 span,.section-head h2 span,.text-blue,.accent-text{color:#1B1B39!important}
.service-visual .ms-icon,.service-visual svg,.card-number{color:#315bff!important}
/* Alternance des textures au lieu du cercle répété */
.section:before,.page-hero:before{display:none!important}
.section-tint{background:#eef0f3!important}
.section-tint:after{content:"";position:absolute;z-index:-1;right:0;top:0;width:25%;height:100%;opacity:.35;background:repeating-linear-gradient(90deg,transparent 0 25px,#d1d5de 26px 27px)}
.studio-outcomes{background:linear-gradient(100deg,#f2f2f0 0%,#f2f2f0 65%,#e1e3e8 100%)!important}
.studio-outcomes:after{content:"";position:absolute;right:4%;top:15%;width:130px;height:130px;border:1px solid #b8bdc8;transform:rotate(45deg);z-index:-1}
/* FAQ lisible et structurée */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.faq-item{padding:22px 0;border-top:1px solid #d6d9dd}.faq-item h3{font-size:1.12rem!important;line-height:1.4;font-weight:500!important;margin:0 0 10px}.faq-item p{font-size:1rem;line-height:1.65;margin:0;color:#1B1B39!important}
.social-icons a{border-radius:3px!important}.social-icons svg{width:19px;height:19px}
@media(max-width:760px){.faq-grid{grid-template-columns:1fr}.contact-banner{min-height:280px}.contact-banner:after{width:65%}}


/* V8 — ajustements de structure */
#contenu{margin-bottom:0!important;padding-bottom:0!important}
#contenu > :last-child{margin-bottom:0!important}
.site-footer{margin-top:0!important;border-top:0!important;padding-top:65px!important}
.contact-banner{margin-bottom:0!important}
.site-footer .brand,.site-header .brand{font-family:'Inter',Arial,sans-serif!important;font-size:clamp(1.15rem,1.7vw,1.5rem)!important;font-weight:500!important;letter-spacing:-.035em!important;text-transform:lowercase!important;white-space:nowrap;display:inline-flex;align-items:center}
.nav-list{gap:clamp(16px,1.9vw,30px)!important}
.nav-item{gap:5px!important;align-items:center!important}
.nav-item>a{display:inline-flex;align-items:center;line-height:1.4!important}
.submenu-toggle{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;transform:translateY(-1px);font-size:1.05rem!important;padding:4px!important}
.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;align-items:stretch}
.faq-item{display:flex;flex-direction:column;min-width:0;margin:0!important;padding:22px 0 0!important}
.faq-item h3{min-height:3.15em;margin-bottom:12px!important;overflow-wrap:break-word}
.faq-item p{margin:0!important;flex:1}
.contact-form .check{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:12px!important;align-items:start!important;font-size:.91rem;line-height:1.55;font-weight:400!important}
.contact-form .check input{width:18px;height:18px;margin:4px 0 0!important}
.contact-form .check a{display:inline!important;text-decoration:underline;text-underline-offset:3px}
.form-note{max-width:55ch;line-height:1.5;font-size:.84rem!important;margin:0}
.studio-hours,.studio-location{margin-top:36px;padding-top:22px;border-top:1px solid #d9dce2}
.studio-hours h3,.studio-location h3{font-size:1.16rem;margin:0 0 10px;font-weight:500}
.studio-hours p,.studio-location p{font-size:.99rem;line-height:1.65;margin:0 0 12px}
.map-consent{background:#eef0f3;border:1px solid #d9dce2;min-height:230px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:15px;padding:24px;max-width:100%;overflow:hidden}
.map-consent iframe{display:block;width:100%;height:280px;border:0}
/* Images graphiques abstraites SVG, non photographiques */
.page-hero{background-image:linear-gradient(90deg,rgba(239,242,247,.95) 0%,rgba(239,242,247,.83) 65%,rgba(239,242,247,.35) 100%),url('../images/abstract-grid.svg');background-position:center,right center;background-repeat:no-repeat;background-size:cover,auto 100%}
.section-tint{background-image:url('../images/abstract-wave.svg')!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:auto 100%!important}
@media(max-width:760px){.faq-grid{grid-template-columns:1fr!important;gap:10px!important}.faq-item h3{min-height:0}.nav-list{gap:14px!important}.map-consent{padding:15px}.site-footer{padding-top:45px!important}}

/* V9 — interface, filtrage, photographie et mise en page */
.submenu-toggle{width:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;opacity:0!important;pointer-events:none!important}
.nav-item.has-submenu:hover>.sub-menu,.nav-item.has-submenu:focus-within>.sub-menu{display:block}
.nav-list{gap:clamp(18px,2.2vw,35px)!important}
.content-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 34px}
.filter-pill{border:1px solid #cbd0d8;padding:10px 16px;text-decoration:none;color:#151515;border-radius:3px;font-size:.9rem}
.filter-pill.active,.filter-pill:hover{background:#151515;color:#fff}
.article-sharing{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid #d5d9e0;padding:25px 0;margin:48px 0 0}
.article-sharing a,.copy-article-link{padding:9px 12px;border:1px solid #d5d9e0;border-radius:3px;background:#fff;color:#151515;font:inherit;text-decoration:none;cursor:pointer}
.related-articles{padding-bottom:75px}.related-articles h2{font-size:clamp(1.7rem,3vw,2.6rem)}
.project-card h2,.article-card h2,.article-card h3{font-size:clamp(1.2rem,1.65vw,1.6rem)!important;line-height:1.2}
.map-consent{padding:0!important;background:transparent!important;border:0!important;min-height:260px!important}
.map-consent iframe{width:100%;height:300px;border:0;display:block}
.contact-grid{align-items:stretch}.contact-grid>div:first-child{display:flex;flex-direction:column}.studio-location{margin-top:auto}.contact-form{height:100%}.contact-form button[type=submit]{margin-top:auto}
.contact-form .check a{display:none!important}.form-note{font-size:.85rem}
.cta-flex{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-flex .btn{flex-shrink:0}
.service-row:nth-of-type(4n+1) .service-visual:after{border-radius:0;transform:rotate(24deg)}
.service-row:nth-of-type(4n+2) .service-visual:after{border-radius:50% 10% 50% 10%;transform:rotate(-25deg)}
.service-row:nth-of-type(4n+3) .service-visual:after{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.service-row:nth-of-type(4n+4) .service-visual:after{border-radius:50%}
.ms-context-hero{position:relative;isolation:isolate}.ms-context-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(248,249,251,.97) 0%,rgba(248,249,251,.86) 55%,rgba(248,249,251,.25) 100%),var(--ms-context-image,none);background-position:center;background-size:cover;z-index:-1}
@media(max-width:760px){.cta-flex{display:block}.cta-flex .btn{margin-top:18px}.contact-form button[type=submit]{margin-top:8px}.studio-location{margin-top:30px}.map-consent iframe{height:260px}}

/* V11 — corrections finales et références clients */
/* Supprimer les vagues/courbes des décors, conserver les aplats sobres. */
.section-tint{background-image:none!important}
.section-tint:after{display:none!important}
.page-hero{background-image:none!important}
.workspace-orbit,.workspace-pill:before{display:none!important}
/* Partage : centré sous le corps de l'article. */
.article-sharing{width:min(100% - 40px,780px);margin:40px auto 0!important;justify-content:center;gap:10px}
.article-sharing strong{flex-basis:100%;text-align:center;font-size:.86rem;font-weight:500}
/* Consentement : texte secondaire discret, aligné sur la case. */
.contact-form .check{font-size:.78rem!important;line-height:1.45!important;gap:9px!important;grid-template-columns:17px minmax(0,1fr)!important;max-width:520px}
.contact-form .check input{width:15px!important;height:15px!important;margin-top:2px!important}
/* Logos clients — insertion entre hero et expertises. */
.client-strip{background:#fff;border-top:1px solid #e6e7e9;border-bottom:1px solid #e6e7e9;padding:32px 0 40px}
.client-strip-head{margin-bottom:20px}.client-strip .eyebrow{margin:0;color:#151515}
.client-logo-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;gap:24px 38px}
.client-logo{min-width:125px;max-width:200px;min-height:70px;display:flex;align-items:center;justify-content:center;padding:10px}
.client-logo img{width:auto;max-width:165px;max-height:64px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s}
.client-logo:hover img{filter:none;opacity:1}
.client-logo span{font-size:1rem;font-weight:500;text-align:center}
.client-placeholder{font-size:.88rem;color:#666;margin:0}
@media(max-width:760px){.client-strip{padding:25px 0}.client-logo-grid{gap:12px}.client-logo{min-width:105px;max-width:140px}.client-logo img{max-width:120px;max-height:52px}.article-sharing{width:calc(100% - 30px)}}

/* V12 — ajustements demandés */
/* Suppression définitive du voile de navigation et de l'espace entre CTA et footer. */
.page-transition{display:none!important}
.contact-banner{margin:0!important;border-bottom:0!important}
.site-footer{margin:0!important;border-top:0!important}
main{margin-bottom:0!important;padding-bottom:0!important}
main>.contact-banner:last-child{margin-bottom:0!important}
/* Héros : chaque page retrouve un aplat légèrement teinté, sans motif ondulé. */
.page-hero{background:#edf0f6!important;background-image:none!important}
.page-hero:before{display:none!important}
/* Consentement sur une ligne en affichage desktop, retour à la ligne naturel sur mobile. */
.contact-form .check{max-width:none!important;display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap;font-size:.76rem!important;line-height:1.45!important}
.contact-form .check input{flex:0 0 15px;margin:0!important}
@media(max-width:1000px){.contact-form .check{white-space:normal!important;align-items:flex-start!important}}
/* Logos uniquement, sans intitulé de substitution. */
.client-logo{min-width:110px}
.client-logo:empty{display:none}

/* V13 — footer équilibré, références clients et projets similaires */
@media(min-width:951px){
.footer-top{grid-template-columns:minmax(250px,2fr) minmax(115px,1fr) minmax(145px,1fr) minmax(155px,1fr)!important;gap:clamp(22px,3vw,56px);align-items:start}
.footer-top>div:last-child{justify-self:end;text-align:left;min-width:155px}
}
.client-strip{padding-block:clamp(46px,5vw,76px)!important}
.client-strip-head{margin-bottom:clamp(28px,3vw,42px)!important}
.client-logo-grid{min-height:72px;justify-content:center;gap:28px 52px}
.client-logo{margin:0}
.related-projects{margin-top:70px;margin-bottom:25px}
.related-projects h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:30px}
.related-projects .project-grid{gap:24px}
@media(max-width:950px){.footer-top>div:last-child{justify-self:auto;text-align:left}}

/* V15 — sous-menus identifiables, accessibles au clic et au clavier. */
.nav-item.has-submenu{position:relative;display:flex;align-items:center;flex-wrap:wrap;column-gap:7px}
.nav-item.has-submenu>.submenu-toggle{position:static!important;opacity:1!important;pointer-events:auto!important;overflow:visible!important;width:26px!important;height:30px!important;padding:0!important;transform:none!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 26px;border:0;background:transparent;color:#1B1B39;cursor:pointer;border-radius:3px}
.nav-item.has-submenu>.submenu-toggle::before{content:'+';font-family:'Inter',Arial,sans-serif!important;font-size:19px;font-weight:400;line-height:1}
.nav-item.has-submenu.submenu-open>.submenu-toggle::before{content:'−'}
.nav-item.has-submenu>.submenu-toggle:hover{background:#e9edf5}
.nav-item.has-submenu>.submenu-toggle:focus-visible{outline:2px solid #315bff;outline-offset:2px}
.nav-item.has-submenu>.sub-menu{flex-basis:100%}
@media(min-width:951px){.nav-item.has-submenu>.sub-menu{flex-basis:auto}.nav-list{gap:clamp(15px,1.7vw,28px)!important}}
@media(max-width:950px){.nav-item.has-submenu{width:100%;justify-content:space-between}.nav-item.has-submenu>a{flex:1}.nav-item.has-submenu>.submenu-toggle{margin-left:auto;width:42px!important;height:42px!important;flex-basis:42px}.nav-item.has-submenu>.sub-menu{width:100%;flex-basis:100%;position:static;box-shadow:none!important;border:0;border-left:2px solid #d8e1f4;border-radius:0!important;margin:3px 0 5px 8px;padding:0 0 0 13px}.nav-item.has-submenu:not(.submenu-open)>.sub-menu{display:none!important}.nav-item.has-submenu.submenu-open>.sub-menu{display:block!important}}

/* V16 — espacement uniforme entre groupes du menu (desktop/laptop). */
@media (min-width:951px) {
  .main-nav .nav-list { display:flex; align-items:center; gap:clamp(22px,2vw,32px)!important; }
  .main-nav .nav-list > .nav-item { display:inline-flex; align-items:center; flex-wrap:nowrap; gap:0; margin:0!important; padding:0!important; white-space:nowrap; }
  .main-nav .nav-list > .nav-item.has-submenu { column-gap:8px!important; }
  .main-nav .nav-list > .nav-item.has-submenu > .submenu-toggle { flex:0 0 18px!important; width:18px!important; height:24px!important; margin:0!important; }
  .main-nav .nav-list > .nav-item.has-submenu > .sub-menu { flex-basis:auto; }
}

/* V17 — Aligner la colonne Ressources sur le bord droit du footer. */
@media (min-width:951px){
  .footer-top > div:last-child{justify-self:end!important;align-items:flex-end!important;text-align:right!important;min-width:0!important;}
  .footer-top > div:last-child > *{text-align:right!important;}
}
@media (max-width:950px){
  .footer-top > div:last-child{justify-self:start!important;align-items:flex-start!important;text-align:left!important;}
}

/* V18 — Grille du footer à quatre colonnes strictement égales. */
@media (min-width:951px) {
  .site-footer .footer-top {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:clamp(20px,2.5vw,40px)!important;
    align-items:start!important;
  }
  .site-footer .footer-top > div {min-width:0!important;justify-self:start!important;text-align:left!important;}
  .site-footer .footer-top > div:last-child {
    justify-self:end!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
  .site-footer .footer-top > div:last-child > * {text-align:right!important;}
}

/* V19 — Footer : répartition asymétrique adaptée à la longueur des contenus. */
@media (min-width:951px) {
  .site-footer .footer-top {
    grid-template-columns:35fr 20fr 20fr 25fr!important;
    column-gap:0!important;
  }
  .site-footer .footer-top > div {min-width:0!important;}
  .site-footer .footer-top > div:first-child {padding-right:18px;}
  .site-footer .footer-top > div:first-child p {white-space:nowrap;}
  .site-footer .footer-top > div:last-child {
    justify-self:end!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
}
@media (min-width:951px) and (max-width:1120px) {
  .site-footer .footer-top > div:first-child p {white-space:normal;}
}

/* V20 — Réseaux sociaux centrés visuellement entre Explorer et Ressources. */
@media (min-width:951px) {
  .site-footer .footer-top {
    grid-template-columns:35fr 15fr 20fr 30fr!important;
  }
  .site-footer .footer-top > div:nth-child(3) {
    justify-self:center!important;
    text-align:center!important;
  }
  .site-footer .footer-top > div:nth-child(3) .social-icons {
    justify-content:center!important;
  }
}

/* V21 — Centre exact du bloc Réseaux sociaux sur la largeur totale du footer. */
@media (min-width:951px) {
  .site-footer .footer-top { position:relative!important; }
  .site-footer .footer-top > div:nth-child(3) {
    position:absolute!important; left:50%!important; top:0!important;
    transform:translateX(-50%)!important; width:max-content!important;
    justify-self:auto!important; text-align:center!important;
    align-items:center!important;
  }
  .site-footer .footer-top > div:nth-child(3) .social-icons {justify-content:center!important;}
}

/* V22 — footer : identité à gauche, trois rubriques regroupées à droite.
   Réinitialise explicitement le positionnement absolu introduit en V21. */
@media (min-width:951px) {
  .site-footer .footer-top {
    display:grid!important;
    grid-template-columns:minmax(310px,1fr) 145px 185px 155px!important;
    column-gap:clamp(18px,2.2vw,36px)!important;
    align-items:start!important;
    position:static!important;
  }
  .site-footer .footer-top > div:nth-child(1) {
    justify-self:start!important; text-align:left!important;
    padding-right:0!important;
  }
  .site-footer .footer-top > div:nth-child(2) {
    justify-self:start!important; text-align:left!important;
    align-items:flex-start!important;
  }
  .site-footer .footer-top > div:nth-child(3) {
    position:static!important; left:auto!important; top:auto!important;
    transform:none!important; width:auto!important;
    justify-self:center!important; text-align:center!important;
    align-items:center!important;
  }
  .site-footer .footer-top > div:nth-child(3) .social-icons {
    justify-content:center!important;
  }
  .site-footer .footer-top > div:nth-child(4) {
    justify-self:end!important; text-align:right!important;
    align-items:flex-end!important;
  }
}
@media (min-width:951px) and (max-width:1170px) {
  .site-footer .footer-top {
    grid-template-columns:minmax(245px,1fr) 110px 165px 130px!important;
    column-gap:18px!important;
  }
  .site-footer .footer-top > div:first-child p {white-space:normal!important;}
}

/* V27 TEST — Forêt boréale | refonte chromatique uniquement.
   Base V23 : aucun changement de gabarit, de contenu ni de fonctionnalité. */
:root {
  --ink:#1D2925;
  --blue:#253D35;
  --blue2:#48695A;
  --pale:#E7EBE3;
  --cream:#F5F3EC;
  --white:#FFFFFF;
  --muted:#53645B;
  --line:#CBD3C9;
  --forest:#253D35;
  --forest-dark:#1D2925;
  --moss:#82917A;
  --copper:#C28B65;
  --ivory:#F5F3EC;
}
body{background:var(--ivory)!important;color:var(--forest-dark)!important}
.site-header,.main-nav{background:var(--ivory)!important;border-color:var(--line)!important}
.site-header a,.site-header button{color:var(--forest-dark)!important}
.site-header a:hover,.site-header a:focus-visible{color:#48695A!important}
.hero,.page-hero{background:#DCE5DA!important;color:var(--forest-dark)!important}
.hero h1,.page-hero h1,.hero h1 em,.page-hero h1 em{color:var(--forest-dark)!important}
.hero .eyebrow,.page-hero .eyebrow,.eyebrow,.card-number{color:#365F4A!important}
.hero-lead,.lead,.page-hero .lead{color:#42574A!important}
.section{background-color:var(--ivory)}
.section-tint{background:#E7EBE3!important}
.section-tint:after{background:repeating-linear-gradient(90deg,transparent 0 25px,#D2DACF 26px 27px)!important}
.service-card,.article-card,.empty-state{background:#FFFEFA!important;border-color:var(--line)!important}
.service-card:hover,.article-card:hover{border-color:var(--moss)!important}
.service-visual{background:linear-gradient(145deg,#DCE5DA,#B6C6B8)!important}
.service-visual:after{border-color:#7F9C86!important}
.service-visual span,.service-visual .ms-icon,.service-visual svg{color:#365F4A!important}
.project-image{background:#D9E1D8!important;color:#365F4A!important}
.art-panel{background:var(--forest)!important;color:#fff!important;box-shadow:24px 26px 0 #A8B9A8!important}
.art-panel span{color:#D8E5D3!important}
.art-ring{border-color:#C4D2C5!important;box-shadow:38px 45px 0 #E5EBE3!important}
.btn,.contact-form button,.filter-btn.is-active,.filter-button.is-active{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important}
.btn:hover,.contact-form button:hover{background:#365C48!important;border-color:#365C48!important;color:#fff!important}
.btn-outline{background:transparent!important;color:var(--forest-dark)!important;border-color:var(--forest)!important}
.btn-outline:hover{background:var(--forest)!important;color:#fff!important}
.btn-light,.contact-banner .btn{background:var(--ivory)!important;color:var(--forest-dark)!important;border-color:var(--ivory)!important}
.btn-light:hover,.contact-banner .btn:hover{background:#E2E8DA!important;color:var(--forest-dark)!important}
.contact-banner{background:var(--forest-dark)!important;color:var(--ivory)!important}
.contact-banner h2,.contact-banner h2 em,.contact-banner .eyebrow{color:var(--ivory)!important}
.contact-banner:after{background:radial-gradient(circle at 75% 45%,rgba(194,139,101,.17),transparent 48%)!important}
.site-footer{background:#1B1B39!important;color:var(--ivory)!important;border-top:0!important}
.site-footer .brand,.site-footer .brand-light,.site-footer a,.site-footer p,.site-footer span,.site-footer .eyebrow,.site-footer .footer-bottom,.site-footer .footer-bottom a{color:var(--ivory)!important}
.site-footer .eyebrow{color:#D5BD99!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#CFD8CD!important}
.site-footer a:hover,.site-footer a:focus-visible{color:#E7C29D!important}
.site-footer .footer-bottom{border-color:#53665B!important}
.site-footer .social-icons a{border-color:#A8B7A9!important;color:var(--ivory)!important}
.site-footer .social-icons svg{color:var(--ivory)!important;fill:currentColor}
.contact-form input:not([type=checkbox]),.contact-form textarea{background:#FFFEFA!important;border-color:#9DAE9E!important;color:var(--forest-dark)!important}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #48695A!important}
.faq,.faq-item,.steps>div{border-color:var(--line)!important}
.steps b,.period,.brand-dot{color:#9B6B4E!important}
.studio-outcomes{background:linear-gradient(100deg,#E7EBE3 0%,#E7EBE3 65%,#D6DFD5 100%)!important}
.map-consent{background:#E7EBE3!important;border-color:var(--line)!important}
/* Aucun soulignement décoratif ; conserver les indicateurs de focus accessibles. */
a,.text-link,.header-cta,.prose a,.pagination a,.contact-form .check a{text-decoration:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9B6B4E!important;outline-offset:3px!important}
.text-link,.header-cta{border-bottom:0!important}
/* Les héros restent colorés. Aucune bande photographique n'est ajoutée. */

/* V28 — Horizons naturels : changements purement visuels, structure V27 préservée. */
:root{--ink:#192B35;--blue:#29463D;--blue2:#526B79;--pale:#E8E3D8;--cream:#F7F8F5;--white:#fff;--muted:#52616A;--line:#D8DDD9;--forest:#29463D;--slate:#526B79;--night:#192B35;--mineral:#E8E3D8;--mist:#F7F8F5;--sage:#A5B5A6;--copper:#B68B72}
body{background:var(--mist)!important;color:var(--night)!important}
.site-header,.main-nav{background:var(--mist)!important;border:0!important;border-bottom:0!important;box-shadow:none!important}
.site-header:after,.site-header:before,.header-inner:after,.header-inner:before{border:0!important;box-shadow:none!important}
.site-header a,.site-header button{color:var(--night)!important}
.site-header a:hover,.site-header a:focus-visible{color:var(--forest)!important}
.hero{background:#E8EDE8!important;color:var(--night)!important}
.page-hero{background:#DCE5E8!important;color:var(--night)!important}
.hero h1,.page-hero h1,.hero h1 em,.page-hero h1 em{color:var(--night)!important}
.hero .eyebrow,.page-hero .eyebrow,.eyebrow,.card-number{color:var(--forest)!important}
.hero-lead,.lead,.page-hero .lead{color:#405761!important}
.hero-foot{border-top:0!important;color:var(--muted)!important}
.section{background-color:var(--mist)}
.section-tint{background:#E8E3D8!important;background-image:none!important}
.section-tint:after{display:none!important}
.section:nth-of-type(4n+3):not(.section-tint){background:#EDF1EE!important}
.service-card,.article-card,.empty-state,.studio-pillars article{background:#fff!important;border-color:#E3E6E2!important}
.service-card:hover,.article-card:hover{border-color:var(--slate)!important}
.service-card p,.article-card p,.project-card p,.studio-pillars p,.service-copy p,.prose p,.prose li,.section-head p:not(.eyebrow),.steps p,.service-detail-block p{color:#40535A!important}
.service-visual{background:linear-gradient(140deg,#DCE6E2,#B6C9C3)!important}
.service-row:nth-child(2n) .service-visual{background:linear-gradient(140deg,#D9E4E9,#B5C8D0)!important}
.service-visual:after{border-color:#8FAFA8!important}
.service-visual span,.service-visual .ms-icon,.service-visual svg{color:var(--forest)!important}
.project-image{background:#DCE5E8!important;color:var(--slate)!important}
.art-panel{background:var(--night)!important;color:#fff!important;box-shadow:24px 26px 0 #9CB5B3!important}
.art-panel span{color:#C9D9D5!important}
.art-ring{border-color:#C3D1D0!important;box-shadow:38px 45px 0 #E5EAE7!important}
.btn,.contact-form button,.filter-btn.is-active,.filter-button.is-active,.filter-pill.is-active{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important}
.btn:hover,.contact-form button:hover{background:#365B50!important;border-color:#365B50!important;color:#fff!important}
.btn-outline{background:transparent!important;color:var(--night)!important;border-color:var(--slate)!important}
.btn-outline:hover{background:var(--slate)!important;color:#fff!important}
.btn-light,.contact-banner .btn{background:var(--mist)!important;color:var(--night)!important;border-color:var(--mist)!important}
.btn-light:hover,.contact-banner .btn:hover{background:#E8E3D8!important;color:var(--night)!important}
/* CTA bleu ardoise : séparation nette avec footer bleu nuit, sans liseré. */
.contact-banner{background:var(--slate)!important;color:#fff!important;border:0!important}
.contact-banner h2,.contact-banner h2 em,.contact-banner .eyebrow{color:#fff!important}
.contact-banner:after{background:radial-gradient(circle at 78% 40%,rgba(232,227,216,.16),transparent 52%)!important}
.site-footer{background:#1B1B39!important;color:#F7F8F5!important;border:0!important;box-shadow:none!important}
.site-footer .brand,.site-footer .brand-light,.site-footer a,.site-footer p,.site-footer span,.site-footer .footer-bottom,.site-footer .footer-bottom a{color:#F7F8F5!important}
.site-footer .eyebrow{color:#D8E5DE!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#D4DEDD!important}
.site-footer a:hover,.site-footer a:focus-visible{color:#D8E5DE!important}
.site-footer .footer-bottom{border-top:0!important}
.site-footer .social-icons a{border-color:#879EA6!important;color:#F7F8F5!important}
.site-footer .social-icons a:hover{background:#526B79!important;border-color:#D4DEDD!important}
.site-footer .social-icons svg{color:#F7F8F5!important;fill:currentColor}
.contact-form input:not([type=checkbox]),.contact-form textarea{background:#fff!important;border-color:#B9C6C6!important;color:var(--night)!important}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--slate)!important}
.map-consent{background:#E8E3D8!important;border-color:#D8DDD9!important}
.studio-outcomes{background:linear-gradient(110deg,#E8E3D8,#DCE5E8)!important}
.steps b,.period,.brand-dot{color:var(--forest)!important}
/* Supprimer les liserés décoratifs, garder les bordures utiles aux contrôles. */
.client-strip,.service-row,.service-detail-block,.studio-hours,.studio-location,.article-sharing{border-top:0!important}
.client-strip,.service-detail-block,.faq,.faq-item,.steps>div{border-bottom-color:transparent!important}
.four-grid>div{border-top:0!important}
.workspace-top,.workspace-bottom,.hero-foot{border-color:transparent!important}
a,.text-link,.header-cta,.prose a,.pagination a,.contact-form .check a{text-decoration:none!important}
.text-link,.header-cta{border-bottom:0!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--slate)!important;outline-offset:3px!important}
/* No image bands; heroes keep colored backgrounds; no changes to markup. */


/* V30 — Contemporain minéral. Habillage abstrait transversal, sans changement de structure. */
:root{--ink:#1B1B39;--blue:#164E63;--blue2:#39768A;--pale:#D6EAF0;--cream:#FAFAF7;--white:#FFFFFF;--muted:#4B626A;--line:#CBD7D9;--forest:#164E63;--slate:#39768A;--night:#1B1B39;--mineral:#F1F0E8;--mist:#FAFAF7;--sage:#A8D5BA;--copper:#E9E68A}
body{background:#FAFAF7!important;color:#1B1B39!important}
.site-header,.main-nav{background:#FAFAF7!important;box-shadow:none!important;border-bottom:1px solid #D9E2E2!important}
.site-header a,.site-header button{color:#1B1B39!important}
.hero{background:#E6F3F1!important;color:#1B1B39!important}
.page-hero{background:#D6EAF0!important;color:#1B1B39!important}
.hero h1,.page-hero h1,.hero h1 em,.page-hero h1 em{color:#1B1B39!important}
.hero .eyebrow,.page-hero .eyebrow,.eyebrow,.card-number{color:#164E63!important}
.hero-lead,.lead,.page-hero .lead{color:#405B65!important}
.section{background-color:#FAFAF7}
.section-tint{background:#F0F1E9!important;background-image:none!important}
.section:nth-of-type(4n+3):not(.section-tint){background:#F1F7F6!important}
/* Formes abstraites géométriques: zones stratégiques seulement, jamais sur le texte. */
.hero,.page-hero,.section-tint,.contact-banner{position:relative;isolation:isolate;overflow:hidden}
.hero:before,.page-hero:before{content:""!important;display:block!important;position:absolute;z-index:-1;right:-3%;top:3%;width:clamp(170px,29vw,430px);aspect-ratio:1;border:clamp(18px,3vw,46px) solid rgba(22,78,99,.13);border-radius:50%;background:radial-gradient(circle at 64% 30%,rgba(233,230,138,.5) 0 13%,transparent 14%),linear-gradient(135deg,transparent 49.6%,rgba(22,78,99,.13) 50%,transparent 50.4%);pointer-events:none}
.hero:after,.page-hero:after{content:""!important;display:block!important;position:absolute;z-index:-1;left:auto;right:5%;bottom:8%;width:clamp(100px,13vw,195px);height:clamp(80px,12vw,170px);background:radial-gradient(circle,#39768A 1.3px,transparent 1.9px) 0 0/13px 13px;opacity:.28;pointer-events:none}
.hero-workspace:before{content:"";position:absolute;inset:6% 4% auto auto;width:65%;aspect-ratio:1;background:radial-gradient(circle,#39768A 1.4px,transparent 2px) 0 0/18px 18px;mask-image:radial-gradient(circle,black 0%,transparent 72%);opacity:.42;pointer-events:none}
.workspace-orbit{border-color:#B3D4D4!important;background:radial-gradient(circle,#E6F3F1,transparent 65%)!important}
.workspace-body{background:linear-gradient(140deg,#F8FCFA,#D6EAF0)!important}
.workspace-headline span,.workspace-cross{color:#164E63!important}
.workspace-arrow{background:#164E63!important}.workspace-pill{background:#1B1B39!important;color:#fff!important}.workspace-pill span{color:#E9E68A!important}
.section-tint:before{content:""!important;display:block!important;position:absolute;z-index:-1;right:-80px;top:7%;width:clamp(160px,26vw,370px);aspect-ratio:1;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(22,78,99,.11) 23px 24px);clip-path:polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%);opacity:.55;pointer-events:none}
.section-tint:after{display:none!important}
/* Cartes de services simples: suppression des compositions illustrées V29. */
.service-card,.article-card,.empty-state,.studio-pillars article{background:#fff!important;border-color:#D5E0DF!important}
.service-card{padding-right:initial!important;min-height:initial!important;transform:none!important}
.service-card:before{content:none!important;display:none!important}
.service-card:hover,.article-card:hover{border-color:#39768A!important}
.service-visual{background:linear-gradient(145deg,#D6EAF0,#B8DED6)!important}
.service-row:nth-child(2n) .service-visual{background:linear-gradient(145deg,#DDEEE2,#B7D7CE)!important}
.service-row .service-visual:before{display:none!important;content:none!important}
.service-row .service-visual:after{display:block!important;border-color:#85B8BB!important}
.service-row .service-visual>.ms-icon{display:initial!important}
.service-row .service-visual>strong{color:#1B1B39!important;text-shadow:none!important}
.service-row .service-visual>span,.service-row .service-visual>i{color:#164E63!important}
.service-visual span,.service-visual .ms-icon,.service-visual svg{color:#164E63!important}
.project-image{background:#D6EAF0!important;color:#164E63!important}
.art-panel{background:#1B1B39!important;color:#fff!important;box-shadow:24px 26px 0 #A8D5BA!important}
.art-panel span{color:#D6EAF0!important}
.art-ring{border-color:#9FCBD0!important;box-shadow:38px 45px 0 #E6F3F1!important}
.btn,.contact-form button,.filter-btn.is-active,.filter-button.is-active,.filter-pill.is-active{background:#164E63!important;border-color:#164E63!important;color:#fff!important}
.btn:hover,.contact-form button:hover{background:#22677C!important;border-color:#22677C!important;color:#fff!important}
.btn-outline{background:transparent!important;color:#1B1B39!important;border-color:#39768A!important}
.btn-outline:hover{background:#164E63!important;color:#fff!important}
.btn-light,.contact-banner .btn{background:#FAFAF7!important;color:#1B1B39!important;border-color:#FAFAF7!important}
.btn-light:hover,.contact-banner .btn:hover{background:#E9E68A!important;color:#1B1B39!important}
.contact-banner{background:#39768A!important;color:#fff!important}
.contact-banner h2,.contact-banner h2 em,.contact-banner .eyebrow{color:#fff!important}
.contact-banner:after{background:radial-gradient(circle at 80% 42%,rgba(168,213,186,.25),transparent 48%)!important}
.contact-banner:before{display:block!important;content:""!important;position:absolute;right:7%;top:12%;width:clamp(100px,15vw,220px);aspect-ratio:1;border:2px solid rgba(255,255,255,.16);border-radius:50%;pointer-events:none;z-index:-1}
.site-footer{background:#1B1B39!important;color:#FAFAF7!important;border:0!important}
.site-footer .brand,.site-footer .brand-light,.site-footer a,.site-footer p,.site-footer span,.site-footer .footer-bottom,.site-footer .footer-bottom a{color:#FAFAF7!important}
.site-footer .eyebrow{color:#D6EAF0!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#DBE7E5!important}
.site-footer a:hover,.site-footer a:focus-visible{color:#E9E68A!important}
.site-footer .social-icons a{border-color:#82999F!important;color:#FAFAF7!important}
.site-footer .social-icons svg{color:#FAFAF7!important;fill:currentColor}
.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.2)!important}
.contact-form input:not([type=checkbox]),.contact-form textarea{background:#fff!important;border-color:#B5C9CA!important;color:#1B1B39!important}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #164E63!important}
.map-consent{background:#F0F1E9!important;border-color:#CBD7D9!important}
.studio-outcomes{background:linear-gradient(110deg,#EAF2EC,#D6EAF0)!important}
.steps b,.period,.brand-dot{color:#164E63!important}
/* Restaurer les liserés structurants, fins et accessibles. */
.client-strip{border-top:1px solid #CBD7D9!important;border-bottom:1px solid #CBD7D9!important}
.service-row,.service-detail-block,.studio-hours,.studio-location,.article-sharing{border-top:1px solid #CBD7D9!important}
.service-detail-block{border-bottom:1px solid #CBD7D9!important}
.service-detail-block:last-child{border-bottom:0!important}
.faq,.faq-item,.steps>div,.four-grid>div{border-top:1px solid #CBD7D9!important;border-bottom-color:#CBD7D9!important}
.faq:last-child{border-bottom:1px solid #CBD7D9!important}
.hero-foot,.workspace-top,.workspace-bottom{border-color:#B7CFD1!important}
/* Liens sans soulignement décoratif, focus clavier préservé. */
a,.text-link,.header-cta,.prose a,.pagination a,.contact-form .check a{text-decoration:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #164E63!important;outline-offset:3px!important}
@media(max-width:760px){.hero:before,.page-hero:before{width:200px;right:-85px;opacity:.55}.hero:after,.page-hero:after{right:2%;opacity:.15}.section-tint:before{opacity:.22}.service-card{padding-right:initial!important;padding-bottom:initial!important}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none!important}}

/* V31 — correction du rythme et des séparateurs ; palette V30 inchangée. */
/* Navigation : pas de trait décoratif au-dessus ou au-dessous. */
.site-header,.main-nav{border-top:0!important;border-bottom:0!important;box-shadow:none!important}
/* Une seule règle de séparation par groupe : jamais deux traits successifs. */
.service-detail-block{border-top:0!important;border-bottom:0!important;margin-bottom:0!important;padding:clamp(26px,3vw,42px) 0!important}
.service-detail-block + .service-detail-block{border-top:1px solid var(--line)!important}
.service-detail-block:first-child{padding-top:0!important}
.service-detail-block:last-child{padding-bottom:0!important}
.service-detail-block .eyebrow{margin-bottom:12px!important}
.service-detail-block h2{margin-bottom:18px!important}
.service-detail-block p:last-child{margin-bottom:0!important}
/* FAQ : un trait entre deux questions, pas autour de chacune. */
.faq,.faq-item{border-top:0!important;border-bottom:0!important}
.faq + .faq,.faq-item + .faq-item{border-top:1px solid var(--line)!important}
.faq:first-child,.faq-item:first-child{border-top:0!important}
.faq:last-child{border-bottom:0!important}
.faq-grid{row-gap:0!important}
/* Étapes et arguments : trait d'entrée uniquement si les éléments sont empilés. */
.steps>div{border-top:0!important;border-bottom:0!important}
.steps>div + div{border-top:1px solid var(--line)!important}
.four-grid>div{border-top:0!important;border-bottom:0!important;padding-top:0!important}
/* Une séparation entre lignes de prestations ; ne pas encadrer chaque ligne. */
.service-row{border-top:0!important;border-bottom:0!important}
.service-row + .service-row{border-top:1px solid var(--line)!important}
/* Éviter les bordures superposées dans les blocs d'informations. */
.studio-hours,.studio-location{border-top:0!important}
.studio-hours + .studio-location{border-top:1px solid var(--line)!important}
/* Bande logos : conserver au plus un trait discret de chaque côté. */
.client-strip{border-top:0!important;border-bottom:1px solid var(--line)!important}
/* Marges verticales harmonisées, sans modifier l'ordre ni les grilles. */
.section{padding-block:clamp(68px,6.2vw,104px)}
.section-head{margin-bottom:clamp(30px,3.5vw,50px)}
.section-head h2{margin-bottom:clamp(16px,2vw,26px)}
.section-head p:last-child{margin-bottom:0}
.page-hero{padding-block:clamp(70px,7vw,100px)!important}
/* Archives : rapprocher les filtres et les cartes du hero, sans changer les colonnes. */
.page-hero + .section{padding-top:clamp(44px,4.4vw,72px)!important}
.content-filters{margin-bottom:clamp(24px,2.6vw,36px)!important}
.project-grid,.article-grid{row-gap:clamp(24px,2.6vw,36px)}
.project-card h2,.project-card h3{margin-top:18px}
/* Aucune ligne supplémentaire dans les cartes ou sous les liens. */
.service-card,.article-card{box-shadow:none!important}
.text-link,.header-cta{text-decoration:none!important;border-bottom:0!important}
@media(max-width:760px){
 .section{padding-block:clamp(52px,8vw,72px)}
 .page-hero + .section{padding-top:42px!important}
 .service-detail-block{padding-block:28px!important}
 .section-head{margin-bottom:30px}
}

/* V32 — audit structurel ciblé : corrections sans changement de palette ni de markup. */
/* Prévenir les débordements des enfants grid/flex et les titres longs. */
.container,.hero-grid,.split,.contact-grid,.service-grid,.service-row,.project-grid,.article-grid,.four-grid,.faq-grid,.footer-top{min-width:0}
.hero-grid>*,.split>*,.contact-grid>*,.service-grid>*,.service-row>*,.project-grid>*,.article-grid>*,.four-grid>*,.faq-grid>*,.footer-top>*{min-width:0}
.four-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.four-grid h3,.four-grid p,.faq-item h3,.faq-item p,.steps h3,.steps p{overflow-wrap:break-word}
/* Grilles à quatre colonnes : pas de lignes verticales ou horizontales artificielles. */
.four-grid>div{border:0!important;padding-top:0!important}
/* Étapes présentées côte à côte : aucun trait entre colonnes ; traits seulement si empilées. */
.steps>div,.steps>div+div{border-top:0!important;border-bottom:0!important}
/* FAQ en deux colonnes : éviter une ligne isolée sur une seule colonne. */
.faq-grid{gap:clamp(24px,3vw,42px) clamp(24px,3vw,44px)!important;align-items:start!important}
.faq-grid>.faq-item,.faq-grid>.faq-item+.faq-item{border-top:0!important;border-bottom:0!important;padding:0!important;margin:0!important}
.faq-grid .faq-item h3{min-height:0!important;margin-bottom:12px!important}
.faq-grid .faq-item p{flex:initial!important}
/* Les FAQ accordéon gardent une seule ligne entre entrées. */
.faq:not(.faq-grid),.faq-item:not(.faq-grid>.faq-item){border-bottom:0!important}
.faq+.faq{border-top:1px solid var(--line)!important}
/* Éviter le double filet des expertises en présence d'un séparateur interne. */
.service-detail-block{border-bottom:0!important}
.service-detail-block+.service-detail-block{border-top:1px solid var(--line)!important}
/* Alignement des sections, sans altérer leur ordre. */
.section>.container>:last-child{margin-bottom:0}
@media(max-width:1050px){.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .four-grid,.faq-grid{grid-template-columns:1fr!important}
 .faq-grid{gap:24px!important}
 .steps>div+div{border-top:1px solid var(--line)!important}
 .steps>div{padding-block:22px!important}
}

/* V33 — corrections structurelles demandées ; palette et gabarits préservés. */
/* Hero accueil : répartir l'espace vertical sans toucher aux deux colonnes. */
.hero{padding-top:clamp(45px,5vw,72px)!important}
.hero-grid{min-height:0!important;padding-bottom:clamp(42px,4.6vw,74px)!important}
.hero-foot{padding-top:clamp(17px,2vw,26px)!important;padding-bottom:clamp(17px,2vw,26px)!important}
/* Prestations : deux colonnes calées sur le même axe vertical. */
.service-detail-layout{align-items:start!important}
.service-detail-intro,.service-detail-content{align-self:start!important;margin-top:0!important;padding-top:0!important}
.service-detail-intro>.eyebrow,.service-detail-content>.service-detail-block:first-child>.eyebrow{margin-top:0!important}
.service-detail-content>.service-detail-block:first-child{margin-top:0!important;padding-top:0!important}
/* Un seul liseré par frontière entre expertises ; FAQ déroulante avec +. */
.service-detail-content>.service-detail-block{border:0!important;padding-top:0!important}
.service-detail-content>.service-detail-block+.service-detail-block{border-top:1px solid var(--line)!important;padding-top:clamp(28px,3vw,42px)!important}
.service-faq-accordion{display:grid;grid-template-columns:1fr;gap:0}
.service-faq-accordion .faq{border:0!important;padding:0!important}
.service-faq-accordion .faq+.faq{border-top:1px solid var(--line)!important}
.service-faq-accordion .faq summary{padding:19px 0!important;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-weight:500!important;line-height:1.45}
.service-faq-accordion .faq summary::-webkit-details-marker{display:none}
.service-faq-accordion .faq summary::after{content:'+';flex:0 0 24px;text-align:center;font-size:1.5rem;font-weight:400;line-height:1}
.service-faq-accordion .faq[open] summary::after{content:'−'}
.service-faq-accordion .faq-answer{padding:0 32px 20px 0}
.service-faq-accordion .faq-answer p{margin:0!important}
/* Les listes d'étapes verticales conservent des séparateurs entre les items. */
.steps>div+div{border-top:1px solid var(--line)!important}
/* Les champs du formulaire sont sans bordure ni double contour ; focus visible via fond. */
.contact-form input:not([type=checkbox]),.contact-form textarea{border:0!important;outline:0!important;box-shadow:none!important;background:#fff!important}
.contact-form input:not([type=checkbox]):focus,.contact-form textarea:focus{border:0!important;outline:0!important;box-shadow:inset 0 0 0 0 transparent!important;background:#eef5f4!important}
.contact-form .check input[type=checkbox]{border:0!important;outline-offset:3px}
/* Garder un rythme constant sans changer les dimensions structurelles des sections. */
.service-detail-block p:last-child,.service-detail-intro p:last-of-type{margin-bottom:0!important}
@media(max-width:760px){.hero-grid{padding-bottom:32px!important}.service-detail-layout{gap:clamp(35px,7vw,55px)!important}.service-detail-content>.service-detail-block+.service-detail-block{padding-top:28px!important}}


/* V34 — nettoyage visuel et rythme, sans modification des templates. */
/* Aucune illustration abstraite ajoutée par les versions précédentes. */
.hero::before,.hero::after,.page-hero::before,.page-hero::after,
.section::before,.section::after,.section-tint::before,.section-tint::after,
.contact-banner::before,.contact-banner::after,.studio-outcomes::before,.studio-outcomes::after,
.hero-workspace::before,.hero-workspace::after{content:none!important;display:none!important;background-image:none!important}
.workspace-orbit,.workspace-cross,.workspace-dots,.art-ring{display:none!important}
.service-visual::before,.service-visual::after{content:none!important;display:none!important}
/* Le cartouche éditorial du hero reste : il fait partie du contenu, non du décor. */
.workspace-window{transform:none!important;box-shadow:none!important}
.workspace-pill{transform:none!important}
/* Suppression du trait parasite à la jonction des hero et des sections. */
.hero,.page-hero,.ms-context-hero,.site-header,.hero-grid,.hero-foot,
.page-hero + .section,.hero + .section,.client-strip{border-top:0!important;outline:0!important;box-shadow:none!important}
.hero,.page-hero{border-bottom:0!important}
/* Home : équilibre du vide au-dessus et au-dessous de la composition. */
.hero{padding-top:clamp(60px,5.4vw,88px)!important;padding-bottom:clamp(42px,4vw,66px)!important}
.hero-grid{min-height:0!important;align-items:center!important;padding-bottom:clamp(38px,4vw,60px)!important}
.hero-foot{padding-top:16px!important;padding-bottom:0!important}
/* Studio : retirer l'excédent de vide sous le texte de présentation. */
body.page-template-page-studio .page-hero + .section{padding-top:clamp(64px,6vw,92px)!important;padding-bottom:clamp(54px,5vw,78px)!important}
body.page-template-page-studio .page-hero + .section .split{align-items:start!important}
body.page-template-page-studio .page-hero + .section .prose p:last-child{margin-bottom:0!important}
/* Services : un filet par colonne, sans bordure doublée sur la grille. */
.four-grid{align-items:start!important}
.four-grid>div{border:0!important;border-top:1px solid var(--line)!important;padding-top:20px!important}
/* Les lignes d'étapes horizontales n'ont pas de séparateurs inter-colonnes. */
@media(min-width:761px){.four-grid.steps>div,.four-grid.steps>div+div{border-top:1px solid var(--line)!important}}
/* Mobile : cohérence des espacements et pas de débordement horizontal. */
@media(max-width:760px){
 .hero{padding-top:46px!important;padding-bottom:36px!important}
 .hero-grid{padding-bottom:30px!important;gap:28px!important}
 body.page-template-page-studio .page-hero + .section{padding-top:54px!important;padding-bottom:54px!important}
 .four-grid>div{padding-top:17px!important}
}

/* V35 — corrections de finition : structure inchangée, éléments ciblés. */
/* CTA plus compacte et équilibrée, distincte du footer. */
.contact-banner{min-height:0!important;padding:clamp(52px,5vw,76px) 0!important}
.contact-banner .cta-flex{align-items:center!important}
.contact-banner h2{font-size:clamp(2rem,3.3vw,3.2rem)!important;line-height:1.15!important;margin-bottom:0!important}
.contact-banner .eyebrow{margin-bottom:20px!important}
/* La flèche suit la couleur du texte du bouton (aucun héritage contradictoire). */
.btn>span,.btn:hover>span,.btn:focus-visible>span{color:inherit!important;-webkit-text-fill-color:currentColor!important}
.btn:not(.btn-outline):not(.btn-light)>span{color:#fff!important;-webkit-text-fill-color:#fff!important}
.btn-outline:not(:hover)>span,.btn-light>span,.contact-banner .btn>span{color:inherit!important;-webkit-text-fill-color:currentColor!important}
/* Retirer le filet parasite en haut des sections, sans toucher aux filets fonctionnels des listes. */
.hero+.section,.page-hero+.section,.client-strip+.section,.section>.container,.section-head{border-top:0!important;box-shadow:none!important;outline:0!important}
/* Nouvelle proposition : une affiche typographique, sans faux navigateur ni décoration abstraite. */
.hero-editorial{height:auto!important;min-height:370px;display:flex!important;align-items:center;justify-content:center}
.editorial-sheet{width:min(100%,420px);min-height:390px;display:flex;flex-direction:column;background:#f7faf8;border:1px solid rgba(22,78,99,.18);padding:25px 28px;color:#1B1B39}
.editorial-sheet-top,.editorial-sheet-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.65rem;letter-spacing:.12em;font-weight:700}
.editorial-sheet-top{padding-bottom:18px;border-bottom:1px solid rgba(22,78,99,.18)}
.editorial-sheet-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:20px 0}
.editorial-index{font-size:.65rem;letter-spacing:.14em;font-weight:700;color:#164e63}
.editorial-sheet-main strong{font-size:clamp(2.55rem,3.9vw,4.1rem);line-height:1.04;letter-spacing:-.065em;font-weight:600}
.editorial-sheet-main em{font-style:normal;color:#164e63}
.editorial-sheet-bottom{padding-top:18px;border-top:1px solid rgba(22,78,99,.18)}
.editorial-sheet-bottom span:last-child{font-size:1.3rem}
/* Un accès explicite à chaque réalisation, sans soulignement. */
.project-card{display:flex;flex-direction:column;align-items:stretch}
.project-card .project-view{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:12px;font-size:.86rem;font-weight:700;color:#164e63!important;text-decoration:none!important}
.project-card .project-view span{color:inherit!important}
.project-card:hover .project-view{opacity:.72}
@media(max-width:760px){.contact-banner{padding:48px 0!important}.contact-banner .cta-flex .btn{margin-top:24px}.hero-editorial{min-height:300px}.editorial-sheet{min-height:320px}.editorial-sheet-main strong{font-size:clamp(2.6rem,9vw,3.5rem)}}

/* V36 — ajustements éditoriaux ciblés, sans modifier les structures WordPress. */
@media(min-width:951px){
  .main-nav .nav-list{gap:clamp(22px,2.1vw,34px)!important}
  .main-nav .nav-list>.nav-item{column-gap:0!important}
  .main-nav .nav-list>.nav-item.has-submenu{column-gap:6px!important}
  .main-nav .nav-list>.nav-item.has-submenu>.submenu-toggle{flex:0 0 17px!important;width:17px!important}
}
/* Affiche verticale : mieux occuper la hauteur disponible sans élargir la colonne. */
.hero-editorial{min-height:clamp(440px,42vw,570px)!important}
.editorial-sheet{min-height:clamp(450px,40vw,540px)!important;width:min(100%,420px)}
.editorial-sheet-main{padding:28px 0}
/* CTA court et lisible, séparé du pied de page par le contraste chromatique. */
.contact-banner h2{max-width:none!important;font-size:clamp(2rem,3.2vw,3rem)!important}
.contact-banner h2 em{white-space:nowrap}
/* Liens d'accès aux réalisations sur les archives et l'accueil. */
.project-grid .project-card .project-view{display:inline-flex!important;align-items:center;gap:9px;margin-top:auto;padding-top:12px;font-size:.86rem;font-weight:700;color:#164e63!important}
.project-grid .project-card .project-view span{color:inherit!important}
.page-hero .archive-intro{max-width:760px;margin:22px 0 0;line-height:1.65}
@media(max-width:760px){.hero-editorial{min-height:380px!important}.editorial-sheet{min-height:390px!important}.contact-banner h2 em{white-space:normal}}

/* V37 — finitions ciblées : navigation et rythme vertical de la page Studio. */
@media (min-width:951px){
  .main-nav .nav-list{display:flex!important;align-items:center!important;column-gap:30px!important;row-gap:0!important}
  .main-nav .nav-list>.nav-item{display:inline-flex!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;flex:0 0 auto!important}
  .main-nav .nav-list>.nav-item.has-submenu{column-gap:7px!important}
  .main-nav .nav-list>.nav-item.has-submenu>.submenu-toggle{width:16px!important;min-width:16px!important;flex:0 0 16px!important;margin:0!important;padding:0!important}
  .main-nav .nav-list>.nav-item>a{margin:0!important;padding:0!important;flex:0 0 auto!important}
}
.method-intro { margin: 1.5rem 0 1.25rem; max-width: 29rem; }
.method-cta { display: inline-flex; }

/* V47 — Corrections ciblées : note du formulaire et espacement interne Studio. */
@media (min-width: 900px) {
  .contact-form .form-note {max-width:none!important;white-space:nowrap;}
}

/* V49 — Studio : sélecteur fondé sur la classe réelle du template,
   indépendant des classes body générées par WordPress. */
section.section.studio-intro-section {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  height: auto !important;
  min-height: 0 !important;
}
section.studio-intro-section > .container.split {
  align-items: start;
  margin-bottom: 0;
  padding-bottom: 0;
}
section.studio-intro-section .prose { margin: 0; padding: 0; }
section.studio-intro-section .prose > p:first-child { margin-top: 0; }
section.studio-intro-section .prose > p:last-child { margin-bottom: 0; }
section.studio-intro-section h2 { margin-bottom: 0; }
@media (max-width: 760px) {
  section.section.studio-intro-section { padding-top: 44px !important; padding-bottom: 44px !important; }
}


/* V50 — Typographie restaurée */
/* V42 — Typographie Inter sur toute l’interface. Fichiers locaux WOFF2. */
@font-face{font-family:'Inter';src:url('../fonts/Inter-Variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/Inter-Italic-Variable.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{--ms-font:'Inter',Arial,sans-serif}
html,body,button,input,textarea,select,option{font-family:'Inter',Arial,sans-serif!important}

/* V44 — Hiérarchie typographique : titres affirmés, informations secondaires medium. */
/* Titres principaux, sections, services, cartes et hero. */
h1,h2,h3,h4,
.hero h1,.page-hero h1,.section h2,.section-head h2,
.service-card h3,.service-copy h2,.service-detail-block h2,
.project-card h2,.project-card h3,.article-card h2,.article-card h3,
.contact-banner h2,.steps h3,.four-grid h3,
.faq-item h3,.detail-faq h3,.studio-hours h3,.studio-location h3 {
  font-family:'Inter',Arial,sans-serif!important;
  font-weight:750!important;
}
/* Informations d'accompagnement : textes d'introduction, descriptions et repères. */
.hero-lead,.lead,.section-head p:not(.eyebrow),
.service-card p,.service-copy p,.service-detail-block p,
.project-card p,.article-card p,.steps p,.four-grid p,
.eyebrow,.card-number,.hero-foot,.form-note {
  font-weight:500!important;
}
/* Emphases éditoriales explicites dans le contenu. */
strong,b,.prose strong,.prose b {font-weight:700!important}
/* V45 : aucun gras dans le texte courant, y compris les anciens <strong>. */
p strong,p b,.lead strong,.lead b,.prose strong,.prose b {font-weight:inherit!important}
/* Libellés et appels à l'action : lisibles sans rivaliser avec les titres. */
.btn,.nav-list a,.text-link,.project-card .project-view,
.project-grid .project-card .project-view,.contact-form label {
  font-weight:600!important;
}
/* Ne pas transformer le logo typographique en titre gras. */
.site-footer .brand,.site-header .brand{font-weight:500!important}


/* V52 : carrousels progressifs, grilles intactes en dessous de quatre éléments */
.ms-carousel.ms-carousel-active{display:flex!important;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:8px}
.ms-carousel.ms-carousel-active::-webkit-scrollbar{display:none}
.ms-carousel.ms-carousel-active > *{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start}
.ms-carousel-controls{display:none;justify-content:flex-end;gap:10px;margin-top:22px}
.ms-carousel-controls.is-visible{display:flex}
.ms-carousel-controls button{width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.25rem;display:grid;place-items:center}
.ms-carousel-controls button:disabled{opacity:.35;cursor:default}
.ms-carousel-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:760px){.ms-carousel.ms-carousel-active > *{flex-basis:100%}}
@media(min-width:761px) and (max-width:1050px){.ms-carousel.ms-carousel-active > *{flex-basis:calc((100% - 22px)/2)}}
@media(prefers-reduced-motion:reduce){.ms-carousel.ms-carousel-active{scroll-behavior:auto}}


/* V54 — Essai chromatique : une couleur par expertise, CTA universels. */
:root{--ms-cta:#171717;--ms-cta-hover:#E85D35}
.ms-service-01,.ms-service-theme-01{--ms-service-color:#2855D9}
.ms-service-02,.ms-service-theme-02{--ms-service-color:#176B4D}
.ms-service-03,.ms-service-theme-03{--ms-service-color:#E85D35}
.ms-service-04,.ms-service-theme-04{--ms-service-color:#6538A6}
/* Les cartes restent neutres : couleur réservée aux repères et pictogrammes. */
.service-grid .service-card[class*="ms-service-"] .card-number,
.service-grid .service-card[class*="ms-service-"] h3,
.service-grid .service-card[class*="ms-service-"] .ms-icon,
.service-grid .service-card[class*="ms-service-"] svg,
.service-grid .service-card[class*="ms-service-"] .card-arrow,
.service-row[class*="ms-service-"] .service-visual .ms-icon,
.service-row[class*="ms-service-"] .service-visual svg,
.service-row[class*="ms-service-"] .service-visual > span,
.service-row[class*="ms-service-"] .service-copy > .eyebrow,
.service-row[class*="ms-service-"] .service-copy > h2,
body[class*="ms-service-theme-"] .page-hero .eyebrow,
body[class*="ms-service-theme-"] .service-detail-block .eyebrow{color:var(--ms-service-color)!important}
.service-row[class*="ms-service-"] .service-visual{border-top:3px solid var(--ms-service-color)!important}
.service-grid .service-card[class*="ms-service-"]{border-top:3px solid var(--ms-service-color)!important}
/* CTA : même fond, texte, transition et focus, quelle que soit la prestation. */
a.btn:not(.btn-outline):not(.btn-light),button.btn:not(.btn-outline):not(.btn-light),
.contact-form button[type="submit"]{background:var(--ms-cta)!important;border-color:var(--ms-cta)!important;color:#fff!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease!important}
a.btn:not(.btn-outline):not(.btn-light):hover,button.btn:not(.btn-outline):not(.btn-light):hover,
.contact-form button[type="submit"]:hover{background:var(--ms-cta-hover)!important;border-color:var(--ms-cta-hover)!important;color:#fff!important}
a.btn.btn-outline,button.btn.btn-outline{background:transparent!important;border-color:var(--ms-cta)!important;color:var(--ms-cta)!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease!important}
a.btn.btn-outline:hover,button.btn.btn-outline:hover{background:var(--ms-cta)!important;border-color:var(--ms-cta)!important;color:#fff!important}
a.btn.btn-light,.contact-banner a.btn{background:#fff!important;border-color:#fff!important;color:var(--ms-cta)!important}
a.btn.btn-light:hover,.contact-banner a.btn:hover{background:var(--ms-cta-hover)!important;border-color:var(--ms-cta-hover)!important;color:#fff!important}
a.btn:focus-visible,button.btn:focus-visible,.contact-form button[type="submit"]:focus-visible{outline:3px solid var(--ms-cta-hover)!important;outline-offset:3px!important}
.btn:hover > span,.btn > span{color:inherit!important;-webkit-text-fill-color:currentColor!important}
@media(prefers-reduced-motion:reduce){a.btn,button.btn,.contact-form button{transition:none!important}}

/* V55 — Pages prestations : fonds blancs, titres et CTA aux couleurs du service. */
body[class*="ms-service-theme-"] .page-hero,
body[class*="ms-service-theme-"] .section,
body[class*="ms-service-theme-"] .section-tint,
body[class*="ms-service-theme-"] .contact-banner{
  background:#fff!important;
  background-image:none!important;
}
body[class*="ms-service-theme-"] .page-hero h1,
body[class*="ms-service-theme-"] .service-detail-intro h2,
body[class*="ms-service-theme-"] .service-detail-block h2,
body[class*="ms-service-theme-"] .service-detail-block h3,
body[class*="ms-service-theme-"] .contact-banner h2{
  color:var(--ms-service-color)!important;
  -webkit-text-fill-color:var(--ms-service-color)!important;
}
/* Les descriptions et les textes secondaires conservent leur teinte neutre. */
body[class*="ms-service-theme-"] a.btn,
body[class*="ms-service-theme-"] a.btn.btn-light,
body[class*="ms-service-theme-"] a.btn:not(.btn-outline):not(.btn-light),
body[class*="ms-service-theme-"] button.btn:not(.btn-outline):not(.btn-light){
  background:var(--ms-service-color)!important;
  border-color:var(--ms-service-color)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body[class*="ms-service-theme-"] a.btn:hover,
body[class*="ms-service-theme-"] a.btn.btn-light:hover,
body[class*="ms-service-theme-"] a.btn:not(.btn-outline):not(.btn-light):hover,
body[class*="ms-service-theme-"] button.btn:not(.btn-outline):not(.btn-light):hover{
  background:color-mix(in srgb,var(--ms-service-color) 78%,#000)!important;
  border-color:color-mix(in srgb,var(--ms-service-color) 78%,#000)!important;
  color:#fff!important;
}
body[class*="ms-service-theme-"] a.btn.btn-outline{
  background:transparent!important;
  color:var(--ms-service-color)!important;
  -webkit-text-fill-color:var(--ms-service-color)!important;
}
body[class*="ms-service-theme-"] a.btn.btn-outline:hover{
  background:var(--ms-service-color)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body[class*="ms-service-theme-"] a.btn:focus-visible{
  outline:3px solid var(--ms-service-color)!important;
  outline-offset:3px;
}
body[class*="ms-service-theme-"] .contact-banner p,
body[class*="ms-service-theme-"] .contact-banner .eyebrow{color:#171717!important}


/* V56 — Palette de services : teintes vives, accents foncés et fonds pastel.
   Les classes body sont attribuées selon le slug, y compris quand page.php inclut
   page-prestation.php (et non via un template WordPress explicitement sélectionné). */
body.ms-service-theme-01{--ms-service-color:#2855D9;--ms-service-accent:#173BA6;--ms-service-soft:#E8EEFF}
body.ms-service-theme-02{--ms-service-color:#176B4D;--ms-service-accent:#104B37;--ms-service-soft:#E5F2EA}
body.ms-service-theme-03{--ms-service-color:#E85D35;--ms-service-accent:#B83D1C;--ms-service-soft:#FFF0E9}
body.ms-service-theme-04{--ms-service-color:#6538A6;--ms-service-accent:#482477;--ms-service-soft:#F0E9FA}
body[class*="ms-service-theme-"] .page-hero{background:var(--ms-service-soft)!important;background-image:none!important}
body[class*="ms-service-theme-"] .section,
body[class*="ms-service-theme-"] .section-tint,
body[class*="ms-service-theme-"] .contact-banner{background:#fff!important;background-image:none!important}
body[class*="ms-service-theme-"] .page-hero h1,
body[class*="ms-service-theme-"] .service-detail-intro h2,
body[class*="ms-service-theme-"] .service-detail-block h2,
body[class*="ms-service-theme-"] .service-detail-block h3,
body[class*="ms-service-theme-"] .contact-banner h2{color:var(--ms-service-color)!important;-webkit-text-fill-color:var(--ms-service-color)!important}
body[class*="ms-service-theme-"] .service-detail-intro .eyebrow,
body[class*="ms-service-theme-"] .service-detail-block .eyebrow,
body[class*="ms-service-theme-"] .page-hero .eyebrow{color:var(--ms-service-accent)!important;-webkit-text-fill-color:var(--ms-service-accent)!important}
body[class*="ms-service-theme-"] a.btn:not(.btn-outline),
body[class*="ms-service-theme-"] button.btn:not(.btn-outline){background:var(--ms-service-color)!important;border-color:var(--ms-service-color)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body[class*="ms-service-theme-"] a.btn:not(.btn-outline):hover,
body[class*="ms-service-theme-"] button.btn:not(.btn-outline):hover{background:var(--ms-service-accent)!important;border-color:var(--ms-service-accent)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body[class*="ms-service-theme-"] a.btn.btn-outline{background:transparent!important;border-color:var(--ms-service-color)!important;color:var(--ms-service-color)!important;-webkit-text-fill-color:var(--ms-service-color)!important}
body[class*="ms-service-theme-"] a.btn.btn-outline:hover{background:var(--ms-service-accent)!important;border-color:var(--ms-service-accent)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body[class*="ms-service-theme-"] .service-detail-block p,
body[class*="ms-service-theme-"] .service-detail-intro>p:not(.eyebrow),
body[class*="ms-service-theme-"] .page-hero .lead{color:#40535A!important;-webkit-text-fill-color:#40535A!important}


/* V57 — Palette globale indépendante des 4 expertises + cartes pastel.
   Couleurs d'interface : graphite / ocre minéral / sable. */
:root{--ink:#24313B;--blue:#465766;--blue2:#B08A48;--pale:#F4F0E8;--cream:#FFFFFF;--muted:#52616A;--line:#D8DDD9;--ms-cta:#24313B;--ms-cta-hover:#92703A}
body{background:#fff!important;color:#24313B}
.site-header{background:#fff!important}
body:not([class*="ms-service-theme-"]) .page-hero{background:#F4F0E8!important}
body:not([class*="ms-service-theme-"]) .section-tint{background:#F4F0E8!important}
body:not([class*="ms-service-theme-"]) .hero{background:#F4F0E8!important}
body:not([class*="ms-service-theme-"]) .contact-banner{background:#EEE6D6!important}
body:not([class*="ms-service-theme-"]) .contact-banner h2{color:#24313B!important;-webkit-text-fill-color:#24313B!important}
body:not([class*="ms-service-theme-"]) .contact-banner .eyebrow{color:#755D37!important}
body:not([class*="ms-service-theme-"]) .eyebrow,body:not([class*="ms-service-theme-"]) .card-number{color:#755D37!important}
body:not([class*="ms-service-theme-"]) .site-footer{background:#1B1B39!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light),
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light){background:#24313B!important;border-color:#24313B!important;color:#fff!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):hover,
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light):hover{background:#92703A!important;border-color:#92703A!important}
/* Les cartes d'expertise utilisent les teintes pastel, sans gradient ni décor ajouté. */
.ms-service-01{--ms-service-color:#2855D9;--ms-service-accent:#173BA6;--ms-service-soft:#E8EEFF}
.ms-service-02{--ms-service-color:#176B4D;--ms-service-accent:#104B37;--ms-service-soft:#E5F2EA}
.ms-service-03{--ms-service-color:#E85D35;--ms-service-accent:#B83D1C;--ms-service-soft:#FFF0E9}
.ms-service-04{--ms-service-color:#6538A6;--ms-service-accent:#482477;--ms-service-soft:#F0E9FA}
.service-grid .service-card[class*="ms-service-"]{background:var(--ms-service-soft)!important;border-color:transparent!important}
.service-grid .service-card[class*="ms-service-"]:hover{border-color:var(--ms-service-color)!important}
.service-grid .service-card[class*="ms-service-"] h3{font-weight:750!important;color:var(--ms-service-color)!important}
.service-row[class*="ms-service-"] .service-visual{background:var(--ms-service-soft)!important;border-color:transparent!important;background-image:none!important}
.service-row[class*="ms-service-"] .service-visual>strong{font-weight:750!important;color:var(--ms-service-color)!important}
.service-row[class*="ms-service-"] .service-visual>span,
.service-row[class*="ms-service-"] .service-visual>i,
.service-row[class*="ms-service-"] .service-visual svg,
.service-row[class*="ms-service-"] .service-visual .ms-icon{color:var(--ms-service-color)!important}
.service-row[class*="ms-service-"] .service-copy>h2{font-weight:750!important;color:var(--ms-service-color)!important}
/* Les liens « Découvrir ce service » sont de vrais CTA. */
.service-row[class*="ms-service-"] a.ms-service-discover{display:inline-flex!important;align-items:center;justify-content:space-between;gap:24px;background:var(--ms-service-color)!important;border:1px solid var(--ms-service-color)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:15px 21px!important;border-radius:4px!important;font-weight:600!important;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease!important}
.service-row[class*="ms-service-"] a.ms-service-discover:hover{background:var(--ms-service-accent)!important;border-color:var(--ms-service-accent)!important;color:#fff!important}
.service-row[class*="ms-service-"] a.ms-service-discover:focus-visible{outline:3px solid var(--ms-service-accent)!important;outline-offset:3px}
.service-row[class*="ms-service-"] a.ms-service-discover span{color:#fff!important}
/* Espacement de transition FAQ → CTA final : pas de vide superflu. */
body[class*="ms-service-theme-"] .contact-banner{padding-top:68px!important;padding-bottom:68px!important}
body[class*="ms-service-theme-"] .contact-banner .cta-flex{align-items:center}
@media(max-width:760px){body[class*="ms-service-theme-"] .contact-banner{padding-top:48px!important;padding-bottom:48px!important}}


/* V58 — Direction digitale : système neutre ardoise / cyan, distinct des quatre services.
   Les teintes des prestations définies en V56/V57 restent prioritaires. */
:root {
  --ink:#172635; --blue:#12677A; --blue2:#087E98;
  --pale:#EAF4F7; --cream:#FFFFFF; --muted:#4E6472;
  --line:#D4E1E7; --ms-cta:#172635; --ms-cta-hover:#087E98;
  --ms-digital:#087E98; --ms-digital-soft:#EAF4F7;
}
body{background:#fff!important;color:var(--ink)!important}
/* Menu sans aplats sur les liens, même lors du survol et de l'état actif. */
.site-header,.main-nav{background:#fff!important}
.main-nav .nav-list,.main-nav .nav-item,.main-nav .nav-item>a,
.main-nav .nav-item>a:hover,.main-nav .nav-item>a:focus-visible,
.main-nav .nav-item.current-menu-item>a,
.main-nav .nav-item.current_page_item>a,
.main-nav .nav-item .submenu-toggle,
.main-nav .nav-item .submenu-toggle:hover,
.main-nav .nav-item .submenu-toggle:focus-visible{
  background:transparent!important;background-image:none!important;box-shadow:none!important;
}
.main-nav .nav-item>a:hover,.main-nav .nav-item>a:focus-visible,
.main-nav .nav-item.current-menu-item>a{color:var(--ms-digital)!important}
/* Menu déroulant conservé : fond blanc pour lisibilité. */
.main-nav .sub-menu{background:#fff!important;border-color:var(--line)!important}
.main-nav .sub-menu a:hover{background:var(--ms-digital-soft)!important;color:#075A6D!important}
/* Tous les CTA : couleur change au hover, aucune translation ou variation de position. */
a.btn,a.btn:hover,a.btn:focus-visible,button.btn,button.btn:hover,button.btn:focus-visible,
.contact-form button[type="submit"],.contact-form button[type="submit"]:hover,
.service-row a.ms-service-discover,.service-row a.ms-service-discover:hover,
.contact-banner a.btn,.contact-banner a.btn:hover{
  transform:none!important;translate:none!important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}
/* Palette globale : contraste numérique, pas de beige ni de doré. */
body:not([class*="ms-service-theme-"]) .page-hero,
body:not([class*="ms-service-theme-"]) .section-tint,
body:not([class*="ms-service-theme-"]) .hero{background:#EAF4F7!important}
body:not([class*="ms-service-theme-"]) .contact-banner{background:#DDEFF4!important}
body:not([class*="ms-service-theme-"]) .contact-banner h2{color:#172635!important;-webkit-text-fill-color:#172635!important}
body:not([class*="ms-service-theme-"]) .contact-banner .eyebrow,
body:not([class*="ms-service-theme-"]) .eyebrow,
body:not([class*="ms-service-theme-"]) .card-number{color:#087E98!important;-webkit-text-fill-color:#087E98!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light),
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light){background:#172635!important;border-color:#172635!important;color:#fff!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):hover,
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light):hover{background:#087E98!important;border-color:#087E98!important;color:#fff!important}
/* Les quatre couleurs de prestations restent inchangées, y compris CTA et pastels. */
/* Footer : une seule famille de couleurs, y compris sur les pages de service. */
.site-footer{background:#1B1B39!important;color:#F5FAFC!important;border:0!important}
.site-footer .brand,.site-footer .brand-light,
.site-footer a,.site-footer p,.site-footer span,
.site-footer .footer-bottom,.site-footer .footer-bottom a,
.site-footer .footer-top .eyebrow,
.site-footer .footer-top .eyebrow span{
  color:#EAF4F7!important;-webkit-text-fill-color:#EAF4F7!important;
}
.site-footer .footer-top .eyebrow{color:#83D9E8!important;-webkit-text-fill-color:#83D9E8!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#C3D6DF!important;-webkit-text-fill-color:#C3D6DF!important}
.site-footer a:hover,.site-footer a:focus-visible,
.site-footer .footer-bottom a:hover,
.site-footer .footer-top a:hover{
  color:#83D9E8!important;-webkit-text-fill-color:#83D9E8!important;
}
.site-footer .social-icons a{background:transparent!important;border-color:#698694!important}
.site-footer .social-icons a:hover,.site-footer .social-icons a:focus-visible{
  background:#087E98!important;border-color:#83D9E8!important;
}
.site-footer .social-icons svg,.site-footer .social-icons a:hover svg{
  color:#fff!important;fill:currentColor!important;
}
.site-footer .footer-bottom{border-top:1px solid #415866!important}
@media(prefers-reduced-motion:reduce){a.btn,button.btn,.contact-form button[type="submit"]{transition:none!important}}


/* V59 — Neutres digitaux équilibrés + navigation des expertises. */
:root{
  --ink:#17232F;             /* noir bleuté */
  --muted:#526575;           /* gris bleuté */
  --line:#D8E0E7;
  --cream:#FFFFFF;
  --pale:#F1F5F8;
  --blue:#344B60;
  --blue2:#087E98;
  --ms-digital:#087E98;
  --ms-digital-soft:#EAF4F7;
  --ms-slate:#344B60;
  --ms-bluegray:#6D8192;
  --ms-offwhite:#F8FAFC;
  --ms-blueblack:#17232F;
}
/* Les espaces neutres alternent blanc, blanc froid et gris bleuté discret.
   Les fonds pastel et couleurs des quatre prestations ne sont pas modifiés. */
body:not([class*="ms-service-theme-"]) .page-hero,
body:not([class*="ms-service-theme-"]) .hero{background:#F1F5F8!important}
body:not([class*="ms-service-theme-"]) .section-tint{background:#F8FAFC!important}
body:not([class*="ms-service-theme-"]) .contact-banner{background:#E7EEF3!important}
body:not([class*="ms-service-theme-"]) .contact-banner h2{color:#17232F!important;-webkit-text-fill-color:#17232F!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light),
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light){background:#17232F!important;border-color:#17232F!important}
/* Menu déroulant Services : une ligne = une couleur de prestation.
   Le hover adapte ensemble fond pastel et texte foncé pour rester lisible. */
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li:nth-child(1){--nav-service:#2855D9;--nav-service-soft:#E8EEFF;--nav-service-ink:#173BA6}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li:nth-child(2){--nav-service:#176B4D;--nav-service-soft:#E5F2EA;--nav-service-ink:#104B37}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li:nth-child(3){--nav-service:#E85D35;--nav-service-soft:#FFF0E9;--nav-service-ink:#9B3417}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li:nth-child(4){--nav-service:#6538A6;--nav-service-soft:#F0E9FA;--nav-service-ink:#482477}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a{
  background:transparent!important;
  color:#17232F!important;
  -webkit-text-fill-color:#17232F!important;
  border-radius:3px;
  transition:background-color .2s ease,color .2s ease!important;
}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a:hover,
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a:focus-visible{
  background:var(--nav-service-soft)!important;
  color:var(--nav-service-ink)!important;
  -webkit-text-fill-color:var(--nav-service-ink)!important;
  outline-color:var(--nav-service)!important;
}
/* Gris bleuté sur les éléments secondaires du footer ; accents froids, sans ocre. */
.site-footer{background:#1B1B39!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#B8C7D2!important;-webkit-text-fill-color:#B8C7D2!important}
.site-footer .footer-bottom{border-top-color:#405262!important}

/* V60 — Palette froide contrastée et CTA par expertise (page Services). */
:root{
  --ink:#0B1522;
  --muted:#8798A9;
  --line:#DFE7EF;
  --blue:#364D63;
  --blue2:#49687F;
  --pale:#F4F7FA;
  --cream:#FFFFFF;
  --ms-blueblack:#0B1522;
  --ms-slate:#304558;
  --ms-bluegray:#8798A9;
  --ms-offwhite:#FAFCFE;
  --ms-cta:#0B1522;
  --ms-cta-hover:#304558;
  --ms-digital:#49687F;
  --ms-digital-soft:#F1F5F9;
}
body{color:#0B1522!important;background:#fff!important}
body:not([class*="ms-service-theme-"]) .page-hero,
body:not([class*="ms-service-theme-"]) .hero{background:#F1F5F9!important}
body:not([class*="ms-service-theme-"]) .section-tint{background:#FAFCFE!important}
body:not([class*="ms-service-theme-"]) .contact-banner{background:#E9EFF5!important}
body:not([class*="ms-service-theme-"]) .contact-banner h2{color:#0B1522!important;-webkit-text-fill-color:#0B1522!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):not(.ms-service-discover),
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light){background:#0B1522!important;border-color:#0B1522!important;color:#fff!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):not(.ms-service-discover):hover,
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light):hover{background:#304558!important;border-color:#304558!important}
.site-footer{background:#1B1B39!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#AEBECC!important;-webkit-text-fill-color:#AEBECC!important}
.site-footer .footer-bottom{border-top-color:#334558!important}
.site-footer .footer-top .eyebrow{color:#C5D4E2!important;-webkit-text-fill-color:#C5D4E2!important}
.site-footer a:hover,.site-footer a:focus-visible{color:#C5D4E2!important;-webkit-text-fill-color:#C5D4E2!important}
/* Sélecteur plus précis que les règles globales héritées : couleur de chaque bouton de service. */
body.page-template-page-services .service-row.ms-service-01 .service-copy a.btn.ms-service-discover,
body .service-row.ms-service-01 .service-copy a.btn.ms-service-discover{--cta-color:#2855D9;--cta-hover:#173BA6}
body.page-template-page-services .service-row.ms-service-02 .service-copy a.btn.ms-service-discover,
body .service-row.ms-service-02 .service-copy a.btn.ms-service-discover{--cta-color:#176B4D;--cta-hover:#104B37}
body.page-template-page-services .service-row.ms-service-03 .service-copy a.btn.ms-service-discover,
body .service-row.ms-service-03 .service-copy a.btn.ms-service-discover{--cta-color:#E85D35;--cta-hover:#B83D1C}
body.page-template-page-services .service-row.ms-service-04 .service-copy a.btn.ms-service-discover,
body .service-row.ms-service-04 .service-copy a.btn.ms-service-discover{--cta-color:#6538A6;--cta-hover:#482477}
body .service-row[class*="ms-service-"] .service-copy a.btn.ms-service-discover,
body:not([class*="ms-service-theme-"]) .service-row[class*="ms-service-"] .service-copy a.btn.ms-service-discover{
  background:var(--cta-color)!important;border-color:var(--cta-color)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  transform:none!important;translate:none!important;
}
body .service-row[class*="ms-service-"] .service-copy a.btn.ms-service-discover:hover,
body .service-row[class*="ms-service-"] .service-copy a.btn.ms-service-discover:focus-visible,
body:not([class*="ms-service-theme-"]) .service-row[class*="ms-service-"] .service-copy a.btn.ms-service-discover:hover{
  background:var(--cta-hover)!important;border-color:var(--cta-hover)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;transform:none!important;
}
body .service-row .service-copy a.btn.ms-service-discover span{color:#fff!important;-webkit-text-fill-color:#fff!important}


/* V61 — Palette principale inspirée de la référence fournie : navy / bleu / gris.
   Les couleurs propres aux quatre services et leurs CTA restent prioritaires. */
:root{
  --ink:#1B1B39;
  --muted:#51566B;
  --line:#EDEDED;
  --cream:#FFFFFF;
  --pale:#E9EBFF;
  --blue:#3965FA;
  --blue2:#3157DC;
  --ms-blueblack:#1B1B39;
  --ms-slate:#202020;
  --ms-bluegray:#99B7FC;
  --ms-offwhite:#FFFFFF;
  --ms-cta:#3965FA;
  --ms-cta-hover:#294ED5;
  --ms-digital:#3965FA;
  --ms-digital-soft:#E9EBFF;
}
body{background:#FFFFFF!important;color:#202020!important}
body:not([class*="ms-service-theme-"]) .page-hero,
body:not([class*="ms-service-theme-"]) .hero{background:#E9EBFF!important}
body:not([class*="ms-service-theme-"]) .section-tint{background:#F7F8FF!important}
body:not([class*="ms-service-theme-"]) .contact-banner{background:#E9EBFF!important}
body:not([class*="ms-service-theme-"]) .contact-banner h2{color:#1B1B39!important;-webkit-text-fill-color:#1B1B39!important}
body:not([class*="ms-service-theme-"]) .eyebrow,
body:not([class*="ms-service-theme-"]) .card-number,
body:not([class*="ms-service-theme-"]) .contact-banner .eyebrow{color:#3965FA!important;-webkit-text-fill-color:#3965FA!important}
/* Boutons généraux : bleus, sans mouvement au survol. Les boutons des cartes
   de services sont volontairement exclus. */
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):not(.ms-service-discover),
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light){background:#3965FA!important;border-color:#3965FA!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;transform:none!important;translate:none!important}
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):not(.ms-service-discover):hover,
body:not([class*="ms-service-theme-"]) a.btn:not(.btn-outline):not(.btn-light):not(.ms-service-discover):focus-visible,
body:not([class*="ms-service-theme-"]) button.btn:not(.btn-outline):not(.btn-light):hover{background:#294ED5!important;border-color:#294ED5!important;transform:none!important;translate:none!important}
body:not([class*="ms-service-theme-"]) .contact-form button[type="submit"]{background:#3965FA!important;border-color:#3965FA!important;color:#fff!important;transform:none!important}
body:not([class*="ms-service-theme-"]) .contact-form button[type="submit"]:hover{background:#294ED5!important;border-color:#294ED5!important;transform:none!important}
/* Navigation principale neutre ; survol par service dans le sous-menu préservé. */
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a{color:#1B1B39!important;-webkit-text-fill-color:#1B1B39!important}
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a:hover,
.main-nav .nav-list>.nav-item:nth-child(2)>.sub-menu>li>a:focus-visible{background:var(--nav-service-soft)!important;color:var(--nav-service-ink)!important;-webkit-text-fill-color:var(--nav-service-ink)!important}
/* Pied de page : marine profond et interactions bleu clair, sans ocre/cyan. */
.site-footer{background:#1B1B39!important;color:#FFFFFF!important}
.site-footer .brand,.site-footer .brand-light,.site-footer a,.site-footer p,
.site-footer span,.site-footer .footer-bottom a{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}
.site-footer .footer-top .eyebrow,.site-footer .footer-top .eyebrow span{color:#99B7FC!important;-webkit-text-fill-color:#99B7FC!important}
.site-footer .footer-top p,.site-footer .footer-bottom{color:#C8CBE0!important;-webkit-text-fill-color:#C8CBE0!important}
.site-footer a:hover,.site-footer a:focus-visible,.site-footer .footer-bottom a:hover,
.site-footer .footer-top a:hover{color:#99B7FC!important;-webkit-text-fill-color:#99B7FC!important}
.site-footer .social-icons a{background:transparent!important;border-color:#6B7199!important}
.site-footer .social-icons a:hover,.site-footer .social-icons a:focus-visible{background:#3965FA!important;border-color:#99B7FC!important}
.site-footer .footer-bottom{border-top-color:#42466B!important}

/* V62 — finitions ciblées : prestations et sous-menu Ressources. */
/* Les deux premières étiquettes partagent une même origine verticale, sans
   décaler le bloc gauche en position sticky sur ordinateur. */
body[class*="ms-service-theme-"] .service-detail-layout{align-items:start!important;}
body[class*="ms-service-theme-"] .service-detail-intro{top:30px;}
body[class*="ms-service-theme-"] .service-detail-intro,
body[class*="ms-service-theme-"] .service-detail-content,
body[class*="ms-service-theme-"] .service-detail-content>.service-detail-block:first-child{margin-top:0!important;padding-top:0!important;}
body[class*="ms-service-theme-"] .service-detail-intro>.eyebrow,
body[class*="ms-service-theme-"] .service-detail-content>.service-detail-block:first-child>.eyebrow{margin-top:0!important;padding-top:0!important;margin-bottom:16px!important;line-height:1.5!important;}
/* Les deux titres commencent après une étiquette de hauteur identique. */
body[class*="ms-service-theme-"] .service-detail-intro>h2,
body[class*="ms-service-theme-"] .service-detail-content>.service-detail-block:first-child>h2{margin-top:0!important;}
/* Ressources (troisième entrée de la navigation), palette générale V61. */
.main-nav .nav-list>.nav-item:nth-child(5)>.sub-menu>li>a:hover,
.main-nav .nav-list>.nav-item:nth-child(5)>.sub-menu>li>a:focus-visible{background:#E9EBFF!important;color:#3965FA!important;-webkit-text-fill-color:#3965FA!important;}
/* Réduire le vide après la FAQ, sans comprimer les autres sections. */
body[class*="ms-service-theme-"] .service-detail-layout{padding-bottom:0!important;}
body[class*="ms-service-theme-"] .service-detail-layout>.service-detail-content>.service-detail-block:last-child{margin-bottom:0!important;padding-bottom:0!important;}
body[class*="ms-service-theme-"] .service-detail-layout>.service-detail-content>.service-faq:last-child .faq:last-child{margin-bottom:0!important;}
body[class*="ms-service-theme-"] .service-detail-layout>.service-detail-content>.service-faq:last-child .faq:last-child summary{padding-bottom:12px!important;}
body[class*="ms-service-theme-"] .service-detail-layout>.service-detail-content>.service-faq:last-child .faq:last-child[open] .faq-answer{padding-bottom:10px!important;}
/* La section qui enveloppe la FAQ utilise un padding bas plus compact. */
body[class*="ms-service-theme-"] section.section:has(>.container.service-detail-layout){padding-bottom:48px!important;}
@media(max-width:760px){body[class*="ms-service-theme-"] section.section:has(>.container.service-detail-layout){padding-bottom:32px!important;}}


/* V63 — alignement réel des colonnes : le décalage provenait du sticky top:30px.
   Les deux colonnes démarrent désormais au même niveau dans le flux normal. */
@media (min-width: 801px) {
  body[class*="ms-service-theme-"] .service-detail-intro {
    position: static !important;
    top: auto !important;
    align-self: start !important;
  }
}
body[class*="ms-service-theme-"] .service-detail-layout > .service-detail-intro,
body[class*="ms-service-theme-"] .service-detail-layout > .service-detail-content,
body[class*="ms-service-theme-"] .service-detail-content > .service-detail-block:first-child {
  margin-block-start: 0 !important;
  padding-block-start: 0 !important;
}
body[class*="ms-service-theme-"] .service-detail-intro > .eyebrow,
body[class*="ms-service-theme-"] .service-detail-content > .service-detail-block:first-child > .eyebrow {
  margin-block-start: 0 !important;
  padding-block-start: 0 !important;
}

/* V63/V64 — contenu blanc sur les fiches articles et réalisations ; hero pastel préservé. */
body.single-post article,
body.single-post article > .section,
body.single-post article .related-articles,
body.single-realisation article,
body.single-realisation article > .section,
body.single-realisation article .related-projects {
  background: #FFFFFF !important;
  background-image: none !important;
}
body.single-post article > .section::before,
body.single-post article > .section::after,
body.single-realisation article > .section::before,
body.single-realisation article > .section::after {
  display: none !important;
}

/* V64 — rétablir exclusivement les fonds pastel des héros individuels.
   Les sections de contenu et les contenus similaires restent blancs. */
body.single-post article > header.page-hero,
body.single-realisation article > header.page-hero {
  background: #E9EBFF !important;
  background-image: none !important;
}

/* V65 — Alignement bord droit du visuel hero avec le conteneur de navigation. */
@media (min-width: 761px) {
  .hero-grid > .hero-editorial { justify-content: flex-end !important; }
}

/* V66 — curseur circulaire, uniquement sur souris/pavé tactile précis.
   Les interactions clavier, écrans tactiles et interfaces WP admin restent natives. */
@media (hover:hover) and (pointer:fine) {
  body.ms-custom-cursor, body.ms-custom-cursor a, body.ms-custom-cursor button,
  body.ms-custom-cursor summary, body.ms-custom-cursor input,
  body.ms-custom-cursor textarea, body.ms-custom-cursor select,
  body.ms-custom-cursor label {cursor:none!important;}
  .ms-cursor-dot {position:fixed;top:0;left:0;width:14px;height:14px;
    border-radius:50%;background:#1B1B39;pointer-events:none;z-index:2147483646;
    transform:translate3d(-50%,-50%,0);opacity:0;transition:opacity .12s ease;}
  .ms-cursor-dot.is-visible {opacity:1;}
  /* Contraste sur le pied de page et les surfaces sombres. */
  .ms-cursor-dot.is-inverted {background:#FFFFFF;box-shadow:0 0 0 1px #1B1B39;}
}
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce) {
  body.ms-custom-cursor,body.ms-custom-cursor * {cursor:auto!important;}
  .ms-cursor-dot {display:none!important;}
}

/* V67 — améliorations d’accessibilité sans altérer la direction artistique. */
/* Ne jamais masquer le curseur système, même si le point décoratif est actif. */
body.ms-custom-cursor, body.ms-custom-cursor a, body.ms-custom-cursor button,
body.ms-custom-cursor summary, body.ms-custom-cursor input,
body.ms-custom-cursor textarea, body.ms-custom-cursor select,
body.ms-custom-cursor label {cursor:auto!important;}
body.ms-custom-cursor a,body.ms-custom-cursor button,body.ms-custom-cursor summary {cursor:pointer!important;}
body.ms-custom-cursor input[type=text],body.ms-custom-cursor input[type=email],body.ms-custom-cursor textarea {cursor:text!important;}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid #3965FA!important;outline-offset:4px!important;}
.site-footer :where(a,button,input):focus-visible {outline-color:#99B7FC!important;}
.skip-link:focus {position:fixed!important;z-index:2147483647!important;top:12px!important;left:12px!important;clip:auto!important;width:auto!important;height:auto!important;padding:12px 18px!important;background:#fff!important;color:#1B1B39!important;}
.ms-cursor-preference {padding-block:12px 24px;font-size:.875rem;color:#fff;}
.ms-cursor-preference label {display:inline-flex;align-items:center;gap:10px;cursor:pointer;}
.ms-cursor-preference input {width:18px;height:18px;accent-color:#3965FA;}
.ms-impact-box {padding:24px;border:1px solid #D5DCE8;background:#F7F9FD;}
.ms-impact-box p {margin-bottom:12px;}
/* Lisibilité et adaptabilité des blocs éditoriaux en fort zoom. */
.prose,.container,.service-detail-layout,.contact-grid {min-width:0;}
.prose img,.prose video,.prose iframe {max-width:100%;height:auto;}
@media(max-width:760px){.contact-grid,.service-detail-layout {grid-template-columns:minmax(0,1fr)!important;}.ms-impact-box{padding:18px;}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important;}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* V68 — curseur natif pour toutes les interactions et tous les utilisateurs. */
body, body * {cursor: revert-layer;}
.ms-cursor-dot, .ms-cursor-preference {display:none!important;}

/* V69 — pointeurs natifs et carte visible sans interaction préalable. */
html body, html body * {cursor:auto;}
html body :is(a,button,summary,[role="button"],input[type="submit"],input[type="button"],input[type="checkbox"],input[type="radio"],select,label[for]) {cursor:pointer!important;}
html body :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],input[type="number"],textarea,[contenteditable="true"]) {cursor:text!important;}
html body :is(button,a,summary,[role="button"]):disabled {cursor:not-allowed!important;}
.studio-location .map-consent {display:block!important;padding:0!important;min-height:0!important;background:transparent!important;border:0!important;overflow:hidden;}
.studio-location .map-consent iframe {display:block;width:100%;height:300px;border:0;}
.studio-location .map-privacy-note {font-size:.78rem;line-height:1.5;margin:10px 0 0;color:#344B60;}
@media(max-width:760px){.studio-location .map-consent iframe{height:260px;}}

/* V70 — Outils d'accessibilité et sélecteur de langue */
.header-inner{display:flex;align-items:center}
.ms-header-tools{display:flex;align-items:center;gap:14px;margin-left:18px;flex-shrink:0}
.ms-accessibility{position:relative}
.ms-accessibility-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #D7DAE8;background:#fff;color:#1B1B39;border-radius:5px;cursor:pointer}
.ms-accessibility-toggle:hover,.ms-accessibility-toggle:focus-visible{background:#E9EBFF;color:#3965FA}
.ms-accessibility-panel{position:absolute;z-index:1000;top:calc(100% + 12px);right:0;width:220px;background:#fff;border:1px solid #CDD1E0;box-shadow:0 12px 35px #1B1B3924;padding:18px;color:#1B1B39}
.ms-accessibility-panel[hidden]{display:none!important}
.ms-tools-title{font-weight:700;margin:0 0 12px}
.ms-accessibility-panel fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}
.ms-accessibility-panel label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}
.ms-language-switch{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap;color:#9AA0B4}
.ms-language-switch a{color:#1B1B39;text-decoration:none}
.ms-language-switch a[aria-current="true"]{color:#3965FA}
.ms-language-switch a:hover,.ms-language-switch a:focus-visible{color:#3965FA;text-decoration:underline}
.ms-lang-unavailable{color:#8990A1;cursor:default}
@media(max-width:1050px){.ms-header-tools{margin-left:auto;gap:9px}.ms-accessibility-panel{right:-55px}}
@media(max-width:620px){.ms-header-tools{gap:6px;margin-left:auto}.ms-accessibility-toggle{width:34px;height:34px}.ms-language-switch{font-size:12px}.ms-accessibility-panel{right:-64px}}
/* Les réglages n'affectent pas la structure des pages */
html[data-ms-contrast="enhanced"]{--text:#101020;--muted:#26304A;--line:#626A85}
html[data-ms-contrast="enhanced"] body{color:#101020}
html[data-ms-contrast="enhanced"] a:not(.btn):not([class*="button"]){text-decoration-thickness:2px}
html[data-ms-contrast="enhanced"] :is(input,textarea,select){border-color:#545D79}
html[data-ms-contrast="maximum"]{--text:#000!important;--muted:#000!important;--line:#000!important;--ms-digital:#000!important}
html[data-ms-contrast="maximum"] body,html[data-ms-contrast="maximum"] main,html[data-ms-contrast="maximum"] section,html[data-ms-contrast="maximum"] article,html[data-ms-contrast="maximum"] header,html[data-ms-contrast="maximum"] footer,html[data-ms-contrast="maximum"] [class*="hero"],html[data-ms-contrast="maximum"] [class*="card"]{background:#fff!important;color:#000!important;background-image:none!important}
html[data-ms-contrast="maximum"] :is(h1,h2,h3,h4,h5,h6,p,li,small,label,legend,span,strong){color:#000!important;-webkit-text-fill-color:currentColor!important}
html[data-ms-contrast="maximum"] :is(a,button,.btn,[role="button"]){background:#000!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:2px solid #000!important}
html[data-ms-contrast="maximum"] a:not(.btn){text-decoration:underline!important}
html[data-ms-contrast="maximum"] :is(input,textarea,select){background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-ms-contrast="maximum"] :focus-visible{outline:4px solid #000!important;outline-offset:4px!important}
html[data-ms-contrast="maximum"] .ms-accessibility-panel{background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-ms-contrast="maximum"] .ms-accessibility-panel :is(label,span,p){color:#000!important}

/* V71 — GTranslate: sélecteur natif du thème, sans drapeaux */
.ms-gtranslate-switch{display:flex;align-items:center;gap:7px}
.ms-gtranslate-switch .ms-gt-fr,.ms-gtranslate-switch .ms-gt-en{display:inline-flex;align-items:center}
.ms-gtranslate-switch a,.ms-gtranslate-switch .glink{color:#1B1B39!important;font:inherit!important;text-decoration:none!important;cursor:pointer}
.ms-gtranslate-switch a:hover,.ms-gtranslate-switch a:focus-visible{color:#3965FA!important;text-decoration:underline!important}
.ms-gtranslate-switch a.glink.gt-current-lang,.ms-gtranslate-switch .gt-current-lang{color:#3965FA!important}
.ms-gtranslate-switch img,.ms-gtranslate-switch .gtflag{display:none!important}
.ms-gtranslate-switch .ms-language-separator{color:#9AA0B4}

/* V72 — Menu langues compact, FR / EN / PT-BR */
.ms-language-dropdown{position:relative;z-index:120;font-size:13px;font-weight:700;color:#1B1B39}
.ms-language-details{position:relative}
.ms-language-details>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 9px;list-style:none;cursor:pointer;border-radius:5px}
.ms-language-details>summary::-webkit-details-marker{display:none}
.ms-language-details>summary:hover,.ms-language-details>summary:focus-visible{color:#3965FA;background:#E9EBFF}
.ms-language-details[open]>summary svg{transform:rotate(180deg)}
.ms-language-options{position:absolute;right:0;top:calc(100% + 6px);min-width:105px;background:#fff;border:1px solid #d9deed;border-radius:8px;box-shadow:0 8px 24px rgba(27,27,57,.12);padding:5px;z-index:125}
.ms-language-options>div{display:block}
.ms-language-options a,.ms-language-options .glink{display:block;padding:10px 12px;color:#1B1B39!important;text-decoration:none!important;font:inherit!important;border-radius:5px;cursor:pointer;white-space:nowrap}
.ms-language-options a:hover,.ms-language-options a:focus-visible{background:#E9EBFF;color:#3965FA!important}
.ms-language-options .gt-current-lang{color:#3965FA!important}
.ms-language-options img,.ms-language-options .gtflag{display:none!important}
@media(max-width:620px){.ms-language-details>summary{min-height:36px;padding:0 5px}.ms-language-options{right:0}}

/* V73 — menu de langues flottant, lisible et sans décalage du header */
.site-header,.site-header .container,.site-header .header-inner,.site-header .ms-header-tools{overflow:visible!important}
.site-header .ms-language-dropdown{position:relative!important;display:block!important;flex:0 0 auto!important;z-index:9999!important;font-family:inherit!important}
.site-header .ms-language-details{position:relative!important;display:block!important}
.site-header .ms-language-details>summary{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:68px!important;height:42px!important;padding:0 12px!important;background:transparent!important;border:1px solid transparent!important;border-radius:8px!important;font-size:13px!important;line-height:1!important;font-weight:700!important;color:#1B1B39!important;cursor:pointer!important;user-select:none!important;list-style:none!important}
.site-header .ms-language-details>summary::marker{content:''}
.site-header .ms-language-details>summary::-webkit-details-marker{display:none!important}
.site-header .ms-language-details>summary:hover,.site-header .ms-language-details[open]>summary{background:#E9EBFF!important;color:#3965FA!important}
.site-header .ms-language-details>summary:focus-visible{outline:2px solid #3965FA!important;outline-offset:2px!important}
.site-header .ms-language-details>summary svg{width:11px!important;height:8px!important;flex:none!important;transition:transform .16s ease}
.site-header .ms-language-details[open]>summary svg{transform:rotate(180deg)}
.site-header .ms-language-options{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;position:absolute!important;top:calc(100% + 9px)!important;right:0!important;left:auto!important;width:190px!important;min-width:190px!important;max-width:calc(100vw - 24px)!important;margin:0!important;padding:7px!important;background:#fff!important;border:1px solid #DEE3F1!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(27,27,57,.16)!important;z-index:10000!important;list-style:none!important;transform:none!important}
.site-header .ms-language-options>div{display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.site-header .ms-language-options>div>a,.site-header .ms-language-options>div .glink{box-sizing:border-box!important;display:flex!important;align-items:center!important;min-height:40px!important;width:100%!important;margin:0!important;padding:10px 12px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#1B1B39!important;-webkit-text-fill-color:currentColor!important;text-decoration:none!important;text-align:left!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;white-space:nowrap!important;cursor:pointer!important}
.site-header .ms-language-options>div>a:hover,.site-header .ms-language-options>div>a:focus-visible,.site-header .ms-language-options>div .glink:hover,.site-header .ms-language-options>div .glink:focus-visible{background:#E9EBFF!important;color:#3965FA!important}
.site-header .ms-language-options .gt-current-lang{color:#3965FA!important;font-weight:700!important}
.site-header .ms-language-options img,.site-header .ms-language-options .gtflag{display:none!important}
@media(max-width:620px){.site-header .ms-language-details>summary{height:38px!important;min-width:58px!important;padding:0 8px!important}.site-header .ms-language-options{right:0!important}}
@media(prefers-reduced-motion:reduce){.site-header .ms-language-details>summary svg{transition:none!important}}

/* V74 — Dropdown piloté par bouton : aucun marqueur natif ni saut de mise en page. */
.site-header .ms-header-tools{align-items:center!important}
.site-header .ms-language-dropdown{position:relative!important;display:flex!important;align-items:center!important;align-self:center!important;z-index:10050!important}
.site-header .ms-language-trigger{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;position:relative!important;margin:0!important;padding:0 10px!important;min-width:68px!important;height:40px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;font:700 13px/1.2 inherit!important;color:#1B1B39!important;cursor:pointer!important;white-space:nowrap!important;transform:none!important}
.site-header .ms-language-trigger::before,.site-header .ms-language-trigger::after{content:none!important;display:none!important}
.site-header .ms-language-trigger:hover,.site-header .ms-language-trigger[aria-expanded="true"]{background:#E9EBFF!important;color:#3965FA!important}
.site-header .ms-language-trigger:focus-visible{outline:2px solid #3965FA!important;outline-offset:2px!important}
.site-header .ms-language-chevron{display:block!important;flex:0 0 11px!important;margin:0!important;transform:none!important}
.site-header .ms-language-trigger[aria-expanded="true"] .ms-language-chevron{transform:rotate(180deg)!important}
.site-header .ms-language-options[hidden]{display:none!important}
.site-header .ms-language-options:not([hidden]){position:absolute!important;display:flex!important;flex-direction:column!important;top:calc(100% + 7px)!important;bottom:auto!important;right:0!important;left:auto!important;width:190px!important;min-width:190px!important;max-width:calc(100vw - 20px)!important;margin:0!important;padding:7px!important;background:#fff!important;border:1px solid #DEE3F1!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(27,27,57,.16)!important;z-index:10051!important;transform:none!important}
.site-header .ms-language-options>div{display:block!important;margin:0!important;padding:0!important;width:100%!important}
.site-header .ms-language-options a,.site-header .ms-language-options .glink{display:flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;min-height:40px!important;padding:9px 12px!important;margin:0!important;border:0!important;border-radius:6px!important;text-decoration:none!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;color:#1B1B39!important;background:transparent!important;cursor:pointer!important;transform:none!important}
.site-header .ms-language-options a:hover,.site-header .ms-language-options a:focus-visible{background:#E9EBFF!important;color:#3965FA!important}
.site-header .ms-language-options [data-ms-lang="pt"] a{font-size:0!important}
.site-header .ms-language-options [data-ms-lang="pt"] a::after{content:"BR";font-size:13px!important;font-weight:600!important}
.site-header .ms-language-options .gtflag,.site-header .ms-language-options img{display:none!important}
@media(max-width:620px){.site-header .ms-language-trigger{min-width:60px!important;padding:0 6px!important;gap:9px!important}}

/* V76 — correctifs de l'audit statique responsive : navigation tablette et petits mobiles. */
@media (min-width:761px) and (max-width:950px){
  .site-header .header-inner{height:78px;gap:12px;}
  .site-header .menu-toggle{display:inline-flex!important;align-items:center;gap:8px;margin-left:auto;padding:8px 10px;background:transparent;border:0;color:#1B1B39;font-weight:700;}
  .site-header .main-nav{display:none!important;position:absolute!important;top:78px!important;left:0!important;right:0!important;margin:0!important;padding:16px max(20px,calc((100vw - 840px)/2)) 22px!important;background:#fff!important;border-bottom:1px solid #DEE3F1!important;box-shadow:0 12px 22px rgba(27,27,57,.08)!important;z-index:900!important;}
  .site-header .main-nav.is-open{display:block!important;}
  .site-header .main-nav .nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;}
  .site-header .main-nav .nav-item{width:100%!important;flex-wrap:wrap!important;}
  .site-header .ms-header-tools{margin-left:0!important;}
}
@media(max-width:760px){
  .site-header .header-inner{gap:8px!important;}
  .site-header .main-nav{z-index:900!important;}
  .site-header .main-nav .nav-list{align-items:stretch!important;width:100%!important;}
  .site-header .main-nav .nav-item{width:100%!important;}
  .site-header .ms-header-tools{margin-left:0!important;gap:5px!important;}
}
@media(max-width:390px){
  .site-header .brand{font-size:clamp(1.05rem,5.2vw,1.4rem)!important;letter-spacing:-.06em!important;}
  .site-header .menu-toggle{font-size:12px!important;gap:4px!important;padding:4px!important;}
  .site-header .ms-accessibility-toggle{width:34px!important;height:36px!important;}
  .site-header .ms-language-trigger{min-width:50px!important;padding:0 3px!important;gap:6px!important;}
  .site-header .ms-accessibility-panel{right:-70px!important;max-width:calc(100vw - 24px)!important;}
}
/* Prevent grid children with long translated text from forcing horizontal overflow. */
.service-grid>*,.project-grid>*,.article-grid>*,.contact-grid>*,.service-detail-layout>*,.footer-top>*{min-width:0;}
.prose,.service-copy,.service-detail-content,.contact-grid{overflow-wrap:break-word;}

/* V77 — Micro-interactions sobres : transform/opacity uniquement, sans boucle. */
@media (prefers-reduced-motion: no-preference) {
  .ms-reveal-ready { opacity:0; transform:translate3d(0,10px,0); transition:opacity .42s ease-out,transform .42s ease-out; }
  .ms-reveal-ready.ms-revealed { opacity:1; transform:none; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .project-card .project-image img, .project-card img { transition:transform .25s ease-out; }
  .project-card:hover .project-image img { transform:scale(1.025); }
}
@media (prefers-reduced-motion:reduce) { .ms-reveal-ready {opacity:1!important;transform:none!important;transition:none!important;} }


/* V79 — pictogramme animé, léger et accessible */
.site-header .brand{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}
.ms-brand-eye{display:block;flex:none;width:36px;height:36px;overflow:visible}
.ms-eye-blink{transform-origin:24px 24px;animation:ms-eye-blink 12s linear infinite}
.ms-eye-look{animation:ms-eye-look 12s ease-in-out infinite}
.ms-eye-iris{animation:ms-eye-color 12s steps(1,end) infinite}
@keyframes ms-eye-blink{0%,23%,27%,48%,52%,73%,77%,98%,100%{transform:scaleY(1)}25%,50%,75%,99%{transform:scaleY(.06)}}
@keyframes ms-eye-look{0%,8%,23%,27%,34%,48%,52%,59%,73%,77%,84%,98%,100%{transform:translateX(0)}15%,41%,66%,91%{transform:translateX(2px)}}
@keyframes ms-eye-color{0%,25%{fill:#2855D9}26%,50%{fill:#176B4D}51%,75%{fill:#E85D35}76%,99%{fill:#6538A6}100%{fill:#2855D9}}
@media(prefers-reduced-motion:reduce){.ms-eye-blink,.ms-eye-look,.ms-eye-iris{animation:none!important}}
@media(max-width:390px){.ms-brand-eye{width:25px;height:25px}.site-header .brand{gap:6px!important}}

/* V82: pictogramme 40px dans le header et le footer */
.site-header .ms-brand-eye,.site-footer .ms-brand-eye{width:40px;height:40px;flex:0 0 40px}
.site-footer .brand-light{display:inline-flex;align-items:center;gap:10px}

/* V83 — alignement horizontal du pictogramme et du nom dans le footer. */
.site-footer .footer-top .brand.brand-light{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;gap:10px!important;white-space:nowrap;}
.site-footer .footer-top .brand.brand-light .ms-brand-eye{display:block;width:40px;height:40px;flex:0 0 40px;}
.site-footer .footer-top .brand.brand-light > span{display:inline-block;white-space:nowrap;}

/* V84 — couleur de fond du pied de page uniforme sur toutes les pages. */
body .site-footer, body:not([class*="ms-service-theme-"]) .site-footer, body[class*="ms-service-theme-"] .site-footer { background-color: #1B1B39 !important; }

/* V86 — Titres bleu nuit sur les pages générales uniquement.
   Exclusions : catalogue Services et pages de détail des services.
   Les titres du footer et des bandeaux sombres conservent leur contraste. */
body:not(.page-template-page-services):not([class*="ms-service-theme-"])
  :is(.hero,.page-hero,.section,.prose,.project-grid,.article-grid,.contact-grid)
  :is(h1,h2,h3,h4,h5,h6) {
  color:#1B1B39 !important;
}
body:not(.page-template-page-services):not([class*="ms-service-theme-"])
  :is(.hero,.page-hero,.section,.prose,.project-grid,.article-grid,.contact-grid)
  :is(h1,h2,h3,h4,h5,h6) :is(em,span) {
  color:inherit !important;
}
/* Ne jamais assombrir les titres sur un fond bleu nuit. */
body:not(.page-template-page-services):not([class*="ms-service-theme-"])
  .contact-banner :is(h1,h2,h3,h4,h5,h6),
body:not(.page-template-page-services):not([class*="ms-service-theme-"])
  .contact-banner :is(h1,h2,h3,h4,h5,h6) :is(em,span) {
  color:#fff !important;
}

/* V88 — cartes de la page Studio : sélecteur direct, indépendant de body_class().
   Les anciens styles globaux imposent background:#fff!important : on les surcharge
   explicitement sur hover/focus-within avec une spécificité supérieure. */
.studio-pillars > article {
  transition:background-color .3s ease,border-color .3s ease;
}
@media (hover:hover) and (pointer:fine) {
  body .studio-pillars > article:nth-child(1):hover { background:#E8EEFF!important; border-color:#C9D7FF!important; }
  body .studio-pillars > article:nth-child(2):hover { background:#E5F2EA!important; border-color:#C4E3D0!important; }
  body .studio-pillars > article:nth-child(3):hover { background:#FFF0E9!important; border-color:#F7D5C5!important; }
}
@media (prefers-reduced-motion:reduce) {
  .studio-pillars > article { transition:none!important; }
}

/* V89 — curseur rond discret, uniquement avec souris fine. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.ms-custom-cursor, body.ms-custom-cursor a, body.ms-custom-cursor button,
  body.ms-custom-cursor summary, body.ms-custom-cursor [role="button"] {cursor: none !important;}
  body.ms-custom-cursor input, body.ms-custom-cursor textarea,
  body.ms-custom-cursor select, body.ms-custom-cursor [contenteditable],
  body.ms-custom-cursor [contenteditable] * {cursor: auto !important;}
  .ms-cursor-dot {position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;
    background:#111;z-index:2147483646;pointer-events:none;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);
    opacity:0;transition:width .16s ease,height .16s ease,opacity .12s ease;will-change:transform;}
  .ms-cursor-dot.is-visible{opacity:1;}
  .ms-cursor-dot.is-hover{width:20px;height:20px;}
  .ms-cursor-dot.is-editing{opacity:0;}
}

/* V90 — priorité sur les anciennes règles V68/V69 qui désactivaient le curseur. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html body.ms-custom-cursor, html body.ms-custom-cursor * {cursor:none!important;}
  html body.ms-custom-cursor :is(input,textarea,select,[contenteditable],[role="textbox"]),
  html body.ms-custom-cursor :is(input,textarea,select,[contenteditable],[role="textbox"]) * {cursor:text!important;}
  html body.ms-custom-cursor :is(select,input[type="checkbox"],input[type="radio"]) {cursor:auto!important;}
  html body.ms-custom-cursor .ms-cursor-dot {display:block!important;background:#1B1B39!important;}
  html body.ms-custom-cursor .site-footer ~ .ms-cursor-dot {pointer-events:none;}
}

/* V91 — un seul pointeur visible : rond bleu nuit, sans main native. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html body.ms-custom-cursor,
  html body.ms-custom-cursor :is(a,button,summary,[role="button"],[role="link"],label[for],input[type="submit"],input[type="button"]),
  html body.ms-custom-cursor :is(a,button,summary,[role="button"],[role="link"]) * {
    cursor:none!important;
  }
  html body.ms-custom-cursor .ms-cursor-dot {
    display:block!important;
    background:#1B1B39!important;
  }
  /* Sur fond bleu nuit : contraste sans ajouter un deuxième pointeur. */
  html body.ms-custom-cursor .ms-cursor-dot.is-inverted {
    background:#fff!important;
    box-shadow:0 0 0 1px #1B1B39;
  }
  html body.ms-custom-cursor :is(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),textarea,[contenteditable="true"],[role="textbox"]) {
    cursor:text!important;
  }
}

/* V92 — Barre de recherche alignée à droite des filtres, articles et e-books. */
body.blog .section > .container:has(> .ms-catalog-search),
body.post-type-archive-ressource .section > .container:has(> .ms-catalog-search){display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:34px}
body.blog .section > .container > .content-filters,
body.post-type-archive-ressource .section > .container > .content-filters{margin-bottom:0!important;flex:1 1 360px}
.ms-catalog-search{display:flex;align-items:center;flex:0 1 300px;min-width:230px;max-width:100%;height:46px;border:1px solid #d4dbe3;border-radius:3px;background:#fff;transition:border-color .18s ease}
.ms-catalog-search:focus-within{border-color:#3965FA}
.ms-catalog-search input{min-width:0;width:100%;height:100%;padding:0 12px 0 15px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:inherit;font-size:14px;color:#1B1B39}
.ms-catalog-search input::placeholder{color:#757e8a}
.ms-catalog-search button{display:grid;place-items:center;flex:0 0 45px;height:44px;border:0;background:transparent;color:#1B1B39;cursor:pointer}
.ms-catalog-search button:focus-visible{outline:2px solid #3965FA;outline-offset:-3px}
@media(max-width:700px){.ms-catalog-search{flex:1 1 100%;width:100%;max-width:none;min-width:0}body.blog .section > .container:has(> .ms-catalog-search),body.post-type-archive-ressource .section > .container:has(> .ms-catalog-search){gap:14px}}

/* V93 — Bibliothèque de ressources typographiques */
.ms-typo-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:32px}
.ms-typo-toolbar .content-filters{flex:1 1 440px;min-width:0}
.ms-typo-toolbar .ms-catalog-search{flex:0 1 310px;margin:0}
.ms-typo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ms-typo-card{display:flex;flex-direction:column;gap:15px;padding:28px;border:1px solid #e5e7ec;border-radius:14px;background:#fff;min-width:0}
.ms-typo-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ms-typo-mark{font-size:34px;line-height:1;font-weight:600;letter-spacing:-.08em;color:#1B1B39}
.ms-typo-card h2{margin:0;font-size:clamp(21px,2vw,28px);letter-spacing:-.035em}
.ms-typo-card p{margin:0;color:#51566a;line-height:1.65}
.ms-typo-card .ms-typo-license{font-size:13px;color:#676b7a}
.ms-typo-link{margin-top:auto;padding-top:14px;font-weight:600;text-decoration:none;color:#1B1B39}
.ms-typo-link:hover,.ms-typo-link:focus-visible{color:#3965FA}
.ms-typo-empty{grid-column:1/-1}
.ms-typo-disclaimer{margin-top:44px;max-width:850px;font-size:13px;line-height:1.7;color:#6b6d7a}
@media(max-width:850px){.ms-typo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ms-typo-grid{grid-template-columns:1fr}.ms-typo-toolbar .ms-catalog-search{flex:1 1 100%;width:100%}}

/* V94 — lien couvrant la carte, accessible au clavier. */
.ms-typo-card{position:relative;transition:border-color .2s ease,transform .2s ease}
.ms-typo-card:has(.ms-typo-link):hover{border-color:#3965FA;transform:translateY(-2px)}
.ms-typo-card .ms-typo-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ms-typo-card:focus-within{outline:2px solid #3965FA;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.ms-typo-card{transition:none}.ms-typo-card:has(.ms-typo-link):hover{transform:none}}

/* V96 — Nom lisible et aperçu distinct composé avec la police importée. */
.ms-typo-card .ms-typo-card-title{font-family:inherit;font-weight:700;letter-spacing:-.035em}
.ms-typo-card .ms-typo-preview{font-size:clamp(26px,2.7vw,38px);line-height:1.35;overflow-wrap:anywhere;min-height:1.35em;color:#1B1B39}

/* V97 — Hiérarchie éditoriale : nom discret, aperçu typographique dominant. */
.ms-typo-card{gap:16px;min-height:300px}
.ms-typo-card .ms-typo-card-top{min-height:18px}
.ms-typo-card .ms-typo-card-title{font-family:inherit;font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:#1B1B39}
.ms-typo-card .ms-typo-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:normal;font-size:clamp(32px,3vw,44px);line-height:1.3;height:2.6em;min-height:0;color:#1B1B39;font-weight:400;letter-spacing:normal}
.ms-typo-card .ms-typo-description{font-size:13px;line-height:1.5;color:#626778}
.ms-typo-card .ms-typo-link{margin-top:auto}
@media(max-width:620px){.ms-typo-card{min-height:290px}}

/* V98 — Bibliothèque typo : titre discret et aperçu prioritaire. */
.ms-typo-card{gap:14px;min-height:300px}
.ms-typo-card .ms-typo-card-title{font-size:15px;line-height:1.35;font-weight:600;letter-spacing:0}
.ms-typo-card .ms-typo-preview{display:block;max-width:100%;height:auto;min-height:78px;font-size:clamp(30px,2.7vw,40px);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
.ms-typo-card .ms-typo-link{margin-top:auto}
@media(max-width:620px){.ms-typo-card .ms-typo-preview{font-size:clamp(28px,8vw,38px);min-height:68px}}

/* V99 — Corrige la taille du titre sur les cartes typographiques (priorité sur styles globaux h2). */
body .ms-typo-grid article.ms-typo-card > h2.ms-typo-card-title {
  font-family:inherit !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  margin:0 !important;
  text-transform:none !important;
}
body .ms-typo-grid article.ms-typo-card > .ms-typo-preview {
  font-size:clamp(30px,2.7vw,40px);
}

/* V101 — Repli clavier / préférences d'accessibilité du pointeur. */
@media (forced-colors: active) {html body.ms-custom-cursor,html body.ms-custom-cursor * {cursor:auto!important}html body.ms-custom-cursor .ms-cursor-dot{display:none!important}}
html body.ms-custom-cursor:has(:focus-visible),html body.ms-custom-cursor:has(:focus-visible) *{cursor:auto!important}
html body.ms-custom-cursor:has(:focus-visible) .ms-cursor-dot{display:none!important}
.ms-map-activate{max-width:100%;white-space:normal;text-align:center}.ms-map-frame iframe{display:block;width:100%;height:300px;border:0}.map-privacy-note a,.form-note a{text-decoration:underline;text-underline-offset:2px}

/* V102 — Contact : notice de confidentialité lisible, bouton juste après. */
.contact-grid > div,.contact-form{min-width:0;}
.contact-form{height:auto!important;align-self:start;gap:18px;}
.contact-form .form-note{display:block!important;max-width:100%!important;width:100%;min-width:0;white-space:normal!important;overflow-wrap:break-word;word-break:normal;line-height:1.55;margin:0!important;font-size:.85rem;}
.contact-form .form-note a{white-space:normal;overflow-wrap:anywhere;text-decoration:underline!important;text-underline-offset:2px;}
.contact-form button[type=submit]{margin-top:6px!important;align-self:flex-start;}
.studio-location .map-privacy-note{overflow-wrap:break-word;}

/* V103 — navigation éditoriale et 404 */
.ms-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;line-height:1.6;margin:0 0 1.3rem;color:#28324e}
.ms-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.ms-breadcrumb a:focus-visible,.ms-404 a:focus-visible{outline:3px solid #3965fa;outline-offset:4px}
.ms-breadcrumb [aria-current="page"]{overflow-wrap:anywhere}
.ms-article-meta{font-size:.85rem;line-height:1.7;color:#34415d;margin:1.2rem 0}
.ms-404 .actions{margin-top:2rem}

/* V104 — Fil d’Ariane unifié, accessible et aligné sur la DA éditoriale. */
.ms-breadcrumb.ms-breadcrumb--editorial {
 display:flex;flex-wrap:wrap;align-items:center;gap:.55em;
 margin:0 0 1.5rem;padding:0;font-size:11px;font-weight:500;
 line-height:1.7;letter-spacing:.17em;text-transform:uppercase;
 color:#1b1b39;overflow-wrap:anywhere;
}
.ms-breadcrumb--editorial a {color:inherit;text-decoration:none;}
.ms-breadcrumb--editorial a:hover {text-decoration:underline;text-underline-offset:3px;}
.ms-breadcrumb--editorial a:focus-visible {outline:2px solid currentColor;outline-offset:4px;border-radius:2px;}
.ms-breadcrumb--editorial .ms-breadcrumb__separator {opacity:.65;}
body.page .ms-breadcrumb--service {color:#2855d9;}
body.page .ms-breadcrumb--editorial {max-width:100%;}
body.page:has(.page-hero) .ms-breadcrumb--editorial {color:inherit;}
body.page:has(.page-hero) .ms-breadcrumb--service {color:#2855d9;}
body.page:has(.page-hero) .ms-breadcrumb--editorial [aria-current="page"] {font-weight:600;}
@media (max-width:600px){.ms-breadcrumb.ms-breadcrumb--editorial{font-size:10px;gap:.45em;letter-spacing:.11em;}}

/* V105 — Fil d’Ariane : couleur unique sur toutes les pages, y compris les services. */
.ms-breadcrumb.ms-breadcrumb--editorial,
body.page .ms-breadcrumb.ms-breadcrumb--editorial,
body.page .ms-breadcrumb.ms-breadcrumb--service,
body.page:has(.page-hero) .ms-breadcrumb.ms-breadcrumb--editorial,
body.page:has(.page-hero) .ms-breadcrumb.ms-breadcrumb--service { color:#1b1b39; }
.ms-breadcrumb.ms-breadcrumb--editorial a,
.ms-breadcrumb.ms-breadcrumb--editorial [aria-current="page"],
.ms-breadcrumb.ms-breadcrumb--editorial .ms-breadcrumb__separator { color:#1b1b39; }

/* V106 — Footer : aligner la dernière ligne de présentation sur le lien « Studio ».
   Desktop uniquement ; la disposition mobile reste inchangée. */
@media (min-width:951px) {
  .site-footer .footer-top > div:first-child {
    display:flex;
    flex-direction:column;
    align-self:stretch;
  }
  .site-footer .footer-top > div:first-child > p {
    margin-top:auto;
    margin-bottom:0;
  }
}

/* V109 — étoiles discrètes, uniquement pour les avis explicitement notés */
.ms-review-stars{color:#3965FA;font-size:16px;letter-spacing:3px;line-height:1.2;margin-bottom:14px;white-space:nowrap}.ms-review-stars span{display:inline-block}

/* V145 — Contact : champs et informations */
.studio-direct{margin-top:34px;padding-top:20px}.studio-direct h3{font-size:1.16rem;margin:0 0 9px}.studio-direct a{text-decoration:underline!important;text-underline-offset:3px;overflow-wrap:anywhere}.contact-form select{width:100%;border:1px solid #c6d0e2;padding:14px;background:#fff;margin-top:7px;border-radius:0;color:#1b1b39;font:inherit;min-height:51px}.contact-form select:focus{outline:2px solid #3965fa;outline-offset:1px}.contact-form input:not([type=checkbox]),.contact-form textarea{border:1px solid #d3d8e2!important}.contact-form textarea{min-height:145px;resize:vertical}.contact-form .form-required-note{font-size:.77rem;margin:0;color:#526078}.contact-form .contact-reassurance{font-size:.81rem;color:#526078;margin:-9px 0 0}.contact-form .form-note{margin:0}.contact-form label{display:block}.contact-form button[type=submit]{margin-top:4px}.ms-map-activate{background:transparent!important;color:#3965fa!important;border:1px solid #3965fa!important;transform:none!important}.ms-map-activate:hover{background:#eef2ff!important;color:#244b9a!important}.notice{border-left:3px solid #3965fa}.contact-form :is(input,textarea,select):focus-visible{outline:2px solid #3965fa!important;outline-offset:2px}

/* V146 — Contact : composition compacte, sans changement de fonctionnalité */
@media (min-width: 900px) {
  .contact-grid > div:first-child {display:block!important;}
  .contact-grid .studio-location {margin-top:24px!important;}
  .contact-grid .studio-direct {margin-top:26px!important;padding-top:0!important;}
  .contact-grid .studio-hours {margin-top:24px!important;padding-top:0!important;}
  .contact-grid .studio-hours + .studio-location {padding-top:20px!important;}
  .contact-form--compact {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:15px;align-content:start;height:auto!important;}
  .contact-form--compact > * {grid-column:1/-1;min-width:0;}
  .contact-form--compact > .contact-field-half {grid-column:span 1;}
  .contact-form--compact > .trap {position:absolute;}
}
.contact-grid .ms-map-activate {background:transparent!important;border:1px solid #3965fa!important;color:#3965fa!important;box-shadow:none!important;}
.contact-grid .ms-map-activate:hover {background:#eef2ff!important;color:#294ed5!important;}
.contact-form--compact .form-required-note {color:#68738a!important;font-size:.75rem!important;}
.contact-form--compact .contact-reassurance {margin:-8px 0 0!important;}
@media (max-width:899px) {
  .contact-grid > div:first-child {display:block!important;}
  .contact-grid .studio-location {margin-top:24px!important;}
  .contact-grid .studio-direct,.contact-grid .studio-hours {margin-top:25px!important;}
  .contact-form--compact {display:flex!important;flex-direction:column!important;gap:16px!important;}
}

/* V147 — Dernières finitions de la page Contact. */
.contact-form--compact > button[type="submit"]{
  grid-column:1/-1!important;
  justify-self:start!important;
  align-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  justify-content:center!important;
  gap:12px!important;
}
body .contact-grid button.ms-map-activate.btn,
body .contact-grid button.ms-map-activate.btn:focus-visible{
  background:transparent!important;
  border:1px solid #3965fa!important;
  color:#3965fa!important;
  box-shadow:none!important;
  transform:none!important;
}
body .contact-grid button.ms-map-activate.btn:hover{
  background:#3965fa!important;
  border-color:#3965fa!important;
  color:#fff!important;
}

/* V148 — Services : titres éditoriaux neutres, repères chromatiques par expertise.
   Le titre de chaque bloc reste bleu nuit ; les numéros, pictogrammes,
   intitulés des cartes et boutons reprennent la couleur de leur service. */
body .service-row[class*="ms-service-"] .service-copy > h2,
body.page-template-page-services .service-row[class*="ms-service-"] .service-copy > h2 {
  color:#1B1B39!important;
  -webkit-text-fill-color:#1B1B39!important;
}
body .service-row[class*="ms-service-"] .service-copy > .eyebrow {
  color:var(--ms-service-color)!important;
  -webkit-text-fill-color:var(--ms-service-color)!important;
}

/* V149 — Continuité chromatique : titres des blocs Services = couleur de leur prestation. */
/* La couleur est limitée aux titres, repères et actions de chaque service. */
.service-row[class*="ms-service-"] .service-copy h2,
.service-row[class*="ms-service-"] .service-visual > strong,
.service-grid .service-card[class*="ms-service-"] h3 {
  color:var(--ms-service-color)!important;
  -webkit-text-fill-color:var(--ms-service-color)!important;
}
/* Boutons de découverte accordés à la prestation, sans modifier les CTA globaux. */
.service-row[class*="ms-service-"] .service-copy a.ms-service-discover {
  background:var(--ms-service-color)!important;
  border-color:var(--ms-service-color)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.service-row[class*="ms-service-"] .service-copy a.ms-service-discover:hover {
  filter:brightness(.86);
}

/* V150 — Correctif de spécificité : annule la règle V148 qui forçait le bleu nuit. */
body.page-template-page-services .service-row[class*="ms-service-"] .service-copy > h2,
body .service-row[class*="ms-service-"] .service-copy > h2 {
  color:var(--ms-service-color)!important;
  -webkit-text-fill-color:var(--ms-service-color)!important;
}

/* V157 — Couverture sobre, accents chromatiques issus des services. */
.hero-editorial .editorial-sheet{background:#f7faf8}
.hero-editorial .editorial-index{display:block;color:#1b1b39}
.hero-editorial .editorial-index-design{color:#6538A6} /* Direction artistique */
.hero-editorial .editorial-index-web{color:#176B4D} /* Sites WordPress */
.hero-editorial .editorial-index-identity{color:#2855D9} /* Identité visuelle */
.hero-editorial .editorial-index-separator{color:#1b1b39}
.hero-editorial .editorial-sheet-main em{color:#315bea}

/* V158 — Couleurs des trois expertises sur la couverture du hero.
   Les styles de texte hérités ne doivent pas écraser les accents. */
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-design,
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-design * { color:#6538A6!important; -webkit-text-fill-color:#6538A6!important; }
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-web,
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-web * { color:#176B4D!important; -webkit-text-fill-color:#176B4D!important; }
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-identity,
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-identity * { color:#2855D9!important; -webkit-text-fill-color:#2855D9!important; }
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-separator { color:#1B1B39!important; -webkit-text-fill-color:#1B1B39!important; }

/* V159 — Quatre expertises et slogan en bleu nuit. */
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-print,
body .hero-editorial .editorial-sheet-main .editorial-index > .editorial-index-print * { color:#E85D35!important; -webkit-text-fill-color:#E85D35!important; }
body .hero-editorial .editorial-sheet-main strong > em { color:#1B1B39!important; -webkit-text-fill-color:#1B1B39!important; }

/* V160 — Ajustements fins de la couverture du hero (sans changer la DA). */
.hero-editorial .editorial-index{
  font-size:.73rem; /* +12 % par rapport à .65rem */
  letter-spacing:.11em;
  line-height:1.5;
}
.hero-editorial .editorial-sheet-main{
  transform:translateY(8px); /* équilibre le blanc entre slogan et filet bas */
}
@media(max-width:420px){
  .hero-editorial .editorial-index{font-size:.65rem;letter-spacing:.07em}
}

/* V161 — Césures éditoriales contrôlées : ne pas isoler « cohérente ». */
@media (min-width: 761px) {
  .ms-expertise-heading .ms-desktop-break { display: block; }
  .ms-expertise-heading em { white-space: nowrap; }
}
@media (max-width: 760px) {
  .ms-expertise-heading .ms-desktop-break { display: none; }
  .ms-expertise-heading em { white-space: normal; }
}

/* V163 — navigation visible pendant le défilement, ordinateur et mobile. */
.site-header{position:sticky!important;top:0!important;z-index:10000!important;}
body.admin-bar .site-header{top:32px!important;}
@media(max-width:782px){body.admin-bar .site-header{top:46px!important;}}
@media(max-width:600px){body.admin-bar .site-header{top:0!important;}}
html{scroll-padding-top:105px;}
@media(max-width:760px){html{scroll-padding-top:90px;}}

/* V164 — Footer : quatre réseaux sociaux sur deux lignes équilibrées. */
.site-footer .footer-top > div:nth-child(3) .social-icons {
  display:grid!important;
  grid-template-columns:repeat(2,42px)!important;
  gap:10px!important;
  justify-content:center!important;
  justify-items:center!important;
  width:max-content;
  margin-inline:auto;
}
.site-footer .footer-top > div:nth-child(3) .social-icons a {
  width:42px;
  height:42px;
}

/* V165 — 5 réseaux : trois sur la première ligne, deux centrés sur la seconde. */
.site-footer .footer-top > div:nth-child(3) .social-icons {
 display:flex!important; flex-wrap:wrap!important; justify-content:center!important;
 align-items:center!important; gap:10px!important; width:146px!important;
 max-width:146px!important; margin-inline:auto!important;
 grid-template-columns:none!important;
}
.site-footer .footer-top > div:nth-child(3) .social-icons a {
 width:42px!important; height:42px!important; flex:0 0 42px!important;
}
