/* ═══════════════════════════════════════════════════
   VEGATEC — Main CSS
   Référence : vegatec-secteur-microelectronique-v4.html
               vegatec-v3.html
   ═══════════════════════════════════════════════════ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&family=Share+Tech+Mono&display=swap');

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;cursor:none !important}

/* ── Variables ── */
:root{
  --brand:#0963dd;--brand-glow:rgba(9,99,221,.25);
  --alert:#FF5F1F;--alert-dim:rgba(255,95,31,.12);--alert-glow:rgba(255,95,31,.3);
  --bg-page:#111C28;--bg-sidebar:#0D1620;--bg-stats:#0D1A27;
  --bg-section:#0D1A27;--bg-card:#1E2F44;
  --text-primary:#F8FBFF;--text-secondary:#B0CCDE;--text-muted:#6A8FA8;
  --border-subtle:rgba(142,184,220,.10);--border-mid:rgba(142,184,220,.18);
  --overlay-b:rgba(10,16,24,.88);--overlay-bm:rgba(10,16,24,.45);--overlay-r:rgba(10,16,24,.35);
  --nav-hover:rgba(9,99,221,.12);--eyebrow:#5090B8;--title-em:#0963dd;
  --sidebar-w:280px;
  --tr:background .35s ease,color .35s ease,border-color .35s ease;
  --bevel-sm:polygon(6px 0%,100% 0%,100% 100%,0% 100%,0% 6px);
  --bevel-md:polygon(10px 0%,100% 0%,100% calc(100% - 10px),calc(100% - 10px) 100%,0% 100%,0% 10px);
  --bevel-lg:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
}

/* ── Mode Light (sidebar blanche, contenu toujours dark) ── */
[data-theme="light"]{
  --bg-page:#111C28;--bg-sidebar:#FFFFFF;--bg-stats:#0D1A27;
  --bg-section:#0D1A27;--bg-card:#1E2F44;
  --text-primary:#F8FBFF;--text-secondary:#B0CCDE;--text-muted:#6A8FA8;
  --overlay-b:rgba(10,16,24,.88);--overlay-bm:rgba(10,16,24,.45);--overlay-r:rgba(10,16,24,.35);
}
[data-theme="light"] .sidebar{
  --text-primary:#0A1828;--text-secondary:#1E3E58;--text-muted:#5A7E9A;
  --border-subtle:rgba(9,99,221,.12);--border-mid:rgba(9,99,221,.22);
  --nav-hover:rgba(9,99,221,.08);color:var(--text-primary);background:#fff;
}
[data-theme="light"] .sidebar .logo-name{color:var(--brand)}
[data-theme="light"] .sidebar .nav-link{color:#1E3E58}
[data-theme="light"] .sidebar .nav-link:hover,
[data-theme="light"] .sidebar .nav-link.active{color:#0A1828;background:rgba(9,99,221,.08)}
[data-theme="light"] .sidebar .nav-link.active{border-left-color:var(--brand)}
[data-theme="light"] .sidebar .sidebar-footer{border-top-color:rgba(9,99,221,.12)}
[data-theme="light"] .sidebar .cert-item,
[data-theme="light"] .sidebar .toggle-label{color:#5A7E9A}
[data-theme="light"] .sidebar .toggle-track{background:#ddd}
[data-theme="light"] .sidebar .toggle-thumb{transform:translateX(-18px);background:var(--brand)}
[data-theme="light"] .sidebar .nav-sub-link{color:#5A7E9A}
[data-theme="light"] .sidebar .nav-sub-link:hover{color:#0A1828}
[data-theme="light"] .stats-bar{background:rgba(255,255,255,.92) !important;border-left-color:rgba(9,99,221,.2) !important;}
[data-theme="light"] .stat-item{border-bottom-color:rgba(9,99,221,.12)}
[data-theme="light"] .stat-label{color:#5A7A96}

/* ── Base ── */
html,body{height:100%;background:var(--bg-page);color:var(--text-primary);font-family:'DM Sans',sans-serif;overflow:hidden;transition:var(--tr)}
.layout{display:flex;height:100vh}
.main{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}
.main::-webkit-scrollbar{width:3px}
.main::-webkit-scrollbar-thumb{background:var(--brand);border-radius:2px}

/* ── X-Ray Overlay ── */
#xrOverlay{position:fixed;top:0;left:var(--sidebar-w);width:calc(100vw - var(--sidebar-w));height:100vh;pointer-events:none;z-index:200;clip-path:circle(120px at -999px -999px);-webkit-clip-path:circle(120px at -999px -999px);}
#xrOverlay .xr-clone{position:fixed;pointer-events:none;color:#00d4ff !important;text-shadow:0 0 8px rgba(0,212,255,.7) !important;background:transparent !important;}
#xrOverlay .xr-clone.is-btn{background:var(--brand) !important;color:#00d4ff !important;text-shadow:0 0 8px rgba(0,212,255,.7) !important;display:flex !important;align-items:center !important;padding-left:28px !important;clip-path:var(--bevel-md) !important;}
#xrOverlay .xr-clone.is-btn-alert{background:var(--alert) !important;color:#fff !important;text-shadow:none !important;display:flex !important;align-items:center !important;padding-left:28px !important;clip-path:var(--bevel-md) !important;}
#xrOverlay .xr-clone em{color:#00d4ff !important;font-style:normal !important;}

/* ── Curseur ── */
#xrCursor{position:fixed;width:240px;height:240px;pointer-events:none;transform:translate(-50%,-50%);left:-999px;top:-999px;z-index:300;}
.custom-cursor{
  position:absolute;top:50%;left:50%;
  width:14px;height:14px;
  border:2px solid #1686ff;
  border-radius:50%;
  background:transparent;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
  transform:translate(-50%,-50%);
  opacity:1;
  transition:width .3s ease,height .3s ease,background-color .25s ease,border-width .25s ease,box-shadow .25s ease,opacity .15s ease;
}
#xrCursor.in-hero .custom-cursor{opacity:0}
#xrCursor.is-hover .custom-cursor{
  width:20px;height:20px;
  border-width:2px;
  background:rgba(22,134,255,.22);
  box-shadow:0 0 0 2px rgba(255,255,255,.95),0 3px 10px rgba(0,45,90,.25);
}
.xr-dot{
  position:absolute;top:50%;left:50%;
  width:6px;height:6px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 0 3px rgba(0,0,0,.5);
  transform:translate(-50%,-50%);
  opacity:0;
  transition:opacity .15s;
}
#xrCursor.in-hero .xr-dot{opacity:1}
a,button,.clickable{transition:transform .15s ease}
a:hover,button:hover,.clickable:hover{transform:translateY(-1px)}

/* ── Sidebar ── */
.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:relative;z-index:20;transition:width .3s ease,var(--tr);overflow:hidden}
.sidebar.collapsed{width:0;border-right:none}
#sidebarOpen{position:fixed;top:0;left:0;width:40px;height:40px;background:var(--alert);display:none;align-items:center;justify-content:center;z-index:30;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
#sidebarOpen svg{stroke:#fff;stroke-width:2;fill:none}
.sidebar-collapse{position:absolute;top:0;right:0;width:40px;height:40px;background:var(--alert);display:flex;align-items:center;justify-content:center;z-index:10;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px))}
.sidebar.collapsed .sidebar-collapse{display:none}
.sidebar-collapse svg{stroke:#fff;stroke-width:2;fill:none}
.sidebar-header{padding:18px 28px 20px}
.logo-tag{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.logo-name{font-family:'Bebas Neue',sans-serif;font-size:38px;letter-spacing:5px;color:var(--brand);line-height:1}
.logo-sub{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:6px}
.status-bar{display:flex;align-items:center;gap:8px;margin:0 28px 4px;padding:5px 10px;border:1px solid rgba(255,95,31,.25);background:var(--alert-dim)}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--alert);flex-shrink:0;animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.status-text{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:2px;color:var(--alert)}
.sidebar-nav{flex:1;overflow-y:auto;padding-bottom:12px}
.sidebar-nav::-webkit-scrollbar{width:2px}
.sidebar-nav::-webkit-scrollbar-thumb{background:var(--alert)}
.nav-sl{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);padding:16px 28px 6px;display:block}
.nav-link{display:flex;align-items:center;justify-content:space-between;padding:11px 28px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--text-secondary);text-decoration:none;border-left:3px solid transparent;transition:var(--tr);cursor:pointer;user-select:none}
.nav-link:hover{background:var(--nav-hover);color:var(--text-primary);border-left-color:rgba(9,99,221,.4)}
.nav-link.active{background:var(--nav-hover);color:var(--text-primary);border-left-color:var(--brand)}
.nav-chevron{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;flex-shrink:0;transition:transform .25s}
.nav-link.open .nav-chevron{transform:rotate(90deg)}
.nav-sub{max-height:0;overflow:hidden;transition:max-height .3s ease}
.nav-sub.open{max-height:600px}
.nav-sub-link{display:block;padding:0px 28px 0px 38px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--text-muted);text-decoration:none;border-left:3px solid transparent;transition:var(--tr)}
.nav-sub-link:hover{color:var(--text-primary);background:rgba(9,99,221,.06);border-left-color:rgba(9,99,221,.3)}
.nav-sub-link.active{color:var(--brand);border-left-color:var(--brand)}
.sidebar-footer{padding:16px 28px;border-top:1px solid var(--border-subtle)}
.theme-toggle{display:flex;align-items:center;gap:10px;margin-bottom:18px;cursor:pointer}
.toggle-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--text-muted);flex:1;text-transform:uppercase}
.toggle-track{width:42px;height:24px;border-radius:12px;background:var(--alert);position:relative;flex-shrink:0}
[data-theme="light"] .toggle-track{background:#ddd}
.toggle-thumb{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
[data-theme="light"] .toggle-thumb{transform:translateX(-18px)}
.cert-label{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}
.cert-list{display:flex;flex-direction:column;gap:5px}
.cert-item{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px}
.cert-item::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);flex-shrink:0}

/* ── Boutons ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;transition:var(--tr);white-space:nowrap;text-decoration:none}
.btn-primary{padding:13px 28px;background:var(--brand);color:#fff;clip-path:var(--bevel-md)}
.btn-primary:hover{background:#1474f5}
.btn-outline{padding:12px 26px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-mid);clip-path:var(--bevel-md)}
.btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.btn-alert{padding:13px 28px;background:var(--alert);color:#fff;clip-path:var(--bevel-md)}
.btn-alert{color:#fff !important}.btn-alert:hover{background:#e05010;color:#fff !important}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;flex-shrink:0}

/* ── Hero ── */
.hero-wrapper{flex-shrink:0;height:100vh;min-height:600px}
.hero{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero-img{position:absolute;inset:0;background:center/cover no-repeat}
.hero-bp{position:absolute;inset:0;background:center/cover no-repeat;
  -webkit-mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%);
  mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%)}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--overlay-b) 0%,var(--overlay-bm) 45%,rgba(10,16,24,.12) 100%)}
.hero-ovr{position:absolute;right:0;top:0;bottom:0;width:30%;background:linear-gradient(to left,var(--overlay-r),transparent)}
@keyframes scan{0%{top:-1px;opacity:.8}100%{top:100%;opacity:0}}
.scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,#0963dd,rgba(0,212,255,.6),#0963dd,transparent);animation:scan 4s linear infinite;pointer-events:none;z-index:3}
.hero-accentline{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--alert),transparent 80%);z-index:4}
.hero-cols{position:relative;z-index:6;width:100%;height:100%;display:flex;align-items:stretch}
.hero-col-left{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 52px 17vh;min-width:0}
.hero-col-right{width:260px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center}
.hero-breadcrumb{position:absolute;top:28px;left:40px;z-index:6;display:flex;align-items:center;gap:8px;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:1.5px;color:rgba(255,255,255,.45)}
.hero-breadcrumb a{color:rgba(255,255,255,.45);text-decoration:none}
.hero-breadcrumb .sep{color:var(--alert);opacity:.7}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.hero-eyebrow-line{width:32px;height:2px;background:var(--alert)}
.hero-eyebrow-text{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--alert);opacity:.8}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,5.5vw,88px);letter-spacing:2px;line-height:.92;color:var(--text-primary);margin-bottom:20px}
.hero-title em{color:var(--title-em);font-style:normal;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-desc{font-size:19px;font-weight:300;line-height:1.7;color:var(--text-secondary);max-width:520px;margin-bottom:32px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.xray-hint{position:absolute;top:28px;right:36px;z-index:6;display:flex;align-items:center;gap:10px;transition:opacity .4s}
.xray-hint.hidden{opacity:0;pointer-events:none}
.xray-hint-icon{width:32px;height:32px;border:1px solid var(--brand);border-radius:50%;display:flex;align-items:center;justify-content:center}
.xray-hint-text{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* ── Stats bar hero ── */
.stats-bar{display:flex;flex-direction:column;background:rgba(13,26,39,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-left:1px solid var(--border-mid)}
.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid var(--border-subtle);padding:32px 16px;text-align:center}
.stat-item:last-child{border-bottom:none}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:62px;letter-spacing:2px;color:var(--alert);line-height:1}
.stat-num .unit{color:var(--brand);font-size:40px}
.stat-label{font-family:'Share Tech Mono',monospace;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);line-height:1.4}

/* ── Ticker ── */
.ticker-wrap{background:#0A1828;overflow:hidden;border-top:1px solid var(--border-subtle);flex-shrink:0;padding:12px 0}
.ticker-track{display:flex;animation:ticker 32s linear infinite;width:max-content}
.ticker-track:hover{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-primary);padding:0 24px;white-space:nowrap;display:flex;align-items:center;gap:16px}
.ticker-item::after{content:'//';color:var(--alert);opacity:.6}
.ticker-item.hot{color:var(--alert)}
.ticker-item.blue{color:#4A9EFF}

/* ── Sections ── */
.section{padding:72px 52px;border-top:1px solid var(--border-subtle);transition:background .35s}
.sec-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.sec-eyebrow-line{width:28px;height:2px;background:var(--alert)}
.sec-eyebrow-text{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--eyebrow)}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,3.5vw,56px);letter-spacing:2px;line-height:1;color:var(--text-primary);margin-bottom:12px;transition:color .35s}
.section-title em{color:var(--alert);font-style:normal}
.section-title .blue{color:var(--brand)}
.section-subtitle{font-size:16px;font-weight:300;line-height:1.75;color:var(--text-secondary);max-width:640px;margin-bottom:40px;transition:color .35s}
.s-dark{background:#0D1A27 !important}
.s-dark .card-bg{background:#111C28}
.s-dark .card-bg:hover{background:#162030}
.s-light{background:#E2E8ED !important}
.s-light .section-title{color:#0A1828 !important}
.s-light .section-subtitle{color:#2A4060 !important}
.s-light .sec-eyebrow-text{color:var(--brand) !important}
.s-light .sec-eyebrow-line{background:var(--alert)}

/* ── Grille expertises 5 cards (home) ── */
.expertises-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-subtle)}
  .exp-card{background:var(--bg-card);padding:32px 24px;transition:var(--tr);clip-path:var(--bevel-lg);position:relative;overflow:hidden;display:flex;flex-direction:column}
.exp-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.exp-card:hover::before{transform:scaleX(1)}
.exp-card:hover{background:var(--bg-section)}
.exp-icon{width:36px;height:36px;stroke:var(--alert);stroke-width:1.5;fill:none;margin-bottom:16px}
.exp-num{font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--brand);opacity:.2;line-height:1;margin-bottom:10px;transition:opacity .3s}
.exp-card:hover .exp-num{opacity:.35}
.exp-h{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:var(--text-primary);margin-bottom:10px;transition:color .35s}
.exp-p{font-size:15px;font-weight:300;line-height:1.65;color:var(--text-secondary)}
  .exp-tag{margin-top:auto;margin-bottom:16px;display:inline-block;padding:4px 10px;border:1px solid var(--border-subtle);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);clip-path:var(--bevel-sm)}
.exp-arrow{position:absolute;bottom:20px;right:20px;width:20px;height:20px;stroke:var(--brand);fill:none;opacity:0;transition:opacity .2s,transform .2s}
.exp-card:hover .exp-arrow{opacity:1;transform:translate(2px,-2px)}

/* ── Grille expertises 4 cards (pages internes) ── */
.exp4-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-subtle)}
.exp4-card{background:var(--bg-card);padding:44px 40px;position:relative;overflow:hidden;transition:var(--tr);clip-path:var(--bevel-lg)}
.exp4-card:hover{background:var(--bg-section)}
.exp4-card::after{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--alert);transform:scaleY(0);transform-origin:top;transition:transform .35s}
.exp4-card:hover::after{transform:scaleY(1)}
.exp4-num{font-family:'Bebas Neue',sans-serif;font-size:80px;color:var(--brand);opacity:.08;position:absolute;top:12px;right:20px;line-height:1;pointer-events:none;transition:opacity .3s}
.exp4-card:hover .exp4-num{opacity:.14}
.exp4-icon{width:40px;height:40px;stroke:var(--alert);stroke-width:1.5;fill:none;margin-bottom:20px}
.exp4-h{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:var(--text-primary);margin-bottom:14px;line-height:1}
.exp4-p{font-size:16px;font-weight:300;line-height:1.75;color:var(--text-secondary);margin-bottom:20px;max-width:420px}
.exp4-tags{display:flex;flex-wrap:wrap;gap:6px}
.exp4-tag{padding:4px 10px;border:1px solid var(--border-subtle);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);clip-path:var(--bevel-sm)}
.exp4-tag.hi{border-color:rgba(255,95,31,.3);color:var(--alert)}
.exp4-tag.bl{border-color:rgba(9,99,221,.3);color:var(--brand)}
.s-light .exp4-card{background:#FFFFFF;border:1px solid rgba(0,0,0,.06)}
.s-light .exp4-card:hover{background:#F5F8FC}
.s-light .split-h{color:#0A1828}
.s-light .split-h em{color:var(--alert)}
.s-light .split-feature-title{color:#0A1828}
.s-light .split-p,
.s-light .split-feature-text{color:#2A4060}
.s-light .split-kicker{color:var(--alert)}
.s-light .split-feature-icon{background:rgba(255,95,31,.08);border-color:rgba(255,95,31,.2)}
.s-light .split-content{background:#F0F4F8}
.s-light .split-img-tag{color:rgba(255,255,255,.8)}

/* ── Solutions 4 cards (home) ── */
.solutions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle)}
.sol-card{background:var(--bg-card);padding:36px 28px;transition:var(--tr);clip-path:var(--bevel-lg);position:relative;overflow:hidden}
.sol-card:hover{background:var(--bg-section)}
.sol-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--alert);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.sol-card:hover::after{transform:scaleX(1)}
.sol-icon{width:44px;height:44px;stroke:var(--alert);stroke-width:1.5;fill:none;margin-bottom:20px}
.sol-h{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:var(--text-primary);margin-bottom:10px}
.sol-p{font-size:15px;font-weight:300;line-height:1.65;color:var(--text-secondary)}

/* ── Split image+texte ── */
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--border-subtle);border-top:1px solid var(--border-subtle)}
.split-img{position:relative;min-height:480px;overflow:hidden;background:var(--bg-card)}
.split-img-bg{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .5s ease}
.split-section:hover .split-img-bg{transform:scale(1.03)}
.split-img-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(9,99,221,.15),rgba(10,16,24,.4))}
.split-img-tag{position:absolute;bottom:20px;left:20px;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.7);background:rgba(10,16,24,.7);padding:5px 10px;border:1px solid rgba(255,255,255,.15)}
.split-content{background:var(--bg-card);padding:64px 52px;display:flex;flex-direction:column;justify-content:center}
.s-light .split-content{background:#F0F4F8}
.split-kicker{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--alert);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.split-kicker::before{content:'';width:24px;height:2px;background:var(--alert);flex-shrink:0}
.split-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3vw,44px);letter-spacing:2px;line-height:1;color:var(--text-primary);margin-bottom:20px}
.split-h em{color:var(--alert);font-style:normal}
.split-p{font-size:16px;font-weight:300;line-height:1.8;color:var(--text-secondary);margin-bottom:28px}
.split-features{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.split-feature{display:flex;align-items:flex-start;gap:14px}
.split-feature-icon{width:36px;height:36px;background:rgba(255,95,31,.1);border:1px solid rgba(255,95,31,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;clip-path:var(--bevel-sm)}
.split-feature-icon svg{width:16px;height:16px;stroke:var(--alert);fill:none}
.split-feature-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1.5px;color:var(--text-primary);margin-bottom:4px}
.split-feature-text{font-size:16px;font-weight:300;line-height:1.6;color:var(--text-muted)}

/* ── Why 3 cards ── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle)}
.why-card{background:var(--bg-card);padding:48px 36px;transition:var(--tr);clip-path:var(--bevel-lg)}
.why-card:hover{background:var(--bg-section)}
.s-dark .why-card{background:#111C28}
.s-dark .why-card:hover{background:#162030}
.why-card:hover{background:#162030 !important}
.s-light .why-card{background:#FFFFFF;border:1px solid rgba(0,0,0,.06)}
.s-light .why-card:hover{background:#F5F8FC}
.why-num{font-family:'Bebas Neue',sans-serif;font-size:64px;color:var(--alert);line-height:1;margin-bottom:12px}
.why-icon{width:48px;height:48px;stroke:var(--alert);stroke-width:1.5;fill:none;margin-bottom:20px}
.why-h{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:var(--text-primary);margin-bottom:14px;line-height:1.1}
.why-p{font-size:16px;font-weight:300;line-height:1.8;color:var(--text-secondary)}
.why-tag{margin-top:22px;display:inline-block;padding:5px 12px;border:1px solid var(--border-mid);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);clip-path:var(--bevel-sm)}

/* ── Portfolio / Réalisations ── */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle)}
.portfolio-card{background:var(--bg-card);position:relative;overflow:hidden;aspect-ratio:4/3;clip-path:var(--bevel-lg)}
.pc-img{position:absolute;inset:0;background:var(--bg-section);background-size:cover;background-position:center;transition:transform .4s ease}
.portfolio-card:hover .pc-img{transform:scale(1.04)}
.pc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,10,16,.82) 0%,rgba(6,10,16,.48) 40%,rgba(6,10,16,.05) 100%)}
.pc-content{position:absolute;bottom:0;left:0;right:0;padding:24px}
.pc-sector{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--alert);margin-bottom:6px}
.pc-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--text-primary);line-height:1;margin-bottom:8px}
.pc-kpi{display:flex;align-items:center;gap:8px}
.pc-kpi-num{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--alert);letter-spacing:1px}
.pc-kpi-label{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--text-muted)}
.s-light .portfolio-card{background:#111C28}

/* ── Logos clients ── */
.clients-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle)}
.client-logo-card{background:#FFFFFF;padding:40px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden;transition:var(--tr);border:1px solid rgba(0,0,0,.06);min-height:160px}
.client-logo-card:hover{background:#F5F8FC}
.client-logo-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.client-logo-card:hover::before{transform:scaleX(1)}
.client-logo-card img{max-height:140px;max-width:240px;width:auto;object-fit:contain;opacity:1;transition:opacity .3s}
.client-logo-name{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#5A7A96;opacity:0;transition:opacity .3s}
.client-logo-card:hover .client-logo-name{opacity:1}

/* ── Certifications ── */
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle)}
.cert-card{background:#FFFFFF;padding:36px 28px;display:flex;flex-direction:column;clip-path:var(--bevel-lg);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;transition:var(--tr)}
.cert-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.cert-card:hover::before{transform:scaleX(1)}
.cert-card:hover{background:#F5F8FC}
.cert-badge{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:3px;color:var(--brand);margin-bottom:6px}
.cert-badge-sub{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#5A7A96;margin-bottom:12px;line-height:1.5}
.cert-desc{font-size:15px;font-weight:300;line-height:1.7;color:#2A4060;flex:1}
.cert-status{margin-top:16px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(9,99,221,.3);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--brand);clip-path:var(--bevel-sm)}
.cert-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}

/* ── Maillage interne ── */
.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle)}
.link-card{background:var(--bg-card);padding:28px;display:flex;align-items:center;gap:16px;transition:var(--tr);clip-path:var(--bevel-sm);text-decoration:none}
.link-card:hover{background:var(--bg-section)}
.s-dark .link-card{background:#1E3248;border:1px solid rgba(142,184,220,.18);border-left:3px solid var(--brand)}
.s-dark .link-card:hover{background:#243d58;border-left-color:var(--alert)}
.s-light .link-card{background:#FFFFFF}
.s-light .link-card:hover{background:#F5F8FC}
.link-card-icon{width:40px;height:40px;stroke:var(--brand);stroke-width:1.5;fill:none;flex-shrink:0;transition:stroke .2s}
.link-card:hover .link-card-icon{stroke:var(--alert)}
.link-card-label{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.link-card-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--text-primary)}
.s-light .link-card-title{color:#0A1828}
.link-arrow{margin-left:auto;width:16px;height:16px;stroke:var(--brand);fill:none;opacity:0;transition:opacity .2s,transform .2s;flex-shrink:0}
.link-card:hover .link-arrow{opacity:1;transform:translate(3px,-3px)}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle)}
.faq-item{background:var(--bg-card);overflow:hidden}
.s-dark .faq-item{background:#111C28}
.s-light .faq-item{background:#FFFFFF}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;cursor:pointer;transition:var(--tr)}
.faq-q:hover{background:rgba(9,99,221,.06)}
.faq-q-text{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--text-primary)}
.faq-chevron{width:16px;height:16px;stroke:var(--brand);fill:none;flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-a{max-height:200px}
.faq-a-inner{padding:0 32px 22px;font-size:16px;font-weight:300;line-height:1.75;color:var(--text-secondary);border-top:1px solid var(--border-subtle);padding-top:18px}

/* ── Ateliers cards ── */
.ateliers-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle)}
.atelier-card{background:var(--bg-card);display:flex;flex-direction:column;clip-path:var(--bevel-lg);position:relative;overflow:hidden}
.atelier-photo{height:280px;position:relative;overflow:hidden;background:var(--bg-section);flex-shrink:0}
.atelier-photo-bg{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .4s ease}
.atelier-card:hover .atelier-photo-bg{transform:scale(1.04)}
.atelier-photo-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,16,24,.75) 0%,rgba(10,16,24,.35) 50%,rgba(10,16,24,.05) 100%)}
.atelier-overlay-text{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;z-index:2}
.atelier-num{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--alert) !important;opacity:.9;margin-bottom:4px}
.atelier-h{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:var(--text-primary) !important;margin-bottom:4px;line-height:1}
.atelier-h em{color:var(--brand);font-style:normal}
.atelier-addr{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.8px;color:rgba(255,255,255,.55) !important;display:flex;align-items:center;gap:6px}
.atelier-addr svg{width:10px;height:10px;stroke:var(--alert);fill:none;flex-shrink:0}
.atelier-dept{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(10,16,24,.85);border:1px solid rgba(255,95,31,.3);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--alert);text-transform:uppercase;z-index:2}
.atelier-dept::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);flex-shrink:0;animation:blink 2s infinite}
.atelier-content{padding:24px 28px 28px}
.atelier-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.atelier-meta-item{background:rgba(9,99,221,.06);border:1px solid var(--border-subtle);padding:10px 12px;clip-path:var(--bevel-sm)}
.atelier-meta-label{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}
.atelier-meta-value{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1.5px;color:var(--text-primary);line-height:1}
.atelier-meta-value.v-alert{color:var(--alert)}
.atelier-meta-value.v-sm{font-size:13px;font-family:'Share Tech Mono',monospace;letter-spacing:.8px}
.atelier-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.atelier-tag{padding:4px 10px;border:1px solid var(--border-subtle);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);clip-path:var(--bevel-sm)}
.atelier-tag.hi{border-color:rgba(255,95,31,.4);color:var(--alert)}
.atelier-tag.bl{border-color:rgba(9,99,221,.4);color:var(--brand)}
.atelier-moyen{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:300;color:var(--text-secondary)}
.atelier-moyen::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--alert);flex-shrink:0}

/* ── CTA final ── */
.cta-section{background:var(--brand);padding:64px 52px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden;flex-shrink:0}
.cta-section::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.2),transparent 60%)}
.cta-left{position:relative}
.cta-kicker{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px}
.cta-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3vw,46px);letter-spacing:2px;color:#fff;line-height:.95;margin-bottom:12px}
.cta-p{font-size:15px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.8);max-width:400px}
.cta-right{display:flex;flex-direction:column;gap:16px;align-items:flex-end;position:relative}
.cta-tel{display:flex;align-items:center;gap:10px;font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:2px;color:#fff}
.cta-tel svg{width:18px;height:18px;stroke:rgba(255,255,255,.7);fill:none}
.cta-sub{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ── Footer ── */
.footer{padding:20px 52px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;background:#0D1A27;flex-shrink:0}
.footer-copy{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase}
.footer-alert{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;color:var(--alert);display:flex;align-items:center;gap:6px}
.footer-alert::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);animation:blink 2s ease-in-out infinite}
.footer-brand{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--brand)}

/* ── Scroll Reveal ── */
.sr{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.sr.visible{opacity:1;transform:translateY(0)}

/* ── Suppression styles WP par défaut ── */
.wp-block-site-title,
.wp-site-blocks,
body.wp-admin{all:unset}

/* ══ CSS spécifique HOME ══ */

/* Blueprint labels */
.bp-labels{position:absolute;inset:0;pointer-events:none;z-index:5;
  -webkit-mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%);
  mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%)}
.bp-label{position:absolute;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#00d4ff;white-space:nowrap}
.bp-label.dim{opacity:.45}
.bp-label.hot{color:#FF5F1F}
.bp-label.lined{text-decoration:underline;text-underline-offset:3px}

/* Secteurs grid */
.secteurs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle)}
.secteur-card{background:#FFFFFF;padding:32px 28px;transition:var(--tr);position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06);text-decoration:none;display:block}
.secteur-card:hover{background:#F5F8FC}
.secteur-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:0;transition:opacity .2s}
.secteur-card:hover::before{opacity:1}
.secteur-h{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#0A1828;margin-bottom:8px}
.secteur-p{font-size:13px;font-weight:300;line-height:1.55;color:#5A7A96}
.secteur-logos{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.secteur-logo-item{display:flex;align-items:center;justify-content:center;height:34px}
.secteur-logo-item svg{height:28px;width:auto;max-width:110px;display:block}
.secteur-link{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:6px;margin-top:14px;opacity:0;transition:opacity .2s}
.secteur-card:hover .secteur-link{opacity:1}
.secteur-link svg{width:10px;height:10px;stroke:var(--brand);fill:none}

/* Fusion */
.fusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle)}
.fusion-text{background:var(--bg-card);padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.fusion-stats{background:var(--bg-section);padding:56px 48px;display:flex;flex-direction:column;gap:32px;justify-content:center}
.fusion-stat{border-left:3px solid var(--alert);padding-left:20px}
.fusion-stat-num{font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:2px;color:var(--text-primary);line-height:1}
.fusion-stat-num span{color:var(--alert)}
.fusion-stat-label{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:4px}
.fusion-logos{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.fusion-logo{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:var(--brand)}
.fusion-logo-sep{font-size:20px;color:var(--alert);opacity:.6}

/* Certifications home (5 colonnes) */
.cert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-subtle)}
.cert-card-item{background:#FFFFFF;padding:36px 28px;display:flex;flex-direction:column;align-items:flex-start;transition:var(--tr);clip-path:var(--bevel-lg);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}
.cert-card-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.cert-card-item:hover::before{transform:scaleX(1)}
.cert-card-item:hover{background:#F5F8FC}
.cert-badge{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:3px;color:var(--brand);margin-bottom:10px}
.cert-badge-sub{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#5A7A96;margin-bottom:14px;line-height:1.5}
.cert-desc{font-size:14px;font-weight:300;line-height:1.7;color:#2A4060;flex:1}
.cert-status{margin-top:20px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(9,99,221,.3);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--brand);clip-path:var(--bevel-sm)}
.cert-status.pending{border-color:rgba(255,95,31,.3);color:var(--alert)}
.cert-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Zone intervention */
.zone-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;background:var(--border-subtle)}
.zone-map{background:var(--bg-card);position:relative;min-height:380px;overflow:hidden}
.zone-content{background:var(--bg-card);padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.zone-ateliers{display:flex;flex-direction:column;gap:12px;margin:24px 0 32px}
.zone-atelier{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:300;color:var(--text-secondary)}
.zone-atelier-dot{width:8px;height:8px;border-radius:50%;background:var(--alert);flex-shrink:0;box-shadow:0 0 6px var(--alert-glow)}

/* Mid CTA */
.mid-cta{background:var(--brand);padding:52px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}
.mid-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.2) 0%,transparent 60%)}
.mid-cta-label{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;position:relative}
.mid-cta-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3vw,46px);letter-spacing:2px;color:#fff;line-height:.95;position:relative}

/* CTA formulaire */
.cta-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:64px}
.cta-kicker{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--alert);margin-bottom:14px}
.cta-form{display:flex;flex-direction:column;gap:12px;min-width:380px}
.cta-input{background:#FFFFFF;border:1px solid rgba(9,99,221,.2);color:#0A1828;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;padding:13px 16px;outline:none;transition:border-color .2s;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);width:100%}
.cta-input:focus{border-color:var(--brand)}
.cta-input::placeholder{color:#7090A8}
.alert-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,95,31,.35);background:var(--alert-dim);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--alert);text-transform:uppercase;clip-path:var(--bevel-sm);margin-top:12px}
.alert-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--alert);flex-shrink:0;animation:blink 1.5s ease-in-out infinite}

/* ══ Fluent Forms - override curseur global ══ */
.fluentform,
.fluentform *,
.fluentform input,
.fluentform textarea,
.fluentform select,
.fluentform button,
.fluentform label,
.ff-btn,
.ff-btn-submit,
[class*="ff-"],
[class*="fluentform"] { cursor: none !important; }

/* ══ CSS spécifique HOME ══ */

/* Blueprint labels */
.bp-labels{position:absolute;inset:0;pointer-events:none;z-index:5;
  -webkit-mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%);
  mask-image:radial-gradient(circle var(--xr-r,120px) at var(--lx,-999px) var(--ly,-999px),black 100%,transparent 0%)}
.bp-label{position:absolute;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#00d4ff;white-space:nowrap}
.bp-label.dim{opacity:.45}
.bp-label.hot{color:#FF5F1F}
.bp-label.lined{text-decoration:underline;text-underline-offset:3px}

/* Secteurs grid */
.secteurs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-subtle)}
.secteur-card{background:#FFFFFF;padding:32px 28px;transition:var(--tr);position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06);text-decoration:none;display:block}
.secteur-card:hover{background:#F5F8FC}
.secteur-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:0;transition:opacity .2s}
.secteur-card:hover::before{opacity:1}
.secteur-h{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#0A1828;margin-bottom:8px}
.secteur-p{font-size:13px;font-weight:300;line-height:1.55;color:#5A7A96}
.secteur-logos{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.secteur-logo-item{display:flex;align-items:center;justify-content:center;height:34px}
.secteur-logo-item svg{height:28px;width:auto;max-width:110px;display:block}
.secteur-link{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:6px;margin-top:14px;opacity:0;transition:opacity .2s}
.secteur-card:hover .secteur-link{opacity:1}
.secteur-link svg{width:10px;height:10px;stroke:var(--brand);fill:none}

/* Fusion */
.fusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle)}
.fusion-text{background:var(--bg-card);padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.fusion-stats{background:var(--bg-section);padding:56px 48px;display:flex;flex-direction:column;gap:32px;justify-content:center}
.fusion-stat{border-left:3px solid var(--alert);padding-left:20px}
.fusion-stat-num{font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:2px;color:var(--text-primary);line-height:1}
.fusion-stat-num span{color:var(--alert)}
.fusion-stat-label{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:4px}
.fusion-logos{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.fusion-logo{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:var(--brand)}
.fusion-logo-sep{font-size:20px;color:var(--alert);opacity:.6}

/* Certifications home (5 colonnes) */
.cert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-subtle)}
.cert-card-item{background:#FFFFFF;padding:36px 28px;display:flex;flex-direction:column;align-items:flex-start;transition:var(--tr);clip-path:var(--bevel-lg);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}
.cert-card-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.cert-card-item:hover::before{transform:scaleX(1)}
.cert-card-item:hover{background:#F5F8FC}
.cert-badge{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:3px;color:var(--brand);margin-bottom:10px}
.cert-badge-sub{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#5A7A96;margin-bottom:14px;line-height:1.5}
.cert-desc{font-size:14px;font-weight:300;line-height:1.7;color:#2A4060;flex:1}
.cert-status{margin-top:20px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(9,99,221,.3);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--brand);clip-path:var(--bevel-sm)}
.cert-status.pending{border-color:rgba(255,95,31,.3);color:var(--alert)}
.cert-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Zone intervention */
.zone-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;background:var(--border-subtle)}
.zone-map{background:var(--bg-card);position:relative;min-height:380px;overflow:hidden}
.zone-content{background:var(--bg-card);padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.zone-ateliers{display:flex;flex-direction:column;gap:12px;margin:24px 0 32px}
.zone-atelier{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:300;color:var(--text-secondary)}
.zone-atelier-dot{width:8px;height:8px;border-radius:50%;background:var(--alert);flex-shrink:0;box-shadow:0 0 6px var(--alert-glow)}

/* Mid CTA */
.mid-cta{background:var(--brand);padding:52px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}
.mid-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.2) 0%,transparent 60%)}
.mid-cta-label{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;position:relative}
.mid-cta-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3vw,46px);letter-spacing:2px;color:#fff;line-height:.95;position:relative}

/* CTA formulaire */
.cta-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:64px}
.cta-kicker{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--alert);margin-bottom:14px}
.cta-form{display:flex;flex-direction:column;gap:12px;min-width:380px}
.cta-input{background:#FFFFFF;border:1px solid rgba(9,99,221,.2);color:#0A1828;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;padding:13px 16px;outline:none;transition:border-color .2s;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);width:100%}
.cta-input:focus{border-color:var(--brand)}
.cta-input::placeholder{color:#7090A8}
.alert-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,95,31,.35);background:var(--alert-dim);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--alert);text-transform:uppercase;clip-path:var(--bevel-sm);margin-top:12px}
.alert-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--alert);flex-shrink:0;animation:blink 1.5s ease-in-out infinite}

/* ══ Fluent Forms - override curseur global ══ */
.fluentform,.fluentform *,.fluentform input,.fluentform textarea,.fluentform select,.fluentform button,.fluentform label,.ff-btn,.ff-btn-submit,[class*="ff-"],[class*="fluentform"]{cursor:none !important;}

/* ══ Footer principal ══ */
.footer-main{display:grid;grid-template-columns:1.6fr 1.2fr;background:#0A1828;border-top:1px solid var(--border-subtle);flex-shrink:0;width:100%}
.footer-col{background:#0A1828;padding:48px 52px}
.footer-col+.footer-col{border-left:1px solid var(--border-subtle)}
.footer-col-brand{display:flex;flex-direction:column;gap:20px}
.footer-logo{display:flex;flex-direction:column;gap:5px;text-decoration:none}
.footer-logo-name{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:5px;color:var(--brand);line-height:1}
.footer-logo-sub{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)}
.footer-baseline{font-size:14px;font-weight:300;line-height:1.7;color:var(--text-secondary);max-width:320px}
.footer-linkedin{display:inline-flex;align-items:center;gap:10px;color:var(--text-muted);text-decoration:none;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;margin-top:4px}
.footer-linkedin:hover{color:#0A66C2}
.footer-linkedin svg{flex-shrink:0;fill:var(--text-muted);transition:fill .2s}
.footer-linkedin:hover svg{fill:#0A66C2}
.footer-col-title{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--alert);margin-bottom:24px}
.footer-contact-list{display:flex;flex-direction:column;gap:14px}
.footer-contact-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:300;color:var(--text-secondary)}
.footer-contact-item svg{stroke:var(--alert);fill:none;flex-shrink:0;margin-top:2px}
.footer-contact-item a{color:var(--text-secondary);text-decoration:none;transition:color .2s}
.footer-contact-item a:hover{color:var(--brand)}
.footer-contact-item span{line-height:1.6}

/* Barre bottom */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:16px 52px 24px;background:#060E18;border-top:1px solid var(--border-subtle);flex-shrink:0;gap:20px}
.footer-copy{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--text-muted)}
.footer-bottom-links{display:flex;align-items:center;gap:12px}
.footer-bottom-links a{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--text-muted);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:var(--brand)}
.footer-bottom-sep{color:var(--border-mid)}
.footer-alert-badge{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--alert);display:flex;align-items:center;gap:6px}
.footer-alert-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);animation:blink 2s ease-in-out infinite}

/* ══ Logo image sidebar ══ */
.sidebar-logo-link{display:block;text-decoration:none;padding:0}
.sidebar-logo-img{
  display:block;
  width:calc(var(--sidebar-w) - 56px); /* 280px sidebar - 2×28px padding */
  max-width:100%;
  height:auto; /* ratio préservé automatiquement */
  object-fit:contain;
}

/* ══ Slider taille X-Ray ══ */
.xray-size-control{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}
.xray-temp-note{font-size:9px;line-height:1.4;color:var(--alert);opacity:.85;margin:2px 0 8px;font-style:italic}
.xray-size-control #xraySizeSlider{width:100%;accent-color:var(--brand);cursor:pointer}
.xray-size-labels{display:flex;justify-content:space-between;font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:1px;color:var(--text-muted);margin-top:4px}

/* ══ Page Contact ══ */
.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:1px;background:var(--border-subtle)}
.contact-form-col{background:#FFFFFF;padding:56px 52px}
.contact-info-col{background:var(--bg-card);padding:48px 36px;display:flex;flex-direction:column;gap:24px}
.contact-info-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(255,95,31,.3);background:rgba(255,95,31,.08);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--alert);clip-path:var(--bevel-sm);margin-bottom:8px}
.contact-info-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--alert);animation:blink 2s ease-in-out infinite}
.contact-info-item{display:flex;align-items:flex-start;gap:14px}
.contact-info-item svg{stroke:var(--alert);fill:none;width:16px;height:16px;flex-shrink:0;margin-top:2px}
.contact-info-label{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}
.contact-info-value{font-size:15px;font-weight:300;color:var(--text-primary);line-height:1.5}
.contact-info-value a{color:var(--text-primary);text-decoration:none;transition:color .2s}
.contact-info-value a:hover{color:var(--brand)}
.contact-certs-inline{display:flex;flex-wrap:wrap;gap:6px;padding-top:16px;border-top:1px solid var(--border-subtle)}
.contact-cert-tag{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border-mid);color:var(--text-secondary);clip-path:var(--bevel-sm)}
.contact-ateliers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle);margin-top:40px}
.contact-atelier-card{background:var(--bg-card);padding:28px 24px;clip-path:var(--bevel-lg)}
.contact-atelier-num{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--alert);margin-bottom:8px}
.contact-atelier-ville{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--text-primary);line-height:1;margin-bottom:8px}
.contact-atelier-adresse{font-size:13px;font-weight:300;line-height:1.5;color:var(--text-muted);margin-bottom:12px}
.contact-atelier-dept{display:inline-flex;align-items:center;gap:6px;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1.5px;color:var(--alert);border:1px solid rgba(255,95,31,.25);padding:3px 8px;clip-path:var(--bevel-sm)}

/* Hero compact — pleine hauteur au-dessus de la ligne de flottaison */
.hero-wrapper.hero-compact{height:100vh;min-height:600px}

/* ══ Single Réalisation ══ */
.realisation-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end}
.realisation-meta-bar{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px}
.realisation-meta-item{display:flex;align-items:center;gap:8px;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7)}
.realisation-meta-item svg{stroke:var(--alert);fill:none;width:12px;height:12px}
.realisation-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1px;background:var(--border-subtle)}
.realisation-body{background:#FFFFFF;padding:56px 52px}
.realisation-body .wp-block-paragraph{font-size:16px;font-weight:300;line-height:1.8;color:#1A2E40;margin-bottom:20px}
.realisation-body h2{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:#0A1828;margin:32px 0 14px}
.realisation-body h3{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#0A1828;margin:24px 0 10px}
.realisation-body .wp-block-image{margin:24px 0}
.realisation-body .wp-block-image img{max-width:100%;height:auto;display:block}
.realisation-fiche{background:var(--bg-card);padding:40px 32px;display:flex;flex-direction:column;gap:20px}
.fiche-item{border-bottom:1px solid var(--border-subtle);padding-bottom:16px}
.fiche-item:last-child{border-bottom:none}
.fiche-label{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.fiche-value{font-size:15px;font-weight:300;color:var(--text-primary)}
.fiche-kpi-num{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:2px;color:var(--alert);opacity:1;line-height:1}
.fiche-secteur-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid rgba(255,95,31,.3);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--alert);clip-path:var(--bevel-sm)}
.fiche-secteur-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);flex-shrink:0}

/* ══ Archive Réalisations — filtres ══ */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.filter-btn{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:8px 16px;border:1px solid var(--border-mid);background:transparent;color:var(--text-muted);clip-path:var(--bevel-sm);transition:var(--tr);cursor:pointer}
.filter-btn:hover{border-color:var(--brand);color:var(--brand)}
.filter-btn.active{background:var(--alert);border-color:var(--alert);color:#fff}
.portfolio-card-wrap{display:block}

/* ══ Réalisation — listes & citations dans l'éditeur ══ */
.realisation-body ul,
.realisation-body ol{margin:0 0 20px;padding-left:22px;color:#1A2E40;font-size:16px;font-weight:300;line-height:1.8}
.realisation-body ul li,
.realisation-body ol li{margin-bottom:8px;color:#1A2E40}
.realisation-body ul li::marker{color:var(--alert)}
.realisation-body blockquote{margin:28px 0;padding:20px 24px;border-left:3px solid var(--alert);background:#F5F8FC;color:#1A2E40;font-size:17px;font-style:italic;line-height:1.7}
.realisation-body blockquote p{margin:0;color:#1A2E40}
.realisation-body blockquote cite{display:block;margin-top:10px;font-style:normal;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}

/* ── Sidebar : sous-menus statiques (Expertises/Solutions/Secteurs toujours visibles) ── */
.nav-section-label{display:flex;align-items:center;padding:11px 28px 4px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--text-secondary);cursor:default;user-select:none}
.nav-sub-static{max-height:none;overflow:visible;margin-bottom:6px}

/* ── Sidebar : indicateur visuel de scroll ── */
.nav-scroll-hint{position:relative;height:28px;margin-top:-28px;flex-shrink:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;background:linear-gradient(to bottom,transparent,var(--bg-sidebar) 75%);pointer-events:none;z-index:5;opacity:1;transition:opacity .25s ease}
.nav-scroll-hint svg{stroke:var(--alert);stroke-width:2;fill:none;animation:navScrollBounce 1.4s ease-in-out infinite}
.nav-scroll-hint.at-bottom,
.nav-scroll-hint.no-scroll{opacity:0}
@keyframes navScrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* ══════════════════════════════════════════
   RESPONSIVE — Menu mobile + désactivation X-Ray
   Breakpoint : 1024px
   ══════════════════════════════════════════ */

.mobile-topbar,.mobile-backdrop,.mobile-contact-card{display:none}

/* Toggles Expertises/Solutions/Secteurs (remplacent nav-section-label) :
   même léger padding-bottom réduit que .nav-section-label à l'origine */
.nav-section-toggle{padding-bottom:4px}

/* Icône +/- des toggles de section — masquée sur desktop (chevron/rien
   suffit), affichée uniquement en mobile (cf. media query ci-dessous) */
.nav-toggle-icon{position:relative;width:14px;height:14px;flex-shrink:0;display:none}
.nav-toggle-icon::before,.nav-toggle-icon::after{content:'';position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%);transition:opacity .2s ease}
.nav-toggle-icon::before{width:14px;height:2px}
.nav-toggle-icon::after{width:2px;height:14px}
.nav-link.open .nav-toggle-icon::after{opacity:0}

@media (max-width:1024px){

  /* Topbar fixe */
  .mobile-topbar{
    display:flex;align-items:center;justify-content:space-between;
    position:fixed;top:0;left:0;width:100%;height:60px;padding:0 20px;
    background:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);
    z-index:210;
  }
  .mobile-topbar-logo img{height:52px;width:auto;display:block}

  .mobile-menu-btn{
    width:32px;height:32px;background:none;border:none;padding:0;
    display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;
  }
  .mobile-menu-btn span{display:block;width:100%;height:3px;background:var(--text-primary);transition:transform .25s ease,opacity .25s ease}
  .mobile-menu-btn.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .mobile-menu-btn.is-open span:nth-child(2){opacity:0}
  .mobile-menu-btn.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .layout{padding-top:60px}

  /* Sidebar → drawer plein écran, glisse depuis la DROITE (même côté que le bouton) */
  .sidebar{
    position:fixed;top:60px;right:0;left:auto;height:calc(100vh - 60px);
    width:100vw;max-width:none;
    transform:translateX(100%);transition:transform .3s ease;z-index:200;
  }
  .sidebar.mobile-open{transform:translateX(0)}

  /* Accordéon mobile pour Expertises / Solutions / Secteurs
     (sur desktop, .nav-sub-static reste "max-height:none" — cf. règle d'origine) */
  .nav-sub-static{max-height:0;overflow:hidden;margin-bottom:0}
  .nav-sub-static.open{max-height:600px;overflow:visible;margin-bottom:6px}

  /* Menu mobile épuré : uniquement la nav, pas de header/status-bar/footer desktop */
  .sidebar-header,.status-bar,.sidebar-footer{display:none}
  .sidebar-nav{padding-top:20px}

  /* Chevron "Le groupe" masqué sur mobile uniquement (remplacé par +/-) */
  #sidebar .nav-chevron{display:none}

  /* Icône +/- visible en mobile pour les 4 toggles (Expertises/Solutions/
     Secteurs/Le groupe) */
  #sidebar .nav-toggle-icon{display:block}

  /* Lignes de menu façon liste, séparées par un filet, plus espacées */
  #sidebar .sidebar-nav .nav-link{padding:18px 24px;border-bottom:1px solid var(--border-subtle)}
  #sidebar .sidebar-nav .nav-sub-link{padding-top:10px;padding-bottom:10px}

  /* Hint "Vue rayon X" du hero : desktop uniquement */
  .xray-hint{display:none}

  /* Hamburger bleu en mode jour (invisible en blanc sur fond blanc sinon) */
  [data-theme="light"] .mobile-menu-btn span{background:var(--brand)}

  /* Contact rapide — carte encadrée, centrée (marges gauche/droite) */
  .mobile-contact-card{
    display:block;margin:20px 24px 28px;padding:18px 20px;
    border:1px solid var(--border-subtle);border-radius:14px;
    background:rgba(9,99,221,.04);flex-shrink:0;
  }
  .mobile-contact-label{font-family:'Share Tech Mono',monospace;font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}
  .mobile-contact-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;color:var(--text-primary);text-decoration:none;font-family:'DM Sans',sans-serif;font-size:18px}
  .mobile-contact-row svg{width:24px;height:24px;stroke:var(--brand);fill:none;stroke-width:1.5;flex-shrink:0}

  /* Backdrop */
  .mobile-backdrop{
    display:block;position:fixed;inset:0;background:rgba(6,10,16,.6);
    opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:190;
  }
  .mobile-backdrop.visible{opacity:1;pointer-events:auto}

  /* Contrôles desktop désactivés */
  #sidebarOpen,.sidebar-collapse{display:none !important}

  /* X-Ray désactivé (curseur custom + loupe) */
  *,*::before,*::after{cursor:auto !important}
  #xrCursor,#xrOverlay{display:none !important}
}
.link-card > div{min-width:0}
.link-card-title{overflow-wrap:break-word}
@media (max-width:1024px){

  /* Correctif global : .btn{white-space:nowrap} (vegatec.css l.138) fait
     déborder le texte des boutons à droite dès qu'il est un peu long sur
     mobile. On autorise le retour à la ligne, quel que soit le template. */
  .btn{white-space:normal;text-align:center;line-height:1.3}

  /* Correctif : .sr reste invisible sur mobile car son .visible n'est
     ajouté que par l'IntersectionObserver de xray.js, non chargé sur mobile.
     On neutralise l'animation d'entrée pour rendre les sections visibles. */
  .sr{opacity:1 !important;transform:none !important}

  /* Hero : limité à la hauteur d'écran (topbar 60px déjà en padding-top du .layout) */
  .hero-wrapper{height:calc(100vh - 60px);min-height:0}

  /* Hero : titre rapproché du header (au lieu d'être plaqué en bas via flex-end) */
  .hero-col-left{justify-content:flex-start;padding:15vh 24px 24px}

  /* Hero : eyebrow masqué, CTA pleine largeur */
  .hero-eyebrow{display:none}
  .hero-ctas{flex-direction:column}
  .hero-ctas .btn{width:100%;text-align:center;justify-content:center}

  /* Hero : espace accru entre la description et les CTA */
  .hero-desc{margin-bottom:40px}

  /* Bloc KPI hero : réinjecté après le hero en flux normal (mobile uniquement) */
  .stats-bar-mobile{
    display:flex;flex-direction:column;
    background:rgba(13,26,39,.82);
  }

  /* Cards des sections : une seule colonne */
  .clients-band{grid-template-columns:1fr}
  .exp4-grid{grid-template-columns:1fr !important} /* !important requis : surcharge le style inline repeat(3,1fr) du template */
  .exp4-grid .exp4-card{grid-column:1/-1 !important} /* neutralise les grid-column:span inline des cartes (template environnements-contraints) */
  .why-grid{grid-template-columns:1fr}
  .links-grid{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr}

  /* Section "Contrainte du secteur" : image puis contenu, empilés et centrés */
  .split-section{grid-template-columns:1fr}
  .split-img{min-height:220px}
  .split-content{padding:40px 24px}

  /* Bande mid-CTA bleu : texte puis bouton, empilés et centrés */
  .mid-cta{flex-direction:column;align-items:center;text-align:center;gap:24px;padding:40px 24px}
  .mid-cta > div:last-child{justify-content:center;width:100%}

  /* Grille "Nos secteurs" (composant partagé front-page / groupe / secteurs-hub).
     CORRECTIF : cette règle était présente hors media query (bug), appliquant
     1 colonne en permanence y compris sur desktop. Replacée ici, dans le
     breakpoint mobile, où elle doit s'appliquer. !important requis : chaque
     template porte un style inline grid-template-columns différent. */
  .secteurs-grid{grid-template-columns:1fr !important}

  /* Logos des cartes secteurs : contenus dans la carte (les templates posent
     souvent une largeur inline fixe sur les <img>, ex. 210px, qui dépasse la
     largeur d'une carte en mobile) */
  .secteur-logo-item{height:auto !important}
  .secteur-logo-item img{width:auto !important;height:auto !important;max-width:100% !important;max-height:44px !important;transform:none !important}

  /* Section Fusion Vegatec + SVTI : empilée en une colonne, padding réduit */
  .fusion-grid{grid-template-columns:1fr}
  .fusion-text{padding:40px 24px}
  .fusion-stats{padding:40px 24px}

  /* CTA final formulaire : bloc texte puis formulaire, empilés pleine largeur */
  .cta-inner{flex-direction:column;gap:32px}
  .cta-form{min-width:0;width:100%}
}

/* ══════════════════════════════════════════════
   ADDENDUM — template-groupe-ateliers.php
   Empilement de la grille ateliers sur mobile
   ══════════════════════════════════════════════ */
@media (max-width:1024px){
  .ateliers-grid{grid-template-columns:1fr}
}

/* ══ Footer : empilement mobile (colonne Contact coupée sinon) ══ */
@media (max-width:1024px){
  .footer-main{grid-template-columns:1fr}
  .footer-col{padding:32px 24px}
  .footer-col+.footer-col{border-left:none;border-top:1px solid var(--border-subtle)}
  .footer-baseline{max-width:100%}

  .footer-bottom{flex-direction:column;align-items:flex-start;padding:20px 24px 24px;gap:12px}
  .footer-bottom-links{flex-wrap:wrap;row-gap:8px}

  /* Logo footer : pleine largeur de la colonne (le padding du footer-col
     donne déjà l'espace latéral avec les bords de l'écran) */
  .footer-logo-img{max-width:100%}
}
/* ══════════════════════════════════════════════
   ADDENDUM — pages atelier individuelles
   Classes manquantes utilisées par .atelier-card
   (déjà présentes dans le markup du hub /groupe/ateliers/
   mais jamais définies en CSS)
   ══════════════════════════════════════════════ */
.atelier-card{text-decoration:none;color:inherit;cursor:pointer}
.atelier-moyens-label{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.atelier-moyen-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.s-light .contact-info-value{color:#2A4060}
.s-light .contact-info-value a{color:#2A4060}
.s-light .contact-info-value a:hover{color:var(--brand)}
@media (max-width:1024px){
  .split-reverse-mobile .split-content{order:-1}
}
@media (max-width:1024px){
  .links-grid.links-grid-ateliers{grid-template-columns:1fr !important}
}

/* ══════════════════════════════════════════════
   FIX — Hero mobile tronqué (boutons invisibles)
   Le hero-wrapper avait une height fixe + overflow:hidden :
   si le titre/la description dépassent cette hauteur, le bas
   du hero (CTA) est coupé. On passe en min-height pour que
   le hero grandisse avec son contenu, quel que soit le texte
   de la page. Corrige le problème sur tout le site.
   ══════════════════════════════════════════════ */
@media (max-width:1024px){
  .hero-wrapper{height:auto;min-height:calc(100vh - 60px)}

  /* Textes resserrés pour limiter les cas de dépassement */
  .hero-title{font-size:clamp(34px,9vw,52px)}
  .hero-desc{font-size:16px;line-height:1.6;margin-bottom:28px}
  .hero-col-left{padding-top:12vh}
}
@media (max-width:1024px){
  .hero-wrapper{height:calc(100vh - 60px);min-height:0}
  .hero-eyebrow{display:none}
  .hero-col-left{justify-content:flex-start;padding:15vh 24px 24px}
  .hero-desc{margin-bottom:40px}
  .xray-hint{display:none}
  .contact-grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════
   CONSOLIDATION — Hero mobile
   Le bloc juste au-dessus (héritage d'un autre merge) remet
   height fixe + padding-top 15vh, ce qui annule le fix anti-
   troncature et le centrage voulus. On refixe ici en dernier
   pour que ce soit bien cette version qui s'applique.
   On renforce aussi l'assombrissement de l'image du hero sur
   mobile pour que le texte et les boutons ressortent mieux.
   ══════════════════════════════════════════════ */
@media (max-width:1024px){
  .hero-wrapper{height:auto;min-height:calc(100vh - 60px)}
  .hero-col-left{justify-content:center;padding:0 24px}
  .hero-title{font-size:clamp(40px,11vw,64px)}
  .hero-desc{font-size:18px;line-height:1.7;margin-bottom:28px}

  /* Overlay renforcé et plus uniforme sur toute la hauteur du hero */
  .hero-ov{background:linear-gradient(to top,rgba(10,16,24,.9) 0%,rgba(10,16,24,.7) 50%,rgba(10,16,24,.55) 100%)}
}

/* ══ Footer : logo image (remplace le texte GROUPE VEGATEC + sous-titre) ══ */
.footer-logo-img{max-width:200px;width:100%;height:auto;display:block}

/* ══ Pages légales ══ */
.legal-hero{position:relative;min-height:35vh;display:flex;align-items:flex-end;background:linear-gradient(135deg,#0A1828,#111C28);overflow:hidden;flex-shrink:0}
.legal-hero-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--alert),transparent 80%)}
.legal-hero-inner{position:relative;z-index:2;padding:80px 52px 48px;width:100%}
.legal-hero .hero-eyebrow{display:flex}
.legal-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5vw,76px);letter-spacing:2px;line-height:.95;color:#fff;margin:0}
.legal-section{background:#fff}
.legal-content{max-width:860px;margin:0 auto;padding:64px 52px}
.legal-updated{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--alert);margin-bottom:40px;display:flex;align-items:center;gap:8px}
.legal-updated::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--alert);flex-shrink:0}
.legal-content h2{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:#0A1828;margin:40px 0 16px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08)}
.legal-content h2:first-of-type{border-top:none;margin-top:0;padding-top:0}
.legal-content p{font-size:15px;font-weight:300;line-height:1.8;color:#1A2E40;margin-bottom:14px}
.legal-content ul{margin:12px 0 16px 20px;display:flex;flex-direction:column;gap:6px}
.legal-content ul li{font-size:15px;font-weight:300;line-height:1.7;color:#1A2E40}
.legal-content a{color:var(--brand);text-decoration:none;border-bottom:1px solid rgba(9,99,221,.25);transition:color .2s}
.legal-content a:hover{color:#1474f5}
.legal-content strong{font-weight:500;color:#0A1828}
@media(max-width:768px){
  .legal-hero{min-height:28vh}
  .legal-hero-inner{padding:64px 20px 32px}
  .legal-hero .hero-breadcrumb{left:20px}
  .legal-content{padding:40px 20px}
  .legal-content h2{font-size:24px}
}

/* ══ Contraste valeurs — page Contact uniquement ══ */
body.page-template-template-contact-php .contact-info-value{color:#FFFFFF;font-weight:400}
body.page-template-template-contact-php .contact-info-value a{color:#FFFFFF}
body.page-template-template-contact-php .contact-info-value a:hover{color:var(--alert)}