*{box-sizing:border-box}body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;color:#33302b;background:#fffaf2;line-height:1.6}
header.site{background:#fff;border-bottom:4px solid #f2b33d;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(90,60,0,.08)}
.bar{max-width:1120px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#33302b}
.brand img{height:58px;width:auto}.brand b{font-size:1.12rem;line-height:1.25;color:#7a4d00}
nav.main{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
nav.main a{padding:9px 12px;border-radius:20px;text-decoration:none;color:#5a4632;font-weight:600;font-size:.94rem}
nav.main a:hover,nav.main a.on{background:#fdeec9;color:#7a4d00}
.lang{display:flex;gap:6px}.lang button{border:2px solid #f2b33d;background:#fff;border-radius:16px;padding:5px 12px;font-weight:700;cursor:pointer;color:#7a4d00}
.lang button.on{background:#f2b33d;color:#fff}
.btn{display:inline-block;background:#a85e0f;color:#fff;padding:13px 24px;border-radius:26px;text-decoration:none;font-weight:700;box-shadow:0 3px 10px rgba(168,94,15,.35)}
.btn.alt{background:#fff;color:#a85e0f;border:2px solid #a85e0f;box-shadow:none}
.btn.parents{background:#4a7fb5;box-shadow:none}
.hero{background:linear-gradient(120deg,#fff3d6,#ffe3ec 55%,#dff3e4);padding:52px 18px 44px}
.hero-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.hero h1{font-size:2.3rem;line-height:1.15;margin:0 0 14px;color:#6b3f00}
.hero p.lead{font-size:1.13rem;margin:0 0 22px}
.hero img{width:100%;border-radius:18px;box-shadow:0 10px 30px rgba(90,60,0,.18)}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.facts span{background:#fff;border:1.5px solid #f2b33d;border-radius:18px;padding:6px 14px;font-weight:700;color:#7a4d00;font-size:.92rem}
main{max-width:1120px;margin:0 auto;padding:34px 18px 10px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}
.card{background:#fff;border:1px solid #f0dfc0;border-radius:16px;padding:24px;box-shadow:0 3px 12px rgba(90,60,0,.06)}
.card h3{margin-top:0;color:#c25e10;font-size:1.3rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}
.mini{background:#fff;border:1px solid #f0dfc0;border-radius:14px;padding:18px}
.mini h4{margin:0 0 8px;color:#7a4d00}
table.tarif{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
table.tarif th,table.tarif td{padding:13px 16px;text-align:left;border-bottom:1px solid #f0dfc0}
table.tarif th{background:#fdeec9;color:#7a4d00}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.gallery a{display:block}.gallery img{width:100%;height:150px;object-fit:cover;border-radius:12px}
form.f{display:grid;gap:12px;max-width:560px}form.f label{font-weight:600}
form.f input,form.f select,form.f textarea{width:100%;padding:11px;border:1.5px solid #dcc9a3;border-radius:10px;font:inherit}
.cta-band{background:#fff3d6;border-radius:16px;padding:26px;text-align:center;margin:30px 0}
section.steps{background:#fff;border:1.5px solid #f0dfc0;border-radius:16px;padding:26px;margin:0 0 26px;box-shadow:0 3px 12px rgba(90,60,0,.06)}
section.steps h2{margin:0 0 18px;color:#6b3f00;font-size:1.55rem}
.step{display:inline-block;background:#f2b33d;color:#fff;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;font-size:1rem;margin-right:6px}
section.steps .mini p{font-size:.95rem}
section.steps .btn{margin-top:8px}
footer{background:#4a3b28;color:#f5ead6;margin-top:44px}footer .bar{align-items:flex-start}
footer a{color:#ffd98a}
.note{font-size:.88rem;color:#8a7a63}
@media(max-width:820px){.hero-in,.cards,.grid3{grid-template-columns:1fr}.hero h1{font-size:1.8rem}nav.main{margin-left:0}}

/* v15: extracted from inline style= attributes */
.imgframe{border-radius:16px;max-width:520px;width:100%}
.imgfloat{float:right;width:213px;border-radius:12px;margin:0 0 12px 18px}
.mt18{margin-top:18px}
@media(max-width:640px){.imgfloat{float:none;display:block;margin:0 auto 14px}}

/* v16 — barre d'action mobile collante : Appeler / Réserver une visite / Inscription */
.stickbar{display:none}
.visuallyhidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:720px){
  body{padding-bottom:84px}
  .stickbar{display:flex;align-items:stretch;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#7a4d00;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 12px rgba(0,0,0,.2)}
  .stickbar-item{flex:1;display:flex;align-items:center;justify-content:center;background:#a85e0f;color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;line-height:1.25;padding:12px 6px;border-radius:10px;text-align:center}
  .stickbar-item:hover{background:#8f500c}
}

/* v17 — réparation accessibilité v10 : le lien d'évitement, le focus visible et le mouvement réduit étaient restés dans style.css orphelin, désormais dans le CSS chargé par les pages */
.skip{position:absolute;left:-9999px;top:0;background:#1f1f1f;color:#fff;padding:10px 18px;z-index:300;border-radius:0 0 10px 0;text-decoration:none;font-weight:bold}
.skip:focus{left:0}
:focus-visible{outline:3px solid #1a6fb5;outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
