
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(/assets/fonts/nunito-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(/assets/fonts/nunito-sans-latin-700-normal.woff2) format("woff2");font-weight:600 700;font-display:swap}
:root{
--police-titre:"Fraunces",Georgia,"Times New Roman",serif;
--police-texte:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--police-priere:"Fraunces",Georgia,serif;
--graisse-titre:600;
--fond:#FFFFFF; --texte:#2B2320; --texte-doux:#62564F; --titre:#6B0F1A;
--accent:#E58A00; --accent-texte:#B35400; --or:#F2B705; --ciel:#E9F0FB; --ciel-fort:#A9C1E6;
--lien:#8A1422; --lien-survol:#B35400; --focus:#E58A00;
--ligne:#EFE6DA; --ligne-forte:#F3C77A; --survol:#FFF4E0; --panneau:#FFF4E0; --carte:#FFFFFF;
--ombre:0 14px 34px rgba(107,15,26,.10);
--rayon:10px; --rayon-carte:18px; --rayon-bouton:999px;
--bouton:#6B0F1A; --bouton-survol:#8A1422; --bouton-texte:#FFFFFF; --bouton-contour:#6B0F1A; --bouton-contour-texte:#6B0F1A;
--entete-fond:rgba(255,255,255,.92); --ariane:#62564F;
--champ:#FFFCF7; --champ-bord:#E2D5C4;
--encart-fond:#6B0F1A; --encart-texte:#FBE9E3; --encart-titre:#FFD27A; --encart-lien:#FFD27A; --encart-bouton:#F2B705; --encart-bouton-texte:#3A0A0F;
--pied-fond:#4A0A12; --pied-texte:#F1DCD6; --pied-titre:#FFD27A; --pied-lien:#FFFFFF; --pied-ligne:#6E2430;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--police-texte);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--lien);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--lien-survol)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3{font-family:var(--police-titre);color:var(--titre);line-height:1.15;margin:0 0 .55em;font-weight:var(--graisse-titre)}
h1{font-size:clamp(2.3rem,5.4vw,4rem)}
h2{font-size:clamp(1.65rem,3.2vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
address{font-style:normal}
.citation+section{padding-top:0}
ul,ol{padding-left:1.2rem}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.5rem}
.etroit{max-width:42rem}
.centre{text-align:center}
.visuellement-cache{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lien-evitement{position:absolute;left:-999px;top:.5rem;z-index:100;background:var(--titre);color:#fff;padding:.6rem 1rem;border-radius:4px}
.lien-evitement:focus{left:1rem}
section,.bloc{padding:clamp(3.5rem,8vw,6rem) 0}
.entete{position:sticky;top:0;z-index:30;background:var(--entete-fond);border-bottom:1px solid var(--ligne);backdrop-filter:saturate(1.4) blur(8px)}
.barre{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem}
.marque{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--titre)}
.marque img{width:48px;height:48px}
.marque .nom{font-family:var(--police-titre);font-size:1.3rem;line-height:1.05;font-weight:var(--graisse-titre)}
.marque .devise-courte{display:block;font-family:var(--police-texte);font-size:.8rem;color:var(--texte-doux);font-weight:400;letter-spacing:.01em}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.2rem}
.nav a{display:block;padding:.55rem .85rem;border-radius:var(--rayon);text-decoration:none;color:var(--texte);font-size:.98rem}
.nav a:hover{background:var(--survol)}
.nav a[aria-current="page"]{color:var(--titre);box-shadow:inset 0 -2px 0 var(--accent)}
.sous-menu{position:relative}
.sous-menu>a::after{content:"";display:inline-block;width:.38em;height:.38em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.2em) rotate(45deg);margin-left:.5em}
.sous-menu ul{display:none;list-style:none;margin:0;padding:.4rem;position:absolute;top:100%;left:0;min-width:15rem;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);box-shadow:var(--ombre)}
.sous-menu:hover ul,.sous-menu:focus-within ul{display:block}
.nav .contact-btn{background:var(--bouton);color:var(--bouton-texte);margin-left:.4rem}
.nav .contact-btn:hover{background:var(--bouton-survol);color:var(--bouton-texte)}
.nav .contact-btn[aria-current="page"]{box-shadow:none;color:var(--bouton-texte)}
.burger{display:none;font:inherit;background:none;border:1px solid var(--ligne);border-radius:var(--rayon);padding:.45rem .8rem;color:var(--titre);cursor:pointer}
@media (max-width:860px){
.burger{display:block}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--fond);border-bottom:1px solid var(--ligne);padding:.75rem 1.5rem 1.25rem;box-shadow:var(--ombre)}
.nav.ouvert{display:block}
.nav>ul{flex-direction:column;align-items:stretch}
.sous-menu>a::after{display:none}
.sous-menu ul{display:block;position:static;border:0;box-shadow:none;background:none;padding:0 0 0 1rem;min-width:0}
.nav .contact-btn{margin:.5rem 0 0;text-align:center}
}
.ariane ol{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.35rem;font-size:.9rem;color:var(--ariane)}
.ariane li+li::before{content:"/";margin-right:.35rem;opacity:.6}
.ariane a{color:inherit}
.boutons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.bouton{display:inline-flex;align-items:center;justify-content:center;font:600 1rem/1.2 var(--police-texte);padding:.85rem 1.5rem;border-radius:var(--rayon-bouton);text-decoration:none;border:2px solid var(--bouton);background:var(--bouton);color:var(--bouton-texte);cursor:pointer}
.bouton:hover{background:var(--bouton-survol);border-color:var(--bouton-survol);color:var(--bouton-texte)}
.bouton.contour{background:transparent;color:var(--bouton-contour-texte);border-color:var(--bouton-contour)}
.bouton.contour:hover{background:var(--survol);color:var(--bouton-contour-texte)}
.bouton:disabled{opacity:.6;cursor:wait}
.hero-grille{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.hero .devise{font-family:var(--police-titre);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.8rem);color:var(--accent-texte);margin:0 0 .3rem}
.hero .intro{font-size:1.18rem;max-width:34rem;color:var(--texte)}
.hero-visuel{margin:0;justify-self:center}
@media (max-width:860px){.hero-grille{grid-template-columns:1fr;gap:2rem}.hero-visuel{order:-1}}
@media (max-width:520px){.priere .strophes{font-size:1.05rem}}
.priere .strophes{max-width:36rem;margin:2rem auto 0;text-align:center;font-family:var(--police-priere);font-size:clamp(1.12rem,2vw,1.3rem);line-height:1.85}
.priere .strophes p{margin:0 0 1.8em}
.priere .vl{display:block;text-wrap:balance}
.priere .amen{font-family:var(--police-titre);font-size:1.45rem}
.cartes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2rem}
.carte{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-carte);overflow:hidden;text-decoration:none;color:var(--texte);transition:transform .25s ease,box-shadow .25s ease}
.carte:hover{transform:translateY(-3px);box-shadow:var(--ombre);color:var(--texte)}
.carte .visuel{aspect-ratio:3/2;background:var(--panneau);display:flex;align-items:center;justify-content:center;overflow:hidden}
.carte .visuel img{width:100%;height:100%;object-fit:cover}
.carte .visuel.logo img{width:auto;height:72%;object-fit:contain}
.carte .corps{padding:1.15rem 1.25rem 1.4rem}
.carte h3{margin-bottom:.3em}
.carte p{margin:0;color:var(--texte-doux);font-size:.97rem}
@media (max-width:960px){.cartes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cartes{grid-template-columns:1fr}}
.deps{list-style:none;padding:0;margin:1.5rem 0 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
.deps li{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:.85rem 1rem;display:flex;flex-direction:column}
.deps b{font-family:var(--police-titre);font-size:1.6rem;line-height:1;color:var(--accent-texte);font-weight:var(--graisse-titre)}
@media (max-width:860px){.deps{grid-template-columns:repeat(2,1fr)}}
.icone-bloc{display:grid;grid-template-columns:auto 1fr;gap:3.5rem;align-items:center}
.icone-bloc figure{margin:0}
.icone-bloc figcaption{font-size:.9rem;color:var(--texte-doux);text-align:center;margin-top:.75rem}
@media (max-width:760px){.icone-bloc{grid-template-columns:1fr}.icone-bloc figure{justify-self:center}}
.citation blockquote{margin:0 auto;max-width:46rem;text-align:center;font-family:var(--police-titre);font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.4;color:var(--titre)}
.citation blockquote p{margin:0}
.citation figcaption{text-align:center;margin-top:1rem;color:var(--accent-texte);font-weight:600}
.annonce{max-width:46rem;margin:0 auto;padding:1.75rem 2rem;border-radius:var(--rayon-carte);background:var(--carte);border:1px solid var(--ligne);border-left:5px solid var(--accent)}
.annonce h2{font-size:1.5rem}
.annonce p{margin:0}
.entete-page{padding:clamp(3rem,7vw,5rem) 0 clamp(2.5rem,5vw,3.5rem)}
.entete-page .chapo{font-size:1.25rem;max-width:40rem;margin:0}
.pourquoi{list-style:none;padding:0;margin:1.25rem 0 2rem}
.pourquoi li{font-family:var(--police-titre);font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.3;color:var(--titre);padding:.6rem 0 .6rem 2rem;border-bottom:1px solid var(--ligne);position:relative}
.pourquoi li::before{content:"?";position:absolute;left:0;color:var(--accent-texte)}
.qui{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.vers{font-size:1.15rem;line-height:1.9}
.maxime{margin:0;padding:2rem 1.5rem;text-align:center;font-family:var(--police-titre);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.25;color:var(--titre);background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-carte);border-top:4px solid var(--accent)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin:2.5rem 0}
.duo>div{border-top:2px solid var(--accent);padding-top:1rem}
.encart{border-radius:var(--rayon-carte);padding:clamp(1.75rem,4vw,3rem);background:var(--encart-fond);color:var(--encart-texte)}
.encart h2{color:var(--encart-titre)}
.encart .grand{font-family:var(--police-titre);font-size:2rem;color:var(--encart-titre);margin:.1em 0 .5em}
.encart a:not(.bouton){color:var(--encart-lien)}
.encart blockquote{margin:1.25rem 0;padding-left:1.25rem;border-left:2px solid var(--accent);font-style:italic}
.encart .bouton{background:var(--encart-bouton);border-color:var(--encart-bouton);color:var(--encart-bouton-texte)}
.signature{font-family:var(--police-titre);font-size:1.6rem;color:var(--titre);margin:1rem 0}
@media (max-width:760px){.qui,.duo{grid-template-columns:1fr}}
.activite{display:grid;grid-template-columns:13rem 1fr;gap:2.5rem;padding:2.5rem 0;border-top:1px solid var(--ligne)}
.activite:first-of-type{border-top:0;padding-top:0}
.activite .quand{font-family:var(--police-titre);font-size:1.15rem;color:var(--accent-texte)}
.activite-corps{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start}
.activite figure{margin:0;border-radius:var(--rayon-carte);overflow:hidden;border:1px solid var(--ligne)}
.activite figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.liste-tiret{list-style:none;padding:0;margin:1rem 0 1.5rem}
.liste-tiret li{position:relative;padding-left:1.4rem;margin-bottom:.35rem}
.liste-tiret li::before{content:"";position:absolute;left:0;top:.8em;width:.6rem;height:2px;background:var(--accent)}
.horaire{display:inline-block;font-weight:600;background:var(--panneau);color:var(--titre);padding:.35rem .9rem;border-radius:var(--rayon)}
.pastilles{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.pastilles li{background:var(--carte);border:1px solid var(--ligne);border-radius:999px;padding:.4rem 1rem}
.appel{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--ligne);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.appel p{margin:0;font-size:1.15rem}
@media (max-width:860px){.activite,.activite-corps{grid-template-columns:1fr}.activite{gap:.5rem}}
.niveaux{list-style:none;margin:0;padding:0;max-width:52rem}
.niveaux li{position:relative;padding:0 0 2.75rem 3.75rem}
.niveaux li::before{content:"";position:absolute;left:1.05rem;top:2.6rem;bottom:0;width:2px;background:var(--ligne-forte)}
.niveaux li:last-child::before{display:none}
.niveaux li::after{content:"";position:absolute;left:0;top:.2rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--fond);border:2px solid var(--accent)}
.niveaux li:nth-child(2)::after{border-width:5px}
.niveaux li:nth-child(3)::after{border-width:8px}
.niveaux li:nth-child(4)::after{border-width:11px;border-color:var(--titre)}
.niveau-titre{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:.4rem}
.niveau-titre h2{margin:0;font-size:clamp(1.5rem,2.6vw,1.9rem)}
.resp{font-size:.88rem;background:var(--panneau);color:var(--titre);padding:.2rem .75rem;border-radius:999px}
.frise{list-style:none;margin:0;padding:0 0 0 2rem;border-left:2px solid var(--ligne-forte);max-width:44rem}
.frise li{position:relative;padding:0 0 2.75rem}
.frise li::before{content:"";position:absolute;left:calc(-2rem - 8px);top:.6rem;width:14px;height:14px;border-radius:50%;background:var(--fond);border:3px solid var(--accent)}
.frise .annee{font-family:var(--police-titre);font-size:2.3rem;line-height:1;color:var(--accent-texte);margin-bottom:.35rem;font-weight:var(--graisse-titre)}
.frise h2{font-size:1.5rem}
.contact-grille{display:grid;grid-template-columns:1fr 1.35fr;gap:3.5rem;align-items:start}
.essai{background:var(--carte);border:1px solid var(--ligne);border-left:4px solid var(--accent);border-radius:var(--rayon);padding:1rem 1.25rem;margin:1rem 0 2.5rem}
.adresse{font-style:normal;font-size:1.15rem;line-height:1.7}
.formulaire{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-carte);padding:clamp(1.5rem,3vw,2.25rem)}
.formulaire h2{font-size:1.7rem}
.formulaire label{display:block;font-weight:600;font-size:.95rem;margin:1rem 0 .35rem;color:var(--titre)}
.formulaire .aide{font-weight:400;color:var(--texte-doux);font-size:.85rem}
.formulaire input,.formulaire select,.formulaire textarea{width:100%;font:inherit;font-size:1rem;padding:.75rem .85rem;border:1px solid var(--champ-bord);border-radius:var(--rayon);background:var(--champ);color:var(--texte)}
.formulaire textarea{min-height:9rem;resize:vertical}
.ligne-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.compteur{text-align:right;font-size:.85rem;color:var(--texte-doux);margin-top:.3rem}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.message{display:none;margin-top:1rem;padding:1rem;border-radius:var(--rayon)}
.message.ok{background:#E7F1E4;border-left:4px solid #3F7A34;color:#1E3B19}
.message.erreur{background:#F8E5E2;border-left:4px solid #A2321F;color:#5A1A0F}
.rgpd{font-size:.85rem;color:var(--texte-doux);margin:1rem 0 0}
@media (max-width:860px){.contact-grille{grid-template-columns:1fr}}
@media (max-width:520px){.ligne-2{grid-template-columns:1fr}}
.legal h2{font-size:1.5rem;margin-top:2rem}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.5rem;margin:0}
.legal dt{font-weight:600}
.legal dd{margin:0}
@media (max-width:520px){.legal dl{grid-template-columns:1fr}.legal dd{margin-bottom:.6rem}}
.pied{background:var(--pied-fond);color:var(--pied-texte);padding:3.5rem 0 2rem;font-size:.95rem}
.pied-grille{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem}
.pied h2{font-size:1.15rem;color:var(--pied-titre);margin-bottom:.8rem}
.pied a{color:var(--pied-lien);text-decoration:none}
.pied a:hover{text-decoration:underline;color:var(--pied-lien)}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:.3rem}
.pied-marque{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.pied-marque img{width:56px;height:56px}
.pied .bas{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--pied-ligne);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.85rem}
@media (max-width:760px){.pied-grille{grid-template-columns:1fr}}
.page-404{text-align:center;padding:6rem 0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.entete,.pied,.boutons,.formulaire{display:none}body{background:#fff;color:#000}}
.boutons[data-centre]{justify-content:center}
.hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(3.5rem,8vw,6.5rem) 0}
.hero::before{content:"";position:absolute;right:-18rem;top:50%;width:62rem;height:62rem;transform:translateY(-50%);border-radius:50%;
background:radial-gradient(circle,#FFE6A8 0 14%,#FFF1CF 14% 30%,#FFF8E8 30% 48%,transparent 48%);z-index:-1}
.hero-visuel{position:relative;width:min(20rem,70vw);aspect-ratio:1;display:grid;place-items:center}
.hero-visuel::before{content:"";position:absolute;inset:0;border-radius:50%;
background:repeating-conic-gradient(from 0deg,rgba(229,138,0,.22) 0 4deg,transparent 4deg 15deg);
-webkit-mask:radial-gradient(circle,transparent 38%,#000 39%,#000 70%,transparent 71%);mask:radial-gradient(circle,transparent 38%,#000 39%,#000 70%,transparent 71%)}
.hero-visuel img{width:58%;height:auto;position:relative;filter:drop-shadow(0 10px 24px rgba(179,84,0,.25))}
.hero h1{color:var(--titre)}
.priere{background:var(--ciel);position:relative}
.priere h2{text-align:center}
.priere h2::after{content:"";display:block;width:3.5rem;height:3px;border-radius:3px;background:var(--or);margin:.8rem auto 0}
.priere .strophes{font-style:italic;color:#2E2A3A}
.priere .amen{color:var(--titre);font-style:normal}
.zone-ciel{background:var(--ciel)}
.zone-chaude{background:#FFF8EC}
.citation{background:linear-gradient(180deg,#FFF8EC,#FFFFFF)}
.entete-page{background:linear-gradient(180deg,#FFF8EC,#FFFFFF);border-bottom:1px solid var(--ligne)}
.icone-bloc figure img{border-radius:12px;box-shadow:var(--ombre)}
.pourquoi li::before{color:var(--accent)}
@media (max-width:860px){.hero-visuel{width:min(13rem,60vw)}.hero::before{right:-30rem;top:20%}}

.deps{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.deps{grid-template-columns:repeat(2,1fr)}}
