/* =========================================================
   Chatdicap - feuille de style unique
   Composition centrée, titres à empattements, filets d'un pixel.
   Une seule marge horizontale (--m) : tout tombe dessus.
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,picture,svg,video{max-width:100%;display:block}
img{height:auto}
input,button,textarea,select{font:inherit;color:inherit}
a{color:inherit}

:root{
  color-scheme:light;
  --m:clamp(20px,5vw,72px);
  --ink:#141414;
  --ink-soft:#5a5550;
  --or:#6b4f12;
  --or-fonce:#54400f;
  --filet:#e3ded4;
  --creme:#faf8f4;
  --w:1180px;
  --texte:74ch;
  --ff-titre:"Lora",Georgia,"Times New Roman",serif;
  --ff-texte:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

body{
  font-family:var(--ff-texte);
  font-size:17px;
  line-height:1.68;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.titre{
  font-family:var(--ff-titre);
  font-weight:400;
  line-height:1.14;
  color:var(--ink);
}
p+p{margin-top:1.05em}
strong{font-weight:600}

.wrap{width:min(100% - (var(--m) * 2),var(--w));margin-inline:auto}
.narrow{width:min(100%,var(--texte));margin-inline:auto}
.section{padding-block:clamp(46px,7vw,92px)}
.section--tight{padding-block:clamp(32px,4.5vw,58px)}
.section--creme{background:var(--creme)}
.section--filet{border-top:1px solid var(--filet)}
.centre{text-align:center}

/* ---------- titres ---------- */
.eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--or);margin-bottom:1.1rem;
}
h1{font-size:clamp(30px,4.4vw,54px);letter-spacing:.01em}
h2{font-size:clamp(25px,3.4vw,40px);letter-spacing:.015em}
h3{font-size:clamp(18px,1.9vw,22px);letter-spacing:.01em}
.titre-section{text-align:center;letter-spacing:.07em;text-transform:uppercase;font-size:clamp(21px,2.6vw,30px)}
.chapo{text-align:center;margin:clamp(20px,2.4vw,30px) auto 0;max-width:64ch;color:var(--ink-soft)}
.lead{font-size:clamp(17.5px,1.6vw,20px);line-height:1.6;color:var(--ink-soft)}
.regle{width:64px;height:1px;background:var(--or);margin:1.5rem auto 0;border:0}

/* ---------- boutons ---------- */
.btn{
  display:inline-block;padding:14px 30px;border:1px solid var(--ink);
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;
  text-decoration:none;background:none;cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.btn:hover{background:var(--ink);color:#fff}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:var(--or-fonce);border-color:var(--or-fonce)}
.btn--ghost{border-color:var(--ink)}
.btn--light{border-color:#fff;color:#fff}
.btn--light:hover{background:#fff;color:var(--ink)}
.btn--or{background:var(--or);border-color:var(--or);color:#fff;padding:17px 38px;font-size:13px}
.btn--or:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn--outline-light{border-color:rgba(255,255,255,.6);color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--ink)}
.btn--sm{padding:10px 20px;font-size:11.5px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem}
.centre .btn-row{justify-content:center}

/* ---------- en-tete ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.8rem 1.2rem;z-index:99}
.skip:focus{left:.5rem;top:.5rem}

.site-header{border-bottom:1px solid var(--filet);background:#fff}
.lockup img{width:clamp(140px,17vw,196px);height:auto;margin:0 auto}
.lockup{text-align:center;padding-block:clamp(26px,4vw,46px) clamp(20px,2.6vw,30px);display:block;text-decoration:none}
.lockup i{
  display:block;font-style:normal;margin-top:14px;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);
}
.nav-bar{border-top:1px solid var(--filet);position:relative}
.nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 clamp(16px,2.4vw,32px);padding-block:15px}
.nav a{
  text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:var(--ink);padding-block:3px;border-bottom:1px solid transparent;
}
.nav a:hover{color:var(--or)}
.nav a[aria-current="page"]{color:var(--or);border-bottom-color:var(--or)}
.nav a.don{color:#fff;background:var(--or);padding:12px 24px;letter-spacing:.1em;margin-left:10px;font-size:1.12em}
.nav a.don:hover{background:var(--or-fonce);color:#fff}
.burger{display:none;margin:10px auto;background:none;border:1px solid var(--filet);padding:9px 13px;cursor:pointer}
.burger span{display:block;width:20px;height:1px;background:var(--ink)}
.burger span+span{margin-top:5px}
.header-cta{display:none}

@media(max-width:1000px){
  .nav{flex-direction:column;align-items:center;gap:0;padding-block:0 12px}
  .nav:not(.is-open){display:none}
  .nav a{padding-block:11px;width:100%;text-align:center;border-bottom:1px solid var(--filet)}
  .nav a.don{width:auto;margin:14px auto 4px;border-bottom:0;padding:12px 26px}
  .burger{display:block}
}

/* ---------- bandeau photo ---------- */
.bandeau{position:relative;background:var(--ink)}
.bandeau img{width:100%;height:min(66vh,52vw);min-height:300px;object-fit:cover;opacity:.6}
.bandeau__texte{
  position:absolute;inset:0;display:grid;place-content:center;text-align:center;
  padding-inline:var(--m);color:#fff;
}
.bandeau__texte p.sur{font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.1rem;color:rgba(255,255,255,.82)}
.bandeau__texte h1,.bandeau__texte h2{color:#fff;max-width:20ch;margin-inline:auto;text-wrap:balance}
.bandeau__texte .btn{margin-top:2.2rem;justify-self:center}

/* ---------- chiffres ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.stat{padding:clamp(22px,3vw,34px) 16px;text-align:center;border-left:1px solid var(--filet)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--ff-titre);font-size:clamp(24px,3.2vw,38px);font-weight:400;line-height:1.05}
.stat span{display:block;font-size:13.5px;color:var(--ink-soft);line-height:1.45;margin-top:9px}
@media(max-width:760px){
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--filet)}
}

/* ---------- chemin numerote ---------- */
.chemin{counter-reset:etape;max-width:var(--texte);margin:clamp(26px,3.5vw,44px) auto 0}
.chemin li{
  counter-increment:etape;display:grid;grid-template-columns:2.6em 1fr;gap:clamp(14px,2vw,26px);
  padding-block:22px;border-top:1px solid var(--filet);align-items:baseline;
}
.chemin li:last-child{border-bottom:1px solid var(--filet)}
.chemin li::before{
  content:counter(etape) ".";font-family:var(--ff-titre);font-size:clamp(20px,2.2vw,26px);color:var(--or);line-height:1;
}
.chemin h3{margin-bottom:.35rem}
.chemin p{color:var(--ink-soft);font-size:16px}
.chemin a{color:var(--or-fonce);text-decoration:none;border-bottom:1px solid var(--filet);font-weight:500}
.chemin a:hover{border-color:var(--or-fonce)}

/* ---------- blocs texte ---------- */
.prose{max-width:var(--texte);margin-inline:auto}
.prose p{color:var(--ink-soft)}
.prose h3{margin:2.2rem 0 .7rem;color:var(--ink)}
.prose ul{margin:1rem 0 1rem 1.15rem;color:var(--ink-soft)}
.prose li{margin-bottom:.45rem}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,58px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,38px)}
@media(max-width:880px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* la carte n'est plus une carte : un filet et de l'air */
.card{border-top:1px solid var(--filet);padding-top:22px}
.card h3{margin-bottom:.55rem}
.card p{color:var(--ink-soft);font-size:16px}
.card__num{
  font-family:var(--ff-titre);font-size:22px;color:var(--or);line-height:1;
  margin-bottom:.8rem;display:block;
}
.card--flag{border-top-color:var(--or)}

.figure-round img{width:100%;object-fit:cover;aspect-ratio:4/3}
.figure-round figcaption{font-size:13.5px;color:var(--ink-soft);margin-top:11px;padding-top:9px;border-top:1px solid var(--filet)}

/* ---------- frise ---------- */
.timeline{counter-reset:t;max-width:var(--texte);margin:clamp(24px,3vw,38px) auto 0;list-style:none;padding:0}
.timeline li{counter-increment:t;display:grid;grid-template-columns:2.6em 1fr;gap:clamp(14px,2vw,26px);padding-block:20px;border-top:1px solid var(--filet);align-items:baseline}
.timeline li:last-child{border-bottom:1px solid var(--filet)}
.timeline li::before{content:counter(t) ".";grid-column:1;grid-row:1;font-family:var(--ff-titre);font-size:clamp(19px,2vw,24px);color:var(--or);line-height:1}
.timeline h3{grid-column:2;grid-row:1;font-size:16.5px;font-family:var(--ff-texte);font-weight:600;margin-bottom:.3rem;letter-spacing:0}
.timeline p{grid-column:2;grid-row:2;color:var(--ink-soft);font-size:16px}

/* ---------- citation ---------- */
.quote{text-align:center;max-width:60ch;margin-inline:auto}
.quote p{font-family:var(--ff-titre);font-size:clamp(20px,2.7vw,30px);line-height:1.35;text-wrap:pretty}
.quote footer{margin-top:1.7rem;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.quote footer b{display:block;font-weight:600;color:var(--ink);letter-spacing:.11em;margin-bottom:.3rem}

/* ---------- accordeon ---------- */
details.acc{border-top:1px solid var(--filet)}
details.acc:last-of-type{border-bottom:1px solid var(--filet)}
details.acc>summary{
  cursor:pointer;padding:19px 34px 19px 0;font-weight:600;font-size:16px;list-style:none;position:relative;
}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:"+";position:absolute;right:4px;top:17px;font-size:20px;color:var(--or);font-weight:400;line-height:1}
details.acc[open]>summary::after{content:"\2212"}
details.acc .acc__body{padding:0 0 24px;color:var(--ink-soft);font-size:16px}
details.acc .acc__body h4{color:var(--ink);margin:1.5rem 0 .35rem;font-size:15.5px}

/* ---------- bandeau don ---------- */
.donate-band{background:var(--creme);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding:clamp(34px,5vw,64px) var(--m);text-align:center}
.donate-band h2{max-width:24ch;margin-inline:auto}
.donate-band p{color:var(--ink-soft);max-width:58ch;margin:1.1rem auto 0}

/* ---------- galerie ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.gallery a{display:block;overflow:hidden;position:relative;background:var(--creme);aspect-ratio:400/284}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery a:hover img{transform:scale(1.04)}
.gallery a::after{
  content:attr(data-cap);position:absolute;left:0;right:0;bottom:0;padding:2rem .9rem .7rem;
  background:linear-gradient(transparent,rgba(20,20,20,.78));color:#fff;font-size:12px;
  opacity:0;transition:opacity .25s ease;
}
.gallery a:hover::after,.gallery a:focus-visible::after{opacity:1}

.lightbox{position:fixed;inset:0;background:rgba(18,18,18,.95);display:none;place-items:center;z-index:100;padding:2rem}
.lightbox.is-open{display:grid}
.lightbox img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain}
.lightbox button{position:absolute;top:1.2rem;right:1.4rem;background:none;border:none;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1}

/* ---------- portraits de pensionnaires ---------- */
.portrait{margin:0}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--creme);transition:transform .6s ease}
.portrait:hover img{transform:scale(1.03)}
.portrait figcaption{margin-top:14px;padding-top:12px;border-top:1px solid var(--filet)}
.portrait figcaption b{display:block;font-family:var(--ff-titre);font-size:20px;font-weight:400;margin-bottom:.35rem}
.portrait figcaption span{display:block;font-size:15.5px;color:var(--ink-soft);line-height:1.5}

/* ---------- revue de presse compacte ---------- */
.revue{max-width:var(--texte);margin:clamp(26px,3.5vw,42px) auto 0;list-style:none;padding:0}
.revue li{border-top:1px solid var(--filet)}
.revue li:last-child{border-bottom:1px solid var(--filet)}
.revue a{display:grid;grid-template-columns:minmax(0,24ch) 1fr;gap:clamp(12px,2vw,26px);padding-block:16px;text-decoration:none;align-items:baseline}
.revue .q{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--or);font-weight:600}
.revue .t{font-family:var(--ff-titre);font-size:clamp(17px,1.8vw,19px)}
.revue a:hover .t{color:var(--or-fonce)}
@media(max-width:640px){.revue a{grid-template-columns:1fr;gap:5px}}

/* ---------- presse ---------- */
.press{display:grid;gap:0;max-width:var(--w);margin-inline:auto}
.press__item{
  display:grid;grid-template-columns:190px 1fr;gap:clamp(18px,2.5vw,34px);align-items:center;
  padding-block:24px;border-top:1px solid var(--filet);text-decoration:none;
}
.press__item:last-child{border-bottom:1px solid var(--filet)}
.press__item:hover h3{color:var(--or-fonce)}
.press__item img{aspect-ratio:16/11;object-fit:cover;object-position:50% 15%;width:100%;background:var(--creme)}
.press__meta{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--or);font-weight:600;margin-bottom:.5rem}
.press__item h3{font-size:20px;margin-bottom:.4rem}
.press__item p{font-size:16px;color:var(--ink-soft)}
.press__link{display:inline-block;margin-top:.6rem;font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--or)}
@media(max-width:700px){.press__item{grid-template-columns:1fr}}

/* ---------- coordonnees ---------- */
.iban{border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding-block:26px}
.iban dl{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.6rem;font-size:16px;margin-top:1.1rem}
.iban dt{color:var(--or);font-weight:600;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;padding-top:.35rem}
.iban dd{margin:0;color:var(--ink-soft)}
.iban .num{font-family:var(--ff-titre);font-size:clamp(19px,2.3vw,26px);color:var(--ink);letter-spacing:.02em}
.copy-btn{background:none;border:1px solid var(--filet);padding:6px 13px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:pointer;margin-left:.7rem;vertical-align:middle}
.copy-btn:hover{border-color:var(--ink)}
@media(max-width:560px){.iban dl{grid-template-columns:1fr;gap:.2rem 0}.iban dt{margin-top:1rem}}

.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(20px,3vw,40px);margin-top:1.6rem}
.pay{border-top:1px solid var(--filet);padding-top:20px;text-align:center;text-decoration:none;display:block}
.pay:hover b{color:var(--or-fonce)}
.pay b{display:block;font-family:var(--ff-titre);font-size:21px;font-weight:400;margin-bottom:.4rem}
.pay span{font-size:15.5px;color:var(--ink-soft);display:block}
.pay img{max-width:280px;width:100%;margin:1rem auto 0}

.needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:0 clamp(20px,3vw,40px);margin-top:1.4rem;padding:0;list-style:none}
.needs li{border-top:1px solid var(--filet);padding-block:13px;font-size:16px;color:var(--ink-soft)}

/* ---------- soutiens ---------- */
.support{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(22px,3.5vw,46px);align-items:center;padding-block:clamp(26px,3.5vw,42px);border-top:1px solid var(--filet)}
.support:last-of-type{border-bottom:1px solid var(--filet)}
.support img{width:100%;object-fit:cover;aspect-ratio:4/3;background:var(--creme)}
.support--doc img{aspect-ratio:3/4;object-fit:contain}
.support h3{margin-bottom:.5rem}
.support p{color:var(--ink-soft);font-size:16px}
@media(max-width:800px){.support{grid-template-columns:1fr}}

/* ---------- formulaire ---------- */
.form{display:grid;gap:1.2rem;max-width:var(--texte)}
.field label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--or);margin-bottom:.5rem}
.field input,.field textarea{
  width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--filet);background:none;
  transition:border-color .2s ease;
}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--or)}
.field textarea{min-height:140px;resize:vertical}
.form-note{font-size:14px;color:var(--ink-soft)}

/* ---------- pied ---------- */
.site-footer{border-top:1px solid var(--filet);padding-block:clamp(40px,5vw,64px) 34px;text-align:center;background:var(--creme)}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{color:var(--or-fonce)}
.footer__brand{margin-bottom:1.6rem}
.footer__brand img{width:clamp(112px,13vw,148px);height:auto;margin:0 auto}
.footer__tag{font-size:15.5px;color:var(--ink-soft);max-width:44ch;margin:.7rem auto 0}
.footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);margin-top:clamp(30px,4vw,48px);padding-top:clamp(26px,3vw,38px);border-top:1px solid var(--filet);text-align:center}
.footer__grid h4{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:1rem;font-weight:600}
.footer__grid ul{display:grid;gap:.6rem;font-size:16px;list-style:none;padding:0;margin:0;color:var(--ink-soft)}
.socials{display:flex;gap:16px;justify-content:center;margin-top:1.5rem}
.socials a{width:38px;height:38px;border:1px solid var(--filet);border-radius:50%;display:grid;place-items:center}
.socials a:hover{border-color:var(--or);color:var(--or)}
.socials svg{width:16px;height:16px}
.footer__bottom{margin-top:clamp(28px,3.5vw,44px);padding-top:1.6rem;border-top:1px solid var(--filet);font-size:13.5px;color:var(--ink-soft);display:grid;gap:.5rem}
@media(max-width:640px){.footer__grid{grid-template-columns:1fr;gap:28px}}

/* ---------- entete de page interne ---------- */
.page-head{text-align:center;padding-block:clamp(38px,5vw,66px) clamp(30px,4vw,48px);border-bottom:1px solid var(--filet)}
.page-head h1{letter-spacing:.06em;text-transform:uppercase;font-size:clamp(25px,3.3vw,39px)}
.page-head .lead{max-width:64ch;margin:1.4rem auto 0}
.page-head .btn-row{justify-content:center}

:focus-visible{outline:2px solid var(--or);outline-offset:3px}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* =========================================================
   Version de travail du 29.09 : nouvelles pages de contenu
   ========================================================= */

/* ---------- brouillon ---------- */
.brouillon{background:var(--creme);border-bottom:1px solid var(--filet);text-align:center;padding:12px var(--m);font-size:13.5px;color:var(--ink-soft)}
.brouillon b{color:var(--or);font-weight:600;letter-spacing:.13em;text-transform:uppercase;font-size:11.5px;margin-right:.7em}
.a-completer{font-style:italic;color:var(--ink-soft);border-bottom:1px dashed var(--or)}

/* ---------- photo et video a venir ---------- */
.a-venir{display:grid;place-content:center;text-align:center;background:var(--creme);border:1px solid var(--filet);color:var(--ink-soft);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:1.2rem}
.a-venir small{display:block;margin:.6rem auto 0;font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;max-width:30ch;line-height:1.45}
.a-venir--portrait{aspect-ratio:4/5}
.a-venir--video{aspect-ratio:16/9}
.gallery .a-venir{aspect-ratio:400/284}

/* ---------- histoires ---------- */
.histoire{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:start;padding-block:clamp(28px,4vw,48px);border-top:1px solid var(--filet)}
.histoire:last-of-type{border-bottom:1px solid var(--filet)}
.histoire h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:.7rem}
.histoire p{color:var(--ink-soft)}
.histoire .btn-row{margin-top:1.5rem}
.histoires{margin-top:clamp(28px,3.5vw,44px)}
@media(max-width:800px){.histoire{grid-template-columns:1fr}}

/* ---------- journal ---------- */
.journal{max-width:var(--texte);margin:clamp(26px,3.5vw,42px) auto 0}
.journal article{border-top:1px solid var(--filet);padding-block:22px}
.journal article:last-child{border-bottom:1px solid var(--filet)}
.journal time{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--or);font-weight:600;margin-bottom:.45rem}
.journal h3{margin-bottom:.35rem}
.journal p{color:var(--ink-soft);font-size:16px}

/* ---------- a decouvrir ---------- */
a.card{display:block;text-decoration:none}
a.card:hover h3{color:var(--or-fonce)}
.lien-fleche{display:inline-block;margin-top:.9rem;font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--or)}

/* ---------- conseils, questions ---------- */
.conseil .acc__body ul{margin:.8rem 0 0 1.15rem}
.conseil .acc__body li{margin-bottom:.5rem}
.note{font-size:14.5px;color:var(--ink-soft);text-align:center;max-width:62ch;margin:1.6rem auto 0}
.note a{color:var(--or-fonce)}
.sous-titre{text-align:center;margin-top:clamp(40px,5vw,64px)}

/* navigation a six entrees : plus serree entre 1000 et 1180 px, menu burger en dessous */
@media(min-width:1001px) and (max-width:1180px){
  .nav{gap:0 16px}
  .nav a{font-size:12px;letter-spacing:.1em}
  .nav a.don{padding:9px 14px}
}

/* =========================================================
   Responsive, passe du 01.10 : écrans tactiles, petits téléphones,
   téléphones à l'horizontale
   ========================================================= */

/* liens du pied de page et bouton copier : cibles tactiles d'au moins 24 px */
.footer__bottom a{display:inline-block;padding-block:5px}
.copy-btn{font-size:12px;padding:8px 14px}

/* écrans tactiles : pas d'effet de survol qui reste collé après un tap */
@media (hover:none){
  .btn:hover{background:none;color:inherit}
  .btn--primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
  .btn--or:hover{background:var(--or);border-color:var(--or);color:#fff}
  .btn--light:hover,.btn--outline-light:hover{background:none;color:#fff}
  .nav a:not([aria-current]):hover{color:var(--ink)}
  .nav a.don:hover{background:var(--or);color:#fff}
  .portrait:hover img,.gallery a:hover img{transform:none}
  a.card:hover h3,.revue a:hover .t,.press__item:hover h3,.pay:hover b{color:inherit}
  .gallery a::after{opacity:1}
}

/* petits téléphones : en-tête plus compact, le contenu arrive plus vite */
@media(max-width:480px){
  .lockup{padding-block:22px 16px}
  .lockup img{width:118px}
  .lockup i{margin-top:10px;letter-spacing:.12em}
  .burger{margin:8px auto}
  .histoire .a-venir,.histoire img{aspect-ratio:4/3;width:100%;object-fit:cover}
}

/* téléphones à l'horizontale : le bandeau photo ne mange pas tout l'écran */
@media(max-height:500px) and (orientation:landscape){
  .lockup{padding-block:12px 8px}
  .lockup img{width:76px}
  .lockup i{margin-top:6px}
  .bandeau img{height:86vh;min-height:0}
  .bandeau__texte h1{font-size:clamp(24px,4.6vh + 1vw,36px)}
  .bandeau__texte .btn{margin-top:1.2rem}
}

/* =========================================================
   Version du 26.10.2026 : la structure du site «Portraits»
   et tout son contenu, dans le style de la première version
   (choix de Céline). Polices servies par le site (fonts.css).
   ========================================================= */
[hidden]{display:none!important}

/* ---------- annonce datée ---------- */
.annonce{background:var(--or);color:#fff;text-align:center;font-size:14px;padding:10px var(--m);line-height:1.5}
.annonce b{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;margin-right:.8em}

/* ---------- bandeau d'accueil ---------- */
.bandeau__texte p.chapo-bandeau{max-width:52ch;margin:1.3rem auto 0;color:rgba(255,255,255,.9);font-size:clamp(16px,1.5vw,18.5px);line-height:1.55}
.bandeau__texte .btn-row{justify-content:center;margin-top:2rem}
.bandeau__texte .btn-row .btn{margin-top:0}

/* ---------- presse en bande ---------- */
.presse-bande{text-align:center;padding-block:clamp(22px,3vw,32px);border-bottom:1px solid var(--filet)}
.presse-bande .eyebrow{margin-bottom:.7rem}
.presse-bande ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px clamp(18px,2.6vw,34px);list-style:none;padding:0;margin:0}
.presse-bande a{font-family:var(--ff-titre);font-size:clamp(17px,1.7vw,20px);text-decoration:none;border-bottom:1px solid var(--filet);display:inline-block;padding-block:2px}
.presse-bande a:hover{color:var(--or-fonce);border-bottom-color:var(--or)}
.presse-bande .statut{margin-top:.9rem;font-size:13.5px;color:var(--ink-soft)}

/* ---------- portraits cliquables, sources ---------- */
.portrait figcaption .lien-fleche{margin-top:.8rem}
.portrait a.lien-fleche{text-decoration:none}
.source{font-size:13.5px;color:var(--ink-soft);margin-top:1rem}
.source a{color:var(--or-fonce);text-underline-offset:3px;display:inline-block;padding-block:3px}
.quote footer a{color:inherit;text-underline-offset:3px}
.grid-2 .eyebrow{text-align:left}
.grid-2 h2{margin-bottom:1rem}
.grid-2 p{color:var(--ink-soft)}
.revue .fl{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;white-space:nowrap}
.revue a{grid-template-columns:minmax(0,24ch) 1fr auto}
@media(max-width:640px){.revue a{grid-template-columns:1fr}.revue .fl{display:none}}
@media (hover:none){.presse-bande a:hover{color:inherit;border-bottom-color:var(--filet)}}

/* le bandeau grandit avec son texte (téléphone) au lieu de le couper */
.bandeau{position:relative}
.bandeau > img{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.bandeau > .bandeau__texte{position:relative;inset:auto;min-height:max(300px,min(66vh,52vw));padding-block:clamp(44px,7vw,88px)}
/* cibles tactiles d'au moins 24 px */
.footer__grid a{display:inline-block;padding-block:3px}
.lien-fleche{padding-block:3px}

/* ---------- pages intérieures du 26.10 ---------- */
.fiche{background:var(--creme);border:1px solid var(--filet);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:100%}
.fiche .nom{font-family:var(--ff-titre);font-size:clamp(40px,4.6vw,64px);line-height:1;color:var(--or)}
.fiche dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;font-size:15.5px;border-top:1px solid var(--filet);padding-top:14px;margin:0}
.fiche dt{color:var(--or);font-weight:600;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;padding-top:.3rem}
.fiche dd{margin:0;color:var(--ink-soft)}
.histoire figure{margin:0}
.histoire figure img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--creme)}
.histoire figcaption{font-size:13.5px;color:var(--ink-soft);margin-top:10px}
.histoire .eyebrow{margin-bottom:.6rem}
.timeline--annees li{grid-template-columns:4.2em 1fr}
.timeline--annees li::before{content:attr(data-annee)}
.timeline a{color:var(--or-fonce);text-underline-offset:3px}
.needs--court{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.gallery figure{margin:0}
.legende-galerie{font-size:13.5px;color:var(--ink-soft);text-align:center;margin-top:1rem}
.adresse{font-family:var(--ff-titre);font-size:clamp(24px,2.8vw,34px);line-height:1.2;margin-bottom:.6rem}
details.acc .acc__body ul{margin:.8rem 0 0 1.15rem}
details.acc .acc__body li{margin-bottom:.45rem}
details.acc .acc__body a{color:var(--or-fonce)}
.statuts details.acc .acc__body p+p{margin-top:.7em}
.revue .ligne{display:grid;grid-template-columns:minmax(0,24ch) 1fr;gap:clamp(12px,2vw,26px);padding-block:16px;align-items:baseline}
@media(max-width:640px){.revue .ligne{grid-template-columns:1fr;gap:5px}}
.timeline li{row-gap:4px}

/* téléphones : les galeries restent une grille, deux photos par ligne, comme sur ordinateur */
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* =========================================================
   Passe mobile du 29.10.2026 (Android et iOS) : même hiérarchie
   que sur ordinateur, la structure adaptée là où il le faut
   ========================================================= */
html{-webkit-tap-highlight-color:rgba(107,79,18,.12)}
.don-mobile{display:none}

/* en-tête : «Faire un don» reste visible à côté du menu, comme sur ordinateur */
@media(max-width:1000px){
  .nav-bar .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding-block:10px}
  .nav{flex-basis:100%}
  .nav a.don{display:none}
  .burger{margin:0;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;
    font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink)}
  .burger i{display:block}
  .don-mobile{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:var(--or);color:#fff;
    text-decoration:none;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
}
@media(max-width:480px){.burger{margin:0}}

/* accueil sur téléphone : la photo se voit d'abord, le texte suit sur fond sombre */
@media(max-width:600px){
  .bandeau > img{position:static;display:block;height:auto;aspect-ratio:3/2;opacity:1}
  .bandeau > .bandeau__texte{min-height:0;padding-block:34px 40px}
}

/* trois colonnes jusqu'à la tablette, une seule sur téléphone */
@media(max-width:880px){.grid-3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .grid-3{grid-template-columns:1fr}
  .portrait img{aspect-ratio:4/3}
}

/* photo agrandie : hauteur réelle de l'écran et zones de l'encoche respectées */
.lightbox{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}
.lightbox img{max-height:86vh;max-height:86svh}
.lightbox button{top:max(1.2rem,env(safe-area-inset-top));min-width:44px;min-height:44px}

/* tablette : texte et photo restent côte à côte comme sur ordinateur, empilés sous 700 px */
@media(max-width:880px) and (min-width:701px){
  .grid-2{grid-template-columns:1fr 1fr}
  .histoire{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .support{grid-template-columns:1fr 1.35fr}
}
@media(max-width:700px){.grid-2,.histoire,.support{grid-template-columns:1fr}}
.bandeau__texte p.sur{text-wrap:balance}

/* téléphone : le bloc de texte de l'accueil prend l'ardoise du logo au lieu du noir (sa demande du 29.10) */
@media(max-width:600px){.bandeau{background:#2e414c}}
