:root{--fond:#F6F4EE;--surface:#FFF;--ligne:#D6D1C4;--texte:#1F2421;--texte2:#5B625D;--action:#1D6A4C}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.6 "Atkinson Hyperlegible",system-ui,sans-serif}
header,main,footer{max-width:720px;margin:0 auto;padding:0 16px}
header{display:flex;align-items:center;gap:12px;padding-top:24px}
header img{width:40px;height:40px}
header a{color:var(--texte);text-decoration:none;font-weight:700;font-size:20px}
h1{font-size:30px;line-height:1.2;margin:32px 0 8px}
h2{font-size:21px;margin:32px 0 8px}
a{color:var(--action)}
.date,footer{color:var(--texte2);font-size:15px}
.carte{background:var(--surface);border:1px solid var(--ligne);border-radius:12px;padding:16px 20px;margin:16px 0}
footer{border-top:1px solid var(--ligne);margin-top:48px;padding-top:16px;padding-bottom:32px}
footer a{margin-right:16px}

/* Accueil */
.accueil header{display:none}
.hero{background:#1D6A4C;color:#fff}
.hero-in{max-width:1040px;margin:0 auto;padding:40px 16px 0;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.marque{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px}
.marque img{width:48px;height:48px;border-radius:12px}
.hero h1{font-size:46px;line-height:1.1;margin:40px 0 16px;letter-spacing:-.5px}
.hero p.chapo{font-size:20px;color:#D9EBE2;margin:0 0 28px;max-width:30em}
.stores{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.store{display:inline-flex;flex-direction:column;justify-content:center;min-width:180px;padding:10px 20px;border-radius:12px;background:#24170F;color:#fff;text-decoration:none;line-height:1.2}
.store small{font-size:12px;color:#D6D1C4}
.store b{font-size:19px}
.store[aria-disabled=true]{opacity:.85;cursor:default}
.note{font-size:15px;color:#D9EBE2;margin:0 0 40px}
.telephone{justify-self:center;width:280px;border-radius:32px 32px 0 0;border:8px solid #24170F;border-bottom:0;overflow:hidden;height:440px;background:#24170F}
.telephone img{width:100%;display:block}
.points{max-width:1040px;margin:0 auto;padding:64px 16px 16px}
.points h2{font-size:30px;text-align:center;margin:0 0 40px}
.grille{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grille figure{margin:0;background:#fff;border:1px solid #D6D1C4;border-radius:16px;overflow:hidden}
.grille figure div{height:420px;overflow:hidden;background:#F6F4EE}
.grille img{width:100%;display:block}
.grille figcaption{padding:16px 20px 20px;font-weight:700;font-size:18px;line-height:1.35}
.grille figcaption span{display:block;font-weight:400;font-size:16px;color:#5B625D;margin-top:6px}
.engagements{max-width:1040px;margin:48px auto 0;padding:0 16px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.engagements span{background:#EFECE3;border-radius:999px;padding:8px 16px;font-size:16px}
.accueil footer{max-width:1040px}
@media (max-width:820px){
  .hero-in{grid-template-columns:1fr;gap:8px}
  .hero h1{font-size:34px;margin-top:28px}
  .telephone{width:240px;height:380px}
  .grille{grid-template-columns:1fr}
  .grille figure div{height:380px}
}
