:root{--bg:#f6f7f4;--ink:#1c2430;--mut:#55606e;--surf:#e8ebe6;--gold:#d99a1e;--line:#d3d8d0;--hbg:rgba(246,247,244,.93);--red:#d52b1e;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121821;--ink:#eef0ec;--mut:#a3adba;--surf:#1c2531;--gold:#f0b43a;--line:#2c3746;--hbg:rgba(18,24,33,.93)}}
:root[data-theme="dark"]{--bg:#121821;--ink:#eef0ec;--mut:#a3adba;--surf:#1c2531;--gold:#f0b43a;--line:#2c3746;--hbg:rgba(18,24,33,.93)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 78px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.script{font-family:Yellowtail,"Brush Script MT","Segoe Script",cursive;font-weight:400;line-height:1.05;letter-spacing:.01em}
h1,h2,h3{margin:0}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}

/* fanion : la petite pique suisse posée sur chaque fromage */
.fanion{display:inline-flex;align-items:center;gap:.6em;background:#fff;color:#1c2430;font-weight:700;font-size:.9rem;padding:.35em .9em .35em .5em;border-radius:2px;box-shadow:0 2px 6px rgba(20,25,35,.18);text-decoration:none;position:relative}
.fanion::before{content:"";width:1.25em;height:1.25em;flex:none;background:linear-gradient(#fff,#fff) center/62% 18% no-repeat,linear-gradient(#fff,#fff) center/18% 62% no-repeat,var(--red)}

.btn{display:inline-block;text-align:center; text-decoration:none;font-weight:700;padding:.8em 1.5em;border-radius:999px;background:var(--ink);color:var(--bg);transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.or{background:var(--gold);color:#1c2430}
.btn.ligne{background:none;color:inherit;box-shadow:inset 0 0 0 2px currentColor}

/* en-tête et héros : toujours clairs, la photo a un fond de studio blanc */
.top{position:fixed;inset:0 0 auto 0;z-index:20;padding:calc(env(safe-area-inset-top,0px) + .55rem) 1.25rem .55rem;display:flex;align-items:center;gap:1rem;background:var(--hbg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);color:var(--ink)}
.top>a img{width:46px;height:46px;border-radius:50%;box-shadow:0 1px 6px rgba(20,25,35,.25)}
.tools{margin-left:auto;display:flex;gap:.3rem}
.tools button{width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--ink);font-size:1.45rem;line-height:1;cursor:pointer}
.tools button:hover{background:var(--surf)}
.top nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:1rem 1.25rem 1.4rem;background:var(--bg);border-bottom:1px solid var(--line);font-weight:500}
.top nav.open{display:flex}.top nav a{text-decoration:none;padding:.5rem 0}
[data-z]{cursor:zoom-in}
dialog#lb{width:100%;height:100%;max-width:none;max-height:none;border:0;padding:0;background:rgba(8,10,14,.95);color:#fff}
dialog#lb[open]{display:flex;align-items:center;justify-content:center}
dialog#lb img{max-width:92vw;max-height:84dvh;object-fit:contain;border-radius:2px}
dialog#lb button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.6rem;cursor:pointer}
dialog#lb .x{top:calc(env(safe-area-inset-top,0px) + .8rem);right:.8rem}dialog#lb .pv{left:.6rem}dialog#lb .nx{right:.6rem}
.gal{column-count:2;column-gap:.8rem;margin-top:2rem}
.gal img{width:100%;margin-bottom:.8rem;break-inside:avoid;border-radius:2px}
.hero{background:#f7f7f5;color:#1c2430;text-align:center;padding-top:calc(env(safe-area-inset-top,0px) + 5.5rem);overflow:hidden}
.hero h1{font-size:clamp(2.8rem,8.4vw,6.4rem);max-width:15ch;margin-inline:auto;padding-inline:1.25rem;animation:monte 1.1s .1s both cubic-bezier(.2,.7,.2,1)}
.hero p{max-width:34rem;margin:1.2rem auto 0;padding-inline:1.25rem;color:#4a5462;animation:monte 1.1s .45s both cubic-bezier(.2,.7,.2,1)}
.hero .acts{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem;padding-inline:1.25rem;animation:monte 1.1s .75s both cubic-bezier(.2,.7,.2,1)}
.hero .btn{background:#1c2430;color:#fff}.hero .btn.ligne{background:none;color:#1c2430}
.scene{position:relative;margin-top:1.5rem;height:clamp(300px,58vw,720px)}
.scene img{width:100%;height:100%;object-fit:cover;object-position:60% 92%;-webkit-mask-image:linear-gradient(transparent,#000 22%);mask-image:linear-gradient(transparent,#000 22%)}
@keyframes monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero h1,.hero p,.hero .acts{animation:none}html{scroll-behavior:auto}.btn{transition:none}}

.une{background:var(--gold);color:#1c2430}
.une .wrap{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;align-items:center;justify-content:center;padding-block:1rem;text-align:center;font-weight:500}
.une a{font-weight:700}

section{padding-block:clamp(3.5rem,9vw,7rem)}
.nat .wrap{display:grid;gap:2.2rem;align-items:center}
.nat img{width:100%;height:auto;max-height:44rem;border-radius:2px;object-fit:contain}
.nat h2,.plat h2,.laser h2,.pratique h2,.contact h2{font-size:clamp(2.3rem,5.6vw,3.8rem);margin-bottom:1rem}
.nat p{max-width:36rem;color:var(--mut)}
.nat .fanion{margin-top:.6rem}

.plat{background:var(--surf)}
.plat .intro{max-width:40rem;color:var(--mut);margin-bottom:3rem}
.ligne-p{display:grid;gap:1.4rem;margin-bottom:3.4rem;align-items:center}
.ligne-p img{width:100%;height:auto;max-height:40rem;object-fit:contain;border-radius:2px}
.ligne-p h3{font-size:1.9rem;margin:.9rem 0 .6rem}
.ligne-p p{margin:0 0 1.2rem;color:var(--mut);max-width:30rem}
.bientot{margin:0;padding-top:1.6rem;border-top:1px solid var(--line);color:var(--mut)}
.bientot b{color:var(--ink)}

.laser{position:relative;color:#fff;background:#1b1410;isolation:isolate}
.laser>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.laser::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,14,10,.92),rgba(20,14,10,.35))}
.laser .wrap{max-width:760px;margin-left:max(1.25rem,calc((100% - 1120px)/2))}
.laser p{max-width:34rem;margin:0 0 1.6rem;color:#eadfd2}

.pratique .wrap{display:grid;gap:2.6rem}
.pratique h2{font-size:clamp(2rem,4.6vw,3rem)}
.pratique p{color:var(--mut);margin:0;max-width:30rem}

.parte{border-top:1px solid var(--line)}
.parte h2{font-size:clamp(2.3rem,5.6vw,3.8rem);margin-bottom:2rem}
.part{display:grid;gap:.5rem;padding-block:1.6rem;border-top:1px solid var(--line)}
.part h3{font-size:1.9rem}
.part p{margin:0;color:var(--mut);max-width:38rem}
.part a{font-weight:700;text-underline-offset:3px}
.logo{display:block;background:#fff;border-radius:6px;padding:.5rem;height:92px;width:auto;max-width:210px;object-fit:contain;margin-bottom:.9rem}
.cat{padding-block:0 clamp(3.5rem,9vw,7rem)}
.ban{position:relative;min-height:clamp(340px,52vw,540px);display:flex;align-items:flex-end;justify-content:flex-end;isolation:isolate;overflow:hidden;color:#fff}
.ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2}
.ban::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,12,8,.72),transparent 70%)}
.ban q{quotes:none;font-family:Yellowtail,"Brush Script MT",cursive;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.12;text-align:right;max-width:20ch;padding:2rem 1.25rem}
.cgrid{display:grid;gap:2.2rem;padding-top:clamp(3rem,7vw,5rem)}
.cgrid h3{font-size:2.1rem;margin-bottom:.6rem}
.cgrid p{margin:0;color:var(--mut)}
.sign{font-size:1.9rem;margin-top:2.2rem}
.cat-pdf{text-align:center;margin-top:2.4rem}
.reals{display:grid;gap:1rem;margin-top:3rem}
.reals img{width:100%;height:auto;border-radius:2px}
.contact{background:var(--surf)}
.contact .wrap{display:grid;gap:2.4rem}
.contact address{font-style:normal}
.contact a{text-underline-offset:3px}
.contact .acc{margin-top:1.4rem;color:var(--mut)}
footer{padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom,0px));text-align:center;color:var(--mut);font-size:.9rem}
footer img{width:64px;height:64px;border-radius:50%;margin:0 auto .8rem}

@media(min-width:800px){
.top nav{display:flex;position:static;flex-direction:row;align-items:center;gap:1.1rem;padding:0;background:none;border:0;margin-left:auto;font-size:.97rem}.top nav a{padding:0}.burger{display:none}.top{padding-inline:2rem}.gal{column-count:3;column-gap:1rem}.gal img{margin-bottom:1rem}
.nat .wrap{grid-template-columns:5fr 6fr;gap:5rem}
.ligne-p{grid-template-columns:7fr 5fr;gap:4rem}
.ligne-p:nth-of-type(even) img{order:2}
.pratique .wrap{grid-template-columns:1fr 1fr;gap:5rem}
.contact .wrap{grid-template-columns:1fr 1fr;gap:5rem}
.part{grid-template-columns:5fr 7fr;gap:3rem;align-items:center}.cgrid,.reals{grid-template-columns:repeat(3,1fr);gap:3rem}.reals{gap:1.2rem}
}

/* classes ajoutées (anciennement en style="" dans le HTML) */
.titre-galerie{font-size:clamp(2.3rem,5.6vw,3.8rem)}
.aide-galerie{color:var(--mut);max-width:34rem;margin:.6rem 0 0}

/* sections créées depuis l'administration */
.perso .wrap{display:grid;gap:2.2rem;align-items:center}
.perso h2{font-size:clamp(2.3rem,5.6vw,3.8rem);margin-bottom:1rem}
.perso p{margin:0 0 1rem;color:var(--mut);max-width:40rem}
.perso .btn{margin-top:.6rem}
.perso-img{width:100%;height:auto;max-height:44rem;border-radius:2px;object-fit:contain}
.perso.fond-gris{background:var(--surf)}
.perso.fond-or{background:var(--gold);color:#1c2430}.perso.fond-or p{color:#1c2430}
.perso.mep-bandeau{position:relative;color:#fff;background:#1b1410;isolation:isolate}
.perso.mep-bandeau>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.perso.mep-bandeau::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,14,10,.92),rgba(20,14,10,.35))}
.perso.mep-bandeau p{color:#eadfd2}
@media(min-width:800px){.perso.mep-image_gauche .wrap,.perso.mep-image_droite .wrap{grid-template-columns:1fr 1fr;gap:5rem}.perso.mep-image_droite .perso-img{order:2}}
