/* NEXCELLIS — refonte statique 2026 */
:root{
  --night:#0E1726; --navy:#1C3050; --navy2:#22344F; --navyline:#2E415E;
  --paper:#F7F5F0; --surface:#FFFFFF; --ink:#171A21; --muted:#5C6470;
  --gold:#C9A75C; --gold-d:#A8873D; --line:#E3DFD6;
  --ondark:#F7F5F0; --ondark-q:rgba(247,245,240,.72);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:16px;line-height:1.65;
  color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-d)}
.wrap{max-width:1120px;margin-inline:auto;padding-inline:24px}

/* bandes */
.dark{background:linear-gradient(175deg,#223A63 0%, #1C3050 45%, #16263F 100%);color:var(--ondark)}
.dark2{background:#1A2B47;color:var(--ondark)}
.cream{background:var(--paper)}
section{padding-block:76px}

/* en-tête */
header{background:#1B2E4D;color:var(--ondark)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ondark)}
.brand img{height:34px;width:auto}
.brand b{font-weight:800;letter-spacing:.22em;font-size:.95rem}
.brand small{display:block;font-weight:400;font-size:.68rem;color:var(--ondark-q);letter-spacing:.04em}
nav{display:flex;gap:26px}
nav a{color:var(--ondark-q);text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding-block:6px}
nav a:hover,nav a[aria-current]{color:var(--gold)}
nav a[aria-current]{border-bottom:2px solid var(--gold)}
.navtoggle{display:none;background:none;border:1px solid var(--navyline);border-radius:8px;color:var(--ondark);padding:8px 10px;cursor:pointer}

/* héros */
.hero{text-align:center;padding-block:96px 104px}
.eyebrow{display:block;font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.hero h1{font-size:clamp(2.4rem,5.4vw,3.6rem);font-weight:800;letter-spacing:.14em}
.hero .slogan{font-size:1.15rem;color:var(--gold);margin-top:18px;font-weight:400}
.hero .lead{max-width:38em;margin:20px auto 0;color:var(--ondark-q)}
.actions{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--gold);color:#19263C;text-decoration:none;font-weight:600;
  font-size:.92rem;padding:13px 26px;border-radius:7px;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#D9B76C}
.btn.ghost{background:transparent;border:1px solid var(--navyline);color:var(--ondark)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.cream .btn.ghost{border-color:#C9C2B2;color:var(--ink)}

/* titres de section */
.shead{text-align:center;max-width:46em;margin:0 auto 46px}
.shead .eyebrow{margin-bottom:12px}
.shead h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.25}
.shead p{margin-top:12px;color:var(--ondark-q)}
.cream .shead p{color:var(--muted)}
.shead.left{text-align:left;margin-left:0}

/* présentation deux colonnes */
.twocol{display:grid;grid-template-columns:1.25fr .9fr;gap:60px;align-items:center}
.twocol h2{font-size:clamp(1.5rem,3vw,2.05rem);font-weight:800;margin-bottom:16px}
.twocol p{color:var(--muted)}
.quote{border-left:3px solid var(--gold);padding-left:26px;font-size:1.35rem;font-weight:600;line-height:1.45}
.dark .twocol p{color:var(--ondark-q)}

/* cartes écosystèmes */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cards.two{grid-template-columns:1fr 1fr}
.card{background:rgba(255,255,255,.045);border:1px solid var(--navyline);border-radius:14px;padding:34px 30px}
.card .eyebrow{margin-bottom:12px;font-size:.66rem}
.card h3{font-size:1.5rem;font-weight:800}
.card .tag{color:var(--gold);font-weight:600;margin:6px 0 14px}
.card p{color:var(--ondark-q);font-size:.95rem}
.card a{color:var(--gold);text-decoration:none;font-weight:600;font-size:.92rem;display:inline-block;margin-top:18px}
.card a:hover{text-decoration:underline}
.cream .card{background:var(--surface);border-color:var(--line)}
.cream .card p{color:var(--muted)}
.cream .card a{color:var(--gold-d)}

/* liste expertise numérotée */
.expgrid{display:grid;grid-template-columns:.9fr 1.3fr;gap:60px;align-items:start}
.expgrid h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:800}
.expgrid .golink{display:inline-block;margin-top:20px;color:var(--gold);text-decoration:none;font-weight:600}
.numlist{display:grid;gap:0}
.numitem{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-block:20px;border-bottom:1px solid var(--navyline)}
.numitem:last-child{border-bottom:0}
.numitem .n{color:var(--gold);font-weight:600;font-size:.85rem;padding-top:4px}
.numitem h3{font-size:1.12rem;font-weight:600}
.numitem p{color:var(--ondark-q);font-size:.93rem;margin-top:4px}
.cream .numitem{border-color:var(--line)}
.cream .numitem p{color:var(--muted)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;margin-top:50px}
.stat b{display:block;font-size:2.4rem;font-weight:800;color:var(--gold)}
.stat span{font-size:.85rem;color:var(--ondark-q)}

/* pages internes : héros réduit */
.pagehero{text-align:center;padding-block:76px 80px}
.pagehero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:800}
.pagehero .tag{color:var(--gold);font-weight:600;font-size:1.1rem;margin-top:12px}
.pagehero .lead{max-width:40em;margin:18px auto 0;color:var(--ondark-q)}

/* piliers expertise page */
.pillar{display:grid;grid-template-columns:.75fr 1.5fr;gap:50px;padding-block:44px;border-bottom:1px solid var(--line)}
.pillar:last-child{border-bottom:0}
.pillar h3{font-size:1.45rem;font-weight:800;margin:8px 0 6px}
.pillar .sub{color:var(--gold-d);font-weight:600}
.pillar p{color:var(--muted);margin-top:14px}

/* formulaire */
.form{max-width:640px;margin-inline:auto;display:grid;gap:16px}
.form label{font-weight:600;font-size:.9rem;display:grid;gap:6px}
.form input,.form textarea{font-family:inherit;font-size:.95rem;padding:12px 14px;border:1px solid #C9C2B2;border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
.form input:focus,.form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.form textarea{min-height:150px;resize:vertical}
.hp{position:absolute;left:-5000px;opacity:0}
.notice{background:#EDF5EE;border:1px solid #BCD8C0;border-radius:8px;padding:14px 16px;font-size:.95rem}

/* prose légale */
.prose{max-width:760px}
.prose h2{font-size:1.2rem;font-weight:800;margin:30px 0 10px}
.prose p,.prose li{color:var(--muted);font-size:.95rem}
.prose ul{padding-left:20px}

/* études de cas (santé) */
.case{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;padding-block:44px;border-bottom:1px solid var(--navyline)}
.case:last-child{border-bottom:0}
.case img{border-radius:12px;border:1px solid var(--navyline);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.case h3{font-size:1.55rem;font-weight:800}
.case .loc{color:var(--gold);font-weight:600;margin:4px 0 14px}
.case p{color:var(--ondark-q);font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{border:1px solid var(--navyline);border-radius:99px;padding:5px 13px;font-size:.78rem;color:var(--ondark-q)}
.case a.visit{color:var(--gold);font-weight:600;text-decoration:none;display:inline-block;margin-top:18px}

/* pied de page */
footer{background:var(--night);color:var(--ondark-q);padding-block:52px 34px;font-size:.88rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
footer img{height:30px}
footer b{color:var(--ondark);letter-spacing:.18em;font-weight:800;font-size:.9rem}
footer h4{color:var(--ondark);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}
footer a{color:var(--ondark-q);text-decoration:none;display:block;padding-block:3px}
footer a:hover{color:var(--gold)}
.fbot{border-top:1px solid #22304A;margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem}
.fbot a{display:inline;margin-left:18px}

@media (max-width:900px){
  .navtoggle{display:block}
  nav{display:none;position:absolute;right:16px;top:64px;background:#16263F;border:1px solid var(--navyline);
    border-radius:12px;padding:10px 20px;flex-direction:column;gap:0;z-index:50}
  nav.open{display:flex}
  nav a{padding-block:12px;border-bottom:1px solid var(--navyline)}
  header{position:relative}
  .twocol,.expgrid,.cards,.cards.two,.pillar,.case{grid-template-columns:1fr}
  .twocol{gap:30px}.expgrid{gap:26px}
  .stats{grid-template-columns:1fr;gap:18px}
  .fgrid{grid-template-columns:1fr}
  section{padding-block:56px}
  .hero{padding-block:70px 76px}
}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
