@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap');
@media screen and (max-width:736px){.tiles article>a .content{max-height:20em!important;opacity:1!important}}
body .library-hero h1,body .library-article-hero h1{color:#365171!important;font-family:'Space Grotesk',sans-serif!important}body .tiles article{animation:tile-in .55s both,tile-float-modern 3.6s ease-in-out .75s infinite!important}body .tiles article:nth-child(even){animation-name:tile-in,tile-float-modern-reverse!important}
body .tiles article{animation-delay:0s,0s!important}body .tiles article:nth-child(6n+2){animation-delay:0s,-.65s!important}body .tiles article:nth-child(6n+3){animation-delay:0s,-1.25s!important}body .tiles article:nth-child(6n+4){animation-delay:0s,-1.9s!important}body .tiles article:nth-child(6n+5){animation-delay:0s,-2.45s!important}body .tiles article:nth-child(6n){animation-delay:0s,-3.05s!important}
body .tiles article{animation:none!important;transform:none!important}body:not(.is-touch) .tiles article:hover,body .tiles article.is-hovered{transform:translateY(-.65rem) scale(1.02)!important;box-shadow:0 1.25rem 2.8rem rgba(28,35,45,.2);z-index:2}
body .tiles article>a{align-items:center;text-align:center}body .tiles article>a .content{text-align:center}
.library-search{max-width:48rem;margin:3rem auto 5rem;padding:clamp(1.5rem,4vw,3.25rem);border:1px solid var(--line);border-radius:1rem;background:linear-gradient(135deg,#fff 0%,#edf0f3 100%)}.library-search h1{margin:.5rem 0;color:#365171;font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.06em}.library-search h1 em{font-style:normal;color:#4f7195}.library-search>p{color:var(--muted)}.library-search-form{margin:2rem 0}.library-search-form label{display:block;margin-bottom:.5rem;font-weight:700}.library-search-form div{display:flex;gap:.6rem}.library-search-form input{min-width:0;flex:1;padding:.8rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font:inherit}.library-search-form button{border:0;border-radius:.5rem;background:#365171;color:#fff!important;padding:.8rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}.library-results{border-top:1px solid var(--line);padding-top:1.5rem}.library-results h2{font-family:'Space Grotesk',sans-serif;font-size:1rem;letter-spacing:0;text-transform:none}.library-results ul{list-style:none;margin:0;padding:0}.library-results li{padding:1rem 0;border-top:1px solid var(--line)}.library-results li a{color:#365171;font-family:'Space Grotesk',sans-serif;font-weight:700;border:0}.library-results li p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}@media(max-width:600px){.library-search-form div{flex-direction:column}.library-search-form button{width:100%}}
.library-hero h1,.library-article-hero h1{color:#365171!important;font-family:'Space Grotesk',sans-serif!important;letter-spacing:-.07em}.library-body{font-family:'DM Sans',sans-serif!important;line-height:1.95}.tiles article{animation:tile-in .55s both,tile-float-modern 3.6s ease-in-out .75s infinite!important}@keyframes tile-float-modern{0%,100%{transform:translate3d(0,0,0) rotate(-.6deg)}50%{transform:translate3d(0,-.85rem,0) rotate(1.2deg)}}@keyframes tile-float-modern-reverse{0%,100%{transform:translate3d(0,0,0) rotate(.6deg)}50%{transform:translate3d(0,-.85rem,0) rotate(-1.2deg)}}@media (prefers-reduced-motion:reduce){.tiles article{animation:tile-in .55s both,tile-float-modern 3.6s ease-in-out .75s infinite!important;transition:transform .35s ease!important;transform:none!important}}
.tiles article > a h2::after{content:' ↗';display:inline-block;opacity:0;transform:translate(-.3rem,.3rem);transition:opacity .25s ease,transform .25s ease}.tiles article:hover > a h2::after,.tiles article > a:focus h2::after{opacity:1;transform:translate(0,0)}
.tiles article.is-hovered{transform:translateY(-.65rem) scale(1.02);box-shadow:0 1.25rem 2.8rem rgba(28,35,45,.2);z-index:2;will-change:transform}.tiles article.is-tilting{transform:perspective(900px) translateY(-.65rem) scale(1.02) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));box-shadow:0 1.25rem 2.8rem rgba(28,35,45,.2);z-index:2}

/* Pages de dossiers : la grille et le menu ne sont volontairement pas concernés. */
body:not(.semantic-page) .library-editorial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 72rem;
  margin: 2.6rem auto 5.5rem;
  border: 1px solid rgba(25, 33, 39, 0.14);
  border-radius: 1.45rem;
  background: rgba(255, 253, 249, 0.84);
  box-shadow: 0 1.5rem 4.5rem rgba(30, 43, 48, 0.12);
}

body:not(.semantic-page) .library-editorial .library-article-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: clamp(2rem, 6vw, 5rem) clamp(1.4rem, 7vw, 6rem) clamp(2.1rem, 5vw, 4rem);
  border: 0;
  border-radius: 0;
  background: #e8e7e3;
}

body:not(.semantic-page) .library-editorial .library-article-hero::before,
body:not(.semantic-page) .library-editorial .library-article-hero::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: '';
}

body:not(.semantic-page) .library-editorial .library-article-hero::before {
  width: 27rem;
  height: 27rem;
  top: -18rem;
  right: -9rem;
  border: 1px solid rgba(32, 32, 32, 0.2);
  box-shadow: 0 0 0 3.5rem rgba(32, 32, 32, 0.035), 0 0 0 7rem rgba(32, 32, 32, 0.022);
}

body:not(.semantic-page) .library-editorial .library-article-hero::after {
  width: 7rem;
  height: 7rem;
  bottom: -3.8rem;
  left: -1.7rem;
  background: #e95b2f;
}

body:not(.semantic-page) .library-editorial .library-kicker {
  position: relative;
  margin: 0 0 1.2rem;
  color: #a84426;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body:not(.semantic-page) .library-editorial .library-article-hero h1 {
  position: relative;
  max-width: 15ch;
  margin: 0;
  color: #405d72 !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(2.6rem, 6.5vw, 6rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.07em;
}

body:not(.semantic-page) .library-editorial .library-body {
  width: min(100%, 52rem);
  margin: 0 auto;
  padding: clamp(2.3rem, 6vw, 5.6rem) clamp(1.4rem, 6vw, 4.7rem) clamp(3rem, 7vw, 6.5rem);
  color: #252b2e;
  font-family: 'DM Sans', sans-serif !important;
  font-size: var(--library-reading-size, clamp(1rem, 1.2vw, 1.1rem));
  line-height: 1.95;
}

body:not(.semantic-page) .library-editorial .library-body > p,
body:not(.semantic-page) .library-editorial .library-body > div,
body:not(.semantic-page) .library-editorial .library-body > ul,
body:not(.semantic-page) .library-editorial .library-body > ol {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

body:not(.semantic-page) .library-editorial .library-body > p {
  max-width: 44rem;
}

body:not(.semantic-page) .library-editorial .library-body > .library-body__opening {
  max-width: 46rem;
  margin-bottom: 2.15rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(25, 33, 39, 0.14);
  color: #0e5d73;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.65;
}

body:not(.semantic-page) .library-editorial .library-body > .library-body__item {
  position: relative;
  margin-bottom: 0.55rem;
  padding: 0.9rem 1.1rem 0.9rem 2.9rem;
  border: 1px solid rgba(14, 93, 115, 0.16);
  border-radius: 0.55rem;
  background: rgba(14, 93, 115, 0.045);
}

body:not(.semantic-page) .library-editorial .library-body > .library-body__item::before {
  position: absolute;
  top: 1.05rem;
  left: 1.1rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #e95b2f;
  content: '';
}

body:not(.semantic-page) .library-editorial .library-body hr {
  width: 5rem;
  margin: 2.8rem 0;
  border: 0;
  border-top: 0.18rem solid #e95b2f;
}

body:not(.semantic-page) .library-editorial .library-conclusion {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: clamp(3rem, 7vw, 5.5rem) 0 0;
  padding: clamp(1.45rem, 4vw, 2.5rem);
  border: 0;
  border-radius: 0.85rem;
  background: #ececea;
  box-shadow: 0 1.15rem 2.8rem rgba(0, 0, 0, 0.12);
}

body:not(.semantic-page) .library-editorial .library-conclusion::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.42rem;
  background: #ff6a3d;
  content: '';
}

body:not(.semantic-page) .library-editorial .library-conclusion::after {
  position: absolute;
  z-index: -1;
  width: 15rem;
  height: 15rem;
  top: -8rem;
  right: -8rem;
  border: 1px solid rgba(32, 32, 32, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(32, 32, 32, 0.035), 0 0 0 4rem rgba(32, 32, 32, 0.025);
  content: '';
}

body:not(.semantic-page) .library-editorial .library-conclusion h2 {
  margin-top: 0;
  color: #405d72 !important;
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.24);
}

body:not(.semantic-page) .library-editorial .library-conclusion h2::before {
  background: #ff6a3d;
}

body:not(.semantic-page) .library-editorial .library-conclusion p {
  margin: 0;
  color: #2a2a2a;
  position: relative;
  z-index: 1;
}

.semantic-conclusion {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0 !important;
  background: #ececea !important;
  box-shadow: 0 1.15rem 2.8rem rgba(0, 0, 0, 0.12);
}

.semantic-conclusion::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.42rem;
  background: #ff6a3d;
  content: '';
}

.semantic-conclusion::after {
  position: absolute;
  z-index: -1;
  width: 14rem;
  height: 14rem;
  right: -7rem;
  bottom: -8rem;
  border: 1px solid rgba(32, 32, 32, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(32, 32, 32, 0.035), 0 0 0 4rem rgba(32, 32, 32, 0.025);
  content: '';
}

.semantic-conclusion h2,
.semantic-conclusion p {
  color: #202020 !important;
}

.semantic-conclusion h2 {
  color: #405d72 !important;
}

.semantic-conclusion h2::before {
  background: #ff6a3d !important;
}

body:not(.semantic-page) .library-editorial .library-body p,
body:not(.semantic-page) .library-editorial .library-body li,
body:not(.semantic-page) .library-editorial .library-conclusion p,
.semantic-article__body p,
.semantic-article__body li {
  -webkit-hyphens: auto;
  hyphens: auto;
  text-align: justify;
  text-align-last: left;
}

body:not(.semantic-page) .library-editorial .library-body h2,
body:not(.semantic-page) .library-editorial .library-body h3 {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 2.8rem 0 1.15rem;
  color: #405d72;
  font-family: Fraunces, Georgia, serif;
  letter-spacing: -0.045em;
}

body:not(.semantic-page) .library-editorial .library-body h2::before,
body:not(.semantic-page) .library-editorial .library-body h3::before {
  width: 1.75rem;
  height: 0.14rem;
  background: #e95b2f;
  content: '';
}

body:not(.semantic-page) .library-editorial .library-body a {
  color: #0e5d73;
  text-decoration-color: rgba(14, 93, 115, 0.32);
  text-underline-offset: 0.17em;
}

body:not(.semantic-page) .library-editorial .library-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 2.2rem auto;
  border-radius: 0.7rem;
  box-shadow: 0 1rem 2.4rem rgba(30, 43, 48, 0.15);
}

body:not(.semantic-page) > center {
  display: flex;
  justify-content: flex-end;
  width: min(100% - 2.5rem, 72rem);
  margin: 0.75rem auto 0;
  color: #62666d;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body:not(.semantic-page) > center p {
  margin: 0;
}

body:not(.semantic-page) > center a {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.28rem 0.48rem;
  border: 1px solid rgba(25, 33, 39, 0.14);
  border-radius: 999px;
  color: #0e5d73;
  text-decoration: none;
}

body:not(.semantic-page) .library-reading-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.38rem;
  width: min(100% - 2.5rem, 72rem);
  margin: 0.75rem auto 0;
  color: #62666d;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body:not(.semantic-page) .library-reading-controls button {
  min-width: 2.35rem;
  min-height: 2.35rem;
  border: 1px solid rgba(25, 33, 39, 0.14);
  border-radius: 999px;
  background: #fff;
  color: #0e5d73;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
}

@media screen and (max-width: 736px) {
  body:not(.semantic-page) .library-reading-controls {
    position: sticky;
    top: 0;
    z-index: 25;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0.6rem 1rem;
    background: rgba(246, 247, 245, 0.94);
    border-bottom: 1px solid rgba(25, 33, 39, 0.12);
  }
  body:not(.semantic-page) .library-reading-controls button { min-width: 2.7rem; min-height: 2.7rem; font-size: 0.9rem; }
}

body.has-library-editorial #header .logo {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.42rem 0.85rem 0.42rem 0.46rem;
  border: 1px solid rgba(25, 33, 39, 0.14);
  border-radius: 999px;
  background: rgba(255, 253, 249, 0.82);
  box-shadow: 0 0.35rem 1rem rgba(30, 43, 48, 0.06);
  color: #192127 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.035em;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.has-library-editorial #header .logo .symbol {
  display: grid;
  width: 2rem;
  height: 2rem;
  margin: 0;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(14, 93, 115, 0.3);
  border-radius: 50%;
  background: #fff;
  transform: none !important;
}

body.has-library-editorial #header .logo .symbol img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

body.has-library-editorial #header .logo .title {
  font-size: 0.76rem;
  line-height: 1;
}

body.has-library-editorial #header .logo .title::after {
  margin-left: 0.42rem;
  color: #e95b2f;
  content: '←';
}

body.has-library-editorial #header .logo:hover,
body.has-library-editorial #header .logo:focus-visible {
  border-color: rgba(14, 93, 115, 0.48);
  box-shadow: 0 0.65rem 1.4rem rgba(30, 43, 48, 0.12);
  transform: translateY(-2px);
}

@media (max-width: 736px) {
  body:not(.semantic-page) .library-editorial {
    margin-top: 1.5rem;
    border-radius: 1rem;
  }

  body:not(.semantic-page) .library-editorial .library-body {
    font-size: var(--library-reading-size, 1rem);
    line-height: 1.85;
  }
}
.tiles article{animation:tile-in .5s both,tile-float 4.8s ease-in-out .7s infinite!important}@keyframes tile-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-.35rem)}}
:root{--ink:#202226;--muted:#62666d;--paper:#f6f7f5;--card:#fff;--accent:#9d3e1d;--line:#dde0dc} body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif} h1,h2,h3{font-family:Fraunces,serif} #header{padding:1.5rem 0 0}#header .inner{display:flex;justify-content:space-between;align-items:center}#header .logo{margin:0;border:0;color:var(--ink);letter-spacing:0;text-transform:none}#header nav{position:static}#header nav ul li a,#header nav ul li a[href="#menu"]{width:auto;height:auto;padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;background:transparent;text-indent:0;font-size:.75rem;line-height:1.2}#header nav ul li a[href="#menu"]:before,#header nav ul li a[href="#menu"]:after{display:none}.library-hero,.library-article-hero{margin:3rem 0 2rem;padding:clamp(1.5rem,4vw,3.5rem);border:1px solid var(--line);border-radius:1rem;background:linear-gradient(135deg,#fff 0%,#ece9e2 100%)}.library-hero h1,.library-article-hero h1{margin:.5rem 0;color:var(--accent)!important;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.05em}.library-hero h2{margin:0;color:var(--muted);font-family:'DM Sans';font-size:1.05rem;font-weight:400;letter-spacing:0;text-transform:none}.library-tools{display:flex;gap:.8rem;align-items:center;margin:1.5rem 0 2rem}.library-tools input{width:min(32rem,100%);padding:.8rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font:inherit}.library-tools span{color:var(--muted);font-size:.85rem}.tiles article{--tile:#c54f4d;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.tiles article.style1{--tile:#c54f4d}.tiles article.style2{--tile:#117a8b}.tiles article.style3{--tile:#5561a7}.tiles article.style4{--tile:#b36a3c}.tiles article.style5{--tile:#71833e}.tiles article.style6{--tile:#7c578e}.tiles article>.image:before{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(0,0,0,.18)),var(--tile)!important;opacity:.66}.tiles article>a{align-items:flex-start;padding:1.35rem;text-align:left}.tiles article>a .content{text-align:left}body:not(.is-touch) .tiles article:hover{transform:translateY(-.5rem);box-shadow:0 1rem 2.4rem rgba(28,35,45,.16)}body:not(.is-touch) .tiles article:hover>.image{transform:scale(1.06)}body:not(.is-touch) .tiles article:hover>.image:before{background:linear-gradient(135deg,rgba(13,20,28,.15),rgba(13,20,28,.48)),var(--tile)!important;opacity:.78}.tiles article{animation:tile-in .5s both}.tiles article:nth-child(6n+2){animation-delay:.04s}.tiles article:nth-child(6n+3){animation-delay:.08s}.tiles article:nth-child(6n+4){animation-delay:.12s}.tiles article:nth-child(6n+5){animation-delay:.16s}.tiles article:nth-child(6n){animation-delay:.2s}@keyframes tile-in{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tiles article,.tiles article>.image{animation:none!important;transition:none!important;transform:none!important}}.library-article{max-width:49rem;margin:2.5rem auto 5rem}.library-body{font-family:Fraunces,serif;font-size:1.08rem;line-height:1.9}.library-body img{max-width:100%;height:auto}.library-kicker{margin:0;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}@media(max-width:736px){#header .inner{padding:0 1.25rem}.library-hero{margin:2rem 0}.library-tools{align-items:stretch;flex-direction:column}.library-body{font-size:1rem}}
