/* Page Carnets — indépendante de Salient / WPBakery */
.carnets-page { background:#f3f1ec; color:#0b0b0a; }
.carnets-hero { position:relative; min-height:82vh; display:flex; align-items:flex-end; overflow:hidden; background:#111; }
.carnets-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.carnets-hero__veil { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12) 20%,rgba(0,0,0,.72) 100%); }
.carnets-hero__content { position:relative; z-index:2; padding-bottom:clamp(180px,20vh,260px); color:#fff; }
.carnets-hero h1 { margin:16px 0 24px; max-width:980px; font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(68px,8vw,132px); font-weight:300; line-height:.9; letter-spacing:-.045em; }
.carnets-hero h1 em { font-weight:300; }
.carnets-hero__content > p:last-child { max-width:720px; margin:0; font-size:clamp(18px,1.5vw,24px); line-height:1.5; color:rgba(255,255,255,.84); }
.carnets-index { padding:42px 0; background:#fff; border-bottom:1px solid rgba(11,11,10,.1); }
.carnets-index__grid { display:grid; grid-template-columns:1.4fr .6fr; gap:70px; align-items:start; }
.carnets-filter, .carnets-index__years nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.carnets-filter button, .carnets-index__years a { appearance:none; border:1px solid rgba(11,11,10,.18); background:transparent; color:#0b0b0a; padding:11px 17px; border-radius:999px; font:inherit; font-size:13px; letter-spacing:.04em; text-decoration:none; cursor:pointer; transition:.2s ease; }
.carnets-filter button:hover, .carnets-index__years a:hover, .carnets-filter button.is-active { background:#0b0b0a; color:#fff; border-color:#0b0b0a; }
.carnets-intro { padding:clamp(70px,8vw,130px) 0; background:#f3f1ec; color:#0b0b0a; }
.carnets-intro__grid { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:clamp(50px,9vw,150px); align-items:start; }
.carnets-intro h2 { margin:0; font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(42px,4.2vw,68px); font-weight:300; line-height:1.02; letter-spacing:-.035em; }
.carnets-intro h2 span { display:block; margin-top:.22em; }
.carnets-intro__grid > div p { max-width:760px; color:rgba(11,11,10,.68); font-size:17px; line-height:1.72; }
.carnets-intro__grid .carnets-intro__lead { margin-top:0; margin-bottom:32px; color:#0b0b0a; font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(30px,3vw,48px); line-height:1.12; letter-spacing:-.02em; }
.carnets-year { padding:clamp(74px,8vw,120px) 0 0; background:#f3f1ec; }
.carnets-year__head { display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; margin-bottom:42px; }
.carnets-year__head span { font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(48px,5vw,78px); font-weight:300; line-height:1; }
.carnets-year__head div { height:1px; background:rgba(11,11,10,.18); }
.carnets-year__list { display:flex; flex-direction:column; }
.carnet-feature { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); min-height:680px; background:#fff; }
.carnet-feature--reverse { grid-template-columns:minmax(360px,.65fr) minmax(0,1.35fr); }
.carnet-feature--reverse .carnet-feature__image { order:2; }
.carnet-feature--reverse .carnet-feature__copy { order:1; }
.carnet-feature__image { display:block; min-height:680px; overflow:hidden; background:#ddd; }
.carnet-feature__image img { width:100%; height:100%; min-height:680px; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.carnet-feature__image:hover img { transform:scale(1.018); }
.carnet-feature__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(54px,6vw,100px); background:#fff; }
.carnet-feature:nth-child(even) .carnet-feature__copy { background:#ebe7df; }
.carnet-feature__copy h2 { margin:12px 0 24px; font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(40px,4vw,66px); font-weight:300; line-height:.98; letter-spacing:-.03em; }
.carnet-feature__copy h2 a { color:inherit; text-decoration:none; }
.carnet-feature__copy > p:not(.eyebrow):not(.carnet-feature__meta) { max-width:580px; font-size:16px; line-height:1.72; color:rgba(11,11,10,.7); }
.carnet-feature__meta { margin:20px 0 24px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(11,11,10,.6); }
.carnets-next { margin-top:clamp(80px,10vw,150px); padding:clamp(88px,10vw,150px) 0; background:#0b0b0a; color:#fff; text-align:center; }
.carnets-next__inner { display:flex; flex-direction:column; align-items:center; }
.carnets-next h2 { margin:14px 0 34px; font-family:var(--font-serif,"Newsreader",serif); font-size:clamp(46px,5vw,82px); font-weight:300; line-height:.98; letter-spacing:-.035em; }
.carnets-page [hidden] { display:none !important; }

@media (max-width: 900px) {
  .carnets-hero { min-height:72vh; }
  .carnets-hero__content { padding-bottom:52px; }
  .carnets-hero h1 { font-size:clamp(54px,14vw,84px); }
  .carnets-index__grid, .carnets-intro__grid { grid-template-columns:1fr; gap:40px; }
  .carnets-index { padding:30px 0 36px; }
  .carnets-index__years { padding-top:26px; border-top:1px solid rgba(11,11,10,.12); }
  .carnets-intro { padding:70px 0; }
  .carnets-year { padding-top:66px; }
  .carnets-year__head { margin-bottom:28px; }
  .carnet-feature, .carnet-feature--reverse { grid-template-columns:1fr; min-height:0; }
  .carnet-feature--reverse .carnet-feature__image, .carnet-feature--reverse .carnet-feature__copy { order:initial; }
  .carnet-feature__image, .carnet-feature__image img { min-height:0; height:auto; }
  .carnet-feature__image img { object-fit:contain; background:#e6e2da; }
  .carnet-feature__copy { padding:38px 24px 48px; }
  .carnet-feature__copy h2 { font-size:clamp(38px,10vw,54px); }
  .carnets-next { margin-top:74px; padding:78px 0; }
}

@media (max-width: 520px) {
  .carnets-hero { min-height:68vh; }
  .carnets-hero__content > p:last-child { font-size:17px; }
  .carnets-filter, .carnets-index__years nav { gap:8px; }
  .carnets-filter button, .carnets-index__years a { padding:9px 13px; font-size:12px; }
  .carnets-year__head { gap:18px; }
}
