*{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#1473ff;--blue2:#0a52c7;--ink:#07111f;--muted:#64748b;--line:#e5edf7;--soft:#f5f8fc;--white:#fff;--radius:22px}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.navbar{height:78px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,237,247,.8);z-index:100}
.brand{display:flex;align-items:center;gap:11px;font-family:"Space Grotesk";font-size:18px;font-weight:700}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--blue);color:white;font-size:12px;box-shadow:0 8px 22px #1473ff33}.brand-dot{color:var(--blue)}
.nav-links{display:flex;gap:30px;font-size:13px;font-weight:600;color:#64748b}.nav-links a{transition:.25s}.nav-links a:hover,.nav-links a.active{color:var(--blue)}
.menu-toggle{display:none;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.section{padding:120px 7%;position:relative}.hero{min-height:100vh;padding-top:150px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;overflow:hidden;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#dce8f7 1px,transparent 1px),linear-gradient(90deg,#dce8f7 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(to bottom,black,transparent 78%);opacity:.38}
.hero-content,.hero-visual{position:relative;z-index:1}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--blue)}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:23px}.pulse{width:8px;height:8px;background:#25c77a;border-radius:50%;box-shadow:0 0 0 5px #25c77a18}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.08}h1{font-size:clamp(48px,6vw,84px);letter-spacing:-4px;max-width:820px}h1 span,h2 em{color:var(--blue);font-style:normal}.hero-text{max-width:660px;color:var(--muted);font-size:16px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:18px;padding:14px 20px;border-radius:12px;font-weight:700;font-size:13px;transition:.25s}.btn span{font-size:18px}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 14px 30px #1473ff30}.btn-primary:hover{transform:translateY(-3px);background:var(--blue2)}.btn-secondary{border:1px solid #dbe5f1;background:#fff}.btn-secondary:hover{border-color:#a8c7f7;transform:translateY(-3px)}
.hero-meta{display:flex;gap:35px;margin-top:55px}.hero-meta div{display:flex;gap:10px;align-items:center}.hero-meta strong{font:700 25px "Space Grotesk";color:var(--ink)}.hero-meta span{font-size:10px;color:#8290a3;line-height:1.35;text-transform:uppercase;letter-spacing:.8px}
.hero-visual{min-height:500px;display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:370px;height:370px;background:#1473ff10;border:1px solid #1473ff20}.orb-two{width:230px;height:230px;background:#1473ff0b;border:1px solid #1473ff18}
.code-card{width:min(510px,100%);background:#07111f;color:#d8e7fb;border-radius:20px;box-shadow:0 30px 80px #07111f25;overflow:hidden;transform:rotate(2deg);position:relative}.window-bar{height:43px;border-bottom:1px solid #ffffff0d;display:flex;align-items:center;padding:0 16px;gap:7px;color:#718198;font-size:10px}.window-bar i{width:7px;height:7px;border-radius:50%;background:#334155}.window-bar span{margin-left:8px}.code-card pre{padding:27px 30px 20px;overflow:auto;font:13px/1.8 "SFMono-Regular",Consolas,monospace}.code-key{color:#79aaff}.code-var{color:#e5f0ff}.code-prop{color:#8eb8ff}.code-string{color:#7fe0bd}.code-status{border-top:1px solid #ffffff0d;padding:13px 20px;font-size:10px;color:#8090a5}.code-status span{display:inline-block;width:6px;height:6px;background:#36d399;border-radius:50%;margin-right:7px}
.section-heading{display:flex;gap:35px;align-items:flex-start;margin-bottom:70px}.section-number{font:600 12px "Space Grotesk";color:#a1aec0;padding-top:6px}.section-heading h2{font-size:clamp(38px,4vw,60px);letter-spacing:-2.5px;margin-top:10px}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.about-copy .lead{font-size:22px;line-height:1.45;font-weight:600;margin-bottom:25px}.about-copy p:not(.lead){color:var(--muted);font-size:14px;margin-bottom:16px}.text-link{display:inline-flex;gap:15px;color:var(--blue);font-weight:700;font-size:13px;margin-top:15px}.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.info-card{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff;transition:.3s}.info-card:hover{transform:translateY(-5px);border-color:#b9d3fa;box-shadow:0 18px 40px #0b3d7c0b}.card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5ff;color:var(--blue);font-weight:800;margin-bottom:22px}.info-card h3{font-size:18px;margin-bottom:8px}.info-card p{font-size:12px;color:var(--muted)}
.skills-section{background:var(--soft)}.skills-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skill-main{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;min-height:230px}.skill-top{display:flex;justify-content:space-between;font:700 17px "Space Grotesk";margin-bottom:18px}.skill-top b{font-size:11px;color:#a4b0c0}.skill-main p{font-size:13px;color:var(--muted);max-width:330px}.skill-tags,.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.skill-tags span,.project-tags span{font-size:10px;font-weight:700;color:#5c6d82;background:#f1f5f9;padding:6px 9px;border-radius:7px}.tech-strip{display:flex;align-items:center;gap:40px;margin-top:65px;padding-top:25px;border-top:1px solid #dce5ef}.tech-strip>span{font-size:9px;font-weight:800;color:#94a3b8;letter-spacing:1.5px}.tech-list{display:flex;gap:35px;flex-wrap:wrap;color:#8391a4;font-size:12px}
.projects{background:#fff}.project-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:18px;align-items:start}.project-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.3s}.project-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px #0b3d7c0e}.project-visual{height:275px;position:relative;overflow:hidden;padding:22px}.blue-visual{background:linear-gradient(135deg,#0b57cf,#2090ff);color:#fff}.dark-visual{background:#07111f;color:#fff}.light-visual{background:#eef5fd;color:#0a3d80}.project-label{font-size:9px;letter-spacing:1.5px;font-weight:800;opacity:.7}.project-logo{position:absolute;left:30px;bottom:32px;font:700 34px "Space Grotesk";letter-spacing:-2px}.project-logo span{opacity:.65}.visual-lines{position:absolute;width:330px;height:330px;border:1px solid #ffffff30;border-radius:50%;right:-100px;bottom:-170px}.visual-lines:after{content:"";position:absolute;inset:30px;border:1px solid #ffffff20;border-radius:50%}.power-title{position:absolute;left:30px;bottom:28px;font:700 34px/0.92 "Space Grotesk";letter-spacing:-2px}.power-title strong{color:#79aaff}.mini-orb{position:absolute;width:160px;height:160px;border-radius:50%;right:-35px;top:45px;border:1px solid #ffffff18;box-shadow:inset 0 0 45px #1473ff18}.discord-ui{position:absolute;left:30px;bottom:27px;display:flex;flex-direction:column;width:calc(100% - 60px);font-size:11px}.discord-ui b{font-size:21px;font-family:"Space Grotesk"}.discord-ui span{color:#24ad70;font-size:9px;font-weight:800;margin-top:3px}.discord-ui hr{width:100%;border:0;border-top:1px solid #c9d9ec;margin:15px 0 8px}.discord-ui i{font-style:normal;color:#6b7d91;margin-top:4px}.project-body{padding:23px}.project-title{display:flex;justify-content:space-between;align-items:center}.project-title h3{font-size:21px}.project-title span{font-size:18px;color:#8ca0b7}.project-body p{font-size:12px;color:var(--muted);margin-top:10px}.project-featured .project-visual{height:330px}.project-featured .project-body{padding:28px}
.timeline-section{background:var(--soft)}.timeline{max-width:930px;margin:0 auto}.timeline-item{display:grid;grid-template-columns:180px 25px 1fr;gap:25px;min-height:145px;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:192px;top:16px;bottom:-5px;width:1px;background:#d9e4f0}.timeline-date{font-size:10px;font-weight:800;letter-spacing:1px;color:#8b9aac;padding-top:4px;text-align:right}.timeline-dot{width:11px;height:11px;border:3px solid #fff;background:#a9b8c9;border-radius:50%;box-shadow:0 0 0 1px #d3dfeb;z-index:2;margin-top:2px}.timeline-item.current .timeline-dot{background:var(--blue);box-shadow:0 0 0 5px #1473ff18}.timeline-content{padding-bottom:45px}.timeline-content>span{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:1.5px}.timeline-content h3{font-size:25px;margin:7px 0 8px}.timeline-content p{font-size:13px;color:var(--muted);max-width:620px}
.quote-section{padding-top:80px;padding-bottom:80px}.quote-card{border:1px solid var(--line);border-radius:25px;padding:65px;text-align:center;background:linear-gradient(145deg,#f8fbff,#fff)}.quote-mark{font:700 60px Georgia;color:#bdd7fa;line-height:.5}.quote-card blockquote{font:600 clamp(30px,4vw,52px)/1.1 "Space Grotesk";letter-spacing:-2px;margin:22px 0}.quote-card blockquote em{font-style:normal;color:var(--blue)}.quote-line{display:block;width:35px;height:2px;background:var(--blue);margin:25px auto 13px}.quote-card p{font-size:10px;letter-spacing:1.5px;color:#8c9aac;text-transform:uppercase;font-weight:700}
.contact{padding-top:40px}.contact-card{background:linear-gradient(120deg,#0a52c7,#147dff);color:#fff;border-radius:25px;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:0 25px 60px #1473ff25}.contact-card .section-kicker{color:#b8d5ff}.contact-card h2{font-size:clamp(35px,4vw,55px);letter-spacing:-2px;margin:10px 0 16px}.contact-card h2 em{color:#fff}.contact-card p{font-size:13px;color:#d7e8ff;max-width:600px}.btn-light{background:#fff;color:#0b59cc;white-space:nowrap}.btn-light:hover{transform:translateY(-3px)}
footer{margin-top:30px;padding:28px 7%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8a98a9;font-size:10px}.footer-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}.footer-brand .brand-mark{width:27px;height:27px;border-radius:8px;font-size:9px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;width:250px;height:250px;border-radius:50%;pointer-events:none;background:#1473ff08;filter:blur(20px);transform:translate(-50%,-50%);z-index:0}
@media(max-width:900px){.nav-links{gap:17px}.hero{grid-template-columns:1fr;padding-top:130px}.hero-visual{min-height:380px}.about-grid{grid-template-columns:1fr;gap:50px}.skills-layout{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.project-featured{grid-column:1/-1}.timeline-item{grid-template-columns:120px 25px 1fr}.timeline-item:not(:last-child):after{left:132px}.contact-card{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.navbar{height:68px;padding:0 5%}.menu-toggle{display:block}.nav-links{position:absolute;top:68px;left:0;right:0;padding:20px 6%;display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #07111f0c}.nav-links.open{display:flex}.section{padding:85px 5%}.hero{padding-top:110px}.hero h1{font-size:48px;letter-spacing:-3px}.hero-meta{gap:20px;flex-wrap:wrap}.hero-visual{min-height:300px}.code-card{transform:none}.code-card pre{font-size:10px;padding:20px}.section-heading{gap:18px;margin-bottom:45px}.section-heading h2{font-size:40px}.about-cards{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.project-featured .project-visual,.project-visual{height:250px}.timeline-item{grid-template-columns:1fr;gap:8px;padding-left:25px;border-left:1px solid #d9e4f0}.timeline-item:not(:last-child):after{display:none}.timeline-dot{position:absolute;left:-6px;top:2px}.timeline-date{text-align:left}.quote-card{padding:45px 25px}.contact-card{padding:40px 25px}footer{padding:25px 5%;flex-wrap:wrap;gap:15px}.tech-strip{align-items:flex-start;flex-direction:column;gap:20px}}

/* Multi-page navigation */
.page-enter{animation:pageEnter .45s ease both}
@keyframes pageEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nav-links a.active{color:var(--blue)}
.page-header{padding-top:150px;padding-bottom:70px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);position:relative;overflow:hidden}
.page-header:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#dce8f7 1px,transparent 1px),linear-gradient(90deg,#dce8f7 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(to bottom,black,transparent 85%);opacity:.32}
.page-header>*{position:relative}
.page-header h1{font-size:clamp(45px,6vw,72px);letter-spacing:-3px;margin-top:12px}
.page-header p{max-width:650px;color:var(--muted);font-size:15px;margin-top:20px}
@media(max-width:650px){.page-header{padding-top:120px;padding-bottom:50px}.page-header h1{font-size:46px}}

/* Portfolio background */
body{
  background:#f7faff url("developer-bg.svg") center top/cover fixed no-repeat;
}
body:before{
  content:"";position:fixed;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(247,250,255,.96),rgba(247,250,255,.88));
  pointer-events:none;
}
main{position:relative}
.page-header{background:linear-gradient(180deg,rgba(248,251,255,.82),rgba(255,255,255,.76))}
.section{background:rgba(255,255,255,.72)}
.about,.projects,.quote-section,.contact{background:rgba(255,255,255,.72)}
.skills-section,.timeline-section{background:rgba(245,248,252,.72)}
.project-visual.blue-visual{background:linear-gradient(135deg,#071d3b,#1473ff)}

/* Stages */
.stages-section{background:rgba(245,248,252,.72)}
.stage-intro{max-width:820px;margin-bottom:55px}
.stage-intro h2{font-size:clamp(35px,4vw,56px);letter-spacing:-2px;margin:12px 0 16px}
.stage-intro h2 em{color:var(--blue);font-style:normal}
.stage-intro p{max-width:700px;color:var(--muted);font-size:14px}
.empty-state{max-width:850px;margin:0 auto;border:1px dashed #c8d8eb;border-radius:24px;padding:65px 45px;text-align:center;background:rgba(255,255,255,.82)}
.empty-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 22px;border-radius:16px;background:#edf5ff;color:var(--blue);font:700 27px "Space Grotesk"}
.empty-state>span{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--blue)}
.empty-state h3{font-size:28px;margin:10px 0}
.empty-state p{max-width:600px;margin:auto;color:var(--muted);font-size:13px}

/* Veille techno */
.veille-section{background:rgba(255,255,255,.72)}
.veille-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:stretch}
.veille-topic,.veille-question{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.9);padding:35px}
.topic-icon{font-size:42px;margin:18px 0 10px}
.veille-topic h2{font-size:clamp(30px,3.5vw,48px);letter-spacing:-2px;max-width:850px}
.veille-topic h2 em{font-style:normal;color:var(--blue)}
.veille-topic>p:not(.problematic){max-width:850px;color:var(--muted);font-size:14px;margin-top:20px}
.problematic{font-size:15px;margin-top:18px}
.problematic strong{color:var(--blue)}
.topic-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.topic-points span{font-size:10px;font-weight:700;color:#5c6d82;background:#f1f5f9;padding:7px 10px;border-radius:8px}
.veille-question{background:#07111f;color:#fff;border-color:#07111f}
.veille-question .section-kicker{color:#8eb8ff}
.veille-question h3{font-size:25px;margin:13px 0 20px}
.veille-question ul{padding-left:19px;color:#b8c8dc;font-size:13px}
.veille-question li{margin:11px 0}
.articles-section{background:rgba(245,248,252,.72)}
.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.article-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:rgba(255,255,255,.92);transition:.3s}
.article-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #0b3d7c0c}
.article-meta{display:flex;justify-content:space-between;gap:15px;font-size:9px;font-weight:800;letter-spacing:1.1px;color:#94a3b8}
.article-meta b{color:var(--blue)}
.article-card h3{font-size:25px;line-height:1.12;margin:24px 0 12px}
.article-card p{color:var(--muted);font-size:13px}
.article-card .text-link{margin-top:22px}
.veille-summary-section{padding-top:80px;padding-bottom:90px}
.summary-card{border-radius:25px;padding:55px;background:linear-gradient(145deg,#f8fbff,#fff);border:1px solid var(--line);text-align:center}
.summary-card h2{font-size:clamp(30px,4vw,50px);letter-spacing:-2px;max-width:850px;margin:13px auto 18px}
.summary-card p{max-width:800px;margin:auto;color:var(--muted);font-size:14px}

/* Excel */
.excel-section{background:rgba(255,255,255,.72);padding-top:55px}
.excel-card{border:1px solid var(--line);border-radius:24px;padding:40px;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:space-between;gap:30px}
.excel-card h2{font-size:clamp(30px,4vw,48px);letter-spacing:-2px;margin:10px 0}
.excel-card h2 span{color:var(--blue)}
.excel-card p{font-size:13px;color:var(--muted)}
.excel-card .btn{flex-shrink:0}
@media(max-width:900px){.veille-layout{grid-template-columns:1fr}}
@media(max-width:650px){
.article-grid{grid-template-columns:1fr}
.empty-state,.veille-topic,.veille-question,.article-card,.summary-card{padding:28px 22px}
.veille-topic h2{font-size:35px}
.excel-card{align-items:flex-start;flex-direction:column}
}

/* ============================================================
   ÉDITION ML-HOST — identité bleue/cyan, finition 2026.
   Les sections et contenus d'origine sont entièrement conservés.
   ============================================================ */
:root{
  --blue:#298aab;
  --blue2:#17647e;
  --ink:#10263c;
  --muted:#607387;
  --line:#dceaf0;
  --soft:#f1f8fb;
  --radius:22px;
}
body{background:#f5fafc;}
body:before{background:linear-gradient(180deg,rgba(245,250,252,.95),rgba(245,250,252,.92));}
::selection{background:#a9e2ef;color:#10263c}
:focus-visible{outline:3px solid #42a9cc;outline-offset:4px}
.navbar{height:82px;padding:0 clamp(22px,4.8vw,86px);background:rgba(255,255,255,.93);border-bottom:1px solid rgba(31,126,156,.13);box-shadow:0 6px 30px #123e5510}
.brand{font-size:16px;white-space:nowrap;letter-spacing:-.4px}
.brand-mark{background:linear-gradient(135deg,#17647e,#2b9fc5);box-shadow:0 10px 23px #298aab32;border:1px solid #ffffff4a}
.nav-links{gap:clamp(11px,1.55vw,26px);font-size:12px}
.nav-links a{position:relative;padding:13px 0;white-space:nowrap}
.nav-links a:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;border-radius:4px;background:var(--blue);transition:width .24s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-links a:last-child{background:#eaf6fa;color:#17647e;padding:10px 14px;border:1px solid #cce7f0;border-radius:10px}
.nav-links a:last-child:after{display:none}
.nav-links a:last-child:hover{background:#d9eff6}
.hero{background:radial-gradient(circle at 87% 20%,#d7f1f8 0%,transparent 36%),linear-gradient(135deg,#f3fafd,#fff 72%)}
.hero-grid,.page-header:before{background-image:linear-gradient(#298aab12 1px,transparent 1px),linear-gradient(90deg,#298aab12 1px,transparent 1px);opacity:1}
h1,h2,h3{letter-spacing:-.045em}
h1{letter-spacing:-.065em}
h1 span,.section-heading h2 span,.excel-card h2 span{color:var(--blue)}
.eyebrow,.section-kicker{color:var(--blue2)}
.hero-text,.page-header p{line-height:1.85}
.btn-primary{background:linear-gradient(110deg,#176d8c,#2a9bc1);box-shadow:0 15px 35px #1e8caa30}
.btn-primary:hover{background:linear-gradient(110deg,#11546f,#2188ac)}
.btn-secondary{border-color:#cce2ec;background:#ffffffd9}
.btn-secondary:hover{border-color:#298aab}
.hero-meta{padding-top:26px;border-top:1px solid #d7e7ee}
.orb-one{background:#39aed311;border-color:#3ba8c32b}
.orb-two{background:#2b90af14;border-color:#2b90af20}
.code-card{background:linear-gradient(145deg,#0c2236,#102f46);box-shadow:0 36px 90px #0e334033;border:1px solid #376c824c}
.code-key,.code-prop{color:#66c4e7}.code-string{color:#8bdfcc}
.code-status{color:#96b0bf}
.page-header{background:radial-gradient(circle at right top,#dcf3f9,transparent 48%),linear-gradient(#f4fbfd,#fff)}
.section{scroll-margin-top:82px}
.info-card,.skill-main,.project-card,.article-card,.veille-topic,.excel-card{border-color:#dbe9f0;box-shadow:0 10px 35px #12415e08}
.info-card:hover,.project-card:hover,.article-card:hover{border-color:#94ccdd;box-shadow:0 24px 50px #1c6e8c1c}
.card-icon,.empty-icon{background:#e1f4f9;color:#2181a1}
.skill-tags span,.project-tags span,.topic-points span{background:#eaf5f9;color:#316d82}
.project-visual.blue-visual{background:linear-gradient(135deg,#103a55,#298aab 75%,#6ec8e0)}
.project-visual.dark-visual{background:linear-gradient(135deg,#0c2236,#183e56)}
.project-visual.light-visual{background:linear-gradient(135deg,#e4f4f9,#c7e7f0)}
.power-title strong{color:#68c9e6}
.contact-card{background:linear-gradient(115deg,#10435d 0%,#217f9f 64%,#36aacb 100%);box-shadow:0 24px 65px #176d8c31}
.contact-card .section-kicker{color:#b9efff}
.contact-card p{color:#dcf5ff}
.btn-light{color:#17647e}
.veille-question{background:#10283e;border-color:#10283e}
.veille-question .section-kicker{color:#80d1eb}
.summary-card,.quote-card{background:linear-gradient(135deg,#eaf7fb,#fff)}
.timeline-item.current .timeline-dot{box-shadow:0 0 0 5px #298aab20}
footer{background:#ffffffca;border-color:#dceaf0}
@media(max-width:1150px){
  .menu-toggle{display:block;padding:9px;border:1px solid #cfe5ed;border-radius:9px;background:#eff8fb}
  .menu-toggle span{background:#17647e}
  .nav-links{position:absolute;top:82px;left:0;right:0;padding:16px clamp(22px,5vw,75px) 26px;display:none;flex-direction:column;gap:3px;background:#fffffffa;border-bottom:1px solid var(--line);box-shadow:0 24px 35px #0a324218;max-height:calc(100vh - 82px);overflow-y:auto}
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 14px;border-radius:9px}
  .nav-links a:hover,.nav-links a.active{background:#edf8fb}
  .nav-links a:after{display:none}
  .nav-links a:last-child{align-self:flex-start}
}
@media(max-width:650px){
  .navbar{height:68px}
  .nav-links{top:68px;max-height:calc(100vh - 68px)}
  .brand{font-size:14px}
  .hero{padding-top:115px}
  .hero-meta{gap:17px}
  .hero-meta strong{font-size:22px}
  h1{letter-spacing:-.055em}
  .contact-card{padding:36px 24px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* ===== ML-HOST PORTFOLIO 2026 | finition premium ===== */
:root {--blue:#21c5e8;--blue2:#1289b0;--ink:#10243a;--muted:#63758a;--line:#dce8f0;--soft:#f3f8fb}
body {background:#f6fafc;color:var(--ink)}
body:before {display:none}
.navbar {background:rgba(5,22,40,.94);border-color:rgba(80,213,245,.14);height:80px;padding:0 4.5%;box-shadow:0 6px 35px #04152920}
.brand {color:#fff;white-space:nowrap;font-size:16px}
.brand-mark {background:linear-gradient(135deg,#09d9ec,#2188bb);color:#06172b;box-shadow:0 5px 22px #04bfd944}
.nav-links {gap:clamp(10px,1.5vw,26px);color:#a7bfd0}
.nav-links a:hover,.nav-links a.active {color:#4ee5f5}
.nav-links a.active {position:relative}
.nav-links a.active:after {content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:#23d5eb}
.menu-toggle span {background:#ecfaff}
.section {padding-left:7%;padding-right:7%}
.hero {background:linear-gradient(90deg,rgba(3,16,32,.97),rgba(5,25,45,.89) 48%,rgba(5,33,57,.66)),url('../images/datacenter-bg.webp') center/cover no-repeat;min-height:92vh;isolation:isolate;gap:5%;padding-top:155px;padding-bottom:120px}
.hero-grid {background-image:linear-gradient(#00d2ee12 1px,transparent 1px),linear-gradient(90deg,#00d2ee12 1px,transparent 1px);opacity:.24}
.hero h1 {color:#f7fcff;max-width:820px;font-size:clamp(43px,5.25vw,77px)}
.hero h1 span,.page-header h1 span {color:#46dff0}
.hero .eyebrow {color:#92edfa;letter-spacing:1.2px}
.hero .hero-text {color:#c2d2df;line-height:1.85;font-size:15px}
.hero .hero-meta strong {color:#f0fdff}
.hero .hero-meta span {color:#a3bed0}
.hero .btn-secondary {color:#f0fbff;background:#ffffff0d;border-color:#87dbea67}
.hero .btn-secondary:hover {background:#ffffff1c}
.hero .code-card {transform:rotate(1deg);border:1px solid #38d0e74d;background:#071827e8;box-shadow:0 30px 90px #0008}
.hero .orb-one,.hero .orb-two {background:#00d4ec08;border-color:#26e9f322}
.btn-primary {background:linear-gradient(120deg,#22cee5,#1595c9);color:#052035;box-shadow:0 14px 30px #00bddd30}
.btn-primary:hover {background:linear-gradient(120deg,#63eaf5,#22c0e2)}
.page-header {background:linear-gradient(90deg,rgba(4,19,36,.96),rgba(5,33,55,.78)),url('../images/datacenter-bg.webp') center 40%/cover no-repeat;padding-top:168px;padding-bottom:88px;min-height:370px}
.page-header:before {background-image:linear-gradient(#30ddec0b 1px,transparent 1px),linear-gradient(90deg,#30ddec0b 1px,transparent 1px);opacity:.2}
.page-header h1 {color:#fff}
.page-header p {color:#c2d4e0;max-width:760px}
.page-header .section-kicker {color:#61e3f2}
.section-kicker,.eyebrow,.text-link {color:#129cbf}
.section-heading h2 span {color:#129fba}
.about,.projects,.quote-section,.contact,.veille-section,.excel-section,.acquired-section {background:#fff}
.skills-section,.timeline-section,.stages-section,.articles-section,.veille-summary-section {background:#f3f8fb}
.info-card,.skill-main,.project-card,.article-card,.veille-topic {border-color:#dce9f1;box-shadow:0 12px 35px #0a365509}
.info-card:hover,.project-card:hover {border-color:#60cde4;box-shadow:0 22px 55px #073b551b}
.project-grid {grid-template-columns:1.2fr 1fr 1fr;gap:22px}
.project-featured {grid-column:span 2}
.project-card {height:100%}
.project-body p {font-size:13px;line-height:1.78}
.project-title h3 {line-height:1.3}
.project-title a {color:#159ebd;font-size:24px}
.project-tags span,.skill-tags span {background:#ebf8fc;color:#236c83}
.mlhost-visual {display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#08739470,transparent 55%),linear-gradient(135deg,#041326,#0a4263 70%,#07152b);min-height:330px}
.mlhost-visual:after {content:"";width:260px;height:260px;border-radius:50%;border:1px solid #2ae5ed30;position:absolute;box-shadow:0 0 0 35px #00f6ff09,0 0 0 78px #00e1ff05}
.mlhost-visual .project-label {position:absolute;top:22px;left:24px;z-index:3;color:#b9f7ff;opacity:1}
.mlhost-logo {width:220px;max-width:70%;max-height:240px;object-fit:contain;z-index:2;position:relative;filter:drop-shadow(0 18px 32px #0008);transition:transform .35s}
.project-card:hover .mlhost-logo {transform:scale(1.055)}
.mlhost-visit {display:inline-flex;margin-top:21px;padding:11px 17px;border-radius:11px;background:#0b9fbf;color:#fff;font-size:12px;font-weight:700;transition:.2s}
.mlhost-visit:hover {background:#087b9a;transform:translateY(-2px)}
.contact-card {background:linear-gradient(125deg,#06203c,#0b6c8c);box-shadow:0 23px 60px #00576c2a}
footer {margin-top:0;background:#06192e;border-color:#16334b;color:#a6bacc;gap:15px}
.footer-brand {color:#e8f7ff}
.quote-card {background:linear-gradient(135deg,#f1fbfe,#fff)}
@media(max-width:1100px){.navbar{padding:0 3%}.nav-links{gap:12px;font-size:11px}.brand{font-size:13px}}
@media(max-width:900px){.nav-links{gap:10px}.project-grid{grid-template-columns:1fr 1fr}.project-featured{grid-column:1/-1}}
@media(max-width:750px){.navbar{height:70px;padding:0 5%}.menu-toggle{display:block;position:relative;z-index:102}.nav-links{top:70px;display:none;flex-direction:column;gap:0;background:#06192e;padding:10px 5% 22px;border-bottom:1px solid #1f5666;max-height:calc(100vh - 70px);overflow-y:auto}.nav-links.open{display:flex}.nav-links a{padding:12px 8px;font-size:14px}.nav-links a.active:after{display:none}.hero{padding-top:126px;padding-bottom:80px;min-height:unset}.hero h1{font-size:clamp(40px,9vw,60px)}.hero .code-card{transform:none}.page-header{padding-top:135px;padding-bottom:60px;min-height:300px}.project-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.mlhost-visual{min-height:270px}.mlhost-logo{width:180px}.hero-meta{margin-top:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

body {background:#f6fafc}
