*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --prim:#2D4A5E;
  --prim-dark:#1B3344;
  --sec:#C4623A;
  --accent:#D4A574;
  --txt:#2A2A2A;
  --txt-light:#555555;
  --bg:#FAF6F1;
  --bg-card:#ffffff;
  --gris:#7A7A7A;
  --gris-light:#E8E4DF;
  --radius:8px;
  --shadow:0 2px 6px rgba(0,0,0,.06);
  --max-content:700px;
  --max-layout:1080px;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--txt);background:var(--bg);line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--prim);text-decoration:none;transition:color .2s}
a:hover{color:var(--sec)}

/* === HEADER === */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--bg);border-bottom:2px solid var(--gris-light);
  padding:.9rem 1.5rem;
}
.header-inner{
  max-width:var(--max-layout);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{font-size:1.4rem;font-weight:700;color:var(--txt);letter-spacing:.04em;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.logo span{color:var(--sec)}
nav{display:flex;gap:1.6rem;align-items:center}
nav a{color:var(--txt-light);font-size:.88rem;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;letter-spacing:.01em}
nav a:hover{color:var(--sec)}
.hamburger{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--txt)}
@media(max-width:640px){
  nav{display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bg);flex-direction:column;padding:1rem 1.5rem;
    border-bottom:2px solid var(--gris-light);gap:.8rem}
  nav.open{display:flex}
  .hamburger{display:block}
}

/* === HERO === */
.hero{
  max-width:var(--max-layout);margin:0 auto;
  padding:4.5rem 1.5rem 3rem;text-align:center;
}
.hero h1{font-size:clamp(1.7rem,3.8vw,2.4rem);font-weight:700;line-height:1.25;margin-bottom:1rem;font-style:italic}
.hero p{font-size:1.05rem;color:var(--txt-light);max-width:520px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}

/* === SECTIONS === */
.section{max-width:var(--max-layout);margin:0 auto;padding:2rem 1.5rem}
.section-title{font-size:1.3rem;font-weight:700;margin-bottom:1.5rem;color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.section-title::after{content:'';display:block;width:50px;height:2px;background:var(--sec);margin-top:.5rem}

/* === CARDS GRILLE === */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.card{
  background:var(--bg-card);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s;
}
.card:hover{box-shadow:0 6px 16px rgba(0,0,0,.09);transform:translateY(-2px)}
.card-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--gris-light)}
.card-body{padding:1.3rem}
.card-cat{
  font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--sec);margin-bottom:.4rem;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.card-title{font-size:1.05rem;font-weight:700;line-height:1.3;margin-bottom:.5rem}
.card-title a{color:var(--txt)}
.card-title a:hover{color:var(--sec)}
.card-excerpt{font-size:.87rem;color:var(--txt-light);line-height:1.6;margin-bottom:.8rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.card-meta{font-size:.76rem;color:var(--gris);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}

/* === ARTICLE === */
.article-header{max-width:var(--max-content);margin:0 auto;padding:3rem 1.5rem 1rem}
.breadcrumbs{font-size:.8rem;color:var(--gris);margin-bottom:1.2rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.breadcrumbs a{color:var(--gris)}
.breadcrumbs a:hover{color:var(--sec)}
.article-header h1{font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:700;line-height:1.25;margin-bottom:.8rem}
.article-meta{font-size:.84rem;color:var(--gris);display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.article-img{
  max-width:var(--max-content);margin:0 auto;padding:0 1.5rem;
}
.article-img img{width:100%;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover;background:var(--gris-light)}
.article-content{
  max-width:var(--max-content);margin:0 auto;padding:2rem 1.5rem;
}
.article-content h2{font-size:1.3rem;font-weight:700;margin:2.2rem 0 .8rem;color:var(--txt)}
.article-content h3{font-size:1.08rem;font-weight:600;margin:1.5rem 0 .6rem}
.article-content p{margin-bottom:1.2rem}
.article-content ul,.article-content ol{margin:0 0 1.2rem 1.5rem}
.article-content li{margin-bottom:.4rem}
.article-content blockquote{
  border-left:3px solid var(--sec);padding:.8rem 1.2rem;margin:1.5rem 0;
  background:rgba(196,98,58,.05);border-radius:0 var(--radius) var(--radius) 0;
  font-style:italic;color:var(--txt-light);
}
.article-content a{color:var(--prim);text-decoration:underline;text-underline-offset:3px}

/* === PARTAGE SOCIAL === */
.share{
  max-width:var(--max-content);margin:0 auto;padding:1rem 1.5rem 2rem;
  display:flex;gap:.8rem;align-items:center;
}
.share span{font-size:.84rem;color:var(--gris);font-weight:500;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.share a{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;background:var(--gris-light);
  color:var(--txt-light);font-size:.85rem;font-weight:600;transition:background .2s,color .2s;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.share a:hover{background:var(--sec);color:#fff}

/* === ARTICLES CONNEXES === */
.related{max-width:var(--max-content);margin:0 auto;padding:1rem 1.5rem 3rem}
.related h3{font-size:1.1rem;font-weight:700;margin-bottom:1rem}
.related .cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}

/* === PAGES STATIQUES === */
.page-header{max-width:var(--max-content);margin:0 auto;padding:3rem 1.5rem 1rem}
.page-header h1{font-size:1.7rem;font-weight:700;margin-bottom:.5rem}
.page-content{max-width:var(--max-content);margin:0 auto;padding:1rem 1.5rem 3rem}
.page-content h2{font-size:1.15rem;font-weight:700;margin:1.8rem 0 .6rem}
.page-content h3{font-size:1.02rem;font-weight:600;margin:1.2rem 0 .5rem}
.page-content p{margin-bottom:1rem}
.page-content ul{margin:0 0 1rem 1.5rem}
.page-content li{margin-bottom:.3rem}

/* === NEWSLETTER === */
.newsletter{
  max-width:var(--max-layout);margin:0 auto;padding:3rem 1.5rem;
}
.newsletter-inner{
  background:var(--prim);color:#fff;border-radius:var(--radius);
  padding:2.5rem;text-align:center;
}
.newsletter-inner h2{font-size:1.25rem;font-weight:700;margin-bottom:.4rem}
.newsletter-inner p{font-size:.88rem;opacity:.85;margin-bottom:1.2rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.newsletter-form{display:flex;gap:.5rem;max-width:400px;margin:0 auto}
.newsletter-form input{
  flex:1;padding:.7rem 1rem;border:none;border-radius:var(--radius);font-size:.88rem;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.newsletter-form button{
  padding:.7rem 1.4rem;background:var(--sec);color:#fff;
  border:none;border-radius:var(--radius);font-weight:600;font-size:.88rem;cursor:pointer;
  transition:opacity .2s;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.newsletter-form button:hover{opacity:.85}
@media(max-width:480px){.newsletter-form{flex-direction:column}}
.newsletter-thanks{display:none;font-size:.95rem;margin-top:.8rem}

/* === ABOUT HIGHLIGHT === */
.about-block{
  max-width:var(--max-layout);margin:0 auto;padding:2rem 1.5rem;
}
.about-inner{
  display:flex;gap:2rem;align-items:center;
  background:var(--bg-card);border-radius:var(--radius);
  padding:2rem;box-shadow:var(--shadow);border-left:4px solid var(--sec);
}
.about-inner .about-text{flex:1}
.about-inner .about-text h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.about-inner .about-text p{font-size:.88rem;color:var(--txt-light);margin-bottom:.8rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.about-inner .about-text a{font-weight:600;color:var(--sec)}
@media(max-width:640px){.about-inner{flex-direction:column}}

/* === FOOTER === */
.site-footer{
  border-top:2px solid var(--gris-light);padding:2rem 1.5rem;margin-top:2rem;
}
.footer-inner{
  max-width:var(--max-layout);margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
.footer-left{font-size:.84rem;color:var(--gris);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.footer-links{display:flex;gap:1.2rem}
.footer-links a{font-size:.8rem;color:var(--gris);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.footer-links a:hover{color:var(--sec)}

/* === COOKIE BANNER === */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:var(--txt);color:#fff;padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-size:.84rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.cookie-banner.hidden{display:none}
.cookie-banner button{
  background:var(--sec);color:#fff;border:none;
  padding:.5rem 1.2rem;border-radius:var(--radius);font-weight:600;
  font-size:.8rem;cursor:pointer;white-space:nowrap;
}

/* === 404 === */
.page-404{text-align:center;padding:5rem 1.5rem}
.page-404 h1{font-size:4rem;font-weight:700;color:var(--gris-light)}
.page-404 p{font-size:1.1rem;color:var(--txt-light);margin:.8rem 0 1.5rem}
.page-404 a{
  display:inline-block;padding:.7rem 1.5rem;background:var(--sec);color:#fff;
  border-radius:var(--radius);font-weight:600;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

/* === CATEGORY HEADER === */
.cat-header{max-width:var(--max-layout);margin:0 auto;padding:3rem 1.5rem 1rem}
.cat-header h1{font-size:1.7rem;font-weight:700;margin-bottom:.5rem}
.cat-header p{color:var(--txt-light);font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
