/* Interface MVO : composants partagés. L’identité et les styles de lecture
   historiques restent dans les pages et le générateur d’articles. */
:root{--mvo-ink:#0c5a62;--mvo-muted:#526772;--mvo-line:#d5e2e5;--mvo-space:clamp(24px,4vw,48px)}
.mvo-footer-grid{max-width:1200px;margin:auto;padding:48px 24px 40px;display:grid;grid-template-columns:1.55fr 1fr 1.2fr 1fr;gap:36px}
.mvo-footer-grid>*{min-width:0}
.mvo-footer-brand{grid-area:auto;font-size:14.5px;line-height:1.65}
.mvo-footer-logo{display:flex;gap:12px;align-items:center;color:#fff;font-family:'Newsreader',serif;font-size:23px;font-weight:600}
.mvo-footer-logo img{width:38px;height:38px;object-fit:contain}
.mvo-footer-brand>p{max-width:28ch;color:#b9ccd3;margin:18px 0 24px}
.mvo-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.mvo-footer-contact [data-attr=footer-phone]{font-size:18px;font-weight:600}
.mvo-footer-contact a,.mvo-footer-contact span{color:#b9ccd3!important}
.mvo-footer-contact [data-attr=footer-phone]{color:#fff!important}
.mvo-footer-group>p{font:600 15px/1.5 'Figtree',sans-serif;color:#fff;margin:6px 0 14px}
.mvo-footer-group>a{display:block;width:fit-content;font-size:14.5px;line-height:1.5;padding:5px 0}
.mvo-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.mvo-footer a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}
.mvo-footer-bottom{border-top:1px solid #ffffff24;color:#b9ccd3;font-size:13px;line-height:1.6}
.mvo-footer-bottom>div{max-width:1200px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.mvo-footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 24px}
.mvo-footer-bottom nav a{font-size:13px!important;color:#b9ccd3!important}
.mvo-hub>section{padding-block:clamp(44px,6vw,72px)!important}
.mvo-hub-contact-title{font-size:clamp(23px,3vw,32px)!important;line-height:1.2;overflow-wrap:normal;text-wrap:balance}
.mvo-orientation-fiscale{max-width:1200px;margin:36px auto 0;padding-top:28px;border-top:1px solid var(--mvo-line);display:grid;grid-template-columns:1fr 2fr;gap:20px 40px;text-align:left}
.mvo-orientation-fiscale h2{font:600 25px/1.2 'Newsreader',serif;color:var(--mvo-ink);margin:0}
.mvo-orientation-fiscale p{font-size:16px;line-height:1.65;color:var(--mvo-muted);margin:0}
.mvo-orientation-fiscale ul{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.mvo-orientation-fiscale a{font-weight:600;color:var(--mvo-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;line-height:1.7}
.mvo-orientation-fiscale a:hover{text-decoration-thickness:2px}
.mvo-orientation-fiscale a:focus-visible{outline:2px solid var(--mvo-ink);outline-offset:4px}
@media(max-width:1000px){
 .mvo-footer-grid{grid-template-columns:1fr 1fr;grid-template-areas:'brand navigation' 'expertise services';gap:32px 48px}
 .mvo-footer-brand{grid-area:brand}.mvo-footer-navigation{grid-area:navigation}.mvo-footer-expertise{grid-area:expertise}.mvo-footer-services{grid-area:services}
}
@media(max-width:600px){
 .mvo-footer-grid{padding:36px 24px;grid-template-areas:'brand brand' 'navigation expertise' 'navigation services';gap:28px 24px}
 .mvo-footer-brand>p{max-width:100%;margin:14px 0 20px}
 .mvo-footer-group>a{padding-block:7px;line-height:1.45}
 .mvo-footer-bottom>div{display:block}.mvo-footer-bottom nav{margin:12px 0;gap:8px 16px}
 .mvo-orientation-fiscale{grid-template-columns:1fr;gap:16px}
}
@media(prefers-reduced-motion:reduce){.mvo-hub .hover-card{transition:none!important}.mvo-hub .hover-card:hover{transform:none}}
@media(forced-colors:active){.mvo-footer a:focus-visible,.mvo-orientation-fiscale a:focus-visible{outline-color:Highlight}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Action de retrait ajoutée en C14, accessible au clavier sans modifier le consentement. */
button[onclick^="declineCookies();"]{font-size:16px;font-weight:600;line-height:1.5;color:#0c5a62;background:#fff;border:1px solid #0c5a62;border-radius:8px;padding:12px 20px;cursor:pointer}
button[onclick^="declineCookies();"]:focus-visible{outline:2px solid #0c5a62;outline-offset:4px}
@media(forced-colors:active){button[aria-controls="mobile-drawer"] span>span{border-top:2px solid ButtonText}}
/* Accueil : la hiérarchie repose sur les espaces et les lignes, sans cartes. */
.mvo-home-proof{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-block:24px}
.mvo-home-proof-bexio{margin-top:32px;border-top:1px solid var(--mvo-line)}
.mvo-home-proof-copilfid{justify-content:space-between}
.mvo-home-metiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin-top:44px}
.mvo-home-metier{min-width:0;text-align:left}
.mvo-home-metier>a{display:inline-block;padding-block:8px;text-decoration:underline;text-underline-offset:4px}
.mvo-home-expertise-list{margin-block:36px 32px}
.mvo-home-expertise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) auto;align-items:start;gap:24px 40px;padding:26px 0;border-top:1px solid #b8ced2;text-decoration:none;color:var(--mvo-ink)}
.mvo-home-expertise:last-child{border-bottom:1px solid #b8ced2}
.mvo-home-expertise h3{font:600 clamp(23px,2.3vw,28px)/1.2 'Newsreader',serif;margin:0;text-wrap:balance}
.mvo-home-expertise p{font-size:16px;line-height:1.65;color:var(--mvo-muted);margin:0;max-width:52ch}
.mvo-home-expertise>span{font-size:15px;font-weight:600;line-height:1.65;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.mvo-home-expertise:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.mvo-home-expertise:focus-visible,.mvo-home-metier>a:focus-visible,.mvo-home-proof a:focus-visible{outline:2px solid var(--mvo-ink);outline-offset:6px}
.mvo-about-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:48px}
.mvo-about-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
@media(max-width:900px){
 .mvo-home-metiers{grid-template-columns:1fr;gap:32px}
 .mvo-home-metier+.mvo-home-metier{padding-top:32px;border-top:1px solid var(--mvo-line)}
 .mvo-home-expertise{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 24px}
 .mvo-home-expertise>span{grid-column:2}
}
@media(max-width:600px){
 .mvo-home-expertise{grid-template-columns:1fr;gap:12px;padding-block:24px}
 .mvo-home-expertise>span{grid-column:auto}
 .mvo-about-photos{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
}
@media(forced-colors:active){
 .mvo-home-expertise:focus-visible,.mvo-home-metier>a:focus-visible,.mvo-home-proof a:focus-visible{outline-color:Highlight}
}
/* Pages d’orientation : titres et services lisibles sans empilement de cartes. */
.mvo-service-list{max-width:1200px;margin:auto}
.mvo-service-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:start;gap:16px 32px;padding:28px 0;border-top:1px solid var(--mvo-line);text-decoration:none}
.mvo-service-link:last-child{border-bottom:1px solid var(--mvo-line)}
.mvo-service-link>div:last-child{margin-top:0!important;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.mvo-service-link:hover h2{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.mvo-service-link:focus-visible{outline:2px solid var(--mvo-ink);outline-offset:6px}
.mvo-hub-contact{max-width:1200px;margin:auto;text-align:left}
.mvo-hub-contact>p{max-width:65ch}
.mvo-service-contact{padding-top:24px;border-top:1px solid var(--mvo-line)}
.mvo-contact-office{padding-top:24px;border-top:1px solid var(--mvo-line)}
.mvo-related-link{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--mvo-line);color:#3a4a54;font-size:15px;line-height:1.5;text-decoration:none}
.mvo-related-link:hover{text-decoration:underline;text-underline-offset:4px}
.mvo-related-link:focus-visible{outline:2px solid var(--mvo-ink);outline-offset:4px}
@media(max-width:900px){
 .mvo-service-contact{display:none}
 .mvo-service-link{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 24px}
 .mvo-service-link>div:last-child{grid-column:2}
}
@media(max-width:600px){
 .mvo-service-link{grid-template-columns:1fr;gap:14px;padding-block:24px}
 .mvo-service-link>div:last-child{grid-column:auto;margin-top:0!important}
}
@media(forced-colors:active){.mvo-service-link:focus-visible{outline-color:Highlight}}
