.axis-list article.axis-is{background:var(--navy)!important}
.axis-list article.axis-is{background:var(--navy);color:#fff}.axis-list article.axis-is p{color:#eef4f2}.axis-list article.axis-is span{color:var(--mint)}
.institutional-signature b{padding:6px 8px}.institutional-signature span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);padding:6px 8px;color:#fff}
.madeo-gallery .gallery-stage{position:relative;background:var(--paper);height:260px}.madeo-gallery .gallery-image{height:260px!important;width:100%;padding:10px;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:var(--navy);color:#fff;width:38px;height:38px;font-size:20px;cursor:pointer}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-prev:hover,.gallery-next:hover{background:var(--orange)}.gallery-counter{position:absolute;top:14px;right:14px;background:var(--paper);color:var(--navy);padding:4px 7px;font:600 10px var(--display)}.madeo-gallery figcaption{min-height:102px}.gallery-title{transition:opacity .15s}.gallery-note{display:block;transition:opacity .15s}@media(max-width:800px){.madeo-gallery .gallery-stage,.madeo-gallery .gallery-image{height:230px!important}.madeo-gallery figcaption{min-height:120px}}
.manuscripts{display:grid;grid-template-columns:20% 1fr;gap:6vw;background:#e7efec}.manuscripts-head{display:flex;justify-content:space-between;gap:7vw}.manuscripts-head h2{font-size:clamp(42px,6vw,82px)}.manuscripts-head p{max-width:280px;color:var(--muted);font-size:14px}.manuscript-list{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin-top:18px}.manuscript-list a{display:grid;grid-template-columns:42px 1fr;gap:5px 14px;padding:20px;background:var(--paper)}.manuscript-list a:hover{background:#fff}.manuscript-list span{grid-row:span 2;color:var(--orange);font:700 10px var(--display);letter-spacing:.08em}.manuscript-list strong{font:500 18px var(--display)}.manuscript-list em{font-style:normal;color:var(--muted);font-size:11px}.manuscript-list a:hover strong{color:var(--orange)}@media(max-width:800px){.manuscripts{display:block}.manuscripts-head{display:block}.manuscripts-head p{margin-top:20px}.manuscript-list{grid-template-columns:1fr;margin-top:30px}}
.axis-is{background:var(--navy);color:#fff;padding:24px}.axis-is span,.axis-is p{color:#bcd5de}.axis-is h3 i{color:#f0a06d}.axis-is p b{color:#fff}.axis-is a{display:inline-block;margin-top:14px;color:#fff;border-bottom:1px solid var(--orange);font:600 11px var(--display);padding-bottom:3px}.axis-is a:hover{color:var(--orange)}
.axes .axis-is{background:var(--navy);color:#fff}.axis-is h3{color:#fff}.axis-is h3 i{color:#f3a16e}.axis-is p{color:#eef4f2}.axis-is span{color:#bfe9db}.deployment-gallery{background:#e7efec}.deployment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin-left:26%;}.deployment-grid figure{margin:0;background:var(--paper)}.deployment-grid img{display:block;width:100%;height:240px;object-fit:contain;background:var(--paper);padding:10px}.deployment-grid figcaption{padding:16px 18px 20px}.deployment-grid b{display:block;font:600 16px var(--display);margin-bottom:6px}.deployment-grid span{color:var(--muted);font-size:12px;line-height:1.4}@media(max-width:800px){.deployment-grid{grid-template-columns:1fr;margin:30px 0 0}.deployment-grid img{height:220px}}
.node-detail .node-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px}.node-detail .node-links a{color:var(--navy);font:600 11px var(--display);border-bottom:1px solid var(--orange);padding-bottom:3px}.node-detail .node-links a:hover{color:var(--orange)}


.graph-lines{stroke:#6f9ba5;stroke-width:2}.node{z-index:1}.n2{background:#1565C0;font-size:16px}.n4{font-size:15px}.n5{font-size:16px}@media(max-width:800px){.node-detail .node-links{display:grid;gap:12px}.node-detail .node-links a{width:max-content;max-width:100%}}
.media-grid video{display:block;width:100%;height:260px;object-fit:contain;background:#111}
.media-grid img,.media-grid .media-wide img{height:240px;object-fit:contain;background:var(--paper);padding:10px}.media-grid video{background:var(--paper)}
.portrait{overflow:hidden;background:#dcecf1}.portrait img{display:none;width:100%;height:100%;object-fit:cover;object-position:center top}.portrait.has-image img{display:block}.portrait.has-image span{display:none}.institutional-signature{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 10px;font:600 9px var(--display);letter-spacing:.05em;text-transform:uppercase}.institutional-signature b{background:#fff;color:var(--navy);padding:4px 6px;font-size:13px}.institutional-signature span{border-left:1px solid rgba(255,255,255,.5);padding-left:8px}.research-media{display:grid;grid-template-columns:20% 1fr;gap:6vw;background:#e7efec}.media-head{display:flex;justify-content:space-between;gap:7vw}.media-head h2{font-size:clamp(42px,6vw,82px)}.media-head>p{max-width:320px;color:var(--muted);font-size:15px}.media-grid{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin-top:14px}.media-grid figure{display:flex;flex-direction:column;margin:0;background:#fff;min-width:0}.media-grid .media-wide{grid-column:span 2}.media-grid img{display:block;width:100%;height:210px;object-fit:cover;object-position:center}.media-grid .media-wide img{height:260px;object-fit:contain;background:#111}.media-grid figcaption{padding:16px 18px 19px}.media-grid figcaption b{display:block;font:600 16px var(--display);margin-bottom:5px}.media-grid figcaption span{color:var(--muted);font-size:12px;line-height:1.4}@media(max-width:800px){.research-media{display:block}.media-head{display:block}.media-head>p{margin-top:20px}.media-grid{grid-template-columns:1fr;margin-top:30px}.media-grid .media-wide{grid-column:auto}.media-grid img,.media-grid .media-wide img{height:auto;max-height:230px;object-fit:contain}.institutional-signature{margin-top:18px}}
.thesis-visual{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:4px;min-height:54px;margin:15px 0;padding:8px;color:#fff;font:600 10px var(--display);text-align:center;text-transform:uppercase;letter-spacing:.04em}.thesis-visual>*{display:grid;place-items:center;min-height:32px;padding:4px;font-style:normal}.monitor-visual{background:var(--navy)}.monitor-visual span{background:#e5824c}.monitor-visual b{background:#2d72a8}.monitor-visual i{background:#bfe9db;color:var(--ink)}.monitor-visual em{border:1px solid #fff}.overlay-visual{background:#dcecf1;color:var(--ink)}.overlay-visual span{background:#fff}.overlay-visual b{background:#2d72a8;color:#fff}.overlay-visual i{background:#e5824c;color:#fff}.overlay-visual em{background:var(--navy);color:#fff}.thesis-download{display:inline-block;margin-top:16px;color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}.thesis-download:hover{color:var(--orange)}
.representation{display:grid;grid-template-columns:20% 1fr;gap:6vw;background:#dcecf1}.representation-head{display:flex;justify-content:space-between;gap:7vw}.representation-head h2{font-size:clamp(42px,6vw,82px)}.representation-head>p{max-width:280px;color:var(--muted);font-size:15px}.archive-list{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:12px}.archive-list article{background:#dcecf1;padding:25px;min-height:205px}.archive-list span{color:var(--orange);font:600 10px var(--display);text-transform:uppercase;letter-spacing:.08em}.archive-list h3{font:500 21px var(--display);line-height:1.1;margin:18px 0 12px}.archive-list p{color:var(--muted);font-size:13px;margin:0 0 15px}.archive-list a{font-size:11px;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}
@media(max-width:800px){.axes,.projects,.supervision,.representation{display:block}.axis-list,.project-grid,.theses,.archive-list{grid-template-columns:1fr!important}.supervision-head,.representation-head{display:block}.supervision-head>p,.representation-head>p{margin-top:20px}.theses,.archive-list{margin-top:30px}}
.axes,.projects,.supervision{display:block}.axis-list,.project-grid,.theses{grid-template-columns:1fr}.supervision-head{display:block}.supervision-head>p{margin-top:20px}.theses{margin-top:30px}
.axes{background:#e7efec;max-width:none;display:grid;grid-template-columns:20% 1fr;gap:6vw}.axis-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}.axis-list article{background:#e7efec;padding:25px 25px 30px}.axis-list article>span,.project-grid article>span,.theses span{color:var(--orange);font:600 10px var(--display);text-transform:uppercase;letter-spacing:.08em}.axis-list h3{font:500 22px var(--display);line-height:1.08;margin:24px 0 22px}.axis-list p,.project-grid p,.theses p{font-size:13px;color:var(--muted);margin:0}.projects{display:grid;grid-template-columns:20% 1fr;gap:6vw}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.project-grid article{background:var(--paper);padding:24px;min-height:150px}.project-grid h3{font:500 22px var(--display);margin:18px 0 10px;line-height:1.1}.supervision{display:grid;grid-template-columns:20% 1fr;gap:6vw;background:#fff}.supervision-head{display:flex;justify-content:space-between;gap:7vw}.supervision-head h2{font-size:clamp(42px,6vw,82px)}.supervision-head>p{max-width:270px;color:var(--muted);font-size:15px}.theses{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:8px}.theses>div{background:#fff;padding:22px;min-height:145px}.theses strong{display:block;font:500 18px var(--display);margin:17px 0 8px}
:root{--ink:#182335;--navy:#13244d;--blue:#2d72a8;--sky:#dcecf1;--mint:#bfe9db;--orange:#e5824c;--paper:#f3f1eb;--muted:#6f7780;--line:#c5cbc9;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}.topbar{height:76px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,241,235,.96);position:sticky;top:0;z-index:10}.wordmark{font-family:var(--display);font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.wordmark span{display:grid;place-items:center;width:31px;height:31px;background:var(--navy);color:white;font-size:11px}.topbar nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.topbar nav a:hover{color:var(--orange)}.menu{display:none;border:0;background:none;font-size:22px}.hero{display:grid;grid-template-columns:1.35fr .65fr;min-height:650px;border-bottom:1px solid var(--line)}.hero-main{padding:110px 9vw}.kicker{color:var(--orange);text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:11px;margin:0 0 24px}.hero h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:.98;margin:0}.hero h1{font-size:clamp(56px,8vw,108px)}{font-style:normal;color:var(--orange)}.hero-text{max-width:460px;margin:35px 0;color:var(--muted);font-size:18px}.hero-links{display:flex;align-items:center;gap:27px}.button{display:inline-flex;gap:25px;background:var(--navy);color:#fff;padding:15px 18px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:11px}.button:hover{background:var(--orange)}.button b,.underlink b{color:#e9a16c}.underlink{font-size:11px;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-note{background:var(--navy);color:#fff;padding:75px 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.portrait-placeholder{width:154px;height:190px;background:linear-gradient(135deg,#d6e7eb 0 38%,#7fa6af 38% 55%,#263750 55%);display:grid;place-items:center;font:600 54px var(--display);color:rgba(255,255,255,.8);margin-bottom:25px}.hero-note p{font-size:13px;color:#cbd7df}.hero-note strong{font-family:var(--display);font-size:18px;color:white}.socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.socials a{border:1px solid rgba(255,255,255,.35);padding:8px 10px;font-size:10px;text-transform:uppercase}.socials a:hover{border-color:var(--orange);color:#f5ad7f}.section{max-width:1440px;margin:auto;padding:120px 6vw}.section-index{border-top:1px solid var(--line);padding-top:12px;color:var(--orange);font-weight:700;letter-spacing:.1em;font-size:11px;text-transform:uppercase;display:flex;gap:28px}.section-index span{color:var(--muted)}.statement{display:grid;grid-template-columns:20% 1fr;gap:9vw}.statement h2,.explorer h2,.pub-head h2{font-size:clamp(42px,6vw,82px)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:760px;margin-top:48px}.columns p,.explorer-head p,.pub-head p{color:var(--muted);font-size:15px;margin:0}.timeline{background:#fff;max-width:none;display:grid;grid-template-columns:14% 1fr;gap:6vw}.timeline-wrap{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:0;padding:12px 0 40px}.timeline-line{position:absolute;left:0;right:0;top:59px;height:1px;background:var(--line)}.timeline-item{position:relative;text-align:left;border:0;background:none;padding:0 18px 0 0;cursor:pointer;color:var(--muted)}.timeline-item:before{content:'';width:12px;height:12px;border:2px solid var(--orange);background:#fff;border-radius:50%;display:block;margin-bottom:19px;position:relative;z-index:1}.timeline-item.active{color:var(--ink)}.timeline-item.active:before{background:var(--orange);box-shadow:0 0 0 5px #fff}.timeline-item .year{display:block;color:var(--orange);font:600 11px var(--display);margin-bottom:7px}.timeline-item strong{display:block;font:500 19px var(--display)}.timeline-item small{display:block;font-size:11px;margin-top:3px}.timeline-detail{grid-column:2;background:var(--sky);border-left:4px solid var(--blue);padding:24px 28px;min-height:116px}.timeline-detail h3{font:500 22px var(--display);margin:0 0 7px}.timeline-detail p{margin:0;color:#4e5d66;max-width:750px}.explorer{display:grid;grid-template-columns:20% 1fr;gap:5vw}.explorer-head{display:flex;justify-content:space-between;gap:8vw}.explorer-head p{max-width:270px}.filters{grid-column:2;display:flex;gap:8px;margin-top:40px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);padding:9px 14px;text-transform:uppercase;font:600 10px var(--sans);cursor:pointer}.filter.active,.filter:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.graph{grid-column:2;min-height:430px;position:relative;margin-top:25px;background:#e9f0ee;overflow:hidden}.graph-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#9fb8bc;stroke-width:1.5;fill:none}.node{position:absolute;border:0;background:var(--navy);color:#fff;border-radius:50%;width:120px;height:120px;font:500 18px var(--display);cursor:pointer;transition:transform .2s,opacity .2s}.node span{display:block;color:#bcd5de;font:10px var(--sans);text-transform:uppercase;margin-top:4px}.node:hover{transform:scale(1.07);background:var(--orange)}.node.hidden{opacity:.12;pointer-events:none}.n1{background:#7B1FA2;left:8%;top:15%}.n2{background:#1565C0;left:8%;top:59%}.n5{background:#C62828;left:42%;top:4%}.n4{background:#00ACC1;right:8%;top:10%}

.n3{background:#2E7D32;left:42%;top:40%}
.n6{left:42%;top:82%;width:100px;height:100px;background:#F57C00}
.node-detail{grid-column:2;border-top:1px solid var(--line);padding-top:20px;margin-top:0}.node-detail span{font:500 20px var(--display)}.node-detail p{color:var(--muted);max-width:650px;margin-top:8px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:var(--orange);color:#fff;padding:55px 12vw}.numbers div{border-left:1px solid rgba(255,255,255,.4);padding-left:32px;display:flex;align-items:center;gap:25px}.numbers div:first-child{border-left:0}.numbers b{font:400 58px var(--serif)}.numbers span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.4}.publications{display:grid;grid-template-columns:20% 1fr;gap:6vw}.pub-head{display:flex;justify-content:space-between;gap:7vw}.pub-head p{max-width:280px}.pub-list{grid-column:2;border-top:1px solid var(--line);margin-top:35px}.pub-list a{display:grid;grid-template-columns:65px 1fr 270px;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.pub-list a:hover strong{color:var(--orange)}.pub-list span{font:500 12px var(--display);color:var(--orange)}.pub-list strong{font:500 18px var(--display)}.pub-list em{font-style:normal;font-size:11px;color:var(--muted);text-align:right}.contact{background:var(--navy);color:#fff;display:flex;align-items:end;justify-content:space-between;gap:40px}.contact h2{font-size:clamp(43px,6vw,80px)}.button.dark{background:#fff;color:var(--navy);white-space:nowrap}.button.dark:hover{background:var(--orange);color:#fff}footer{display:flex;justify-content:space-between;padding:22px 6vw;background:#0c172f;color:#a8b8c3;font-size:10px;text-transform:uppercase;letter-spacing:.08em}@media(max-width:800px){.topbar{height:64px}.topbar nav{display:none}.menu{display:block;color:var(--ink)}.topbar.open nav{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:15px;padding:25px 6vw;background:var(--paper);border-bottom:1px solid var(--line)}.hero{display:block}.hero-main{padding:75px 7vw}.hero-note{padding:55px 7vw}.section,.timeline,.explorer,.publications{display:block;padding:80px 7vw}.statement .section-index,.explorer .section-index,.publications .section-index,.timeline .section-index{margin-bottom:50px}.columns,.explorer-head,.pub-head{display:block}.columns p+p,.explorer-head p,.pub-head p{margin-top:20px}.timeline-wrap{grid-template-columns:1fr;gap:22px;padding-top:0}.timeline-line{display:none}.timeline-item{padding:10px 0;border-bottom:1px solid var(--line)}.timeline-item:before{display:inline-block;margin:0 10px 0 0}.timeline-item .year{display:inline}.timeline-item strong,.timeline-item small{display:inline;margin-left:12px}.timeline-detail{margin-top:25px}.filters,.graph,.node-detail,.pub-list{margin-top:30px}.graph{min-height:500px}.node{width:94px;height:94px;font-size:14px}.n1{left:4%;top:8%}.n2{left:4%;top:50%}
	
	.n4{background:#00ACC1;right:4%;top:8%}.n5{background:#C62828;right:8%;top:70%}
.n6{background:#F57C00;left:42%;top:5%;width:84px;height:84px}.numbers{display:block;padding:20px 7vw}.numbers div,.numbers div:first-child{border-left:0;border-bottom:1px solid rgba(255,255,255,.4);padding:22px 0}.numbers div:last-child{border:0}.pub-list a{grid-template-columns:50px 1fr}.pub-list em{grid-column:2;text-align:left}.contact{display:block}.contact .button{margin-top:45px}footer{display:block;line-height:2}footer span{display:block}}
/* ==========================
TAGS DE THESES
========================== */
 
.theses > div{
background:#fff;
padding:22px;
min-height:220px;
}
.thesis-tags{
display:flex;
flex-wrap:wrap;
gap:6px;
margin:12px 0 14px;
}

.theses strong{
display:block;
font:500 18px var(--display);
margin:17px 0 4px;
}
 
.tag{
display:inline-block;
padding:4px 10px;
border-radius:999px;
font-size:.72rem;
font-weight:600;
line-height:1;
color:#fff;
}
 
/* domaines */
 
.tag-is{
background:#2E7D32;
}
 
.tag-modeling{
background:#00ACC1;
}
 
.tag-cao{
background:#1565C0;
}
 
.tag-reconfig{
background:#7B1FA2;
}
 
.tag-embedded{
background:#512DA8;
}
 
.tag-hls{
background:#F57C00;
}
 
.tag-security{
background:#C62828;
}
 
.tag-iot{
background:#D4A017;
}
 
.tag-virtual{
background:#C2185B;
}
 
.tag-monitoring{
background:#6D4C41;
}
 
.tag-nano{
background:#607D8B;
}
 
.tag-maritime{
background:#00838F;
}

.thesis-topics{
    background:none;
    padding:0;
    min-height:auto;
    margin:12px 0;
}

.thesis-topics>*{
    color:#fff !important;
    min-height:28px !important;
}

.node.active-project{
    transform:scale(1.1);
    opacity:1;
}

.node.inactive-project{
    opacity:.15;
}


.filter-break{
    flex-basis:100%;
    height:0;
}

.filter-group-label{
    font:600 10px var(--display);
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-right:8px;
}
.n1{
background:#7B1FA2;
width:170px;
height:170px;
}
 
.n1 span{
font-size:12px;
}
/* Simulation */
.n6{
    left:39%;
    top:3%;
}

/* Modélisation */
.n4{
    left:15%;
    top:18%;
}

/* Sécurité */
.n5{
    left:60%;
    top:18%;
}

/* IS */
.n3{
    left:38%;
    top:42%;
}

/* CAO */
.n2{
    left:17%;
    top:70%;
}

/* Reconfigurable */
.n1{
    left:56%;
    top:60%;
}





/* =======================================
   Deux histoires, une démarche
   ======================================= */

.incarnations{
    background:#fff;
}

.incarnations-head{
    max-width:900px;
    margin-top:40px;
}

.incarnations-head p{
    color:var(--muted);
    max-width:760px;
}

.scientific-comparison{
    margin-top:50px;
    max-width:1000px;
}

.comparison-step{
    padding:22px 0;
    border-top:1px solid var(--line);
}

.comparison-step:first-child{
    border-top:none;
    padding-top:0;
}

.comparison-step h3{
    margin:0 0 12px 0;
    font:500 24px var(--display);
    color:var(--navy);
}

.comparison-step ul{
    margin:0;
    padding-left:20px;
}

.comparison-step li{
    margin-bottom:10px;
    color:var(--muted);
    line-height:1.7;
}

.comparison-step li:last-child{
    margin-bottom:0;
}
