:root{--bg:#ffffff;--text:#000000;--text-muted:#555555;--text-footer:rgb(146, 144, 144);--header-bg:#ffffff;--accent:#8b41cc;--accent-hover:#6f32a3;--dropdown-bg:#ffffff;--dropdown-border:#dddddd;--dropdown-hover:#f0f0f0;--shadow:rgba(0, 0, 0, 0.15);--shadow-strong:rgba(0, 0, 0, 0.2);--tile-bg:#f9f9f9;--control-bg:#f5f5f5;--control-border:#dddddd;--control-active-bg:#8b41cc;--control-active-text:#ffffff;--nav-active:#8b41cc}[data-theme=dark]{--bg:#121212;--text:#f0f0f0;--text-muted:#b0b0b0;--text-footer:#888888;--header-bg:#1a1a1a;--accent:#b07de8;--accent-hover:#c99af5;--dropdown-bg:#242424;--dropdown-border:#3a3a3a;--dropdown-hover:#333333;--shadow:rgba(0, 0, 0, 0.45);--shadow-strong:rgba(0, 0, 0, 0.6);--tile-bg:#1e1e1e;--control-bg:#2a2a2a;--control-border:#444444;--control-active-bg:#b07de8;--control-active-text:#121212;--nav-active:#b07de8}@font-face{font-family:'Futura Std';src:url(FuturaStdBook.otf) format('opentype')}body{font-family:'Futura Std',sans-serif;margin:0;padding:0;box-sizing:border-box;background-color:var(--bg);color:var(--text);font-size:1em;transition:background-color .2s ease,color .2s ease}#negative{background-color:var(--text);color:var(--bg)}header{box-sizing:border-box;width:100%;max-width:100vw;padding:15px 20px;position:fixed;top:0;left:0;right:0;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background-color:var(--header-bg);transition:background-color .2s ease}#logo{grid-column:1;justify-self:start;text-align:left;width:auto;font-size:15px}.header-nav{grid-column:2;justify-self:center}.header-utils{grid-column:3;justify-self:end;display:flex;align-items:center;gap:12px}#logo a{color:var(--accent);font-size:25px;text-decoration:none}.header-nav{display:flex;align-items:center;justify-content:center}nav{display:flex;align-items:center;gap:10px}nav ul{list-style:none;display:flex;gap:20px;padding:0}nav a{text-decoration:none;font-size:20px;color:var(--text);transition:color .3s}nav a:hover{color:var(--text-muted)}.nav-link--active{color:var(--nav-active)!important}.nav-menu{list-style:none;display:flex;justify-content:space-around;align-items:center;padding:0;margin:0}.nav-menu li{position:relative}.nav-menu a{text-decoration:none;padding:10px 15px;display:block}.dropdown-btn{position:relative;display:inline-block;cursor:pointer}.dropdown-btn>a{display:flex;align-items:center;gap:5px}.dropdown-content{display:none;position:absolute;background-color:var(--dropdown-bg);min-width:160px;z-index:1;box-shadow:0 8px 16px var(--shadow);border:1px solid var(--dropdown-border)}.dropdown-content.right-align{right:0;left:auto}.dropdown-content a{color:var(--text);padding:12px 16px;text-decoration:none;font-size:16px;display:block;text-align:left}.dropdown-btn:hover .dropdown-content{display:block}.hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px}.bar{display:block;width:25px;height:3px;transition:all .3s ease-in-out;background-color:var(--accent)}.site-controls{display:flex;align-items:center;gap:12px}.lang-switch{display:flex;gap:2px;border:1px solid var(--control-border);border-radius:4px;overflow:hidden}.lang-btn,.theme-toggle{font-family:'Futura Std',sans-serif;font-size:12px;padding:4px 8px;border:none;background:var(--control-bg);color:var(--text);cursor:pointer;transition:background-color .2s,color .2s}.lang-btn:hover,.theme-toggle:hover{background:var(--dropdown-hover)}.lang-btn.active{background:var(--control-active-bg);color:var(--control-active-text)}.theme-toggle{border:1px solid var(--control-border);border-radius:4px;min-width:32px;line-height:1.2}[data-theme=dark] .theme-icon-dark,[data-theme=light] .theme-icon-light{display:none}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:first-child{transform:translateY(8px) rotate(45deg)}.hamburger.active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}main{margin:auto;background-size:100%;padding-top:100px}a{color:var(--text);text-decoration:none}main a:hover{color:var(--text-muted)}.bureau-person{margin-bottom:1.75rem}.bureau-person:last-child{margin-bottom:0}.bureau-person em{font-style:italic;color:var(--text-muted)}.element{max-width:750px;color:var(--text);text-align:justify;padding:20px;margin:auto}.element h1{text-transform:uppercase;font-size:1.2em;color:var(--text)}.left-aligned{float:left;margin-left:5%}.right-aligned{float:right;margin-right:5%}.form{box-shadow:0 2px 5px var(--shadow);padding:5px;display:inline-block}.clearfix{clear:both}:target::before{content:"";display:block;height:120px;margin-top:-120px}.emoji{font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif;font-size:1.2em}.site-footer,footer{text-align:center;padding:10px;color:var(--text-footer);font-size:15px}.site-footer p{margin:0}.site-notice{max-width:42rem;margin:.75rem auto 1.25rem;padding:.65rem 1rem;text-align:center;font-size:.95rem;line-height:1.5;color:var(--text-muted);border:1px solid var(--control-border);background:var(--control-bg)}.projets-preview{max-width:42rem;margin:2rem auto 3rem;padding:0 1rem;text-align:center;line-height:1.6}.projets-preview a{color:var(--link)}.footer-sep{margin:0 .35em}.footer-sep::before{content:"\00b7"}.footer-contact{color:var(--text-footer);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.footer-contact:hover{color:var(--accent);border-bottom-color:var(--accent)}.landing-footer .footer-contact{color:rgba(255,255,255,.75)}.landing-footer .footer-contact:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}#img1{display:block}#img2{display:none}@media screen and (max-width:768px){#img1{display:none}#img2{display:block}header{grid-template-columns:1fr auto;grid-template-rows:auto auto}#logo{grid-column:1;grid-row:1}.header-utils{grid-column:2;grid-row:1}.header-nav{grid-column:1/-1;grid-row:2;height:0;overflow:visible}.nav-menu{display:none}.site-controls{position:static}.hamburger{display:flex;position:static}.nav-menu.active{display:flex;position:fixed;top:70px;right:10px;width:auto;height:auto;background-color:var(--dropdown-bg);z-index:1000;flex-direction:column;justify-content:flex-start;box-shadow:0 2px 5px var(--shadow);padding:10px;border-radius:5px;border:1px solid var(--dropdown-border)}.nav-menu li{width:100%}.dropdown-btn:hover .dropdown-content{display:none}.dropdown-btn.active .dropdown-content{display:block;position:relative;box-shadow:none;padding:5px 0}.dropdown-btn>a{pointer-events:none;cursor:default}.dropdown-btn #negative{background-color:var(--dropdown-bg);color:var(--text)}.dropdown-content{display:none;position:relative;padding:5px 0}.dropdown-content a{pointer-events:auto;cursor:pointer}}.filters-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin:20px auto;max-width:1200px;padding:0 20px}.publications-page .publications-intro{max-width:750px;margin:0 auto 10px;padding:0 20px;text-align:center;color:var(--text-muted);font-style:italic}.publications-page .publications-intro p{margin:0}.filter-btn>a{display:block;padding:5px 10px;background:0 0;border:none;box-shadow:none;text-decoration:none;color:var(--text);cursor:pointer}.filter-btn .dropdown-content{display:none;position:absolute;background-color:var(--dropdown-bg);min-width:150px;z-index:2000;padding:5px 0;border:1px solid var(--dropdown-border)}.filter-btn:hover .dropdown-content{display:block}.filter-btn .dropdown-content div{padding:5px 10px;cursor:pointer}.filter-btn .dropdown-content div:hover{background-color:var(--dropdown-hover)}.projects-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:50px auto 100px auto;padding:0 20px}.project-tile{background-color:var(--tile-bg);border-radius:5px;overflow:hidden;box-shadow:0 2px 8px var(--shadow);position:relative;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.tile-link{position:absolute;inset:0;z-index:5}.project-details,.project-img{position:relative;z-index:2}.project-tile:hover{transform:translateY(-5px);box-shadow:0 5px 15px var(--shadow-strong)}.project-img{aspect-ratio:3/2;width:100%;overflow:hidden;flex-shrink:0;background-color:var(--tile-bg)}.project-img img{width:100%;height:100%;object-fit:cover;display:block}.project-img--placeholder{display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center}.project-img--placeholder p{margin:0;font-size:.85em;color:var(--text-muted);line-height:1.45;text-transform:none;letter-spacing:.02em}.project-details{padding:10px 15px}.project-details h3{font-size:1em;margin:5px 0;text-transform:uppercase}.project-details p{font-size:.9em;color:var(--text-muted);line-height:1.45}.pub-citation{margin:0}.pub-part{white-space:normal}.pub-sep{display:inline-block;margin:0 .35em;color:var(--text-muted);font-family:'Segoe UI',system-ui,sans-serif;font-weight:600;opacity:.75;user-select:none}@media screen and (max-width:768px){.projects-container{grid-template-columns:1fr}}.project-hero-wrap{width:100%;height:clamp(200px,35vh,400px);overflow:hidden;margin-bottom:30px;background-color:var(--tile-bg)}.project-coming-soon{margin-bottom:30px;padding:2rem 1.5rem;text-align:center;background-color:var(--tile-bg);color:var(--text-muted);font-size:.95em}.project-hero{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-meta{width:100%;border-collapse:collapse;margin-bottom:40px;font-size:.95em}.project-meta th{text-align:left;font-weight:400;padding:4px 10px 4px 0;vertical-align:top;width:35%;color:var(--text-muted)}.project-meta td{padding:4px 0}.project-description{margin-bottom:50px}.project-related{margin:-30px 0 50px;font-size:.95em}.project-related a{color:var(--text)}.project-description ul{margin-top:10px}.project-gallery{visibility:hidden}.project-gallery.project-gallery--ready{visibility:visible;display:flex;gap:10px;align-items:flex-start}.project-gallery.project-gallery--ready .project-gallery__col{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.project-gallery.project-gallery--ready img{width:100%;display:block}@media screen and (max-width:768px){.project-gallery.project-gallery--ready{flex-direction:column}}body.landing-page{min-height:100vh;overflow:hidden}.landing-hero{position:fixed;inset:0;z-index:0;pointer-events:none}.landing-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.8s ease,transform 12s ease}.landing-slide--active{opacity:1;transform:scale(1)}.landing-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.15) 45%,rgba(0,0,0,.55) 100%)}[data-theme=dark] .landing-veil{background:linear-gradient(180deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.35) 45%,rgba(0,0,0,.75) 100%)}.landing-ui{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;color:#fff}.landing-top{display:flex;justify-content:flex-end;padding:1.25rem 1.5rem}.landing-controls .lang-btn{border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.25);color:#fff}.landing-controls .lang-btn.active{background:rgba(255,255,255,.92);color:#111}.landing-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem 1.5rem 4rem;animation:landing-fade-in 1.2s ease both}.landing-eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:.75rem;margin:0 0 1rem;opacity:.85}.landing-title{font-size:clamp(2.5rem, 8vw, 5rem);font-weight:400;margin:0 0 1rem;letter-spacing:.04em}.landing-tagline{max-width:32rem;margin:0 auto 2rem;font-size:1.05rem;line-height:1.6;opacity:.92}.landing-cta{display:inline-block;padding:.85rem 2.2rem;border:1px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;transition:background-color .25s ease,color .25s ease}.landing-cta:hover{background:#fff;color:#111}.landing-footer{padding:1rem 1.5rem 1.5rem;text-align:center}.landing-footer p{margin:0;color:rgba(255,255,255,.7);font-size:.9rem}@keyframes landing-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.landing-eyebrow{letter-spacing:.2em}}