:root{color-scheme:dark;--bg:#181b1e;--text:#f2f0ed;--muted:#bfc4c7;--accent:#91d3c6;--line:#3c5652}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:#fff}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{max-width:1320px;padding:0 48px;margin:auto}header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px 0 0;gap:24px}.name{font:34px/1.2 Georgia,"Times New Roman",serif;color:var(--text);text-decoration:none}.affiliation{font-size:14px;color:var(--muted);margin:5px 0 0}.languages{font-size:15px;white-space:nowrap;padding-top:5px}.languages span{margin:0 10px;color:var(--muted)}.languages a[aria-current]{color:var(--accent)}.languages a:not([aria-current]){color:var(--muted);text-decoration:none}.hero{padding:64px 0 32px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15}h1{font-size:clamp(40px,5.2vw,72px);letter-spacing:-1.5px;margin:0 0 25px;color:var(--text);max-width:1000px}.intro{max-width:880px;font-size:20px;line-height:1.6;margin:0 0 20px}.quick-links{display:flex;gap:32px;flex-wrap:wrap}section{border-top:1px solid var(--line);padding:32px 0;scroll-margin-top:20px}h2{font-size:clamp(30px,3.2vw,44px);margin:0 0 28px}h3{font-size:25px;margin:12px 0}.questions{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.question+.question{border-left:1px solid var(--line);padding-left:32px}.number{font-size:14px;color:var(--accent)}.question p{margin:14px 0 0}.paper{padding:20px 0;border-bottom:1px solid #33413f}.paper:first-child{padding-top:0}.paper-head{display:flex;justify-content:space-between;gap:24px;align-items:baseline}.paper h3{font-size:23px;margin:0 0 5px}.paper h3 a{color:var(--text);text-decoration:none}.paper h3 a:hover{text-decoration:underline}.paper .hal{white-space:nowrap;font-size:14px}.metadata{color:var(--muted);font-size:14px;margin:0}.contribution{font-size:16px;color:#d9dddd;margin:9px 0 0;max-width:1000px}details{margin-top:24px}summary{cursor:pointer;color:var(--accent);width:fit-content;text-decoration:underline;text-underline-offset:5px}details h3{margin-top:30px}details li{padding:12px 0;border-bottom:1px solid #303937}details ul{list-style:none;padding:0}.secondary{display:grid;grid-template-columns:1fr 1fr;gap:64px}.secondary p{margin:0 0 15px}.secondary h2{font-size:32px}address{font-style:normal;color:var(--muted);font-size:15px}.footer{padding:24px 0 38px;font-size:13px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:var(--bg);padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:850px){.wrap{padding:0 28px}.hero{padding-top:44px}.questions{grid-template-columns:1fr;gap:24px}.question+.question{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.question p{max-width:650px}.secondary{gap:36px}.intro{font-size:18px}}@media(max-width:550px){.wrap{padding:0 20px}header{padding-top:24px}.name{font-size:27px}.affiliation{font-size:12px;max-width:230px}.languages{font-size:13px}.languages span{margin:0 4px}h1{letter-spacing:-.6px}h1 br{display:none}.hero{padding-top:40px}.quick-links{gap:24px}.paper-head{display:block}.paper .hal{display:inline-block;margin:6px 0}.secondary{grid-template-columns:1fr;gap:28px}section{padding:28px 0}.paper h3{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:#fff;color:#111;font-size:11pt}.wrap{max-width:none;padding:0}a,.metadata,address{color:#222}.languages,.quick-links,.skip{display:none}.hero{padding-top:25px}h1{font-size:32pt}h2{font-size:23pt}.question,.paper{break-inside:avoid}.questions{gap:20px}.contribution{color:#333}}
/* Agrandir le nom et réduire légèrement le titre */
.name {
  font-size: 48px;
}

h1 {
  font-size: clamp(38px, 4.3vw, 60px);
}

/* Photo à droite du texte */
.portrait {
  float: right;
  width: 180px;
  height: auto;
  margin: 0 0 24px 40px;
  border-radius: 4px;
}

.hero {
  display: flow-root;
}

/* Adaptation aux petits écrans */
@media (max-width: 700px) {
  .name {
    font-size: 34px;
  }

  .portrait {
    float: none;
    width: 120px;
    margin: 0 0 24px;
  }
}
