/* ══════════════════ PROJETS ══════════════════ */
.bloc-hd{display:flex;align-items:center;gap:.85rem;padding:.65rem 0;margin-bottom:1.15rem;border-bottom:1px solid var(--border)}
.bloc-pill{font-family:var(--display);font-size:.68rem;font-weight:800;border-radius:6px;padding:.24rem .65rem;letter-spacing:.2px}
.bp1{background:rgba(124,111,255,.1);color:var(--accent);border:1px solid rgba(124,111,255,.22)}
.bp2{background:rgba(251,191,36,.08);color:var(--amber);border:1px solid rgba(251,191,36,.2)}
.bp3{background:rgba(248,113,113,.08);color:var(--red);border:1px solid rgba(248,113,113,.2)}
[data-theme="light"] .bp1{background:rgba(217,95,26,.1);color:var(--accent);border-color:rgba(217,95,26,.25)}
[data-theme="light"] .bp2{background:rgba(200,120,0,.1);color:var(--amber);border-color:rgba(200,120,0,.25)}
[data-theme="light"] .bp3{background:rgba(220,53,69,.1);color:var(--red);border-color:rgba(220,53,69,.25)}
.bloc-nm{font-size:.85rem;font-weight:500;color:var(--text)}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:1px;background:var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:2.5rem}
.pj{
  background:var(--bg2);padding:1.15rem;
  display:flex;flex-direction:column;gap:.35rem;
  transition:background .15s;position:relative;
}
.pj:hover{background:var(--bg3)}
.pj:hover .pj-arr{opacity:1;transform:translate(0,0)}
.pj-em{font-size:1.1rem;margin-bottom:.1rem}
.pj-n{font-family:var(--display);font-size:.8rem;font-weight:800;color:var(--white);line-height:1.3}
.pj-d{font-size:.7rem;color:var(--muted);line-height:1.55;flex:1}
.pj-ft{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}
.pj-tag{font-family:var(--mono);font-size:.6rem;color:var(--accent);letter-spacing:.5px;text-transform:uppercase}
.pj-arr{font-size:.68rem;color:var(--accent);opacity:0;transform:translate(-5px,5px);transition:.18s}

/* ══════════════════ STAGE ══════════════════ */
.stage-lay{display:grid;grid-template-columns:1fr 300px;gap:1.35rem;align-items:start}
.stage-main{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:2.2rem;position:relative;overflow:hidden;transition:border-color .3s}
.stage-main:hover{border-color:var(--border-hi)}
.stage-main::after{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,var(--glow2) 0%,transparent 70%);pointer-events:none}
.stage-org{font-family:var(--mono);font-size:.63rem;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.65rem}
.stage-title{font-family:var(--display);font-size:1.38rem;font-weight:900;letter-spacing:-.4px;line-height:1.22;margin-bottom:.75rem;color:var(--white)}
.status-pill{display:inline-flex;align-items:center;gap:.45rem;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.22);border-radius:999px;padding:.28rem .85rem;font-family:var(--mono);font-size:.62rem;color:var(--green);margin-bottom:1.25rem}
[data-theme="light"] .status-pill{background:rgba(13,158,106,.07);border-color:rgba(13,158,106,.25)}
.status-pill .spd{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 7px var(--green);animation:pulse 1.8s infinite}
.stage-body{font-size:.84rem;color:var(--text);line-height:1.95;margin-bottom:1.4rem}
.stage-body strong{color:var(--white)}
.tpills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.65rem}
.tp{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:.22rem .65rem;font-family:var(--mono);font-size:.65rem;color:var(--text);transition:.15s}
.tp:hover{border-color:var(--border-hi);color:var(--accent)}
.miss-t{font-family:var(--mono);font-size:.6rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:.85rem}
.miss{display:flex;gap:.85rem;padding:.58rem 0;border-bottom:1px solid var(--border);align-items:flex-start}
.miss:last-child{border-bottom:none}
.miss-n{font-family:var(--mono);font-size:.62rem;color:var(--accent);min-width:20px;padding-top:.08rem}
.miss-t2{font-size:.8rem;color:var(--text);line-height:1.65}
.miss-t2 strong{color:var(--white);font-weight:600}
[data-theme="light"] .miss-t2 strong{color:var(--accent3)}
.stage-side{display:flex;flex-direction:column;gap:.6rem}
.sf{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.15rem;transition:.18s}
.sf:hover{border-color:var(--border-hi)}
.sf-l{font-family:var(--mono);font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.3rem}
.sf-v{font-size:.82rem;font-weight:500;color:var(--white);line-height:1.5}
.sf-sps{background:var(--glow2);border-color:var(--border-hi)}
.sf-sps .sf-l{color:var(--accent)}
.sf-sps .sf-v{font-size:.74rem;color:var(--text);font-weight:400;line-height:1.7}
.sf-ok{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.04)}
.sf-ok .sf-v{color:var(--green)}
.stage-docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.5rem}
.doc-row{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.15rem;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);gap:1rem;transition:border-color .2s}
.doc-row:hover{border-color:var(--border-hi)}
.doc-name{font-family:var(--mono);font-size:.76rem;color:var(--white)}
.doc-actions{display:flex;gap:.5rem;flex-shrink:0}

/* ══════════════════ CERTIFICATIONS ══════════════════ */
.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.6rem}
.cert{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r);padding:.92rem 1.1rem;
  display:flex;align-items:center;justify-content:space-between;gap:.95rem;
  transition:all .2s;
}
.cert:hover{border-color:var(--border-hi);transform:translateY(-2px);box-shadow:var(--card-shadow)}
.cert-l{display:flex;align-items:center;gap:.8rem}
.cert-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-family:var(--mono);font-size:.55rem;font-weight:800;letter-spacing:.2px;flex-shrink:0}
.ic-cisco{background:rgba(0,112,210,.12);border:1px solid rgba(0,112,210,.22);color:#60A5FA}
.ic-pix{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.22);color:var(--purple)}
.ic-rgpd{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.2);color:var(--green)}
[data-theme="light"] .ic-cisco{background:rgba(0,80,180,.08);border-color:rgba(0,80,180,.18);color:#2563EB}
[data-theme="light"] .ic-rgpd{background:rgba(13,158,106,.08);border-color:rgba(13,158,106,.2);color:var(--green)}
.cert-name{font-size:.78rem;font-weight:600;color:var(--white);line-height:1.4}
.cert-date{font-family:var(--mono);font-size:.62rem;color:var(--muted);margin-top:.1rem}
.cert-lnk{font-family:var(--mono);font-size:.62rem;font-weight:500;color:var(--accent);padding:.24rem .65rem;border:1px solid var(--border);border-radius:5px;white-space:nowrap;transition:.2s;flex-shrink:0}
.cert-lnk:hover{background:var(--glow2);border-color:var(--border-hi)}

/* ══════════════════ GLOSSAIRE ══════════════════ */
.g-sw{margin-bottom:1.75rem;position:relative;max-width:420px}
.g-sw svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);width:14px;height:14px}
.g-s{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:.65rem .9rem .65rem 2.4rem;color:var(--white);font-family:var(--sans);font-size:.83rem;outline:none;transition:.2s}
.g-s:focus{border-color:var(--border-hi);box-shadow:0 0 0 3px var(--glow2)}
.g-s::placeholder{color:var(--muted)}
.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:.5rem}
.g-card{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r);padding:.88rem 1rem;
  transition:.2s;position:relative;overflow:hidden;
}
.g-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:0;transition:.2s}
.g-card:hover{border-color:var(--border-hi);transform:translateY(-1px);box-shadow:var(--card-shadow)}
.g-card:hover::before{opacity:1}
.g-cat{font-family:var(--mono);font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.22rem;opacity:.75}
.g-term{font-family:var(--display);font-size:.8rem;font-weight:800;color:var(--accent);margin-bottom:.28rem}
.g-def{font-size:.72rem;color:var(--muted);line-height:1.65}