/* ============================================================
   ENEOSYS — Feuille de style principale
   Convertie du <style> inline de l'index.html original.
   Variables CSS, layout, composants, animations, responsive.
   ============================================================ */

/* ── Variables ──────────────────────────────────── */
:root {
  --green:   #0FC125;
  --green-d: #0A9E1E;
  --green-l: #42E05A;
  --g900:    #030C05;
  --g800:    #051A09;
  --g700:    #092210;
  --g100:    #E5F9E7;
  --g50:     #F2FCF3;
  --orange:  #DA8809;
  --blue:    #0A3CBE;
  --red:     #D70A0A;
  --text:    #0B1A0C;
  --muted:   #5C7A63;
  --border:  #D3EAD8;
  --white:   #FFFFFF;
  --r:       16px;
  --s1: 0 2px 10px rgba(3,12,5,.07);
  --s2: 0 8px 30px rgba(3,12,5,.11);
  --s3: 0 20px 60px rgba(3,12,5,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--g900);}
::-webkit-scrollbar-thumb{background:var(--green);border-radius:2px;}

/* ── Utilities ──────────────────────────────────── */
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem);}
.sec{padding:clamp(72px,9vw,120px) 0;}
.sec-sm{padding:clamp(44px,6vw,72px) 0;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.tc{text-align:center;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--green);border-radius:1px;}
.eyebrow.light{color:#42E05A;}.eyebrow.light::before{background:#42E05A;}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:800;line-height:1.12;letter-spacing:-.028em;margin-bottom:16px;}
.lead{font-size:clamp(.95rem,1.5vw,1.07rem);line-height:1.82;color:var(--muted);}
.lead.light{color:rgba(255,255,255,.55);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r);transition:all .25s;}
.card:hover{box-shadow:var(--s3);transform:translateY(-3px);border-color:rgba(15,193,37,.3);}
.card-d{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);transition:all .25s;}
.card-d:hover{background:rgba(15,193,37,.06);border-color:rgba(15,193,37,.22);}
.tag-g{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:100px;font-size:11px;font-weight:700;background:var(--g100);color:var(--green-d);border:1px solid rgba(15,193,37,.2);}
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:none;}

/* ── Buttons ───────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;border:none;transition:all .2s;white-space:nowrap;}
.btn-green{background:var(--green);color:#fff;box-shadow:0 4px 18px rgba(15,193,37,.3);}
.btn-green:hover{background:var(--green-d);transform:translateY(-2px);box-shadow:0 8px 26px rgba(15,193,37,.4);}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.25);}
.btn-outline:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.06);}
.btn-ghost{background:transparent;color:var(--green-d);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--green);background:var(--g50);}

/* ── Nav ───────────────────────────────────────── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .3s;}
#navbar.scrolled{background:rgba(3,12,5,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,193,37,.1);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-logo{flex-shrink:0;}
.nav-logo img{height:52px;width:auto;max-width:none;}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:500;color:rgba(255,255,255,.75);transition:color .2s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:#fff;}
.nav-links a.active{font-weight:600;color:#42E05A;}
.nav-cta{margin-left:10px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;color:#fff;padding:8px;}
.mobile-menu{display:none;background:var(--g900);border-top:1px solid rgba(15,193,37,.12);padding:16px 24px 24px;}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:16px;font-weight:500;color:rgba(255,255,255,.8);}

/* ── Hero ──────────────────────────────────────── */
#accueil{position:relative;min-height:100vh;background:linear-gradient(145deg,var(--g900) 0%,var(--g800) 45%,#092210 100%);display:flex;flex-direction:column;justify-content:center;overflow:hidden;}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(15,193,37,.17) 1px,transparent 1px);background-size:38px 38px;}
.hero-glow1{position:absolute;top:5%;right:10%;width:500px;height:500px;background:radial-gradient(circle,rgba(15,193,37,.13) 0%,transparent 65%);border-radius:50%;}
.hero-glow2{position:absolute;bottom:-5%;left:5%;width:380px;height:380px;background:radial-gradient(circle,rgba(66,224,90,.07) 0%,transparent 65%);border-radius:50%;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;padding:110px 0 80px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(15,193,37,.1);border:1px solid rgba(15,193,37,.25);border-radius:100px;padding:6px 16px;margin-bottom:28px;font-size:12px;font-weight:700;color:#42E05A;letter-spacing:.07em;text-transform:uppercase;}
.hero-dot{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse 2s infinite;}
.hero-h1{font-size:clamp(2.5rem,5.5vw,4.3rem);font-weight:800;color:#fff;line-height:1.06;letter-spacing:-.032em;margin-bottom:22px;}
.hero-h1 span{background:linear-gradient(120deg,var(--green-l),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-p{font-size:clamp(.98rem,1.5vw,1.1rem);color:rgba(255,255,255,.58);line-height:1.82;max-width:500px;margin-bottom:40px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;}
.hero-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;background:rgba(15,193,37,.1);border:1px solid rgba(15,193,37,.2);color:#42E05A;letter-spacing:.04em;}
.hero-visual{position:relative;}
.hero-svg{width:100%;max-width:480px;margin:0 auto;}
.float-card{position:absolute;background:rgba(3,12,5,.88);backdrop-filter:blur(12px);border-radius:14px;padding:14px 18px;min-width:160px;box-shadow:0 8px 32px rgba(0,0,0,.4);}
.float-a{top:8%;right:2%;border:1px solid rgba(15,193,37,.25);animation:floatA 4.5s ease-in-out infinite;}
.float-b{bottom:15%;left:-2%;border:1px solid rgba(218,136,9,.22);animation:floatB 5.5s ease-in-out infinite;}
.fc-label{font-size:11px;color:rgba(255,255,255,.45);font-weight:500;margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.fc-val{font-size:21px;font-weight:800;color:#fff;}
.fc-sub{font-size:11px;font-weight:600;margin-top:2px;}

/* ── Client banner ──────────────────────────────── */
#references{background:var(--g50);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:32px 0;overflow:hidden;}
.banner-inner{display:flex;align-items:center;}
.banner-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;padding:0 32px 0 clamp(1.5rem,4vw,3rem);border-right:1px solid var(--border);margin-right:32px;white-space:nowrap;}
.marquee-wrap{flex:1;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);}
.marquee-track{display:flex;gap:48px;animation:marquee 30s linear infinite;width:max-content;}
.marquee-track:hover{animation-play-state:paused;}
.client-item{display:flex;align-items:center;gap:10px;flex-shrink:0;opacity:.65;transition:opacity .2s;}
.client-item:hover{opacity:1;}
.client-ico{width:36px;height:36px;border-radius:8px;background:var(--g100);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--green-d);}
.client-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;}

/* Carousel clients — chips de noms (sans logo) */
#clients{background:var(--g50);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;}
.clients-track{display:flex;gap:18px;width:max-content;animation:marquee 38s linear infinite;}
.clients-track:hover{animation-play-state:paused;}
.client-chip{display:flex;align-items:center;gap:10px;flex-shrink:0;background:#fff;border:1px solid var(--border);border-radius:100px;padding:13px 26px;font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;box-shadow:var(--s1);}
.client-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;}
@media(prefers-reduced-motion:reduce){.clients-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;}}

/* ── Solutions ──────────────────────────────────── */
.sol-card{padding:26px 22px;border-top:3px solid transparent;cursor:default;}
.sol-card:hover{border-top-color:var(--green);}
.sol-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.sol-icon svg{width:22px;height:22px;}

/* ── Sectors / Domaines ─────────────────────────── */
#secteurs,#domaines{background:var(--g800);position:relative;overflow:hidden;}
.sec-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(15,193,37,.05) 1px,transparent 1px);background-size:36px 36px;}
.sector-card{padding:24px 20px;}
.sector-emoji{font-size:26px;margin-bottom:12px;}

/* ── Expertise ──────────────────────────────────── */
.proto-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;transition:all .2s;}
.proto-item:hover{border-color:rgba(15,193,37,.4);box-shadow:0 4px 20px rgba(15,193,37,.08);}
.proto-badge{flex-shrink:0;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:800;letter-spacing:.02em;}
.brand-card{padding:22px 24px;display:flex;align-items:center;gap:16px;}
.brand-logo{width:60px;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ── Why us ─────────────────────────────────────── */
.why-item{display:flex;gap:14px;padding:15px 17px;border-radius:14px;border:1px solid var(--border);background:var(--g50);transition:all .2s;}
.why-item:hover{border-color:rgba(15,193,37,.35);background:rgba(15,193,37,.04);}
.why-check{width:24px;height:24px;border-radius:7px;background:rgba(15,193,37,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.why-check svg{width:14px;height:14px;color:var(--green-d);}

/* ── Contact ────────────────────────────────────── */
#contact{background:var(--g50);}
.contact-info-item{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.contact-ico{width:42px;height:42px;border-radius:11px;background:var(--g100);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-ico svg{width:18px;height:18px;color:var(--green-d);}
.form-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:clamp(28px,4vw,44px);box-shadow:var(--s2);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:13px;font-weight:600;color:#4A5568;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 15px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;color:var(--text);background:var(--g50);outline:none;transition:border-color .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);}
.form-group textarea{resize:vertical;min-height:100px;}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 6 5-6' stroke='%235C7A63' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;}
.field-err{font-size:11px;color:#EF4444;margin-top:3px;}
.form-success{text-align:center;padding:48px 0;display:none;}
.form-success.show{display:block;}
#contact-form.hidden{display:none;}

/* ── Footer ─────────────────────────────────────── */
footer{background:var(--g900);padding:clamp(52px,7vw,80px) 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.4fr;gap:48px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-logo img{height:56px;width:auto;max-width:100%;margin-bottom:16px;}
.footer-sign,.footer-sign strong{font-weight:400;color:rgba(255,255,255,.22);}
.address-link{color:inherit;text-decoration:none;transition:color .2s;}
.address-link:hover{color:var(--green-d);}
.footer-social{margin-top:26px;}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.45);transition:color .2s,background .2s,border-color .2s,transform .2s;}
.social-link:hover{color:#fff;background:rgba(15,193,37,.14);border-color:rgba(15,193,37,.4);transform:translateY(-2px);}
.social-link svg{width:17px;height:17px;fill:currentColor;}
.footer-desc{font-size:14px;color:rgba(255,255,255,.38);line-height:1.8;max-width:270px;}
.footer-heading{font-size:11px;font-weight:700;color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
.footer-link{display:block;font-size:14px;color:rgba(255,255,255,.4);padding:5px 0;background:none;border:none;cursor:pointer;text-align:left;transition:color .2s;}
.footer-link:hover{color:rgba(255,255,255,.85);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;flex-wrap:wrap;gap:12px;}
.footer-copy{font-size:12px;color:rgba(255,255,255,.22);}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.22);transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.6);}

/* ── Animations ─────────────────────────────────── */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes floatB{0%,100%{transform:translateY(-4px)}50%{transform:translateY(5px)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Responsive ─────────────────────────────────── */
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:860px){
  .hero-grid,.grid2{grid-template-columns:1fr!important;}
  .hero-visual{display:none;}
  .grid3{grid-template-columns:repeat(2,1fr)!important;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:540px){
  .grid3,.grid4{grid-template-columns:1fr!important;}
  .form-row{grid-template-columns:1fr!important;}
  .footer-grid{grid-template-columns:1fr!important;}
}

/* ============================================================
   v2 — Nouvelles sections (vision, interop, codesys,
   supervision, promesse, solutions, page solutions)
   ============================================================ */

/* ── Listes à coches ────────────────────────────── */
.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.check-list li{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--text);line-height:1.5;}
.check-list--sm li{font-size:13px;color:var(--muted);}
.check-dot{flex-shrink:0;width:18px;height:18px;border-radius:6px;background:rgba(15,193,37,.12);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.check-dot--dark{background:rgba(66,224,90,.14);}

/* ── Qui sommes-nous ────────────────────────────── */
.ambition-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:clamp(28px,4vw,40px);box-shadow:var(--s1);border-top:3px solid var(--green);}
.ambition-quote{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;line-height:1.45;letter-spacing:-.015em;color:var(--text);text-wrap:pretty;}

/* ── Notre vision ───────────────────────────────── */
.vision-card{padding:28px 26px;border-top:3px solid transparent;}
.vision-card:hover{border-top-color:var(--green);}

/* ── Solutions (accueil + page) ─────────────────── */
.solhome-card,.solpage-card{padding:24px 24px;display:flex;flex-direction:column;gap:12px;}
.solhome-head{display:flex;flex-direction:column;gap:4px;}
.solhome-head strong{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;}
.solhome-product{font-size:12px;font-weight:600;color:var(--green-d);}
.partner-logo{display:flex;align-items:center;border-radius:10px;padding:10px 14px;background:var(--g50);border:1px solid var(--border);width:fit-content;}
.partner-logo img{height:26px;width:auto;max-width:150px;object-fit:contain;}
.partner-logo--dark{background:var(--g800);border-color:rgba(255,255,255,.08);}
.partner-logo--light{background:#fff;border:none;}
.partner-logo--tall img{height:34px;max-width:170px;}

/* ── Interopérabilité / protocoles ──────────────── */
.interop-points{background:var(--g50);border:1px solid var(--border);border-radius:16px;padding:24px 26px;margin-top:54px;}
.proto-col{padding:22px 22px;}
.proto-col-title{display:inline-block;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:800;letter-spacing:.02em;margin-bottom:16px;}
.proto-chips{display:flex;flex-wrap:wrap;gap:8px;}
.proto-chip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:100px;font-size:13px;font-weight:600;background:var(--g50);border:1px solid var(--border);color:var(--text);}

/* ── Codesys ────────────────────────────────────── */
.codesys-message{margin-top:24px;font-size:15px;font-weight:600;color:rgba(255,255,255,.75);line-height:1.7;border-left:3px solid var(--green);padding-left:16px;text-wrap:pretty;}
.codesys-points{display:flex;flex-direction:column;gap:10px;}
.codesys-point{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:13px 16px;font-size:14px;font-weight:500;color:rgba(255,255,255,.82);line-height:1.5;transition:all .2s;}
.codesys-point:hover{background:rgba(15,193,37,.06);border-color:rgba(15,193,37,.22);}

/* ── Supervision ────────────────────────────────── */
.superv-card{padding:22px 20px;}
.superv-card strong{display:block;font-size:14px;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:-.01em;}

/* ── Notre promesse ─────────────────────────────── */
.promise-final{margin-top:20px;font-size:clamp(1rem,1.6vw,1.15rem);font-weight:700;color:var(--green-d);line-height:1.55;text-wrap:pretty;}

/* ── Page Solutions (hero court) ────────────────── */
.page-hero{position:relative;background:linear-gradient(145deg,var(--g900) 0%,var(--g800) 60%,#092210 100%);padding:clamp(140px,16vw,190px) 0 clamp(64px,8vw,96px);overflow:hidden;}
.page-hero-h1{font-size:clamp(2rem,4.5vw,3.3rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:18px;}

/* ── Responsive v2 ──────────────────────────────── */
@media(max-width:860px){
  .interop-points{margin-top:0;}
}

/* ── Organigramme équipe ────────────────────────────────── */
.org-panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px 20px 28px;box-shadow:var(--s1);}
.org-panel-head{display:flex;flex-direction:column;gap:3px;text-align:center;margin-bottom:22px;}
.org-panel-title{font-size:11px;font-weight:700;color:var(--green-d);letter-spacing:.1em;text-transform:uppercase;}
.org-panel-sub{font-size:12.5px;color:var(--muted);line-height:1.5;}
.org-tree{display:flex;justify-content:center;gap:12px;}
.org-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1 0;min-width:0;}
.org-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;max-width:196px;padding:14px 12px 16px;background:#fff;border:1px solid var(--border);border-radius:14px;text-align:center;font:inherit;color:inherit;transition:border-color .22s,box-shadow .22s,transform .22s;}
.org-card.is-clickable{cursor:pointer;text-decoration:none;}
.org-in{position:absolute;top:9px;right:9px;display:flex;width:16px;height:16px;color:var(--border);transition:color .22s;}
.org-in svg{width:100%;height:100%;}
.org-card.is-clickable:hover .org-in,.org-card.is-clickable:focus-visible .org-in{color:var(--green-d);}
.org-card.is-clickable:hover,.org-card.is-clickable:focus-visible{border-color:rgba(15,193,37,.4);box-shadow:0 6px 18px rgba(3,12,5,.08);transform:translateY(-2px);outline:none;}
.org-card.is-clickable:focus-visible{outline:2px solid var(--green);outline-offset:2px;}
.org-photo{display:block;width:46px;height:46px;margin-bottom:9px;border-radius:50%;object-fit:cover;object-position:center 28%;background:var(--g100);box-shadow:0 0 0 1px var(--border);}
.org-photo--initials{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--green-d);background:var(--g100);}
.org-name{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.3;}
.org-role{font-size:11px;font-weight:600;color:var(--green-d);line-height:1.35;text-wrap:pretty;}
/* Connecteurs : un segment par carte → exacts quel que soit l'effectif */
.org-kids{display:flex;justify-content:center;gap:12px;width:100%;margin-top:26px;position:relative;}
.org-item.has-kids>.org-card::after{content:"";position:absolute;left:50%;bottom:-13px;width:1px;height:13px;background:var(--border);}
.org-kids>.org-item::before{content:"";position:absolute;left:50%;top:-13px;width:1px;height:13px;background:var(--border);}
.org-kids>.org-item::after{content:"";position:absolute;top:-13px;left:-6px;right:-6px;height:1px;background:var(--border);}
.org-kids>.org-item:first-child::after{left:50%;}
.org-kids>.org-item:last-child::after{right:50%;}
.org-kids--solo>.org-item::after{display:none;}
.ambition-card--wide{margin-top:34px;}

@media (max-width:900px){
  .org-panel{padding:22px 16px 24px;}
  .org-tree,.org-kids{gap:10px;}
}
@media (max-width:520px){
  .org-tree,.org-kids{flex-direction:column;align-items:center;gap:10px;}
  .org-kids{margin-top:10px;}
  .org-item{width:100%;max-width:280px;}
  .org-item.has-kids>.org-card::after,.org-kids>.org-item::before,.org-kids>.org-item::after{display:none;}
  .org-kids{padding-left:16px;border-left:1px solid var(--border);align-items:stretch;width:auto;align-self:stretch;margin-left:22px;}
  .org-card{flex-flow:row wrap;align-items:center;gap:0 11px;text-align:left;padding:11px 13px;}
  .org-photo{width:38px;height:38px;margin-bottom:0;flex-shrink:0;}
  .org-name,.org-role{flex:1 1 calc(100% - 49px);}
}

/* ── Curseur personnalisé (option : Réglages ENEOSYS) ───────── */
.ensys-cur-ready body.ensys-cursor-on,.ensys-cur-ready body.ensys-cursor-on *{cursor:none!important;}
.ensys-cur{position:fixed;top:0;left:0;width:0;height:0;z-index:99999;pointer-events:none;opacity:0;transition:opacity .22s ease;will-change:transform;}
.ensys-cur.is-on{opacity:1;}
.ensys-cur span{display:block;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--ensys-cur-color,#fff);box-shadow:0 0 0 1px rgba(3,12,5,.22),0 2px 7px rgba(3,12,5,.16);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease;}
.ensys-cur.is-active span{transform:scale(2.15);opacity:.34;}
.ensys-cur.is-down span{transform:scale(1.55);}
.ensys-cur.is-active.is-down span{transform:scale(1.85);}
@media (hover:none),(pointer:coarse){.ensys-cur{display:none;}.ensys-cur-ready body.ensys-cursor-on,.ensys-cur-ready body.ensys-cursor-on *{cursor:auto!important;}}
