/* ══════════════════ CV ══════════════════ */
.cv-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.cv-sidebar{display:flex;flex-direction:column;gap:.9rem;position:sticky;top:100px}
.cv-ava{
  width:68px;height:68px;border-radius:20px;
  background:linear-gradient(135deg,var(--accent),var(--accent3));
  display:grid;place-items:center;
  font-family:var(--display);font-size:1.5rem;font-weight:900;color:#fff;
  box-shadow:0 8px 32px var(--glow);
}
.cv-name{font-family:var(--display);font-size:1.4rem;font-weight:900;letter-spacing:-.4px;line-height:1.1}
.cv-name span{color:var(--accent)}
.cv-age{font-family:var(--mono);font-size:.63rem;color:var(--muted);margin-top:.2rem}
.cv-blk{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.15rem}
.cv-bt{font-family:var(--mono);font-size:.58rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:.8rem}
.cv-cr{display:flex;align-items:center;gap:.5rem;font-size:.74rem;color:var(--text);padding:.28rem 0}
.cv-cr:not(:last-child){border-bottom:1px solid var(--border)}
.cv-cr-b{font-family:var(--mono);font-size:.52rem;font-weight:700;color:var(--accent);background:var(--glow2);border:1px solid var(--border-hi);border-radius:4px;padding:.12rem .35rem;min-width:26px;text-align:center;line-height:1.7;display:inline-block;flex-shrink:0}
.cv-sk{display:flex;flex-direction:column;gap:.25rem;padding:.3rem 0}
.cv-sk:not(:last-child){border-bottom:1px solid var(--border)}
.cv-sk-n{font-size:.74rem;color:var(--white);font-weight:600}
.cv-sk-s{font-size:.67rem;color:var(--muted);line-height:1.55;margin-top:.06rem}
.cv-lr{display:flex;align-items:center;justify-content:space-between;padding:.28rem 0;font-size:.74rem}
.cv-lr:not(:last-child){border-bottom:1px solid var(--border)}
.cv-lr-n{color:var(--text)}
.cv-lr-l{font-family:var(--mono);font-size:.6rem;color:var(--accent);background:var(--glow2);border:1px solid var(--border);border-radius:4px;padding:.12rem .5rem}
.cv-main{display:flex;flex-direction:column;gap:1.1rem}
.cv-sec{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:1.3rem 1.5rem;
  transition:border-color .2s,box-shadow .2s;
}
.cv-sec:hover{border-color:var(--border-hi);box-shadow:var(--card-shadow)}
.cv-st{font-family:var(--display);font-size:.82rem;font-weight:800;color:var(--white);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.cv-st::before{content:"";width:3px;height:13px;background:linear-gradient(var(--accent),var(--accent3));border-radius:2px;flex-shrink:0}
.cv-en{display:flex;gap:.85rem;padding:.55rem 0;align-items:flex-start}
.cv-en:not(:last-child){border-bottom:1px solid var(--border)}
.cv-ey{font-family:var(--mono);font-size:.62rem;color:var(--accent);min-width:75px;padding-top:.12rem;line-height:1.4}
.cv-eb{flex:1}
.cv-et{font-size:.83rem;font-weight:600;color:var(--white);line-height:1.4}
.cv-es{font-size:.72rem;color:var(--muted);margin-top:.15rem;line-height:1.55}
.cv-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.4rem}
.cv-tag{font-family:var(--mono);font-size:.58rem;color:var(--text);background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:.1rem .48rem;transition:.15s}
.cv-tag:hover{border-color:var(--border-hi);color:var(--accent)}
.cv-profile{font-size:.83rem;color:var(--text);line-height:1.92}
.cv-profile strong{color:var(--white);font-weight:600}
[data-theme="light"] .cv-profile strong{color:var(--accent)}

/* ══════════════════ PARCOURS ══════════════════ */
.parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:2rem}
.pcard{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.4rem;transition:border-color .2s,box-shadow .2s}
.pcard:hover{border-color:var(--border-hi);box-shadow:var(--card-shadow)}
.pcard-t{font-family:var(--display);font-size:.9rem;font-weight:800;color:var(--white);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.pline{display:flex;gap:.85rem;padding:.55rem 0;border-bottom:1px solid var(--border);align-items:flex-start}
.pline:last-child{border-bottom:none}
.pline-y{font-family:var(--mono);font-size:.63rem;color:var(--accent);min-width:70px;padding-top:.08rem;line-height:1.4}
.pline-i{font-size:.8rem;color:var(--text);line-height:1.62}
.pline-i strong{color:var(--white);font-weight:600}
[data-theme="light"] .pline-i strong{color:var(--accent3)}
.ep-banner{
  background:var(--bg2);border:1px solid var(--border-hi);
  border-radius:var(--r-lg);padding:1.7rem 2rem;margin-bottom:2rem;
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  position:relative;overflow:hidden;
}
.ep-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent3),var(--accent),transparent)}
.ep-t{font-family:var(--display);font-size:.9rem;font-weight:900;color:var(--accent);margin-bottom:.45rem}
.ep-d{font-size:.81rem;color:var(--text);line-height:1.8}
.ep-d strong{color:var(--white)}
[data-theme="light"] .ep-d strong{color:var(--accent3)}
.sb-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:2rem;margin-top:2.25rem}
.sb-glbl{font-family:var(--mono);font-size:.6rem;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:.85rem}
.sb-list{display:flex;flex-direction:column;gap:.75rem}
.sb-item{display:flex;flex-direction:column;gap:.28rem}
.sb-top{display:flex;justify-content:space-between;font-size:.72rem}
.sb-n{color:var(--text)}
.sb-p{font-family:var(--mono);font-size:.64rem;color:var(--muted)}
.sb-track{height:3px;background:var(--bg4);border-radius:3px;overflow:hidden;margin-top:.1rem}
.sb-fill{height:100%;background:linear-gradient(90deg,var(--accent3),var(--accent));border-radius:3px;width:0;transition:width 1.3s cubic-bezier(.4,0,.2,1)}

/* ══════════════════ COMPÉTENCES PDF ══════════════════ */
.comp-pdf-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:.95rem 1.15rem}
.comp-pdf-label{font-family:var(--mono);font-size:.68rem;color:var(--white);display:flex;align-items:center;gap:.6rem}
.comp-pdf-label::before{content:"";width:3px;height:14px;background:linear-gradient(var(--accent),var(--accent3));border-radius:2px;flex-shrink:0}
.comp-pdf-btns{display:flex;gap:.5rem;flex-shrink:0}
.print-mat-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--glow2);color:var(--accent);border:1px solid var(--border-hi);border-radius:var(--r);font-family:var(--mono);font-size:.65rem;cursor:pointer;transition:.2s}
.print-mat-btn:hover{background:var(--glow);transform:translateY(-1px)}
.comp-pdf-frame{width:100%;height:720px;border:1px solid var(--border);border-radius:var(--r-lg);display:block;background:var(--bg2)}
.comp-pdf-note{font-family:var(--mono);font-size:.58rem;color:var(--muted);text-align:center;margin-top:.65rem;opacity:.5}