/* ===== Commun avec l'accueil (généré depuis tools/source/home-template.html) ===== */
:root{
  --blue:var(--wp--preset--color--bleu,#4F3DFF); --blue-2:#3A2AE8; --blue-deep:#1E1590;
  --navy:#244E84;
  --accent:var(--wp--preset--color--accent,#3DDC97);                /* réglable dans WordPress */
  --accent-ink:#062417;
  --night:#060A18; --night-2:#0B1230; --night-3:#121A3F;
  --ink:#0B1226; --text:#3B465C; --muted:#6B7690;
  --paper:#FAFAFC; --mist:#F1F2F8; --line:#E3E6EF;
  --r:22px; --max:1240px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --display:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
html{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
@media(max-width:640px){.wrap{padding:0 18px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.eyebrow{font:600 12.5px/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.on-dark .eyebrow{color:var(--accent)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;margin:0}
h2{font-weight:800;font-size:clamp(34px,5.2vw,68px);line-height:1.02}
h3{font-weight:700;font-size:clamp(21px,2vw,26px);line-height:1.15}
p{margin:0 0 1em}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--text)}
.on-dark{color:#fff}.on-dark .lead,.on-dark p{color:#B9C3DD}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font:600 16px/1 var(--body);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(79,61,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(79,61,255,.5)}
.btn-ghost{color:inherit;border:1.5px solid currentColor;opacity:.9}
.btn-ghost:hover{opacity:1;transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--blue)}
.btn .ar{transition:transform .35s var(--ease)}.btn:hover .ar{transform:translateX(4px)}
.link{font-weight:600;text-decoration:none;color:var(--blue);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease)}
.link:hover{background-size:100% 1.5px}
.on-dark .link{color:var(--accent)}

/* ---------- Reveal (only with JS, never hides content without it) ---------- */
.js .rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .mask{display:block;overflow:hidden;padding-bottom:.06em}
.js .mask>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.js .in .mask>span,.js .mask.in>span{transform:none}

/* ---------- Progress + header ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,var(--blue),var(--accent));z-index:60}
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,box-shadow .4s,color .4s;color:#fff}
.hdr .bar{display:flex;align-items:center;gap:26px;height:76px}
.hdr .logo{display:block;height:38px;margin-right:auto}
.hdr .logo svg{height:38px;width:auto}
.hdr .logo .navy{display:none}
.hdr.light{background:rgba(250,250,252,.82);color:var(--ink);box-shadow:0 1px 0 rgba(11,18,38,.06)}
.hdr.light .logo .white{display:none}.hdr.light .logo .navy{display:block}
.hdr.dark{background:rgba(6,10,24,.72)}
/* Flou du bandeau porté par un pseudo-élément : un backdrop-filter sur .hdr ferait du bandeau le repère des éléments « position:fixed » qu'il contient, et le panneau du menu mobile (inset:76px 0 0 0) serait réduit à rien après défilement. */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.hdr.light::before{backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px)}
.hdr.dark::before{backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px)}
.nav{display:flex;align-items:center;gap:20px;font-size:15px}
.nav>a,.nav .dd>button{color:inherit;text-decoration:none;opacity:.85;background:none;border:0;font:inherit;cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:6px}
.nav>a:hover,.nav .dd>button:hover{opacity:1}
.nav .minor{opacity:.6;font-size:14px}
.nav>a.btn{padding:12px 20px;font-size:15px;opacity:1;background:var(--blue);color:#fff}
.dd{position:relative}
.dd .chev{width:10px;height:10px;transition:transform .3s}
.dd:hover .chev,.dd:focus-within .chev{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 14px);left:-26px;width:640px;background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 30px 80px rgba(6,10,24,.22);padding:22px;display:grid;grid-template-columns:1.35fr 1fr;gap:18px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .35s var(--ease)}
.dd:hover .mega,.dd:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega::before{content:"";position:absolute;inset:-16px 0 auto 0;height:16px}
.mega h4{margin:0 0 8px;font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mega a{display:block;padding:8px 10px;border-radius:10px;text-decoration:none;font-size:15px}
.mega a:hover{background:var(--mist)}
.mega a small{display:block;color:var(--muted);font-size:12.5px}
.mega .all{color:var(--blue);font-weight:600}
.burger{display:none}
@media(max-width:1180px){
  .nav{display:none}
  .burger{display:block}
  .burger summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
  .burger summary::-webkit-details-marker{display:none}
  .burger .ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor}
  .burger[open] .panel{opacity:1;visibility:visible}
  .burger .panel{position:fixed;inset:76px 0 0 0;background:var(--night);color:#fff;padding:24px 22px 40px;overflow:auto;opacity:0;visibility:hidden;transition:opacity .3s}
  .burger .panel a{display:block;text-decoration:none;font:700 26px/1.2 var(--display);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .burger .panel .sub a{font:500 16px var(--body);padding:8px 0 8px 14px;color:#B9C3DD}
  .burger .panel .lab{margin:18px 0 2px;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#8F9AB8}
  .burger .panel .btn{display:flex;justify-content:center;margin-top:20px;font:600 17px var(--body);border:0}
  .hdr .bar .cta-m{display:inline-flex}
}
.hdr .cta-m{display:none;padding:11px 16px;font-size:14px}
@media(max-width:460px){.hdr .cta-m{display:none!important}}


.aurora{position:absolute;inset:-20%;pointer-events:none;filter:blur(60px);opacity:.9}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.aurora .a1{width:46vw;height:46vw;left:48%;top:4%;background:radial-gradient(circle,rgba(79,61,255,.85),transparent 65%);animation:drift1 18s ease-in-out infinite alternate}
.aurora .a2{width:36vw;height:36vw;left:64%;top:34%;background:radial-gradient(circle,rgba(61,220,151,.55),transparent 65%);animation:drift2 22s ease-in-out infinite alternate}
.aurora .a3{width:40vw;height:40vw;left:20%;top:50%;background:radial-gradient(circle,rgba(36,78,132,.9),transparent 65%);animation:drift3 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-12vw,8vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-18vw,-10vh) scale(.85)}}
@keyframes drift3{to{transform:translate(14vw,-14vh) scale(1.2)}}

/* ---------- 13 CTA FINAL ---------- */
.final{position:relative;background:var(--night);color:#fff;padding:120px 0 110px;overflow:hidden;text-align:center}
.final .aurora{opacity:.75}
.final h2{position:relative;font-size:clamp(40px,6.6vw,96px);max-width:15ch;margin:22px auto 26px}
.final .lead{position:relative;color:#C3CBE3;max-width:640px;margin:0 auto}
.final .ctas{position:relative;margin-top:40px;display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.final .contacts{position:relative;margin-top:44px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;color:#9EA9C6;font-size:15px}
.final .contacts a{color:#fff;text-decoration:none;font-weight:600}
.final .later{position:relative;margin-top:30px;color:#8F9AB8;font-size:15px}
@media(max-width:700px){.final{padding:84px 0 80px}}

/* ---------- FOOTER ---------- */
.foot{background:#04060F;color:#9EA9C6;padding:64px 0 30px;font-size:15px}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:36px}
.foot h4{margin:0 0 14px;color:#fff;font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 9px}
.foot a{text-decoration:none;color:#9EA9C6;transition:color .25s}
.foot a:hover{color:#fff}
.foot .brand svg{height:44px;width:auto;margin-bottom:18px}
.foot .addr{font-style:normal;line-height:1.55}
.foot .addr b{color:#fff;font-weight:600}
.foot .legal{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;font-size:13.5px}
@media(max-width:1000px){.foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot .cols{grid-template-columns:1fr}}


/* ---------- V2 : accès « sans besoin immédiat » ---------- */
.soft{display:inline-flex;align-items:center;gap:8px;margin-top:14px;align-self:flex-start;font-size:15px;color:#C3CBE3;text-decoration:none;border-bottom:1px solid rgba(195,203,227,.35);padding-bottom:2px;transition:color .3s,border-color .3s}
.soft:hover{color:#fff;border-color:var(--accent)}
.soft .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.later-link{display:inline;margin-top:18px;font-size:15px;color:#8F9AB8;text-decoration:none;border-bottom:1px solid rgba(143,154,184,.4)}
.later-link:hover{color:#fff;border-color:var(--accent)}
html:not(.js) .hdr{background:rgba(6,10,24,.94)}
/* ---------- V2 : contact sur mobile ---------- */
.fab{display:none}
@media(max-width:760px){
  .hdr .bar .cta-m{display:none!important}
  .fab{display:inline-flex;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:55;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:var(--blue);color:#fff;font:600 15px/1 var(--body);text-decoration:none;box-shadow:0 14px 34px rgba(79,61,255,.45),0 0 0 1px rgba(255,255,255,.12) inset;transition:transform .45s var(--ease),opacity .45s var(--ease)}
  .fab i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(61,220,151,.22)}
  .js .fab{transform:translateY(140%);opacity:0;pointer-events:none}
  .js .fab.on{transform:none;opacity:1;pointer-events:auto}
}



/* =========================================================
   NEXIR · Modèle de page Expertise (commun à toutes les expertises)
   Les styles communs avec l'accueil (couleurs, titres, boutons, en-tête,
   pied de page, appel final) sont repris automatiquement de la maquette d'accueil.
   Univers : [data-u="data"] = bleu, [data-u="ia"] = menthe (couleur d'appui réglable).
   ========================================================= */
html{scroll-padding-top:140px}

/* ---------- 01 HERO ---------- */
.xhero{position:relative;min-height:min(100svh,920px);background:var(--night);color:#fff;overflow:hidden;display:flex;flex-direction:column}
.xhero .aurora{opacity:.7}
.xhero .flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.xhero .veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,24,.92) 0%,rgba(6,10,24,.55) 42%,rgba(6,10,24,0) 70%)}
.xhero .inner{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:120px;padding-bottom:40px;width:100%;box-sizing:border-box}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:13.5px;color:#8F9AB8;margin:0 0 26px;padding:0;list-style:none}
.crumbs a{color:#B9C3DD;text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs li+li::before{content:"/";margin-right:10px;color:#56607E}
.xhero h1{font-size:clamp(40px,5.6vw,84px);line-height:1;font-weight:800;letter-spacing:-.045em;margin:16px 0 22px;max-width:12ch}
.xhero h1 .grad{background:linear-gradient(92deg,#fff 0%,#C8C2FF 35%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.xhero .lead{color:#C3CBE3;max-width:600px}
.xhero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.xhero .reass{margin-top:22px;display:flex;align-items:center;gap:12px;font-size:14px;color:#8F9AB8}
.xhero .reass i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(61,220,151,.15)}
/* Deux univers, accès direct */
.univ{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:720px;margin-top:46px}
.univ a{display:flex;flex-direction:column;gap:6px;padding:18px 20px 18px 22px;border-radius:18px;text-decoration:none;color:#fff;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .35s,border-color .35s,transform .35s var(--ease);position:relative;overflow:hidden}
.univ a::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--uc)}
.univ a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);transform:translateY(-3px)}
.univ b{font:700 18px/1.2 var(--display);letter-spacing:-.01em;display:flex;justify-content:space-between;gap:10px}
.univ b .ar{color:var(--uc);transition:transform .35s var(--ease)}
.univ a:hover b .ar{transform:translateY(3px)}
.univ span{font-size:14px;line-height:1.45;color:#AEB8D3}
[data-u="data"]{--uc:#8C80FF}
[data-u="ia"]{--uc:var(--accent)}
/* Autres expertises : 1er univers en violet, 2e en couleur d'appui */
[data-u="cloud"]{--uc:#8C80FF}
[data-u="devops"]{--uc:var(--accent)}
.utag[data-u="cloud"] i{background:var(--blue)}
.on-dark .utag[data-u="cloud"] i{background:#8C80FF}
.tfam[data-u="cloud"]::after{background:var(--blue)}
.tfam[data-u="cloud devops"]::after{background:linear-gradient(90deg,var(--blue),var(--accent))}
.mrow[data-u="cloud devops"] .need .k{background:linear-gradient(135deg,#8C80FF,var(--accent))}
.mrow[data-u="cloud devops"] .wire::after,.mrow[data-u="cloud devops"] .wire::before{background:linear-gradient(90deg,#8C80FF,var(--accent))}
.mrow.off{opacity:.28;transform:scale(.985)}
[data-u="defense"]{--uc:#8C80FF}
[data-u="gouvernance"]{--uc:var(--accent)}
.utag[data-u="defense"] i{background:var(--blue)}
.on-dark .utag[data-u="defense"] i{background:#8C80FF}
.tfam[data-u="defense"]::after{background:var(--blue)}
[data-u="dev"]{--uc:#8C80FF}
[data-u="qa"]{--uc:var(--accent)}
[data-u="produit"]{--uc:#9AA3BD}
.utag[data-u="dev"] i{background:var(--blue)}
.on-dark .utag[data-u="dev"] i{background:#8C80FF}
.tfam[data-u="dev"]::after{background:var(--blue)}
.tfam[data-u="dev qa"]::after{background:linear-gradient(90deg,var(--blue),var(--accent))}
.mrow[data-u="dev qa"] .need .k{background:linear-gradient(135deg,#8C80FF,var(--accent))}
.mrow[data-u="dev qa"] .wire::after,.mrow[data-u="dev qa"] .wire::before{background:linear-gradient(90deg,#8C80FF,var(--accent))}
[data-u="infra"]{--uc:#8C80FF}
[data-u="workspace"]{--uc:var(--accent)}
.utag[data-u="infra"] i{background:var(--blue)}
.on-dark .utag[data-u="infra"] i{background:#8C80FF}
.tfam[data-u="infra"]::after{background:var(--blue)}
.tfam[data-u="infra workspace"]::after{background:linear-gradient(90deg,var(--blue),var(--accent))}
[data-u="logiciel"]{--uc:#8C80FF}
[data-u="validation"]{--uc:var(--accent)}
.utag[data-u="logiciel"] i{background:var(--blue)}
.on-dark .utag[data-u="logiciel"] i{background:#8C80FF}
.tfam[data-u="logiciel"]::after{background:var(--blue)}
.tfam[data-u="logiciel validation"]::after{background:linear-gradient(90deg,var(--blue),var(--accent))}
.mrow[data-u="logiciel validation"] .need .k{background:linear-gradient(135deg,#8C80FF,var(--accent))}
.mrow[data-u="logiciel validation"] .wire::after,.mrow[data-u="logiciel validation"] .wire::before{background:linear-gradient(90deg,#8C80FF,var(--accent))}
@media(max-width:820px){
  .xhero .veil{background:linear-gradient(180deg,rgba(6,10,24,.55) 0%,rgba(6,10,24,.85) 55%,rgba(6,10,24,.95) 100%)}
}
@media(max-width:640px){
  .xhero .inner{padding-top:96px;padding-bottom:30px}
  .crumbs{margin-bottom:18px;font-size:12.5px}
  .xhero h1{margin:12px 0 16px}
  .xhero .lead{font-size:17px;line-height:1.5}
  .xhero .ctas{margin-top:22px;gap:10px}
  .univ{grid-template-columns:1fr;gap:10px;margin-top:30px}
  .univ a{padding:14px 16px 14px 18px}
  .univ a::before{top:14px;bottom:14px}
}

/* ---------- Navigation interne (sous l'en-tête) ---------- */
.subnav{position:sticky;top:76px;z-index:40;background:rgba(250,250,252,.88);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;align-items:center;gap:6px;height:56px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font-size:14.5px;color:var(--text);text-decoration:none;padding:8px 14px;border-radius:999px;transition:background .3s,color .3s}
.subnav a:hover{color:var(--ink);background:var(--mist)}
.subnav a.on{color:var(--ink);background:#fff;box-shadow:0 1px 0 rgba(11,18,38,.04),0 0 0 1px var(--line) inset;font-weight:600}
.subnav .lbl{flex:none;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:10px}
.subnav .sn-cta{margin-left:auto;color:var(--blue);font-weight:600}
@media(max-width:1180px){.subnav .lbl{display:none}}
@media(max-width:760px){.subnav .sn-cta{display:none}.subnav .wrap{height:50px;padding-right:0}.subnav a{font-size:14px;padding:7px 12px}}
.admin-bar .subnav{top:108px}
@media(max-width:782px){.admin-bar .subnav{top:122px}}

/* ---------- Titres de section ---------- */
.shead{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:end;margin-bottom:46px}
.shead h2{margin-top:16px}
.shead p{margin:0 0 6px}
@media(max-width:960px){.shead{grid-template-columns:1fr;gap:18px;margin-bottom:34px}}

/* Étiquettes d'univers */
.utag{display:inline-flex;align-items:center;gap:7px;font:600 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.utag i{width:8px;height:8px;border-radius:50%;background:var(--uc,#8C80FF)}
.utag[data-u="data"] i{background:var(--blue)}
.on-dark .utag[data-u="data"] i{background:#8C80FF}
.utag+.utag{margin-left:12px}

/* ---------- 02 ENJEUX ---------- */
.needs{background:var(--paper);padding:110px 0 100px}
.ngrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;counter-reset:n}
.ncard{--x:50%;--y:50%;position:relative;background:#fff;border:1px solid rgba(11,18,38,.07);border-radius:var(--r);padding:30px 30px 26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ncard::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--x) var(--y),rgba(79,61,255,.08),transparent 55%);opacity:0;transition:opacity .4s}
.ncard:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(30,21,144,.12)}
.ncard:hover::before{opacity:1}
.ncard .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative}
.ncard .no{font:600 13px var(--body);letter-spacing:.08em;color:var(--blue)}
.ncard .ic{width:46px;height:46px;flex:none}
.ncard h3{position:relative;margin:0 0 10px;max-width:22ch}
.ncard p{position:relative;color:var(--text);font-size:16px;margin:0 0 20px}
.ncard .foot-n{position:relative;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ncard .foot-n a{font-size:14.5px;font-weight:600;color:var(--blue);text-decoration:none}
.ncard .foot-n a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.needs{padding:80px 0 70px}.ngrid{grid-template-columns:1fr}.ncard{padding:24px 22px 20px}}

/* ---------- 03 COMPÉTENCES ---------- */
.skills{position:relative;background:var(--night-2);color:#fff;padding:110px 0 100px;overflow:hidden}
.skills::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 85% 0%,rgba(79,61,255,.28),transparent 70%),radial-gradient(600px 380px at 0% 100%,rgba(61,220,151,.12),transparent 70%);pointer-events:none}
.skills .wrap{position:relative}
.switch{display:none}
.js .switch{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);margin:0 0 26px}
.switch button{font:600 14px/1 var(--body);color:#B9C3DD;background:none;border:0;padding:11px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .3s,color .3s}
.switch button i{width:8px;height:8px;border-radius:50%;background:var(--uc,#fff)}
.switch button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.map{display:flex;flex-direction:column;gap:12px}
.mrow{display:grid;grid-template-columns:minmax(0,1.05fr) 90px minmax(0,1fr);align-items:center;gap:0;padding:22px 26px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:opacity .45s var(--ease),background .45s,border-color .45s,transform .45s var(--ease)}
.mrow:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.mrow .need{display:flex;gap:18px;align-items:flex-start}
.mrow .need .k{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:700 14px var(--display);color:var(--ink);background:var(--uc)}
.mrow h3{font-size:clamp(19px,1.7vw,23px);margin:2px 0 6px}
.mrow .need p{margin:0;font-size:15px;color:#AEB8D3;line-height:1.5}
.mrow .wire{height:2px;position:relative;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.22))}
.mrow .wire::after{content:"";position:absolute;right:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--uc);box-shadow:0 0 0 5px rgba(255,255,255,.06)}
.js .mrow .wire::before{content:"";position:absolute;left:0;top:-1px;width:24px;height:4px;border-radius:4px;background:var(--uc);opacity:0;animation:wire 2.6s var(--ease) infinite;animation-delay:var(--wd,0s)}
@keyframes wire{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 24px);opacity:0}}
.mrow .roles{display:flex;flex-wrap:wrap;gap:8px;padding-left:22px}
.mrow .roles li{list-style:none;font-size:14.5px;font-weight:500;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#E6EAF5}
.mrow .roles{margin:0}
.map[data-show="data"] .mrow:not([data-u~="data"]),.map[data-show="ia"] .mrow:not([data-u~="ia"]){opacity:.28;transform:scale(.985)}
.mrow[data-u="data ia"] .need .k{background:linear-gradient(135deg,#8C80FF,var(--accent))}
.mrow[data-u="data ia"] .wire::after,.mrow[data-u="data ia"] .wire::before{background:linear-gradient(90deg,#8C80FF,var(--accent))}
.map-note{margin:22px 0 0;font-size:14px;color:#8F9AB8;display:flex;gap:10px;align-items:flex-start;max-width:760px}
.map-note svg{flex:none;margin-top:3px}
.skills .tail{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center}
.skills .tail p{margin:0;color:#C3CBE3}
@media(max-width:960px){
  .mrow{grid-template-columns:1fr;gap:16px;padding:20px}
  .mrow .wire{display:none}
  .mrow .roles{padding-left:58px}
}
@media(max-width:640px){.skills{padding:80px 0 74px}.mrow .roles{padding-left:0}.mrow .roles li{font-size:13.5px;padding:7px 12px}}

/* ---------- 04 TECHNOLOGIES ---------- */
.tech{background:var(--mist);padding:110px 0 100px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tfam{background:#fff;border-radius:var(--r);padding:26px 26px 24px;border:1px solid rgba(11,18,38,.06);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tfam::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--uc)}
.tfam[data-u="data"]::after{background:var(--blue)}
.tfam[data-u="data ia"]::after{background:linear-gradient(90deg,var(--blue),var(--accent))}
.tfam:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(30,21,144,.1)}
.tfam h3{font-size:20px}
.tfam p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
.tfam ul{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.tfam li{font-size:14px;font-weight:500;padding:7px 12px;border-radius:10px;background:var(--mist);color:var(--ink)}
/* Architectures et pratiques : distinctes des technologies */
.tnote{margin:18px 0 0;font-size:14.5px;color:var(--muted)}
.tpract{margin-top:18px;background:#fff;border-radius:var(--r);padding:22px 26px;border:1px solid rgba(11,18,38,.06);display:grid;grid-template-columns:220px 1fr;gap:14px 26px;align-items:center}
.tpract h3{font-size:18px}
.tpract ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.tpract li{font-size:14px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--text)}
@media(max-width:760px){.tpract{grid-template-columns:1fr}}
/* Technologie ajoutée, à confirmer avant la mise en ligne */
.tfam li.tbc,span.tbc{background:transparent;outline:1.5px dashed #9AA3BC;outline-offset:-1.5px}
span.tbc{padding:2px 8px;border-radius:8px;color:var(--ink)}
.tbc-note{margin:18px 0 0;font-size:13.5px;color:var(--muted)}
@media(max-width:1000px){.tgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.tech{padding:80px 0 70px}.tgrid{grid-template-columns:1fr}}

/* ---------- 05 POURQUOI NEXIR ---------- */
.why{position:relative;background:var(--night);color:#fff;padding:110px 0 100px;overflow:hidden}
.why::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 100% 100%,rgba(79,61,255,.22),transparent 70%);pointer-events:none}
.why .wrap{position:relative}
.rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;counter-reset:s}
.rail::before{content:"";position:absolute;left:0;right:0;top:23px;height:2px;background:rgba(255,255,255,.1)}
.rail::after{content:"";position:absolute;left:0;top:23px;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,1));background:linear-gradient(90deg,var(--blue),var(--accent));transition:transform 1.6s var(--ease)}
.js .rail:not(.in)::after{--p:0}
.rail li{position:relative;padding-top:66px}
.rail li::before{counter-increment:s;content:"0" counter(s);position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:700 14px var(--display);background:var(--night-3);border:1.5px solid rgba(255,255,255,.18);color:#fff;z-index:1;transition:background .5s,border-color .5s,color .5s;transition-delay:var(--d,0s)}
.rail.in li::before,html:not(.js) .rail li::before{background:#fff;color:var(--ink);border-color:#fff}
.rail h3{font-size:21px;margin:0 0 10px}
.rail p{font-size:15.5px;color:#AEB8D3;margin:0;line-height:1.55}
.why .regie{margin-top:46px;padding:22px 26px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.why .regie b{font:700 17px var(--display);color:#fff}
.why .regie p{margin:0;flex:1 1 380px;font-size:15.5px}
@media(max-width:960px){
  .rail{grid-template-columns:1fr;gap:0}
  .rail::before,.rail::after{left:23px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .rail::after{transform-origin:50% 0;transform:scaleY(var(--p,1))}
  .rail li{padding:0 0 30px 72px}
  .rail li:last-child{padding-bottom:0}
}
@media(max-width:640px){.why{padding:80px 0 74px}}

/* ---------- 06 EXPERTISE EN DÉTAIL (textes SEO existants) ---------- */
.detail{background:#fff;padding:110px 0 100px}
.dgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:start}
.detail .prose{font-size:18px;line-height:1.7;color:var(--text)}
.detail .prose p{margin:0 0 1.2em}
.detail .prose p:first-child::first-line{color:var(--ink);font-weight:500}
.detail .prose .closing{font:600 clamp(20px,1.8vw,24px)/1.4 var(--display);letter-spacing:-.01em;color:var(--ink);border-left:3px solid var(--accent);padding-left:20px;margin-top:1.6em}
.jobs{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px 28px 24px;position:sticky;top:150px}
.jobs h3{font-size:22px;margin:0 0 16px}
.jobs ul{list-style:none;margin:0;padding:0}
.jobs li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:500}
.jobs li:last-child{border-bottom:0}
.jobs h4{margin:18px 0 4px}
.jobs h3+h4{margin-top:0}
.jobs ul:last-of-type li::before{background:var(--accent)}
.jobs-note{margin:14px 0 0;font-size:13px;color:var(--muted)}
.jobs li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--blue);transform:translateY(-2px)}
.more{margin-top:50px;padding-top:34px;border-top:1px solid var(--line);display:grid;grid-template-columns:200px 1fr;gap:20px 30px;align-items:start}
.more h3{font:600 12.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.more ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.more li a{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--line);text-decoration:none;transition:border-color .3s,background .3s}
.more li a:hover{border-color:var(--blue);background:var(--paper)}
.more li b{font:600 16px/1.3 var(--display);color:var(--ink)}
.more li span{font-size:13.5px;color:var(--muted)}
.eco-note{margin:26px 0 0;font-size:14.5px;color:var(--muted)}
@media(max-width:960px){.dgrid{grid-template-columns:1fr;gap:36px}.jobs{position:static}.more{grid-template-columns:1fr}.more ul{grid-template-columns:1fr}}
@media(max-width:640px){.detail{padding:80px 0 70px}.detail .prose{font-size:17px}}

/* ---------- 07 APPEL FINAL (styles .final repris de l'accueil) ---------- */
.final h2{max-width:18ch;font-size:clamp(34px,5vw,70px)}
/* Emplacement d'une future ressource : visible uniquement dans la maquette */
.slot{position:relative;max-width:720px;margin:56px auto 0;padding:22px 24px;border-radius:18px;border:1.5px dashed rgba(255,255,255,.28);text-align:left;display:flex;gap:18px;align-items:center}
.slot .ph{flex:none;width:64px;height:80px;border-radius:8px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px);border:1px solid rgba(255,255,255,.14)}
.slot b{display:block;font:700 17px var(--display);color:#fff;margin-bottom:4px}
.slot p{margin:0;font-size:14px;color:#8F9AB8}
.slot .tagm{position:absolute;top:-11px;left:20px;background:var(--accent);color:var(--accent-ink);font:700 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:999px}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv,.js .mask>span{opacity:1!important;transform:none!important}
  .js .rail:not(.in)::after{--p:1}
  .js .mrow .wire::before{display:none}
}

/* Repères pour distinguer des profils proches (section Compétences) */
.pairs{margin-top:60px}
.pairs h3{font:600 12.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#8F9AB8;margin:0 0 18px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pair{padding:20px 22px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.pair h4{font:600 16.5px/1.3 var(--display);color:#fff;margin:0 0 8px}
.pair h4 i{font-style:normal;color:var(--accent)}
.pair p{margin:0;font-size:14.5px;line-height:1.55;color:#AEB8D3}
@media(max-width:1000px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pgrid{grid-template-columns:1fr}}
/* Métiers en trois groupes, liens voisins par deux */
.jobs ul.u-qa li::before{background:var(--accent)}
.jobs ul.u-produit li::before{background:#9AA3BD}
.more ul.duo{grid-template-columns:repeat(2,1fr)}
@media(max-width:960px){.more ul.duo{grid-template-columns:1fr}}
/* Pratiques d'automatisation associées à un besoin (page Infrastructure) */
.mrow .need p.auto{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:10px;font-size:13px;color:#C3CBE3}
.mrow .need p.auto b{font:600 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-right:2px}

/* =========================================================
   Page mère « Nos expertises » (classes propres à cette page)
   ========================================================= */
.xhero.mere h1{max-width:18ch;font-size:clamp(38px,4.3vw,62px);line-height:1.04}
.xhero.mere h1 .grad{display:block}
.xhero.mere .lead{max-width:640px}
.quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:720px;margin-top:32px}
.quick .ql{font:600 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#8F9AB8;margin-right:6px}
.quick a{font-size:14px;font-weight:500;color:#E6EAF5;text-decoration:none;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .3s,border-color .3s,color .3s}
.quick a:hover{background:rgba(255,255,255,.12);border-color:var(--accent);color:#fff}
@media(max-width:640px){.quick{margin-top:28px;gap:6px}.quick .ql{width:100%;margin:0 0 4px}.quick a{font-size:13px;padding:7px 11px}}

/* Orientation par situation */
.orient{position:relative;background:var(--night-2);color:#fff;padding:110px 0 100px;overflow:hidden}
.orient::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 90% 0%,rgba(79,61,255,.28),transparent 70%),radial-gradient(600px 380px at 0% 100%,rgba(61,220,151,.1),transparent 70%);pointer-events:none}
.orient .wrap{position:relative}
.otabs{display:none}
.js .otabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.otabs button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;font:600 15.5px/1.3 var(--display);color:#C3CBE3;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px 18px;cursor:pointer;transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease)}
.otabs button .n{font:600 12px var(--body);letter-spacing:.08em;color:#8F9AB8}
.otabs button:hover{background:rgba(255,255,255,.07);color:#fff}
.otabs button[aria-selected="true"]{background:#fff;color:var(--ink);border-color:#fff}
.otabs button[aria-selected="true"] .n{color:var(--blue)}
.otabs button:focus-visible,.opanel:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.opanels{display:flex;flex-direction:column;gap:12px}
.opanel{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:34px;padding:30px 32px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.js .opanel[hidden]{display:none}
.js .opanel{animation:opIn .5s var(--ease)}
@keyframes opIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.opanel h3{font-size:clamp(21px,2vw,26px);margin:0 0 12px}
.opanel .ctx p{margin:0;color:#AEB8D3;font-size:16px;line-height:1.6}
.opanel h4{font:600 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:4px 0 14px}
.opanel .prof ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.opanel .prof li{font-size:14px;font-weight:500;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#E6EAF5}
.opanel .xp{display:flex;flex-direction:column;gap:8px}
.opanel .xp a{font-size:14.5px;color:#C3CBE3;text-decoration:none;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.opanel .xp a:hover{color:#fff}
.opanel .xp a.main{font:600 17px/1.3 var(--display);color:#fff;padding:12px 16px;border:0;border-radius:12px;background:var(--blue);display:flex;justify-content:space-between;gap:10px}
.opanel .xp a.main:hover{background:#3F2EF0}
.orient .map-note{margin-top:22px}
@media(max-width:1080px){.opanel{grid-template-columns:1fr 1fr}.opanel .xp{grid-column:1/-1}}
@media(max-width:820px){.js .otabs{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .orient{padding:80px 0 74px}
  .otabs button{font-size:14px;padding:12px 13px;border-radius:13px}
  .opanel{grid-template-columns:1fr;gap:22px;padding:22px 20px}
}

/* Les six expertises : une ligne par expertise */
.pano{background:var(--paper);padding:110px 0 100px}
.xlist{display:flex;flex-direction:column;gap:14px}
.xrow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.25fr) auto;gap:30px;align-items:start;background:#fff;border:1px solid rgba(11,18,38,.07);border-radius:var(--r);padding:28px 30px;transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.xrow:hover{box-shadow:0 24px 56px rgba(30,21,144,.1);transform:translateY(-3px)}
.xrow .xid .ic{width:44px;height:44px;display:block;margin-bottom:14px}
.xrow h3{font-size:clamp(20px,1.8vw,24px);margin:0 0 10px}
.xrow h3 a{color:var(--ink);text-decoration:none}
.xrow h3 a:hover{color:var(--blue)}
.xrow .when{margin:0;font-size:15px;line-height:1.55;color:var(--text)}
.xrow b{display:block;font:600 11px/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:7px}
.xrow .scope{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.xrow .scope li{font-size:13.5px;font-weight:500;padding:7px 11px;border-radius:10px;background:var(--mist);color:var(--ink)}
.xrow .lvl p{margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--text)}
.xrow .lvl p:last-child{margin-bottom:0}
.xrow .lvl .env{color:var(--muted)}
.xrow .lvl .env b,.xrow .lvl p:nth-child(2) b{color:#0B8A5A}
.xrow .lvl .env b{color:var(--muted)}
.xrow .lvl .note{font-size:13.5px;color:var(--muted);padding-left:12px;border-left:2px solid var(--accent)}
.xrow .go{align-self:center;white-space:nowrap;font:600 15px var(--body);color:#fff;background:var(--ink);text-decoration:none;padding:12px 18px;border-radius:999px;transition:background .3s}
.xrow .go:hover{background:var(--blue)}
.pos{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;justify-content:space-between;padding:22px 26px;border-radius:18px;border:1px solid var(--line);background:#fff}
.pos p{margin:0;flex:1 1 520px;font-size:15.5px;color:var(--text)}
.pos p b{color:var(--ink)}
@media(max-width:1100px){.xrow{grid-template-columns:1fr 1fr}.xrow .lvl{grid-column:1/-1}.xrow .go{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.pano{padding:80px 0 70px}.xrow{grid-template-columns:1fr;gap:18px;padding:24px 22px}}

/* Combinaisons de compétences */
.combo{position:relative;background:var(--night);color:#fff;padding:110px 0 100px;overflow:hidden}
.combo::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 100% 100%,rgba(79,61,255,.22),transparent 70%);pointer-events:none}
.combo .wrap{position:relative}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ccard{padding:26px 26px 24px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;gap:18px;transition:background .4s,border-color .4s}
.ccard:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18)}
.ccard h3{font-size:20px;margin:0}
.ccard>p{margin:auto 0 0;font-size:14.5px;line-height:1.55;color:#AEB8D3}
.chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}
.chain li{position:relative;padding:6px 0 6px 26px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.chain li::before{content:"";position:absolute;left:3px;top:13px;width:10px;height:10px;border-radius:50%;background:#8C80FF;box-shadow:0 0 0 4px rgba(140,128,255,.15)}
.chain li:nth-child(even)::before{background:var(--accent);box-shadow:0 0 0 4px rgba(61,220,151,.15)}
.chain li+li::after{content:"";position:absolute;left:7.5px;top:-8px;height:20px;width:1.5px;background:rgba(255,255,255,.18)}
.chain b{font:600 15.5px/1.3 var(--display);color:#fff}
.chain span{font-size:12.5px;color:#8F9AB8}
.ccard.regie{background:linear-gradient(150deg,rgba(79,61,255,.32),rgba(79,61,255,.08));border-color:rgba(140,128,255,.35)}
.ccard.regie>b{font:700 20px var(--display)}
.ccard.regie p{margin:0;font-size:15px;line-height:1.6;color:#D5DBEE}
.ccard.regie .link{color:#fff;margin-top:auto}
@media(max-width:1000px){.cgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.combo{padding:80px 0 74px}.cgrid{grid-template-columns:1fr}}

/* Préparer un besoin */
.prep{background:#fff;padding:110px 0 90px}
.qgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:q}
.q{position:relative;padding:26px 26px 24px 26px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.q::before{counter-increment:q;content:"?";position:absolute;right:22px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--display);color:var(--blue);background:rgba(79,61,255,.08)}
.q h3{font-size:19px;margin:0 0 10px;padding-right:40px}
.q p{margin:0;font-size:15px;line-height:1.55;color:var(--text)}
.prep-cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between;padding:26px 30px;border-radius:20px;background:var(--mist)}
.prep-cta p{margin:0;flex:1 1 420px;font:600 clamp(18px,1.6vw,21px)/1.4 var(--display);color:var(--ink)}
.prep-cta .pc-act{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
@media(max-width:1000px){.qgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.prep{padding:80px 0 66px}.qgrid{grid-template-columns:1fr}.prep-cta{padding:22px 20px}}

/* Pour aller plus loin, appel final */
.detail.onward{padding:0 0 90px}
.detail.onward .more{margin-top:0}
.final .cases{list-style:none;margin:34px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px;text-align:left}
.final .cases li{padding:18px 20px 18px 46px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);position:relative}
.final .cases li::before{content:"";position:absolute;left:18px;top:21px;width:14px;height:8px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.final .cases b{display:block;font:600 16px/1.3 var(--display);color:#fff;margin-bottom:4px}
.final .cases span{font-size:14px;color:#AEB8D3}
@media(max-width:820px){.final .cases{grid-template-columns:1fr}}

/* Barre d'administration WordPress (visible seulement quand on est connecté) */
.admin-bar .hdr{top:32px}.admin-bar .progress{top:32px}
@media(max-width:782px){.admin-bar .hdr{top:46px}.admin-bar .progress{top:46px}}
