*{box-sizing:border-box}
:root{--brun:#1F3B4D;--nuit:#183041;--lin:#F6F0E4;--beige:#DDEBF3;--fond:#EADFCB;--sable:#D8CBB2;--terre:#2F6B8F;--terre2:#245572;--texte:#2E3A44;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:1.0625rem/1.7 var(--sans);color:var(--texte);background:var(--lin)}
h1,h2,h3{font-weight:700;line-height:1.25;margin:0 0 .6em;color:var(--brun)}
h1{font-size:clamp(2rem,5vw,3rem)}
h2{font-size:clamp(1.5rem,3.2vw,2rem);padding-bottom:.55em;position:relative;margin-bottom:1.3em}
h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:var(--terre)}
h3{font-size:1.15rem}
p{margin:0 0 1em;max-width:66ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--terre);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
section{padding:clamp(3rem,7vw,5.5rem) 0}
.alt{background:var(--beige)}
.todo{background:#fff3c4;color:#1C2B27;padding:0 .25em;border-radius:2px;font-style:normal}
.note{font-size:.93rem;color:#4a5a66}

.topbar{background:var(--nuit);color:#dbe8f0;font-size:.875rem}
.topbar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1.5rem;padding-top:.5rem;padding-bottom:.5rem}
.topbar a{text-decoration:none}
header.top{background:var(--lin);border-bottom:1px solid var(--sable);position:sticky;top:0;z-index:10}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem;padding-bottom:.8rem}
.logo{text-decoration:none;color:var(--brun);font-weight:700;font-size:1.15rem;line-height:1.2}
.logo small{display:block;font-weight:400;font-size:.8rem;color:#56677a}
nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-size:.95rem;color:var(--brun);font-weight:500}
nav a:hover{text-decoration:underline;text-underline-offset:4px}
.burger{display:none;align-items:center;gap:.6rem;background:none;border:1px solid var(--brun);color:var(--brun);font:inherit;font-weight:600;padding:.5rem .85rem;border-radius:6px;cursor:pointer}
.burger-barres,.burger-barres::before,.burger-barres::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,top .2s,background .2s}
.burger-barres{position:relative}
.burger-barres::before,.burger-barres::after{content:"";position:absolute;left:0}
.burger-barres::before{top:-6px}
.burger-barres::after{top:6px}
.burger[aria-expanded="true"] .burger-barres{background:transparent}
.burger[aria-expanded="true"] .burger-barres::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] .burger-barres::after{top:0;transform:rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.burger-barres,.burger-barres::before,.burger-barres::after{transition:none}}
@media (max-width:900px){
  header.top .wrap{flex-wrap:wrap}
  .js .burger{display:inline-flex}
  nav{width:100%}
  nav ul{flex-direction:column;gap:0}
  nav li a{display:block;padding:.85rem .25rem;border-top:1px solid var(--sable)}
  .js nav:not(.open){display:none}
  .js nav.open{max-height:calc(100vh - 6rem);overflow-y:auto}
  .topbar .wrap{justify-content:center;text-align:center}
  html{scroll-padding-top:6rem}
}

.btn{display:inline-block;background:var(--terre);color:#fff;font-weight:600;text-decoration:none;padding:.9rem 1.5rem;border-radius:6px;text-align:center}
.btn:hover{background:var(--terre2)}
.btn-sec{background:#fff;color:var(--terre);box-shadow:inset 0 0 0 2px var(--terre)}
.btn-sec:hover{background:var(--beige);color:var(--terre2)}
.boutons,.cta{display:flex;flex-wrap:wrap;gap:.75rem;max-width:none}

.hero{background:var(--fond);padding:4.5rem 0}
.hero .wrap{display:grid;grid-template-columns:1.4fr .8fr;gap:3rem;align-items:center}
.hero .sous{font-size:1.25rem;color:var(--brun)}
.hero .actions{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;margin-top:1.5rem}
.hero .lien{text-underline-offset:4px;font-weight:500}
.rdv{background:#fff;padding:1.75rem;border-radius:6px;border:1px solid var(--sable);border-top:4px solid var(--terre)}
.rdv h2{font-size:1.25rem;padding:0;margin:0 0 .6em}
.rdv h2::after{display:none}
.rdv .btn{display:block;font-size:1.2rem}
.rdv .btn+.btn{margin-top:.75rem}
.rdv p{font-size:.95rem}
@media (max-width:900px){.hero{padding:3rem 0}.hero .wrap{grid-template-columns:1fr;gap:2rem}}

.bandeau{background:#fff;border-bottom:1px solid var(--sable)}
.bandeau ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.bandeau li{padding:1.1rem 1.25rem;font-size:.95rem;border-left:1px solid var(--sable)}
.bandeau li:first-child{border-left:0}
.bandeau strong{display:block;color:var(--brun)}
@media (max-width:620px){.bandeau li{border-left:0;border-top:1px solid var(--sable)}.bandeau li:first-child{border-top:0}}

.outils,.offres{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
.outils{margin-top:1.5rem}
.outils>*,.offres>*{grid-column:span 2}
.outils>*:nth-child(n+4),.offres>*:nth-child(n+4){grid-column:span 3}
@media (max-width:980px){.outils,.offres{grid-template-columns:repeat(2,1fr)}
.outils>*,.offres>*,.outils>*:nth-child(n+4),.offres>*:nth-child(n+4){grid-column:auto}
.outils>*:last-child,.offres>*:last-child{grid-column:1/-1}}
@media (max-width:620px){.outils,.offres{grid-template-columns:1fr}
.outils>*:last-child,.offres>*:last-child{grid-column:auto}}
.outils div{background:#fff;border:1px solid var(--sable);border-top:3px solid var(--terre);padding:1.25rem;border-radius:4px}
.outils p{margin:0;font-size:.97rem}
.motifs{columns:2 260px;column-gap:2.5rem;margin:1rem 0 1.5rem;padding:1.25rem 1.5rem 1.25rem 2.6rem;background:#fff;border:1px solid var(--sable);border-radius:6px}
.motifs li{padding:.2rem 0;break-inside:avoid}

.yourte .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:2.5rem;align-items:center}
.photo{aspect-ratio:4/3;border-radius:6px;background:var(--fond);border:1px dashed #a8946f;display:grid;place-items:center;text-align:center;padding:1rem;color:#5b4d3f;font-size:.95rem}
.yourte figure{margin:0}
.yourte img{width:100%;height:auto;display:block;border-radius:6px}
.galerie{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:760px){.galerie{grid-template-columns:1fr}.yourte .wrap{grid-template-columns:1fr}section{padding:3.25rem 0}}

.offre{background:#fff;border:1px solid var(--sable);border-radius:6px;padding:1.5rem}
.offre h3{margin-bottom:.2em}
.offre .prix{font-size:1.6rem;font-weight:700;color:var(--terre);margin:.2em 0 1em}
.offre dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;font-size:.95rem;border-top:1px solid var(--sable);padding-top:1rem}
.offre dt{color:#56677a}
.offre dd{margin:0}

details{border-bottom:1px solid var(--sable);padding:1rem 0;max-width:760px}
summary{cursor:pointer;font-weight:600;color:var(--brun)}
details p{margin:.6rem 0 0}

.contact{background:#CFE2EE;color:var(--texte)}
.contact h2,.contact h3{color:var(--brun)}
.contact .regle{font-size:1.2rem;max-width:44ch}
.contact .grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:2.5rem}
.contact a:not(.btn){color:var(--brun);text-underline-offset:3px}

.mentions{font-size:.97rem}
.mentions .wrap{max-width:820px}
.mentions h1{margin-bottom:1em}
.mentions h3{margin-top:1.5em}
footer{background:var(--nuit);color:#cfe0ea;padding:3rem 0 6rem;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
footer h3{color:#fff;font-size:1rem}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:.4rem}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
footer .bas{margin-top:2rem;padding-top:1rem;border-top:1px solid #2f4b60}

.appel-mobile{display:none}
@media (max-width:760px){
  .appel-mobile{display:flex;gap:.5rem;position:fixed;left:0;right:0;bottom:0;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px));background:var(--nuit);z-index:20}
  .appel-mobile .btn{flex:1;padding:.9rem .5rem}
}
.galerie img{aspect-ratio:4/3;object-fit:cover}

.offre{display:flex;flex-direction:column;padding:1.6rem}
.offre .prix small{font-size:.95rem;font-weight:400;color:#56677a;margin-left:.4rem}
.infos{list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid var(--sable);font-size:.97rem}
.infos li{padding:.3rem 0}
.infos strong{color:var(--brun)}
.outils div{padding:1.4rem}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:50}
address{font-style:normal}
.cta{margin-top:2rem}

.sous-titre{margin-top:2.5rem}
.note-paiement{margin-top:1.75rem}
.carte{margin-top:2.5rem;min-height:340px;display:grid;place-items:center;align-content:center;gap:1rem;text-align:center;padding:1.5rem;background:#fff;border:1px solid var(--sable);border-radius:6px}
.carte p{margin:0 auto}
.carte iframe{width:100%;height:380px;border:0;border-radius:6px;display:block}
.carte.chargee{padding:0;min-height:0;display:block;background:none;border:0}

.parcours{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:start}
.parcours-photo{margin:0}
.parcours-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;display:block;border-radius:6px;border:1px solid var(--sable)}
@media (max-width:760px){.parcours{grid-template-columns:1fr;gap:1.5rem}.parcours-photo{order:-1;max-width:320px}}
footer .bas a{text-decoration:underline;text-underline-offset:3px}
