/* V59 : polices servies par le site, plus aucun appel a un service tiers.
   Manrope et DM Mono, licence SIL Open Font License 1.1 (voir assets/fonts/NOTICE.txt).
   Decoupees sur les jeux latin et latin etendu, les seuls utiles au francais. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:300 800;font-display:swap;
  src:url("fonts/manrope-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:"Manrope";font-style:normal;font-weight:300 800;font-display:swap;
  src:url("fonts/manrope-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:"DM Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/dmmono-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:"DM Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/dmmono-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:"DM Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/dmmono-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:"DM Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/dmmono-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}

@charset "UTF-8";
/* NexSecure V29 : architecture et gabarits repris de novatis.agency, palette NexSecure (bleu #0F40C5 seul accent) */
:root{
  --ink:#0E1A2B;--deep:#0A2E93;--blue:#0F40C5;--tint:#8FA6EE;--sky:#4E7BEA;--pale:#C9D5F7;
  --mist:#EEF2FD;--mist-2:#F5F7FD;--paper:#FAFBFE;
  --grey:#566074;--line:#DCE3F1;--line-2:#C5D0EA;
  --navy:#0B2257;--navy-2:#13306F;--night:#071737;--on-dark:#C3CEEA;--on-dark-2:#9FB0D8;
  --ease:cubic-bezier(.23,1,.32,1);
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
:where(ul[class],ol[class]){list-style:none;margin:0;padding:0}
h1,h2,h3,h4{font-weight:700}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.dark :focus-visible,.ftr :focus-visible,.mega__lead :focus-visible{outline-color:var(--tint)}
::selection{background:var(--blue);color:#fff}
.skip{position:fixed;left:16px;top:-90px;z-index:200;background:var(--deep);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700}
.skip:focus{top:16px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.i{width:18px;height:18px;flex:none}
.wrap{width:min(1460px,calc(100% - 80px));margin-inline:auto}
@media(max-width:920px){.wrap{width:min(calc(100% - 40px),760px)}}
@media(max-width:620px){.wrap{width:calc(100% - 32px)}}

/* Typographie */
.kicker{display:flex;align-items:center;gap:12px;margin:0;color:var(--blue);font:500 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.dark .kicker,.kicker--light{color:var(--tint)}
.bars{height:23px;display:inline-flex;align-items:flex-end;gap:3px;flex:none}
.bars i{display:block;width:3px;border-radius:1px}
.bars i:nth-child(1){height:11px;background:var(--deep)}
.bars i:nth-child(2){height:20px;background:var(--blue)}
.bars i:nth-child(3){height:15px;background:var(--tint)}
.bars i:nth-child(4){height:8px;background:var(--sky)}
.dark .bars i:nth-child(1),.bars--light i:nth-child(1){background:#fff}
.dark .bars i:nth-child(2),.bars--light i:nth-child(2){background:var(--pale)}
.accent{color:var(--blue)}
.dark .accent{color:var(--tint)}
.dot{color:var(--blue)}
.h2{margin-top:20px;font-size:clamp(42px,4.7vw,68px);line-height:1.02;letter-spacing:-.055em}
.num{font:500 10.5px/1 var(--mono);color:var(--blue);letter-spacing:.02em}
.dark .num{color:var(--tint)}
.tag{display:block;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.dark .tag{color:var(--tint)}
.dark{background:var(--navy);color:#fff}
.dark h2,.dark h3{color:#fff}
.paper{background:var(--paper)}
@media(max-width:920px){.h2{font-size:40px}}
@media(max-width:620px){.h2{font-size:clamp(34px,10.4vw,43px)}}

/* Boutons et liens */
.btn{min-height:54px;padding:0 23px;border:1px solid transparent;border-radius:28px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-weight:700;font-size:14px;line-height:1.2;text-align:center;transition:transform .16s var(--ease),background .2s,color .2s,border-color .2s}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--deep)}
.btn--ghost{border-color:var(--line);background:#fff;color:var(--deep)}
.btn--ghost:hover{border-color:var(--blue)}
.btn--light{background:#fff;color:var(--deep)}
.btn--light:hover{background:var(--mist)}
.btn--deep{background:var(--deep);color:#fff}
.btn--deep:hover{background:var(--blue)}
.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}
.tlink{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:1px solid var(--blue);color:var(--deep);font-weight:700;font-size:15px;line-height:1.3;transition:gap .2s var(--ease)}
.tlink:hover{gap:12px}
.tlink .i{width:16px;height:16px}
.dark .tlink,.tlink--light{color:#fff;border-bottom-color:var(--tint)}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:13.5px;font-weight:800;color:var(--deep)}
.more .i{width:16px;height:16px;transition:transform .2s var(--ease)}
a:hover .more .i,.more:hover .i{transform:translateX(3px)}
.dark .more{color:#fff}
@media(max-width:620px){.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%}}

/* Décor */
.ribbon{display:grid;grid-template-columns:1.1fr .85fr 1fr 1.15fr 1fr 1.05fr .9fr 1fr;height:4px}
.ribbon i:nth-child(1){background:#0A2E93}.ribbon i:nth-child(2){background:#0F40C5}.ribbon i:nth-child(3){background:#4E7BEA}.ribbon i:nth-child(4){background:#8FA6EE}
.ribbon i:nth-child(5){background:#C9D5F7}.ribbon i:nth-child(6){background:#0F40C5}.ribbon i:nth-child(7){background:#4E7BEA}.ribbon i:nth-child(8){background:#0A2E93}
.sec-ribbon{position:absolute;left:0;right:0;top:0}
.pixels{position:absolute;z-index:3;display:grid;grid-template-columns:repeat(5,29px);grid-template-rows:repeat(4,29px);pointer-events:none}
.pixels i:nth-child(1){grid-area:1/4;background:#0F40C5}
.pixels i:nth-child(2){grid-area:2/3;background:#4E7BEA}
.pixels i:nth-child(3){grid-area:3/3;background:#8FA6EE}
.pixels i:nth-child(4){grid-area:3/4;background:#0A2E93}
.pixels i:nth-child(5){grid-area:3/1;background:#13306F}
.pixels i:nth-child(6){grid-area:4/2;background:#C9D5F7}
.pixels i:nth-child(7){grid-area:4/4;background:#8FA6EE}
.pixels i:nth-child(8){grid-area:4/5;background:#4E7BEA}
@media(max-width:620px){.pixels{display:none}}

/* Sections */
.sec{position:relative;padding-block:135px}
.sec--mid{padding-block:110px}
.sec--sm{padding-block:88px}
.intro{display:grid;grid-template-columns:1.2fr .65fr;gap:80px;align-items:end;margin-bottom:70px}
.intro__side>p{color:var(--grey);font-size:16px;line-height:1.75}
.dark .intro__side>p{color:var(--on-dark)}
.intro__side .tlink{margin-top:22px}
.intro__side--end{justify-self:end;align-self:end}
@media(max-width:1100px){.intro{gap:50px}}
@media(max-width:920px){.sec{padding-block:85px}.sec--mid{padding-block:80px}.sec--sm{padding-block:70px}.intro{grid-template-columns:1fr;gap:24px;margin-bottom:45px}.intro__side--end{justify-self:start}}
@media(max-width:620px){.sec{padding-block:72px}.sec--mid,.sec--sm{padding-block:62px}.intro{margin-bottom:32px}}

/* En-tête */
.hdr{position:fixed;inset:0 0 auto;z-index:50;padding:12px 0;transition:padding .22s var(--ease),background .22s}
.hdr__ribbon{position:absolute;top:0;left:35%;right:0}
.hdr.is-scrolled{padding:6px 0;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hdr__inner{position:relative;width:min(1500px,calc(100% - 48px));height:68px;margin:auto;display:grid;grid-template-columns:245px 1fr auto;align-items:center;background:#fff;border:1px solid #E1E7F5;border-radius:14px;padding:0 12px 0 18px}
.logo{display:flex;align-items:center;gap:10px;width:max-content}
.logo__mark{width:28px;height:38px}
.logo__txt{display:flex;flex-direction:column;line-height:1}
.logo__txt b{font-size:21px;font-weight:800;letter-spacing:-.035em;color:var(--ink)}
.logo__txt small{margin-top:4px;font-size:10.5px;font-weight:600;color:var(--grey)}
.mainnav{justify-self:center;display:flex;align-items:center;gap:34px}
.mainnav a,.mainnav button{position:relative;display:flex;align-items:center;gap:6px;padding:24px 0;border:0;background:none;color:var(--ink);font-size:14px;font-weight:700}
.mainnav a::after,.mainnav button::after{content:"";position:absolute;left:0;right:100%;bottom:16px;height:2px;background:var(--blue);transition:right .22s var(--ease)}
.mainnav a:hover::after,.mainnav button:hover::after,.mainnav button[aria-expanded="true"]::after,.mainnav a[aria-current]::after,.mainnav .is-current::after{right:0}
.mainnav .mainnav__hl{color:var(--blue)}
.mainnav button .i{width:16px;height:16px;transition:transform .2s}
.mainnav button[aria-expanded="true"] .i{transform:rotate(180deg)}
.hdr__contact{display:flex;align-items:center;gap:10px}
.hdr__tel{display:flex;align-items:center;gap:6px;padding:10px 4px;font-size:12.5px;font-weight:700;color:var(--deep)}
.hdr__tel .i{width:15px;height:15px}
.btn-quote{min-height:40px;padding:0 16px;border-radius:22px;background:var(--blue);color:#fff;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;white-space:nowrap}
.btn-quote:hover{background:var(--deep)}
.btn-quote .i{width:15px;height:15px}
.burger{display:none;width:44px;height:44px;margin-left:10px;border:1px solid var(--line);border-radius:50%;background:#fff;place-items:center;color:var(--ink)}
.burger .i{width:20px;height:20px}
.burger .i-x{display:none}
.burger.is-open .i-menu{display:none}
.burger.is-open .i-x{display:block}
@media(max-width:1320px){.hdr__inner{grid-template-columns:210px 1fr auto}.mainnav{gap:22px}}
@media(max-width:1180px){.mainnav,.hdr__tel{display:none}.hdr__inner{grid-template-columns:1fr auto auto}.burger{display:grid}}
@media(max-width:620px){.hdr{padding:8px 0}.hdr.is-scrolled{padding:5px 0}.hdr__inner{width:calc(100% - 16px);height:60px;padding:0 8px 0 13px;border-radius:18px}.hdr__ribbon{left:36%;right:8px}.btn-quote{display:none}.logo__txt b{font-size:19px}.logo__mark{width:24px;height:32px}}

/* Mega menu */
.mega{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;grid-template-columns:305px minmax(0,1fr);min-height:540px;background:#fff;border:1px solid var(--line-2);border-radius:20px;overflow:hidden}
.mega__lead{padding:34px 30px;background:var(--deep);color:#fff;display:flex;flex-direction:column;align-items:flex-start}
.mega__eyebrow{margin-top:24px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#D5DEF7}
.mega__statement{margin:18px 0 26px;font-size:25px;line-height:1.16;letter-spacing:-.04em;font-weight:800;color:#fff}
.mega__cta{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.3);border-radius:9px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#fff}
.mega__cta:hover{background:rgba(255,255,255,.1)}
.mega__all{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#fff}
.mega__content{min-width:0;display:grid;grid-template-rows:1fr auto}
.mega__cols{padding:30px 28px 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.mega__title{display:block;padding-bottom:11px;margin-bottom:9px;border-bottom:1px solid var(--line);color:var(--deep);font-size:15px;font-weight:800}
.mega__desc{min-height:56px;margin:0 0 12px;color:var(--grey);font-size:12px;line-height:1.5}
.mega__links{border-top:1px solid var(--line)}
.mega__links a{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.3;color:var(--ink);transition:color .18s,padding .18s}
.mega__links a:hover{padding-left:5px;color:var(--blue)}
.mega__links .i{width:14px;height:14px}
.mega__bottom{border-top:1px solid var(--line);background:var(--mist-2)}
.mega__row{min-height:55px;padding:6px 27px;display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;border-bottom:1px solid var(--line);font-size:12px}
.mega__row:last-child{border-bottom:0;background:#fff}
.mega__row>span{flex:0 0 150px;color:var(--blue);font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.mega__row a{position:relative;padding:8px 0;color:var(--grey);font-weight:700}
.mega__row a+a::before{content:"";position:absolute;left:-11px;top:50%;width:2px;height:12px;background:var(--tint);transform:translateY(-50%)}
.mega__row a:hover{color:var(--deep)}
@media(max-width:1180px){.mega{display:none!important}}

/* Navigation mobile */
.mnav{position:absolute;top:calc(100% + 10px);left:0;right:0;max-height:calc(100dvh - 96px);overflow:auto;padding:14px 20px 20px;background:#fff;border:1px solid var(--line-2);border-radius:18px}
.mnav details{border-bottom:1px solid var(--line)}
.mnav summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;cursor:pointer;list-style:none}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary .i{width:16px;height:16px;transition:transform .2s}
.mnav details[open] summary .i{transform:rotate(180deg)}
.mnav details div{display:grid;padding:0 12px 14px}
.mnav details a{padding:9px 0;color:var(--grey);font-size:14px}
.mnav>a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:700}
.mnav>a:last-child{border-bottom:0}
@media(min-width:1181px){.mnav{display:none!important}}

/* Barre d'actions mobile */
.mbar{display:none}
@media(max-width:620px){
  .mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:45;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;background:var(--night);border-radius:18px}
  .mbar a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;color:#fff;font-size:12px;font-weight:700}
  .mbar a:first-child{background:var(--blue)}
}

/* Pied de page */
.ftr{position:relative;background:var(--night);color:#fff}
.ftr__ribbon{position:absolute;left:0;right:0;top:0;height:6px}
.ftr__cta{padding-top:92px;padding-bottom:72px;display:grid;grid-template-columns:1.12fr .88fr;gap:100px;align-items:end;border-bottom:1px solid rgba(255,255,255,.18)}
.ftr__cta h2{margin-top:18px;font-size:clamp(45px,4.8vw,68px);line-height:1;letter-spacing:-.06em;color:#fff}
.ftr__cta p{color:var(--on-dark);font-size:15px;line-height:1.75}
.ftr__cta .btn{margin-top:25px}
.ftr__main{padding-top:65px;padding-bottom:60px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:75px;border-bottom:1px solid rgba(255,255,255,.17)}
.ftr__logo{width:max-content;padding:13px 20px;display:flex;align-items:center;gap:10px;border-radius:10px;background:#fff}
.ftr__logo .logo__mark{width:26px;height:35px}
.ftr__brand>p{margin:26px 0;color:var(--on-dark);font-size:13.5px;line-height:1.75}
.ftr__tel{display:flex;align-items:center;gap:8px;min-height:32px;font-size:14px;font-weight:700;color:#fff}
.ftr__tel .i{width:16px;height:16px}
.ftr__brand .tlink{margin-top:14px;font-size:14px}
.ftr__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px}
.ftr__nav h3{margin:0 0 18px;font-size:14px;color:#fff}
.ftr__nav a{display:block;width:max-content;max-width:100%;min-height:24px;padding:3px 0;margin-top:6px;color:var(--on-dark-2);font-size:12.5px;line-height:1.45;transition:color .18s,transform .18s var(--ease)}
.ftr__nav a:hover{color:#fff;transform:translateX(3px)}
.ftr__eco{min-height:78px;display:grid;grid-template-columns:120px minmax(0,1fr) 140px minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.17)}
.ftr__eco span{color:var(--tint);font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.ftr__eco p{color:#D6DEF2;font-size:12.5px}
.ftr__bottom{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--on-dark-2);font-size:12px}
.ftr__bottom div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
.ftr__bottom a{display:inline-flex;align-items:center;min-height:28px}
.ftr__bottom a:hover{color:#fff}
.ftr__bottom .i{width:15px;height:15px}
@media(max-width:1100px){.ftr__cta{gap:55px}.ftr__main{grid-template-columns:1fr;gap:50px}.ftr__nav{gap:28px}}
@media(max-width:920px){.ftr__eco{grid-template-columns:120px 1fr;padding-block:18px}}
@media(max-width:760px){.ftr__cta{grid-template-columns:1fr;gap:30px;padding-top:78px;padding-bottom:55px}.ftr__cta h2{font-size:42px}.ftr__nav{grid-template-columns:1fr 1fr;gap:40px 25px}}
@media(max-width:620px){.ftr__eco{grid-template-columns:1fr;gap:4px}.ftr__eco p{margin-bottom:10px}.ftr__bottom{display:grid;padding-block:24px calc(98px + env(safe-area-inset-bottom))}.ftr__cta h2{font-size:clamp(34px,10.4vw,42px)}}

/* Fil d'Ariane */
.crumb ol{margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.crumb li{display:flex;align-items:center;gap:10px}
.crumb li+li::before{content:"/";color:var(--line-2)}
.crumb a{display:inline-flex;align-items:center;min-height:26px;color:var(--grey)}
.crumb a:hover{color:var(--blue)}
.crumb [aria-current]{color:var(--blue)}
.crumb--sans ol{font:700 13px/1.4 var(--sans);text-transform:none;letter-spacing:0}
.crumb--sans a{color:var(--blue)}
.crumb--sans [aria-current]{color:#4A5468}
.crumb--center ol{justify-content:center}

/* Accueil : hero */
.hhero{position:relative;min-height:800px;padding-top:108px;padding-bottom:32px;display:grid;grid-template-columns:.88fr 1.12fr;gap:58px;align-items:center}
.hhero__copy{min-width:0;padding-left:2vw}
.hhero h1{margin-top:18px;font-size:clamp(62px,6vw,90px);line-height:.9;letter-spacing:-.07em}
.hhero__promise{max-width:570px;margin-top:22px;color:var(--blue);font-size:clamp(26px,2.25vw,36px);font-weight:700;line-height:1.05;letter-spacing:-.045em}
.hhero__lead{max-width:620px;margin-top:22px;color:var(--grey);font-size:16px;line-height:1.68}
.hhero__proof{display:flex;flex-wrap:wrap;gap:16px 45px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);color:var(--grey);font-size:13px}
.hhero__proof b{display:block;margin-bottom:3px;color:var(--ink);font-size:19px}
.hhero__media{position:relative;min-width:0}
.hhero__frame{position:relative;aspect-ratio:16/10;border:1px solid var(--line);border-radius:26px 8px 26px 26px;overflow:hidden;background:var(--mist)}
.hhero__frame img{width:100%;height:100%;object-fit:cover}
.sig{position:absolute;z-index:2;left:22px;bottom:20px;display:flex;align-items:flex-end;gap:5px;padding:8px 12px;border-radius:8px;background:rgba(7,23,55,.8);color:#fff}
.sig i{display:block;width:4px;border-radius:1px;background:var(--tint)}
.sig i:nth-child(1){height:13px;background:#fff}
.sig i:nth-child(2){height:22px}
.sig i:nth-child(3){height:17px;background:var(--sky)}
.sig span{margin-left:7px;font:500 10px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.hhero .pixels{left:-72px;bottom:-40px}
@media(max-width:1180px){.hhero{gap:40px}}
@media(max-width:920px){.hhero{min-height:0;padding-top:104px;grid-template-columns:1fr;gap:40px}.hhero__copy{padding:25px 0 4px}.hhero__frame{aspect-ratio:16/9}.hhero .pixels{left:10px;bottom:-30px}}
@media(max-width:620px){.hhero{padding-top:90px;gap:26px}.hhero h1{font-size:clamp(44px,13.5vw,54px)}.hhero__promise{font-size:24px}.hhero__lead{font-size:15px}.hhero__proof{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;border:0}.hhero__proof span{padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--mist-2)}.hhero__proof b{font-size:21px}.hhero__frame{aspect-ratio:4/3;border-radius:20px}}

/* Accueil : clients */
.clients{border-block:1px solid var(--line);background:#fff}
.clients__inner{min-height:96px;display:grid;grid-template-columns:230px 1fr;align-items:center;gap:20px}
.clients__label{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}
.clients__list{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px}
.clients__list li{font-size:19px;font-weight:800;letter-spacing:-.035em;color:#4A5468}
@media(max-width:920px){.clients__inner{grid-template-columns:1fr;gap:10px;padding-block:22px}.clients__list{justify-content:flex-start}.clients__list li{font-size:17px}}

/* Chiffres */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--deep)}
.stats article{min-height:245px;padding:28px 25px;border-bottom:1px solid var(--line)}
.stats article+article{border-left:1px solid var(--line)}
.stats strong{display:block;margin-top:46px;font-size:58px;line-height:1;letter-spacing:-.06em;color:var(--deep)}
.stats p{margin-top:16px;color:var(--grey)}
@media(max-width:1100px){.stats{grid-template-columns:1fr 1fr}.stats article:nth-child(odd){border-left:0}}
@media(max-width:620px){.stats{gap:10px;border-top:0}.stats article,.stats article+article{min-height:148px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--mist-2)}.stats strong{margin-top:17px;font-size:clamp(34px,10vw,44px)}.stats p{margin-top:8px;font-size:13px;line-height:1.35}}

/* Agence (accueil) */
.agency{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:center;padding-bottom:135px}
.agency__img{position:relative;height:680px}
.agency__img img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.agency__img .pixels{right:-24px;bottom:-10px}
.agency__copy{max-width:700px;min-width:0}
.agency__copy p{margin-top:22px;color:var(--grey);font-size:17px;line-height:1.8}
.agency__copy .tlink{margin-top:26px}
@media(max-width:1100px){.agency{gap:60px}}
@media(max-width:920px){.agency{grid-template-columns:1fr;gap:45px;padding-bottom:85px}.agency__img{height:470px}}
@media(max-width:620px){.agency{padding-bottom:40px}.agency__img{height:auto;aspect-ratio:4/5}.agency__copy p{font-size:15px;line-height:1.68}}

/* Grille de services */
.svcgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--deep)}
.svcgrid a{position:relative;min-height:325px;padding:27px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);transition:background .22s,transform .22s var(--ease)}
.svcgrid a:not(:nth-child(4n+1)){border-left:1px solid var(--line)}
.svcgrid a:hover{background:var(--mist);transform:translateY(-6px)}
.svcgrid__icon{position:relative;width:96px;height:44px;margin-top:30px;display:grid;place-items:center;color:var(--deep)}
.svcgrid__icon::before{content:"";position:absolute;left:6px;right:6px;top:9px;height:28px;border-top:1.5px solid var(--line-2);border-radius:50%;transition:border-color .2s}
.svcgrid a:hover .svcgrid__icon::before{border-color:var(--blue)}
.svcgrid__icon .i{position:relative;width:26px;height:26px}
.svcgrid h3{margin:26px 0 12px;font-size:21px;letter-spacing:-.03em}
.svcgrid p{color:var(--grey);font-size:13.5px;line-height:1.65}
.svcgrid__go{margin-top:auto;padding-top:14px;align-self:flex-end;color:var(--deep)}
@media(max-width:1100px){.svcgrid{grid-template-columns:1fr 1fr}.svcgrid a:not(:nth-child(4n+1)){border-left:0}.svcgrid a:nth-child(2n){border-left:1px solid var(--line)}}
@media(max-width:620px){.svcgrid{grid-template-columns:1fr}.svcgrid a:nth-child(2n){border-left:0}.svcgrid a{min-height:0;padding:24px 4px}.svcgrid a:hover{transform:none}}

/* Portfolio (accueil) */
.folio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}
.folio__feature{grid-column:1/-1;display:grid;grid-template-columns:1.72fr 1fr;min-height:470px;border-radius:18px;overflow:hidden;background:var(--navy);color:#fff}
.folio__media{position:relative;overflow:hidden;background:var(--navy)}
.folio__media>img,.folio__media>svg{width:100%;height:100%;object-fit:cover}
.folio__feature .folio__media{min-height:470px}
.folio__feature .folio__body{padding:42px;align-self:center}
.folio__feature h3{margin-top:18px;font-size:46px;line-height:1;letter-spacing:-.045em;color:#fff}
.folio__feature p{margin-top:18px;color:var(--on-dark);font-size:16px;line-height:1.65}
.folio__feature .tag{color:var(--tint)}
.folio__feature .more{color:#fff}
.folio__card .folio__media{aspect-ratio:437/285;border-radius:16px}
.folio__card .folio__body{padding:28px 0 24px;border-bottom:1px solid var(--line)}
.folio__card h3{margin-top:12px;font-size:30px;line-height:1.05;letter-spacing:-.04em}
.folio__card p{margin-top:12px;color:var(--grey);font-size:14px;line-height:1.6}
.badge-num{position:absolute;z-index:2;left:20px;top:20px;min-width:32px;height:26px;padding:0 8px;display:grid;place-items:center;border-radius:5px;background:#fff;color:var(--deep);font:500 10.5px/1 var(--mono)}
@media(max-width:920px){.folio{grid-template-columns:1fr}.folio__feature{grid-template-columns:1fr}.folio__feature .folio__media{min-height:0;aspect-ratio:16/10}.folio__feature .folio__body{padding:30px}.folio__feature h3{font-size:36px}}

/* Bande sombre transparence */
.tband__body{margin-top:62px;display:grid;grid-template-columns:1.2fr .8fr;border-block:1px solid rgba(255,255,255,.22)}
.tstory{min-height:335px;padding:38px;display:grid;grid-template-columns:190px minmax(0,1fr);gap:38px;align-items:center;border-right:1px solid rgba(255,255,255,.22)}
.tstory__logo{height:165px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--deep)}
.tstory__logo .i{width:72px;height:72px;stroke-width:1.3}
.tstory small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--tint)}
.tstory h3{margin:10px 0 12px;font-size:28px;letter-spacing:-.035em}
.tstory p{color:var(--on-dark);font-size:14.5px;line-height:1.7}
.tangles article{min-height:110px;padding:24px 30px;display:grid;grid-template-columns:38px 1fr;align-content:center;border-bottom:1px solid rgba(255,255,255,.18)}
.tangles article:last-child{border-bottom:0}
.tangles .num{grid-row:1/3;padding-top:3px}
.tangles strong{font-size:14.5px;color:#fff}
.tangles p{margin-top:6px;color:var(--on-dark-2);font-size:12.5px;line-height:1.55}
.trail{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.trail span{min-height:86px;padding:0 14px;display:grid;place-items:center;background:#F5F7FD;color:var(--deep);font-size:15px;font-weight:800;letter-spacing:-.02em;text-align:center}
@media(max-width:920px){.tband__body{grid-template-columns:1fr}.tstory{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.tangles{display:grid;grid-template-columns:repeat(3,1fr)}.tangles article{border-bottom:0;border-right:1px solid rgba(255,255,255,.18)}.tangles article:last-child{border-right:0}}
@media(max-width:620px){.tstory{grid-template-columns:1fr;gap:22px;padding:28px 0}.tstory__logo{height:110px}.tangles{grid-template-columns:1fr}.tangles article{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.trail{grid-template-columns:1fr 1fr}}

/* Section cybersécurité (accueil) */
.cyb__body{margin-top:62px;display:grid;grid-template-columns:.6fr 1fr;border-top:1px solid rgba(255,255,255,.22)}
.cyb__list{border-right:1px solid rgba(255,255,255,.22)}
.cyb__list [role="tab"]{width:100%;display:grid;grid-template-columns:38px 1fr;align-items:start;padding:26px 24px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:none;color:#fff;text-align:left}
.cyb__list [role="tab"][aria-selected="true"]{background:var(--navy-2)}
.cyb__list .num{padding-top:5px}
.cyb__list strong{font-size:15.5px;line-height:1.35}
.cyb__list small{grid-column:2;display:none;margin-top:10px;color:var(--on-dark);font-size:13.5px;line-height:1.6}
.cyb__list [aria-selected="true"] small{display:block}
.cyb__stage{min-width:0;padding:40px;display:grid;place-items:center}
.demo{width:100%;max-width:780px;background:#F7F9FE;border:1px solid var(--line-2);border-radius:16px;color:var(--ink)}
.demo__top,.demo__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:15px 18px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.demo__top{border-bottom:1px solid var(--line)}
.demo__top b,.demo__bottom b{font-weight:500;color:var(--blue)}
.demo__bottom{border-top:1px solid var(--line);background:#fff;border-radius:0 0 16px 16px}
.demo__grid{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center;padding:44px 32px}
.demo__src>span{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--deep)}
.demo__src li{display:flex;gap:10px;align-items:center;margin-top:8px;padding:12px 14px;border:1px solid var(--line-2);border-radius:8px;background:#fff;font-size:12.5px;color:var(--ink)}
.demo__src .i{width:16px;height:16px;color:var(--blue)}
.demo__core{position:relative;width:128px;height:128px;margin:auto;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;padding:14px;background:#fff;text-align:center;font-size:12.5px;font-weight:700;line-height:1.3;color:var(--deep)}
.demo__core .i{width:22px;height:22px;margin:0 auto 4px}
.demo__core::before,.demo__core::after{content:"";position:absolute;top:50%;width:14px;height:2px;background:var(--blue)}
.demo__core::before{left:-15px}.demo__core::after{right:-15px}
.demo__out{padding:22px;border:1px solid var(--line-2);border-radius:12px;background:#fff}
.demo__out>span{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.demo__out h4{margin-top:10px;font-size:22px;line-height:1.15;letter-spacing:-.03em}
.demo__out p{margin-top:6px;color:var(--grey);font-size:13px}
.chip{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:9px 12px;border-radius:6px;background:var(--mist);color:var(--deep);font-size:12.5px;font-weight:700}
.chip .i{width:15px;height:15px}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid rgba(255,255,255,.22)}
.principles article{min-height:200px;padding:36px 24px}
.principles article+article{border-left:1px solid rgba(255,255,255,.22)}
.principles h3{margin-top:40px;font-size:17px}
.principles p{margin-top:10px;color:var(--on-dark);font-size:13.5px;line-height:1.6}
@media(max-width:1100px){.cyb__body{grid-template-columns:1fr}.cyb__list{border-right:0}.cyb__stage{padding:30px 0}.principles{grid-template-columns:1fr 1fr}.principles article:nth-child(3){border-left:0}.principles article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.22)}}
@media(max-width:760px){.demo__grid{grid-template-columns:1fr;gap:24px;padding:26px 18px}.demo__core::before,.demo__core::after{display:none}}
@media(max-width:620px){.principles{grid-template-columns:1fr}.principles article+article{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.principles article{min-height:0;padding:26px 0}.principles h3{margin-top:18px}.cyb__list [role="tab"]{padding:22px 4px}}

/* Méthode (accueil) */
.meth__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--deep);border-bottom:1px solid var(--line)}
.meth__tabs [role="tab"]{min-height:72px;padding:0 22px;display:flex;align-items:center;gap:18px;border:0;background:#fff;color:var(--ink);font-size:17px;font-weight:700;text-align:left}
.meth__tabs [role="tab"]+[role="tab"]{border-left:1px solid var(--line)}
.meth__tabs [role="tab"][aria-selected="true"]{background:var(--deep);color:#fff}
.meth__tabs [aria-selected="true"] .num{color:var(--tint)}
.meth__panel{display:grid;grid-template-columns:.8fr 1fr;border-bottom:1px solid var(--deep)}
.meth__left{padding:66px 42px 50px 0;border-right:1px solid var(--line)}
.meth__left h3{margin-top:20px;font-size:clamp(30px,2.8vw,40px);line-height:1.05;letter-spacing:-.045em}
.meth__left p{margin-top:24px;color:var(--grey);font-size:15.5px;line-height:1.75}
.meth__left p+p{padding-top:24px;border-top:1px solid var(--line)}
.meth__steps li{min-height:106px;padding:14px 8px 14px 22px;display:grid;grid-template-columns:56px 1fr 40px;align-items:center;border-bottom:1px solid var(--line)}
.meth__steps li:last-child{border-bottom:0}
.meth__steps b{display:block;font-size:17px}
.meth__steps small{display:block;margin-top:6px;color:var(--grey);font-size:13px}
.meth__steps i{justify-self:end;width:24px;height:3px;border-radius:2px;background:var(--tint)}
.meth__steps li:nth-child(1) i{background:var(--deep)}.meth__steps li:nth-child(2) i{background:var(--blue)}.meth__steps li:nth-child(3) i{background:var(--sky)}
@media(max-width:920px){.meth__tabs [role="tab"]{padding:0 14px;gap:10px;font-size:14px}.meth__panel{grid-template-columns:1fr}.meth__left{padding:40px 0;border-right:0;border-bottom:1px solid var(--line)}.meth__steps li{padding-left:0}}
@media(max-width:620px){.meth__tabs{grid-template-columns:1fr}.meth__tabs [role="tab"]+[role="tab"]{border-left:0;border-top:1px solid var(--line)}.meth__tabs [role="tab"]{min-height:56px}}

/* Cas d'usage (accueil) */
.ucases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--deep)}
.ucases article{min-height:390px;padding:26px;border-bottom:1px solid var(--line)}
.ucases article+article{border-left:1px solid var(--line)}
.ucases__vis{height:155px;margin:28px 0 20px;display:grid;place-items:center;border-radius:14px;background:var(--mist-2);color:var(--deep)}
.ucases__vis .i{width:56px;height:56px;stroke-width:1.3}
.ucases h3{font-size:23px;letter-spacing:-.03em}
.ucases p{margin-top:12px;color:var(--grey);font-size:14px;line-height:1.65}
@media(max-width:920px){.ucases{grid-template-columns:1fr}.ucases article+article{border-left:0}.ucases article{min-height:0;padding:26px 0}}

/* Deux cartes (accueil) */
.twoc{background:var(--mist)}
.twoc__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.twoc__grid article{position:relative;min-height:470px;padding:42px;border-radius:22px;background:#fff}
.twoc__ico{position:absolute;right:40px;top:40px;color:var(--blue)}
.twoc__ico .i{width:38px;height:38px;stroke-width:1.6}
.twoc h3{margin-top:60px;font-size:58px;line-height:1;letter-spacing:-.05em;color:var(--deep)}
.twoc__sub{display:block;margin-top:10px;color:var(--blue);font-size:17px;font-weight:700}
.twoc__grid p{margin-top:18px;max-width:560px;color:var(--grey);line-height:1.7}
.twoc__grid ul{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.twoc__grid li{padding:9px 13px;display:flex;align-items:center;gap:7px;border-radius:18px;background:var(--mist);font-size:12.5px;color:var(--ink)}
.twoc__grid li .i{width:13px;height:13px;color:var(--blue)}
@media(max-width:920px){.twoc__grid{grid-template-columns:1fr}}
@media(max-width:620px){.twoc__grid article{min-height:0;padding:26px}.twoc__ico{right:24px;top:24px}.twoc h3{margin-top:48px;font-size:44px}}

/* Présence (accueil) */
.pres__body{margin-top:62px;display:grid;grid-template-columns:.86fr 1fr;border-block:1px solid rgba(255,255,255,.22)}
.pres__img{position:relative;min-height:390px}
.pres__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pres__text{padding:56px 52px;align-self:center}
.pres__text h3{margin-top:18px;font-size:clamp(24px,2.3vw,32px);line-height:1.2;letter-spacing:-.035em}
.pres__text p{margin-top:18px;color:var(--on-dark);font-size:14.5px;line-height:1.7}
.pres__text .tlink{margin-top:24px}
.pres__grid{margin-top:44px;display:grid;grid-template-columns:.9fr 1.1fr;border-block:1px solid rgba(255,255,255,.22)}
.pres__addr{padding:50px 52px;border-right:1px solid rgba(255,255,255,.22)}
.pres__addr small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--tint)}
.pres__addr address{margin-top:14px;font-style:normal;font-size:clamp(18px,1.6vw,22px);font-weight:700;line-height:1.45;color:#fff}
.pres__addr .tlink{margin-top:26px}
.pres__practices{display:grid;grid-template-columns:1fr 1fr}
.pres__practices article{padding:40px 30px;display:grid;grid-template-columns:40px 1fr;gap:0 12px;border-bottom:1px solid rgba(255,255,255,.18)}
.pres__practices article:nth-child(2n){border-left:1px solid rgba(255,255,255,.18)}
.pres__practices article:nth-child(n+3){border-bottom:0}
.pres__practices .i{width:24px;height:24px;color:var(--tint)}
.pres__practices strong{font-size:15px;color:#fff}
.pres__practices p{grid-column:2;margin-top:8px;color:var(--on-dark-2);font-size:13px;line-height:1.6}
@media(max-width:1100px){.pres__body,.pres__grid{grid-template-columns:1fr}.pres__addr{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}}
@media(max-width:620px){.pres__text,.pres__addr{padding:34px 0}.pres__img{min-height:260px}.pres__practices{grid-template-columns:1fr}.pres__practices article{padding:24px 0}.pres__practices article:nth-child(2n){border-left:0}.pres__practices article:nth-child(3){border-bottom:1px solid rgba(255,255,255,.18)}}

/* Livrables (accueil) */
.why{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.why__copy{min-width:0}
.why__copy>p{margin-top:24px;color:var(--grey);font-size:17px;line-height:1.8}
.pills{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}
.pills li{padding:8px 14px;border:1px solid var(--line-2);border-radius:20px;font-size:12.5px;color:var(--deep)}
.why__grid{display:grid;grid-template-columns:1fr 1fr;align-self:start;border-top:1px solid var(--deep)}
.why__grid article{min-height:250px;padding:28px;border-bottom:1px solid var(--line)}
.why__grid article:nth-child(2n){border-left:1px solid var(--line)}
.why__grid h3{margin-top:42px;font-size:22px;letter-spacing:-.025em}
.why__grid p{margin-top:12px;color:var(--grey);font-size:13.5px;line-height:1.6}
@media(max-width:1100px){.why{grid-template-columns:1fr;gap:50px}}
@media(max-width:620px){.why__grid{grid-template-columns:1fr;gap:10px;border-top:0}.why__grid article,.why__grid article:nth-child(2n){min-height:0;padding:20px;border:1px solid var(--line);border-radius:18px}.why__grid h3{margin-top:22px}}

/* Témoignages */
.revs{background:#F4F7FD;padding:116px 0 105px}
.revs__head{display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;align-items:end}
.revs__score strong{display:block;font-size:82px;line-height:.85;letter-spacing:-.075em;color:var(--deep)}
.revs__score span{display:block;margin-top:16px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--grey)}
.revs__head p{margin-top:20px;max-width:760px;color:var(--grey);font-size:16px;line-height:1.75}
.revs__head .tlink{margin-top:23px}
.revs__grid{margin-top:68px;display:grid;grid-template-columns:1.22fr 1fr;border-top:1px solid var(--deep)}
.revs__grid article{min-height:340px;padding:32px 30px 27px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);background:#fff}
.revs__grid article+article{border-left:1px solid var(--line)}
.revs__q .i{width:28px;height:28px;color:var(--blue);stroke-width:2}
.revs blockquote{margin:36px 0 34px;font-size:16.5px;line-height:1.68;letter-spacing:-.015em;color:var(--ink)}
.revs article:first-child blockquote{font-size:20px;line-height:1.58}
.revs footer{margin-top:auto;display:flex;flex-direction:column;gap:5px}
.revs footer strong{font-size:14px}
.revs footer span{font:500 10.5px/1.4 var(--mono);color:var(--grey)}
.revs__source{margin-top:19px;font:400 10.5px/1.6 var(--mono);color:#5E6A80}
@media(max-width:920px){.revs{padding:84px 0 78px}.revs__head{grid-template-columns:1fr;gap:30px}.revs__grid{grid-template-columns:1fr;margin-top:46px}.revs__grid article+article{border-left:0}.revs__score strong{font-size:64px}}
@media(max-width:620px){.revs__grid article{min-height:0;padding:27px 20px}.revs blockquote,.revs article:first-child blockquote{margin:26px 0;font-size:15.5px}}

/* Accordéons */
.acc{border-bottom:1px solid var(--line)}
.acc__btn{width:100%;display:grid;align-items:center;border:0;background:none;color:var(--ink);text-align:left;font-weight:700;line-height:1.4}
.acc__btn .pm .pm__v{transition:opacity .2s}
.acc__btn[aria-expanded="true"] .pm .pm__v{opacity:0}
.acc__btn .chev{transition:transform .2s}
.acc__btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.acc__panel{color:var(--grey);line-height:1.75}
.acc__panel p+p{margin-top:12px}
.faq2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--deep);align-items:start}
.faq2 .acc:nth-child(2n){border-left:1px solid var(--line)}
.faq2 .acc__btn{min-height:104px;padding:22px 26px 22px 28px;grid-template-columns:52px minmax(0,1fr) 24px;font-size:16.5px}
.faq2 .acc__btn .i{justify-self:end;color:var(--deep);width:20px;height:20px}
.faq2 .acc__panel{padding:0 34px 30px 80px;font-size:14.5px}
.faq2 .acc.is-open{background:#F5F8FE}
.faq1{border-top:1px solid var(--deep)}
.faq1 .acc__btn{min-height:86px;padding:18px 14px 18px 4px;grid-template-columns:58px minmax(0,1fr) 24px;font-size:15.5px}
.faq1 .acc__btn .i{justify-self:end;color:var(--deep);width:18px;height:18px}
.faq1 .acc__panel{padding:0 44px 28px 62px;font-size:15px}
.faq1--tags .acc__btn{grid-template-columns:58px minmax(0,1fr) 130px 24px}
.acc__tag{font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
@media(max-width:920px){.faq2{grid-template-columns:1fr}.faq2 .acc:nth-child(2n){border-left:0}}
@media(max-width:620px){.faq2 .acc__btn,.faq1 .acc__btn{min-height:76px;padding:16px 4px;grid-template-columns:40px minmax(0,1fr) 22px;font-size:15px}.faq2 .acc__panel,.faq1 .acc__panel{padding:0 8px 24px 40px;font-size:14.5px}.faq1--tags .acc__btn{grid-template-columns:40px minmax(0,1fr) 22px}.faq1--tags .acc__tag{display:none}}

/* Bande d'appel */
.cta{position:relative;padding:100px 0;background:var(--mist)}
.cta__inner{display:grid;grid-template-columns:1.2fr .7fr;gap:100px;align-items:end}
.cta__inner p{color:var(--grey);line-height:1.7}
.cta__inner .btn{margin-top:26px}
.cta--dark{background:var(--navy)}
.cta--dark .cta__inner p{color:var(--on-dark)}
@media(max-width:920px){.cta{padding:75px 0}.cta__inner{grid-template-columns:1fr;gap:26px}}

/* Service : hero */
.whero{padding-top:124px;padding-bottom:60px;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:76px;align-items:start}
.whero__copy{min-width:0}
.whero .kicker{margin-top:34px}
.whero h1{margin-top:18px;font-size:clamp(50px,4.65vw,72px);line-height:.95;letter-spacing:-.058em}
.promise{margin-top:18px;max-width:26ch;color:var(--blue);font-size:clamp(22px,2vw,32px);font-weight:700;line-height:1.08;letter-spacing:-.035em}
.whero__lead{margin-top:14px;color:var(--grey);font-size:16.5px;line-height:1.7}
.whero .actions{margin-top:30px}
.whero__quote{margin-top:32px;padding-top:14px;border-top:1px solid var(--line)}
.whero__quote p{padding:6px 0 6px 26px;border-left:3px solid var(--blue);color:var(--deep);font-size:14.5px;font-weight:700;line-height:1.65}
.whero__widget{min-width:0;margin-top:112px;padding:30px 0;border-block:1px solid var(--line)}
@media(max-width:1100px){.whero{grid-template-columns:1fr;gap:20px}.whero__widget{margin-top:20px}}
@media(max-width:620px){.whero{padding-top:96px}.whero h1{font-size:clamp(38px,11.5vw,46px)}.promise{font-size:clamp(20px,6vw,25px)}.whero__lead{font-size:15px}}
.w__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding-bottom:14px;border-bottom:1px solid var(--line);font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.w__head b{font-weight:500;color:var(--deep)}
.w__foot{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line);font:500 10.5px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--grey)}
.w__foot .i{width:16px;height:16px;color:var(--blue)}

/* Widget storyboard */
.sb{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:start}
.sb__label{display:block;margin-bottom:14px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--deep)}
.sb__qs [role="tab"]{display:block;width:100%;min-height:66px;padding:12px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:13.5px;font-weight:700;color:var(--deep)}
.sb__qs [role="tab"][aria-selected="true"]{background:var(--mist-2)}
.sb__frame{padding:18px;border:1px solid var(--line-2);background:var(--mist-2)}
.sb__card{background:#fff}
.sb__row{padding:22px;border-bottom:1px solid var(--line)}
.sb__row:last-child{border-bottom:0}
.sb__row small{display:block;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}
.sb__row .sb__h{margin-top:12px;font-size:22px;line-height:1.15;letter-spacing:-.02em}
.sb__row .sb__h::after{content:"";display:block;width:34px;height:3px;margin-top:12px;background:var(--blue)}
.sb__row p{margin-top:8px;font-size:14px;font-weight:700;color:var(--ink)}
.sb__row--lead{background:var(--mist-2)}
.sb__tiles{display:flex;gap:4px;margin-top:14px}
.sb__tiles i{width:33px;height:33px;background:var(--mist)}
.sb__act{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.sb__act span{padding:11px 16px;background:var(--blue);color:#fff;font-size:13px;font-weight:700}
.sb__caption{margin-top:14px;color:var(--grey);font-size:12.5px}
@media(max-width:760px){.sb{grid-template-columns:1fr;gap:14px}.sb__qs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.sb__qs [role="tab"]{min-height:58px;padding:8px;font-size:12.5px;border:1px solid var(--line)}.sb__label{margin-bottom:8px}}

/* Widget couches */
.ly{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:30px 0}
.ly__btns button{width:100%;min-height:62px;display:flex;align-items:center;gap:16px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:14px;font-weight:700;color:var(--grey)}
.ly__btns button[aria-pressed="true"]{color:var(--deep)}
.ly__btns button[aria-pressed="true"] .num{color:var(--blue)}
.ly__plates{display:grid;gap:10px;align-content:start}
.ly__plate{padding:18px 20px;border:1px solid var(--line);background:var(--mist-2);transition:transform .3s var(--ease),background .2s,border-color .2s}
.ly__plate small{display:block;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}
.ly__plate b{display:block;margin-top:8px;font-size:15px;color:var(--ink)}
.ly__plate.is-on{background:#fff;border-color:var(--blue);transform:translateX(-10px)}
.ly__plate.is-on b::after{content:"";display:block;width:180px;max-width:60%;height:3px;margin-top:12px;background:var(--blue)}
@media(max-width:620px){.ly{grid-template-columns:1fr;gap:12px}.ly__btns{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.ly__plate.is-on{transform:none}}

/* Widget chronologie */
.tl{padding:22px 0}
.tl ol{margin-left:8px;border-left:2px solid var(--line)}
.tl button{position:relative;width:100%;display:grid;grid-template-columns:78px minmax(0,1fr);gap:4px 14px;padding:16px 0 16px 24px;border:0;background:none;text-align:left;color:var(--ink)}
.tl button::before{content:"";position:absolute;left:-8px;top:21px;width:14px;height:14px;border:2px solid var(--line-2);border-radius:50%;background:#fff}
.tl button[aria-pressed="true"]::before{border-color:var(--blue);background:var(--blue)}
.tl small{grid-row:1/3;padding-top:2px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;color:var(--grey)}
.tl b{font-size:15px}
.tl span{color:var(--grey);font-size:13.5px;line-height:1.55}
.tl button[aria-pressed="true"] b{color:var(--blue)}
@media(max-width:620px){.tl button{grid-template-columns:1fr}.tl small{grid-row:auto}}

/* Widget registre (devis) */
.lg{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px 0}
.lg__box{padding:18px;border:1px solid var(--line);background:#fff}
.lg__box .lg__h{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.lg__base li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.lg__base li:last-child{border-bottom:0}
.lg__base .i{width:16px;height:16px;color:var(--blue)}
.lg__opts label{display:flex;align-items:center;gap:10px;min-height:42px;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer}
.lg__opts label:last-child{border-bottom:0}
.lg__opts input{width:18px;height:18px;accent-color:var(--blue)}
.lg__out{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:18px 20px;background:var(--deep);color:#fff}
.lg__out strong{display:block;font-size:18px}
.lg__out p{margin-top:4px;color:var(--on-dark);font-size:13px}
.lg__out b{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--tint)}
@media(max-width:620px){.lg{grid-template-columns:1fr}}

/* Service : signaux */
.signals{background:#FBFCFF;border-block:1px solid var(--line)}
.signals__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.signals article{padding:48px 40px 44px}
.signals article+article{border-left:1px solid var(--line)}
.signals small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}
.signals h2{margin-top:44px;font-size:23px;line-height:1.2;letter-spacing:-.035em}
.signals p{margin-top:12px;color:var(--grey);font-size:14.5px;line-height:1.7}
@media(max-width:920px){.signals__grid{grid-template-columns:1fr}.signals article{padding:34px 0}.signals article+article{border-left:0;border-top:1px solid var(--line)}.signals h2{margin-top:20px}}

/* Service : périmètre */
.scope__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.scope__cards article{min-height:300px;padding:34px 30px;display:flex;flex-direction:column}
.scope__cards article+article{border-left:1px solid var(--line)}
.scope__cards h3{margin-top:64px;font-size:30px;line-height:1.05;letter-spacing:-.045em}
.scope__cards p{margin-top:14px;color:var(--grey);font-size:14.5px;line-height:1.65}
.bi{margin-top:auto;padding-top:28px;display:flex}
.bi i{height:4px}
.bi i:first-child{width:56px;background:var(--blue)}
.bi i:last-child{width:18px;background:var(--tint)}
.outputs{margin-top:20px;display:grid;grid-template-columns:375px minmax(0,1fr);background:var(--navy);color:#fff}
.outputs__intro{min-height:470px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid rgba(255,255,255,.14)}
.outputs__intro h3{margin-top:16px;font-size:40px;line-height:1.02;letter-spacing:-.055em;color:#fff}
.outputs__intro p{margin-top:16px;color:var(--on-dark);font-size:14px;line-height:1.6}
.outputs__grid{display:grid;grid-template-columns:1fr 1fr}
.outputs__cell{padding:34px 32px;border-bottom:1px solid rgba(255,255,255,.14)}
.outputs__cell+.outputs__cell{border-left:1px solid rgba(255,255,255,.14)}
.outputs__cell h4{display:flex;align-items:center;gap:14px;font-size:15.5px;color:#fff}
.outputs__cell>p{margin-top:16px;color:var(--on-dark);font-size:13.5px;line-height:1.6}
.checks{margin-top:18px;display:grid;gap:12px}
.checks li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.45;color:#E3E9F7}
.checks .i{width:16px;height:16px;color:var(--tint)}
.outputs__wide{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.3fr .8fr;gap:30px;align-items:center;border-bottom:0}
.outputs__wide.outputs__cell{border-left:0}
.outputs__wide p{margin-top:0}
.outputs__note{display:flex;align-items:center;gap:12px;color:var(--tint);font-size:12.5px;line-height:1.45}
.outputs__note .i{width:20px;height:20px}
@media(max-width:1100px){.outputs{grid-template-columns:1fr}.outputs__intro{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}
@media(max-width:920px){.scope__cards{grid-template-columns:1fr}.scope__cards article+article{border-left:0;border-top:1px solid var(--line)}.scope__cards article{min-height:0}.scope__cards h3{margin-top:30px}}
@media(max-width:760px){.outputs__grid{grid-template-columns:1fr}.outputs__cell+.outputs__cell{border-left:0}.outputs__wide{grid-template-columns:1fr;gap:14px}}
@media(max-width:620px){.outputs__intro,.outputs__cell{padding:28px 20px}.outputs__intro h3{font-size:32px}}

/* Service : photo */
.photo{display:grid;grid-template-columns:minmax(0,651px) minmax(0,1fr);gap:96px;align-items:center}
.photo__img{position:relative;aspect-ratio:651/660;overflow:hidden;background:var(--mist)}
.photo__img img{width:100%;height:100%;object-fit:cover}
.photo__img figcaption{position:absolute;left:18px;bottom:18px;padding:8px 12px;border-radius:6px;background:rgba(7,23,55,.8);color:#fff;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.photo__copy{min-width:0}
.photo__copy .h2{font-size:clamp(40px,4.4vw,64px)}
.photo__copy>p{margin-top:22px;color:var(--grey);font-size:16.5px;line-height:1.75}
.choice{margin-top:36px;padding:22px 0;display:grid;grid-template-columns:40px 1fr;border-block:1px solid var(--line)}
.choice .i{grid-row:1/3;width:22px;height:22px;color:var(--blue)}
.choice b{font-size:15px}
.choice span{grid-column:2;margin-top:4px;color:var(--grey);font-size:13.5px;line-height:1.55}
@media(max-width:1100px){.photo{gap:60px}}
@media(max-width:920px){.photo{grid-template-columns:1fr;gap:40px}.photo__img{aspect-ratio:4/3}}

/* Service : méthode */
.wm{background:#F1F4FC}
.wm__box{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line-2);background:#fff}
.wm__tabs{border-right:1px solid var(--line-2)}
.wm__tabs [role="tab"]{width:100%;min-height:94px;padding:0 28px 0 24px;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;font-size:15px;font-weight:700;color:#5E6A80}
.wm__tabs [role="tab"]:last-child{border-bottom:0}
.wm__tabs [role="tab"][aria-selected="true"]{background:var(--mist-2);color:var(--deep)}
.wm__tabs [role="tab"] i{justify-self:end;width:18px;height:3px;background:var(--line-2)}
.wm__tabs [role="tab"][aria-selected="true"] i{width:24px;background:var(--blue)}
.wm__panel{position:relative;min-height:520px;padding:118px 110px 80px 115px;overflow:hidden}
.wm__panel::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--line)}
.wm__bar{position:absolute;left:0;top:0;height:3px;background:var(--blue)}
.wm__ring{position:absolute;right:-60px;top:-160px;width:320px;height:320px;border:1px solid var(--line);border-radius:50%;pointer-events:none}
.wm__ring--b{right:auto;left:auto;top:auto;right:100px;bottom:-190px;width:290px;height:290px;border-style:dashed;border-color:var(--pale)}
.wm__panel small{position:relative;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.wm__panel h3{position:relative;margin-top:30px;font-size:clamp(40px,4.4vw,64px);line-height:1;letter-spacing:-.055em}
.wm__panel p{position:relative;margin-top:26px;max-width:560px;color:var(--grey);font-size:16.5px;line-height:1.75}
.decision{position:relative;margin-top:36px;display:inline-grid;grid-template-columns:24px auto;gap:2px 12px;align-items:center;padding:12px 18px;background:var(--mist)}
.decision .i{grid-row:1/3;width:18px;height:18px;color:var(--deep)}
.decision small{font-size:9.5px;color:var(--deep)}
.decision b{font-size:14px;color:var(--deep)}
.wm__dots{position:absolute;right:84px;bottom:42px;display:flex;gap:6px}
.wm__dots i{width:24px;height:3px;background:var(--line)}
.wm__dots i.on{background:var(--blue)}
@media(max-width:1100px){.wm__panel{padding:80px 44px 70px}.wm__box{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:920px){.wm__box{grid-template-columns:1fr}.wm__tabs{border-right:0;border-bottom:1px solid var(--line-2)}.wm__tabs [role="tab"]{min-height:60px}.wm__panel{min-height:0;padding:56px 26px 70px}.wm__dots{right:26px;bottom:28px}}

/* Service : expertise */
.depth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--deep);border-bottom:1px solid var(--line)}
.depth article{position:relative;min-height:355px;padding:40px 30px}
.depth article+article{border-left:1px solid var(--line)}
.depth__ico{position:absolute;right:30px;top:30px;color:var(--sky)}
.depth__ico .i{width:24px;height:24px}
.depth h3{margin-top:110px;font-size:25px;line-height:1.15;letter-spacing:-.035em}
.depth p{margin-top:16px;color:var(--grey);font-size:14.5px;line-height:1.7}
.depth--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.depth--6 article:nth-child(4){border-left:0}
.depth--6 article:nth-child(n+4){border-top:1px solid var(--line)}
@media(max-width:920px){.depth,.depth--6{grid-template-columns:1fr}.depth article+article{border-left:0;border-top:1px solid var(--line)}.depth article{min-height:0;padding:30px 0}.depth h3{margin-top:34px}.depth__ico{right:0}}

/* Service : réalisations liées */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cases__media{position:relative;aspect-ratio:437/270;overflow:hidden;background:var(--navy)}
.cases__media>img,.cases__media>svg{width:100%;height:100%;object-fit:cover}
.cases__body{padding:30px 0 28px;border-bottom:1px solid var(--line)}
.cases h3{margin-top:12px;font-size:27px;line-height:1.1;letter-spacing:-.035em;color:var(--deep)}
.cases p{margin-top:12px;color:var(--grey);font-size:14.5px;line-height:1.6}
@media(max-width:920px){.cases{grid-template-columns:1fr;gap:34px}}

/* Service : liens */
.related{padding:110px 0}
.related__inner{display:grid;grid-template-columns:.8fr 1.1fr;gap:60px;align-items:start}
.related__list{border-top:1px solid rgba(255,255,255,.25)}
.related__list a{min-height:63px;padding:0 6px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.25);font-size:14.5px;font-weight:700;color:#fff;transition:padding .2s var(--ease)}
.related__list a:hover{padding-left:14px}
.related__list .i{width:16px;height:16px;color:var(--tint)}
@media(max-width:920px){.related{padding:80px 0}.related__inner{grid-template-columns:1fr;gap:34px}}

/* Service : lectures */
.reading{padding:88px 0;background:#F3F6FC;border-bottom:1px solid var(--line)}
.reading__inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
.reading h2{margin-top:18px;font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.055em}
.reading header p{margin-top:16px;max-width:480px;color:var(--grey);font-size:14.5px;line-height:1.75}
.reading__links{border-top:1px solid var(--deep)}
.reading__links a{min-height:108px;padding:20px 8px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px 0;align-items:center;border-bottom:1px solid var(--line);transition:padding .2s var(--ease),color .2s}
.reading__links a:hover{padding-left:16px;color:var(--blue)}
.reading__links .num{grid-row:1/3}
.reading__links strong{font-size:18px;line-height:1.35;letter-spacing:-.02em}
.reading__links small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.reading__links .i{grid-column:3;grid-row:1/3;width:20px;height:20px;margin-left:16px;color:var(--deep)}
@media(max-width:920px){.reading{padding:70px 0}.reading__inner{grid-template-columns:1fr;gap:36px}.reading__links a{grid-template-columns:40px minmax(0,1fr) auto}.reading__links strong{font-size:16px}}

/* Service : questions */
.wfaq{display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;align-items:start}
.wfaq header{position:sticky;top:120px}
.wfaq header>p{margin-top:24px;color:var(--grey);font-size:15px;line-height:1.75}
.wfaq header .tlink{margin-top:30px}
@media(max-width:920px){.wfaq{grid-template-columns:1fr;gap:34px}.wfaq header{position:static}}

/* Hub services */
.hubhero{min-height:760px;padding-top:120px;padding-bottom:70px;display:grid;grid-template-columns:minmax(0,1fr) 435px;gap:60px;align-items:center}
.hubhero h1{margin-top:22px;font-size:clamp(56px,6.6vw,96px);line-height:.9;letter-spacing:-.072em}
.hubhero__lead{margin-top:34px;max-width:760px;color:var(--grey);font-size:18px;line-height:1.7}
.hubhero .actions{align-items:center;gap:13px 26px}
.startcard{position:relative;padding:40px 30px 36px;background:var(--navy);color:#fff;border-top:4px solid var(--tint)}
.startcard h2{margin-top:18px;font-size:30px;line-height:1.1;letter-spacing:-.04em}
.startcard p{margin-top:16px;color:var(--on-dark);font-size:14px;line-height:1.6}
.startcard ul{margin-top:24px}
.startcard li{min-height:44px;display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.16);font-size:13.5px;font-weight:700}
.startcard .i{width:16px;height:16px;color:var(--tint)}
.startcard .pixels{right:-18px;bottom:-110px}
@media(max-width:1100px){.hubhero{min-height:0;grid-template-columns:1fr}.startcard{max-width:520px}}
@media(max-width:620px){.hubhero{padding-top:100px}.hubhero h1{font-size:clamp(42px,12.6vw,54px)}.hubhero__lead{font-size:16px}}
.fams{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2)}
.fam{padding:34px;min-width:0}
.fam:nth-child(2n){border-left:1px solid var(--line-2)}
.fam:nth-child(n+3){border-top:1px solid var(--line-2)}
.fam__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.fam__num{width:42px;height:42px;flex:none;display:grid;place-items:center;background:var(--mist);color:var(--deep);font:500 11px/1 var(--mono)}
.fam h2{font-size:clamp(28px,2.8vw,38px);line-height:1.05;letter-spacing:-.05em;text-align:right;color:var(--deep)}
.fam>p{margin-top:22px;min-height:48px;color:var(--grey);font-size:14px;line-height:1.6}
.linkrows{margin-top:30px;border-top:1px solid var(--line)}
.linkrows a{min-height:49px;padding:8px 2px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--deep);transition:padding .2s var(--ease),color .2s}
.linkrows a:hover{padding-left:8px;color:var(--blue)}
.linkrows .i{width:16px;height:16px}
@media(max-width:920px){.fams{grid-template-columns:1fr}.fam:nth-child(2n){border-left:0}.fam:nth-child(n+2){border-top:1px solid var(--line-2)}.fam h2{text-align:left}}
@media(max-width:620px){.fam{padding:26px 18px}}
.hubm__inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}
.hubm__inner>div>p{margin-top:22px;color:var(--on-dark);font-size:15.5px;line-height:1.75}
.hubm__rows{border-top:1px solid rgba(255,255,255,.25)}
.hubm__rows article{padding:28px 0;display:grid;grid-template-columns:44px 56px 210px minmax(0,1fr);gap:0 10px;align-items:start;border-bottom:1px solid rgba(255,255,255,.25)}
.hubm__rows .i{width:24px;height:24px;color:var(--tint)}
.hubm__rows .num{padding-top:5px}
.hubm__rows h3{font-size:19px;line-height:1.25}
.hubm__rows p{color:var(--on-dark);font-size:14px;line-height:1.6}
@media(max-width:1100px){.hubm__inner{grid-template-columns:1fr;gap:40px}}
@media(max-width:760px){.hubm__rows article{grid-template-columns:44px minmax(0,1fr)}.hubm__rows .num{display:none}.hubm__rows p{grid-column:2;margin-top:8px}}
.dir{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2)}
.dir>div{padding:44px 42px;min-width:0}
.dir>div:first-child{background:var(--mist-2)}
.dir>div+div{border-left:1px solid var(--line-2)}
.dir h2{margin-top:18px;font-size:clamp(32px,3.2vw,46px);line-height:1.05;letter-spacing:-.05em}
@media(max-width:920px){.dir{grid-template-columns:1fr}.dir>div+div{border-left:0;border-top:1px solid var(--line-2)}.dir>div{padding:32px 20px}}

/* Pages institutionnelles */
.ihero{padding-top:150px;padding-bottom:70px;text-align:center}
.ihero .kicker{justify-content:center;margin-top:34px}
.ihero h1{margin:26px auto 0;max-width:1180px;font-size:clamp(52px,6.3vw,91px);line-height:.94;letter-spacing:-.065em}
.ihero__lead{margin:28px auto 0;max-width:720px;color:var(--grey);font-size:18px;line-height:1.7}
.ihero--left{text-align:left}
.ihero--left .kicker{justify-content:flex-start}
@media(max-width:620px){.ihero{padding-top:104px;padding-bottom:48px}.ihero h1{font-size:clamp(38px,11.6vw,50px)}.ihero__lead{font-size:16px}}
.ifinal{position:relative;padding:92px 0}
.ifinal__inner{display:grid;grid-template-columns:1.1fr .75fr;gap:100px;align-items:end}
.ifinal__inner p{color:var(--on-dark);font-size:15.5px;line-height:1.7}
.ifinal__inner .btn{margin-top:26px}
@media(max-width:920px){.ifinal__inner{grid-template-columns:1fr;gap:26px}}

/* Réalisations */
.rhero{padding-top:150px;padding-bottom:96px;text-align:center}
.rhero .kicker{justify-content:center;margin-top:58px}
.rhero h1{margin-top:26px;font-size:clamp(58px,8.4vw,121px);line-height:.88;letter-spacing:-.075em}
.rhero__foot{margin-top:74px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;text-align:left}
.rhero__foot>p{color:var(--grey);font-size:18px;line-height:1.75}
.rstat{padding-top:24px;border-top:3px solid var(--blue);display:grid;grid-template-columns:auto 1fr;gap:4px 20px;align-items:center}
.rstat strong{grid-row:1/3;font-size:66px;line-height:.9;letter-spacing:-.06em;color:var(--deep)}
.rstat b{font-size:17px;align-self:end}
.rstat span{color:var(--grey);font-size:13px;align-self:start}
@media(max-width:920px){.rhero__foot{grid-template-columns:1fr;gap:34px;margin-top:50px}}
@media(max-width:620px){.rhero{padding-top:104px;padding-bottom:60px}.rhero .kicker{margin-top:34px}.rhero h1{font-size:clamp(42px,13vw,58px)}}
.posters{display:grid;grid-template-columns:1fr 1fr;gap:80px 28px}
.poster:nth-child(2n){margin-top:100px}
.poster__media{position:relative;aspect-ratio:703/450;overflow:hidden;background:var(--navy)}
.poster__media>svg,.poster__media>img{width:100%;height:100%;object-fit:cover}
.poster__body{padding-top:30px}
.poster h2{margin-top:14px;font-size:clamp(32px,3.4vw,48px);line-height:1;letter-spacing:-.05em;color:var(--deep)}
.poster p{margin-top:14px;max-width:640px;color:var(--grey);font-size:15px;line-height:1.65}
@media(max-width:920px){.posters{grid-template-columns:1fr;gap:56px}.poster:nth-child(2n){margin-top:0}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:42px;padding:18px 0;border-block:1px solid var(--line-2)}
.filters button{min-height:44px;padding:0 14px;display:flex;align-items:center;gap:10px;border:0;background:var(--mist-2);font-size:13.5px;font-weight:700;color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--deep);color:#fff}
.filters button span{min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--deep);font:500 10.5px/1 var(--mono)}
.lib{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2)}
.lib article{padding:34px;min-width:0;border-bottom:1px solid var(--line-2)}
.lib article:nth-child(2n){border-left:1px solid var(--line-2)}
.lib .poster__media{aspect-ratio:611/412}
.lib h2{font-size:clamp(28px,2.8vw,38px)}
@media(max-width:920px){.lib{grid-template-columns:1fr}.lib article:nth-child(2n){border-left:0}.lib article{padding:26px 18px}}
.format{background:#EEF3FC}
.format__inner{display:grid;grid-template-columns:.75fr 1fr;gap:90px;align-items:start}
.rows3{border-top:1px solid var(--line-2)}
.rows3 li{min-height:72px;padding:16px 0;display:grid;grid-template-columns:68px 190px minmax(0,1fr);align-items:baseline;border-bottom:1px solid var(--line-2)}
.rows3 b{font-size:17px}
.rows3 span{color:var(--grey);font-size:14px}
@media(max-width:920px){.format__inner{grid-template-columns:1fr;gap:34px}.rows3 li{grid-template-columns:50px minmax(0,1fr)}.rows3 span{grid-column:2;margin-top:6px}}

/* Dossier */
.chero{padding-top:124px;padding-bottom:80px;display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center}
.chero__copy{min-width:0}
.chero .kicker{margin-top:30px}
.chero h1{margin-top:20px;font-size:clamp(52px,6vw,100px);line-height:.9;letter-spacing:-.07em}
.chero__lead{margin-top:28px;max-width:560px;color:var(--grey);font-size:clamp(17px,1.5vw,21px);line-height:1.55}
.chero__frame{position:relative;padding:14px 0 0 18px;border:1px solid var(--line-2);border-right:0;border-bottom:0}
.chero__media{aspect-ratio:713/560;overflow:hidden;background:var(--navy)}
.chero__media>svg,.chero__media>img{width:100%;height:100%;object-fit:cover}
.chero__label{position:absolute;left:36px;right:0;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:16px 22px;border-top:3px solid var(--blue);background:#fff;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.chero__label b{font:700 17px/1.2 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)}
@media(max-width:1100px){.chero{grid-template-columns:1fr;gap:44px}}
@media(max-width:620px){.chero{padding-top:100px}.chero h1{font-size:clamp(40px,12vw,56px)}.chero__label{left:18px}}
.split{display:grid;grid-template-columns:.55fr 1fr;gap:90px;align-items:start}
.split>div:first-child{min-width:0}
@media(max-width:920px){.split{grid-template-columns:1fr;gap:34px}}
.ledger{background:#EFF4FD}
.factrows{border-top:1px solid var(--line-2)}
.factrows li{min-height:82px;padding:18px 0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line-2);font-size:17px;font-weight:700}
.cells3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.cells3 article{padding:36px 28px 40px;min-width:0}
.cells3 article+article{border-left:1px solid var(--line-2)}
.cells3 h3{margin-top:40px;font-size:22px;letter-spacing:-.02em}
.cells3 p{margin-top:12px;color:var(--grey);font-size:14.5px;line-height:1.65}
@media(max-width:760px){.cells3{grid-template-columns:1fr}.cells3 article+article{border-left:0;border-top:1px solid var(--line-2)}.cells3 article{padding:26px 0}.cells3 h3{margin-top:16px}}
.csource{padding:28px 0}
.csource__inner{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 18px;align-items:center}
.csource .i{width:24px;height:24px;color:var(--tint)}
.csource strong{font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--tint)}
.csource p{grid-column:2;color:var(--on-dark);font-size:15px;line-height:1.6}
.csource .tlink{grid-column:3;grid-row:1/3}
@media(max-width:760px){.csource__inner{grid-template-columns:34px minmax(0,1fr)}.csource .tlink{grid-column:1/-1;grid-row:auto;margin-top:14px}}

/* Blog */
.bhero{padding-top:160px;padding-bottom:110px;border-bottom:1px solid var(--line)}
.bhero__grid{margin-top:74px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:end}
.bhero h1{margin-top:28px;font-size:clamp(54px,6.9vw,100px);line-height:.88;letter-spacing:-.072em}
.bhero .bhero__aside{padding-top:26px;border-top:3px solid var(--blue)}
.bhero .bhero__aside small{font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.bhero .bhero__aside p{margin-top:22px;color:var(--grey);font-size:17px;line-height:1.7}
.bhero .bhero__aside .tlink{margin-top:28px}
@media(max-width:920px){.bhero{padding-top:120px;padding-bottom:70px}.bhero__grid{grid-template-columns:1fr;gap:40px;margin-top:40px}}
@media(max-width:620px){.bhero h1{font-size:clamp(42px,12.6vw,56px)}}
.lead3{display:grid;grid-template-columns:1.45fr 1fr;gap:34px}
.lead3__side{display:grid;gap:34px;align-content:start}
.lead3 .media{position:relative;overflow:hidden;background:var(--navy)}
.lead3 .media>img,.lead3 .media>svg{width:100%;height:100%;object-fit:cover}
.lead3__big .media{aspect-ratio:809/570}
.lead3__side .media{aspect-ratio:517/290}
.lead3 article>div:last-child{padding:30px 0 34px;border-bottom:1px solid var(--line-2)}
.lead3__big h2{margin-top:16px;font-size:clamp(32px,3.6vw,54px);line-height:1;letter-spacing:-.05em;color:var(--deep)}
.lead3__big p{margin-top:18px;color:var(--grey);font-size:15.5px;line-height:1.7}
.lead3__side h2{margin-top:14px;font-size:clamp(24px,2.3vw,32px);line-height:1.05;letter-spacing:-.04em;color:var(--deep)}
@media(max-width:920px){.lead3{grid-template-columns:1fr}}
.nbooks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.22)}
.nbooks a{min-height:148px;padding:30px 30px 30px 24px;display:grid;grid-template-columns:50px minmax(0,1fr) 24px;align-items:start;border-bottom:1px solid rgba(255,255,255,.22);transition:background .2s}
.nbooks a:not(:nth-child(3n+1)){border-left:1px solid rgba(255,255,255,.22)}
.nbooks a:hover{background:var(--navy-2)}
.nbooks strong{display:block;font-size:20px;line-height:1.2;color:#fff}
.nbooks small{display:block;margin-top:10px;color:var(--on-dark-2);font-size:12.5px}
.nbooks .i{margin-top:14px;color:var(--tint)}
@media(max-width:920px){.nbooks{grid-template-columns:1fr 1fr}.nbooks a:not(:nth-child(3n+1)){border-left:0}.nbooks a:nth-child(2n){border-left:1px solid rgba(255,255,255,.22)}}
@media(max-width:620px){.nbooks{grid-template-columns:1fr}.nbooks a:nth-child(2n){border-left:0}.nbooks a{min-height:0}}
.search{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:3px solid var(--deep);border-bottom:1px solid var(--line-2)}
.search .i{color:var(--blue);width:20px;height:20px}
.search input{flex:1;min-width:0;min-height:48px;padding:0 4px;border:0;background:transparent;font-size:16px;color:var(--ink)}
.search input::placeholder{color:#6B7488}
.search output{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue);white-space:nowrap}
.blist article{padding:40px 0;display:grid;grid-template-columns:90px 310px minmax(0,1fr) 60px;gap:0 28px;align-items:center;border-bottom:1px solid var(--line-2)}
.blist .media{aspect-ratio:310/190;overflow:hidden;background:var(--navy)}
.blist .media>img,.blist .media>svg{width:100%;height:100%;object-fit:cover}
.blist .num{align-self:start}
.blist h2{margin-top:12px;font-size:clamp(24px,2.4vw,36px);line-height:1.05;letter-spacing:-.04em}
.blist h2 a:hover{color:var(--blue)}
.blist p{margin-top:12px;color:var(--grey);font-size:14px;line-height:1.6}
.round{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;color:var(--deep);transition:background .2s,color .2s}
.round:hover{background:var(--deep);color:#fff}
.empty{padding:40px 0;color:var(--grey)}
@media(max-width:1100px){.blist article{grid-template-columns:220px minmax(0,1fr) 60px}.blist .num{display:none}}
@media(max-width:760px){.blist article{grid-template-columns:1fr;gap:20px}.blist .round{display:none}}
.btools{padding:24px 0;border-bottom:1px solid var(--line)}
.btools ul{display:flex;flex-wrap:wrap;gap:8px}
.btools a{min-height:40px;padding:0 13px;display:flex;align-items:center;gap:9px;background:var(--mist-2);font-size:13.5px;font-weight:700}
.btools a[aria-current]{background:var(--deep);color:#fff}
.btools a span{font:500 10.5px/1 var(--mono);color:var(--blue)}
.btools a[aria-current] span{color:var(--tint)}
.bresults__head{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.bresults__head b{font:700 16px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)}
.bcards{margin-top:26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.bcard .media{aspect-ratio:435/260;overflow:hidden;background:var(--navy)}
.bcard .media>img,.bcard .media>svg{width:100%;height:100%;object-fit:cover}
.bcard__meta{margin-top:24px;display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:#4A5468}
.bcard__meta span:first-child{color:var(--blue);text-transform:uppercase;letter-spacing:.03em}
.bcard h2,.bcard h3{margin-top:12px;font-size:clamp(22px,2.1vw,30px);line-height:1.08;letter-spacing:-.035em}
.bcard h2 a:hover,.bcard h3 a:hover{color:var(--blue)}
.bcard p{margin-top:12px;color:var(--grey);font-size:14.5px;line-height:1.65}
.bcard__foot{margin-top:18px;padding-bottom:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-2);font-size:12.5px;font-weight:700;color:#4A5468}
.bcard__foot span{display:flex;align-items:center;gap:7px}
.bcard__foot .i{width:15px;height:15px}
.bcard--wide{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:0 54px;align-items:center}
.bcard--wide .media{aspect-ratio:775/520}
.bcard--wide h2{font-size:clamp(32px,4vw,60px);line-height:1}
@media(max-width:920px){.bcards{grid-template-columns:1fr}.bcard--wide{grid-template-columns:1fr}}

/* Article */
.ahero{padding-top:140px;padding-bottom:50px;text-align:center}
.ahero .kicker{justify-content:center;margin-top:30px}
.ahero h1{margin:24px auto 0;max-width:1100px;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.055em}
.ahero__excerpt{margin:26px auto 0;max-width:760px;color:var(--grey);font-size:18px;line-height:1.65}
.ameta{margin-top:30px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 12px;font-size:13.5px;font-weight:700;color:#4A5468}
.ameta span+span::before{content:"·";margin-right:12px;color:var(--line-2)}
.ahero__stamp{margin-top:12px;font-size:12.5px;color:var(--grey)}
@media(max-width:620px){.ahero{padding-top:100px}.ahero h1{font-size:clamp(34px,10vw,44px)}.ahero__excerpt{font-size:16px}}
.acover{aspect-ratio:1460/560;overflow:hidden;border-radius:18px;background:var(--navy)}
.acover>img,.acover>svg{width:100%;height:100%;object-fit:cover}
@media(max-width:620px){.acover{aspect-ratio:4/3}}
.alayout{padding:80px 0 110px;display:grid;grid-template-columns:210px minmax(0,820px);gap:100px;justify-content:center}
.alayout .alayout__toc{position:sticky;top:120px;align-self:start;padding-top:28px;border-top:3px solid var(--blue)}
.alayout .alayout__toc strong{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--deep)}
.alayout .alayout__toc ol{margin-top:16px;display:grid;gap:4px}
.alayout .alayout__toc ol a{display:block;padding:5px 0;color:var(--grey);font-size:13px;line-height:1.45}
.alayout .alayout__toc ol a:hover{color:var(--blue)}
.alayout .alayout__toc .more{margin-top:24px;color:var(--blue)}
@media(max-width:1100px){.alayout{grid-template-columns:180px minmax(0,1fr);gap:50px}}
@media(max-width:920px){.alayout{grid-template-columns:minmax(0,1fr);gap:30px;padding:50px 0 80px}.alayout .alayout__toc{position:static}}
.prose>p{margin-top:24px;font-size:17px;line-height:1.9;color:#2E3A4E}
.prose>p:first-child{margin-top:0}
.prose h2{margin-top:84px;font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.05em;scroll-margin-top:120px}
.prose h3{margin-top:48px;font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.035em;color:var(--deep)}
.prose ul,.prose ol{margin-top:22px;padding-left:22px;font-size:17px;line-height:1.85;color:#2E3A4E}
.prose li+li{margin-top:8px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose .callout{margin-top:32px;padding:22px 24px;border-left:3px solid var(--blue);background:var(--mist-2);font-size:15.5px;line-height:1.75;color:var(--ink)}
.tablewrap{margin-top:30px;overflow-x:auto}
.prose table{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.prose th,.prose td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue);border-bottom-color:var(--deep)}
@media(max-width:620px){.prose>p,.prose ul,.prose ol{font-size:16px;line-height:1.8}.prose h2{margin-top:56px}}
.bridge{padding:70px 0;background:var(--mist);border-block:1px solid var(--line)}
.bridge__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px 60px;align-items:center}
.bridge h2{margin-top:14px;font-size:clamp(34px,3.4vw,52px);line-height:1;letter-spacing:-.05em;color:var(--deep)}
.bridge p{margin-top:12px;max-width:740px;color:var(--grey);font-size:15px;line-height:1.7}
@media(max-width:760px){.bridge__inner{grid-template-columns:1fr}}
.arelated{background:#EFF4FD}
.arelated .intro{align-items:end}

/* Agence */
.aghero{padding-top:132px;padding-bottom:64px;display:grid;grid-template-columns:.84fr 1fr;gap:70px;align-items:center}
.aghero__copy{min-width:0}
.aghero h1{margin-top:22px;font-size:clamp(52px,5.2vw,82px);line-height:.94;letter-spacing:-.064em}
.aghero__lead{margin-top:26px;color:var(--grey);font-size:18px;line-height:1.7}
.proofs3{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.proofs3 b{display:block;font-size:19px;color:var(--deep)}
.proofs3 span{display:block;margin-top:4px;color:var(--grey);font-size:12.5px;line-height:1.45}
.aghero__media{position:relative;aspect-ratio:709/650;border-radius:26px;overflow:hidden;background:var(--mist)}
.aghero__media img{width:100%;height:100%;object-fit:cover}
.aghero__chip{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:12px;background:#fff}
.aghero__chip .i{width:22px;height:22px;color:var(--blue)}
.aghero__chip small{display:block;font-size:12.5px;color:var(--grey)}
.aghero__chip b{display:block;font-size:14.5px;color:var(--deep)}
.aghero__wrap{position:relative}
.aghero__wrap .pixels{right:-10px;top:-30px}
@media(max-width:1100px){.aghero{grid-template-columns:1fr;gap:44px}}
@media(max-width:620px){.aghero{padding-top:100px}.aghero h1{font-size:clamp(40px,12vw,52px)}.proofs3{grid-template-columns:1fr}.aghero__media{aspect-ratio:4/5}}
.thesis{display:grid;grid-template-columns:.9fr 1fr;gap:120px;align-items:start}
.thesis__copy p{color:var(--grey);font-size:17px;line-height:1.85}
.thesis__copy p+p{margin-top:24px}
@media(max-width:1100px){.thesis{gap:60px}}
@media(max-width:920px){.thesis{grid-template-columns:1fr;gap:30px}}
.ctx__frame{margin-top:62px;display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid rgba(255,255,255,.22);border-radius:22px;overflow:hidden}
.ctx__tabs{border-right:1px solid rgba(255,255,255,.22)}
.ctx__tabs [role="tab"]{width:100%;min-height:91px;padding:0 24px;display:flex;align-items:center;gap:20px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:none;color:#fff;font-size:15.5px;font-weight:700;text-align:left}
.ctx__tabs [role="tab"]:last-child{border-bottom:0}
.ctx__tabs [role="tab"][aria-selected="true"]{background:var(--navy-2)}
.ctx__stage{padding:42px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:36px;align-items:center}
.nb{padding:26px 28px;border-radius:14px;background:#F7F9FE;color:var(--ink)}
.nb__head{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.nb>small{display:block;margin-top:26px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.nb h3{margin-top:10px;font-size:clamp(24px,2.3vw,30px);line-height:1.1;letter-spacing:-.035em;color:var(--ink)}
.nb>p{margin-top:12px;color:var(--grey);font-size:14px;line-height:1.6}
.nb__grid{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nb__chip{display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 12px;align-items:center;padding:12px;border:1px solid var(--line-2);border-radius:8px;background:#fff}
.nb__chip i{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:var(--mist);color:var(--blue);font:500 11px/1 var(--mono);font-style:normal}
.nb__chip i .i{width:14px;height:14px}
.nb__chip small{font:500 9.5px/1.3 var(--mono);text-transform:uppercase;color:var(--grey)}
.nb__chip b{font-size:12.5px;color:var(--ink)}
.nb__chip.is-pending{border-style:dashed}
.nb__chip.is-pending b{color:var(--grey);font-weight:600}
.ctx__note p{margin-top:16px;color:var(--on-dark);font-size:14px;line-height:1.65}
@media(max-width:1100px){.ctx__stage{grid-template-columns:1fr}}
@media(max-width:920px){.ctx__frame{grid-template-columns:1fr}.ctx__tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.ctx__tabs [role="tab"]{min-height:66px;padding:10px;flex-direction:column;justify-content:center;gap:4px;font-size:12.5px;border-bottom:0;text-align:center}.ctx__stage{padding:26px 18px}}
@media(max-width:620px){.ctx__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.nb__grid{grid-template-columns:1fr}.nb{padding:20px 16px}}
.places{background:#F1F5FC}
.mosaic{display:grid;grid-template-columns:1.84fr 1fr 1fr;grid-template-rows:340px 340px;gap:18px}
.mosaic figure{position:relative;overflow:hidden;border-radius:16px;background:var(--navy)}
.mosaic figure:nth-child(1){grid-row:1/3}
.mosaic figure:nth-child(2){grid-row:1/3}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;background:rgba(7,23,55,.84);color:#fff}
.mosaic figcaption small{font:500 10.5px/1 var(--mono);color:var(--tint)}
.mosaic figcaption b{display:block;margin-top:8px;font-size:19px}
.mosaic figcaption span{display:block;margin-top:4px;color:var(--on-dark);font-size:12.5px;line-height:1.5}
@media(max-width:920px){.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mosaic figure,.mosaic figure:nth-child(1),.mosaic figure:nth-child(2){grid-row:auto;aspect-ratio:4/5}}
@media(max-width:620px){.mosaic{grid-template-columns:1fr}.mosaic figure,.mosaic figure:nth-child(1),.mosaic figure:nth-child(2){aspect-ratio:4/3}}
.engage__head{display:grid;grid-template-columns:1fr 1fr;gap:40px 80px;margin-bottom:70px}
.engage__head .h2{margin-top:0}
.engage__head p{grid-column:1;color:var(--grey);font-size:16px;line-height:1.75;max-width:720px}
@media(max-width:920px){.engage__head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--deep);border-bottom:1px solid var(--line)}
.grid4 article{min-height:320px;padding:36px 27px}
.grid4 article+article{border-left:1px solid var(--line)}
.grid4 h3{margin-top:70px;font-size:22px;line-height:1.2;letter-spacing:-.025em}
.grid4 p{margin-top:14px;color:var(--grey);font-size:14px;line-height:1.65}
@media(max-width:1100px){.grid4{grid-template-columns:1fr 1fr}.grid4 article:nth-child(3){border-left:0}.grid4 article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.grid4{grid-template-columns:1fr}.grid4 article+article{border-left:0;border-top:1px solid var(--line)}.grid4 article{min-height:0;padding:28px 0}.grid4 h3{margin-top:22px}}
.cont__inner{display:grid;grid-template-columns:.56fr 1fr;gap:80px;align-items:center}
.cont__img{position:relative;aspect-ratio:525/680;overflow:hidden;border-radius:18px}
.cont__img img{width:100%;height:100%;object-fit:cover}
.cont__img span{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:rgba(7,23,55,.84);font-size:14px;font-weight:700;color:#fff}
.cont__img .i{width:17px;height:17px}
.cont__copy>p{margin-top:24px;color:var(--on-dark);font-size:16px;line-height:1.75}
.cont__grid{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.22)}
.cont__grid article{padding:28px 22px;border-bottom:1px solid rgba(255,255,255,.22)}
.cont__grid article:nth-child(2n){border-left:1px solid rgba(255,255,255,.22)}
.cont__grid .i{width:24px;height:24px;color:var(--tint)}
.cont__grid h3{margin-top:22px;font-size:16px}
.cont__grid p{margin-top:8px;color:var(--on-dark-2);font-size:13px;line-height:1.6}
@media(max-width:1100px){.cont__inner{grid-template-columns:1fr;gap:44px}.cont__img{aspect-ratio:16/10}}
@media(max-width:620px){.cont__grid{grid-template-columns:1fr}.cont__grid article:nth-child(2n){border-left:0}.cont__grid article{padding:22px 0}}

/* Avis */
.score{max-width:560px;margin:0 auto;padding:34px 0 40px;border-top:2px solid var(--deep);border-bottom:1px solid var(--line-2);text-align:center}
.score strong{display:block;font-size:88px;line-height:1;letter-spacing:-.07em;color:var(--deep)}
.score span{display:block;margin-top:8px;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.score p{margin-top:18px;color:var(--grey);font-size:13.5px;line-height:1.6}
.score .tlink{margin:18px auto 0}

/* Contact */
.csimple{padding-bottom:110px;display:grid;grid-template-columns:.8fr 1.1fr;gap:90px;align-items:start}
.csimple__copy{min-width:0}
.csimple__copy>p{margin-top:24px;color:var(--grey);font-size:16.5px;line-height:1.75}
.info{margin-top:40px;border:1px solid var(--line-2)}
.info li{padding:18px 18px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 0;align-items:center;border-bottom:1px solid var(--line-2)}
.info li:last-child{border-bottom:0}
.info .i{grid-row:1/3;width:20px;height:20px;color:var(--blue)}
.info small{font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.info b,.info a,.info address{font-style:normal;font-size:14.5px;font-weight:700;color:var(--deep);line-height:1.5}
.hours{margin-top:22px;font-size:13.5px;font-weight:700;color:var(--deep)}
.form{padding:34px 30px 28px;background:#F3F6FC;border-top:3px solid var(--deep)}
.form__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-bottom:18px;border-bottom:1px solid var(--line-2);font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.form__head b{font:700 14px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--deep)}
.field{margin-top:22px}
.field label,.field .label{display:block;margin-bottom:9px;font-size:13px;font-weight:700;color:var(--deep)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--line-2);border-radius:0;background:#fff;font-size:15px;color:var(--ink)}
.field textarea{min-height:172px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#6B7488}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#A3271E}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consent{margin-top:22px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;font-size:13.5px;line-height:1.5;color:var(--ink)}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--blue)}
.err{margin-top:7px;font-size:12.5px;font-weight:700;color:#A3271E}
.form .btn{margin-top:26px}
.form__status{margin-top:18px;padding:14px 16px;background:#fff;border-left:3px solid var(--blue);font-size:14px;line-height:1.6;color:var(--deep)}
.form__note{margin-top:20px;font-size:12.5px;line-height:1.6;color:var(--grey)}
@media(max-width:1100px){.csimple{grid-template-columns:1fr;gap:50px}}
@media(max-width:620px){.row2{grid-template-columns:1fr;gap:0}.form{padding:26px 16px}}
.cmap{padding:34px 0;background:#EAF0FB}
.cmap__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px}
.cmap p{margin-top:8px;max-width:560px;color:var(--grey);font-size:14px;line-height:1.6}
.cmap address{font-style:normal;text-align:right;color:var(--ink);font-size:15px;line-height:1.6}
.cmap address .tlink{margin-top:10px;margin-left:auto}
@media(max-width:760px){.cmap address{text-align:left}.cmap address .tlink{margin-left:0}}

/* FAQ */
.ftools{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start;padding-bottom:40px;border-bottom:1px solid var(--line)}
.ftools>p{color:var(--grey);font-size:16.5px;line-height:1.75}
.ftools label{display:flex;align-items:center;gap:10px;padding-top:18px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--deep)}
.ftools label .i{color:var(--blue);width:22px;height:22px}
.ftools__box{border-top:3px solid var(--deep)}
.ftools__box input{width:100%;min-height:52px;margin-top:14px;padding:0 16px;border:1px solid var(--line);background:#F5F8FE;font-size:15px}
.ftools__box output{display:block;margin-top:10px;font-size:12.5px;color:var(--grey)}
@media(max-width:920px){.ftools{grid-template-columns:1fr;gap:20px}}
.fcats{display:flex;flex-wrap:wrap;gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}
.fcats button{min-height:40px;padding:0 14px;border:0;background:var(--mist-2);font-size:13px;font-weight:700;color:var(--ink)}
.fcats button[aria-pressed="true"]{background:var(--deep);color:#fff}
.flib{margin-top:42px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:70px;align-items:start}
.flib .flib__aside{position:sticky;top:120px;padding:28px 0 26px;border-top:2px solid var(--blue);border-bottom:1px solid var(--line)}
.flib .flib__aside small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.flib .flib__aside h2{margin-top:10px;font-size:30px;letter-spacing:-.04em}
.flib .flib__aside p{margin-top:10px;color:var(--grey);font-size:13px;line-height:1.6}
@media(max-width:920px){.flib{grid-template-columns:1fr;gap:26px}.flib .flib__aside{position:static}}

/* Mentions */
.lid{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:start;padding-bottom:60px}
.lid>div:first-child>p{margin-top:22px;color:var(--grey);font-size:16px;line-height:1.75}
.ltable{border-top:2px solid var(--deep)}
.ltable div{padding:18px 0;display:grid;grid-template-columns:215px minmax(0,1fr);gap:6px 20px;border-bottom:1px solid var(--line)}
.ltable dt{font:500 10.5px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.ltable dd{font-size:14.5px;font-weight:700;line-height:1.55;color:var(--deep)}
.ltable a{text-decoration:underline;text-underline-offset:3px}
.lsec{padding:44px 0;display:grid;grid-template-columns:124px minmax(0,1fr);border-top:1px solid var(--line)}
.lsec h2{font-size:clamp(26px,2.4vw,34px);line-height:1.1;letter-spacing:-.035em}
.lsec p,.lsec li{max-width:880px;color:var(--grey);font-size:15.5px;line-height:1.8}
.lsec p{margin-top:16px}
.lsec ul{margin-top:14px;padding-left:20px}
.lsec a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){.lid{grid-template-columns:1fr;gap:34px}}
@media(max-width:620px){.ltable div{grid-template-columns:1fr}.lsec{grid-template-columns:1fr;gap:12px;padding:34px 0}}

/* Famille cybersécurité */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--deep)}
.offers a{min-height:300px;padding:30px 28px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);transition:background .2s}
.offers a:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
.offers a:hover{background:var(--mist-2)}
.offers .i-lead{width:30px;height:30px;margin-top:34px;color:var(--blue)}
.offers h3{margin-top:26px;font-size:23px;letter-spacing:-.03em}
.offers p{margin-top:12px;color:var(--grey);font-size:14px;line-height:1.65}
.offers .more{margin-top:auto;padding-top:18px}
@media(max-width:1100px){.offers{grid-template-columns:1fr 1fr}.offers a:not(:nth-child(3n+1)){border-left:0}.offers a:nth-child(2n){border-left:1px solid var(--line)}}
@media(max-width:620px){.offers{grid-template-columns:1fr}.offers a:nth-child(2n){border-left:0}.offers a{min-height:0;padding:26px 0}}
.manifesto{text-align:center}
.manifesto .kicker{justify-content:center}
.manifesto h2{margin:26px auto 0;max-width:1100px;font-size:clamp(38px,4.8vw,70px);line-height:1.02;letter-spacing:-.055em}
.manifesto p{margin:26px auto 0;max-width:760px;color:var(--grey);font-size:17px;line-height:1.75}

/* Compléments des gabarits */
.hubhero>div{min-width:0}
.hubhero .kicker,.bhero .kicker,.aghero .kicker{margin-top:32px}
.ihero .actions{justify-content:center}
.startcard li a{flex:1;padding:10px 0;color:#fff}
.startcard li a:hover{color:var(--pale)}
.lead3 .bcard__meta,.blist .bcard__meta{margin-top:0}
.lead3__side-item .media{aspect-ratio:517/290}
.lead3__side-item h2{margin-top:14px;font-size:clamp(24px,2.3vw,32px);line-height:1.05;letter-spacing:-.04em;color:var(--deep)}
.blist__h{margin-top:12px;font-size:clamp(24px,2.4vw,36px);line-height:1.05;letter-spacing:-.04em}
.blist__h a:hover{color:var(--blue)}
.nbooks a>div{min-width:0}
.lib__h{margin-top:14px;font-size:clamp(28px,2.8vw,38px);line-height:1.02;letter-spacing:-.05em;color:var(--deep)}
.lib p{margin-top:12px;color:var(--grey);font-size:14.5px;line-height:1.65}
.lib__h a:hover,.poster h2 a:hover,.lead3 h2 a:hover,.folio__card h3 a:hover{color:var(--blue)}
.folio__feature h3 a:hover{color:var(--pale)}
.tstory .tlink{margin-top:18px}
.cyb__stage>[role="tabpanel"]{width:100%;display:grid;place-items:center}
.demo__list{margin-top:6px}
.demo__out h3{margin-top:10px;font-size:22px;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.demo__link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;font-weight:800;color:var(--deep)}
.demo__link .i{width:16px;height:16px}
.cyb .principles{margin-top:62px}
.meth__left .kicker{margin-top:0}
.twoc__grid .tlink{margin-top:28px}
.twoc__grid .num{display:block}
.ucases .more{margin-top:18px}
.scorewrap{padding-bottom:96px}
.score .tlink{display:flex}
.faqlib{padding-bottom:110px}
.legal{padding-bottom:110px}
.lsec>.num{padding-top:10px}
.lsec>div{min-width:0}
.consent a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.empty .tlink{display:inline-flex;margin-left:6px}
.engage__head .h2{margin-top:20px}

/* Correctifs de vérification */
.startcard ul,.twoc__grid ul,.tl ol,.btools ul,.alayout__toc ol{padding-left:0;list-style:none}
.outputs .num{color:var(--tint)}
.sb__h{font-weight:700}
@media(max-width:920px){.agency__img .pixels,.aghero__wrap .pixels{right:0}}

/* V30 */
.factrows li>span small{display:block;margin-top:6px;font-size:14.5px;font-weight:400;line-height:1.6;color:var(--grey)}
.csource p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dcompare table{min-width:760px}
.dcompare th[scope="row"]{width:22%}

/* V30 : titre d'accueil plus long */
.hhero h1{font-size:clamp(48px,4.7vw,70px);line-height:.95}
@media(max-width:620px){.hhero h1{font-size:clamp(38px,11.2vw,48px)}}

/* Apparition */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html:focus-within{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* V30 : section CRM de l'accueil, plus courte qu'un appel à l'action */
.cta--tools{padding:76px 0}

/* =========================================================================
   V32 : en-tête et détails de design propres à NexSecure.
   Remplacent le ruban de couleurs, la barre flottante arrondie à menu centré,
   le méga-menu à panneau sombre, la barre mobile flottante, les barres
   verticales des sur-titres, la mosaïque de pixels et le badge du hero.
   ========================================================================= */
.kmark{position:relative;display:inline-block;flex:none;width:24px;height:10px}
.kmark::before{content:"";position:absolute;left:0;top:2px;width:6px;height:6px;background:var(--blue)}
.kmark::after{content:"";position:absolute;left:10px;right:0;top:4px;height:2px;background:var(--tint)}
.dark .kmark::before,.kmark--light::before{background:#fff}

.hdr{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.hdr.is-scrolled{padding:0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.hdr__top{max-height:34px;overflow:hidden;background:var(--navy);color:var(--on-dark);font-size:12.5px;transition:max-height .25s var(--ease)}
.hdr.is-scrolled .hdr__top{max-height:0}
.hdr__topin{width:min(1460px,calc(100% - 80px));height:34px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hdr__topin p{font-weight:600;color:#fff;white-space:nowrap}
.hdr__topin ul{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:22px}
.hdr__topin li{display:flex;align-items:center;gap:7px;white-space:nowrap}
.hdr__topin .i{width:14px;height:14px;color:var(--tint)}
.hdr__topin a{display:flex;align-items:center;gap:7px;font-weight:700;color:#fff}
.hdr__topin a:hover{color:var(--pale)}
.hdr__inner{width:min(1460px,calc(100% - 80px));height:64px;padding:0;border:0;border-radius:0;background:transparent;grid-template-columns:auto minmax(0,1fr) auto;gap:36px}
.logo__txt b{font-size:22px}
.mainnav{justify-self:start;gap:2px}
.mainnav a,.mainnav button{padding:9px 14px;border-radius:8px;font-size:14.5px;font-weight:700;color:var(--ink)}
.mainnav a::after,.mainnav button::after{display:none}
.mainnav a:hover,.mainnav button:hover{background:var(--mist-2);color:var(--deep)}
.mainnav a[aria-current],.mainnav .is-current,.mainnav button[aria-expanded="true"]{background:var(--mist);color:var(--blue)}
.hdr__contact{gap:20px}
.hdr__link{padding:9px 4px;font-size:14.5px;font-weight:700;color:var(--deep)}
.hdr__link:hover,.hdr__link[aria-current]{color:var(--blue)}
.btn-quote{min-height:42px;padding:0 18px;border-radius:8px;font-size:14px}
.burger{border-radius:10px}
.mnav{top:100%;border-radius:0 0 16px 16px}
.mnav__tel{display:flex!important;align-items:center;gap:8px;color:var(--blue)}
.mnav__tel .i{width:16px;height:16px}
@media(max-width:1320px){.hdr__inner{gap:20px}.mainnav a,.mainnav button{padding:9px 10px}}
@media(max-width:1180px){.hdr__link{display:none}.hdr__inner{grid-template-columns:1fr auto auto}}
@media(max-width:920px){.hdr__topin{width:min(calc(100% - 40px),760px)}.hdr__topin ul li:not(:last-child){display:none}.hdr__inner{width:min(calc(100% - 40px),760px)}}
@media(max-width:620px){.hdr__top{display:none}.hdr__inner{width:calc(100% - 32px);height:60px;padding:0;border-radius:0}.btn-quote{display:none}}

.mega{top:100%;left:0;right:0;display:block;min-height:0;border:1px solid var(--line-2);border-top:0;border-radius:0 0 16px 16px;background:#fff}
.mega__inner{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.mega__cols{padding:28px 28px 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.mega__col{min-width:0}
.mega__title{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0 0 12px;border-bottom:2px solid var(--blue);font-size:15px;font-weight:800;color:var(--ink)}
.mega__title .i{width:30px;height:30px;padding:6px;border-radius:8px;background:var(--mist);color:var(--blue)}
.mega__desc{min-height:0;margin:0 0 10px}
.mega__links{display:grid;border-top:0}
.mega__links a{min-height:34px;margin-left:-8px;padding:6px 8px;justify-content:flex-start;border-bottom:0;border-radius:6px}
.mega__links a:hover{padding-left:8px;background:var(--mist-2);color:var(--blue)}
.mega__help{padding:26px 24px;border-radius:0 0 16px 0;background:var(--mist)}
.mega__help-t{font-size:19px;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--deep)}
.mega__help-p{margin-top:8px;color:var(--grey);font-size:13px;line-height:1.55}
.mega__help-btn{margin-top:16px;min-height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:var(--blue);color:#fff;font-size:13.5px;font-weight:700}
.mega__help-btn:hover{background:var(--deep)}
.mega__help-btn .i{width:16px;height:16px}
.mega__help-tel{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--deep)}
.mega__help-tel .i{width:15px;height:15px}
.mega__help-h{margin-top:18px;font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.mega__help ul{margin:6px 0 0;padding:0;list-style:none}
.mega__help li a{display:block;padding:4px 0;font-size:13px;font-weight:600;color:var(--ink)}
.mega__help li a:hover{color:var(--blue)}

@media(max-width:620px){
  .mbar{left:0;right:0;bottom:0;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line-2);border-radius:0;background:#fff}
  .mbar a{min-height:48px;padding:0 16px;flex-direction:row;gap:8px;border:1px solid var(--line-2);border-radius:10px;color:var(--deep);font-size:14px}
  .mbar a:first-child{background:#fff}
  .mbar .mbar__main{border-color:var(--blue);background:var(--blue);color:#fff}
  .mbar .i{width:16px;height:16px}
}

.hhero__frame{border-radius:22px}
.hhero__card{position:absolute;z-index:3;left:-28px;bottom:-26px;display:flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;border:1px solid var(--line-2);border-radius:14px;background:#fff}
.hhero__card .i{width:40px;height:40px;padding:9px;border-radius:10px;background:var(--blue);color:#fff}
.hhero__card b{display:block;font-size:15px;color:var(--ink)}
.hhero__card small{display:block;margin-top:2px;font-size:12.5px;color:var(--grey)}
@media(max-width:920px){.hhero__card{left:14px;bottom:-24px}}
@media(max-width:620px){.hhero__frame{border-radius:18px}.hhero__card{position:relative;left:auto;bottom:auto;margin-top:12px}}

/* =========================================================================
   V33 : en-tête, méga-menu, carte du hero et barre mobile plus raffinés.
   ========================================================================= */
.kmark{width:22px;height:9px}
.kmark::before{top:2px;width:5px;height:5px}
.kmark::after{left:9px;top:4px;height:1px}

.hdr__top{max-height:36px;letter-spacing:.005em}
.hdr__topin{height:36px}
.hdr__place{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff;white-space:nowrap}
.hdr__place .i{width:14px;height:14px;color:var(--tint)}
.hdr__dot{color:var(--tint)}
.hdr__topin ul{gap:0}
.hdr__topin li{padding:0 18px;color:var(--on-dark)}
.hdr__topin li+li{border-left:1px solid rgba(255,255,255,.16)}
.hdr__topin li:last-child{padding-right:0}
.hdr__inner{height:68px;grid-template-columns:auto 1px minmax(0,1fr) auto;gap:26px;transition:height .25s var(--ease)}
.hdr.is-scrolled .hdr__inner{height:60px}
.hdr.is-scrolled{border-bottom-color:var(--line-2)}
.hdr__rule{width:1px;height:28px;background:var(--line-2)}
.mainnav a,.mainnav button{padding:8px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:#2B3647;transition:background .18s var(--ease),color .18s var(--ease)}
.mainnav a:hover,.mainnav button:hover{background:var(--mist-2);color:var(--deep)}
.mainnav a[aria-current],.mainnav .is-current,.mainnav button[aria-expanded="true"]{background:var(--mist);color:var(--blue)}
.mainnav button .i{width:15px;height:15px;color:var(--grey)}
.mainnav button[aria-expanded="true"] .i{color:var(--blue)}
.hdr__contact{gap:12px}
.hdr__link{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:9px;font-weight:600}
.hdr__link .i{width:16px;height:16px;color:var(--grey);transition:color .18s}
.hdr__link:hover{background:var(--mist-2)}
.hdr__link:hover .i{color:var(--blue)}
.btn-quote{min-height:44px;padding:0 7px 0 18px;gap:12px;border-radius:11px;font-weight:700;transition:background .18s var(--ease)}
.btn-quote__i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.16)}
.btn-quote__i .i{width:15px;height:15px;transition:transform .2s var(--ease)}
.btn-quote:hover .btn-quote__i .i{transform:translateX(2px)}
@media(max-width:1320px){.hdr__inner{gap:16px}.mainnav a,.mainnav button{padding:8px 9px}}
@media(max-width:1180px){.hdr__rule{display:none}.hdr__inner{grid-template-columns:1fr auto auto}}
@media(max-width:620px){.hdr__inner,.hdr.is-scrolled .hdr__inner{height:60px}}

.mega{border-radius:0 0 18px 18px}
.mega:not([hidden]){animation:megaIn .2s var(--ease) both}
@keyframes megaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mega__inner{grid-template-columns:minmax(0,1fr) 320px}
.mega__cols{padding:30px 30px 32px;gap:30px}
.mega__title{align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.mega__ico{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--navy)}
.mega__title .mega__ico .i{width:18px;height:18px;padding:0;border-radius:0;background:none;color:#fff}
.mega__title small{display:block;margin-bottom:3px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--grey)}
.mega__title>span:last-child{display:block;font-size:15px;font-weight:800;line-height:1.2}
.mega__desc{margin:12px 0 10px;font-size:12.5px}
.mega__links a{min-height:36px;margin:0 -10px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--ink);transition:background .15s,color .15s}
.mega__links a .i{width:14px;height:14px;flex:none;opacity:0;transform:translateX(-4px);color:var(--blue);transition:opacity .15s,transform .2s var(--ease)}
.mega__links a:hover,.mega__links a:focus-visible{padding-left:10px;background:var(--mist-2);color:var(--deep)}
.mega__links a:hover .i,.mega__links a:focus-visible .i{opacity:1;transform:none}
.mega__side{padding:22px;border-left:1px solid var(--line);border-radius:0 0 18px 0;background:var(--mist-2)}
.mega__help{padding:20px;border:1px solid var(--line-2);border-radius:14px;background:#fff}
.mega__help-k{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.mega__help-t{margin-top:6px;font-size:18px}
.mega__help-btn{border-radius:10px}
.mega__facts{margin:14px 0 0;padding:12px 0 0;display:grid;gap:8px;border-top:1px solid var(--line);list-style:none}
.mega__facts li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--grey)}
.mega__facts .i{width:15px;height:15px;color:var(--blue)}
.mega__facts a{font-weight:700;color:var(--deep)}
.mega__lists{margin-top:18px;padding:0 4px;display:grid;gap:14px}
.mega__lists .mega__help-h{margin-top:0}
.mega__lists ul{margin:6px 0 0;padding:0;list-style:none}
.mega__lists li a{display:block;padding:4px 0;font-size:13px;font-weight:600;color:var(--ink)}
.mega__lists li a:hover{color:var(--blue)}

.hhero__card{gap:14px;padding:14px 22px 14px 14px;border-radius:16px}
.hhero__card-ico{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--navy)}
.hhero__card .hhero__card-ico .i{width:20px;height:20px;padding:0;border-radius:0;background:none;color:#fff}
.hhero__card .hhero__card-k{margin:0 0 4px;font:500 10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--blue)}

@media(max-width:620px){
  .mbar{gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .mbar a{min-height:50px;border-radius:12px;font-weight:700}
  .mbar a:first-child{padding:0 16px 0 10px}
  .mbar__ico{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--mist);color:var(--blue)}
  .mbar .mbar__ico .i{width:15px;height:15px}
}

/* ---- V33, second volet : éléments graphiques tirés de la plume du logo ---- */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.kwing{width:13px;height:18px;flex:none;fill:var(--blue)}
.kwing--light,.dark .kwing{fill:var(--tint)}
.kicker .kmark{display:none}

.dark,.ftr{position:relative;overflow:hidden}
.dark>.wrap,.ftr>.wrap{position:relative;z-index:1}
.wmark{position:absolute;z-index:0;right:-70px;top:-60px;width:420px;height:560px;fill:none;stroke:rgba(143,166,238,.2);stroke-width:.35;pointer-events:none}
.wmark--ftr{right:auto;left:-90px;top:auto;bottom:-120px;width:520px;height:690px;stroke:rgba(143,166,238,.12)}
@media(max-width:920px){.wmark{width:260px;height:350px;right:-80px;top:-40px}.wmark--ftr{width:360px;height:480px}}

.plumes{position:absolute;z-index:3;width:170px;height:150px;pointer-events:none}
.plumes i{position:absolute;height:13px;border-radius:999px;transform:rotate(-36deg);transform-origin:left center}
.plumes i:nth-child(1){left:0;top:120px;width:160px;background:var(--deep)}
.plumes i:nth-child(2){left:26px;top:132px;width:124px;background:var(--blue)}
.plumes i:nth-child(3){left:52px;top:144px;width:88px;background:var(--sky)}
.plumes i:nth-child(4){left:78px;top:156px;width:52px;background:var(--tint)}
.hhero .plumes{right:-40px;top:-58px}
.agency__img .plumes{left:-34px;top:-66px}
.aghero__wrap .plumes{right:-30px;top:-70px}
.startcard .plumes{right:-22px;top:-96px}
@media(max-width:1180px){.hhero .plumes{right:-14px}}
@media(max-width:920px){.hhero .plumes,.agency__img .plumes,.aghero__wrap .plumes{right:10px;left:auto;top:-60px}.startcard .plumes{display:none}}
@media(max-width:620px){.plumes{display:none}}

.mainnav{position:relative}
.mainnav.has-pill a,.mainnav.has-pill button{position:relative;z-index:1}
.mainnav.has-pill a:hover,.mainnav.has-pill button:hover,.mainnav.has-pill a[aria-current],.mainnav.has-pill .is-current,.mainnav.has-pill button[aria-expanded="true"]{background:transparent}
.mainnav__pill{position:absolute;z-index:0;left:0;top:50%;width:0;height:38px;border-radius:9px;background:var(--mist);opacity:0;pointer-events:none;transition:transform .32s var(--ease),width .32s var(--ease),opacity .2s}

/* V33 : le lien Contact de la barre reste masqué sous 1180 px (menu mobile et barre d'actions) */
@media(max-width:1180px){.hdr__link{display:none}}

/* V33 : le filigrane reste dans les limites de sa section, quelle qu'elle soit (bande sombre, méthode, pied de page) */
.dark,.ftr{overflow:visible}
.dark,.ftr,.wm,.cta,.ifinal,.related,.csource{position:relative}
.wmark-box{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.wmark-box~.wrap,.wmark-box~*{position:relative;z-index:1}
.wm .wmark{stroke:rgba(15,64,197,.1)}

/* =========================================================================
   V34 : pied de page propre à NexSecure. Remplace l'appel à l'action géant,
   le logo en cadre blanc, la ligne « Cas d'usage / Hébergement » et le bas
   de page du modèle par une carte de contact, une marque avec engagements,
   un plan du site et un retour en haut de page.
   ========================================================================= */
.ftr{background:var(--night)}
.ftr__panel{margin-top:72px;padding:36px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto;gap:32px 48px;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:var(--navy)}
.ftr__intro h2{margin-top:14px;font-size:clamp(28px,2.6vw,38px);line-height:1.08;letter-spacing:-.045em;color:#fff}
.ftr__intro>p:not(.kicker){margin-top:14px;color:var(--on-dark);font-size:14.5px;line-height:1.7}
.ftr__channels{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ftr__channels li{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.ftr__ico{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--blue);color:#fff}
.ftr__ico .i{width:18px;height:18px}
.ftr__channels small{display:block;font:500 10.5px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--tint)}
.ftr__channels a,.ftr__channels b{display:block;margin-top:3px;font-size:15px;font-weight:700;color:#fff;overflow-wrap:anywhere}
.ftr__channels a:hover{color:var(--pale)}
.ftr__channels em{display:block;font-style:normal;font-size:12.5px;color:var(--on-dark-2)}
.ftr__actions{display:grid;gap:10px;min-width:220px}
.ftr__btn{min-height:50px;padding:0 8px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #fff;border-radius:12px;background:#fff;color:var(--deep);font-size:14.5px;font-weight:700}
.ftr__btn span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:#fff}
.ftr__btn span .i{width:16px;height:16px;transition:transform .2s var(--ease)}
.ftr__btn:hover span .i{transform:translateX(2px)}
.ftr__btn--ghost{justify-content:center;padding:0 20px;border-color:rgba(255,255,255,.3);background:transparent;color:#fff}
.ftr__btn--ghost:hover{border-color:#fff}

.ftr__main{padding-top:64px;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px 80px;border-bottom:1px solid rgba(255,255,255,.14)}
.ftr .ftr__logo{width:auto;padding:0;display:inline-flex;align-items:center;gap:12px;border-radius:0;background:none;color:#fff}
.ftr__logo .logo__mark{width:44px;height:44px;padding:6px 9px;border-radius:12px;background:#fff}
.ftr__logo b{font-size:22px;font-weight:800;letter-spacing:-.035em}
.ftr__brand>p{margin:20px 0 0;color:var(--on-dark);font-size:14px;line-height:1.75}
.ftr__chips{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.ftr__chips li{display:flex;align-items:center;gap:10px;font-size:13px;color:#E3E9F7}
.ftr__chips .i{width:28px;height:28px;padding:6px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:var(--tint)}
.ftr__nav ul{margin:14px 0 0;padding:0;list-style:none}
.ftr__nav .ftr__h{margin:0;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--tint)}
.ftr__nav li a{display:inline-block;width:auto;min-height:0;margin-top:0;padding:5px 0;color:var(--on-dark);font-size:13.5px;line-height:1.45;transition:color .18s}
.ftr__nav li a:hover{color:#fff;transform:none}

.ftr__bottom{min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 28px;color:var(--on-dark-2);font-size:12.5px}
.ftr__bottom .ftr__legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 20px}
.ftr__legal a{display:inline-flex;align-items:center;min-height:28px}
.ftr__legal a:hover{color:#fff}
.ftr__up{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#fff}
.ftr__up span{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:10px;transition:border-color .2s,transform .2s var(--ease)}
.ftr__up:hover span{border-color:#fff;transform:translateY(-2px)}
.ftr__up .i{width:16px;height:16px}

@media(max-width:1100px){.ftr__panel{grid-template-columns:1fr 1fr}.ftr__actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.ftr__main{grid-template-columns:1fr;gap:44px}}
@media(max-width:760px){.ftr__panel{margin-top:48px;padding:24px;grid-template-columns:1fr}.ftr__actions{grid-template-columns:1fr;min-width:0}.ftr__nav{grid-template-columns:1fr 1fr;gap:32px 24px}.ftr__bottom{grid-template-columns:1fr;padding-block:24px}.ftr__bottom .ftr__legal{justify-content:flex-start}}
@media(max-width:620px){.ftr__panel{border-radius:18px}.ftr__bottom{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}

/* V34 : sur tablette, les liens légaux passent sur leur propre ligne */
@media(max-width:1100px) and (min-width:761px){.ftr__bottom{grid-template-columns:minmax(0,1fr) auto;padding-block:18px}.ftr__bottom .ftr__legal{grid-column:1/-1;grid-row:2;justify-content:flex-start}}

/* =========================================================================
   V34 : pied de page blanc. Le bleu ne sert plus que d'accent (bouton
   principal, pictogrammes, repère) : fond, carte et textes passent en clair.
   ========================================================================= */
.ftr{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.ftr :focus-visible{outline-color:var(--blue)}
.ftr .wmark{stroke:rgba(15,64,197,.07)}
.ftr__panel{border-color:var(--line-2);background:var(--mist-2)}
.ftr__intro h2{color:var(--ink)}
.ftr__intro>p:not(.kicker){color:var(--grey)}
.ftr__channels li{border-color:var(--line-2);background:#fff}
.ftr__ico{background:var(--mist);color:var(--blue)}
.ftr__channels small{color:var(--grey)}
.ftr__channels a,.ftr__channels b{color:var(--ink)}
.ftr__channels a:hover{color:var(--blue)}
.ftr__channels em{color:var(--grey)}
.ftr__btn{border-color:var(--blue);background:var(--blue);color:#fff}
.ftr__btn:hover{border-color:var(--deep);background:var(--deep)}
.ftr__btn span{background:rgba(255,255,255,.18)}
.ftr__btn--ghost{border-color:var(--line-2);background:#fff;color:var(--deep)}
.ftr__btn--ghost:hover{border-color:var(--blue);background:#fff}
.ftr__main{border-bottom-color:var(--line)}
.ftr .ftr__logo{color:var(--ink)}
.ftr__logo .logo__mark{width:30px;height:40px;padding:0;border-radius:0;background:none}
.ftr__brand>p{color:var(--grey)}
.ftr__chips li{color:var(--ink)}
.ftr__chips .i{border-color:var(--line-2);color:var(--blue)}
.ftr__nav .ftr__h{color:var(--grey)}
.ftr__nav li a{color:#3A4458}
.ftr__nav li a:hover{color:var(--blue)}
.ftr__bottom{color:var(--grey)}
.ftr__legal a:hover{color:var(--blue)}
.ftr__up{color:var(--ink)}
.ftr__up span{border-color:var(--line-2)}
.ftr__up:hover span{border-color:var(--blue)}

/* =========================================================================
   V35 : textes clarifiés. La barre d'information nomme les trois métiers ;
   entre 921 et 1180 px, l'engagement « Serveurs situés en France » cède la
   place pour que la ligne tienne.
   ========================================================================= */
@media(max-width:1180px) and (min-width:921px){.hdr__topin li:first-child{display:none}.hdr__topin li:nth-child(2){padding-left:0}}

/* =========================================================================
   V36 : le plan du site du pied de page reprend les quatre familles du menu,
   plus NexSecure. Cinq colonnes sur grand écran ; entre 1101 et 1319 px,
   la marque passe au-dessus pour laisser la place ; trois colonnes sur tablette.
   ========================================================================= */
@media(min-width:1101px){.ftr__nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 26px}}
@media(min-width:1101px) and (max-width:1319px){.ftr__main{grid-template-columns:1fr;gap:44px}}
@media(max-width:1100px) and (min-width:761px){.ftr__nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* V36 : sur tablette et mobile, le numéro reste dans la colonne étroite ; titre et texte passent dans la large. */
@media(max-width:920px){.rows3 li{align-items:start}.rows3 li>.num{grid-column:1;grid-row:1/span 2;padding-top:5px}.rows3 li>b{grid-column:2;grid-row:1}.rows3 li>span:not(.num){grid-column:2;grid-row:2}}

/* =========================================================================
   V42 : la V36 avec le composeur « Votre situation » de la V38 en troisième
   section de l'accueil. Règles du composeur reprises telles quelles (préfixe
   c38), puis la mise en page propre à la section (préfixe c42).
   ========================================================================= */
.c38{--c38-hover:#A3B1CE;--c38-r:16px;--c38-t:.18s}
.c38 ul:not([class]),.c38 ol:not([class]){margin:0;padding:0;list-style:none}
.c38-nw{white-space:nowrap}
.c38-mono{font:500 11px/1.45 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
/* Composeur */
.c38-comp{min-width:0;border:1px solid var(--line-2);border-radius:20px;background:#fff}
.c38-comp__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;padding:22px 26px 18px;border-bottom:1px solid var(--line)}
.c38-comp__title{margin-top:6px;font-size:20px;line-height:1.25;letter-spacing:-.02em}
.c38-reset{min-height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:9px;background:#fff;font-size:13px;font-weight:700;color:var(--deep);transition:border-color var(--c38-t),color var(--c38-t)}
.c38-reset:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.c38-reset:active:not(:disabled){transform:scale(.97)}
.c38-reset:disabled{cursor:not-allowed;border-style:dashed;background:transparent;color:#6B7488}
.c38-step{min-width:0;margin:0;padding:20px 26px 22px;border:0;border-bottom:1px solid var(--line)}
.c38-step legend{float:left;width:100%;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;font-weight:700;color:var(--ink)}
.c38-step legend+*{clear:both}
.c38-step legend small{font-size:13px;font-weight:500;color:var(--grey)}
.c38-step__n{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--ink);color:#fff;font:500 12px/1 var(--mono)}
.c38-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.c38-opt,.c38-chip{position:relative;cursor:pointer}
.c38-opt{display:block}
.c38-opt input,.c38-chip input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.c38-opt__box{height:100%;display:grid;grid-template-columns:18px minmax(0,1fr);align-content:start;gap:4px 10px;padding:14px 14px 15px;border:1px solid var(--line-2);border-radius:12px;background:#fff;transition:border-color var(--c38-t),background-color var(--c38-t),transform .1s var(--ease)}
.c38-opt__dot{grid-row:1/3;width:18px;height:18px;margin-top:1px;border:1.5px solid var(--c38-hover);border-radius:50%;background:#fff;transition:border-color var(--c38-t),border-width var(--c38-t) var(--ease)}
.c38-opt b{font-size:14.5px;line-height:1.3;color:var(--ink)}
.c38-opt small{font-size:12.5px;line-height:1.45;color:var(--grey)}
.c38-opt:hover .c38-opt__box{border-color:var(--c38-hover)}
.c38-opt input:checked+.c38-opt__box{border-color:var(--blue);background:var(--mist-2)}
.c38-opt input:checked+.c38-opt__box .c38-opt__dot{border:5px solid var(--blue)}
.c38-opt input:focus-visible+.c38-opt__box,.c38-chip input:focus-visible+.c38-chip__box{outline:3px solid var(--blue);outline-offset:2px}
.c38-opt input:active+.c38-opt__box,.c38-chip input:active+.c38-chip__box{transform:scale(.98)}
.c38-opt input:disabled+.c38-opt__box,.c38-chip input:disabled+.c38-chip__box{opacity:.5;cursor:not-allowed}
.c38-chips{display:flex;flex-wrap:wrap;gap:8px}
.c38-chip{display:inline-flex}
.c38-chip__box{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px 0 12px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:14px;font-weight:600;color:var(--ink);transition:border-color var(--c38-t),background-color var(--c38-t),color var(--c38-t),transform .1s var(--ease)}
.c38-chip__box .i{width:17px;height:17px}
.c38-chip__ico{color:var(--grey)}
.c38-chip__tick{display:none;color:var(--blue);stroke-width:2.2}
.c38-chip:hover .c38-chip__box{border-color:var(--c38-hover)}
.c38-chip input:checked+.c38-chip__box{border-color:var(--blue);background:var(--mist);color:var(--deep)}
.c38-chip input:checked+.c38-chip__box .c38-chip__ico{display:none}
.c38-chip input:checked+.c38-chip__box .c38-chip__tick{display:block}
.c38-chip input:checked+.c38-chip__box .c38-chip__tick path{stroke-dasharray:22;animation:c38-draw .26s var(--ease) both}
@keyframes c38-draw{from{stroke-dashoffset:22}to{stroke-dashoffset:0}}

.c38-res{margin:16px;padding:16px 20px 20px;border:1px solid var(--line);border-radius:14px;background:var(--mist-2)}
.c38-res__sum{padding-bottom:12px;border-bottom:1px solid var(--line-2);font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.c38-res__empty{padding:18px 0 4px;color:var(--ink);font-size:15px;line-height:1.55}
.c38-res__empty span{display:block;margin-top:6px;color:var(--grey);font-size:13.5px}
.c38-res__empty a{font-weight:700;color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.c38-res__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 22px}
.c38-grp{min-width:0;padding-top:14px}
.c38-grp__h{display:flex;align-items:center;gap:8px;margin-bottom:4px;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.c38-grp__h .i{width:15px;height:15px;color:var(--blue)}
.c38-grp ul{display:grid;gap:2px}
.c38-item a{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:2px 10px;margin:0 -10px;padding:9px 10px 10px;border-radius:10px;transition:background-color var(--c38-t)}
.c38-item b{font-size:14.5px;line-height:1.3;color:var(--ink);transition:color var(--c38-t)}
.c38-item span{grid-column:1;font-size:13px;line-height:1.5;color:var(--grey)}
.c38-item .i{grid-column:2;grid-row:1;width:16px;height:16px;margin-top:1px;color:var(--blue);opacity:0;transform:translateX(-4px);transition:opacity var(--c38-t),transform var(--c38-t) var(--ease)}
.c38-item a:hover{background:#fff}
.c38-item a:hover b{color:var(--blue)}
.c38-item a:hover .i,.c38-item a:focus-visible .i{opacity:1;transform:none}
.c38-js .c38-item.is-on,.c38-js .c38-case.is-on{animation:c38-in .24s var(--ease) both}
@keyframes c38-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.c38-res__cases{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.c38-res__none{color:var(--grey);font-size:13.5px;line-height:1.55}
.c38-case{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:3px 12px;padding:13px 16px 14px;border:1px solid var(--line-2);border-radius:12px;background:#fff;transition:border-color var(--c38-t)}
.c38-case+.c38-case{margin-top:8px}
.c38-case small{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.c38-case b{font-size:15px;line-height:1.3;color:var(--ink)}
.c38-case span{font-size:13px;line-height:1.5;color:var(--grey)}
.c38-case .i{grid-column:2;grid-row:1/4;align-self:center;width:18px;height:18px;color:var(--blue);transition:transform var(--c38-t) var(--ease)}
.c38-case:hover{border-color:var(--blue)}
.c38-case:hover .i{transform:translate(2px,-2px)}
.c38-res__foot{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.c38-res__foot .btn{min-height:46px}
.c38-res__foot p{font-size:13px;line-height:1.5;color:var(--grey)}
/* Sans JavaScript : pas de questions, la liste complète des services. Avec : l'état calculé par le module. */
html:not(.c38-js) .c38-jsonly,html:not(.c38-js) .c38-step{display:none!important}
.c38-js .c38-nojs,.c38-js .c38-grp:not(.is-on),.c38-js .c38-item:not(.is-on),.c38-js .c38-case:not(.is-on){display:none}
@media(max-width:620px){.c38-comp{border-radius:16px}.c38-comp__head,.c38-step{padding-inline:16px}.c38-opts{grid-template-columns:1fr}.c38-opt__box{padding:12px 14px}.c38-res{margin:10px;padding:14px 14px 16px}.c38-res__foot .btn{width:100%}}

/* Section « Trouver le bon service » : texte collant à gauche, composeur à droite */
.c42-sit__grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:48px 72px;align-items:start}
.c42-sit__copy{position:sticky;top:132px;min-width:0}
.c42-sit__copy .h2{font-size:clamp(38px,3.7vw,56px);text-wrap:balance}
.c42-sit__copy p:not(.kicker){margin-top:24px;max-width:48ch;color:var(--grey);font-size:16px;line-height:1.75}
.c42-sit__copy .tlink{margin-top:26px}
.c42-sit .c38-comp__title{font-weight:700}
@media(max-width:1100px){.c42-sit__grid{grid-template-columns:1fr}.c42-sit__copy{position:static;max-width:760px}}
@media (prefers-reduced-motion:reduce){.c38 *,.c38 *::before,.c38 *::after{animation:none!important;transition:none!important}}

/* V44 : la photo du hero reste nue (aucun accent graphique). Composeur en quatrième section. */

/* =========================================================================
   V45 : « Avant de décider ». Les chiffres publiés, rangés sous les questions
   qu'un dirigeant pose avant de confier son informatique. Zone d'intervention
   à la place de l'adresse (ce n'est pas un bureau ouvert au public).
   ========================================================================= */
.qstats{border-top:1px solid var(--deep)}
.qstats li{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.62fr) minmax(0,1fr);gap:12px 40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.qstats__n{align-self:start;padding-top:8px;font:500 12px/1 var(--mono);color:var(--blue)}
.qstats__q{font-size:clamp(20px,1.7vw,25px);line-height:1.22;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.qstats__fig{display:flex;flex-direction:column;gap:8px}
.qstats__fig strong{font-size:clamp(46px,4.4vw,64px);line-height:.95;letter-spacing:-.06em;color:var(--deep);font-variant-numeric:tabular-nums;white-space:nowrap}
.qstats__fig span{font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.qstats__a{max-width:46ch;color:var(--grey);font-size:15.5px;line-height:1.65}
@media(max-width:1100px){.qstats li{grid-template-columns:44px minmax(0,1fr) minmax(0,.8fr);gap:14px 28px}.qstats__a{grid-column:2/-1}}
@media(max-width:620px){.qstats li{grid-template-columns:1fr;gap:10px;padding:26px 0}.qstats__a{grid-column:auto}.qstats__fig{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.qstats__fig strong{font-size:44px}}
.pres__zone{margin-top:14px;font-size:clamp(18px,1.6vw,22px);font-weight:700;line-height:1.45;color:#fff}
.pres__zone-sub{margin-top:10px;max-width:40ch;color:var(--on-dark);font-size:14.5px;line-height:1.6}
.info__zone{font-size:14.5px;font-weight:700;color:var(--deep);line-height:1.5}

/* =========================================================================
   V46 : emplacements réservés aux références clients. À remplacer par de
   vrais projets (client, projet, ce qui a changé), avec l'accord du client.
   ========================================================================= */
.refslots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.refslot{min-width:0;padding:26px 26px 24px;border:1.5px dashed var(--line-2);border-radius:16px;background:var(--mist-2)}
.refslot__tag{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.refslot h3{margin-top:14px;font-size:21px;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.refslot dl{margin:16px 0 0;display:grid;gap:12px}
.refslot dt{font:500 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grey)}
.refslot dd{margin:3px 0 0;font-size:14.5px;line-height:1.5;color:var(--grey)}
@media(max-width:920px){.refslots{grid-template-columns:1fr}}

/* =========================================================================
   V48 : accueil raccourci. Espacements resserrés sur l'accueil seulement
   (repéré par son titre #home-h1), sans toucher aux autres pages.
   ========================================================================= */
main:has(#home-h1) .sec{padding-block:92px}
main:has(#home-h1) .intro{margin-bottom:44px}
main:has(#home-h1) .qstats li{padding:24px 0}
@media(max-width:920px){main:has(#home-h1) .sec{padding-block:68px}}
@media(max-width:620px){main:has(#home-h1) .sec{padding-block:56px}main:has(#home-h1) .intro{margin-bottom:28px}}
/* V48 : cartes de services compactes sur téléphone (icône, titre et phrase sur une rangée). */
@media(max-width:620px){
  .svcgrid a{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:4px 12px;align-items:start;padding:18px 0}
  .svcgrid a>.num{display:none}
  .svcgrid__icon{grid-column:1;grid-row:1/3;width:40px;height:40px;margin:0}
  .svcgrid__icon::before{display:none}
  .svcgrid h3{grid-column:2;margin:0;font-size:18px;line-height:1.25}
  .svcgrid p{grid-column:2;font-size:13px;line-height:1.5}
  .svcgrid__go{grid-column:3;grid-row:1;margin:0;padding:2px 0 0;align-self:start}
}

/* ==========================================================================
   V50 : blog et glossaire GEO
   Texte d'abord : colonne de lecture d'environ 70 caractères, encadré « En bref »,
   listes simples. Aucune image, aucun dégradé, aucune ombre. Classes préfixées geo-.
   ========================================================================== */
.geo{padding:150px 0 96px}
.geo-col{max-width:70ch;margin-inline:auto;min-width:0;overflow-wrap:break-word}
.geo-crumb{margin-bottom:26px}
.geo-crumb [aria-current]{overflow-wrap:anywhere}
.geo-head h1{margin-top:6px;font-size:clamp(30px,4.2vw,44px);line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.geo-cat{font-size:14px;font-weight:700;line-height:1.4}
.geo-cat a{color:var(--blue)}
.geo-meta{margin-top:12px;font-size:14px;line-height:1.5;color:var(--grey)}
.geo-lead{margin-top:12px;font-size:18px;line-height:1.6;color:#2E3A4E}
.geo-label,.geo-brief h2{font-size:13px;font-weight:800;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--deep)}
.geo-brief{margin-top:28px;padding:16px 20px;background:var(--mist-2);border-left:4px solid var(--blue)}
.geo-brief p{margin-top:6px;font-size:17px;line-height:1.65;color:var(--ink)}
.geo-toc{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.geo-toc ol{margin:8px 0 0;padding-left:22px}
.geo-toc li{margin-top:4px;font-size:15px;line-height:1.5}
.geo-body{margin-top:8px;font-size:17px;line-height:1.75;color:#2E3A4E}
.geo-body>p,.geo-body>ul,.geo-body>ol,.geo-body>.callout,.geo-body>.tablewrap,.geo-body>blockquote{margin-top:18px}
.geo-body ul,.geo-body ol{margin-bottom:0;padding-left:22px}
.geo-body li+li{margin-top:6px}
.geo-body strong,.geo-body h2,.geo-body h3,.geo-sec h2{color:var(--ink)}
.geo-body h2,.geo-sec h2{margin-top:44px;font-size:clamp(23px,2.6vw,28px);line-height:1.25;letter-spacing:-.02em}
.geo-body h3,.geo-faq h3{margin-top:28px;font-size:19px;line-height:1.35;color:var(--ink)}
.geo-body .callout{padding:14px 18px;border-left:3px solid var(--line-2);background:var(--mist-2);font-size:16px;line-height:1.7;color:var(--ink)}
.geo-body .tablewrap{margin-top:20px;overflow-x:auto}
.geo-body table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.5}
.geo-body th,.geo-body td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.geo-body th{background:var(--mist-2);font-weight:700;color:var(--ink)}
.geo-sec p,.geo-faq p{margin-top:8px;font-size:17px;line-height:1.7;color:#2E3A4E}
.geo-faq h2+h3{margin-top:18px}
.geo-links{margin:12px 0 0;padding-left:22px;list-style:disc;font-size:17px;line-height:1.55}
.geo-links li+li{margin-top:6px}
.geo-strong{font-weight:700}
.geo-body a,.geo-brief a,.geo-toc a,.geo-sec a,.geo-cta a,.geo-aside a,.geo-empty a,.geo-jump a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.geo-body a,.geo-links a{overflow-wrap:anywhere}
.geo-body a:hover,.geo-brief a:hover,.geo-toc a:hover,.geo-sec a:hover,.geo-cta a:hover,.geo-aside a:hover,.geo-empty a:hover,.geo-jump a:hover{color:var(--deep);text-decoration-thickness:2px}
.geo-cta{margin-top:44px;padding-top:16px;border-top:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--grey)}
.geo-cta a{font-weight:700}
/* Hub, catégories, glossaire */
.geo-search{margin-top:26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center}
.geo-search label{grid-column:1/-1;font-size:14px;font-weight:700}
.geo-search input{width:100%;min-width:0;min-height:48px;padding:10px 14px;border:1px solid var(--line-2);border-radius:6px;background:#fff;font-size:16px}
.geo-search input:focus-visible{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.geo-search output{font-size:14px;color:var(--grey);white-space:nowrap}
.geo-empty{margin-top:14px;font-size:16px;color:var(--ink)}
.geo-jump ul{margin-top:20px;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px;line-height:1.5}
.geo-jump a{display:inline-block;padding:4px 0}
.geo-jump--az ul{gap:4px 14px;font-weight:700}
.geo-jump--az a{min-width:24px;text-align:center}
.geo-aside{margin-top:16px;font-size:16px;line-height:1.6;color:var(--grey)}
.geo-group{margin-top:40px}
.geo-group h2{font-size:clamp(22px,2.4vw,26px);line-height:1.25;letter-spacing:-.02em;color:var(--ink)}
.geo-group h2 a{text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:2px;text-underline-offset:5px}
.geo-group h2 a:hover{color:var(--blue);text-decoration-color:currentColor}
.geo-desc{margin-top:6px;font-size:15px;line-height:1.55;color:var(--grey)}
.geo-index{margin-top:14px;border-top:1px solid var(--line)}
.geo-index li,.geo-dl>div{padding:12px 0;border-bottom:1px solid var(--line)}
.geo-index a,.geo-dl dt a{font-size:17px;font-weight:700;line-height:1.4;color:var(--deep)}
.geo-index a:hover,.geo-dl dt a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.geo-ex,.geo-dl dd{display:block;margin-top:3px;font-size:15px;line-height:1.55;color:var(--grey)}
.geo-dl{margin-top:12px;border-top:1px solid var(--line)}
@media(max-width:920px){.geo{padding:118px 0 72px}}
@media(max-width:620px){
  .geo{padding:100px 0 60px}
  .geo-head h1{font-size:clamp(26px,7.6vw,32px)}
  .geo-body,.geo-sec p,.geo-faq p,.geo-links,.geo-brief p{font-size:16px}
  .geo-lead{font-size:17px}
  .geo-search{grid-template-columns:1fr}
  .geo-body th,.geo-body td{padding:8px 10px}
}

/* V50 : page Cas d'usage, quinze cartes sur quatre colonnes */
.cases.cases--hub{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.cases--hub .cases__body{padding:22px 0 24px}
.cases--hub h3{font-size:21px;line-height:1.15}
.cases--hub p{font-size:14px}
@media(max-width:1180px){.cases.cases--hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cases.cases--hub{grid-template-columns:1fr;gap:34px}}

/* V50 : listes de catégories et de lettres sans puces */
.geo-jump ul{list-style:none;padding-left:0;margin-left:0}
.geo-jump li{list-style:none}
.geo-jump li::marker{content:none}
.geo-jump--az ul{gap:4px 10px}

/* V52 : blog en FAQ modulaire */
.bfaq{max-width:1180px;margin-inline:auto;min-width:0;overflow-wrap:break-word}
.bfaq--cat{max-width:820px}
.bfaq-head{max-width:64ch}
.bfaq-head h1{margin-top:4px;font-size:clamp(30px,4.2vw,44px);line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.bfaq-lead{margin-top:10px;font-size:18px;line-height:1.55;color:var(--grey)}
.bfaq-back{font-size:14px;font-weight:700;line-height:1.4}
.bfaq-filters{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
.bfaq-filter{min-height:40px;padding:0 15px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:14px;font-weight:700;line-height:1.2;color:var(--deep)}
.bfaq-filter:hover{border-color:var(--blue);color:var(--blue)}
.bfaq-filter[aria-pressed="true"]{border-color:var(--blue);background:var(--blue);color:#fff}
.bfaq-grid{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.bfaq-mod{min-width:0;padding:24px 24px 22px;border:1px solid var(--line);border-radius:8px;background:#fff}
.bfaq-mod__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.bfaq-mod h2{min-width:0;font-size:22px;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}
.bfaq-count{font-size:14px;line-height:1.4;color:var(--grey);white-space:nowrap}
.bfaq-head .bfaq-count{margin-top:8px}
.bfaq-desc{margin-top:6px;font-size:15px;line-height:1.55;color:var(--grey)}
.bfaq-list{margin-top:14px;border-top:1px solid var(--line)}
.bfaq-mod--full{margin-top:28px}
.bfaq-mod--full .bfaq-list{margin-top:0}
.bfaq-item{border-bottom:1px solid var(--line)}
.bfaq-q{margin:0;font-size:inherit}
.bfaq-btn{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 2px;border:0;background:none;text-align:left;font-size:16px;font-weight:700;line-height:1.4;color:var(--ink)}
.bfaq-btn>span{min-width:0}
.bfaq-btn:hover{color:var(--blue)}
.bfaq-btn:focus-visible{outline-offset:0}
.bfaq-btn .i{margin-top:2px;color:var(--blue);transition:transform .2s}
.bfaq-btn[aria-expanded="true"] .i{transform:rotate(180deg)}
.bfaq-panel{padding:0 2px 16px;font-size:15px;line-height:1.65;color:#2E3A4E}
.bfaq-read{margin-top:8px}
.bfaq-all{margin-top:16px;font-size:15px;font-weight:700;line-height:1.4}
.bfaq-read a,.bfaq-all a,.bfaq-back a,.bfaq-foot a,.bfaq-others a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.bfaq-read a:hover,.bfaq-all a:hover,.bfaq-back a:hover,.bfaq-foot a:hover,.bfaq-others a:hover{color:var(--deep);text-decoration-thickness:2px}
.bfaq-read a{font-weight:700}
.bfaq-foot{margin-top:32px;font-size:15px;line-height:1.6;color:var(--grey)}
.bfaq-others{margin-top:36px;padding-top:18px;border-top:1px solid var(--line)}
.bfaq-others h2{font-size:18px;line-height:1.3;color:var(--ink)}
.bfaq-others ul{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px;line-height:1.5}
@media(max-width:920px){.bfaq-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
  .bfaq-head h1{font-size:clamp(26px,7.6vw,32px)}
  .bfaq-lead{font-size:16px}
  .bfaq-mod{padding:18px 16px 18px}
  .bfaq-mod h2{font-size:20px}
  .bfaq-filter{padding:0 13px;font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){.bfaq-btn .i{transition:none}}

/* V52 : page cybersécurité, l'écart entre la pratique courante et NexSecure */
.gap{border-top:1px solid var(--deep)}
.gap__head,.gap__list li{display:grid;grid-template-columns:minmax(140px,.5fr) 1fr 1fr;gap:40px;align-items:start}
.gap__head{padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.gap__head span:last-child{color:var(--blue)}
.gap__list{list-style:none;margin:0;padding:0}
.gap__list li{padding:26px 0;border-bottom:1px solid var(--line)}
.gap__list h3{font-size:22px;line-height:1.2;letter-spacing:-.025em;color:var(--deep)}
.gap__them,.gap__us{position:relative;padding-left:18px;font-size:15.5px;line-height:1.6}
.gap__them{color:var(--grey)}
.gap__us{color:var(--deep);font-weight:500}
.gap__them::before,.gap__us::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--line)}
.gap__us::before{background:var(--blue)}
.gap small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:860px){.gap__head{display:none}.gap__list li{grid-template-columns:1fr;gap:12px}
.gap small{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;margin-bottom:4px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.gap__us small{color:var(--blue)}}

/* V52 : page Cas d'usage, hero texte à gauche et image à droite */
.rh{padding-top:132px;padding-bottom:64px;display:grid;grid-template-columns:.9fr 1fr;gap:70px;align-items:center}
.rh__copy{min-width:0}
.rh h1{margin-top:22px;font-size:clamp(46px,5vw,78px);line-height:.95;letter-spacing:-.064em}
.rh__lead{margin-top:24px;max-width:560px;color:var(--grey);font-size:18px;line-height:1.7}
.rh .actions{margin-top:32px}
.rh__media{aspect-ratio:709/650;border-radius:26px;overflow:hidden;background:var(--mist)}
.rh__media img{width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.rh{grid-template-columns:1fr;gap:44px;padding-top:110px}}
@media(max-width:620px){.rh{padding-top:100px}.rh h1{font-size:clamp(38px,11vw,50px)}.rh__media{aspect-ratio:4/3}}

/* V52 : blog en FAQ modulaire (correction) : cartes d'une même rangée à la même hauteur */
.bfaq-grid{align-items:stretch}
.bfaq-grid>.bfaq-mod{display:flex;flex-direction:column}
.bfaq-grid>.bfaq-mod>.bfaq-all{margin-top:auto;padding-top:16px}

/* V52 : page Qui sommes-nous */
.ag52h{grid-template-columns:1.05fr .95fr;gap:64px}
.ag52h h1{font-size:clamp(40px,4vw,58px);line-height:1;letter-spacing:-.055em}
.ag52h .aghero__lead{max-width:560px}
.ag52h .aghero__media img{object-position:62% 50%}
.sec.ag52{padding-block:96px}
.sec.ag52+.sec.ag52{padding-top:0}
.ag52 .intro{margin-bottom:48px}
.ag52 .grid4 article{min-height:0;display:flex;flex-direction:column;padding-block:30px 34px}
.ag52 .grid4 h3{margin-top:28px}
.ag52 .grid4 p{margin-bottom:22px}
.ag52 .grid4 .tlink{margin-top:auto}
@media(max-width:1100px){.ag52h{grid-template-columns:1fr;gap:44px}}
@media(max-width:620px){.ag52h h1{font-size:clamp(36px,10vw,44px)}.sec.ag52{padding-block:72px}.ag52 .grid4 article{padding-block:24px}}

/* V52 : espace entre fil d'Ariane et sur-titre du hero Cas d'usage */
.rh__copy>.kicker{margin-top:26px}

/* V52 : le sur-titre de la section savoir-faire garde le style commun (la règle .why__copy>p le grossissait) */
.why__copy>.kicker{margin-top:0;color:var(--blue);font-size:12px;line-height:1.3}

/* V53 : page Cas d'usage, mosaïque du hero, filtres et familles en deux colonnes */
.rh__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rh__tile{aspect-ratio:437/270;border-radius:18px;overflow:hidden;background:var(--navy)}
.rh__tile>svg,.rh__tile>img{width:100%;height:100%;object-fit:cover;display:block}
.rchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.rchips a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--deep);text-decoration:none}
.rchips a:hover{border-color:var(--blue);color:var(--blue)}
.rchips span{color:var(--grey);font-size:12.5px}
.rfam__inner{display:grid;grid-template-columns:minmax(200px,.26fr) 1fr;gap:52px;align-items:start}
.rfam__head{position:sticky;top:118px}
.rfam__head .h2{margin-top:16px;font-size:clamp(30px,2.7vw,44px)}
.rfam__n{margin-top:14px;color:var(--grey);font-size:14px}
.rfam .cases--hub{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.rfam__inner{grid-template-columns:1fr;gap:26px}.rfam__head{position:static}.rfam .cases--hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rfam .cases--hub{grid-template-columns:1fr}.rh__grid{gap:10px}}

/* ==========================================================================
   V54 : passe de finition (accueil et navigation). Aucun élément ajouté :
   rayons concentriques, chiffres tabulaires, césures de titres, survol et
   focus, contours d'images, micro-animation du méga-menu.
   ========================================================================== */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Focus visible homogène, sans casser les styles existants */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* --- En-tête et navigation --- */
.hdr__top{font-variant-numeric:tabular-nums;letter-spacing:.012em}
.hdr__topin ul li+li{padding-left:18px;border-left:1px solid rgba(255,255,255,.16)}
.hdr__topin ul li a:hover{text-decoration:underline;text-underline-offset:3px}
.hdr__rule{height:26px;background:var(--line-2)}
.hdr.is-scrolled{border-bottom-color:var(--line-2)}
.mainnav a,.mainnav button{padding-block:10px;letter-spacing:-.004em}
.mainnav__pill{border:1px solid rgba(15,64,197,.10)}
.mainnav button[aria-expanded="true"]{color:var(--blue)}
.btn-quote{border-radius:14px;transition-property:background-color,transform;transition-duration:.18s;transition-timing-function:var(--ease)}
.btn-quote__i{border-radius:8px}
.btn-quote:active{transform:scale(.985)}
.burger{min-width:44px;min-height:44px}
.mega{border-radius:0 0 18px 18px}
.mega__col+.mega__col{border-left:1px solid var(--line)}
@media(prefers-reduced-motion:no-preference){
  .mega:not([hidden]){animation:megaIn .19s var(--ease) both}
  @keyframes megaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}

/* --- Accueil : hero --- */
.hhero h1{text-wrap:balance}
.hhero__promise{text-wrap:pretty;letter-spacing:-.018em}
.hhero__lead{max-width:49ch;text-wrap:pretty}
.hhero__frame img,.aghero__media img,.agency__img img,.rh__tile>svg{outline:1px solid rgba(16,24,40,.08);outline-offset:-1px}
.hhero__card{border-radius:16px}
.hhero__card-ico{border-radius:10px}

/* --- Accueil : bande des projets sous le hero --- */
.clients__label{letter-spacing:.12em;text-transform:uppercase;font-size:11.5px}
.clients__list li{text-wrap:pretty}
.clients__list li+li{padding-left:20px;border-left:1px solid var(--line)}

/* --- Accueil : questions avant de décider --- */
.qstats__fig strong{font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.qstats__q{text-wrap:balance}
.qstats__a{text-wrap:pretty}
.qstats li{transition:border-color .18s var(--ease)}

/* --- Accueil : cartes de services --- */
.svcgrid a{transition-property:border-color,background-color,transform;transition-duration:.18s;transition-timing-function:var(--ease)}
.svcgrid a h3{text-wrap:balance}
.svcgrid a p{text-wrap:pretty}
.svcgrid a:hover{border-color:rgba(15,64,197,.28)}
.svcgrid__go .i{transition:transform .2s var(--ease)}
.svcgrid a:hover .svcgrid__go .i{transform:translateX(3px)}
.svcgrid a:active{transform:translateY(1px)}

/* --- Accueil : cas d'usage et savoir-faire --- */
.cases h3,.why__grid h3{text-wrap:balance}
.cases p,.why__grid p{text-wrap:pretty}
.cases__media>svg,.cases__media>img{outline:1px solid rgba(16,24,40,.08);outline-offset:-1px}
.cases article .more .i,.more .i{transition:transform .2s var(--ease)}
.cases article:hover .more .i{transform:translateX(3px)}

/* --- Accueil : composeur et appel final --- */
.c38-opt__box,.c38-chip__box{transition-property:border-color,background-color,box-shadow,transform;transition-duration:.18s;transition-timing-function:var(--ease)}
.c38-opt:active .c38-opt__box,.c38-chip:active .c38-chip__box{transform:scale(.99)}
.c38-comp{border-radius:18px}
.c38-res{border-radius:14px}
.cta .h2,.ifinal .h2{text-wrap:balance}
.btn,.btn-light{transition-property:background-color,color,border-color,transform;transition-duration:.18s;transition-timing-function:var(--ease)}
.btn:active,.btn-light:active{transform:scale(.985)}
.tlink .i{transition:transform .2s var(--ease)}
.tlink:hover .i{transform:translateX(3px)}

/* V54 (correctifs de la passe de finition) */
/* Le méga-menu reste opaque : l'animation d'ouverture pouvait le figer à mi-opacité. */
.mega:not([hidden]){animation:none}
/* Bande des projets : alignement à gauche sur deux lignes, séparateurs réguliers. */
.clients__inner{align-items:center}
.clients__list{justify-content:flex-start;gap:8px 0;font-size:15px}
.clients__list li{padding:2px 18px}
.clients__list li:first-child{padding-left:0}
.clients__list li+li{padding-left:18px}

/* V54 : bande des projets sur une seule ligne, séparateur porté par l'item (jamais orphelin en cas de retour à la ligne) */
.clients__list li+li{border-left:0}
.clients__list li{padding:2px 0}
.clients__list li:not(:last-child)::after{content:"";display:inline-block;width:1px;height:13px;margin:0 16px;background:var(--line);vertical-align:-1px}
.clients__list{gap:0 2px}

/* V54 : bande des projets, six libellés tiennent sur une ligne (la taille était portée par le li) */
.clients__list li{font-size:16.5px;font-weight:700;letter-spacing:-.022em;color:#3C465C}
.clients__list li:not(:last-child)::after{margin:0 14px}

/* ==========================================================================
   V55 : accueil et navigation redessines. Le deuxieme composant devient
   quatre portes d'entree ; la navigation passe en controle segmente ;
   les cartes de services et les filets de section sont revus.
   ========================================================================== */

/* --- Deuxieme composant : quatre portes d'entree --- */
.entry{border-block:1px solid var(--line);background:#fff}
.entry__inner{display:grid;grid-template-columns:186px minmax(0,1fr);align-items:stretch}
.entry__label{align-self:center;padding-right:26px;font:500 10.5px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--blue)}
.entry__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.entry__list li{border-left:1px solid var(--line)}
.entry__list a{position:relative;display:grid;align-content:start;min-height:140px;padding:26px 22px 26px;color:var(--deep);transition-property:background-color,color;transition-duration:.18s;transition-timing-function:var(--ease)}
.entry__n{font:500 10.5px/1 var(--mono);letter-spacing:.12em;color:var(--grey)}
.entry__list b{margin-top:14px;font-size:17.5px;line-height:1.24;letter-spacing:-.028em;text-wrap:balance}
.entry__d{margin-top:8px;color:var(--grey);font-size:13px;line-height:1.55;text-wrap:pretty}
.entry__list .i{position:absolute;right:20px;bottom:22px;width:16px;height:16px;color:var(--blue);opacity:0;transform:translateX(-5px);transition:opacity .18s var(--ease),transform .18s var(--ease)}
.entry__list a:hover{background:var(--mist-2)}
.entry__list a:hover b,.entry__list a:focus-visible b{color:var(--blue)}
.entry__list a:hover .i,.entry__list a:focus-visible .i{opacity:1;transform:none}
@media(max-width:1080px){.entry__inner{grid-template-columns:1fr}.entry__label{padding:22px 0 2px}
  .entry__list{grid-template-columns:1fr 1fr}.entry__list li:nth-child(odd){border-left:0}
  .entry__list li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.entry__list{grid-template-columns:1fr}.entry__list li{border-left:0;border-top:1px solid var(--line)}
  .entry__list li:first-child{border-top:0}.entry__list a{min-height:0;padding:18px 0}.entry__list .i{right:2px;bottom:18px;opacity:1;transform:none}}

/* --- Navigation : bandeau plus fin, navigation en controle segmente --- */
.hdr__top{max-height:32px}
.hdr__topin{height:32px}
.hdr__topin p,.hdr__place{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.hdr__topin ul{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.hdr__topin .i,.hdr__place .i{width:13px;height:13px;opacity:.8}
.hdr__topin a{font-weight:700;letter-spacing:.06em}
.hdr.is-scrolled .hdr__top{max-height:0}
.mainnav{padding:4px;gap:2px;background:var(--mist-2);border:1px solid var(--line);border-radius:13px}
.mainnav a,.mainnav button{padding:9px 15px;border-radius:9px;font-size:14px;font-weight:600;color:#2B3647}
.mainnav a:hover,.mainnav button:hover{background:transparent;color:var(--deep)}
.mainnav a[aria-current],.mainnav .is-current,.mainnav button[aria-expanded="true"]{background:#fff;color:var(--blue)}
.mainnav__pill{height:34px;border-radius:9px;background:#fff;border:1px solid var(--line-2)}
.hdr__inner{gap:30px}
.hdr.is-scrolled .hdr__inner{height:58px}
.btn-quote{min-height:42px}

/* --- Accueil : filets de section et intertitres tenus par une regle --- */
main:has(#home-h1) .sec+.sec{border-top:1px solid var(--line)}
main:has(#home-h1) .intro>div>.kicker::after{content:"";flex:1;height:1px;margin-left:14px;background:var(--line)}

/* --- Accueil : cartes de services plus denses (numero a gauche, icone a droite) --- */
main:has(#home-h1) .svcgrid a{min-height:272px;padding:24px 22px 20px;display:grid;grid-template-columns:1fr auto;
  grid-template-areas:"n i" "t t" "p p" "g g";align-content:start;gap:0}
main:has(#home-h1) .svcgrid .num{grid-area:n;align-self:center}
main:has(#home-h1) .svcgrid__icon{grid-area:i;width:54px;height:34px;margin:0;justify-self:end}
main:has(#home-h1) .svcgrid__icon::before{left:2px;right:2px;top:4px;height:22px}
main:has(#home-h1) .svcgrid__icon .i{width:22px;height:22px}
main:has(#home-h1) .svcgrid h3{grid-area:t;margin:24px 0 10px;font-size:19px;line-height:1.2}
main:has(#home-h1) .svcgrid p{grid-area:p;font-size:13px;line-height:1.6}
main:has(#home-h1) .svcgrid__go{grid-area:g;margin-top:20px;padding-top:0;justify-self:end}
main:has(#home-h1) .svcgrid a:hover{background:var(--mist-2);transform:none}

/* V55 : filet de regle aussi sur le sur-titre du hero et de la section savoir-faire */
main:has(#home-h1) .hhero__copy>.kicker::after{content:"";flex:1;height:1px;margin-left:14px;background:var(--line);max-width:260px}
main:has(#home-h1) .why__copy>.kicker::after{content:"";flex:1;height:1px;margin-left:14px;background:var(--line)}
main:has(#home-h1) .c42-sit__copy .kicker::after{content:"";flex:1;height:1px;margin-left:14px;background:var(--line)}

/* V55 : les grands titres de l accueil portent leurs propres retours a la ligne (balance les cassait) */
main:has(#home-h1) .h2,main:has(#home-h1) .hhero h1{text-wrap:initial}

/* ==========================================================================
   V56 : bande de reperes reprise de la V38 comme deuxieme composant.
   ========================================================================== */
.c38-proofs{border-block:1px solid var(--line)}
.c38-proofs__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.c38-proofs__list li{min-width:0;padding:28px 28px 30px;display:flex;flex-direction:column}
.c38-proofs__list li:first-child{padding-left:0}
.c38-proofs__list li+li{border-left:1px solid var(--line)}
.c38-proofs b{margin-top:14px;font-size:clamp(30px,2.6vw,40px);line-height:1;letter-spacing:-.045em;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.c38-proofs li>span:last-child{margin-top:8px;max-width:30ch;font-size:14px;line-height:1.5;color:var(--grey)}
@media(max-width:920px){.c38-proofs__list{grid-template-columns:1fr 1fr}.c38-proofs__list li:nth-child(odd){padding-left:0;border-left:0}
  .c38-proofs__list li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.c38-proofs__list li{padding:20px 0 22px 16px}.c38-proofs__list li:nth-child(odd){padding-right:14px}
  .c38-proofs b{font-size:28px}.c38-proofs li>span:last-child{font-size:13px}}
/* V56 : la bande garde le rail de filets de la V55 et le numero en chasse fixe */
.c38-proofs .c38-mono{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}

/* V57 : pot de miel du formulaire (invisible, hors flux, non focusable) */
.hpot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* V57 : page 404 */
.nf{padding-top:150px;padding-bottom:110px;max-width:820px}
.nf h1{margin-top:26px;font-size:clamp(44px,5.4vw,74px);line-height:.96;letter-spacing:-.06em}
.nf__lead{margin-top:24px;color:var(--grey);font-size:18px;line-height:1.75;max-width:60ch;text-wrap:pretty}
.nf__links{margin:38px 0 34px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.nf__links li{border-bottom:1px solid var(--line)}
.nf__links li:nth-child(odd){border-right:1px solid var(--line)}
.nf__links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 18px 0;font-size:17px;font-weight:600;color:var(--deep)}
.nf__links li:nth-child(odd) a{padding-right:22px}
.nf__links a:hover{color:var(--blue)}
.nf__links .i{width:16px;height:16px;color:var(--blue);transition:transform .2s var(--ease)}
.nf__links a:hover .i{transform:translateX(3px)}
@media(max-width:620px){.nf{padding-top:112px}.nf__links{grid-template-columns:1fr}.nf__links li:nth-child(odd){border-right:0}
  .nf__links li:nth-child(odd) a{padding-right:0}}

/* V57 : ligne de direction sur la page Qui sommes-nous */
.aghero__dir{margin-top:14px;color:var(--grey);font-size:14.5px;line-height:1.6}

/* V58 : lien LinkedIn dans le pied de page */
.ftr__social{margin-top:22px;display:inline-flex;align-items:center;gap:10px;padding:9px 15px 9px 12px;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;color:#fff;font-size:13.5px;font-weight:600;transition:border-color .18s var(--ease),background-color .18s var(--ease)}
.ftr__social .i{width:17px;height:17px;color:var(--tint)}
.ftr__social:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}

/* V58 : signature en bas d'article */
.geo-by{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:var(--grey);font-size:13.5px;line-height:1.6}
.geo-by a{color:var(--blue)}

/* V58 : bandeau de consentement (rendu seulement si un outil à cookies est activé) */
.cb{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:16px}
.cb__box{max-width:720px;margin:0 auto;padding:22px 24px;background:#fff;border:1px solid var(--line-2);border-radius:16px}
.cb__t{font-size:15px;font-weight:700;color:var(--deep)}
.cb__p{margin-top:8px;color:var(--grey);font-size:14px;line-height:1.6}
.cb__p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cb__btns{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:620px){.cb{padding:10px}.cb__box{padding:18px}}

/* V58 (correctif) : le pied de page est clair, le lien LinkedIn doit être lisible dessus */
.ftr__social{border-color:var(--line);color:var(--deep);background:#fff}
.ftr__social .i{color:var(--blue)}
.ftr__social span{font-size:13.5px}
.ftr__social:hover{border-color:var(--blue);color:var(--blue);background:var(--mist-2)}

/* V58 (correctif accessibilité) : le lien de la signature doit se distinguer autrement que par la couleur */
.geo-by a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.geo-by a:hover{text-decoration-thickness:2px}

/* V59 : LinkedIn et Espace client, cote a cote */
.ftr__socials{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.ftr__socials .ftr__social{margin-top:0}

/* V60 : acces a l espace client, discret sans etre illisible. Une opacite reduite
   faisait tomber le contraste a 3,34 pour 4,5 exiges : la discretion vient de la
   place et de la taille, pas d un texte delave. */
.ftr__client{margin-left:6px;padding-left:14px;border-left:1px solid var(--line-2)}

/* V60 : navbar dépliée. La colonne de droite était deux fois plus haute que les quatre
   colonnes de services : les filets verticaux descendaient dans 250 px de vide, et le
   quatrième titre, sur deux lignes, décalait ses liens par rapport aux trois autres.
   Les deux listes deviennent une bande sous les colonnes, et les en-têtes sont alignés. */
.mega__title{min-height:66px}
.mega__desc{min-height:54px}
.mega__side{background:var(--mist);border-radius:0 0 16px 0}
.mega__help{background:transparent;border-radius:0}
.mega__bottom{border-top:1px solid var(--line-2);background:var(--mist-2)}
.mega__row{min-height:52px;padding:8px 28px;gap:4px 22px}
.mega__row>span{flex:0 0 118px}
@media(max-width:1180px){.mega__row{padding:10px 22px}.mega__row>span{flex:0 0 100%}}

/* V60 : les quatre colonnes s'alignent ligne par ligne (titre, description, liens),
   quelle que soit la largeur, au lieu de compter sur des hauteurs minimales devinees.
   Les min-height ci-dessus restent le repli pour les navigateurs sans subgrid. */
@supports (grid-template-rows: subgrid){
  /* Trois rangees dimensionnees par leur contenu, et non par la hauteur du panneau :
     sinon l espace libre s inserait entre le titre, la description et les liens. */
  /* Le gap de 26 px etait prevu entre colonnes ; en subgrid il s appliquait aussi
     entre les rangees et creusait 26 px sous chaque titre et chaque description. */
  .mega__cols{grid-template-rows:auto auto auto;align-content:start;row-gap:0}
  .mega__col{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start}
  .mega__title,.mega__desc{min-height:0}
  .mega__links{align-content:start}
}
