
:root{
  --brown:#734949;
  --brown-deep:#633b3b;
  --brown-nav:#5f3838;
  --brown-footer:#653838;
  --gold:#d7aa59;
  --gold-soft:#e0bd78;
  --ink:#2b2523;
  --muted:#756a64;
  --cream:#fbf8f4;
  --paper:#fffdfb;
  --line:#eadfda;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.72;
  color:var(--ink);
  background:#f4efeb;
}
a{color:#684343}
a:hover{text-decoration-thickness:2px}

/* ==========================================================
   BANDEAU SUPÉRIEUR
   ========================================================== */
.site-header{
  color:#fff;
  background:
    radial-gradient(circle at 50% -80%,rgba(255,255,255,.10),transparent 48%),
    linear-gradient(180deg,#744343 0%,#6b3d3d 100%);
  box-shadow:0 3px 16px rgba(44,28,27,.15);
}
.header-inner{
  max-width:1200px;
  margin:auto;
  padding:0;
}
.identity{
  min-height:96px;
  display:grid;
  grid-template-columns:minmax(245px,1fr) minmax(420px,2fr) minmax(40px,1fr);
  align-items:center;
  gap:1.3rem;
  padding:.55rem 1.35rem;
}
.identity-left{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.site-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:4px;
  flex:0 0 auto;
}
.official-name{
  color:var(--gold-soft);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.08;
  letter-spacing:.01em;
}
.official-name strong{
  display:block;
  font-size:1.23rem;
  font-weight:700;
}
.official-name span{
  display:block;
  margin-top:.12rem;
  font-size:.92rem;
  font-weight:600;
}
.identity-center{text-align:center}
.brand{
  display:block;
  color:#fff;
  text-decoration:none;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  font-size:clamp(1.55rem,2.7vw,2.25rem);
  line-height:1.08;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.header-signature{
  margin:.25rem 0 0;
  color:var(--gold-soft);
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(.95rem,1.45vw,1.18rem);
}
.identity-spacer{min-height:1px}

/* ==========================================================
   NAVIGATION : FOND PLUS FONCÉ + SOULIGNEMENT DORÉ
   ========================================================== */
.nav-band{
  background:var(--brown-nav);
  border-top:1px solid rgba(255,255,255,.12);
}
.main-nav{
  max-width:1200px;
  margin:auto;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:0 1.6rem;
  padding:0 1.25rem;
}
.main-nav a{
  position:relative;
  display:block;
  padding:.78rem 0 .72rem;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:.94rem;
  white-space:nowrap;
}
.main-nav a:hover{color:#fff}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.12rem;
  height:3px;
  border-radius:3px;
  background:transparent;
}
.main-nav a:hover::after,
.main-nav a.active::after{background:var(--gold)}

/* ==========================================================
   CONTENU
   ========================================================== */
.page-shell{
  max-width:1120px;
  min-height:72vh;
  margin:auto;
  padding:1.3rem 1.55rem 3rem;
  background:var(--paper);
  box-shadow:0 0 32px rgba(74,52,45,.045);
}
.breadcrumbs{
  margin:.05rem 0 1.25rem;
  color:var(--muted);
  font-size:.9rem;
}
.breadcrumbs a{color:var(--muted)}
.article{max-width:860px}
h1,h2{color:var(--brown)}
h1{
  margin:.15rem 0 .3rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.05rem,4.6vw,3.35rem);
  line-height:1.07;
  letter-spacing:-.015em;
}
h2{
  margin:2.15rem 0 .75rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,2.4vw,1.85rem);
  line-height:1.18;
}
h3{
  margin-top:1.6rem;
  color:var(--brown-deep);
}
.lead{
  margin:.25rem 0 1.3rem;
  max-width:900px;
  color:#b48239;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:1.18rem;
  line-height:1.45;
}
.article p{margin:.88rem 0}
.source-note,.summary,.notice{
  margin:1.2rem 0;
  padding:1rem 1.15rem;
  border:1px solid #e7d7cc;
  border-left:4px solid var(--gold);
  border-radius:0 9px 9px 0;
  background:#f8f1eb;
}
.source-note{font-size:.94rem;color:#625650}
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1rem;
  margin:1.25rem 0;
}
.card{
  padding:1.15rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 14px rgba(75,51,45,.035);
}
.card h2,.card h3{margin-top:0}
.card a{text-decoration:none}
.card a:hover{text-decoration:underline}
.item{padding-left:.7rem;border-left:2px solid #dbcaca}
.media-placeholder{
  margin:1rem 0;
  padding:1rem;
  color:#766a65;
  border:1px dashed #b9aaa3;
  border-radius:8px;
  background:#faf7f5;
}
.testimony{
  margin:1.25rem 0;
  padding-left:1rem;
  border-left:3px solid #c9b2b2;
}
.book-cover{
  padding:1.25rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fffaf7;
}
.article-image{margin:1.25rem 0 1.6rem}
.article-image img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 8px 22px rgba(50,35,35,.08);
}
.article-image figcaption{
  margin-top:.45rem;
  color:var(--muted);
  font-size:.9rem;
  font-style:italic;
}

/* ==========================================================
   PIED DE PAGE
   ========================================================== */
.site-footer{
  color:#fff;
  background:
    linear-gradient(90deg,#5f3434 0%,#713e3d 54%,#5d3434 100%);
  border-top:4px solid rgba(215,170,89,.75);
}
.footer-inner{
  max-width:1120px;
  margin:auto;
  padding:1.25rem 1.55rem;
}
.footer-content{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:1.5rem;
}
.footer-copy p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1rem}
.footer-kit-link{
  display:block;
  margin-top:.18rem;
  color:var(--gold-soft);
  font-weight:700;
  text-decoration:none;
}
.footer-kit-link:hover{text-decoration:underline}
.footer-button{
  display:inline-block;
  padding:.65rem 1rem;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  background:linear-gradient(180deg,#c89542,#a8742d);
  box-shadow:0 4px 10px rgba(0,0,0,.13);
}
.footer-button:hover{filter:brightness(1.05)}
.small{font-size:.9rem;color:var(--muted)}

@media(max-width:900px){
  .identity{
    grid-template-columns:1fr;
    gap:.35rem;
    padding:.75rem 1rem .85rem;
  }
  .identity-left{justify-content:center}
  .identity-center{text-align:center}
  .identity-spacer{display:none}
  .site-logo{width:58px;height:58px}
  .official-name strong{font-size:1.05rem}
  .official-name span{font-size:.82rem}
  .main-nav{gap:0 1.05rem}
}
@media(max-width:650px){
  .main-nav{justify-content:flex-start;padding:.25rem 1rem .35rem;gap:0 1rem}
  .main-nav a{padding:.55rem 0;font-size:.9rem}
  .page-shell{padding:1.1rem 1rem 2.5rem}
  .footer-content{grid-template-columns:1fr}
  .footer-button{justify-self:start}
}
