:root{--bg:#f7f9fc;--white:#fff;--ink:#0b1420;--muted:#667386;--dark:#091321;--line:#e4e9f0;--blue:#2678ff;--blue2:#1558d6;--max:1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7}a{text-decoration:none;color:inherit}.header{position:fixed;z-index:30;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.logo{font-weight:800;letter-spacing:-.04em}.logo span{color:var(--blue)}nav{display:flex;gap:24px}nav a{font-size:12px;font-weight:600;color:#687587}nav a:hover{color:var(--blue)}.menu-btn{display:none;background:none;border:0;font-size:24px}.hero{padding:150px 22px 100px;background:#fff;overflow:hidden}.hero-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.kicker{font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--blue);margin-bottom:14px}.hero h1{font-size:clamp(58px,8vw,96px);line-height:.94;letter-spacing:-.065em}.hero h1 span{color:var(--blue)}.subtitle{font-size:21px;font-weight:600;margin:24px 0 8px}.intro{color:var(--muted);max-width:620px;font-size:15px}.actions{display:flex;gap:10px;margin:28px 0}.btn{display:inline-block;background:var(--blue);color:#fff;border:1px solid var(--blue);padding:11px 17px;border-radius:7px;font-size:12px;font-weight:700}.btn.outline{background:#fff;color:var(--ink);border-color:var(--line)}.quick-links{display:flex;gap:22px;font-size:11px;font-weight:700;color:#708096}.quick-links a:hover{color:var(--blue)}.hero-art{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center}.orb{position:absolute;width:360px;height:360px;border-radius:50%;background:linear-gradient(135deg,rgba(38,120,255,.16),rgba(21,88,214,.03));filter:blur(1px)}.terminal{position:relative;width:min(100%,430px);background:#07101c;color:#b9c8d9;border-radius:13px;box-shadow:0 28px 70px rgba(8,22,40,.2);overflow:hidden}.terminal-top{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.08);font:11px monospace;color:#718198}.terminal-top i{width:8px;height:8px;background:#5d6b7d;border-radius:50%}.terminal-top span{margin-left:8px}.terminal pre{padding:25px;font:12px/2 monospace}.terminal pre span{color:#fff}.section{max-width:var(--max);margin:auto;padding:105px 22px}.section.dark{max-width:none;background:var(--dark);color:#edf4fb;padding-left:max(22px,calc((100vw - var(--max))/2));padding-right:max(22px,calc((100vw - var(--max))/2))}.section-title{max-width:760px;margin-bottom:42px}.section-title h2{font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-.055em;margin-bottom:11px}.section-title>p:last-child{color:var(--muted);font-size:14px}.dark .section-title>p:last-child{color:#94a6ba}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.big-text{font-size:21px;line-height:1.55;margin-bottom:20px}.about-grid p:not(.big-text){color:var(--muted);font-size:14px;margin-bottom:12px}.profile-card{border:1px solid var(--line);background:#fff;border-radius:12px}.profile-card div{padding:18px;border-bottom:1px solid var(--line)}.profile-card div:last-child{border:0}.profile-card small,.contact-grid small{display:block;color:#8492a4;font-size:9px;letter-spacing:.15em;font-weight:800}.profile-card strong{font-size:13px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skill-grid article{padding:25px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025);transition:.2s}.skill-grid article:hover{border-color:rgba(38,120,255,.45);transform:translateY(-3px)}.skill-icon{font-size:23px;color:#62a1ff}.skill-grid h3{margin:12px 0 5px;font-size:17px}.skill-grid p{font-size:12px;color:#91a3b8;margin-bottom:16px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:9px;color:#7f8ea0;border:1px solid var(--line);padding:4px 7px;border-radius:99px;background:#fff}.dark .tags span{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.09);color:#aebed0}.timeline{position:relative;margin-left:8px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:#dbe2ea}.timeline-item{position:relative;padding-left:40px;margin-bottom:20px}.timeline-dot{position:absolute;left:1px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--blue);border:3px solid var(--bg);box-shadow:0 0 0 4px rgba(38,120,255,.1)}.timeline-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:25px}.timeline-card small,.project-main>small{font-size:9px;letter-spacing:.15em;font-weight:800;color:var(--blue)}.timeline-card h3{font-size:21px;margin:6px 0}.timeline-card p{font-size:13px;color:var(--muted)}.confidential,.notice,.warning{margin-top:18px;border-left:3px solid var(--blue);background:#eef5ff;padding:13px 16px;color:#5d6d80;font-size:11px}.project{display:grid;grid-template-columns:76px 1fr;border:1px solid rgba(255,255,255,.09);border-radius:12px;margin-bottom:14px;background:rgba(255,255,255,.025);overflow:hidden}.project-index{display:flex;justify-content:center;padding-top:28px;color:#52647a;font-weight:800}.project-main{padding:27px;border-left:1px solid rgba(255,255,255,.09)}.project-main h3{font-size:24px;margin:5px 0}.project-main>p{font-size:13px;color:#95a7bb;max-width:800px}.project-btn{border:0;background:none;color:#65a4ff;font:700 11px Inter;cursor:pointer;margin-top:15px}.project-details{display:none;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.project-details.open{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-details h4{font-size:11px;margin-bottom:4px}.project-details p,.project-details li{font-size:11px;color:#91a3b7}.project-details ol{padding-left:17px}.competencies{display:flex;flex-wrap:wrap;gap:6px}.competencies span{font-size:9px;border:1px solid rgba(255,255,255,.1);padding:5px 7px;border-radius:7px;color:#aec0d4}.muted-project{opacity:.65}.veille-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.veille-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:28px}.veille-grid article>span{font-size:10px;color:var(--blue);font-weight:800}.veille-grid h3{font-size:21px;margin:7px 0}.veille-grid p{font-size:13px;color:var(--muted);margin-bottom:17px}.e5-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.e5-grid article{padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:11px}.e5-grid b{font-size:10px;color:#67a5ff}.e5-grid h3{font-size:15px;margin:6px 0}.e5-grid p{font-size:11px;color:#91a3b7}.table-wrap{overflow:auto;margin-top:28px;border:1px solid rgba(255,255,255,.08);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:800px}th,td{text-align:left;padding:11px;border-bottom:1px solid rgba(255,255,255,.07);font-size:10px}th{color:#afc0d2;background:rgba(255,255,255,.03)}td{color:#879aaf}.warning{color:#a6b7c8;background:rgba(255,255,255,.03);border-left-color:#d1a84d}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-grid div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:21px}.contact-grid strong{font-size:13px;word-break:break-word}footer{padding:30px max(22px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;border-top:1px solid var(--line);background:#fff;color:#728196;font-size:10px}
@media(max-width:850px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:18px 22px;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-btn{display:block}.hero-inner,.about-grid{grid-template-columns:1fr}.hero-art{display:none}.skill-grid,.e5-grid{grid-template-columns:1fr 1fr}.project-details.open{grid-template-columns:1fr}.contact-grid,.veille-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:12px}}@media(max-width:560px){.skill-grid,.e5-grid{grid-template-columns:1fr}.hero h1{font-size:57px}.section{padding-top:75px;padding-bottom:75px}.project{grid-template-columns:48px 1fr}.project-main{padding:20px}}

/* --- Personalisation Yacine --- */
.profile-card > div span { display:block; margin-top:6px; color:var(--muted); font-size:.82rem; line-height:1.45; }
.project-details { overflow:hidden; }
.project-details h4 { margin-bottom:8px; }
.project-details ol { margin:0; padding-left:20px; }
.project-details li { margin-bottom:7px; }
.evidence img { display:block; width:100%; max-width:1000px; margin-top:16px; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:#fff; }
.contact-grid a { color:inherit; text-decoration:none; }
.contact-grid a:hover { text-decoration:underline; }
.muted-project { opacity:.92; }
.muted-project .project-main > p { max-width:900px; }
