@font-face {font-family:'Poppins';src:url('/fonts/Poppins-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face {font-family:'Poppins';src:url('/fonts/Poppins-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:'Poppins';src:url('/fonts/Poppins-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face {font-family:'Marcellus';src:url('/fonts/Marcellus-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
*, *::before, *::after {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {margin:0;font-weight:300;font-family:'Poppins',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:18px;line-height:1.7;color:var(--texte);background-color:var(--page);overflow-x:hidden;}
img {max-width:100%;height:auto;}
a {color:var(--liens);text-underline-offset:4px;text-decoration-thickness:1px;}
a:hover {opacity:.85;}
a:focus-visible, button:focus-visible, summary:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
strong, b {font-weight:600;color:var(--accent);}
h1, h2, h3, h4 {font-family:'Marcellus',Georgia,serif;font-weight:400;color:var(--titres);line-height:1.2;}
h2 {font-size:clamp(26px,3.2vw,36px);margin:1.6em 0 .6em 0;}
h3 {font-size:clamp(21px,2.4vw,26px);margin:1.4em 0 .5em 0;}
h4 {font-size:20px;margin:1.2em 0 .4em 0;}
.fond-site {position:fixed;inset:0;z-index:-3;background-color:var(--page);background-size:cover;background-position:top center;background-repeat:no-repeat;}
.voile-profondeur {position:fixed;inset:0;z-index:-2;background:var(--page);opacity:0;pointer-events:none;}
.bandeau-apercu {margin:0;padding:8px 4vw;background:#B5651D;color:#FFFFFF;font-weight:600;text-align:center;font-size:15px;}
.barre-site {position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4vw;background:var(--zone);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.marque-site {display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-decoration:none;color:var(--titres);}
.logo-site {height:48px;width:auto;}
.nom-site {font-family:'Marcellus',Georgia,serif;font-size:24px;line-height:1.1;}
.slogan-site {font-size:14px;color:var(--texte);opacity:.8;flex-basis:100%;margin-top:-6px;}
.logo-site + .nom-site + .slogan-site {flex-basis:auto;}
.outils-site {display:flex;align-items:center;gap:12px;}
.bouton-langue {padding:6px 12px;border:1px solid var(--liens);border-radius:14px 0 14px 14px;text-decoration:none;font-weight:600;font-size:14px;}
.menu-site {position:relative;}
.bouton-menu {display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:8px 14px;border:1px solid var(--liens);border-radius:14px 0 14px 14px;color:var(--liens);font-weight:600;font-size:15px;user-select:none;}
.bouton-menu::-webkit-details-marker {display:none;}
.hamburger {display:flex;flex-direction:column;gap:4px;width:20px;}
.hamburger span {display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .3s,opacity .3s;}
.menu-site[open] .hamburger span:nth-child(1) {transform:translateY(6px) rotate(45deg);}
.menu-site[open] .hamburger span:nth-child(2) {opacity:0;}
.menu-site[open] .hamburger span:nth-child(3) {transform:translateY(-6px) rotate(-45deg);}
.panneau-menu {position:absolute;right:0;top:calc(100% + 10px);width:min(420px,92vw);max-height:calc(100vh - 100px);overflow-y:auto;padding:14px 10px;background:var(--zone-pleine);border-radius:14px 0 14px 14px;box-shadow:0 14px 40px rgba(0,0,0,.45);}
.panneau-menu ul {list-style:none;margin:0;padding:0;}
.panneau-menu ul ul {padding-left:14px;border-left:1px solid var(--zone);margin-left:10px;}
.panneau-menu a, .panneau-menu summary {display:block;padding:8px 12px;border-radius:8px;color:var(--texte);text-decoration:none;cursor:pointer;}
.panneau-menu summary {font-weight:600;color:var(--titres);list-style:none;position:relative;padding-right:30px;}
.panneau-menu summary::-webkit-details-marker {display:none;}
.panneau-menu summary::after {content:'';position:absolute;right:12px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s;}
.panneau-menu details[open] > summary::after {transform:translateY(-30%) rotate(-135deg);}
.panneau-menu a:hover, .panneau-menu summary:hover {background:rgba(255,255,255,.08);opacity:1;}
.panneau-menu a[aria-current="page"] {background:var(--accent);color:var(--page);font-weight:600;}
.hero {position:relative;display:flex;align-items:flex-end;isolation:isolate;}
.hero-photos {aspect-ratio:var(--ratio-hero);max-height:82vh;min-height:320px;width:100%;overflow:hidden;}
.hero-fond {min-height:46vh;padding-top:8vh;}
.diaporama {position:absolute;inset:0;z-index:-2;}
.diaporama img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;}
.diaporama img.active {opacity:1;}
.hero-photos::after {content:'';position:absolute;inset:auto 0 0 0;height:60%;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0));}
.hero-texte {width:100%;max-width:1200px;margin:0 auto;padding:0 4vw 6vh 4vw;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.hero-fond {padding-top:0;align-items:center;}
.hero-fond .hero-texte {padding-top:240px;padding-bottom:240px;}
.hero h1 {font-size:clamp(34px,5vw,64px);margin:0 0 12px 0;}
.hero-photos h1 {color:#FFFFFF;}
.sous-titre {font-size:clamp(17px,1.8vw,21px);margin:0 0 18px 0;max-width:760px;}
.hero-photos .sous-titre {color:#FFFFFF;}
.bouton-site {display:inline-block;padding:13px 26px;background:var(--accent);color:var(--page);font-weight:600;text-decoration:none;border-radius:14px 0 14px 14px;text-shadow:none;}
.bouton-site:hover {opacity:.9;}
.corps-page {max-width:1200px;margin:0 auto;padding:24px 4vw 60px 4vw;}
.fil-ariane ol {list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px 0;padding:0;font-size:14px;}
.fil-ariane li:not(:last-child)::after {content:'›';margin-left:8px;opacity:.6;}
.fil-ariane a {color:var(--texte);opacity:.85;}
.fil-ariane [aria-current] {color:var(--accent);}
.colonnes.avec-sous-menu {display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;}
.sous-menu {position:sticky;top:90px;background:var(--zone);border-radius:14px 0 14px 14px;padding:18px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.sous-menu-titre {font-family:'Marcellus',Georgia,serif;font-size:20px;color:var(--titres);margin:0 0 10px 10px;}
.sous-menu ul {list-style:none;margin:0;padding:0;}
.sous-menu a {display:block;padding:8px 10px;border-radius:8px;color:var(--texte);text-decoration:none;font-size:16px;line-height:1.4;}
.sous-menu a:hover {background:rgba(255,255,255,.08);opacity:1;}
.sous-menu a[aria-current="page"] {background:var(--accent);color:var(--page);font-weight:600;}
.article-page > * {background:var(--zone);border-radius:14px 0 14px 14px;padding:clamp(22px,4vw,48px);margin:0 0 24px 0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.texte-page > :first-child {margin-top:0;}
.texte-page::after {content:'';display:block;clear:both;}
.texte-page p, .texte-page li {max-width:none;}
.texte-page blockquote {margin:1.4em 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);font-family:'Marcellus',Georgia,serif;font-size:21px;}
.texte-page table {border-collapse:collapse;width:100%;margin:1em 0;display:block;overflow-x:auto;}
.texte-page td, .texte-page th {border:1px solid rgba(255,255,255,.2);padding:8px 12px;}
.texte-page hr {border:0;border-top:1px solid var(--accent);opacity:.4;margin:2em 0;}
.img-pleine {display:block;width:100%;margin:1.2em 0;border-radius:10px;}
.img-centre {display:block;max-width:min(100%,800px);margin:1.2em auto;border-radius:10px;}
.img-gauche {float:left;width:45%;margin:.3em 26px 1em 0;border-radius:10px;}
.img-droite {float:right;width:45%;margin:.3em 0 1em 26px;border-radius:10px;}
.img-vignette {width:200px;margin:.3em 12px;border-radius:8px;vertical-align:middle;}
.bas-page h2 {margin-top:0;}
.liste-pdf {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.carte-pdf {display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:12px;text-decoration:none;color:var(--texte);}
.carte-pdf:hover {border-color:var(--accent);opacity:1;}
.icone-pdf {flex-shrink:0;width:48px;height:58px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--page);font-weight:600;font-size:13px;border-radius:4px 14px 4px 4px;}
.carte-pdf strong {display:block;color:var(--titres);}
.carte-pdf .desc {display:block;font-size:15px;opacity:.85;}
.carte-pdf .taille {display:block;font-size:13px;opacity:.6;margin-top:4px;}
.liste-videos {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.video {margin:0;}
.video-facade, .video iframe {position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:12px;overflow:hidden;background:#000;cursor:pointer;}
.video-facade img {width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s;}
.video-facade:hover img {opacity:1;}
.bouton-lecture {position:absolute;left:50%;top:50%;width:68px;height:48px;transform:translate(-50%,-50%);background:rgba(0,0,0,.7);border-radius:14px;}
.bouton-lecture::after {content:'';position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #FFFFFF;}
.video-facade:hover .bouton-lecture {background:#E00;}
.video figcaption, .galerie figcaption {font-size:15px;margin-top:8px;opacity:.9;}
.liste-photos {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.galerie figure {margin:0;}
.lien-photo img {display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;transition:transform .3s;}
.lien-photo:hover img {transform:scale(1.02);}
.visionneuse {max-width:min(1600px,96vw);max-height:94vh;padding:0;border:0;background:transparent;color:#FFFFFF;}
.visionneuse::backdrop {background:rgba(0,0,0,.9);}
.visionneuse img {display:block;max-width:100%;max-height:86vh;margin:0 auto;border-radius:8px;}
.visionneuse p {text-align:center;margin:10px 0 0 0;}
.visionneuse button {position:fixed;top:14px;right:18px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#FFFFFF;font-size:26px;cursor:pointer;}
.faq details {border-bottom:1px solid rgba(255,255,255,.15);padding:6px 0;}
.faq summary {cursor:pointer;font-weight:600;padding:10px 0;color:var(--titres);}
.liste-evenements {list-style:none;padding:0;margin:1em 0;}
.liste-evenements li {padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);}
.liste-evenements a {text-decoration:none;}
.liste-evenements .dates {color:var(--accent);font-weight:600;}
.liste-evenements .statut {display:inline-block;padding:1px 8px;border-radius:10px;background:var(--accent);color:var(--page);font-size:13px;}
.liste-evenements p {margin:4px 0 0 0;font-size:16px;}
.pied-site {background:var(--zone-pleine);padding:40px 4vw 30px 4vw;margin-top:40px;font-size:16px;}
.pied-colonnes {max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;}
.pied-bloc p {margin:0 0 12px 0;}
.pied-bloc ul {list-style:none;margin:0;padding:0;}
.pied-bloc li {margin:0 0 8px 0;}
.pied-nom {font-family:'Marcellus',Georgia,serif;font-size:22px;color:var(--titres);}
.pied-texte, .pied-copyright {max-width:1200px;margin:24px auto 0 auto;text-align:center;font-size:14px;opacity:.75;}
.commentaires h2 {margin-top:0;}
.commentaire {padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15);}
.commentaire p {margin:0 0 8px 0;}
.commentaire-tete {font-size:15px;}
.commentaire-tete time {opacity:.7;margin-left:6px;}
.reponse {margin:10px 0 0 24px;padding:10px 0 0 16px;border-left:3px solid var(--accent);}
.formulaire-site {margin-top:28px;}
.formulaire-site label {display:block;margin:14px 0 0 0;font-size:16px;}
.formulaire-site input[type=text], .formulaire-site input[type=email], .formulaire-site input[type=tel], .formulaire-site select, .formulaire-site textarea {display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(0,0,0,.25);color:var(--texte);font:inherit;font-size:16px;}
.formulaire-site input:focus, .formulaire-site select:focus, .formulaire-site textarea:focus {outline:2px solid var(--accent);outline-offset:1px;}
.formulaire-site select option {color:#111;}
.ligne-champs {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 16px;}
.choix-site {border:0;padding:0;margin:16px 0 0 0;}
.choix-site legend {font-size:16px;padding:0;}
.case-site {display:flex !important;gap:10px;align-items:flex-start;font-size:15px !important;}
.case-site input {margin-top:5px;width:18px;height:18px;flex-shrink:0;}
.champ-piege {position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cf-turnstile {margin:18px 0 0 0;}
.formulaire-site .bouton-site {margin-top:18px;border:0;cursor:pointer;font:inherit;font-weight:600;}
.aide-site {font-size:14px;opacity:.75;margin:14px 0 0 0;}
.message-formulaire {padding:12px 16px;border-radius:8px;font-weight:600;}
.message-formulaire.erreur {background:rgba(180,40,30,.35);}
.message-formulaire.succes {background:rgba(40,140,70,.35);}
.descendre {display:block;position:relative;height:0;z-index:5;}
.descendre .plonger {position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;letter-spacing:.08em;color:var(--texte);text-decoration:none;opacity:.8;}
.descendre .plonger:hover {opacity:1;}
.descendre .plonger span {display:block;width:1px;height:46px;background:linear-gradient(to bottom,var(--accent),transparent);}
@media (max-width:900px) {
.colonnes.avec-sous-menu {grid-template-columns:1fr;}
.sous-menu {position:static;}
.img-gauche, .img-droite {float:none;width:100%;margin:1em 0;}
.descendre {display:none;}
}
@media (max-width:600px) {
body {font-size:17px;}
.nom-site {font-size:20px;}
.slogan-site {display:none;}
.texte-menu {display:none;}
.hero-photos {aspect-ratio:auto;height:62vh;}
.panneau-menu {position:fixed;left:3vw;right:3vw;top:70px;width:auto;}
}
@media (prefers-reduced-motion:reduce) {
html {scroll-behavior:auto;}
.diaporama img, .lien-photo img, .hamburger span {transition:none;}
}
