:root{
  --paper:#f5f4f0;
  --paper-soft:#f0f3f5;
  --paper-white:#ffffff;
  --ink:#0b1117;
  --ink-soft:#5f6973;
  --paper-line:#dce2e7;
}

/* Keep the photographic hero and footer dark; use paper surfaces for reading sections. */
.route-home .home-intro{background:var(--paper);color:var(--ink)}
.route-home .home-intro .signature-block p{color:var(--ink-soft)}
.route-home .home-intro .pill{color:#39444f;border-color:#cfd6dc;background:rgba(255,255,255,.62)}
.route-home .method-grid,
.route-a-propos .method-grid{background:var(--paper-line);border-color:var(--paper-line)}
.route-home .method-card,
.route-a-propos .method-card{background:#fff;color:var(--ink)}
.route-home .method-card p,
.route-a-propos .method-card p{color:var(--ink-soft)}
.route-home .featured{background:#fff}
.route-home .awards-teaser{background:var(--paper-soft);color:var(--ink)}
.route-home .awards-teaser .btn-ghost{color:var(--ink);border-color:#bcc6cf;background:#fff}
.route-home .award-mini{background:#fff;border-color:var(--paper-line);box-shadow:0 12px 34px rgba(15,26,36,.06)}
.route-home .award-mini h3{color:var(--ink)}
.route-home .award-mini p{color:var(--ink-soft)}
.route-home .award-mini .award-year{color:rgba(22,136,248,.15)}
.route-home .academic-teaser{background:#fff}

/* About: alternate paper / white / soft-paper instead of three dark bands. */
.route-a-propos .about-main{background:var(--paper);color:var(--ink)}
.route-a-propos .about-profile p{color:var(--ink-soft)}
.route-a-propos .contact-item{color:#34404a;border-color:var(--paper-line);background:#fff}
.route-a-propos .about-main + .section-tight{background:#fff;color:var(--ink)}
.route-a-propos .timeline:before{background:linear-gradient(var(--blue),#d7dde2)}
.route-a-propos .timeline-item:before{background:#fff}
.route-a-propos .timeline-item p{color:var(--ink-soft)}
.route-a-propos .home-intro{background:var(--paper-soft);color:var(--ink)}

/* Productions hub: editorial cards, not two oversized dark slabs. */
.route-home .production-split,
.route-productions .production-split{
  background:var(--paper);
  padding:56px max(28px,4vw);
  gap:18px;
  min-height:auto;
}
.route-home .production-panel,
.route-productions .production-panel{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:stretch;
  padding:0;
  min-height:360px;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--paper-line);
  box-shadow:0 16px 46px rgba(12,22,31,.09);
}
.route-home .production-panel:first-child,
.route-productions .production-panel:first-child{border-right:1px solid var(--paper-line)}
.route-home .production-panel:before,
.route-productions .production-panel:before{display:none}
.route-home .production-panel img,
.route-productions .production-panel img{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  filter:saturate(.82) contrast(1.02) brightness(.9);
  transform:none!important;
}
.route-home .production-panel-content,
.route-productions .production-panel-content{
  position:relative;
  z-index:1;
  max-width:none;
  padding:38px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.route-home .production-panel .big-number,
.route-productions .production-panel .big-number{
  color:rgba(22,136,248,.14);
  font-size:3.7rem;
}
.route-home .production-panel h2,
.route-productions .production-panel h2{
  color:var(--ink);
  font-size:clamp(2.6rem,4vw,4.5rem);
  margin:2px 0 14px;
}
.route-home .production-panel p,
.route-productions .production-panel p{color:var(--ink-soft);margin:0;line-height:1.7}
.route-home .production-panel .btn,
.route-productions .production-panel .btn{
  align-self:flex-start;
  margin-top:24px;
  color:#0b1117;
  border-color:#bcc6cf;
  background:#fff;
}
.route-home .production-panel .btn:hover,
.route-productions .production-panel .btn:hover{color:#086dcc;border-color:#1688f8;background:#f1f8ff}

/* Written / video / academic / awards reading surfaces. */
.route-productions-ecrit .works-page{background:var(--paper)}
.route-productions-ecrit .filters{background:rgba(255,255,255,.96)}
.route-productions-video main>.section{background:var(--paper);color:var(--ink)}
.route-productions-video .video-card{background:#fff;color:var(--ink);border-color:var(--paper-line);box-shadow:0 10px 30px rgba(15,26,36,.055)}
.route-productions-video .video-body .meta{color:#68737d}
.route-parcours-academique .academic-page{background:#f5f2eb}
.route-prix-distinctions .awards-page{background:var(--paper-soft)}
.route-prix-distinctions .award-card{box-shadow:0 10px 30px rgba(15,26,36,.055)}

/* Academic timeline: compact editorial cards with a clear year column. */
.route-parcours-academique .academic-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.route-parcours-academique .academic-entry{
  grid-template-columns:84px minmax(0,1fr);
  gap:18px;
  padding:24px;
  border-radius:18px;
  border:1px solid #dedbd4;
  background:#fff;
  box-shadow:0 9px 24px rgba(30,35,40,.035);
  align-items:start;
}
.route-parcours-academique .academic-entry .year{
  font-size:1.35rem;
  line-height:1;
  color:#b6821d;
  padding-top:5px;
}
.route-parcours-academique .academic-entry h3{
  font-size:1.65rem;
  line-height:1.03;
  margin:0 0 8px;
}
.route-parcours-academique .academic-entry strong{
  display:block;
  font-size:.88rem;
  line-height:1.45;
  color:#242a30;
}
.route-parcours-academique .academic-entry p{
  margin:12px 0 0;
  font-size:.88rem;
  line-height:1.62;
  color:#6a7076;
}
.route-parcours-academique .academic-feature-copy h2{font-size:clamp(2.6rem,4.6vw,3.8rem)}
.route-parcours-academique .academic-feature-copy .score{font-size:4.4rem}

/* Prevent long award titles from splitting words. */
.award-ref-copy h3,
.award-copy h3{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}

/* CV: light reading page with a structured white profile card. */
.route-cv .cv-page{background:var(--paper);color:var(--ink)}
.route-cv .cv-sidebar{background:#fff;color:var(--ink);border-color:var(--paper-line);box-shadow:0 12px 36px rgba(15,26,36,.06)}
.route-cv .cv-sidebar img{border-color:#e5e9ed}
.route-cv .cv-sidebar .role{color:#0877dc}
.route-cv .cv-info div{color:#4d5964;border-color:#e2e6ea}
.route-cv .cv-block{background:#fff;border:1px solid #e0e5e9;box-shadow:0 10px 28px rgba(15,26,36,.045)}
.route-cv .cv-actions .btn-ghost{color:var(--ink);background:#fff;border-color:#bec8d0}

/* Contact: make the form a comfortable editorial surface. */
.route-contact .contact-page{background:var(--paper);color:var(--ink)}
.route-contact .contact-card{background:#fff;color:var(--ink);border-color:var(--paper-line);box-shadow:0 8px 24px rgba(15,26,36,.045)}
.route-contact .contact-card span{color:#687581}
.route-contact .contact-form{background:#fff;color:var(--ink);border-color:var(--paper-line);box-shadow:0 16px 44px rgba(15,26,36,.07)}
.route-contact .field label{color:#596672}
.route-contact .field input,
.route-contact .field textarea{background:#f7f8f9;color:var(--ink);border-color:#d7dee4}
.route-contact .field input::placeholder,
.route-contact .field textarea::placeholder{color:#8a949d}
.route-contact .contact-social-block{border-top-color:#d7dee4}
.route-contact .contact-social-block .public-social-link{color:#17212a;background:#fff;border-color:#cfd7de}
.route-contact .contact-social-block .public-social-link:hover{color:#086dcc;background:#eef7ff;border-color:#1688f8}
.route-contact .contact-social-block .public-social-mark{background:#0b1722;border-color:#0b1722}

@media(max-width:1100px){
  .route-home .production-panel,
  .route-productions .production-panel{grid-template-columns:1fr;min-height:0}
  .route-home .production-panel img,
  .route-productions .production-panel img{height:auto;min-height:0;aspect-ratio:16/9}
  .route-home .production-panel-content,
  .route-productions .production-panel-content{padding:30px}
  .route-parcours-academique .academic-list{grid-template-columns:1fr}
}

@media(max-width:900px){
  .route-home .production-split,
  .route-productions .production-split{grid-template-columns:1fr!important;padding:30px 20px;gap:14px}
  .route-home .production-panel,
  .route-productions .production-panel{border-radius:20px}
  .route-parcours-academique .academic-entry{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:16px!important;
    padding:20px!important;
  }
  .route-parcours-academique .academic-entry .year{font-size:1.28rem!important}
  .route-parcours-academique .academic-entry h3{font-size:1.55rem!important}

  /* Keep the Master visual on mobile: concise image strip below the copy. */
  .route-home.home-brief .academic-img{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/9;
    overflow:hidden;
    border-top:1px solid var(--paper-line);
    background:#ebe6dc;
  }
  .route-home.home-brief .academic-img img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 28%!important;
  }
}

@media(max-width:560px){
  .route-home .awards-teaser,
  .route-home .academic-teaser,
  .route-home .featured,
  .route-a-propos .about-main,
  .route-a-propos .about-main + .section-tight,
  .route-a-propos .home-intro,
  .route-productions-video main>.section,
  .route-cv .cv-page,
  .route-contact .contact-page{border-top:1px solid rgba(11,17,23,.06)}
  .route-home .production-split,
  .route-productions .production-split{padding:22px 14px}
  .route-home .production-panel-content,
  .route-productions .production-panel-content{padding:24px 22px}
  .route-home .production-panel .big-number,
  .route-productions .production-panel .big-number{font-size:2.7rem}
  .route-home .production-panel h2,
  .route-productions .production-panel h2{font-size:2.7rem}
  .route-parcours-academique .academic-list{gap:10px!important}
  .route-parcours-academique .academic-entry{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px!important;
    border-radius:16px!important;
  }
  .route-parcours-academique .academic-entry .year{font-size:1.18rem!important;padding-top:4px}
  .route-parcours-academique .academic-entry h3{font-size:1.38rem!important;line-height:1.04!important;margin-bottom:7px!important}
  .route-parcours-academique .academic-entry strong{font-size:.81rem;line-height:1.38}
  .route-parcours-academique .academic-entry p{font-size:.82rem;line-height:1.5;margin-top:9px}
  .route-parcours-academique .academic-feature-copy h2{font-size:2.25rem!important}
  .route-parcours-academique .academic-feature-copy .score{font-size:3.6rem!important}
  .route-home.home-brief .academic-img{aspect-ratio:16/10;max-height:245px}
  .route-home.home-brief .academic-img img{object-position:center 25%!important}
  .route-contact .contact-form{padding:22px!important}
}
