/* Inter, hébergée localement (licence SIL OFL 1.1 : /assets/fonts/LICENSE-Inter-OFL.txt) — aucun appel à Google Fonts */
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter-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}
/* NHC Technologies — site corporatif v2. Palette : bleu nuit, or, fond clair. */
:root{--nuit:#0b1530;--bleu:#173a73;--acc:#1d4ed8;--ardoise:#334155;--gris:#5b6577;--trait:#e2e8f0;--fond:#f6f8fb;--or:#b08d57;--or-f:#7a5a2a;--r:12px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ardoise);background:#fff;line-height:1.6;font-size:15.5px}
a{color:var(--acc)}a:hover{color:var(--bleu)}
img,svg{max-width:100%}
.ico{flex-shrink:0;vertical-align:middle}
.c{max-width:1180px;margin:0 auto;padding:0 28px}
.saut{position:absolute;left:-9999px;top:0;background:#fff;padding:.6rem 1rem;z-index:2000;font-weight:600}.saut:focus{left:0}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
h1,h2,h3,h4{color:var(--nuit);letter-spacing:-.015em;line-height:1.2}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or-f)}
.lead{font-size:17px;color:var(--gris);max-width:740px}
.btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:11px 20px;border-radius:8px;font-weight:600;font-size:14.5px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}
.btn-p{background:var(--nuit);color:#fff}.btn-p:hover{background:var(--bleu);color:#fff}
.btn-g{background:#fff;border-color:var(--trait);color:var(--nuit)}.btn-g:hover{border-color:#cbd5e1;color:var(--nuit)}
.btn-o{background:var(--or);color:#fff}.btn-o:hover{background:#9a7a47;color:#fff}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.preprod{position:fixed;left:0;right:0;bottom:0;z-index:3000;background:#fff7e0;color:#7a5a2a;border-top:1px solid #e9d6a8;font:600 13px/1.4 Inter,Arial,sans-serif;text-align:center;padding:7px 12px}

/* Barre supérieure et navigation */
.top{background:var(--nuit);color:#9fb0cc;font-size:12.5px}
.top .c{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}
.top a{color:#c9d4e8;text-decoration:none;margin-left:20px}.top a:hover{color:#fff}
.nav{background:#fff;border-bottom:1px solid var(--trait);position:sticky;top:0;z-index:1000}
.nav .c{display:flex;align-items:center;height:74px;gap:28px;position:relative}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;color:var(--nuit);text-decoration:none;flex-shrink:0}
.logo small{display:block;font-size:10.5px;font-weight:600;color:var(--gris);letter-spacing:.08em;text-transform:uppercase;line-height:1.2}
.logo-m{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--bleu),var(--nuit));display:grid;place-items:center;color:#fff;font-size:12.5px;letter-spacing:-.03em}
.menu{display:flex;align-items:center;flex:1;gap:20px}
.menu ul{display:flex;list-style:none;gap:4px;flex:1}
.m-l{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:7px;font-family:inherit;font-weight:500;font-size:14.5px;line-height:1.2;color:var(--nuit);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap}
.m-l:hover,.deroul.ouvert>.m-l{background:var(--fond);color:var(--nuit)}
.m-l.on{color:var(--acc);box-shadow:inset 0 -2px 0 var(--acc);border-radius:7px 7px 0 0}
.m-l span{font-size:10px;opacity:.6}
.menu-cta{margin-left:auto}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--trait);border-radius:8px;padding:7px;color:var(--nuit);cursor:pointer}
.deroul{position:static}
.panneau{position:absolute;top:calc(100% - 4px);left:28px;right:28px;max-width:860px;background:#fff;border:1px solid var(--trait);border-radius:14px;box-shadow:0 22px 50px rgba(11,21,48,.14);padding:18px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
.deroul.ouvert .panneau{opacity:1;visibility:visible;transform:none}
.pan-g{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.pan-g a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:10px;text-decoration:none;color:var(--ardoise)}
.pan-g a:hover{background:var(--fond)}
.pan-g b{display:block;color:var(--nuit);font-size:14.5px}.pan-g small{font-size:12.5px;color:var(--gris)}
.pan-i{width:38px;height:38px;border-radius:9px;background:var(--fond);display:grid;place-items:center}
.pan-b{display:flex;gap:22px;border-top:1px solid var(--trait);margin-top:10px;padding:12px 12px 2px;font-size:14px;font-weight:600}
.pan-b a{text-decoration:none}

/* Accueil */
.hero{background:linear-gradient(180deg,#f2f5fb,#fff);border-bottom:1px solid var(--trait)}
.hero .c{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.hero h1{font-size:clamp(34px,4.6vw,50px);line-height:1.08;font-weight:800;margin:14px 0 18px}
.hero h1 em{font-style:normal;color:var(--bleu)}
.apercu{background:#fff;border:1px solid var(--trait);border-radius:16px;box-shadow:0 24px 60px rgba(11,21,48,.10);padding:24px}
.apercu h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.pil{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--trait);text-decoration:none;color:inherit}
.pil:first-of-type{border-top:0}.pil:hover b{color:var(--acc)}
.pil b{display:block;color:var(--nuit);font-size:14.5px}.pil small{font-size:12.5px;color:var(--gris)}
.pil .pt{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#fff}
.pil .n{margin-left:auto;font-size:12px;font-weight:700;color:var(--bleu);background:#eef3fb;padding:3px 9px;border-radius:999px}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--trait)}
.chiffres div{padding:28px;border-right:1px solid var(--trait)}.chiffres div:last-child{border-right:0}
.chiffres b{display:block;font-size:28px;color:var(--nuit);font-weight:800;line-height:1.2}
.chiffres span{font-size:13.5px;color:var(--gris)}

/* Sections */
.sec{padding:76px 0}.alt{background:var(--fond)}
.tete{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px}
.tete h2,.sec h2.t{font-size:clamp(26px,3vw,32px);margin:10px 0 12px}
.bandeau{background:linear-gradient(180deg,#f2f5fb,#fff);border-bottom:1px solid var(--trait);padding:64px 0 56px}
.bandeau h1{font-size:clamp(30px,4vw,44px);font-weight:800;margin:12px 0 14px;max-width:880px}

/* Portefeuille */
.secteur{margin-top:40px;scroll-margin-top:96px}.secteur:first-child{margin-top:0}
.secteur-t{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.secteur-t .pt{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff}
.secteur-t h3{font-size:19px}.secteur-t span{font-size:13.5px;color:var(--gris)}
.secteur-n{font-size:19px;margin:0}h2.secteur-n{font-size:20px}
.secteur-mini{margin-top:0;display:flex;flex-direction:column;min-width:0}
.secteur-mini .secteur-t{min-height:34px}.secteur-mini>:last-child{flex:1}
.grille{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.prod{background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ardoise);transition:border-color .15s,box-shadow .15s,transform .15s}
.prod:hover{border-color:#cbd5e1;box-shadow:0 10px 26px rgba(11,21,48,.08);transform:translateY(-2px);color:var(--ardoise)}
.prod-h{display:flex;align-items:center;gap:12px}
.sigle{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px;flex-shrink:0}
.prod-n{font-weight:700;color:var(--nuit);font-size:16px}
.prod-d{font-size:14px;color:var(--gris)}
.prod-u{margin-top:auto;padding-top:10px;font-size:13px;font-weight:600;color:var(--acc);display:inline-flex;align-items:center;gap:5px}
.tag{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#92400e;white-space:nowrap}

/* Cartes génériques */
.carte{background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:22px}
.carte-h{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.carte-h .i{width:40px;height:40px;border-radius:10px;background:#eef3fb;color:var(--bleu);display:grid;place-items:center}
.carte h3{font-size:16.5px}.carte p{font-size:14px;color:var(--gris)}
.carte small.k{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or-f);margin-bottom:6px}

/* Pôle juridique */
.vedette{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;border:1px solid var(--trait)}
.vedette .g{background:linear-gradient(140deg,#0b1530,#173a73);color:#c9d4e8;padding:40px}
.vedette .g h2{color:#fff;font-size:26px;margin:8px 0 12px}
.vedette .g .eyebrow{color:#d9bf8f}
.vedette .d{background:#fff;padding:32px 36px;display:grid;gap:16px;align-content:center}
.ent{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid var(--trait);padding-bottom:14px;text-decoration:none;color:inherit}
.ent:last-child{border:0;padding:0}.ent:hover b{color:var(--acc)}
.ent b{color:var(--nuit)}.ent span.t{display:block;font-size:13.5px;color:var(--gris)}

/* Engagements, direction, nouvelles */
.engag{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--trait);border-radius:var(--r);background:#fff;margin-top:20px}
.engag div{padding:20px 22px;border-right:1px solid var(--trait)}.engag div:last-child{border:0}
.engag b{display:block;color:var(--nuit);font-size:14.5px}.engag span{font-size:13.5px;color:var(--gris)}
.pers{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:20px}
.pers .av{width:56px;height:56px;border-radius:50%;background:#dbe4f3;display:grid;place-items:center;font-weight:800;color:var(--bleu);flex-shrink:0}
.pers b{display:block;color:var(--nuit);font-size:16px}.pers span{font-size:13.5px;color:var(--gris)}
.nouv{background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px}
.nouv time{font-size:12.5px;color:var(--gris)}.nouv h3{font-size:15.5px}.nouv p{font-size:13.5px;color:var(--gris)}
.nouv .src{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu)}
.cta{background:var(--nuit);color:#c9d4e8;border-radius:18px;padding:40px 44px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{color:#fff;font-size:24px;margin-bottom:6px}
.note{font-size:13px;color:var(--gris);margin-top:14px}
/* Deux colonnes : texte à gauche, contenu à droite */
.duo{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.duo h2{font-size:clamp(24px,2.6vw,30px);margin:10px 0 12px}.duo>.prose h2{margin-top:8px}
.duo .acts{margin-top:20px}
/* Cartes cliquables */
.carte.lien{display:flex;flex-direction:column;text-decoration:none;color:var(--ardoise);transition:border-color .15s,box-shadow .15s,transform .15s}
.carte.lien:hover{border-color:#cbd5e1;box-shadow:0 10px 26px rgba(11,21,48,.08);transform:translateY(-2px)}
.carte .plus{margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;color:var(--acc);display:inline-flex;align-items:center;gap:6px}
/* Étapes numérotées */
.etapes{list-style:none;counter-reset:et;display:grid;gap:12px}
.etapes li{counter-increment:et;position:relative;background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:16px 18px 16px 64px}
.etapes li::before{content:counter(et);position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--nuit);color:#fff;font-weight:700;font-size:13.5px;display:grid;place-items:center}
.etapes b{display:block;color:var(--nuit);font-size:15.5px;margin-bottom:2px}.etapes span{font-size:14px;color:var(--gris)}
.sec>.c>.etapes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
/* Questions fréquentes */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--trait);border-radius:var(--r)}
.faq summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:600;color:var(--nuit);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:22px;font-weight:400;color:var(--gris)}
.faq details[open] summary::after{content:"−"}
.faq details>div{padding:0 18px 16px;font-size:14.5px;color:var(--gris)}
/* Listes à puces sobres */
.liste{list-style:none;padding:0!important;display:grid;gap:10px}
.liste li{position:relative;padding-left:22px;margin:0!important}
.liste li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--or)}
/* Fiches détaillées du portefeuille */
.fiche{background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:96px}
.fiche-d{font-size:14.5px;color:var(--ardoise)}
.fiche-l{list-style:none;display:grid;gap:8px;font-size:13.8px;color:var(--gris)}
.fiche-l li{display:flex;gap:9px;align-items:flex-start}.fiche-l .ico{color:#0f766e;flex-shrink:0;margin-top:3px}
.fiche-p{font-size:13.5px;color:var(--gris);border-top:1px solid var(--trait);padding-top:12px}
.fiche-p b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--or-f);margin-bottom:2px}
.fiche-u{margin-top:auto;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.fiche h3.prod-n{font-size:17px}
.solo{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.solo h2{font-size:clamp(26px,3vw,32px);margin:12px 0}
section[id]{scroll-margin-top:80px}
.prose{max-width:820px}.prose h2{font-size:22px;margin:34px 0 10px}.prose h3{font-size:17px;margin:22px 0 8px}
.prose p,.prose li{font-size:15px;margin-bottom:10px}.prose ul{padding-left:20px}
.tableau{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border:1px solid var(--trait);border-radius:var(--r);overflow:hidden}
.tableau th,.tableau td{padding:12px 16px;border-bottom:1px solid var(--trait);text-align:left;vertical-align:top}
.tableau th{background:var(--fond);color:var(--nuit);font-weight:700;width:34%}

/* Formulaire */
.form{display:grid;gap:14px;max-width:640px}
.form label{font-weight:600;font-size:14px;color:var(--nuit);display:block;margin-bottom:5px}
.form input,.form select,.form textarea{width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--ardoise)}
.form textarea{min-height:150px;resize:vertical}
.form .deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.piege{position:absolute;left:-9999px}
.g-contact{grid-template-columns:1.6fr 1fr;align-items:start}
.msg{padding:14px 16px;border-radius:10px;font-weight:500}.msg-ok{background:#ecfdf5;color:#065f46}.msg-err{background:#fef2f2;color:#991b1b}

/* Pied de page */
.pied{background:#08102a;color:#8fa0bf;font-size:13.5px;padding:56px 0 26px}
.pied a{color:#b8c5dd;text-decoration:none}.pied a:hover{color:#fff}
.pied-g{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:28px}
.pied h2{color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.pied ul{list-style:none}.pied li{margin-bottom:7px}
.pied-m p{margin-top:12px}
.logo-inv{color:#fff}.logo-inv small{color:#8fa0bf}
.pied-b{border-top:1px solid #1d2a4a;margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Écrans moyens et mobiles */
@media (max-width:1100px){
  .menu ul{gap:0}.m-l{padding:8px 8px;font-size:14px}.menu{gap:12px}
  .grille,.g4{grid-template-columns:repeat(2,1fr)}
  .pied-g{grid-template-columns:repeat(3,1fr)}.pied-m{grid-column:1/-1}
}
@media (max-width:980px){
  .burger{display:inline-flex}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--trait);box-shadow:0 18px 30px rgba(11,21,48,.10);flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:10px;max-height:calc(100vh - 110px);overflow-y:auto}
  .menu.ouvert{display:flex}
  .menu ul{flex-direction:column}
  .m-l{width:100%;justify-content:space-between;padding:12px;font-size:16px}
  .m-l.on{box-shadow:inset 3px 0 0 var(--acc);border-radius:0}
  .panneau{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;padding:0 0 8px;max-width:none}
  .deroul.ouvert .panneau{display:block}
  .pan-g{grid-template-columns:1fr}
  .menu-cta{margin:4px 0 0;justify-content:center}
  .hero .c{grid-template-columns:1fr;gap:36px;padding-top:48px;padding-bottom:48px}
  .chiffres{grid-template-columns:repeat(2,1fr)}.chiffres div:nth-child(2){border-right:0}.chiffres div{border-bottom:1px solid var(--trait)}
  .vedette,.g-contact{grid-template-columns:1fr}
  .engag{grid-template-columns:repeat(2,1fr)}.engag div{border-bottom:1px solid var(--trait)}
  .tete{flex-direction:column;align-items:flex-start}
.duo,.solo{grid-template-columns:1fr;gap:28px}
  .cta{flex-direction:column;align-items:flex-start;padding:30px}
  .top-l a:not(:last-child){display:none}
}
@media (max-width:640px){
  .c{padding:0 18px}
  .grille,.g4,.g2{grid-template-columns:1fr}
  .chiffres,.engag{grid-template-columns:1fr}.chiffres div,.engag div{border-right:0}
  .pied-g{grid-template-columns:1fr 1fr}
  .form .deux{grid-template-columns:1fr}
  .top .c>span:first-child{display:none}
  .sec{padding:56px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ═════════ Refonte institutionnelle (NHC Technologies) : même palette, mêmes composants, présentation enrichie ═════════ */

/* Accueil : composition et illustration */
.hero .c{grid-template-columns:1.05fr .95fr;padding-top:84px;padding-bottom:84px}
.hero h1{font-size:clamp(36px,4.8vw,56px);letter-spacing:-.025em}
.hero .lead{font-size:18px}
.hero-m{margin-top:22px;font-size:12.5px;color:var(--gris)}
.hero-v{position:relative}
.illus{width:100%;height:auto;display:block;overflow:visible}
.il-l{stroke:#173a73;stroke-width:1.5;stroke-dasharray:4 6;opacity:.55;animation:il-flux 2.8s linear infinite}
.il-n{opacity:0;animation:il-entree .7s cubic-bezier(.2,.7,.2,1) forwards}
.il-n circle{filter:drop-shadow(0 6px 14px rgba(11,21,48,.10))}
.il-t{font:700 13px Inter,system-ui,sans-serif;fill:#0b1530}
.il-s{font:500 11.5px Inter,system-ui,sans-serif;fill:#5b6577}
.il-c rect{filter:drop-shadow(0 18px 30px rgba(11,21,48,.28))}
.il-cn{font:800 26px Inter,system-ui,sans-serif;fill:#fff;letter-spacing:-.02em}
.il-cs{font:600 13px Inter,system-ui,sans-serif;fill:#d9bf8f}
.il-cs2{font:500 11px Inter,system-ui,sans-serif;fill:#9fb0cc}
@keyframes il-flux{to{stroke-dashoffset:-40}}
@keyframes il-entree{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Apparition au défilement (désactivée si l'utilisateur réduit les animations ; sans JavaScript, tout reste visible) */
.js .revele{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.js .revele.vu{opacity:1;transform:none}

/* Sections : rythme plus généreux */
.sec{padding:92px 0}
.tete{margin-bottom:40px}
.tete .lead{margin-top:2px}
.eyebrow-or{color:#d9bf8f}

/* Mission, vision, positionnement */
.trio .carte.grande{padding:30px;border-top:3px solid var(--or)}
.trio .carte.grande h3{font-size:19px;line-height:1.3;margin:4px 0 10px}
.trio .carte.grande p{font-size:14.5px}

/* Cartes de secteur */
.secteur-c{border-top:3px solid var(--c,var(--bleu))}
.secteur-c .carte-h .i{color:var(--c,var(--bleu))}

/* Schémas */
.figure{margin:0;background:#fff;border:1px solid var(--trait);border-radius:16px;padding:26px 24px 18px}
.figure figcaption{font-size:12.5px;color:var(--gris);margin-top:10px;text-align:center}
.schema{width:100%;height:auto;display:block}
.sc-t{font:700 15px Inter,system-ui,sans-serif}
.sc-l{font:500 12.5px Inter,system-ui,sans-serif}
.sc-e{font:600 11.5px Inter,system-ui,sans-serif;fill:#173a73}
.sc-f{stroke:#173a73;stroke-width:1.6}
.sc-p{stroke:#94a3b8;stroke-width:1.4;stroke-dasharray:3 5}
.st-k{font:700 10.5px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;fill:#7a5a2a}
.st-h{font:800 16px Inter,system-ui,sans-serif;fill:#0b1530}
.st-t{font:700 12.5px Inter,system-ui,sans-serif;fill:#0b1530}
.st-n{font:500 11px Inter,system-ui,sans-serif;fill:#5b6577}
.st-l{stroke:#cbd5e1;stroke-width:1.4}
.st-or{fill:#d9bf8f}.st-inv{fill:#fff}

/* Fiches : secteur, état, modèle d'exploitation */
.fiche-s{display:block;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--gris);margin-top:1px}
.fiche-m{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.etat{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.etat::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.etat-production{background:#ecfdf5;color:#047857}
.etat-developpement{background:#eff6ff;color:#1d4ed8}
.etat-preparation{background:#fef3c7;color:#92400e}
.modele{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--gris)}
.modele .ico{color:var(--bleu)}

/* Navigation par secteur (portefeuille) */
.puces{position:sticky;top:72px;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--trait)}
.puces .c{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:thin}
.puces a{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;border:1px solid var(--trait);background:#fff;font-size:13.5px;font-weight:600;color:var(--nuit);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.puces a small{font-weight:700;color:var(--gris)}
.puces .pt-m{width:8px;height:8px;border-radius:50%;background:var(--c)}
.puces a:hover{border-color:#cbd5e1}
.puces a.on{background:var(--nuit);border-color:var(--nuit);color:#fff}.puces a.on small{color:#c9d4e8}

/* Tableau des actifs (investisseurs) */
.tableau-d{overflow-x:auto;border-radius:var(--r)}
.actifs th{width:auto}
.actifs thead th{background:var(--nuit);color:#fff;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.actifs td a{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--nuit);text-decoration:none}
.actifs td a:hover{color:var(--acc)}
.sigle.sm{width:28px;height:28px;border-radius:8px;font-size:11px}
.orient{background:#fff;border:1px solid var(--trait);border-left:3px solid var(--or);border-radius:var(--r);padding:24px 28px;margin-top:20px}
.orient h3{font-size:17px;margin-bottom:12px}

/* Appels finaux */
.duo-cta{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.duo-cta .cta{flex-direction:column;align-items:flex-start;justify-content:space-between}
.cta-clair{background:#fff;border:1px solid var(--trait);color:var(--gris)}
.cta-clair h2{color:var(--nuit)}

/* Contact et formulaires */
.types .type.choisi{border-color:var(--bleu);box-shadow:0 0 0 3px #dbe4f3}
.form-zone{scroll-margin-top:96px}
.fac{font-weight:400;color:var(--gris)}
.form-n{font-size:13px;color:var(--gris)}
.coord{align-self:start;position:sticky;top:96px}
.coord h3{font-size:18px}
.coord-s{font-size:12.5px;color:var(--gris);margin:2px 0 16px}
.coord-l{display:flex;gap:10px;margin-bottom:10px;font-size:14.5px}.coord-l .ico{color:var(--bleu);flex-shrink:0;margin-top:2px}
.coord hr{border:0;border-top:1px solid var(--trait);margin:18px 0}
.coord-p{font-size:13.5px;margin-bottom:10px}.coord-p b{color:var(--nuit)}
.avert{margin-top:36px;padding:20px 24px;border:1px solid var(--trait);border-radius:var(--r);background:var(--fond);font-size:13px;color:var(--gris)}
.avert p+p{margin-top:8px}.avert b{color:var(--nuit)}

@media (max-width:980px){
  .hero .c{grid-template-columns:1fr;gap:36px;padding-top:56px;padding-bottom:56px}
  .hero-v{max-width:460px;margin:0 auto;width:100%}
  .sec{padding:68px 0}
  .duo-cta{grid-template-columns:1fr}
  .puces{top:64px}
  .coord{position:static}
  .figure{padding:16px 12px 12px}
}
@media (max-width:640px){
  .figure{overflow-x:auto}.figure .schema{min-width:640px}
  .trio .carte.grande{padding:22px}
}
@media (prefers-reduced-motion:reduce){
  .il-l{animation:none}.il-n{animation:none;opacity:1}
  .js .revele{opacity:1;transform:none;transition:none}
}
/* Pages de secteur */
.carte h2.h3{font-size:16.5px;margin:0}
.carte.lien p b{color:var(--nuit)}
.terr{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:14px;color:var(--gris)}
.terr .ico{color:var(--or-f);flex:none}.terr b{color:var(--nuit);margin-right:6px}
.tete .acts{display:flex;gap:10px;flex-wrap:wrap}
.suite{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.suite a{display:flex;flex-direction:column;gap:4px;padding:20px 24px;background:#fff;border:1px solid var(--trait);border-left:3px solid var(--c,var(--bleu));border-radius:var(--r);text-decoration:none;color:var(--nuit);transition:box-shadow .15s,transform .15s}
.suite a.d{text-align:right;border-left:1px solid var(--trait);border-right:3px solid var(--c,var(--bleu))}
.suite a:hover{box-shadow:0 10px 26px rgba(11,21,48,.08);transform:translateY(-2px)}
.suite small{font-size:12.5px;color:var(--gris);font-weight:600}.suite b{font-size:16.5px}
.gouv-carte{border-top:3px solid var(--or)}
@media (max-width:640px){.suite{grid-template-columns:1fr}.suite a.d{text-align:left}}
.figure+.tableau{margin-top:20px}
