/* ===== Focus sectoriel Nucléaire (chargé après expertise.css ; classes propres préfixées .nu-) =====
   Identité : sobre et technique. Trame de plan fine, coupe en couches du SI au contrôle-commande,
   bleu NEXIR et couleur d'appui réglable dans WordPress. Pas d'animation en boucle. */
.nu-final{--grid:rgba(140,128,255,.07)}
.nu-grid{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(rgba(140,128,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(140,128,255,.035) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;
  -webkit-mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 85%)}
.nu-hero .nu-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nu-hero-txt{position:relative;max-width:640px}
.nu-hero h1{max-width:15ch;font-size:clamp(36px,4.3vw,62px);line-height:1.05}
.nu-hero .nu-hl{color:#C8C2FF}
.nu-hero .lead{max-width:620px;font-size:clamp(17px,1.4vw,19.5px)}

/* Une même compétence, trois environnements (section « Le bon profil ») */
.nu-stack{margin:0;display:flex;flex-direction:column;gap:10px;position:relative;padding-left:22px}
.nu-stack::before{content:"";position:absolute;left:0;top:6px;bottom:34px;width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(140,128,255,.25),var(--accent))}
.nu-lay{position:relative;display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:15px 18px;border-radius:14px;
  background:rgba(255,255,255,calc(.035 + var(--i)*.012));border:1px solid rgba(255,255,255,calc(.08 + var(--i)*.03))}
.nu-lay .k{grid-row:1/3;align-self:center;font:600 11px/1 var(--body);letter-spacing:.12em;color:#8F9AB8;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 0;text-align:center}
.nu-lay b{font:600 16px/1.25 var(--display);color:#fff}
.nu-lay em{font-style:normal;font-size:13.5px;color:#8F9AB8}
.nu-lay.core{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent) inset}
.nu-lay.core .k{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.nu-role{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.nu-role span{font:600 11.5px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.nu-role b{font:700 22px/1.2 var(--display);color:#fff;letter-spacing:-.01em}
.nu-stack figcaption{font-size:12.5px;letter-spacing:.06em;color:#6F7A98;margin-top:4px}
.nu-stack figcaption span{color:#B9C3DD}
.nu-fit-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;margin-bottom:46px}
.nu-fit-top .nu-head{margin-bottom:0}
@media(max-width:960px){.nu-fit-top{grid-template-columns:1fr;gap:36px}.nu-stack{max-width:520px}}
@media(max-width:640px){.nu-lay{grid-template-columns:52px 1fr;padding:12px 14px}.nu-lay b{font-size:15px}.nu-lay em{font-size:12.5px}}

/* En-têtes de section et mise en page à deux colonnes */
.nu-head{max-width:820px;margin-bottom:46px}
.nu-head h2,.nu-side h2{margin:16px 0 18px;font-size:clamp(30px,3.4vw,46px);line-height:1.1;letter-spacing:-.03em}
.nu-head .lead{margin:0}
.nu-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.nu-side{position:sticky;top:160px}
.nu-side p{color:var(--text);margin:0}
@media(max-width:960px){.nu-split{grid-template-columns:1fr;gap:34px}.nu-side{position:static}}

/* 02 Vos besoins IT */
.nu-needs{background:var(--paper);padding:100px 0 90px}
.nu-ngrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nu-ngrid li{position:relative;padding:26px 24px 26px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:border-color .3s,box-shadow .35s var(--ease),transform .35s var(--ease)}
.nu-ngrid li:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--line));box-shadow:0 18px 40px rgba(30,21,144,.08);transform:translateY(-2px)}
.nu-ngrid .ni{display:block;font:600 12px var(--body);letter-spacing:.1em;color:var(--blue);margin-bottom:14px}
.nu-ngrid h3{font-size:20px;line-height:1.25;margin-bottom:8px}
.nu-ngrid p{margin:0;font-size:15.5px;line-height:1.55;color:var(--text)}
@media(max-width:960px){.nu-ngrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nu-needs{padding:76px 0 66px}.nu-ngrid{grid-template-columns:1fr}}

/* 03 Le bon profil, au-delà des technologies */
.nu-fit{background:var(--night-2);padding:100px 0 90px;position:relative}
.nu-exs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nu-ex{padding:26px 24px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.nu-ex h3{font-size:19px;color:#fff;margin-bottom:16px}
.nu-ab p{margin:0;font-size:15px;line-height:1.55;color:#AEB8D3!important;padding:12px 0 12px 16px;border-left:2px solid rgba(255,255,255,.18)}
.nu-ab p.b{color:#fff!important;border-left-color:var(--accent)}
.nu-ab p+p{margin-top:8px}
.nu-ab span{display:block;font:600 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#8F9AB8;margin-bottom:4px}
.nu-ab p.b span{color:var(--accent)}
.nu-access{margin:28px 0 0;max-width:860px;font-size:15.5px;line-height:1.6}
.nu-access b{color:#fff}
@media(max-width:960px){.nu-exs{grid-template-columns:1fr}}
@media(max-width:640px){.nu-fit{padding:76px 0 66px}}

/* 04 Ce que NEXIR apporte + expertises associées */
.nu-how{background:#fff;padding:100px 0 80px}
.nu-pledge{list-style:none;margin:0 0 50px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.nu-pledge li{padding-top:20px;border-top:2px solid var(--blue);display:flex;flex-direction:column;gap:8px}
.nu-pledge b{font:700 21px/1.3 var(--display);color:var(--ink)}
.nu-pledge span{font-size:15.5px;line-height:1.6;color:var(--text)}
.nu-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:24px;border-top:1px solid var(--line)}
.nu-links span{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:8px}
.nu-links a{font-size:14.5px;color:var(--ink);text-decoration:none;padding:7px 13px;border-radius:999px;border:1px solid var(--line);transition:border-color .3s,color .3s}
.nu-links a:hover{border-color:var(--blue);color:var(--blue)}
@media(max-width:960px){.nu-pledge{grid-template-columns:1fr;gap:22px}}
@media(max-width:640px){.nu-how{padding:76px 0 60px}}

/* 05 Questions (suite) */
.nu-faq{background:var(--paper);padding:84px 0 100px}
.nu-qa{border-top:1px solid var(--line)}
.nu-qa details{border-bottom:1px solid var(--line)}
.nu-qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0}
.nu-qa summary::-webkit-details-marker{display:none}
.nu-qa summary h3{font-size:18.5px;line-height:1.35}
.nu-qa summary::after{content:"+";flex:none;font:400 24px/1 var(--body);color:var(--blue);transition:transform .3s var(--ease)}
.nu-qa details[open] summary::after{transform:rotate(45deg)}
.nu-qa details p{margin:0 0 22px;font-size:16px;line-height:1.65;color:var(--text);max-width:68ch}
@media(max-width:640px){.nu-faq{padding:66px 0 76px}}

/* 06 Appel final : trame de plan au lieu de l'aurore */
.nu-final{background:linear-gradient(180deg,var(--night-2),#070C1D)}
.nu-final h2{max-width:18ch;font-size:clamp(34px,4.8vw,68px)}
.nu-final .wrap{position:relative}

@media(prefers-reduced-motion:reduce){.nu-ngrid li,.nu-links a{transition:none}}
