@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/img/montserrat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/img/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url(/img/playfair-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url(/img/playfair-display-latin-400-italic.woff2) format("woff2")}
:root{--creme:#faf7f2;--creme2:#f1ece3;--vert:#3e4a3d;--vert2:#56654f;--encre:#2b2a28;--gris:#6b675f;--ligne:#ddd5c8;--titre:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--texte:"Playfair Display",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--texte);font-size:1.08rem;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--vert)}
h1,h2,h3{font-family:var(--titre);font-weight:500;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;color:var(--encre)}
h1{font-size:clamp(1.5rem,4vw,2.3rem)}
h2{font-size:clamp(1.15rem,2.6vw,1.45rem);margin:0 0 1.2rem}
h2::after{content:"";display:block;width:46px;height:1px;background:var(--encre);margin-top:1rem}
h3{font-size:1rem;margin:0 0 .5rem}
.saut{position:absolute;left:-9999px}.saut:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem 1rem}
.entete{position:fixed;top:12px;left:12px;right:12px;z-index:50;background:rgba(250,247,242,.94);border-radius:14px;box-shadow:0 2px 14px rgba(0,0,0,.08);backdrop-filter:blur(6px)}
.entete .in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.2rem}
.marque{font-family:var(--titre);font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--encre);font-size:.9rem}
.nav{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}
.nav a{font-family:var(--titre);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--encre)}
.nav a:hover,.nav a[aria-current]{color:var(--vert2);text-decoration:underline;text-underline-offset:4px}
.nav .btn{color:var(--creme)}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--encre);padding:.2rem .4rem}
@media (max-width:860px){.menu-btn{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;background:var(--creme);padding:1rem 1.4rem 1.4rem;border-radius:0 0 14px 14px;box-shadow:0 8px 14px rgba(0,0,0,.08)}.nav.ouvert{display:flex}}
.btn{display:inline-block;background:var(--vert);color:var(--creme);font-family:var(--titre);font-size:.82rem;letter-spacing:.06em;text-decoration:none;padding:.75rem 1.3rem;border-radius:6px;border:0;cursor:pointer}
.btn:hover{background:var(--vert2)}
.btn.fonce{background:#252c24;color:#faf7f2;font-weight:600}
.btn.fonce:hover,.btn.fonce[aria-current]{background:#3e4a3d;color:#faf7f2;text-decoration:none}
.btn.clair{background:transparent;color:var(--vert);border:1px solid var(--vert)}
.hero{min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(rgba(43,42,40,.5),rgba(43,42,40,.5)),var(--fond) center/cover no-repeat;padding:7rem 1.2rem 4rem}
.hero.petit{min-height:52vh}
.hero h1{color:#fff;max-width:900px;margin:0 auto 1.5rem}
.hero p{max-width:820px;margin:0 auto 1.8rem;font-size:clamp(1.05rem,2.2vw,1.35rem)}
.bloc{max-width:1200px;margin:0 auto;padding:4.5rem 1.2rem}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.deux.inv>:first-child{order:2}
@media (max-width:800px){.deux{grid-template-columns:1fr;gap:1.8rem}.deux.inv>:first-child{order:0}}
.cadre{border:1px solid var(--ligne);border-radius:10px;padding:6px;background:#fff}
.cadre img{border-radius:6px;width:100%;aspect-ratio:4/3;object-fit:cover}
.fond2{background:var(--creme2)}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}
.chiffres strong{display:block;font-family:var(--titre);font-size:2.4rem;font-weight:500;color:var(--vert)}
@media (max-width:700px){.chiffres{grid-template-columns:1fr}}
.avis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.avis article{background:#fff;border:1px solid var(--ligne);border-radius:10px;overflow:hidden}
.avis img{aspect-ratio:16/10;object-fit:cover;width:100%}
.avis div{padding:1.2rem 1.3rem}
.avis p{margin:0;font-style:italic}
@media (max-width:900px){.avis{grid-template-columns:1fr}}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2.4rem}
.faq .q{border-top:1px solid var(--ligne);padding:1rem 0}
.faq h3{font-size:.95rem;margin:0 0 .6rem}
.faq h3 span{color:var(--vert2);margin-right:.7rem}
.faq p{margin:0}
@media (max-width:800px){.faq{grid-template-columns:1fr}}
.acces{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.acces h3{margin-top:1.4rem}
@media (max-width:800px){.acces{grid-template-columns:1fr}}
form.contact{display:grid;gap:1rem}
form.contact label{font-family:var(--titre);font-size:.82rem;letter-spacing:.04em}
form.contact input,form.contact textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1px solid var(--ligne);border-radius:6px;background:#fff}
form.contact textarea{min-height:140px}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem}
form.contact .consent{font-family:var(--texte);font-size:.92rem;letter-spacing:0;line-height:1.5}
form.contact .consent input{width:18px;height:18px;flex:0 0 18px;margin-top:.2rem;padding:0}
.miel{position:absolute;left:-9999px}
.msg{padding:1rem 1.2rem;border-radius:8px;background:#e7efe3;border:1px solid #b9cdb1}
.msg.err{background:#f6e7e3;border-color:#dcb7ad}
.activite{display:grid;grid-template-columns:5fr 7fr;gap:2.4rem;align-items:center;padding:2.4rem 0;border-bottom:1px solid var(--ligne)}
.activite:nth-child(even) .cadre{order:2}
.activite h2{font-size:1.15rem}
@media (max-width:800px){.activite{grid-template-columns:1fr}.activite:nth-child(even) .cadre{order:0}}
.texte{max-width:860px;margin:0 auto;padding:8rem 1.2rem 4rem}
.texte h2{margin-top:2.4rem;font-size:1.05rem}
.texte h2::after{display:none}
.texte table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.95rem}
.texte th,.texte td{border:1px solid var(--ligne);padding:.55rem .7rem;text-align:left;vertical-align:top}
.texte th{background:var(--creme2);font-family:var(--titre);font-weight:500;font-size:.82rem}
.cadre-iframe{max-width:1200px;margin:0 auto;padding:0 1.2rem 4rem}
.cadre-iframe iframe{display:block;width:100%;border:0}
.ariane{font-family:var(--titre);font-size:.75rem;letter-spacing:.05em;color:var(--gris);margin-bottom:1rem}
.ariane a{color:var(--gris)}
.pied{background:var(--vert);color:var(--creme);font-family:var(--titre);font-size:.82rem;letter-spacing:.03em}
.pied .in{max-width:1200px;margin:0 auto;padding:2.4rem 1.2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.pied a{color:var(--creme)}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.pied .bas{border-top:1px solid rgba(250,247,242,.25);text-align:center;padding:1rem;font-size:.75rem}
@media (max-width:800px){.pied .in{grid-template-columns:1fr}}
.langues{display:inline-flex;gap:.15rem;margin-left:.4rem;border-left:1px solid var(--ligne);padding-left:.8rem}
.langues a{font-size:.72rem;padding:.2rem .35rem;border-radius:4px;text-decoration:none}
.langues a[aria-current]{background:var(--vert);color:var(--creme)}
@media (max-width:860px){.langues{border-left:0;padding-left:0;margin-left:0}}
.note{background:var(--creme2);border-left:3px solid var(--vert);padding:.8rem 1rem;font-size:.95rem}
.visuel-cache{font-size:1rem;margin-top:1.6rem}
.visuel-cache::after{display:none}
