/* OMAZEO — feuille de style du site. Mise en page reprise du site Framer d'origine :
   blanc, gris très clair, violet #250245, titres en Hedvig Letters Serif, texte en Inter resserré. */

@font-face{font-family:'Hedvig Letters Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hedvig-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hedvig Letters Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hedvig-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --violet:#250245;
  --violet-2:#3A0E6E;
  --violet-3:#6B3FC4;
  --glow:150,110,255;
  --lilac:#D4C6F6;
  --navy:#000F2E;
  --ink:#141414;
  --ink-2:#3A3A3A;
  --muted:#636363;
  --soft:#FAFAFA;
  --pill:#F4F4F5;
  --line:#E8E8E8;
  --serif:'Hedvig Letters Serif',Georgia,serif;
  --sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --max:1150px;
  --pad:clamp(20px,4vw,40px);
  --ease:cubic-bezier(.22,.8,.2,1);
  --sec:clamp(80px,9vw,120px);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-color:var(--violet) var(--soft)}
body{margin:0;background:#fff;color:var(--ink);font:500 17px/1.55 var(--sans);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,address{margin:0}
address{font-style:normal}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;letter-spacing:inherit}
::selection{background:var(--violet);color:#fff}
:focus-visible{outline:2px solid var(--violet-3);outline-offset:3px;border-radius:8px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--soft)}
::-webkit-scrollbar-thumb{background:var(--violet);border-radius:10px;border:2px solid var(--soft)}

.wrap{width:100%;max-width:calc(var(--max) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--violet);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}
.i{width:20px;height:20px;flex:none}
.sec{padding:var(--sec) 0}
.soft{background:var(--soft)}

/* En-têtes de section, comme sur le site d'origine */
.sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:clamp(44px,5vw,64px)}
.label{display:inline-flex;align-items:center;gap:10px;color:var(--violet);font-size:16px;letter-spacing:-.04em;text-decoration:none}
a.label:hover{text-decoration:underline}
.label-dot{position:relative;width:7px;height:7px;border-radius:50%;background:currentColor}
.label-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid currentColor;opacity:0;animation:ping 2.6s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.7}70%,100%{transform:scale(1.6);opacity:0}}
.label-light{color:rgba(255,255,255,.9)}
.h2{font:400 clamp(2.1rem,1.35rem + 2.2vw,2.95rem)/1.18 var(--serif);letter-spacing:-.02em;max-width:15em;text-wrap:balance}
.sec-lead{max-width:30em;color:var(--muted);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);text-wrap:balance}
.sec-head .btn{margin-top:6px}
.narrow-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.narrow-head .btn{margin-top:8px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--violet);text-decoration:none;font-size:16px;letter-spacing:-.04em}
.link-arrow .i{width:17px;height:17px;transition:transform .35s var(--ease)}
.link-arrow:hover .i,a:hover .link-arrow .i{transform:translateX(4px)}

/* Boutons : pastille avec rond fléché, reflet qui passe au survol */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:12px;padding:5px 5px 5px 16px;border-radius:999px;font-weight:500;font-size:16px;letter-spacing:-.04em;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.btn::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .7s var(--ease)}
.btn-light::before{background:linear-gradient(100deg,transparent,rgba(37,2,69,.12),transparent)}
.btn:hover::before{left:120%}
.btn-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;overflow:hidden;font-style:normal;flex:none}
.btn-dot .i{width:17px;height:17px}
.btn:hover .btn-dot .i{animation:nudge .55s var(--ease)}
@keyframes nudge{0%{transform:translateX(0)}45%{transform:translateX(160%)}46%{transform:translateX(-160%)}100%{transform:translateX(0)}}
.btn:active{transform:scale(.97)}
.btn-dark{background:var(--violet);color:#fff}
.btn-dark .btn-dot{background:#fff;color:var(--violet)}
.btn-dark:hover{background:var(--violet-2)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light .btn-dot{background:var(--violet);color:#fff}
.btn-light:hover{background:#F1ECFC}

/* En-tête */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);transition:box-shadow .3s var(--ease)}
.hd.is-scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px -22px rgba(20,20,20,.35)}
.hd-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:90px}
.hd-logo{color:#323232;justify-self:start}
.logo{width:185px;height:auto}
.hd-nav>ul{display:flex;align-items:center;gap:26px}
.hd-nav a{text-decoration:none;font-size:16px;letter-spacing:-.04em;color:var(--ink);position:relative;padding:6px 0}
.hd-nav>ul>li>a::after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--violet);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.hd-nav>ul>li>a:hover::after,.hd-nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.hd-end{justify-self:end;display:flex;align-items:center;gap:18px}
.langs{display:flex;gap:2px;font-size:13px;font-weight:600;letter-spacing:.02em}
.langs a,.langs span{padding:5px 7px;border-radius:8px;text-decoration:none;color:var(--muted)}
.langs a:hover{color:var(--ink);background:var(--pill)}
.langs .on{color:var(--violet);background:var(--pill)}
.langs .off{color:#7A7A7A;cursor:default}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--violet);transform-origin:0 50%;transform:scaleX(var(--sp,0));pointer-events:none}
.hd-burger{display:none;justify-self:end;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.hd-burger span{position:absolute;left:10px;right:10px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .35s var(--ease),top .35s var(--ease)}
.hd-burger span:first-child{top:17px}
.hd-burger span:last-child{top:26px}
.hd-burger[aria-expanded=true] span:first-child{top:21.5px;transform:rotate(45deg)}
.hd-burger[aria-expanded=true] span:last-child{top:21.5px;transform:rotate(-45deg)}
.menu{border-top:1px solid var(--line);padding:8px var(--pad) 24px;background:#fff;height:calc(100svh - 76px);overflow:auto;overscroll-behavior:contain}
/* menu ouvert : la page derrière ne défile plus */
html:has(.menu:not([hidden])){overflow:hidden}
.menu-list a{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font-size:20px;letter-spacing:-.045em;text-decoration:none;border-bottom:1px solid var(--line)}
.menu-list a .i{width:18px;height:18px;color:var(--violet)}
.menu-list .m-sub a{padding-left:18px;font-size:17px;color:var(--muted)}
.menu-end{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}

/* Hero */
.hero-card,.page-card,.cta-card,.contact-box,.why-us,.profile-dark{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.hero-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:32px;align-items:stretch;padding:14px;border-radius:30px;background:var(--violet);color:#fff;min-height:min(640px,calc(100svh - 110px))}
.glow{position:absolute;z-index:-1;left:0;top:0;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--glow),.38),rgba(var(--glow),.1) 55%,transparent);transform:translate3d(var(--gx,70%),var(--gy,30%),0);pointer-events:none;will-change:transform}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,44px) 0 clamp(24px,3vw,44px) clamp(18px,2.4vw,24px)}
.hero-creds{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.hero-creds li{white-space:nowrap;font-size:14px;letter-spacing:-.02em;color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 13px}
.hero h1{font:400 clamp(2.5rem,1.5rem + 2.7vw,3.7rem)/1.14 var(--serif);letter-spacing:-.02em;max-width:11.5em;text-wrap:balance}
.hero-for{margin-top:22px;font-size:18px;font-style:italic;color:rgba(255,255,255,.78);letter-spacing:-.03em}
.hero-lead{margin-top:14px;font-size:clamp(1.06rem,1rem + .3vw,1.2rem);line-height:1.55;color:rgba(255,255,255,.86);max-width:29em}
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:34px}
.link-light{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:18px;letter-spacing:-.04em;text-decoration:none;padding:8px 2px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease)}
.link-light:hover{background-size:100% 1px}
.link-light .i{width:18px;height:18px;transition:transform .35s var(--ease)}
.link-light:hover .i{transform:translateX(4px)}
.hero-photo{position:relative;z-index:1;border-radius:22px;overflow:hidden;background:#EEECEF;min-height:420px}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 16%}

/* Logos clients */
.trusted{padding:clamp(48px,5vw,64px) 0 0}
.trusted-title{text-align:center;font-size:18px;font-weight:500;letter-spacing:-.04em;color:var(--violet)}
.marquee{display:flex;overflow:hidden;max-width:820px;margin:30px auto 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.marquee-track{display:flex;align-items:center;flex:none;gap:40px;padding-right:40px;animation:scroll-x 30s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee li{display:flex;align-items:center;justify-content:center;width:150px;height:56px;flex:none}
.marquee img{width:auto;max-width:100%;object-fit:contain;opacity:.82;filter:grayscale(1);transition:opacity .3s}
.marquee li:hover img{opacity:1}
/* tailles et décalages réglés à l'œil : même poids visuel, textes sur une même ligne */
.marquee img{transform:translateY(var(--dy,0))}
.cl-european-commission img{height:36px}
.cl-disney-plus img{height:50px;--dy:-1px}
.cl-philips img{height:15px}
.cl-danone img{height:36px;--dy:9px}
.cl-cerave img{height:30px}
@keyframes scroll-x{to{transform:translateX(-100%)}}

/* Pourquoi nous : OMAZEO en violet, nettement mis en avant */
.why-box{display:grid;grid-template-columns:1fr 1.06fr;gap:8px;max-width:1000px;margin:0 auto;padding:8px;border:1px solid #F0F0F0;border-radius:38px;background:var(--soft)}
.why-col{position:relative;isolation:isolate;overflow:hidden;padding:clamp(26px,3vw,40px)}
.why-us{background:var(--violet);color:#fff;border-radius:32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 24px 60px -24px rgba(37,2,69,.55)}
.why-us .glow{width:520px;height:520px;margin:-260px 0 0 -260px}
.why-col h3{display:flex;align-items:center;min-height:30px;font-size:24px;font-weight:500;letter-spacing:-.045em;margin-bottom:30px}
.why-others h3{color:var(--muted)}
.why-logo{width:150px;color:#fff}
.why-col ul{display:grid;gap:26px}
.why-col li{display:grid;grid-template-columns:22px 1fr;gap:14px}
.why-col h4{font-size:22px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
.why-col p{margin-top:6px;color:var(--muted);font-size:16px}
.why-others h4{color:#6A6A6A}
.why-others p{color:#686868}
.why-us p{color:rgba(255,255,255,.78)}
.mk{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-top:3px}
.mk .i{width:14px;height:14px;stroke-width:2.4}
.mk-off{background:#E4E4E8;color:#6E6E78}
.mk-on{background:#fff;color:var(--violet)}

/* Services : carrousel en profondeur */
.svcs{background:var(--soft);overflow:hidden}
.carousel{--cw:580px;--ch:405px;--step:520px;position:relative;height:calc(var(--ch) + 40px);perspective:1600px;touch-action:pan-y;cursor:grab;outline-offset:-4px}
.carousel.is-drag{cursor:grabbing}
.carousel-track{position:absolute;inset:0;transform-style:preserve-3d}
.svc{position:absolute;left:50%;top:20px;width:var(--cw);height:var(--ch);margin-left:calc(var(--cw) / -2);border-radius:24px;overflow:hidden;background:#1d1b22;color:#fff;
  transform:translateX(calc(var(--d,0) * var(--step))) scale(var(--s,1)) rotateY(calc(var(--d,0) * var(--ry,20deg)));opacity:var(--o,1);
  transition:transform .85s var(--ease),opacity .85s var(--ease),box-shadow .85s var(--ease);box-shadow:0 30px 60px -30px rgba(20,20,20,.45);user-select:none}
.svc.no-anim,.svc.no-anim::after{transition:none}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.svc::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(10,8,14,.82) 100%)}
.svc::after{content:'';position:absolute;inset:0;z-index:2;background:rgba(250,250,250,.42);opacity:1;transition:opacity .85s var(--ease)}
.svc:not(.is-active) .svc-txt{opacity:0}
.svc-txt{transition:opacity .6s var(--ease)}
.svc.is-active::after{opacity:0}
.svc-txt{position:absolute;z-index:3;left:26px;right:26px;bottom:24px}
.svc-txt h3{font-size:26px;font-weight:500;letter-spacing:-.045em;line-height:1.2}
.svc-txt p{margin-top:8px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.9);max-width:24em}
.arrow{position:absolute;z-index:20;top:calc(20px + var(--ch) / 2);display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;border-radius:50%;border:0;background:var(--violet);color:#fff;cursor:pointer;transition:transform .3s var(--ease),background-color .3s}
.arrow:hover{background:var(--violet-2);transform:scale(1.08)}
.arrow .i{width:19px;height:19px}
.arrow-prev{left:calc(50% - var(--cw) / 2 - 21px)}
.arrow-next{left:calc(50% + var(--cw) / 2 - 21px)}

/* Points forts et tuiles */
.ft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(48px,5vw,64px) clamp(24px,4vw,56px);max-width:1000px;margin:0 auto;text-align:center}
.ft-grid li{display:flex;flex-direction:column;align-items:center}
.ft-ic{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:var(--violet);color:#fff;box-shadow:0 8px 18px -6px rgba(37,2,69,.45);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ft-ic .i{width:22px;height:22px}
.ft-grid li:hover .ft-ic,.tiles li:hover .ft-ic{transform:translateY(-4px);box-shadow:0 14px 26px -8px rgba(107,63,196,.6)}
.ft-grid h3{margin-top:28px;font-size:22px;font-weight:500;letter-spacing:-.045em}
.ft-grid p{margin-top:10px;color:var(--muted);font-size:17px;max-width:17em}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tiles li{padding:28px 24px;border:1px solid #EFEFEF;border-radius:24px;background:#fff}
.tiles h3{margin-top:22px;font-size:20px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
.tiles p{margin-top:8px;color:var(--muted);font-size:16px}
/* Méthode : frise centrale */
.steps{position:relative;display:grid;gap:clamp(48px,6vw,72px);max-width:1000px;margin:0 auto}
.steps-line{position:absolute;left:50%;top:var(--l0,0);height:var(--lh,100%);width:1px;margin-left:-.5px;background:var(--line);border-radius:2px}
.steps-line span{position:absolute;left:0;top:0;width:100%;height:calc(var(--p,0) * 100%);background:linear-gradient(180deg,var(--violet),#8B5CF6);border-radius:2px}
.steps-line span::after{content:'';position:absolute;left:-3.5px;bottom:-4px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#C4B5FD,#7C3AED 75%);box-shadow:0 0 10px 2px rgba(139,92,246,.5);opacity:calc(var(--p,0) * 40)}
.step{display:grid;grid-template-columns:1fr 68px 1fr;align-items:center}
.step-img{grid-column:1;grid-row:1;aspect-ratio:431/295;border-radius:24px;overflow:hidden;background:#ECEBEF}
.step-img img{width:100%;height:100%;object-fit:cover}
.step-n{grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums;transition:background-color .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.step.is-on .step-n{background:var(--violet);transform:scale(1.12);box-shadow:0 0 0 6px rgba(107,63,196,.14)}
.step-txt{grid-column:3;grid-row:1}
.step:nth-child(odd) .step-img{grid-column:3}
.step:nth-child(odd) .step-txt{grid-column:1}
.step-txt h3{font-size:clamp(1.6rem,1.3rem + .8vw,1.9rem);font-weight:500;letter-spacing:-.045em;line-height:1.2}
.step-txt p{margin-top:14px;color:var(--muted);font-size:17px;max-width:27em}

/* Fondateur (accueil) */
.about-stage{display:grid;grid-template-columns:1fr minmax(0,383px) 1fr;align-items:center;max-width:1100px;margin:0 auto}
.badges{display:flex;flex-direction:column;justify-content:space-around;align-self:stretch;gap:28px;padding:48px 0}
.badge{display:flex;align-items:center}
.badges-l .badge::after,.badges-r .badge::before{content:'';flex:1;min-width:28px;height:15px;margin-right:14px;position:relative;z-index:2;
  background:radial-gradient(circle at calc(100% - 7.5px) 50%,#7C3AED 0 2.6px,#8B5CF6 3.2px,rgba(139,92,246,.4) 3.7px,rgba(139,92,246,0) 7.5px),linear-gradient(90deg,rgba(139,92,246,0),#8B5CF6) left center / calc(100% - 7px) 1px no-repeat;
  clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}
.badges-r .badge::before{margin:0 0 0 14px;background:radial-gradient(circle at 7.5px 50%,#7C3AED 0 2.6px,#8B5CF6 3.2px,rgba(139,92,246,.4) 3.7px,rgba(139,92,246,0) 7.5px),linear-gradient(90deg,#8B5CF6,rgba(139,92,246,0)) right center / calc(100% - 7px) 1px no-repeat;clip-path:inset(0 0 0 100%)}
.about-stage.is-in .badge::after,.about-stage.is-in .badge::before{clip-path:inset(0 0 0 0)}
.badges .badge:nth-child(2)::after,.badges .badge:nth-child(2)::before{transition-delay:.15s}
.badges .badge:nth-child(3)::after,.badges .badge:nth-child(3)::before{transition-delay:.3s}
.pill{display:inline-flex;align-items:center;gap:10px;flex:none;padding:4px 16px 4px 4px;border-radius:999px;background:var(--pill);font-size:16px;letter-spacing:-.04em;white-space:nowrap}
.pill b{font-weight:500;background:var(--violet);color:#fff;padding:4px 12px;border-radius:999px;font-variant-numeric:tabular-nums}
.about-photo{border-radius:24px;overflow:hidden;aspect-ratio:383/500;background:#EEECEF}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.about-text{max-width:34em;margin:36px auto 0;text-align:center;color:var(--muted);font-size:16.5px;text-wrap:balance}
.about-more{margin-top:18px;text-align:center}

/* FAQ */
.faq{background:var(--soft)}
.faq-list{max-width:680px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;cursor:pointer;list-style:none;font-size:18px;letter-spacing:-.045em}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover span{color:var(--violet)}
.qa-ic{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid #D9D3E6;color:var(--violet);font-style:normal;transition:transform .45s var(--ease),background-color .3s,color .3s}
.qa[open] .qa-ic{background:var(--violet);border-color:var(--violet);color:#fff}
.qa-ic .i{width:15px;height:15px;stroke-width:2}
.qa[open] .qa-ic{transform:rotate(180deg)}
.qa-a{padding:0 50px 22px 0;color:var(--muted);font-size:16.5px}
.qa[open] .qa-a{animation:reveal .45s var(--ease)}
@keyframes reveal{from{opacity:0;transform:translateY(-6px)}}

/* Contact : une seule carte violette, formulaire clair dessus */
.contact-box{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);max-width:1000px;margin:0 auto;padding:clamp(28px,4vw,52px);border-radius:34px;background:var(--violet);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 30px 70px -34px rgba(37,2,69,.6)}
.contact-box .glow{opacity:.75}
.contact-box{grid-template-areas:'info form'}
.contact-info{grid-area:info}
.contact-box .form{grid-area:form}
.contact-intro{grid-area:intro}
.contact-box .glow{width:640px;height:640px;margin:-320px 0 0 -320px}
.contact-info{display:flex;flex-direction:column;gap:36px;padding-right:clamp(0px,3vw,40px);border-right:1px solid rgba(255,255,255,.12)}
.contact-info ul{display:grid;gap:26px}
.contact-info li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start}
.contact-info .i{width:22px;height:22px;color:var(--lilac);margin-top:2px}
.contact-info small{display:block;font-size:14px;color:rgba(255,255,255,.7)}
.contact-info span{font-size:18px;letter-spacing:-.04em}
.contact-info a{text-decoration:none}
.contact-info a:hover{text-decoration:underline}
.contact-note{margin-top:auto;display:grid;gap:12px;font-size:15px;color:rgba(255,255,255,.75)}
.contact-note span{font-size:15px}
.contact-logo{width:120px;color:#fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.field{display:grid;gap:7px}
.field-wide{grid-column:1/-1}
.field label{font-size:14.5px;color:rgba(255,255,255,.88)}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;letter-spacing:-.02em;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:12px 14px;transition:border-color .25s,box-shadow .25s,background-color .25s;caret-color:var(--lilac)}
.field textarea{resize:vertical;min-height:132px}
.field input::placeholder,.field textarea::placeholder{color:rgba(212,198,246,.62)}
.field input:hover,.field textarea:hover{border-color:rgba(255,255,255,.35)}
.field input:focus,.field textarea:focus{outline:none;background:rgba(255,255,255,.11);border-color:var(--lilac);box-shadow:0 0 0 3px rgba(212,198,246,.18)}
.field [aria-invalid=true]{border-color:#FF9DB0;box-shadow:0 0 0 3px rgba(255,157,176,.2)}
.form-consent{grid-column:1/-1;font-size:13.5px;color:rgba(255,255,255,.72)}
.form-consent a{color:#fff}
.form-end{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.form-status{font-size:15px;color:var(--lilac);max-width:34em}
.form-status.is-error{color:#FFC2CE}
.form.is-sending button{opacity:.7;pointer-events:none}

/* Bandeau contact des pages intérieures */
.cta-sec{padding-top:0}
.soft+.cta-sec,.group-sec+.cta-sec{padding-top:var(--sec)}
.cta-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px 48px;flex-wrap:wrap;padding:clamp(32px,4vw,56px);border-radius:30px;background:var(--violet);color:#fff}
.cta-card .h2{max-width:13em}
.cta-card p{margin-top:12px;color:rgba(255,255,255,.8);max-width:30em;text-wrap:balance}
.cta-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.cta-mail{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:16px}
.cta-mail .i{width:18px;height:18px;color:var(--lilac)}
.cta-mail:hover{text-decoration:underline}

/* Pages intérieures */
.page-hero{padding:0 0 clamp(28px,3vw,44px)}
.page-card{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:32px;align-items:center;padding:clamp(32px,5vw,64px);border-radius:30px;background:var(--violet);color:#fff;min-height:360px}
.page-card.has-media{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);padding:14px 14px 14px clamp(32px,4.4vw,60px)}
.page-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:clamp(16px,2vw,24px) 0}
.page-card h1{font:400 clamp(2.4rem,1.5rem + 2.6vw,3.6rem)/1.12 var(--serif);letter-spacing:-.02em;max-width:12em;text-wrap:balance}
.page-lead{font-size:clamp(1.05rem,1rem + .3vw,1.18rem);color:rgba(255,255,255,.84);max-width:32em}
.page-acts{margin-top:10px}
.page-media{position:relative;align-self:stretch;min-height:340px;border-radius:22px;overflow:hidden;background:#2f1a4f}
.page-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Cadres photo dont l'image est en position absolue : leur hauteur vient d'une cale en flux (--r, en % de
   la largeur), pas d'aspect-ratio, que Safari sur iPhone ramène à zéro dans une grille */
.hero-photo::before,.page-media::before,.bc-img::before{content:"";display:block;padding-top:var(--r,0)}
.founder-in,.desk-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,88px);align-items:center;max-width:1060px;margin:0 auto}
.founder-photo{border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#EEECEF;box-shadow:0 30px 60px -36px rgba(37,2,69,.5)}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.founder-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.prose{display:grid;gap:14px;color:var(--ink-2);font-size:17.5px;max-width:34em}
.note{font-size:15px;color:var(--muted);max-width:34em}
.group-sec{background:var(--soft)}

/* Parcours : logos en gris, couleur au survol */
.path{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1150px;margin:0 auto}
.path>li{flex:0 1 calc((100% - 48px) / 4)}
.path-item{position:relative;border-radius:24px;background:#fff;border:1px solid #EFEFEF;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.path-item>a{display:block;height:100%;text-decoration:none;color:inherit;border-radius:inherit}
.path-item:hover{border-color:#E2DAF3;box-shadow:0 24px 50px -32px rgba(37,2,69,.45);transform:translateY(-3px)}
/* Panneaux de logos : fond clair et sobre, quelques arcs très fins dans le coin, loin du logo */
.path-logo{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;height:132px;margin:8px 8px 0;border-radius:18px;background:linear-gradient(165deg,#fff 20%,#F5F4F8);box-shadow:inset 0 0 0 1px rgba(20,16,40,.05)}
.path-logo::after,.partner-panel::before{content:'';position:absolute;z-index:-1;right:-78px;bottom:-78px;width:170px;height:170px;border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 19px,rgba(37,2,69,.08) 19px 20px);
  -webkit-mask-image:radial-gradient(circle,#000 25%,transparent 70%);mask-image:radial-gradient(circle,#000 25%,transparent 70%)}
.path-brand{max-height:44px;max-width:64%;width:auto;transition:transform .5s var(--ease)}
.path-item:hover .path-brand{transform:scale(1.04)}
svg.path-brand{height:34px}
.path-brand.b-hec{max-height:52px}
.path-brand.b-arendt{max-height:50px}
.path-brand.b-cc{max-height:40px}
.path-brand.b-legaflow{max-height:34px}
.path-brand.b-ofm{max-height:30px}
svg.path-brand.b-lvp{height:42px;color:#262626}
svg.path-brand.b-omazeo{height:24px;color:#2b2b2b}
.path-txt{display:grid;gap:4px;padding:18px 22px 22px}
.path-txt small{font-size:13.5px;color:var(--violet)}
.path-txt strong{font-size:21px;font-weight:500;letter-spacing:-.045em;line-height:1.2}
.path-txt>span{color:var(--muted);font-size:15.5px}
.path-txt .path-loc{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:13px;color:#8A8790}
.path-loc .i{width:13px;height:13px;color:var(--violet)}
.path-item>a>.i{position:absolute;right:20px;bottom:22px;width:18px;height:18px;color:var(--violet);transition:transform .35s var(--ease)}
.path-item>a:hover>.i{transform:translateX(4px)}

/* Cartes partenaires : un fond aux couleurs de chaque marque */
.partner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1150px;margin:0 auto}
.partner-card{display:flex;flex-direction:column;height:100%;border-radius:30px;background:#fff;border:1px solid #EFEFEF;text-decoration:none;overflow:hidden;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.partner-card:hover{border-color:#E2DAF3;box-shadow:0 28px 60px -34px rgba(37,2,69,.5);transform:translateY(-4px)}
.partner-panel{position:relative;isolation:isolate;display:grid;place-items:center;height:170px;margin:8px;border-radius:24px;overflow:hidden;background:linear-gradient(165deg,#fff 20%,#F5F4F8);box-shadow:inset 0 0 0 1px rgba(20,16,40,.05)}

.pc-ofm .partner-logo{height:32px;width:auto}

.pc-lvp .partner-logo{height:40px;width:auto;color:#262626}

.pc-legaflow .partner-logo{height:40px;width:auto}
.partner-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:18px 26px 28px}
.partner-body strong{font-size:22px;font-weight:500;letter-spacing:-.045em}
.partner-txt{color:var(--ink-2);font-size:16.5px}
.partner-body .link-arrow{margin-top:auto;padding-top:8px}

/* Chiffres, preuves, rôles */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;margin:0 auto clamp(56px,6vw,80px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats li{display:grid;gap:6px;padding:30px 28px;text-align:center}
.stats li+li{border-left:1px solid var(--line)}
.stats strong{font:400 clamp(2.4rem,1.8rem + 1.6vw,3.2rem)/1 var(--serif);color:var(--violet);letter-spacing:-.02em}
.stats span{color:var(--muted);font-size:16px}
.proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:6px 0 8px}
.proof li{display:inline-flex;align-items:center;gap:8px;font-size:16px;letter-spacing:-.03em}
.proof .i{width:19px;height:19px;color:var(--violet)}
.info-rows{display:grid;gap:14px;margin:8px 0 4px}
.info-rows li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center}
.info-rows .i{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--pill);color:var(--violet)}
.info-rows strong{display:block;font-weight:500;font-size:16.5px;letter-spacing:-.03em}
.info-rows small{display:block;font-size:14.5px;color:var(--muted)}
.fit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1150px;margin:0 auto}
.fit li{display:grid;gap:10px;align-content:start;padding:26px 24px;border-radius:24px;background:#fff;border:1px solid #EFEFEF}
.fit strong{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;letter-spacing:-.045em}
.fit strong::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--violet)}
.fit span{color:var(--muted);font-size:16px}

/* Blog */
.related{padding-top:var(--sec)}
.post-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1150px;margin:0 auto}
.post-cards>li{flex:0 1 calc((100% - 40px) / 3)}
.post-card{display:flex;flex-direction:column;gap:12px;height:100%;padding:8px 8px 26px;border-radius:28px;background:#fff;border:1px solid #EFEFEF;text-decoration:none;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.post-card:hover{border-color:#E2DAF3;box-shadow:0 28px 60px -34px rgba(37,2,69,.45);transform:translateY(-4px)}
.post-img{display:block;aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:#ECEBEF}
.post-img>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post-card:hover .post-img>img{transform:scale(1.04)}
.post-card .post-meta,.post-card strong,.post-ex,.post-card .link-arrow{margin:0 18px}
.post-meta{font-size:14px;color:var(--violet);letter-spacing:-.01em}
.post-card strong{font-size:21px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
.post-ex{color:var(--muted);font-size:16px}
.post-card .link-arrow{margin-top:auto;padding-top:6px}
.post-hero{padding:clamp(28px,4vw,48px) 0 0}
.post-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;max-width:860px}
.post-head h1{font:400 clamp(2.3rem,1.5rem + 2.4vw,3.4rem)/1.12 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.post-lead{color:var(--muted);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);max-width:34em;text-wrap:balance}
.post-cover{max-width:1000px;margin:clamp(32px,4vw,48px) auto 0;aspect-ratio:16/8;border-radius:28px;overflow:hidden;background:#ECEBEF}
.post-cover>img{width:100%;height:100%;object-fit:cover}
.post-body{max-width:700px;margin:0 auto;padding:clamp(40px,5vw,64px) 0 0}
.post-body p{margin-top:18px;font-size:18px;line-height:1.7;color:var(--ink-2);letter-spacing:-.015em}
.post-body h2{margin-top:44px;font:400 clamp(1.6rem,1.3rem + .8vw,2rem)/1.2 var(--serif);letter-spacing:-.015em}
.post-list{display:grid;gap:10px;margin-top:18px;padding:0;list-style:none}
.post-list li{position:relative;padding-left:26px;font-size:18px;line-height:1.65;color:var(--ink-2);letter-spacing:-.015em}
.post-list li::before{content:'';position:absolute;left:4px;top:.68em;width:7px;height:7px;border-radius:50%;background:#8B5CF6;box-shadow:0 0 8px 1px rgba(139,92,246,.45)}
.post-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.post-links .btn-light{border:1px solid #E6E6E6}

/* Chiffres qui défilent, profils, plateformes, petites étapes */
.stats-sec{padding:clamp(56px,6vw,80px) 0}
.stats-sec .stats{margin-bottom:0}
.stats{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.stats:has(li:nth-child(4)){--n:4}
.profiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1000px;margin:0 auto}
.profile{display:flex;flex-direction:column;gap:12px;padding:clamp(28px,3vw,40px);border-radius:30px;background:#fff;border:1px solid #EFEFEF}
.profile small{font-size:14px;color:var(--violet)}
.profile h3{font:400 clamp(1.6rem,1.3rem + .8vw,2rem)/1.15 var(--serif);letter-spacing:-.015em}
.profile p{color:var(--muted)}
.profile ul{display:grid;gap:10px;margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}
.profile li{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:-.03em}
.profile li .i{width:19px;height:19px;color:var(--violet);flex:none}
.profile-dark{position:relative;overflow:hidden;background:var(--violet);border-color:var(--violet);color:#fff}
.profile-dark small{color:var(--lilac)}
.profile-dark p{color:rgba(255,255,255,.78)}
.profile-dark ul{border-color:rgba(255,255,255,.14)}
.profile-dark li .i{color:var(--lilac)}
.platforms{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:clamp(48px,5vw,64px)}
.platforms p{font-size:15px;color:var(--muted)}
.platforms ul{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 44px}
.platforms ul{align-items:center}
.platforms li{display:flex;align-items:center;height:44px}
/* logos recadrés au plus juste, tous en noir, sans effet au survol : seules les hauteurs équilibrent les tailles optiques */
.platforms img{width:auto;opacity:.48;filter:brightness(0);transform:translateY(var(--dy,0))}
.pf-onlyfans img{height:22px}
.pf-mym img{height:20px;--dy:2px}
.pf-fansly img{height:23px}
.pf-fanvue img{height:18px;--dy:-1px}
.pf-maloum img{height:15px}
.pf-reveal img{height:17px}
.mini-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin:0 auto}
.mini-steps>li{position:relative;padding:28px 26px 30px;border-radius:24px;background:#fff;border:1px solid #EFEFEF}
.mini-n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--violet);color:#fff;font-size:13px;font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}
.mini-steps h3{margin-top:18px;font-size:21px;font-weight:500;letter-spacing:-.045em}
.mini-steps p{margin-top:8px;color:var(--muted);font-size:16px}
.mini-steps+.tiles{margin-top:16px}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;margin:0 auto;border-top:1px solid var(--line)}
.values li{padding:30px 28px 8px}
.values li+li{border-left:1px solid var(--line)}
.values h3{font:400 clamp(1.6rem,1.3rem + .8vw,2rem)/1.15 var(--serif);letter-spacing:-.015em;color:var(--violet)}
.values p{margin-top:10px;color:var(--muted);font-size:16.5px}
.sec-sub{display:flex;justify-content:center;margin:clamp(56px,6vw,80px) 0 28px}
.sub-title{font-size:22px;font-weight:500;letter-spacing:-.045em}
.tiles-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;margin-left:auto;margin-right:auto}
.strip-sec{padding:clamp(36px,4vw,52px) 0 clamp(56px,6vw,80px)}
.info-rows.strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1150px;margin:0 auto}
.info-rows.strip li{padding:18px 20px;border-radius:20px;border:1px solid #EFEFEF;background:#fff}
.side-cards{display:grid;gap:10px;margin:6px 0 4px}
.side-cards li{display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #EFEFEF}
.side-cards strong{font-weight:500;font-size:17px;letter-spacing:-.04em}
.side-cards span{font-size:15px;color:var(--muted)}
.soft .desk-in{max-width:1060px}

/* Parcours en deux rangées */
.path-row+.path-row{margin-top:40px}
.path-row-t{display:flex;align-items:center;gap:16px;max-width:1150px;margin:0 auto 18px}
.path-row-t::before,.path-row-t::after{content:'';flex:1;height:15px;background-repeat:no-repeat}
.path-row-t::before{background-image:radial-gradient(circle,#7C3AED 0 2.6px,#8B5CF6 3.2px,rgba(139,92,246,.4) 3.7px,rgba(139,92,246,0) 7.5px),linear-gradient(270deg,var(--violet),#8B5CF6),linear-gradient(90deg,transparent,#E4DEEE);
  background-size:15px 15px,calc(var(--p,0) * 100%) 1px,100% 1px;background-position:calc((1 - var(--p,0)) * 100%) 50%,right center,center}
.path-row-t::after{background-image:radial-gradient(circle,#7C3AED 0 2.6px,#8B5CF6 3.2px,rgba(139,92,246,.4) 3.7px,rgba(139,92,246,0) 7.5px),linear-gradient(90deg,var(--violet),#8B5CF6),linear-gradient(90deg,#E4DEEE,transparent);
  background-size:15px 15px,calc(var(--p,0) * 100%) 1px,100% 1px;background-position:calc(var(--p,0) * 100%) 50%,left center,center}
.path-row-t::before{-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.path-row-t::after{-webkit-mask-image:linear-gradient(270deg,transparent,#000 45%);mask-image:linear-gradient(270deg,transparent,#000 45%)}
.path-row-t span{padding:7px 18px;border-radius:999px;background:var(--violet);color:#fff;font-size:14px;font-weight:500;letter-spacing:-.02em;box-shadow:0 10px 22px -12px rgba(37,2,69,.6)}
.path-3>li{flex-basis:calc((100% - 32px) / 3);max-width:360px}
.path-4>li{flex-basis:calc((100% - 48px) / 4)}
/* Partenaires : trois logos dans le haut de page */
.logos-stack{display:flex;flex-direction:column;justify-content:center;gap:26px;padding:28px}
.logos-stack>span{display:flex;align-items:center;justify-content:center}
.ls-ofm{height:30px;width:auto;filter:brightness(0) invert(1)}
.ls-lvp{height:40px;width:auto;color:#fff}
.ls-lf{height:30px;width:auto}
/* LegaFlow : illustration d'interface */
.lf-media{position:relative;padding:22px}
.lf-ui{width:100%;max-width:440px;padding:16px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);font-size:13.5px;letter-spacing:-.01em}
.lf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px 12px;border-bottom:1px solid var(--line)}
.lf-top img{height:20px;width:auto}
.lf-top span{font-size:13px;color:var(--muted)}
.lf-head,.lf-rows li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:9px 4px}
.lf-rows li span:first-child,.lf-head span:first-child{white-space:nowrap;min-width:72px}
.lf-head{font-size:12px;color:var(--muted)}
.lf-rows li{border-top:1px solid #F1F1F3}
.st{justify-self:end;padding:3px 9px;border-radius:999px;font-size:12px;white-space:nowrap}
/* Petit écran : tableau LegaFlow plus serré, pour que les statuts longs (« Expire dans 14 jours ») tiennent dans la carte */
@media (max-width:480px){
  .lf-ui{padding:12px;font-size:12.5px}
  .lf-head,.lf-rows li{gap:8px;padding:9px 2px}
  .lf-rows li span:first-child,.lf-head span:first-child{min-width:0}
  .st{padding:3px 8px;font-size:11.5px}
}
/* Téléphone : le document passe sous le nom, le statut reste à droite (colonnes trop étroites sinon) */
@media (max-width:420px){
  .lf-head,.lf-rows li{grid-template-columns:1fr auto;column-gap:10px;row-gap:2px}
  .lf-head span:nth-child(2){display:none}
  .lf-rows li span:nth-child(2){grid-row:2;grid-column:1;color:var(--muted);font-size:12px}
  .lf-rows li .st{grid-row:1/3;grid-column:2}
}
.st-ok{background:#E9F7EE;color:#1E7A45}
.st-warn{background:#FFF4DE;color:#8A5A00}
.st-bad{background:#FDE8EC;color:#A3203F}
.lf-alert{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#F4F0FD;color:var(--violet);font-size:13px}
.lf-alert .i{width:16px;height:16px;flex:none}
.lf-cap{position:absolute;right:14px;bottom:10px;font-size:11.5px;color:rgba(255,255,255,.6)}
/* LVP : rôle, alignement */
.desk-role{margin-top:-8px;font-size:15px;color:var(--violet)}
.soft .desk-in{align-items:start}
.post-cover-wrap{max-width:1000px;margin:clamp(32px,4vw,48px) auto 0;border-radius:28px;overflow:hidden}
.post-cover-wrap .post-cover{margin:0;aspect-ratio:16/7}
.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--violet);text-decoration:none;font-size:15px}
.back-link .i{width:16px;height:16px;transition:transform .3s var(--ease)}
.back-link:hover .i{transform:translateX(-4px)}
.post-all{justify-content:center;align-items:center;background:var(--soft)}
.post-all-in{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px;text-align:center;color:var(--violet)}
.post-all-logo{width:120px;color:var(--ink)}
.post-all-in .i{width:22px;height:22px}

/* Photos : arrivée en douceur (le cadre s'ouvre, l'image se pose) */
[data-img]{transition:clip-path 1.1s var(--ease)}
[data-img] img{transition:transform 1.4s var(--ease)}
[data-img].img-pre{clip-path:inset(8% 8% 8% 8% round 26px)}
[data-img].img-pre img{transform:scale(1.14)}

.feats+.method,.method+.about{padding-top:0}
.sec:not(.soft):not(.svcs):not(.faq):not(.group-sec)+.related{padding-top:0}

/* Apparition des cartes : visibles par défaut, le script ne les masque que si elles sont plus bas dans la page */
[data-reveal]>.is-pre{opacity:0;transform:translateY(26px) scale(.97)}
[data-reveal]>*{transition:opacity .8s var(--ease),transform .8s var(--ease),box-shadow .4s var(--ease),border-color .3s}

/* Bandeau cookies (comme sur OFM Legal) */
.cookie{position:fixed;z-index:60;left:16px;bottom:16px;width:min(420px,calc(100vw - 32px));padding:20px;border-radius:22px;background:#fff;border:1px solid #EDEDED;box-shadow:0 30px 70px -24px rgba(20,20,20,.35);font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.cookie a{color:var(--violet)}
.cookie-prefs{display:grid;gap:10px;margin-top:14px}
.cookie-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:var(--soft);cursor:pointer}
.cookie-row strong{display:block;font-weight:500;color:var(--ink)}
.cookie-row small{display:block;font-size:13px;color:var(--muted)}
.cookie-row input{width:18px;height:18px;margin-top:3px;accent-color:var(--violet);flex:none}
.cookie-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cbtn{flex:1;min-width:110px;padding:10px 12px;border-radius:999px;border:1px solid #E2E2E2;background:#fff;font-size:14px;letter-spacing:-.02em;cursor:pointer;transition:background-color .25s,border-color .25s}
.cbtn:hover{border-color:var(--violet)}
.cbtn-main{background:var(--violet);border-color:var(--violet);color:#fff}
.cbtn-main:hover{background:var(--violet-2)}

/* Pages légales et 404 */
.doc-hero{padding:clamp(48px,6vw,80px) 0 clamp(28px,3vw,40px);text-align:center}
.doc-hero h1{font:400 clamp(2.4rem,1.5rem + 2.4vw,3.4rem)/1.12 var(--serif);letter-spacing:-.02em}
.doc-hero p{margin-top:12px;color:var(--muted);font-size:15px}
.doc{padding-bottom:var(--sec)}
.doc-in{max-width:760px}
.doc section{padding:28px 0;border-top:1px solid var(--line)}
.doc h2{font-size:22px;font-weight:500;letter-spacing:-.045em}
.doc p{margin-top:10px;color:var(--ink-2);font-size:16.5px}
.nf{padding:clamp(72px,10vw,140px) 0;text-align:center}
.nf .wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.nf-code{font:400 clamp(4rem,3rem + 4vw,7rem)/1 var(--serif);color:var(--violet)}
.nf h1{font:400 clamp(2rem,1.5rem + 1.5vw,2.8rem)/1.15 var(--serif)}
.nf p{color:var(--muted)}

/* Pied de page violet */
.ft{background:var(--violet);color:rgba(255,255,255,.72);padding:clamp(56px,6vw,76px) 0 30px;font-size:16px}
.ft-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:44px}
.ft-logo{width:185px;color:#fff}
.ft-loc{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:15px;color:rgba(255,255,255,.85)}
.ft-loc .i{width:17px;height:17px;color:var(--lilac)}
.ft-loc a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.ft-loc a:hover{color:#fff;text-decoration:underline}
.ft-loc+.ft-loc{margin-top:6px}
.ft-tag{margin-top:22px;font-size:17px;color:rgba(255,255,255,.72);max-width:19em}
.ft-col h2{font-size:15px;font-weight:500;letter-spacing:-.02em;color:#fff;margin-bottom:18px}
.ft-col ul{display:grid;gap:12px}
.ft-col a{text-decoration:none}
.ft-col a:hover{color:#fff;text-decoration:underline}
.ft-notice{font-size:13px;line-height:1.6;color:rgba(255,255,255,.72);padding:24px 0;border-top:1px solid rgba(255,255,255,.12)}
.ft-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;font-variant-numeric:tabular-nums}
.ft-rights{color:#fff}
.ft-company{padding-top:14px;font-size:13px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.ft-linkbtn{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}
.ft-linkbtn:hover{color:#fff;text-decoration:underline}
.ft-langs a,.ft-langs span{color:rgba(255,255,255,.7)}
.ft-langs a:hover,.ft-langs .on{color:#fff;background:rgba(255,255,255,.1)}

/* Bouton de contact flottant (mobile) */
.float-cta{position:fixed;z-index:40;right:16px;bottom:16px;display:none;align-items:center;gap:9px;padding:12px 18px 12px 16px;border-radius:999px;background:var(--violet);color:#fff;font-size:15.5px;letter-spacing:-.04em;text-decoration:none;box-shadow:0 16px 36px -12px rgba(37,2,69,.6);opacity:0;transform:translateY(20px);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none}
.float-cta .i{width:18px;height:18px}
.float-cta.is-on{opacity:1;transform:none;pointer-events:auto}

/* Tablette */
@media (max-width:1100px){
  .hd-nav>ul{gap:18px}
  .carousel{--cw:520px;--ch:364px;--step:470px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .hd-in{grid-template-columns:1fr auto;height:76px}
  .hd-nav,.hd-end{display:none}
  .hd-burger{display:block}
  .logo{width:160px}
  .hero-card,.page-card.has-media{grid-template-columns:1fr;min-height:0;gap:8px}
  .page-card.has-media{padding:14px}
  .page-card.has-media .page-copy{padding:26px 14px 18px}
  .hero-copy{padding:26px 14px 18px}
  .hero-photo{min-height:0;--r:115%}
  .page-media{min-height:0;--r:75%}
  .why-box,.contact-box,.founder-in,.desk-in{grid-template-columns:1fr}
  .partner-cards{grid-template-columns:1fr 1fr}
  .post-cards>li{flex-basis:calc((100% - 20px) / 2)}
  .fit{grid-template-columns:1fr 1fr}
  .profiles,.mini-steps,.tiles-3,.info-rows.strip,.values{grid-template-columns:1fr}
  .values li+li{border-left:0;border-top:1px solid var(--line)}
  .values li{padding:24px 4px}
  .stats:has(li:nth-child(4)){--n:2}
  .contact-info{padding-right:0;border-right:0;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
  .path>li{flex-basis:calc((100% - 32px) / 3)}
  .founder-photo{max-width:440px}
  .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-line{left:16px}
  .step,.step:nth-child(odd){grid-template-columns:32px 1fr;column-gap:24px;row-gap:28px;align-items:start}
  .step .step-n,.step:nth-child(odd) .step-n{grid-column:1;grid-row:1;align-self:center}
  .step .step-img,.step:nth-child(odd) .step-img{grid-column:2;grid-row:1}
  .step .step-txt,.step:nth-child(odd) .step-txt{grid-column:2;grid-row:2}
  .about-stage{grid-template-columns:1fr;max-width:420px;gap:28px}
  .badges{padding:0;gap:14px}
  .badges-l .badge::after,.badges-r .badge::before{display:none}
  .ft-top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ft-brand{grid-column:1/-1}
  .float-cta{display:inline-flex}
}
/* Téléphone */
@media (max-width:640px){
  body{font-size:16px}
  .logo{width:150px}
  .hero-card,.page-card{border-radius:24px;padding:12px}
  .page-card:not(.has-media){padding:28px 22px}
  .hero-creds li{font-size:13px;padding:5px 11px}
  .hero-creds li:nth-child(2){order:-1}
  .logos-stack{gap:16px;padding:20px}
  .lf-media{padding:12px}
  .post-cover{aspect-ratio:16/9}   /* la plus longue seule sur la 1re ligne, les deux courtes ensemble */
  .hero-acts{gap:12px 22px}
  .ft-grid,.tiles,.partner-cards,.fit{grid-template-columns:1fr}
  .post-cards>li{flex-basis:100%}
  .path{flex-direction:column;gap:10px}
  .path>li,.path-3>li,.path-4>li{flex-basis:auto;width:100%;max-width:none}
  .path-item>a,.path-item:not(:has(>a)){display:grid;grid-template-columns:104px 1fr;align-items:center;gap:4px}
  .path-logo{height:104px;margin:7px}
  .path-brand{max-width:74%}
  .path-brand.b-hec{max-height:40px}
  .path-brand.b-arendt{max-height:38px}
  .path-brand.b-cc{max-height:30px}
  .path-brand.b-legaflow,.path-brand.b-ofm{max-height:20px}
  svg.path-brand.b-lvp{height:30px}
  svg.path-brand.b-omazeo{height:16px}
  .path-txt{gap:2px;padding:10px 36px 10px 8px}
  .path-txt small{font-size:12.5px}
  .path-txt strong{font-size:18px}
  .path-txt>span{font-size:14.5px;line-height:1.4}
  .path-txt .path-loc{margin-top:4px;font-size:12.5px}
  .path-item>a>.i{right:14px;bottom:auto;top:50%;margin-top:-9px}
  .path-row+.path-row{margin-top:28px}
  .stats,.stats:has(li:nth-child(4)){grid-template-columns:1fr 1fr}
  .stats li{padding:22px 10px}
  .stats li+li{border-left:0}
  .stats li:nth-child(even){border-left:1px solid var(--line)}
  .stats li:nth-child(n+3){border-top:1px solid var(--line)}
  .stats:not(:has(li:nth-child(4))) li:last-child{grid-column:1/-1;border-left:0}
  .tiles li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:20px 18px}
  .tiles .ft-ic{grid-row:span 2;width:44px;height:44px;border-radius:12px}
  .tiles h3{margin-top:0;align-self:end}
  .tiles p{margin-top:4px}
  .cookie{left:12px;bottom:12px;width:calc(100vw - 24px)}
  .form{grid-template-columns:1fr}
  .contact-box{padding:24px 18px;border-radius:26px}
  .form-end .btn{width:100%;justify-content:space-between}
  .ft-top{grid-template-columns:1fr 1fr;gap:32px 20px}
  .ft-bottom{flex-direction:column;align-items:flex-start}
  .cta-acts .btn{width:100%;justify-content:space-between}
  .menu-end{flex-direction:column;align-items:stretch}
  .menu-end .btn{justify-content:space-between}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee-track{animation:none}
  .marquee{flex-wrap:wrap;justify-content:center;-webkit-mask-image:none;mask-image:none}
  .marquee-track[aria-hidden]{display:none}
  .marquee-track{flex-wrap:wrap;justify-content:center;padding:0;row-gap:24px}
  .svc,.svc::after,.btn,.btn::before,.btn-dot .i,.step-n,.label-dot::after,[data-reveal]>*{transition:none!important;animation:none!important}
  [data-reveal]>.is-pre{opacity:1;transform:none}
  [data-img].img-pre{clip-path:none}
  [data-img].img-pre img{transform:none}
  .glow{display:none}
}

/* Pages partenaires : le logo tient lieu de titre, chiffres et infos en pied de carte */
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.page-card h1.h1-logo{max-width:none;line-height:0;margin:2px 0 4px}
.title-logo{display:block;width:auto;height:auto}
.tl-ofm{height:clamp(40px,2.6rem + 1vw,58px);filter:brightness(0) invert(1)}
.tl-legaflow{height:clamp(38px,2.4rem + 1vw,54px)}
.tl-lvp{height:clamp(54px,3.2rem + 1.2vw,72px);color:#fff}
.page-card.has-bottom{grid-template-columns:1fr;align-items:end}
.page-card.has-bottom .page-copy{padding-bottom:0}
.hero-stats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin-top:clamp(8px,1.5vw,20px);border-top:1px solid rgba(255,255,255,.16)}
.hero-stats li{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.4vw,30px) clamp(16px,2vw,28px) 0}
.hero-stats li:first-child{padding-left:0}
.hero-stats li+li{border-left:1px solid rgba(255,255,255,.16)}
.hero-stats strong{font:400 clamp(2.4rem,1.8rem + 1.8vw,3.4rem)/1 var(--serif);letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.hero-stats span{color:rgba(255,255,255,.72);font-size:16px;max-width:16em}
.hero-info li{flex-direction:row;align-items:flex-start;gap:14px}
.hero-info .i{flex:none;width:22px;height:22px;margin-top:2px;color:var(--lilac)}
.hero-info li>span{display:flex;flex-direction:column;gap:4px}
.hero-info strong{font:500 18px/1.25 var(--sans);letter-spacing:-.04em}
.hero-info small{color:rgba(255,255,255,.72);font-size:15px}
.lf-media{align-self:center;justify-self:end;width:100%;max-width:470px;padding:22px 22px 38px}
.lf-cap{bottom:12px}
/* Articles : photo, et logo de la marque concernée en pastille */
.post-img,.post-cover{position:relative}
.post-brand{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;height:38px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 24px -14px rgba(0,0,0,.5)}
.pb-logo{display:block;height:16px;width:auto}
.pb-lvp .pb-logo{height:22px;color:var(--ink)}
.pb-legaflow .pb-logo{height:17px}
.post-cover .post-brand{left:20px;bottom:20px;height:48px;padding:0 18px;border-radius:14px}
.post-cover .pb-logo{height:20px}
.post-cover .pb-lvp .pb-logo{height:30px}
.post-cover .pb-legaflow .pb-logo{height:21px}
/* Blog et Partenaires : les cartes suivent le haut de page de près */
.blog-sec{padding-top:clamp(24px,3vw,40px)}
/* Page contact : le titre vit dans la carte violette */
.contact-page .contact-box{max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:clamp(32px,4.4vw,60px)}
.contact-intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.contact-intro h1{font:400 clamp(2.4rem,1.5rem + 2.4vw,3.4rem)/1.12 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.contact-intro p{color:rgba(255,255,255,.84);font-size:clamp(1.05rem,1rem + .3vw,1.15rem);max-width:28em}
.post-cover{display:block}
@media (max-width:960px){
  .page-card.has-media .lf-media{justify-self:stretch;max-width:none;padding:8px}
}
@media (max-width:640px){
  .tl-ofm{height:34px}
  .tl-legaflow{height:32px}
  .tl-lvp{height:50px}
  .hero-stats{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .hero-stats li{padding:18px 0 0 16px}
  .hero-stats li:nth-child(odd){padding-left:0;border-left:0}
  .hero-stats li:nth-child(n+3){margin-top:18px;border-top:1px solid rgba(255,255,255,.16)}
  .hero-stats:not(.hero-info) strong{font-size:2rem}
  .hero-stats span{font-size:13.5px}
  .hero-info{grid-template-columns:1fr}
  .hero-info li,.hero-info li:nth-child(odd){padding:16px 0 0;border-left:0}
  .hero-info li:nth-child(n+2){margin-top:16px;border-top:1px solid rgba(255,255,255,.16)}
  .post-cover-wrap .post-cover{aspect-ratio:4/3}
  .post-cover .post-brand{left:12px;bottom:12px;height:40px;padding:0 14px}
  .post-cover .pb-logo{height:16px}
  .post-cover .pb-lvp .pb-logo{height:24px}
  .post-cover .pb-legaflow .pb-logo{height:17px}
}
@media (max-width:960px){
  .contact-page .contact-box{grid-template-columns:1fr}
}
@media (max-width:640px){
  .contact-page .contact-box{padding:28px 20px}
}
/* Page contact : titre puis coordonnées à gauche, formulaire à droite */
.contact-page .contact-box{grid-template-areas:'intro form' 'info form';grid-template-rows:auto 1fr;row-gap:0}
.contact-page .contact-intro{padding:0 clamp(0px,3vw,40px) 36px 0;border-right:1px solid rgba(255,255,255,.12)}

@media (max-width:960px){
  /* Accueil : la photo d'abord, puis les pastilles, le titre et les boutons */
  .hero-photo{order:-1;--r:85%}
  /* Contact : le formulaire d'abord, les coordonnées ensuite */
  .contact-box{grid-template-areas:'form' 'info'}
  .contact-page .contact-box{grid-template-areas:'intro' 'form' 'info';grid-template-rows:none;row-gap:28px}
  .contact-page .contact-intro{padding:0;border-right:0}
  .contact-info{padding:26px 0 0;border-bottom:0;border-top:1px solid rgba(255,255,255,.12)}
}
@media (max-width:640px){
  .hero-photo{--r:100%}
  .hero-copy{padding:20px 10px 12px}
  .hero-creds{margin-bottom:20px}
  .hero h1{font-size:2.15rem}
  .hero-for{margin-top:14px;font-size:16px}
  .hero-lead{margin-top:10px;font-size:16px}
  .hero-acts{flex-wrap:nowrap;margin-top:24px}
  /* Services : carte plus petite, les voisines dépassent de chaque côté */
  .carousel{--cw:66vw;--ch:calc(66vw * 1.18);--step:62vw;--ry:16deg}
  .svc{border-radius:20px}
  .svc-txt{left:16px;right:16px;bottom:16px}
  .svc-txt h3{font-size:19px}
  .svc-txt p{margin-top:4px;font-size:13.5px;line-height:1.45}
  /* Comparatif : plus compact */
  .why-box{padding:6px;border-radius:30px}
  .why-us{border-radius:25px}
  .why-col{padding:24px 20px}
  .why-col h3{min-height:0;margin-bottom:18px;font-size:20px}
  .why-logo{width:118px}
  .why-col ul{gap:16px}
  .why-col h4{font-size:17.5px}
  .why-others p{display:none}
  .why-us p{margin-top:4px;font-size:14.5px}
  /* Points forts : une liste serrée, icône à gauche */
  .ft-grid{gap:0;text-align:left}
  .ft-grid li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
  .ft-grid li:last-child{border-bottom:1px solid var(--line)}
  .ft-grid .ft-ic{grid-row:span 2;width:44px;height:44px;border-radius:12px}
  .ft-grid h3{margin-top:1px;font-size:18px}
  .ft-grid p{margin-top:3px;font-size:15px;max-width:none}
  /* FAQ : des cartes */
  .faq-list{display:grid;gap:10px}
  .qa{border:1px solid #EDEBF1;border-radius:18px;background:#fff;padding:0 16px 0 18px}
  .qa[open]{border-color:#E2DAF3;box-shadow:0 18px 40px -30px rgba(37,2,69,.4)}
  .qa summary{gap:14px;padding:17px 0;font-size:16.5px;line-height:1.35}
  .qa-a{padding:0 0 18px;font-size:15.5px}
  /* Contact */
  .contact-info ul{gap:18px}
  .contact-info span{font-size:16.5px}
  .contact-note{display:none}
}
@media (max-width:640px){
  .hero-acts .link-light{white-space:nowrap}
  .step-img{aspect-ratio:2/1}
}
@media (max-width:640px){
  .path-brand.b-cc,.path-brand.b-legaflow,.path-brand.b-ofm{max-width:84%}
  .path-brand.b-legaflow,.path-brand.b-ofm{max-height:22px}
}

/* Cartes partenaires : même fond sobre que le parcours */
.partner-logo{position:relative;z-index:1}
.partner-body{padding-top:20px}

/* LinkedIn */
.link-in .i{width:18px;height:18px}
.link-in:hover .i,a:hover .link-in .i{transform:none}
.founder-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.about-more{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px}
.btn-in{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 13px;border-radius:999px;border:1px solid #DCD3EE;background:#fff;color:var(--violet);font-size:14.5px;letter-spacing:-.03em;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s}
.btn-in .i{width:17px;height:17px}
.btn-in:hover{background:var(--violet);border-color:var(--violet);color:#fff}

/* Points forts : une ligne traverse la grille et se remplit au défilement */
.ft-wrap{position:relative;max-width:1000px;margin:0 auto}

/* LVP : photo de l'équipe à droite, infos sur toute la largeur en bas */
.page-card.has-media.has-bottom{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:stretch}
.page-card.has-media.has-bottom>.hero-stats{grid-column:1/-1;margin:0 clamp(18px,3vw,46px) clamp(16px,2vw,26px) 0}
.page-card.has-media.has-bottom .page-copy{justify-content:center}

/* Blog : mise en page reprise d'OFM Legal (bandeau clair, colonne latérale, article à la une) */
.blog-head{padding:clamp(26px,3.4vw,44px) 0 clamp(34px,4vw,52px);background:linear-gradient(180deg,#F5F0FD 0%,#FAF8FE 55%,#fff 100%)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:#A29FAA}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--violet)}
.eyebrow{display:inline-block;margin-top:22px;padding:5px 11px;border-radius:8px;background:#ECE4FB;color:var(--violet);font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.blog-head h1{margin-top:16px;max-width:17em;font:400 clamp(2.3rem,1.5rem + 2.4vw,3.5rem)/1.1 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.blog-head h1 em{font-style:italic;color:#6B3FC4}
.blog-lead{margin-top:14px;max-width:38em;color:var(--muted);font-size:clamp(1.05rem,1rem + .3vw,1.18rem)}
.avatar{flex:none;border-radius:50%;object-fit:cover;background:#EEECEF}
.post-by{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:22px;font-size:14px;color:var(--muted)}
.post-by .avatar{width:34px;height:34px;margin-right:-8px}
.post-by a{color:var(--ink);font-weight:500;text-decoration:none}
.post-by a:hover{color:var(--violet);text-decoration:underline}
.blog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,3vw,44px);align-items:start;padding-top:clamp(20px,2.4vw,32px);padding-bottom:var(--sec)}
.blog-side{position:sticky;top:96px;display:grid;gap:14px}
.sb-block{padding:18px;border-radius:20px;background:#fff;border:1px solid #EFEDF3}
.sb-title{margin-bottom:12px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}
.sb-cats{display:grid;gap:3px}
.sb-cats button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:11px;background:none;font:inherit;font-size:14.5px;letter-spacing:-.02em;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .25s,color .25s}
.sb-cats button:hover{background:var(--soft)}
.sb-cats button.on{background:var(--violet);color:#fff}
.sb-cats em{font-style:normal;font-size:12.5px;color:#9A97A0}
.sb-cats .on em{color:rgba(255,255,255,.7)}
.sb-author{display:grid;justify-items:start;gap:10px}
.sb-author .avatar,.author-box .avatar{width:56px;height:56px}
.au-name{font-size:17px;font-weight:500;letter-spacing:-.04em;line-height:1.25}
.au-name small{display:block;margin-top:2px;font-size:13.5px;font-weight:400;letter-spacing:-.01em;color:var(--violet)}
.au-bio{font-size:14px;line-height:1.5;color:var(--muted)}
.sb-logos{display:grid;gap:16px;justify-items:start}
.sb-logos a{display:flex;align-items:center;opacity:.8;transition:opacity .25s}
.sb-logos a:hover{opacity:1}
.sb-logo{width:auto;height:20px}
svg.sb-logo.b-lvp{height:26px;color:var(--ink)}
.sb-logo.b-ofm{height:17px}
.sb-cta{background:linear-gradient(160deg,#F3ECFD,#FBF9FE);border-color:#E6DCF7}
.sb-cta-t{font-size:17px;font-weight:500;letter-spacing:-.04em}
.sb-cta p:not(.sb-cta-t){margin:6px 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.toc{display:grid;gap:9px;counter-reset:toc;font-size:14px;line-height:1.4}
.toc li{display:grid;grid-template-columns:20px 1fr;counter-increment:toc}
.toc li::before{content:counter(toc);padding-top:1px;font-size:12.5px;color:var(--violet)}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--violet)}
.blog-main{display:grid;gap:20px}
.bfeat,.bcard{display:grid;border-radius:24px;background:#fff;border:1px solid #EFEFEF;color:inherit;text-decoration:none;overflow:hidden;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.bfeat:hover,.bcard:hover{border-color:#E2DAF3;box-shadow:0 28px 60px -34px rgba(37,2,69,.45);transform:translateY(-3px)}
.bfeat{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.bc-img{position:relative;display:block;--r:62.5%;margin:8px 8px 0;border-radius:18px;overflow:hidden;background:#ECEBEF}
.bfeat .bc-img{--r:0;min-height:320px;margin:8px}
.bc-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bfeat:hover .bc-img>img,.bcard:hover .bc-img>img{transform:scale(1.04)}
.bc-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px 24px}
.bfeat .bc-body{justify-content:center;padding:28px 34px 30px 26px}
.tag{padding:4px 9px;border-radius:7px;background:#F1ECFB;color:var(--violet);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.bc-body strong{font-size:20px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
.bfeat strong{font:400 clamp(1.7rem,1.3rem + 1vw,2.25rem)/1.14 var(--serif);letter-spacing:-.02em}
.bc-ex{color:var(--muted);font-size:15.5px;line-height:1.55}
.bcard .bc-ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bc-meta{font-size:13px;color:#9A97A0}
.bc-body .link-arrow{margin-top:auto;padding-top:4px;font-size:15px}
.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.bgrid:empty{display:none}
.post-main{min-width:0}
.post-main .post-cover-wrap{max-width:none;margin:0}
.post-main .post-body{max-width:720px;margin:0;padding:clamp(28px,3vw,40px) 0 0}
.post-body h2{scroll-margin-top:100px}
.author-box{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 16px;align-items:center;max-width:720px;margin-top:44px;padding:22px;border-radius:22px;background:var(--soft);border:1px solid #EFEDF3}
.author-box .avatar{grid-row:span 2;align-self:start}
.author-box .au-bio,.author-box .btn-in{grid-column:2}
.author-box .btn-in{justify-self:start;margin-top:8px}

@media (max-width:1100px){
  .bfeat{grid-template-columns:1fr}
  .bfeat .bc-img{--r:56.25%;min-height:0;margin:8px 8px 0}
  .bfeat .bc-body{padding:22px 24px 26px}
}
@media (max-width:960px){
  .page-card.has-media.has-bottom{grid-template-columns:1fr}
  .page-card.has-media.has-bottom>.hero-stats{margin:0 14px 14px}
  .blog-layout{grid-template-columns:1fr;gap:16px}
  .blog-side{display:contents}
  .blog-side>.sb-block{order:2}
  .blog-side>.sb-block:first-child{order:-1}
  .blog-main,.post-main{order:1}
  .sb-cats{display:flex;flex-wrap:wrap;gap:6px}
  .sb-cats button{width:auto;padding:8px 13px;border:1px solid #E9E5F0;border-radius:999px}
  .blog-side>.sb-block:first-child:has(.sb-cats){padding:0;border:0;background:none}
  .blog-side>.sb-block:first-child:has(.sb-cats) .sb-title{display:none}
}
@media (max-width:640px){
  .bgrid{grid-template-columns:1fr}
  .blog-head h1{font-size:2.25rem}
  .author-box{grid-template-columns:48px minmax(0,1fr);padding:18px}
  .author-box .avatar{width:48px;height:48px}
  /* Points forts : la ligne devient verticale, elle relie les icônes */
  .ft-grid li,.ft-grid li:last-child{border:0;padding:14px 0}
  .ft-grid .ft-ic{position:relative;z-index:1;background:#D9D0EA;box-shadow:0 0 0 5px #fff;transition:background-color .45s var(--ease),transform .5s var(--ease)}
  .ft-grid li.is-on .ft-ic{background:var(--violet);box-shadow:0 0 0 5px #fff,0 8px 18px -6px rgba(37,2,69,.45)}
}
@media (min-width:961px){
  /* LVP : les colonnes prennent la largeur de leur contenu, chaque info tient sur une ligne quand la place le permet */
  .hero-info{grid-auto-columns:auto}
  .hero-info li>span{max-width:none}
}
@media (max-width:640px){
  /* arcs plus petits dans les petits panneaux, pour rester dans le coin */
  .path-logo::after{right:-50px;bottom:-50px;width:104px;height:104px;background:repeating-radial-gradient(circle,transparent 0 13px,rgba(37,2,69,.07) 13px 14px)}
}

/* Lisibilité : pas de mot isolé en fin de paragraphe */
p,li,.post-ex,.bc-ex,.partner-txt,.path-txt>span{text-wrap:pretty}
h1,h2,h3,h4{text-wrap:balance}
@media (max-width:640px){
  /* zones tactiles d'au moins 40 px dans le pied de page, le sommaire et le fil d'Ariane */
  .ft-col a,.ft-linkbtn{display:inline-block;padding:10px 0}
  .ft-col ul{gap:0}
  .ft-loc a{padding:8px 0}
  .toc a{display:inline-block;padding:6px 0}
  .crumbs a{padding:8px 0}
}

/* Contact : carte claire, le violet réservé au bouton et aux icônes */
.contact-box{background:#fff;color:var(--ink);border:1px solid #ECE9F2;box-shadow:0 30px 70px -44px rgba(37,2,69,.4)}
.contact-box .glow{display:none}
.contact-info{border-right-color:var(--line)}
.contact-info small{color:var(--muted)}
.contact-info .i{color:var(--violet)}
.contact-info a{color:var(--ink)}
.contact-note{color:var(--muted)}
.field label{color:var(--ink-2)}
.field input,.field textarea{color:var(--ink);background:#F8F7FB;border-color:#E6E2EE}
.field input::placeholder,.field textarea::placeholder{color:#A4A0AE}
.field input:hover,.field textarea:hover{border-color:#D3CCE2}
.field input:focus,.field textarea:focus{background:#fff;border-color:#8B5CF6;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.field [aria-invalid=true]{border-color:#E0576F;box-shadow:0 0 0 3px rgba(224,87,111,.15)}
.form-consent{color:var(--muted)}
.form-consent a{color:var(--violet)}
.form-status{color:var(--violet)}
.form-status.is-error{color:#C2334E}
.contact-intro p{color:var(--muted)}
.contact-page .contact-intro{border-right-color:var(--line)}
.langs-flags{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:2px}
.lf-item{display:inline-flex;align-items:center;gap:7px}
.flag{width:21px;height:14px;flex:none;border-radius:3px;box-shadow:0 0 0 1px rgba(20,16,40,.12)}

/* Pied de page : adresse sous le logo, numéros d'immatriculation discrets en bas */
.ft-loc span{line-height:1.4}
.ft-company{display:flex;flex-wrap:wrap;gap:4px 16px;padding-top:0}
.ft-company span+span::before{content:'·';margin-right:16px;color:rgba(255,255,255,.35)}

/* Cartes partenaires : le rôle de chaque structure */
.pc-role{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--violet)}

/* À propos : OMAZEO un peu plus petit, à l'échelle d'OFM Legal et de LVP */
svg.path-brand.b-omazeo{height:19px}

/* Blog : logos partenaires plus aérés, LVP plus petit */
.sb-logos{gap:22px}
svg.sb-logo.b-lvp{height:21px}
.sb-logo{height:18px}
.sb-logo.b-ofm{height:16px}

@media (max-width:640px){
  svg.path-brand.b-omazeo{height:13px}
  /* contact : coordonnées sur deux colonnes, sans icônes */
  .contact-info ul{grid-template-columns:max-content 1fr;gap:16px 26px}
  .contact-info li{grid-template-columns:1fr;gap:2px}
  .contact-info li .i{display:none}
  .contact-info li:last-child{grid-column:1/-1}
  .contact-info span{font-size:15px}
  .contact-info a{white-space:nowrap}
  /* bandeau d'appel plus compact */
  .cta-card{padding:26px 20px;gap:18px;border-radius:24px}
  .cta-card .h2{font-size:1.75rem}
  .cta-card p{margin-top:8px;font-size:15px}
  .cta-acts{gap:10px 18px}
  .ft-company{gap:2px 12px}
  .ft-company span+span::before{margin-right:12px}
}
@media (max-width:960px){
  .contact-info{border-top-color:var(--line)}
}

/* Page contact : fond lilas très léger derrière la carte, puis les trois étapes */
.contact-page{padding-top:clamp(20px,2.4vw,32px);background:linear-gradient(180deg,#F5F0FD 0%,#FAF8FE 55%,#fff 100%)}
.next-sec{padding-top:clamp(40px,4vw,56px)}
.next-title{margin-bottom:22px;text-align:center;font:400 clamp(1.6rem,1.3rem + .8vw,2rem)/1.2 var(--serif);letter-spacing:-.015em}
.next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin:0 auto}
.next-steps li{display:grid;gap:6px;align-content:start;padding:22px 22px 24px;border-radius:22px;background:#fff;border:1px solid #EFEDF3}
.nx-n{font-size:13px;font-weight:600;color:var(--violet);font-variant-numeric:tabular-nums}
.next-steps strong{font-size:19px;font-weight:500;letter-spacing:-.04em}
.next-steps span:not(.nx-n){color:var(--muted);font-size:15.5px}
@media (max-width:760px){
  .next-steps{grid-template-columns:1fr;gap:10px}
}
@media (max-width:640px){
  .ft-company{gap:2px 16px}
  .ft-company span+span::before{display:none}
}

/* Lignes qui se remplissent au défilement : entre deux rangées, à travers une rangée de repères, ou verticale sur téléphone */
.ft-line{position:absolute;z-index:1;left:var(--lx,0);top:var(--ly,50%);width:var(--lw,100%);height:var(--lh,1px);background:var(--line);border-radius:2px;pointer-events:none}
.ft-line span{position:absolute;left:0;top:0;width:calc(var(--p,0) * 100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),#8B5CF6)}
.ft-line span::after{content:'';position:absolute;right:-4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#C4B5FD,#7C3AED 75%);box-shadow:0 0 10px 2px rgba(139,92,246,.5);opacity:calc(var(--p,0) * 40)}
.is-v>.ft-line span{width:100%;height:calc(var(--p,0) * 100%);background:linear-gradient(180deg,var(--violet),#8B5CF6)}
.is-v>.ft-line span::after{right:auto;top:auto;left:50%;bottom:-4px;margin:0 0 0 -4px}
.no-line>.ft-line{display:none}
.ft-wrap .ft-ic,.mini-n,.nx-n{position:relative;z-index:2}
/* Cartes isolées (isolation, pour leur fond en ::before) : l'icône ne peut pas passer devant la ligne
   depuis l'intérieur de sa carte ; c'est donc la carte entière qui passe au-dessus de la ligne */
.ft-wrap .tiles li,.ft-wrap .tiles-nodes li{z-index:2}
.ft-wrap+.ft-wrap,.mini-steps+.tiles,.ft-wrap+.tiles{margin-top:16px}

/* Titres de section : le point prend le violet de la ligne */
.label-dot{background:#8B5CF6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}
.label-dot::after{border-color:#8B5CF6}
.label-light .label-dot{background:#C9B6F7;box-shadow:0 0 0 3px rgba(201,182,247,.18)}
.label-light .label-dot::after{border-color:#C9B6F7}

/* « Why choose us » : à l'arrivée, les promesses des autres sont barrées, la carte OMAZEO s'élève et un reflet la traverse */
.why-others{transition:opacity .9s var(--ease)}
.why-box.is-in .why-others{opacity:.72}
.why-us{transition:box-shadow 1s var(--ease)}
.why-box.is-in .why-us{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 34px 80px -28px rgba(76,29,149,.6)}
.why-us::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.13) 50%,transparent 65%);transform:translateX(-120%)}
.why-box.is-in .why-us::after{transition:transform 1.6s var(--ease) .5s;transform:translateX(120%)}
.why-us .mk-on{transition:transform .5s var(--ease),opacity .5s}
.why-box.is-armed:not(.is-in) .why-us .mk-on{transform:scale(.4);opacity:0}
.why-us li:nth-child(1) .mk-on{transition-delay:.5s}
.why-us li:nth-child(2) .mk-on{transition-delay:.7s}
.why-us li:nth-child(3) .mk-on{transition-delay:.9s}
.why-box.is-in .why-us .mk-on{transform:none;opacity:1;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
@property --beam{syntax:'<angle>';inherits:false;initial-value:0deg}
.why-us::before{content:'';position:absolute;inset:0;z-index:3;padding:2px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 1s var(--ease);
  background:conic-gradient(from var(--beam),transparent 0 55%,rgba(201,182,247,.75) 72%,#fff 80%,rgba(201,182,247,.75) 88%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.why-box.is-in .why-us::before{opacity:1;animation:beam 7s linear infinite}
@keyframes beam{to{--beam:360deg}}

/* Contact : panneau violet à gauche, formulaire sur fond clair */
.contact-box{background:linear-gradient(160deg,#fff 40%,#FBF9FE)}
.contact-info{position:relative;isolation:isolate;overflow:hidden;justify-content:flex-start;gap:20px;padding:30px 28px;border:0;border-radius:24px;background:radial-gradient(120% 90% at 0% 0%,#4B1E8E 0%,var(--violet) 62%);color:#fff;box-shadow:0 24px 50px -30px rgba(37,2,69,.7)}
.contact-info .glow{display:block;width:420px;height:420px;margin:-210px 0 0 -210px;transform:translate3d(85%,85%,0);opacity:.8}
.ci-reply{font:400 clamp(1.6rem,1.3rem + .9vw,2.1rem)/1.15 var(--serif);letter-spacing:-.015em;max-width:9em}
.ci-langs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-size:15.5px;color:rgba(255,255,255,.85)}
.ci-flags{display:inline-flex;gap:6px}
.ci-flags .flag{width:24px;height:16px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.ci-mail{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;margin-top:auto;padding:10px 16px 10px 13px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:15.5px;letter-spacing:-.03em;text-decoration:none;transition:background-color .25s}
.ci-mail:hover{background:rgba(255,255,255,.18)}
.ci-mail .i{width:18px;height:18px;color:#C9B6F7}
.contact-info .contact-note{margin-top:0;font-size:14px;color:rgba(255,255,255,.66)}
.contact-page .contact-intro{border-right:0}

/* Page contact : étapes reliées, repères violets */
.next-steps li{position:relative;gap:4px;padding:24px 24px 26px;background:#fff;box-shadow:0 22px 50px -40px rgba(37,2,69,.45);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.next-steps li:hover{transform:translateY(-3px);box-shadow:0 28px 60px -36px rgba(37,2,69,.5)}
.nx-n{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px;border-radius:14px;background:linear-gradient(145deg,#5B2CA0,var(--violet));color:#fff;box-shadow:0 0 0 5px #fff,0 10px 22px -8px rgba(37,2,69,.5)}
.nx-n .i{width:20px;height:20px}
.next-steps small{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:#8B5CF6;font-variant-numeric:tabular-nums}

/* Tuiles et étapes des pages partenaires : la ligne passe au-dessus des cartes, sous les icônes */
.mini-n{box-shadow:0 0 0 5px #fff}

@media (max-width:960px){
  /* bouton du haut de page sous la photo */
  .has-media .page-copy .page-acts{display:none}
  .page-acts-m{display:flex;margin:6px 14px 8px}
  /* bouton flottant centré */
  .float-cta{right:auto;left:50%;transform:translate(-50%,20px)}
  .float-cta.is-on{transform:translate(-50%,0)}
  /* repères de la photo : centrés, reliés par une ligne verticale qui rejoint la photo */
}
.page-acts-m{display:none}
@media (max-width:960px){ .page-acts-m{display:flex} }
@media (max-width:640px){
  .contact-info{padding:24px 22px;gap:16px}
  .ci-reply{font-size:1.6rem}
  .next-steps li{padding:20px 20px 22px}
}
.contact-info .ci-mail{color:#fff;text-decoration:none}
@media (max-width:960px){
  /* étapes en une colonne : repère à gauche, texte à droite, pour que la ligne ne traverse pas le texte */
  .mini-steps>li,.next-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:start}
  .mini-steps>li>*:not(.mini-n),.next-steps li>*:not(.nx-n){grid-column:2}
  .mini-n{grid-row:1 / span 2;justify-self:center;margin:0}
  .nx-n{grid-row:1 / span 3;margin:0}
  .mini-steps h3{margin-top:4px}
}
@media (max-width:960px){
  /* repères de la photo : un bloc centré dont toutes les pastilles partent de la même marge */
  .badges{align-items:flex-start;width:min(100%,300px);justify-self:center}
}

/* Étapes (OFM Legal, page Contact) : le repère au-dessus de la carte, la ligne passe entre les repères sans traverser les cartes */
.mini-steps>li,.next-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.next-steps li:hover{transform:none;box-shadow:none}
.st-card{align-self:stretch;flex:1;display:grid;gap:6px;align-content:start;padding:24px 24px 26px;border-radius:22px;background:#fff;border:1px solid #EFEDF3;box-shadow:0 22px 50px -40px rgba(37,2,69,.45);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.st-card:hover{transform:translateY(-3px);box-shadow:0 28px 60px -36px rgba(37,2,69,.5)}
.mini-steps .st-card h3{margin-top:0}
.mini-steps .st-card p{margin-top:2px}
.nx-n{margin-bottom:0}
.mini-n{width:38px;height:38px;background:linear-gradient(145deg,#5B2CA0,var(--violet));box-shadow:0 0 0 5px var(--bg-sec,#fff),0 10px 22px -8px rgba(37,2,69,.5)}
.soft .mini-n{box-shadow:0 0 0 5px var(--soft),0 10px 22px -8px rgba(37,2,69,.5)}

/* Partenaires : l'écosystème, chaque carte avec son logo et un lien vers sa page */
.fit li{display:block;padding:0;border:0;background:none}
.fit strong::before{display:none}
.fit-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:8px 8px 22px;border-radius:24px;background:#fff;border:1px solid #EFEFEF;color:inherit;text-decoration:none;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.fit-card:hover{border-color:#E2DAF3;box-shadow:0 24px 50px -32px rgba(37,2,69,.45);transform:translateY(-3px)}
.fit-logo{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;height:96px;margin-bottom:8px;border-radius:18px;background:linear-gradient(165deg,#fff 20%,#F5F4F8);box-shadow:inset 0 0 0 1px rgba(20,16,40,.05)}
.fit-logo::after{content:'';position:absolute;z-index:-1;right:-56px;bottom:-56px;width:120px;height:120px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 15px,rgba(37,2,69,.08) 15px 16px);-webkit-mask-image:radial-gradient(circle,#000 25%,transparent 70%);mask-image:radial-gradient(circle,#000 25%,transparent 70%)}
.fit-brand{width:auto;max-width:70%;max-height:30px}
svg.fit-brand.b-omazeo{height:17px;color:#2b2b2b}
svg.fit-brand.b-lvp{height:30px;color:#262626}
.fit-brand.b-ofm{max-height:22px}
.fit-brand.b-legaflow{max-height:24px}
.fit-card strong,.fit-txt,.fit-card .link-arrow{margin:0 16px}
.fit-txt{color:var(--muted);font-size:15.5px}
.fit-card .link-arrow{margin-top:auto;padding-top:6px;font-size:15px}
/* Écosystème : un repère au-dessus de chaque carte, reliés par la ligne qui avance ; à gauche sur téléphone */
.fit-nodes li{display:flex;flex-direction:column}
.fit-nodes .ft-ic{align-self:center;margin-bottom:18px;color:#fff;box-shadow:0 0 0 5px var(--soft),0 8px 18px -6px rgba(37,2,69,.45)}
.fit-nodes li:hover .ft-ic{transform:translateY(-4px)}
.fit-nodes .fit-card{flex:1}
@media (max-width:640px){
  .fit-nodes li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start}
  .fit-nodes .ft-ic{align-self:start;width:44px;height:44px;margin:28px 0 0;border-radius:12px}
}

/* À propos : trois chiffres à droite du haut de page */
.hero-facts{align-self:center;justify-self:end;width:min(100%,300px);margin-right:clamp(10px,3vw,46px)}
.hero-facts li{display:flex;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.hero-facts li:last-child{border-bottom:0}
.hero-facts strong{min-width:2.4ch;font:400 clamp(2.4rem,1.8rem + 1.6vw,3.2rem)/1 var(--serif);letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.hero-facts span{color:rgba(255,255,255,.72);font-size:16px}

@media (max-width:960px){
  .mini-steps>li,.next-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start}
  .mini-steps>li>.st-card,.next-steps li>.st-card{grid-column:2;grid-row:1}
  .mini-n,.nx-n{grid-column:1;grid-row:1;justify-self:center;margin:18px 0 0}
  .hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;width:auto;margin:0 14px 16px;border-top:1px solid rgba(255,255,255,.14)}
  .hero-facts li{flex-direction:column;align-items:flex-start;gap:6px;padding:18px 0 0;border-bottom:0}
  .hero-facts strong{font-size:2.1rem}
  .hero-facts span{font-size:14px}
  .fit-logo{height:84px}
}
@media (max-width:640px){
  .hero-facts{column-gap:14px}
  .hero-facts strong{font-size:1.9rem}
  .hero-facts span{font-size:13px;line-height:1.35}
}

/* Tuiles d'une seule rangée (LVP, LegaFlow) : l'icône au-dessus de la carte, la ligne relie les icônes sans traverser les cartes.
   La carte est dessinée par un pseudo-élément sous l'icône. */
.tiles-nodes li{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:0 24px 28px;border:0;background:none}
.tiles-nodes li::before{content:'';position:absolute;z-index:-1;inset:68px 0 0;border:1px solid #EFEFEF;border-radius:24px;background:#fff;transition:border-color .3s,box-shadow .4s var(--ease)}
.tiles-nodes li:hover::before{border-color:#E2DAF3;box-shadow:0 24px 50px -32px rgba(37,2,69,.4)}
.tiles-nodes .ft-ic{align-self:center;margin-bottom:18px;box-shadow:0 0 0 5px var(--sec-bg,#fff),0 8px 18px -6px rgba(37,2,69,.45)}
.soft .tiles-nodes .ft-ic{box-shadow:0 0 0 5px var(--soft),0 8px 18px -6px rgba(37,2,69,.45)}
.tiles-nodes h3{margin-top:26px}

/* Une seule colonne (téléphone, et tuiles sur trois colonnes en tablette) : l'icône à gauche, hors de la carte */
@media (max-width:960px){
  .tiles-3 li{position:relative;isolation:isolate;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:30px;align-items:start;padding:20px 18px 22px 0;border:0;background:none}
  .tiles-3 li::before{content:'';position:absolute;z-index:-1;inset:0 0 0 58px;border:1px solid #EFEFEF;border-radius:20px;background:#fff}
  .tiles-3 .ft-ic{grid-column:1;grid-row:1 / span 2;align-self:start;width:44px;height:44px;margin:0;border-radius:12px}
  .tiles-3 h3,.tiles-3 p{grid-column:2}
  .tiles-3 h3{margin-top:0}
  .tiles-3 p{margin-top:4px}
}
@media (max-width:640px){
  .tiles li{position:relative;isolation:isolate;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:30px;align-items:start;padding:18px 18px 20px 0;border:0;background:none}
  .tiles li::before{content:'';position:absolute;z-index:-1;inset:0 0 0 58px;border:1px solid #EFEFEF;border-radius:20px;background:#fff}
  .tiles .ft-ic{grid-column:1;grid-row:1 / span 2;align-self:start;margin:0}
  .tiles h3,.tiles p{grid-column:2}
  .tiles h3{margin-top:0;align-self:start}
}

/* Brouillons (aperçu local) */
.tag-draft{margin-left:6px;background:#FFF1D6;color:#8A5A00}
.blog-head .tag-draft{display:inline-block;margin:22px 0 0 8px;vertical-align:top}
