*,*::before,*::after{box-sizing:border-box}
:root{
  --encre:#1c1c1a; --fond:#faf8f4; --accent:#7c5a3f; --gris:#6e6a63;
  --ligne:#e2ddd4; --carte:#fffefb;
  --police:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--police);font-size:17px;line-height:1.65;
  color:var(--encre);background:var(--fond)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.conteneur{max-width:1100px;margin:0 auto;padding:0 1.1rem}
.etroit{max-width:720px}

header.site{border-bottom:1px solid var(--ligne);background:var(--carte)}
.bandeau{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 0;flex-wrap:wrap}
.logo{font-size:1.15rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--encre);text-decoration:none}
.logo small{display:block;font-size:.62rem;font-weight:400;letter-spacing:.09em;
  color:var(--gris);text-transform:none;margin-top:.15rem}
nav.site ul{display:flex;gap:.35rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav.site a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;
  color:var(--encre);text-decoration:none;font-size:.93rem}
nav.site a:hover,nav.site a[aria-current]{color:var(--accent)}

.fil{font-size:.82rem;color:var(--gris);padding:1rem 0 0}
.fil a{color:var(--gris)}
.fil span{margin:0 .35rem}

h1{font-size:clamp(1.65rem,4.2vw,2.3rem);line-height:1.2;margin:.6rem 0 .5rem;letter-spacing:-.01em}
h2{font-size:clamp(1.25rem,2.8vw,1.5rem);line-height:1.3;margin:2.2rem 0 .6rem}
.meta{color:var(--gris);font-size:.87rem;margin:0 0 1.6rem}
article.corps p{margin:0 0 1.1rem}
article.corps ul{margin:0 0 1.2rem;padding-left:1.15rem}
article.corps li{margin:.35rem 0}
.tableau{overflow-x:auto;margin:0 0 1.3rem}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--ligne)}
th{font-weight:600;background:var(--carte)}

.hero{padding:2.6rem 0 2rem;border-bottom:1px solid var(--ligne)}
.hero p{color:var(--gris);font-size:1.06rem;max-width:46ch;margin:.4rem 0 0}

.grille{display:grid;gap:1.4rem;grid-template-columns:1fr;margin:1.6rem 0 0;padding:0;list-style:none}
@media(min-width:620px){.grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
.carte{background:var(--carte);border:1px solid var(--ligne);display:flex;flex-direction:column}
.carte img{aspect-ratio:3/2;object-fit:cover}
.carte .dedans{padding:.95rem 1rem 1.2rem}
.carte h3{margin:.2rem 0 .4rem;font-size:1.03rem;line-height:1.35}
.carte h3 a{color:var(--encre);text-decoration:none}
.carte h3 a:hover{color:var(--accent)}
.carte p{margin:0;color:var(--gris);font-size:.9rem}
.etiquette{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}

.section{padding:2.4rem 0}
.section+.section{border-top:1px solid var(--ligne)}
.lettre{background:var(--carte);border:1px solid var(--ligne);padding:1.4rem}
.lettre form{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0 0}
.lettre input{flex:1 1 12rem;min-height:44px;padding:0 .7rem;font:inherit;font-size:16px;
  border:1px solid var(--ligne);background:#fff;color:var(--encre)}
.lettre button{min-height:44px;padding:0 1.1rem;font:inherit;font-size:.93rem;border:0;
  background:var(--encre);color:#fff;cursor:pointer}
.lettre button:hover{background:var(--accent)}

.partage{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 0;padding:1.1rem 0 0;
  border-top:1px solid var(--ligne)}
.partage a{display:inline-flex;align-items:center;min-height:44px;padding:0 .85rem;
  border:1px solid var(--ligne);color:var(--encre);text-decoration:none;font-size:.87rem}
.partage a:hover{border-color:var(--accent);color:var(--accent)}

footer.site{border-top:1px solid var(--ligne);background:var(--carte);margin-top:3rem;
  padding:2rem 0;font-size:.88rem;color:var(--gris)}
footer.site ul{display:flex;gap:.2rem;flex-wrap:wrap;list-style:none;margin:.7rem 0;padding:0}
footer.site a{display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;color:var(--gris)}
footer.site .societe{color:var(--encre);font-weight:600}

.cookies{position:fixed;left:0;right:0;bottom:0;background:var(--encre);color:#f4f1ea;
  padding:.9rem 1.1rem;display:flex;gap:1rem;align-items:center;justify-content:center;
  flex-wrap:wrap;font-size:.88rem;z-index:40}
.cookies button{min-height:44px;padding:0 1rem;font:inherit;font-size:.87rem;border:0;
  background:#f4f1ea;color:var(--encre);cursor:pointer}
.legal h2{font-size:1.12rem}
.legal dl{margin:0 0 1.4rem}
.legal dt{font-weight:600;margin:.7rem 0 .1rem}
.legal dd{margin:0;color:var(--gris)}
