* { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; scrollbar-color: #b3a896 #efe9df; }
  body { background: #f7f4ee; color: #221f1a; font-family: 'Inter Tight', system-ui, sans-serif; font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; font-feature-settings: "kern" 1, "liga" 1, "calt" 1; text-rendering: optimizeLegibility; overflow-x: hidden; }
  body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: 0.5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"); }
  img { max-width: 100%; display: block; }
  a { color: inherit; text-decoration: none; }
  ::selection { background: #e36e06; color: #fbf8f2; }
  ::-moz-selection { background: #e36e06; color: #fbf8f2; }
  :focus-visible { outline: 2.5px solid #b05305; outline-offset: 3px; border-radius: 2px; }
  ::-webkit-scrollbar { width: 13px; height: 13px; }
  ::-webkit-scrollbar-track { background: #efe9df; }
  ::-webkit-scrollbar-thumb { background: #b3a896; border: 3px solid #efe9df; border-radius: 999px; }
  ::-webkit-scrollbar-thumb:hover { background: #221f1a; }
  .mc-tnum { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
  .mc-news-input::placeholder { color: #8a8278; }
  details.mc-faq summary { list-style: none; cursor: pointer; }
  details.mc-faq summary::-webkit-details-marker { display: none; }
  details.mc-faq[open] .mc-faq-plus { transform: rotate(45deg); }
  details.mc-faq[open] .mc-faq-ans { animation: mc-faq-open .4s cubic-bezier(.16,1,.3,1) both; }
  @keyframes mc-faq-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
  @keyframes mc-scrollline { 0%, 100% { transform: scaleX(.35); opacity: .55; } 50% { transform: scaleX(1); opacity: 1; } }
  /* --- Labels : pastille sonar + ligne de fin éditoriale (sélecteurs sur style normalisé par le runtime) --- */
  @keyframes mc-dotpulse { 0% { transform: scale(1); opacity: .5; } 70%, 100% { transform: scale(2.9); opacity: 0; } }
  @keyframes mc-linepulse { 0%, 100% { transform: scaleX(.35); opacity: .22; } 50% { transform: scaleX(1); opacity: .55; } }
  span[style*="width: 7px"][style*="border-radius: 50%"] { position: relative; }
  span[style*="width: 7px"][style*="border-radius: 50%"]::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: #e36e06; animation: mc-dotpulse 2.6s cubic-bezier(.16,1,.3,1) infinite; }
  span[style*="text-transform: uppercase"][style*="display: inline-flex"][style*="gap: 10px"]::after { content: ''; flex: 0 0 28px; height: 1.5px; background: currentColor; opacity: .3; border-radius: 2px; margin-left: 4px; transform-origin: left; animation: mc-linepulse 2.8s cubic-bezier(.16,1,.3,1) infinite; }
  .mc-svc-card { position: relative; transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1), background-color .25s ease !important; }
  .mc-svc-card:hover { transform: translateY(-6px) !important; }
  a[style*="background: rgb(227, 110, 6)"], button[style*="background: rgb(227, 110, 6)"] { position: relative; overflow: hidden; }
  a[style*="background: rgb(227, 110, 6)"]::after, button[style*="background: rgb(227, 110, 6)"]::after { content: ''; position: absolute; top: 0; bottom: 0; left: -130%; width: 55%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.42), transparent); transform: skewX(-18deg); transition: left .6s cubic-bezier(.16,1,.3,1); pointer-events: none; }
  a[style*="background: rgb(227, 110, 6)"]:hover::after, button[style*="background: rgb(227, 110, 6)"]:hover::after { left: 150%; }
  a[style*="background: rgb(227, 110, 6)"] > span, button[style*="background: rgb(227, 110, 6)"] > span { transition: transform .3s cubic-bezier(.16,1,.3,1); }
  a[style*="background: rgb(227, 110, 6)"]:hover > span, button[style*="background: rgb(227, 110, 6)"]:hover > span { transform: translateX(-4px); }
  /* Chiffres éditoriaux : dégradé terracotta animé (shimmer) */
  span[style*="font-size: 40px"][style*="font-style: italic"] { background-image: linear-gradient(100deg, #e36e06 0%, #e8a583 28%, #e36e06 55%, #e36e06 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: mc-shimmer 5s linear infinite; }
  @keyframes mc-shimmer { to { background-position: 220% 0; } }
  /* Section Processus : chiffres en filigrane avec shimmer terracotta subtil */
  section[data-screen-label="Processus"] span[style*="font-size: 128px"] { background-image: linear-gradient(100deg, rgba(227,110,6,.13) 0%, rgba(232,165,131,.34) 32%, rgba(227,110,6,.13) 64%, rgba(227,110,6,.13) 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: mc-shimmer 5s linear infinite; }
  /* Cartes plates : lift + barre d'accent animée au survol */
  section[data-screen-label="Pourquoi nous"] [style*="background: rgb(255, 253, 249)"],
  section[data-screen-label="Pour qui"] [style*="background: rgb(255, 253, 249)"],
  section[data-screen-label="Témoignages"] [style*="background: rgb(255, 253, 249)"],
  section[data-screen-label="Piliers"] [style*="background: rgb(255, 253, 249)"] {
    position: relative;
    transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease !important;
  }
  section[data-screen-label="Pourquoi nous"] [style*="background: rgb(255, 253, 249)"]::before,
  section[data-screen-label="Pour qui"] [style*="background: rgb(255, 253, 249)"]::before,
  section[data-screen-label="Témoignages"] [style*="background: rgb(255, 253, 249)"]::before,
  section[data-screen-label="Piliers"] [style*="background: rgb(255, 253, 249)"]::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: #e36e06; transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.16,1,.3,1); z-index: 2;
  }
  section[data-screen-label="Pourquoi nous"] [style*="background: rgb(255, 253, 249)"]:hover,
  section[data-screen-label="Pour qui"] [style*="background: rgb(255, 253, 249)"]:hover,
  section[data-screen-label="Témoignages"] [style*="background: rgb(255, 253, 249)"]:hover,
  section[data-screen-label="Piliers"] [style*="background: rgb(255, 253, 249)"]:hover {
    transform: translateY(-6px) !important; box-shadow: 0 28px 48px -28px rgba(34,31,26,.5); z-index: 1;
  }
  section[data-screen-label="Pourquoi nous"] [style*="background: rgb(255, 253, 249)"]:hover::before,
  section[data-screen-label="Pour qui"] [style*="background: rgb(255, 253, 249)"]:hover::before,
  section[data-screen-label="Témoignages"] [style*="background: rgb(255, 253, 249)"]:hover::before,
  section[data-screen-label="Piliers"] [style*="background: rgb(255, 253, 249)"]:hover::before {
    transform: scaleX(1);
  }
  .mc-svc-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: #e36e06; transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.16,1,.3,1); }
  .mc-svc-card:hover::before { transform: scaleX(1); }
  .mc-svc-arrow { display: inline-block; transition: transform .3s cubic-bezier(.16,1,.3,1); }
  .mc-svc-card:hover .mc-svc-arrow { transform: translateX(6px); }
  .mc-svc-num { transition: color .3s ease, background-color .3s ease, border-color .3s ease; }
  .mc-svc-card:hover .mc-svc-num { color: #fff; background: #e36e06; border-color: #e36e06; }
  .mc-method-num { transition: transform .45s cubic-bezier(.34,1.56,.64,1); }
  .mc-svc-card:hover .mc-method-num { transform: translateY(-4px); }
  .mc-perim-li { transition: background-color .25s ease; border-radius: 2px; }
  .mc-perim-li:hover { background: #f6f1e9; }
  .mc-perim-num { transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
  .mc-perim-li:hover .mc-perim-num { color: #fff; background: #e36e06; border-color: #e36e06; }
  footer { position: relative; }
  footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #e36e06 38%, #e36e06 62%, transparent); opacity: .55; }
  .mc-foot-link { position: relative; display: inline-block; transition: transform .3s cubic-bezier(.16,1,.3,1), color .2s ease; }
  .mc-foot-link::before { content: '—'; position: absolute; left: -22px; top: 0; color: #e36e06; opacity: 0; transform: translateX(-6px); transition: opacity .3s ease, transform .3s cubic-bezier(.16,1,.3,1); }
  .mc-foot-link:hover { transform: translateX(22px); color: #e36e06; }
  .mc-foot-link:hover::before { opacity: 1; transform: translateX(0); }
  .mc-foot-mini { position: relative; }
  .mc-foot-mini::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: #e36e06; transform: scaleX(0); transform-origin: left; transition: transform .32s cubic-bezier(.16,1,.3,1); }
  .mc-foot-mini:hover::after { transform: scaleX(1); }
  .mc-foot-logo { transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
  .mc-foot-logo:hover { transform: translateY(-2px); }
  .mc-news-input:hover { border-color: rgba(255,255,255,.35); }
  .mc-navitem { position: relative; }
  .mc-dropdown { opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .22s cubic-bezier(.16,1,.3,1), transform .22s cubic-bezier(.16,1,.3,1); }
  .mc-navitem:hover .mc-dropdown, .mc-navitem:focus-within .mc-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
  .mc-navitem:hover .mc-navcaret, .mc-navitem:focus-within .mc-navcaret { transform: rotate(180deg); }
  .mc-dditem { transition: background-color .2s ease, transform .2s ease; }
  .mc-dditem:hover { background: #f1ece2; }
  @keyframes mc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes mc-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
  @keyframes mc-page-in { from { opacity: 0; transform: translateY(20px); filter: blur(6px); } to { opacity: 1; transform: none; filter: blur(0); } }
  @keyframes mc-wipe { 0% { transform: translateX(-100%); } 48% { transform: translateX(0); } 100% { transform: translateX(100%); } }
  /* Contexte embarqué (éditeur / preview) : on neutralise les animations d'entrée qui,
     gelées à leur image de départ par l'éditeur, masquent tout le contenu et empêchent
     la sélection. Le site publié en plein écran garde les transitions. */
  html.mc-embedded [style*="mc-page-in"] { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
  html.mc-embedded [style*="mc-wipe"] { display: none !important; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  }
  @media (max-width: 900px) {
    body { font-size: 16.5px; }
  }
  @media (max-width: 760px) {
    body { font-size: 16px; }
    #nav > div { min-height: 58px !important; }
    section [style*="display:grid"][style*="gap:40px"] { gap: 26px !important; }
  }
  @media (max-width: 600px) {
    h1 { letter-spacing: -.01em; }
    [style*="grid-template-columns:repeat(auto-fit,minmax(200px"] { gap: 24px !important; }
    [style*="justify-content:space-between"][style*="flex-wrap:wrap"] { gap: 22px !important; }
  }
  @media (max-width: 540px) {
    [style*="padding:30px 28px"] { padding: 23px 21px !important; }
    [style*="padding:28px 26px"] { padding: 23px 21px !important; }
    [style*="padding:28px 24px"] { padding: 23px 21px !important; }
  }
  @media (max-width: 520px) {
    .mc-hero-cta { flex-direction: column; align-items: stretch; }
    .mc-hero-cta > a { justify-content: center; width: 100%; }
  }
  @media (max-width: 480px) {
    body { font-size: 15.5px; }
    #nav > div { min-height: 54px !important; }
    #backtotop { width: 44px !important; height: 44px !important; }
  }

/* --- Effets décoratifs réimplémentés via classes (decorate()) --- */
.mcdot{position:relative}
.mcdot::after{content:'';position:absolute;inset:0;border-radius:50%;background:#e36e06;animation:mc-dotpulse 2.6s cubic-bezier(.16,1,.3,1) infinite}
.mcline::after{content:'';flex:0 0 28px;height:1.5px;background:currentColor;opacity:.3;border-radius:2px;margin-left:4px;transform-origin:left;animation:mc-linepulse 2.8s cubic-bezier(.16,1,.3,1) infinite}
.mcshine{position:relative;overflow:hidden}
.mcshine::after{content:'';position:absolute;top:0;bottom:0;left:-130%;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg);transition:left .6s cubic-bezier(.16,1,.3,1);pointer-events:none}
.mcshine:hover::after{left:150%}
.mcshine>span{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.mcshine:hover>span{transform:translateX(-4px)}
.mcshim{background-image:linear-gradient(100deg,#e36e06 0%,#e8a583 28%,#e36e06 55%,#e36e06 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:mc-shimmer 5s linear infinite}
.mcshimfaint{background-image:linear-gradient(100deg,rgba(227,110,6,.13) 0%,rgba(232,165,131,.34) 32%,rgba(227,110,6,.13) 64%,rgba(227,110,6,.13) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:mc-shimmer 5s linear infinite}
.mccard{position:relative;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease!important}
.mccard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#e36e06;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:2}
.mccard:hover{transform:translateY(-6px)!important;box-shadow:0 28px 48px -28px rgba(34,31,26,.5)}
.mccard:hover::before{transform:scaleX(1)}
.mc-foot-mini{display:inline-block;padding-top:6px!important;padding-bottom:6px!important;line-height:1.2}
.mc-tlink{text-underline-offset:3px;text-decoration-thickness:1.5px}
.mc-tlink:hover{text-decoration:underline}
.mc-skip{position:fixed;top:-64px;left:12px;z-index:200;background:#221f1a;color:#fbf8f2;padding:11px 18px;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;letter-spacing:.06em;text-decoration:none;transition:top .2s ease}
.mc-skip:focus{top:12px}
.mc-post-body h2{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.2;color:#221f1a;margin:34px 0 14px}
.mc-post-body h3{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(19px,2.3vw,23px);line-height:1.25;color:#221f1a;margin:26px 0 10px}
.mc-post-body h2:first-child,.mc-post-body h3:first-child,.mc-post-body p:first-child{margin-top:0}
.mc-post-body p{font-size:16.5px;line-height:1.75;color:#574e43;margin:0 0 16px;text-wrap:pretty}
.mc-post-body ul,.mc-post-body ol{margin:2px 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.mc-post-body li{position:relative;padding-left:24px;font-size:16px;line-height:1.6;color:#3c372f;text-wrap:pretty}
.mc-post-body ul li::before{content:'—';position:absolute;left:0;color:#b05305}
.mc-post-body ol{counter-reset:mcli}
.mc-post-body ol li{counter-increment:mcli;padding-left:30px}
.mc-post-body ol li::before{content:counter(mcli,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:#b05305;letter-spacing:.04em}
.mc-post-body strong{color:#221f1a;font-weight:600}
.mc-post-body a{color:#b05305;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.mc-post-body blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:3px solid #b05305;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(19px,2.4vw,25px);line-height:1.4;color:#221f1a}
.mc-post-body .mc-post-note{margin-top:28px;padding:16px 20px;background:#f1ece2;border-left:3px solid #b05305;border-radius:2px;font-size:14.5px;line-height:1.6;color:#574e43}
.mc-post-body .mc-post-note a{color:#b05305}
/* --- Responsive : robustesse petits écrans --- */
#app, #app h1, #app h2, #app h3, #app p, #app a, #app span, #app li { overflow-wrap:break-word; }
@media (max-width:580px){
  /* grilles de cartes : une colonne pour éviter tout débordement horizontal */
  [style*="minmax(320px"],[style*="minmax(300px"],[style*="minmax(280px"]{grid-template-columns:1fr!important}
}
@media (max-width:420px){
  #app h1{font-size:clamp(32px,11vw,46px)!important}
  .mc-skip{font-size:12px;padding:9px 14px}
}

/* === Raffinements responsive (revue senior) ============================= */
/* Sécurité : aucun débordement horizontal, images jamais plus larges que l'écran */
#app{overflow-x:hidden}
#app img{max-width:100%;height:auto}
/* Grille « Vos avantages » (4 cartes) : entre ~760 et ~1100px, l'affichage
   3 colonnes laissait une cellule vide (3+1). On impose 2 colonnes pleines. */
@media (min-width:761px) and (max-width:1100px){
  [style*="minmax(240px"]{grid-template-columns:repeat(2,1fr)!important}
}
/* Tablette : marges latérales un peu plus compactes pour gagner en lisibilité */
@media (min-width:601px) and (max-width:900px){
  [style*="padding-inline:clamp(20px,5vw,64px)"]{padding-inline:clamp(20px,5vw,40px)!important}
}
/* Très petits écrans : boutons CTA centrés et confortables au tactile */
@media (max-width:460px){
  a[style*="padding:12px 22px"]{justify-content:center}
}

/* === Footer optimisé tablette + ordinateur (≥768px) ; mobile inchangé === */
@media (min-width:768px){
  footer{padding-block:16px 12px!important}
  /* Bandeau newsletter compact (titre + champ alignés) */
  footer > div > div:nth-child(1){padding-bottom:11px!important;margin-bottom:13px!important;align-items:center!important;gap:14px 28px!important}
  footer [style*="clamp(22px,3vw,30px)"]{font-size:clamp(16px,1.6vw,19px)!important;line-height:1.25!important;max-width:32ch}
  /* 4 colonnes de liens sur une rangée nette */
  footer > div > div:nth-child(2){grid-template-columns:repeat(4,1fr)!important;gap:12px 28px!important}
  footer ul{gap:6px!important}
  footer h4{margin-bottom:8px!important}
  footer .mc-foot-logo{margin-bottom:8px!important}
  footer > div > div:nth-child(2) > div:first-child p{max-width:30ch}
  /* Barre copyright resserrée */
  footer > div > div:nth-child(3){margin-top:8px!important;padding-top:10px!important}
}
