
:root{--bg:#fffdf7;--soft:#eef4e8;--card:#fff;--green:#14593f;--deep:#123f33;--ink:#1d2b24;--pink:#d1426b;--gold:#f2bb35;--cream-note:#fff3c4;--line:#e6e2d0;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
:root:not([data-theme="light"]){}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#14201b;--soft:#1a2b24;--card:#1f332b;--green:#8fd3a8;--ink:#eef2ea;--line:#2f453b;--cream-note:#3a3516}}
:root[data-theme="dark"]{--bg:#14201b;--soft:#1a2b24;--card:#1f332b;--green:#8fd3a8;--ink:#eef2ea;--line:#2f453b;--cream-note:#3a3516}
html{scroll-behavior:smooth;scroll-padding-top:calc(90px + env(safe-area-inset-top,0px))}
*,*:before,*:after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Fredoka','Trebuchet MS',system-ui,sans-serif;font-weight:500;line-height:1.55;overflow-x:hidden}
h1,h2,h3{font-weight:700;text-transform:uppercase;color:var(--green);line-height:1.12;margin:0 0 .6em;letter-spacing:.01em}
h1{font-size:clamp(2rem,8vw,3.6rem)}h2{font-size:clamp(1.6rem,6vw,2.6rem)}h3{font-size:1.2rem}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.eyebrow{display:flex;align-items:center;gap:.6rem;color:var(--pink);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;margin-bottom:1rem}
.eyebrow:before{content:"✿";font-size:1.1rem}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:.5rem 1.2rem}
header .brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex:1;color:var(--green);font-weight:700;text-transform:uppercase;line-height:1.15;font-size:.95rem}
header img{width:62px;height:62px;object-fit:contain;transition:transform .5s}
header .brand:hover img{transform:rotate(-8deg) scale(1.12)}
.burger{background:none;border:0;padding:.6rem;cursor:pointer;color:var(--green)}
.burger span{display:block;width:28px;height:3px;background:currentColor;border-radius:3px;margin:6px 0;transition:.3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
nav{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);display:grid;gap:0;max-height:0;overflow:hidden;transition:max-height .4s}
nav.open{max-height:420px}
nav a{padding:1rem 1.4rem;text-decoration:none;color:var(--green);font-weight:700;text-transform:uppercase;border-top:1px solid var(--line)}
nav a:hover{background:var(--soft)}
section{padding:3.5rem 1.4rem;position:relative}
.wrap{max-width:980px;margin:0 auto;position:relative}
.hero{background:radial-gradient(circle at 85% 20%,var(--soft),transparent 60%),radial-gradient(circle,#14593f1f 1.5px,transparent 2px) 0 0/26px 26px;padding-top:2rem;overflow:hidden}
.hero .wrap{display:grid;gap:1.5rem;align-items:center}
.logo-stage{position:relative;width:min(78%,360px);margin:0 auto 0 0}
.logo-stage:before{content:"";position:absolute;inset:8% 6%;border-radius:50%;background:radial-gradient(circle,#f2bb3555,#d1426b22 55%,transparent 72%);animation:halo 5s ease-in-out infinite}
.logo-stage img{position:relative;width:100%;display:block;animation:enter 1.2s cubic-bezier(.2,.8,.2,1) both,sway 7s ease-in-out 1.2s infinite;transform-origin:50% 90%;filter:drop-shadow(0 14px 18px #14593f33)}
.logo-stage:hover img{animation-play-state:running,paused;transform:scale(1.05) rotate(-2deg)}
@keyframes enter{from{opacity:0;transform:translateY(30px) scale(.85) rotate(-6deg)}}
@keyframes sway{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-8px)}}
@keyframes halo{0%,100%{transform:scale(.94);opacity:.8}50%{transform:scale(1.08);opacity:1}}
.leaf{position:absolute;right:-30px;top:0;width:170px;opacity:.55;transform-origin:100% 0;animation:leaf 8s ease-in-out infinite;pointer-events:none}
@keyframes leaf{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.4rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.6rem;border-radius:999px;font-weight:700;text-transform:uppercase;text-decoration:none;font-size:.95rem;border:2px solid transparent;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px #0003}
.btn:active{transform:translateY(0)}
.btn:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,#fff7,transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover:after{left:130%}
.b-pink{background:var(--pink);color:#fff}.b-line{border-color:var(--line);color:var(--green);background:var(--card)}
.b-green{background:var(--green);color:var(--bg)}.b-gold{background:var(--gold);color:#123f33}
.card{background:var(--card);border-radius:28px;padding:1.8rem;box-shadow:0 12px 34px #14593f1f;border:1px solid var(--line)}
.perm{margin-top:-1rem}
.perm .card{max-width:620px;margin:0 auto 0 0}
.big{font-size:1.15rem;font-weight:700;text-transform:uppercase;margin:0}
.hours{color:var(--pink);font-size:1.5rem;font-weight:700;margin:0 0 .3rem}
.muted{color:var(--green);opacity:.8;font-weight:700;text-transform:uppercase}
hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}
.note{background:var(--cream-note);border-left:6px solid var(--gold);border-radius:18px;padding:1.2rem 1.5rem;font-weight:700;color:var(--green);margin:1.6rem 0;max-width:620px}
.soft{background:linear-gradient(180deg,var(--soft),var(--bg))}
.grid{display:grid;gap:1.2rem;margin-top:2rem}
@media(min-width:720px){.grid{grid-template-columns:1fr 1fr}.hero .wrap{grid-template-columns:1fr 1.3fr}.logo-stage{margin:0 auto}}
.ico{width:64px;height:64px;border-radius:22px 22px 22px 8px;background:var(--soft);display:grid;place-items:center;margin-bottom:1.2rem;transition:transform .4s,background .4s}
.ico svg{width:30px;height:30px;stroke:var(--green);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card:hover .ico{transform:rotate(-8deg) scale(1.1);background:var(--gold)}
.card{transition:transform .3s,box-shadow .3s}.grid .card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #14593f33}
.vol{background:var(--deep);color:#fff;overflow:hidden}
.vol h2{color:#fff}.vol .eyebrow{color:var(--gold)}
.vol:before{content:"";position:absolute;right:-90px;top:-60px;width:260px;height:340px;border:2px solid #8fd3a855;border-radius:0 100% 0 100%;animation:leaf 9s ease-in-out infinite}
.fab{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 8px 20px #0004;z-index:30;animation:pulse 3s infinite}
.fab svg{width:28px;height:28px;stroke:#123f33;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes pulse{0%{box-shadow:0 8px 20px #0004,0 0 0 0 #f2bb35aa}70%,100%{box-shadow:0 8px 20px #0004,0 0 0 18px #f2bb3500}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

.chips{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}
.chip{font:inherit;font-weight:700;text-transform:uppercase;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--green);cursor:pointer;transition:.25s}
.chip:hover{transform:translateY(-2px)}.chip[aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green);transform:scale(1.06)}
.free{display:none;margin-bottom:1rem}.free.show{display:block}
input,textarea{width:100%;font:inherit;padding:.9rem 1.1rem;border-radius:18px;border:2px solid #9dc79a;background:var(--bg);color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px #d1426b22}
label{display:block;font-weight:700;text-transform:uppercase;color:var(--green);margin:1.1rem 0 .4rem}
.info{background:var(--soft);border-radius:26px;padding:1.5rem;margin:1.5rem 0}
.info p{font-weight:700;text-transform:uppercase;color:var(--green);margin:0 0 .8rem}
.pgrid{display:grid;gap:1rem;margin-top:1.4rem}
@media(min-width:720px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.partner{text-align:center;padding:2rem 1rem;border-radius:26px;background:var(--card);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.partner:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 14px 30px #14593f2e}
.partner b{display:block;font-size:2rem;margin-bottom:.6rem;transition:transform .5s}.partner:hover b{transform:rotate(360deg)}
.partner span{font-weight:700;text-transform:uppercase;color:var(--green)}
details{background:var(--soft);border:1px solid var(--line);border-radius:24px;padding:0;margin:1rem 0;overflow:hidden}
summary{list-style:none;cursor:pointer;padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;font-weight:700;text-transform:uppercase;color:var(--green);font-size:1.3rem}
summary::-webkit-details-marker{display:none}summary:after{content:"⌄";font-size:1.6rem;transition:transform .3s}details[open] summary:after{transform:rotate(180deg)}
details .in{padding:0 1.4rem 1.4rem;font-weight:700;text-transform:uppercase;line-height:1.8}
footer{background:#0f2e25;color:#fff;display:flex;align-items:center;gap:1rem;padding:1.4rem;font-weight:700;text-transform:uppercase}
footer img{width:64px;height:64px;object-fit:contain;animation:sway 7s ease-in-out infinite}
.sent{display:none;margin-top:1rem;font-weight:700;color:var(--green)}

.dl{position:absolute;top:-30px;fill:#7fb98a;opacity:0;animation:drift linear infinite;pointer-events:none}
@keyframes drift{0%{transform:translate(0,0) rotate(0);opacity:0}10%{opacity:.6}50%{transform:translate(40px,320px) rotate(180deg)}90%{opacity:.5}100%{transform:translate(-20px,640px) rotate(360deg);opacity:0}}
.vine{position:absolute;width:100px;height:300px;top:20px;pointer-events:none;transform-origin:50% 0;animation:leaf 9s ease-in-out infinite;z-index:0}
.vine.l{left:-34px}.vine.r{right:-34px;transform:scaleX(-1)}
.vp{stroke-dasharray:420;stroke-dashoffset:420;animation:grow 3.5s ease-out .3s forwards}
@keyframes grow{to{stroke-dashoffset:0}}
.wrap{z-index:1}
.sep{color:var(--green);max-width:300px;margin:0 auto;padding:.5rem 0}.sep svg{width:100%;display:block}
.sep g,.sep circle{transform-origin:150px 20px;animation:bloom 4s ease-in-out infinite}
@keyframes bloom{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.partner b svg{width:38px;height:38px;fill:var(--green);display:block;margin:0 auto}
.colibri{position:fixed;right:6px;top:30%;width:72px;z-index:15;pointer-events:none;transition:top 1.6s cubic-bezier(.3,.7,.2,1),right 1.6s ease;animation:cin 2.6s cubic-bezier(.2,.8,.2,1) both}
.colibri img{width:100%;display:block;transform-origin:50% 60%;animation:hov 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 8px #0003)}
@keyframes cin{from{transform:translateX(-90vw) translateY(-60px) rotate(8deg);opacity:0}30%{opacity:1}}
@keyframes hov{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg) scale(1.03)}}
@media(max-width:600px){.colibri{width:56px;right:2px}.vine{opacity:.7}}

.qr{display:flex;align-items:center;gap:1.1rem;margin-top:1.4rem;flex-wrap:wrap}
#qrc{background:#fff;padding:10px;border-radius:18px;box-shadow:0 8px 20px #14593f2e;line-height:0;transition:transform .4s}
#qrc:hover{transform:rotate(-3deg) scale(1.05)}#qrc img,#qrc canvas{max-width:100%;height:auto}
.qr p{margin:0;max-width:16ch}
@keyframes pulse2{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}

.eyebrow:before{display:inline-block}.rv.in .eyebrow:before{animation:bl 1.1s cubic-bezier(.2,1.4,.4,1) both}
@keyframes bl{from{transform:scale(0) rotate(-200deg)}}
:root{--dl:#7fb98a}.dl{fill:var(--dl)}
[data-saison=automne] .dl:nth-child(odd){fill:#d98a3d}[data-saison=automne] .dl:nth-child(even){fill:#b9532a}[data-saison=automne] .dl:nth-child(3n){fill:#e5b93c}
[data-saison=hiver] .dl{fill:#d6e6f2}[data-saison=printemps] .dl{fill:#f2a7bd}
.bfly{position:fixed;top:55%;left:-80px;width:46px;z-index:14;pointer-events:none;animation:bfly 28s linear 7s infinite}
@keyframes bfly{0%{transform:translate(0,0) rotate(15deg)}8%{transform:translate(18vw,-70px) rotate(-10deg)}16%{transform:translate(36vw,-10px) rotate(20deg)}24%{transform:translate(58vw,-120px) rotate(-12deg)}32%{transform:translate(80vw,-50px) rotate(15deg)}40%,100%{transform:translate(120vw,-140px) rotate(0)}}
.bfly .w{transform-origin:30px 25px;animation:flap .3s ease-in-out infinite alternate}@keyframes flap{to{transform:scaleX(.3)}}
.bee{position:absolute;width:34px;pointer-events:none;animation:bee 7s ease-in-out infinite;z-index:2}
@keyframes bee{0%,100%{transform:translate(0,0) rotate(5deg)}25%{transform:translate(70px,-34px) rotate(-8deg)}50%{transform:translate(140px,10px) rotate(8deg)}75%{transform:translate(60px,46px) rotate(-6deg)}}
.bee .wg{transform-origin:20px 14px;animation:flap .12s linear infinite alternate}
.garland{height:34px;background:repeat-x center/60px 34px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34' viewBox='0 0 60 34'%3E%3Cpath d='M0 17Q15 6 30 17T60 17' fill='none' stroke='%2314593f' stroke-opacity='.45' stroke-width='2'/%3E%3Cpath d='M12 11C8 3 16 0 22 2C22 8 18 12 12 11Z M42 23C38 31 46 34 52 32C52 26 48 22 42 23Z' fill='%237fb98a'/%3E%3Ccircle cx='30' cy='17' r='3' fill='%23d1426b'/%3E%3C/svg%3E");margin-top:2rem}
.pt{position:fixed;width:10px;height:14px;border-radius:50% 0 50% 50%;pointer-events:none;z-index:60;animation:pt 1s ease-out forwards}
@keyframes pt{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}
.cd{display:flex;gap:.6rem;margin:0 0 1.2rem;flex-wrap:wrap;align-items:stretch}
.cd div{flex:1 1 60px;background:var(--soft);border-radius:18px;padding:.7rem .4rem;text-align:center;color:var(--green);font-weight:700;text-transform:uppercase;font-size:.75rem;line-height:1.2}
.cd b{display:block;font-size:1.8rem}.cd-msg{font-weight:700;color:var(--pink);font-size:1.2rem}
.a11-btn{position:fixed;left:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;border:0;background:var(--green);color:var(--bg);font:inherit;font-weight:700;font-size:1.3rem;cursor:pointer;z-index:40;box-shadow:0 8px 20px #0004}
.a11-panel{position:fixed;left:1rem;bottom:calc(5rem + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 2rem));background:var(--card);border:2px solid var(--green);border-radius:22px;padding:1rem;z-index:40;box-shadow:0 14px 34px #0004;display:grid;gap:.6rem}
.a11-panel[hidden]{display:none}
.a11-panel h4{margin:0;color:var(--green);text-transform:uppercase}
.a11-panel button{font:inherit;font-weight:700;padding:.7rem 1rem;border-radius:14px;border:2px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-align:left}
.a11-panel button[aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green)}
.a11-row{display:flex;gap:.6rem}.a11-row button{flex:1;text-align:center}
.lisible body,.lisible button,.lisible input,.lisible textarea{font-family:'Atkinson Hyperlegible',Verdana,system-ui,sans-serif!important}
.lisible *{text-transform:none!important;letter-spacing:normal!important}.lisible body{font-weight:400;line-height:1.75}.lisible h1,.lisible h2,.lisible h3,.lisible .btn,.lisible b,.lisible summary{font-weight:700}
.contraste{--bg:#fff;--soft:#fff;--card:#fff;--ink:#000;--green:#0b3a2a;--pink:#9c1239;--line:#000;--cream-note:#fff}
.contraste .card,.contraste .info,.contraste details,.contraste .partner,.contraste .note{border:2px solid #000}.contraste .b-pink{background:#9c1239}.contraste .vol{background:#000}.contraste .vine,.contraste .dl,.contraste .leaf,.contraste .bfly,.contraste .bee{display:none}
.calme *,.calme *:before,.calme *:after{animation:none!important;transition:none!important}.calme .rv{opacity:1;transform:none}.calme .dl,.calme .bfly,.calme .bee{display:none}

.photo{position:relative;max-width:780px;margin:2rem 0 0;isolation:isolate}
.photo:before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid #9dc79a;border-radius:0 120px 0 120px;z-index:-1;animation:leaf 8s ease-in-out infinite}
.photo .im{border-radius:30px;overflow:hidden;box-shadow:0 16px 40px #14593f33}
.photo img{width:100%;display:block;transition:transform 1.2s}.photo:hover img{transform:scale(1.05)}
.photo figcaption{position:absolute;right:14px;bottom:-16px;background:var(--gold);color:#123f33;font-weight:700;padding:.5rem 1rem;border-radius:999px;font-size:.85rem;text-transform:uppercase;box-shadow:0 6px 14px #0003}
.gal{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1.6rem}
@media(min-width:720px){.gal{grid-template-columns:repeat(4,1fr)}}
.gi{position:relative;display:block;padding:0;border:0;border-radius:24px;overflow:hidden;cursor:zoom-in;background:var(--soft);aspect-ratio:3/4;box-shadow:0 10px 24px #14593f2e;transition:transform .35s,box-shadow .35s}
.gi:nth-child(even){transform:translateY(14px)}
.gi:hover{transform:translateY(-6px) rotate(-.8deg);box-shadow:0 18px 36px #14593f45}.gi:nth-child(even):hover{transform:translateY(8px) rotate(.8deg)}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s}.gi:hover img{transform:scale(1.1)}
.gi span{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .7rem;background:linear-gradient(transparent,#0f2e25ee);color:#fff;font:inherit;font-weight:700;font-size:.8rem;text-transform:uppercase;text-align:left}
dialog#lb{border:0;border-radius:26px;padding:0;max-width:min(94vw,900px);background:var(--card);color:var(--ink);overflow:hidden}
dialog#lb::backdrop{background:#0b1f18dd;backdrop-filter:blur(4px)}
dialog#lb img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#0f2e25}
dialog#lb p{margin:0;padding:.9rem 1.2rem;font-weight:700;text-transform:uppercase;color:var(--green)}
dialog#lb .x{position:absolute;right:10px;top:10px;width:44px;height:44px;border-radius:50%;border:0;background:var(--gold);color:#123f33;font-size:1.3rem;font-weight:700;cursor:pointer}
.partner .lg{background:#fff;border-radius:18px;padding:.7rem;margin:0 auto 1rem;max-width:230px;transition:transform .4s}.partner:hover .lg{transform:scale(1.06)}.partner .lg img{display:block;width:100%;height:auto}

.bell{display:flex;align-items:center;gap:.9rem;background:var(--cream-note);border-left:6px solid var(--gold);border-radius:18px;padding:.9rem 1.2rem;margin:1.1rem 0;font-weight:700;color:var(--green);text-transform:uppercase;max-width:620px}
.bell i{font-style:normal;font-size:1.7rem;display:inline-block;transform-origin:50% 0;animation:ring 3.5s ease-in-out infinite}
@keyframes ring{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(18deg)}70%{transform:rotate(-16deg)}75%{transform:rotate(12deg)}80%{transform:rotate(-8deg)}85%{transform:rotate(0)}}

.car{position:relative;margin-top:1.4rem}
.track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.2rem 12% 1.6rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -1.4rem}
.track::-webkit-scrollbar{display:none}
.slide{position:relative;flex:0 0 74%;scroll-snap-align:center;aspect-ratio:3/4;border:0;padding:0;border-radius:28px;overflow:hidden;cursor:zoom-in;background:var(--soft);box-shadow:0 12px 28px #14593f33;transform:scale(.92);opacity:.7;transition:transform .5s,opacity .5s,box-shadow .5s}
.slide.on{transform:scale(1);opacity:1;box-shadow:0 20px 44px #14593f55}
.slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s}.slide.on:hover img{transform:scale(1.06)}
.slide span{position:absolute;left:-9999px}
@media(min-width:720px){.track{padding:1.2rem 30%;margin:0}.slide{flex-basis:36%}}
.cc{display:flex;align-items:center;justify-content:center;gap:1rem}
.cc>button{width:50px;height:50px;border-radius:50%;border:0;background:var(--green);color:var(--bg);font:inherit;font-size:1.3rem;font-weight:700;cursor:pointer;transition:transform .25s}.cc>button:hover{transform:scale(1.12)}
.dots{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.dots button{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer;transition:.3s}.dots button.on{background:var(--pink);width:28px;border-radius:8px}
.conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}.conf i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:cf linear infinite;opacity:.8}
@keyframes cf{to{transform:translateY(560px) rotate(540deg)}}
.perm{margin-top:0}.chap{padding:2.5rem 1.4rem 0}.chap h2{margin:0;display:inline-block;background:linear-gradient(transparent 62%,#f2bb3566 62%)}

.callbtn{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--gold);display:grid;place-items:center;text-decoration:none;font-size:1.25rem;box-shadow:0 6px 14px #0003;transition:transform .25s}.callbtn:hover{transform:rotate(-12deg) scale(1.1)}
.next{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem;font-weight:700;color:var(--green);text-transform:uppercase;font-size:.9rem}
.next .dot{width:12px;height:12px;border-radius:50%;background:#9aa;flex:0 0 auto}.next.open .dot{background:#2e9e5b;animation:pulsedot 1.8s infinite}
@keyframes pulsedot{0%{box-shadow:0 0 0 0 #2e9e5b88}100%{box-shadow:0 0 0 14px #2e9e5b00}}
.next small{display:block;font-weight:500;text-transform:none;opacity:.8;width:100%}
.next a{color:var(--green)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.2rem 0 0;max-width:780px}
@media(min-width:720px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:1.1rem .8rem;text-align:center;box-shadow:0 8px 20px #14593f1f}
.stats b{display:block;font-size:2.4rem;color:var(--pink);line-height:1}.stats span{display:block;margin-top:.4rem;font-weight:700;text-transform:uppercase;font-size:.72rem;color:var(--green);line-height:1.25}
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.tabs button{font:inherit;font-weight:700;padding:.7rem 1.2rem;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--green);cursor:pointer;transition:.25s}
.tabs button[aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green)}
.lp{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:1.4rem 1.4rem .6rem;box-shadow:0 10px 26px #14593f1f;max-width:720px}
.lp p{max-width:none}.lp .ic{display:inline-block;width:1.6em}
.faqwrap details{margin:.8rem 0}.faqwrap .in{text-transform:none;font-weight:500;line-height:1.6}.faqwrap .in a{color:var(--green);font-weight:700}
.sh{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.temo{display:grid;gap:1rem;margin-top:1.4rem}@media(min-width:720px){.temo{grid-template-columns:repeat(3,1fr)}}
.temo blockquote{margin:0;background:var(--card);border-left:6px solid var(--gold);border-radius:22px;padding:1.3rem;box-shadow:0 8px 20px #14593f1f}.temo cite{display:block;margin-top:.6rem;font-style:normal;font-weight:700;color:var(--pink);text-transform:uppercase;font-size:.8rem}
.posterwrap{margin:0 0 1.2rem}.gi.poster{width:min(100%,300px);aspect-ratio:auto;cursor:zoom-in}.gi.poster img{height:auto}.gi.poster span{position:static;background:var(--green);padding:.5rem .8rem}.gal3{grid-template-columns:1fr 1fr}@media(min-width:720px){.gal3{grid-template-columns:repeat(3,1fr)}}

nav.open{max-height:78vh;overflow-y:auto}
.news{display:grid;gap:1.4rem;margin-top:1rem}@media(min-width:720px){.news{grid-template-columns:300px 1fr;align-items:start}}.newstxt p{max-width:60ch}.newstxt b{color:var(--green)}
.pa{background:linear-gradient(135deg,#123f33,#1d5c46);color:#fff;overflow:hidden}.pa h2{color:#fff}.pa .eyebrow{color:var(--gold)}
.pa .cd div{background:#ffffff1f;color:#fff;border:1px solid #ffffff3a}.pa .cd b{font-size:2.7rem;color:var(--gold)}.pa .cd-msg{color:var(--gold)}
.pa .btn.b-line{background:transparent;color:#fff;border-color:#ffffff66}.datebig{font-size:1.5rem;font-weight:700;margin:1rem 0 .2rem}
.donband{background:linear-gradient(135deg,#c93a63,#f08a5d);color:#fff;position:relative;overflow:hidden;padding-top:4.5rem;padding-bottom:4.5rem}
.donband h2{color:#fff;font-size:clamp(2.2rem,9vw,3.8rem)}.donband .eyebrow{color:#fff}.donband .lead{font-size:1.35rem;font-weight:700}
.donband .chip{background:#fff;color:#c93a63;border-color:#fff}.donband .chip[aria-pressed=true]{background:#123f33;color:#fff;border-color:#123f33}
.donband input.free{background:#fff;color:#123f33}.bigbtn{font-size:1.2rem;padding:1.3rem 2.2rem;animation:bigpulse 2.4s ease-in-out infinite;box-shadow:0 12px 28px #0004}
@keyframes bigpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}.donband .fine{margin-top:1.2rem;font-size:.95rem;opacity:.95}
.hrt{position:absolute;bottom:-40px;font-style:normal;font-size:1.6rem;opacity:.45;animation:rise linear infinite;pointer-events:none}
@keyframes rise{to{transform:translateY(-560px) rotate(25deg);opacity:0}}
a.partner{display:block;text-decoration:none;color:inherit}a.partner span:after{content:" ↗";font-size:.8em}
.pa .cd{max-width:440px}.pa .cd b{font-size:3.2rem}

.hero2{margin-top:.8rem}
#tts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(5.2rem + env(safe-area-inset-bottom,0px));z-index:45;background:var(--deep);color:#fff;border-radius:999px;padding:.6rem .9rem;display:flex;gap:.6rem;align-items:center;box-shadow:0 10px 26px #0006;font-weight:700;font-size:.9rem}
#tts[hidden]{display:none}#tts button{font:inherit;font-weight:700;border:0;border-radius:999px;padding:.5rem .9rem;cursor:pointer;background:var(--gold);color:#123f33}
.lpl{float:right;width:46px;height:46px;border-radius:50%;border:0;background:var(--gold);cursor:pointer;font-size:1.2rem;margin:0 0 .5rem .6rem}
[dir=rtl] .lpl{float:left;margin:0 .6rem .5rem 0}
.liens{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.4rem}@media(min-width:720px){.liens{grid-template-columns:repeat(3,1fr)}}
a.lk{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.1rem;box-shadow:0 8px 20px #14593f1f;transition:transform .3s,box-shadow .3s;color:var(--ink)}
a.lk:hover{transform:translateY(-5px);box-shadow:0 16px 34px #14593f33}a.lk b{display:block;color:var(--green);text-transform:uppercase;margin-bottom:.3rem}a.lk b:after{content:" ↗";font-size:.8em}a.lk span{font-size:.92rem;line-height:1.35;display:block}
.warn{background:var(--cream-note);border-left:6px solid var(--gold);border-radius:18px;padding:1rem 1.2rem;margin-top:1.4rem;font-weight:500}
.how{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:1.4rem;box-shadow:0 10px 26px #14593f1f;margin-top:1.2rem}
.steps{list-style:none;counter-reset:s;margin:0 0 1rem;padding:0}.steps li{counter-increment:s;display:flex;gap:.9rem;align-items:flex-start;margin:.7rem 0;font-weight:500}
.steps li:before{content:counter(s);flex:0 0 38px;height:38px;border-radius:50%;background:var(--green);color:var(--bg);display:grid;place-items:center;font-weight:700}
.alt{margin-top:1rem;background:var(--soft);border-radius:18px;padding:1rem}.alt[hidden]{display:none}.alt .btns{margin-top:.6rem}
dialog#falc{border:0;border-radius:26px;padding:1.2rem;max-width:min(94vw,640px);max-height:92vh;overflow:auto;background:var(--card);color:var(--ink)}
dialog#falc::backdrop{background:#0b1f18dd;backdrop-filter:blur(4px)}
dialog#falc .x{position:sticky;top:0;float:right;width:46px;height:46px;border-radius:50%;border:0;background:var(--gold);color:#123f33;font-size:1.3rem;font-weight:700;cursor:pointer}
.fb h2{font-size:1.8rem;margin-right:3.4rem}.fk{display:flex;gap:1rem;align-items:flex-start;background:var(--soft);border-radius:20px;padding:1rem 1.2rem;margin:.8rem 0;font-size:1.3rem;line-height:1.8}
.fk>span{font-size:2.4rem;line-height:1.2}.fk p{margin:0;max-width:none}.fk a{color:var(--green);font-weight:700}

.gd{display:grid;gap:2rem;align-items:center;margin-top:1.4rem}@media(min-width:720px){.gd{grid-template-columns:300px 1fr}}
.flip{perspective:1400px;width:min(72%,280px);margin:0 auto;filter:drop-shadow(0 18px 26px #14593f55);animation:gdfloat 5s ease-in-out infinite}
@keyframes gdfloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.flipin{position:relative;display:block;width:100%;aspect-ratio:480/1427;border:0;padding:0;background:none;cursor:pointer;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,.7,.2,1)}
.flipin.back{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.face img{width:100%;height:100%;display:block;object-fit:cover}.face.f2{transform:rotateY(180deg)}
.gdtxt blockquote{margin:.6rem 0 1.2rem;padding:1rem 1.2rem;background:var(--card);border-left:6px solid var(--pink);border-radius:18px;font-weight:500;line-height:1.7}
.gdtxt p{max-width:60ch}
.pacard{background:var(--card);color:var(--ink);border-radius:26px;padding:1.2rem;margin-top:1.8rem;box-shadow:0 14px 34px #0004}.pacard .newstxt p{max-width:60ch}
section{overflow-x:clip}.vine.r{right:-14px}.vine.l{left:-14px}
.face.f2 img{object-fit:contain}

details.roll{background:none;border:0;border-radius:0;margin:1rem 0 0;overflow:visible}
details.roll>summary.rs{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.5rem;border-radius:999px;background:var(--green);color:var(--bg);font-size:1rem;box-shadow:0 8px 18px #14593f44;transition:transform .25s}
details.roll>summary.rs:hover{transform:translateY(-2px)}details.roll>summary.rs .c{display:none}details.roll[open]>summary.rs .o{display:none}details.roll[open]>summary.rs .c{display:inline}
details.roll>.rollbody{margin-top:1.2rem}
.colibri{transition:top 1.6s cubic-bezier(.3,.7,.2,1),right 1.6s ease,scale .35s ease}
.colibri.follow{top:0!important;left:0!important;right:auto!important;transition:scale .35s ease!important}
.colibri.flip{scale:-1 1}
@media(max-width:600px){.colibri{width:46px}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .vine{opacity:.4}}

/* Logos responsives : proportions naturelles sur mobile */
header .brand img{width:62px;height:auto;max-height:62px;object-fit:contain;flex:0 0 auto;aspect-ratio:auto}
.logo-stage img{width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:auto}
@media(max-width:600px){
 header{gap:.45rem;padding:.5rem .65rem}
 header .brand{min-width:0;gap:.5rem;font-size:.78rem}
 header .brand img{width:clamp(42px,12vw,58px);height:auto;max-height:none;object-fit:contain}
 .logo-stage{width:min(78vw,320px)}
 .logo-stage img{width:100%;height:auto;object-fit:contain}
}


.actu-launch{margin:1.5rem 0 3rem;padding:clamp(1.2rem,4vw,2.5rem);border-radius:26px;background:linear-gradient(145deg,#fff9ec,#f5faf4);box-shadow:0 12px 35px #123f3314;border:1px solid #e6e9d8}
.actu-launch h3{font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.2;color:#123f33;margin:.5rem 0 1rem}
.actu-launch h4{color:#123f33;font-size:1.23rem;margin:1.4rem 0 .45rem}
.actu-launch p{line-height:1.7;margin:.5rem 0 1rem;max-width:75ch}
.actu-launch .actu-pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.actu-launch figure{margin:0;min-width:0}.actu-launch figure img{width:100%;height:clamp(180px,30vw,350px);object-fit:cover;border-radius:17px;display:block}.actu-launch figcaption{font-size:.9rem;padding:.45rem 0;color:#496258}
.actu-launch .actu-highlight{background:#e5f1e6;padding:1rem 1.2rem;border-radius:14px;font-weight:700;color:#123f33}
@media(max-width:520px){.actu-launch .actu-pics{grid-template-columns:1fr}.actu-launch figure img{height:240px}}

.ps-langbar{display:flex;gap:3px;align-items:center;flex-shrink:0}.ps-langbar button{border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--green);padding:6px 8px;font:700 12px system-ui;cursor:pointer}.ps-langbar button[aria-pressed=true]{background:var(--green);color:var(--bg)}[dir=rtl] body{text-align:right}[dir=rtl] .eyebrow,[dir=rtl] .btns{direction:rtl}[dir=rtl] .hero .wrap{direction:rtl}@media(max-width:540px){header{gap:.35rem;padding:.4rem .5rem}header .brand{gap:.3rem;font-size:.72rem;min-width:0}header .brand img{width:42px;height:auto}header .callbtn{width:35px;height:35px;font-size:1rem}.ps-langbar button{padding:5px;font-size:11px}.burger{padding:.35rem}.burger span{width:22px}}
/* Colibri: préserver strictement le ratio natif sur tout écran */
.colibri{height:auto!important;aspect-ratio:auto!important;min-height:0!important;max-height:none!important}
.colibri img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;aspect-ratio:163 / 180!important}
@media(max-width:600px){.colibri{width:46px!important}}


/* Écran d'ouverture : logo officiel, sans déformation */
#ps-intro{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity 1.25s ease,visibility 1.25s ease;pointer-events:none}
#ps-intro img{display:block;width:min(68vw,340px);height:auto;max-height:65vh;object-fit:contain;opacity:0;transform:scale(.88);transition:opacity .9s ease,transform 1.15s ease}
#ps-intro.ps-show img{opacity:1;transform:scale(1)}
#ps-intro.ps-hide{opacity:0;visibility:hidden}
body.ps-starting #col{opacity:0!important}
#ps-bird-flight{position:fixed;z-index:10001;pointer-events:none;width:clamp(45px,8vw,95px);height:auto;object-fit:contain;filter:drop-shadow(0 5px 8px #123f3344);transform-origin:center;}
@media(prefers-reduced-motion:reduce){#ps-intro,#ps-intro img{transition-duration:.15s!important}}


/* Le colibri devient un bouton flottant accessible. */
#col.colibri{pointer-events:auto!important;cursor:pointer;border:0;background:transparent;padding:0;z-index:55!important;touch-action:manipulation;overflow:visible}
#col.colibri img{pointer-events:none}
#col.colibri:focus-visible{outline:3px solid #d1426b;outline-offset:5px;border-radius:40%}
#col.colibri.follow{pointer-events:auto!important}
#ps-bird-menu{position:fixed;right:clamp(12px,5vw,72px);top:clamp(95px,25vh,230px);width:min(280px,calc(100vw - 85px));max-height:min(70vh,480px);overflow-y:auto;z-index:54;background:var(--card);color:var(--ink);border:2px solid var(--green);border-radius:24px;padding:12px;box-shadow:0 18px 42px #0004;display:grid;gap:7px;transform-origin:top right;transition:opacity .22s,transform .22s;opacity:1;transform:scale(1)}
#ps-bird-menu[hidden]{display:none!important}
#ps-bird-menu a,#ps-bird-menu button{font:inherit;text-decoration:none;text-align:left;border:0;background:var(--soft);color:var(--green);border-radius:13px;padding:11px 12px;cursor:pointer;font-weight:700;line-height:1.3}
#ps-bird-menu a:hover,#ps-bird-menu button:hover{background:var(--gold);color:#123f33}
#ps-bird-menu .bird-title{font-weight:700;color:var(--pink);padding:2px 7px 7px}
#ps-bird-menu .bird-langs{display:flex;gap:5px}
#ps-bird-menu .bird-langs button{flex:1;text-align:center;padding:9px 3px}
#ps-bird-menu [aria-pressed=true]{background:var(--green);color:var(--bg)}
@media(max-width:600px){#ps-bird-menu{top:95px;right:58px;width:min(255px,calc(100vw - 75px))}}

@media(max-width:650px){header{flex-wrap:wrap;justify-content:space-between}header .brand{order:0;flex:1 1 42%;min-width:0}header .callbtn{order:1}header .burger{order:2}.ps-langbar{order:3;flex:1 0 100%;justify-content:center;gap:.4rem;padding:.2rem 0}.ps-langbar button{font-size:12px;padding:6px 10px;white-space:nowrap}header nav{top:100%}}@media(max-width:360px){.ps-langbar button{font-size:11px;padding:5px 7px}}

/* Multilingual mobile header: avoid clipping and duplicate oversized language buttons */
@media(max-width:700px){header{flex-wrap:wrap;gap:.35rem;padding:.45rem .65rem}header .brand{min-width:0;flex:1 1 120px;font-size:.72rem}header .brand img{width:44px;height:auto;flex-shrink:0}header [data-lang-select]{font-size:.8rem;padding:.35rem .5rem}header .callbtn{width:40px;height:40px}header .burger{padding:.35rem}}
[dir=rtl] .colibri,[dir=rtl] .logo-stage img{direction:ltr}

@media(max-width:650px){header{flex-wrap:wrap;gap:.45rem;padding:.45rem .7rem}header .brand{min-width:0;flex:1 1 145px}header .brand img{width:46px;height:auto;aspect-ratio:140/138;object-fit:contain}header .brand span{font-size:.73rem;overflow-wrap:anywhere}.colibri img{height:auto;object-fit:contain}}[lang="ta"]{font-family:system-ui,'Noto Sans Tamil',sans-serif}
#ps-bird-menu[hidden]{display:none!important}

/* Multilingual accessibility and responsive fixes */
[lang="ar"] .ps-bird-menu,[lang="ar"] #ps-bird-menu{text-align:right}

#ps-bird-menu [data-lang-select]{display:inline-flex}

/* ===== Traduction FR / EN / AR / TA : polices, arabe (RTL), tamoul, mobile ===== */
html[lang="ar"] body,html[lang="ar"] button,html[lang="ar"] input,html[lang="ar"] textarea{font-family:'Fredoka','Noto Sans Arabic','Segoe UI',Tahoma,'Geeza Pro',system-ui,sans-serif}
html[lang="ta"] body,html[lang="ta"] button,html[lang="ta"] input,html[lang="ta"] textarea{font-family:'Fredoka','Noto Sans Tamil','Latha','Nirmala UI',system-ui,sans-serif;line-height:1.7}
/* l'espacement des lettres et les majuscules cassent la liaison des lettres arabes et n'ont pas de sens en tamoul */
html[lang="ar"] *,html[lang="ta"] *{letter-spacing:normal!important;text-transform:none!important}
html[lang="ar"] .lp[lang="en"],html[lang="ar"] .lp[lang="en"] *{letter-spacing:normal!important}
/* sélecteurs de langue : toujours visibles, y compris sur petit écran */
.ps-langbar button{min-height:32px}
.ps-langbar button[lang="ta"],.ps-langbar button[lang="ar"]{font-family:system-ui,'Noto Sans Tamil','Noto Sans Arabic',sans-serif}
@media(max-width:650px){.ps-langbar{display:flex!important;flex-wrap:wrap}.ps-langbar button{display:inline-block!important}}
#ps-bird-menu .bird-langs{flex-wrap:wrap}
[dir="rtl"] #ps-bird-menu a,[dir="rtl"] #ps-bird-menu button{text-align:right}
[dir="rtl"] #ps-bird-menu .bird-langs button{text-align:center}
/* arabe : barres d'accent des encadrés à droite, texte des panneaux anglais aligné à gauche */
[dir="rtl"] .note,[dir="rtl"] .bell,[dir="rtl"] .warn{border-left:0;border-right:6px solid var(--gold)}
[dir="rtl"] .gdtxt blockquote{border-left:0;border-right:6px solid var(--pink)}
[dir="rtl"] .temo blockquote{border-left:0;border-right:6px solid var(--gold)}
[dir="rtl"] .a11-panel button{text-align:right}
[dir="rtl"] .lp[dir="ltr"]{text-align:left}
/* téléphone : boutons flottants plus petits et plus près des bords, pour ne pas recouvrir les boutons et textes */
@media(max-width:650px){
.a11-btn{width:44px;height:44px;font-size:1.05rem;left:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px));opacity:.92}
.fab{width:46px;height:46px;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}
.a11-panel{left:.6rem;bottom:calc(4rem + env(safe-area-inset-bottom,0px))}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
}


.ps-facebook-contact{background:var(--card);border:1px solid var(--line);border-left:5px solid #d1426b;border-radius:18px;padding:1rem 1.2rem;margin:1.2rem 0}
.ps-facebook-contact .ps-facebook-heading{font-size:1.1rem;font-weight:700;color:var(--green);margin-bottom:.4rem}
.ps-facebook-contact p{font-weight:500;text-transform:none;margin:0 0 .8rem;color:var(--ink)}
.ps-facebook-btn{background:#1859aa;color:#fff;border:0;font-size:.9rem;padding:.75rem 1.1rem}
.ps-facebook-btn:hover{color:#fff}
.ps-facebook-form{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}
.ps-facebook-form p{font-weight:500;text-transform:none;font-size:.92rem;line-height:1.5}
.ps-facebook-footer{color:#fff;text-transform:none;text-decoration:underline;text-underline-offset:3px;margin-left:auto;font-size:.92rem}
[dir="rtl"] .ps-facebook-contact{border-left:1px solid var(--line);border-right:5px solid #d1426b}
@media(max-width:650px){footer{flex-wrap:wrap}.ps-facebook-footer{margin-left:0;flex-basis:100%}.ps-facebook-contact .btn,.ps-facebook-form .btn{font-size:.82rem}}


#ps-backtop{position:fixed;right:16px;bottom:88px;z-index:52;width:45px;height:45px;border:2px solid #fff;border-radius:50%;background:#14593f;color:#fff;box-shadow:0 6px 18px #0004;display:grid;place-items:center;font:700 25px system-ui;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s,transform .22s,visibility .22s}
#ps-backtop[hidden]{display:none!important}
#ps-backtop.ps-visible{opacity:1;visibility:visible;transform:translateY(0)}
#ps-backtop:focus-visible,.ps-footer-home:focus-visible{outline:3px solid #d1426b;outline-offset:3px}
.ps-footer-home{display:inline-flex;align-items:center;flex:0 0 auto}
.ps-footer-home img{width:64px;height:auto;max-height:64px;object-fit:contain}
@media(max-width:650px){#ps-backtop{right:10px;bottom:75px;width:40px;height:40px;font-size:23px}}
@media(prefers-reduced-motion:reduce){#ps-backtop{transition:none}}


/* PS navigation additionnelle */
#ps-progress{position:fixed;left:0;top:0;height:4px;width:0;background:#d1426b;z-index:10010;pointer-events:none;transition:width .1s linear}
#ps-mobile-nav{display:none}#ps-quick-tools{position:fixed;left:12px;top:48%;z-index:48;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ps-tool{font:700 13px system-ui,sans-serif;color:#14593f;background:#fffdf7;border:2px solid #14593f;border-radius:999px;padding:10px 13px;box-shadow:0 4px 14px #0002;cursor:pointer}
#ps-tool-panel{position:fixed;left:65px;top:20%;width:min(365px,calc(100vw - 90px));max-height:64vh;overflow:auto;background:var(--card);color:var(--ink);border:2px solid var(--green);border-radius:20px;z-index:52;padding:16px;box-shadow:0 14px 35px #0003}
#ps-tool-panel[hidden]{display:none!important}#ps-tool-panel h3{font-size:1.1rem;margin:0 0 12px}#ps-tool-panel input{font-size:1rem;padding:10px}
#ps-tool-panel .ps-results{display:grid;gap:6px;margin-top:12px}#ps-tool-panel .ps-results a,#ps-tool-panel .ps-results button{font:600 14px system-ui;text-decoration:none;text-align:left;background:var(--soft);color:var(--green);padding:10px;border:0;border-radius:10px;cursor:pointer}
#ps-tool-panel .ps-results small{display:block;font-weight:400;opacity:.8;line-height:1.4;margin-top:3px}#ps-tool-panel .ps-panel-close{float:right;border:0;background:var(--gold);border-radius:50%;width:32px;height:32px;cursor:pointer}
.ps-fold{border:1px solid var(--line);border-radius:18px;margin:12px 0;padding:12px;background:var(--soft)}.ps-fold>summary{font-size:1rem;padding:8px;display:list-item;list-style:revert;cursor:pointer}.ps-fold[open]>.ps-fold-content{padding:8px 4px}
#ps-contact-panel a{display:block;padding:12px;border-radius:12px;margin:5px 0;background:var(--soft);color:var(--green);font-weight:700;text-decoration:none}
#ps-language-panel button{margin:4px;padding:8px 12px;border:1px solid var(--green);border-radius:12px;background:var(--soft);color:var(--green);cursor:pointer}
@media(max-width:700px){body{padding-bottom:max(84px,env(safe-area-inset-bottom))!important}#ps-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;z-index:51;background:var(--card);border-top:2px solid var(--green);box-shadow:0 -5px 20px #0002;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}#ps-mobile-nav button,#ps-mobile-nav a{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;text-decoration:none;color:var(--green);background:none;border:0;font:700 11px system-ui;min-height:45px;cursor:pointer}#ps-mobile-nav .ps-m-icon{font-size:21px;line-height:1}#ps-quick-tools{left:8px;top:auto;bottom:calc(86px + env(safe-area-inset-bottom));flex-direction:row;gap:5px}#ps-quick-tools .ps-tool{padding:9px;font-size:12px}#ps-tool-panel{left:10px;right:10px;top:auto;bottom:calc(146px + env(safe-area-inset-bottom));width:auto;max-height:58vh}#ps-back-to-top{bottom:calc(148px + env(safe-area-inset-bottom))!important;right:12px!important}.fab{bottom:calc(82px + env(safe-area-inset-bottom))!important}.a11-btn{bottom:calc(82px + env(safe-area-inset-bottom))!important}#ps-bird-menu{max-height:55vh}}
@media(prefers-reduced-motion:reduce){#ps-progress{transition:none}}
.ps-fold-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:650px){#ps-tool-panel{max-height:calc(100dvh - 170px);overflow-y:auto}}


/* V4 : commandes visibles dans le bandeau, jamais sur le contenu */
header{position:sticky;isolation:isolate;z-index:90}
#ps-quick-tools{display:flex!important;position:static!important;flex-direction:row!important;align-items:center!important;gap:5px!important;order:0;z-index:auto!important;flex-shrink:0}
#ps-quick-tools .ps-tool{font-size:0!important;display:grid;place-items:center;min-width:37px;height:37px;padding:5px!important;box-shadow:none!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--card)!important;color:var(--green)!important}
#ps-search-open:before{content:'⌕';font-size:26px;line-height:1}
#ps-sections-open:before{content:'☷';font-size:22px;line-height:1}
#ps-language-open{display:none!important} /* le sélecteur de langue existant est déjà dans l'en-tête */
#ps-header-languages{order:0}
#ps-header-languages>summary{min-height:37px;padding:6px 8px}
#ps-tool-panel{position:fixed;top:calc(78px + env(safe-area-inset-top,0px));right:12px;left:auto;bottom:auto;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 110px);z-index:92}
header nav#menu{z-index:94}
body.ps-v4-menu-open #ps-tool-panel,body.ps-v4-menu-open #ps-bird-menu{display:none!important}
body.ps-v4-menu-open #ps-bird-hint{display:none!important}
.fab{width:auto!important;min-width:52px;padding:0 10px!important;gap:6px;display:flex!important;align-items:center;justify-content:center;text-decoration:none}
.fab:after{content:'Bénévole';font:700 11px system-ui;white-space:nowrap}
#col.colibri{z-index:55!important}
#ps-backtop{right:12px!important;bottom:calc(190px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:700px){
 header{flex-wrap:wrap!important;gap:5px!important;padding:6px 7px!important}
 header .brand{order:0!important;flex:1 1 115px!important;min-width:0!important}
 #ps-quick-tools{order:1!important}
 #ps-header-languages{order:2!important}
 header .callbtn{order:3!important;width:36px!important;height:36px!important}
 header .burger{order:4!important;padding:4px!important}
 #ps-header-languages>summary{font-size:12px;padding:5px}
 #ps-quick-tools .ps-tool{min-width:33px;height:34px}
 #ps-tool-panel{top:calc(110px + env(safe-area-inset-top,0px));bottom:auto!important;max-height:calc(100dvh - 195px)}
 .fab{bottom:calc(83px + env(safe-area-inset-bottom,0px))!important;min-width:48px}
 .fab:after{font-size:10px}
 #ps-backtop{bottom:calc(192px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:390px){header .brand span{font-size:10px!important}#ps-header-languages>summary{font-size:11px}#ps-quick-tools .ps-tool{min-width:29px;width:29px}header .brand img{width:35px!important}}


/* One language selector: header only. Avoid global summary chevron duplication. */
#ps-header-languages>summary::after{content:none!important;display:none!important}
#ps-header-languages>summary{list-style:none!important;display:flex!important;align-items:center;gap:5px;white-space:nowrap}
#ps-header-languages>summary::-webkit-details-marker{display:none}
#ps-bird-menu .bird-langs{display:none!important}
/* Language menu anchored under the header, above the page and other overlays. */
#ps-header-languages[open]{z-index:1005!important}
#ps-header-languages[open] .ps-langbar{z-index:1006!important;display:flex!important;gap:5px;flex-wrap:wrap;max-width:min(290px,90vw);background:var(--card);border:2px solid var(--green);border-radius:14px;padding:10px;box-shadow:0 10px 28px #0003}
/* Compact secondary sections; content remains accessible to screen readers when expanded. */
.ps-fold-toggle{display:inline-flex;align-items:center;gap:.5rem;margin:.25rem 0 0;border:2px solid var(--green);border-radius:999px;background:var(--card);color:var(--green);padding:.65rem 1rem;font:700 .95rem system-ui;cursor:pointer}
.ps-fold-toggle::after{content:'⌄';font-size:1.2rem;line-height:1;transition:transform .2s}
.ps-fold-toggle[aria-expanded=true]::after{transform:rotate(180deg)}
.ps-fold-body[hidden]{display:none!important}
@media(max-width:700px){
 header{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
 header .brand{order:0!important;flex:1 1 50%!important;min-width:145px!important}
 #ps-quick-tools{order:1!important;gap:4px!important}
 #ps-header-languages{order:2!important}
 header .callbtn{order:3!important}
 header .burger{order:4!important}
 #ps-quick-tools .ps-tool{min-width:34px!important;width:34px!important;height:35px!important}
 #ps-header-languages>summary{min-height:35px!important;padding:5px 7px!important;font-size:12px!important}
 section.ps-foldable{padding-top:1.3rem!important;padding-bottom:1.3rem!important}
 section.ps-foldable h2{font-size:clamp(1.35rem,5vw,1.8rem);margin-bottom:.35rem}
 #ps-hero-search{scroll-margin-top:135px}
}


/* V7 : boutons des rubriques sur une ligne, avec retour a la ligne propre si necessaire */
section .btns, section .sh, section .chips, section .tabs, section .cc,
section .alt .btns, .actu-launch .btns {
 display:flex!important; flex-direction:row!important; flex-wrap:wrap!important;
 align-items:center!important; justify-content:flex-start!important; gap:.55rem!important;
}
section .btns > a, section .btns > button, section .sh > a, section .sh > button,
section .chips > button, section .tabs > button {
 flex:0 1 auto!important; width:auto!important; max-width:100%;
 margin:0!important; white-space:normal; text-align:center;
}
@media(max-width:700px){
 /* Une seule ligne dans le bandeau mobile : logo, recherche, sommaire, langue, telephone, menu */
 header{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
  justify-content:space-between!important;gap:3px!important;padding:5px 5px!important;min-height:59px}
 header .brand{order:0!important;flex:1 1 auto!important;min-width:0!important;gap:3px!important}
 header .brand img{width:clamp(29px,8vw,40px)!important;height:auto!important;flex-shrink:0}
 header .brand span{font-size:clamp(8px,2.1vw,10px)!important;line-height:1.12!important;overflow-wrap:normal!important}
 header #ps-quick-tools{order:1!important;display:flex!important;flex:0 0 auto!important;gap:2px!important}
 header #ps-quick-tools .ps-tool{width:30px!important;min-width:30px!important;height:32px!important;padding:2px!important}
 #ps-header-languages{order:2!important;flex:0 0 auto!important}
 #ps-header-languages>summary{padding:4px!important;min-height:32px!important;font-size:11px!important;gap:2px!important}
 header .callbtn{order:3!important;flex:0 0 31px!important;width:31px!important;height:31px!important;font-size:15px!important}
 header .burger{order:4!important;flex:0 0 27px!important;padding:2px!important}
 header .burger span{width:22px!important;margin:5px 0!important}
 header nav#menu{position:absolute!important;top:100%!important;left:0!important;right:0!important}
 #ps-tool-panel{top:calc(65px + env(safe-area-inset-top,0px))!important}
 #ps-hero-search{scroll-margin-top:80px!important}
 section .btns .btn{font-size:clamp(.73rem,2.8vw,.92rem);padding:.7rem .9rem}
 section .sh > *,section .chips > *,section .tabs > *{font-size:.85rem;padding:.6rem .8rem}
}
@media(max-width:360px){
 header .brand span{font-size:7.6px!important}
 header .brand img{width:29px!important}
 header #ps-quick-tools .ps-tool{width:27px!important;min-width:27px!important}
 #ps-header-languages>summary{font-size:10px!important}
}


/* V9: un bandeau, un sélecteur, un menu ouvert à la fois */
header{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:clamp(3px,1vw,10px)!important;padding:8px clamp(6px,1.5vw,16px)!important;overflow:visible!important;isolation:isolate;z-index:110!important}
header .brand{order:0!important;flex:1 1 auto!important;min-width:0!important;gap:5px!important}
header .brand img{width:clamp(32px,8vw,55px)!important;height:auto!important}
header .brand span{font-size:clamp(9px,1.8vw,15px)!important;line-height:1.12!important;overflow-wrap:normal!important}
header .ps-v9-search{order:1;flex:0 0 auto;width:clamp(34px,9vw,44px);height:clamp(34px,9vw,44px);border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--green);font-size:29px;line-height:1;cursor:pointer}
#ps-header-languages{order:2!important;position:relative!important;flex:0 0 auto!important;margin:0!important}
#ps-header-languages>summary{display:flex!important;align-items:center;gap:3px;min-height:40px;padding:6px 8px!important;font-size:13px!important;border-radius:12px!important;white-space:nowrap}
#ps-header-languages>summary::after{display:none!important}
#ps-header-languages .ps-langbar{display:none!important;position:absolute!important;top:calc(100% + 8px)!important;right:0!important;left:auto!important;z-index:1000!important;min-width:170px;max-width:calc(100vw - 20px);padding:9px!important;border:2px solid var(--green);border-radius:15px;background:var(--card);box-shadow:0 12px 28px #0003;grid-template-columns:1fr 1fr;gap:6px}
#ps-header-languages[open] .ps-langbar{display:grid!important}
#ps-header-languages .ps-langbar button{min-height:42px!important;font-size:13px!important;white-space:nowrap}
header .callbtn{order:3!important;flex:0 0 auto!important;width:clamp(34px,9vw,44px)!important;height:clamp(34px,9vw,44px)!important;font-size:18px!important}
header .burger{order:4!important;flex:0 0 auto!important;padding:5px!important}
header .burger span{width:23px!important;margin:5px 0!important}
header nav#menu{top:100%!important;z-index:800!important;max-height:0;overflow:hidden}
header nav#menu.open{max-height:min(75dvh,650px)!important;overflow-y:auto!important;box-shadow:0 18px 25px #0002}
#ps-quick-tools,#ps-tool-panel,#ps-mobile-nav,#ps-v8-lang-options{display:none!important}
#ps-hero-search{scroll-margin-top:100px}
#ps-bird-menu{max-height:min(68dvh,460px)!important;overflow:auto!important}
#ps-bird-menu a,#ps-bird-menu button{min-height:44px}
#ps-bird-hint{pointer-events:none!important}
#a11p{max-height:72dvh!important;overflow-y:auto!important;z-index:160!important}
#ps-backtop{z-index:70!important}
@media(max-width:650px){body{padding-bottom:0!important}header{gap:3px!important}header .brand img{width:34px!important}header .brand span{font-size:clamp(8px,1.65vw,11px)!important}header .ps-v9-search{width:35px;height:37px}#ps-header-languages>summary{padding:5px!important;min-height:37px;font-size:12px!important}header .callbtn{width:36px!important;height:36px!important}header .burger{padding:3px!important}header .burger span{width:21px!important}#ps-backtop{bottom:85px!important;right:12px!important}#ps-bird-menu{width:min(265px,calc(100vw - 70px))!important}}
@media(max-width:380px){header .brand span{font-size:8px!important}header .brand img{width:29px!important}#ps-header-languages>summary{font-size:11px!important}header .ps-v9-search{width:32px;height:34px}header .callbtn{width:33px!important;height:33px!important}}


/* Barre de titre visible en permanence, y compris quand le panneau défile */
#a11p.a11-panel{max-height:min(78dvh,650px);overflow-y:auto;overscroll-behavior:contain;}
#a11p .ps-a11-heading{position:sticky;top:-1rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1rem -1rem .65rem;padding:.85rem 1rem;background:var(--card);border-bottom:1px solid var(--line);border-radius:20px 20px 0 0;}
#a11p .ps-a11-heading h4{margin:0;flex:1;min-width:0;}
#a11p #ps-a11-close{display:grid!important;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0!important;border:2px solid var(--green)!important;border-radius:50%!important;background:var(--green)!important;color:var(--bg)!important;font-size:25px!important;font-weight:700;line-height:1;cursor:pointer;text-align:center;}
#a11p #ps-a11-close:focus-visible{outline:3px solid var(--pink);outline-offset:3px;}
@media(max-width:650px){#a11p.a11-panel{max-height:calc(100dvh - 125px);}}


#ps-header-languages{flex:0 0 auto;position:relative;order:0}
#ps-header-languages>summary{list-style:none;cursor:pointer;display:flex;gap:5px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--green);font:700 13px system-ui}
#ps-header-languages>summary::-webkit-details-marker{display:none}
#ps-header-languages .ps-langbar{position:absolute;top:calc(100% + 7px);left:0;display:flex;flex-wrap:wrap;min-width:195px;max-width:min(270px,90vw);padding:10px;background:var(--card);border:2px solid var(--green);border-radius:15px;box-shadow:0 12px 24px #0003;z-index:70}
#ps-header-languages:not([open]) .ps-langbar{display:none!important}
#ps-bird-menu .ps-bird-languages{background:var(--soft);border:0;border-radius:13px;margin:0;padding:0}
#ps-bird-menu .ps-bird-languages>summary{font:700 14px system-ui;cursor:pointer;padding:11px 12px;color:var(--green);list-style:none}
#ps-bird-menu .ps-bird-languages>summary::-webkit-details-marker{display:none}
#ps-bird-menu .ps-bird-languages .bird-langs{padding:4px 7px 10px}
#ps-bird-hint{position:fixed;z-index:56;pointer-events:none;background:#fff9dd;color:#14593f;border:2px solid #f2bb35;border-radius:14px;padding:4px 9px;font:700 13px system-ui;box-shadow:0 3px 10px #0002;transition:opacity .25s;right:68px;top:30%}
#ps-bird-hint.ps-hint-hide{opacity:0;visibility:hidden}
#ps-quick-tools{display:none!important}
#ps-hero-search{padding:1.2rem 1.4rem 1.8rem;background:var(--soft)}
#ps-hero-search .wrap{max-width:750px}
#ps-hero-search label{display:block;margin:0 0 8px;color:var(--green);font-weight:700}
#ps-home-search{width:100%;background:var(--card);border:2px solid var(--green);border-radius:20px;padding:14px 18px;font-size:1.05rem}
#ps-home-results{margin-top:10px;background:var(--card);border-radius:18px;padding:10px;max-height:340px;overflow:auto}
#ps-home-results[hidden]{display:none!important}
#ps-home-results .ps-results{display:grid;gap:7px}
#ps-home-results .ps-results a{display:block;text-decoration:none;padding:10px 12px;border-radius:12px;background:var(--soft);color:var(--green);font-weight:700}
#ps-home-results .ps-results small{display:block;font-weight:400;font-size:.85rem;color:var(--ink)}
#ps-backtop{right:12px;bottom:165px;z-index:50}
@media(max-width:700px){#ps-backtop{right:10px!important;bottom:calc(166px + env(safe-area-inset-bottom))!important}#ps-header-languages{order:0}#ps-header-languages .ps-langbar{left:0}#ps-bird-hint{font-size:11px;right:52px}#ps-hero-search{padding:1rem}}
@media(max-width:450px){#ps-header-languages .ps-langbar{left:0}#ps-backtop{bottom:calc(171px + env(safe-area-inset-bottom))!important}}


/* V5: la règle V3 masquait les outils de la V4, notamment sur mobile. */
header #ps-quick-tools{display:flex!important;visibility:visible!important;opacity:1!important;position:static!important;min-width:0;flex-wrap:nowrap}
header #ps-quick-tools[hidden]{display:flex!important}
#ps-header-languages[open]{z-index:110!important}
#ps-header-languages[open] .ps-langbar{display:flex!important;position:fixed!important;top:var(--ps-lang-top,75px)!important;left:auto!important;right:12px!important;z-index:120!important;max-width:calc(100vw - 24px)!important;min-width:210px!important;background:var(--card)!important}
#ps-header-languages>summary{touch-action:manipulation;pointer-events:auto}
#ps-bird-hint{top:var(--ps-hint-top,30%)!important;right:var(--ps-hint-right,68px)!important}
a.fab:after{content:'Faire un don'!important}
@media(max-width:700px){
 header #ps-quick-tools{order:1!important;flex:0 0 auto!important;gap:3px!important}
 header #ps-quick-tools .ps-tool{display:grid!important;width:32px!important;min-width:32px!important;height:34px!important}
 #ps-header-languages{order:2!important}
 header .brand{flex:1 1 105px!important}
 #ps-backtop{right:12px!important;bottom:calc(205px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:370px){header .brand span{font-size:9px!important}header #ps-quick-tools .ps-tool{width:29px!important;min-width:29px!important}}

/* V10: readable, stable controls and a compact landing page */
header{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:10px 18px!important;background:var(--bg)!important}
header .brand{flex:1 1 210px!important}header .brand span{font-size:14px!important}header .brand img{width:48px!important}
header #a11{position:static!important;order:1!important;width:auto!important;height:44px!important;border-radius:12px;min-width:44px;padding:8px!important;box-shadow:none!important;font:700 13px system-ui!important;animation:none!important}
header #ps-search-open{width:auto!important;height:44px!important;padding:8px!important;font:700 13px system-ui!important}
header #ps-header-languages>summary,header .callbtn,header .burger{min-height:44px!important;min-width:44px!important}
header .burger{border:1px solid var(--line);border-radius:12px;font:700 14px system-ui;background:var(--card)}
header nav#menu:not(.open){visibility:hidden}header nav#menu.open{visibility:visible}header nav#menu a{font-size:1rem;text-transform:none;padding:14px 20px}
.hero{padding:1.4rem!important}.hero .wrap{grid-template-columns:180px 1fr!important;gap:24px!important}.hero .logo-stage{width:100%;max-width:180px;margin:0 auto}.hero h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.hero .logo-stage img{animation:none}.hero .btns{margin-top:14px}.hero .btn{font-size:.85rem;padding:12px 16px}.hero .hero2 .btn{font-size:.8rem;padding:9px 12px}
section{scroll-margin-top:150px}.ps-foldable{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
#a11p{top:var(--v10-header,120px)!important;bottom:auto!important;left:12px!important;max-height:calc(100dvh - var(--v10-header,120px) - 16px)!important}
#ps-header-languages[open] .ps-langbar{top:var(--v10-header,120px)!important;right:12px!important;left:auto!important}
.v10-footer-links{display:flex;justify-content:center;gap:12px 22px;flex-wrap:wrap;width:100%;font-size:.9rem}.v10-footer-links a{padding:8px}
footer{flex-wrap:wrap}.v10-skip{position:fixed;top:-100px;left:12px;z-index:2000;padding:12px;background:var(--card);color:var(--green)}.v10-skip:focus{top:8px}
a.fab{display:none!important}#ps-backtop{bottom:16px!important}.btn.b-pink{background:#a82750;color:white}.eyebrow{color:#a82750}
@media(max-width:700px){header{gap:6px!important;padding:7px 10px!important}header .brand{flex:1 1 calc(100% - 60px)!important;order:0!important}header .brand span{font-size:13px!important}header .brand img{width:38px!important}header .callbtn{order:0!important}header #ps-search-open,header #a11{flex:1 1 auto!important}header #ps-header-languages{order:2!important}header .burger{order:3!important}.hero .wrap{grid-template-columns:1fr!important;gap:12px!important}.hero .logo-stage{max-width:100px}.hero h1{font-size:1.9rem}.hero .eyebrow{font-size:.75rem;margin-bottom:10px}.hero .btns{gap:8px!important}.hero .btn{font-size:.8rem!important}header nav#menu.open{max-height:calc(100dvh - 130px)!important}}
@media(prefers-color-scheme:dark){.eyebrow{color:#ff9eba}}
html.contraste .eyebrow{color:inherit}

/* Compact albums and predictable small-screen header. */
#images{padding-block:2rem}.v11-album{margin:10px 0;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.v11-album>summary{padding:16px 18px;font-weight:700;color:var(--green);cursor:pointer;display:flex;justify-content:space-between;gap:12px}.v11-album-content{padding:0 18px 22px}.v11-album .wrap{padding:0}.v11-album .vine,.v11-album .conf{display:none}.v11-album-content h3{margin-top:1.5rem!important}
.hero #stats{max-width:980px;margin:24px auto 0;opacity:1;transform:none;grid-template-columns:repeat(4,1fr)}.hero #stats b{font-size:2rem}.hero #stats span{font-size:.8rem}.ps-foldable>.wrap>.eyebrow{display:none}.ps-foldable h2{font-size:1.5rem}.ps-foldable .vine{display:none}section.ps-foldable{padding-block:1rem!important}#ps-search-open:before{display:none!important}
@media(max-width:700px){header{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) 58px 52px!important;gap:6px!important}header .brand{grid-column:1/4;grid-row:1;min-width:0!important}header .callbtn{grid-column:4;grid-row:1}header #a11{grid-column:1;grid-row:2;min-width:0!important;font-size:11px!important;padding:5px!important}header #ps-search-open{grid-column:2;grid-row:2;min-width:0!important;font-size:11px!important;padding:5px!important}header #ps-header-languages{grid-column:3;grid-row:2;min-width:0}header #ps-header-languages>summary{font-size:11px!important;padding:3px!important;gap:1px!important}header .burger{grid-column:4;grid-row:2;font-size:12px!important;padding:4px!important}.hero #stats{grid-template-columns:repeat(2,1fr);gap:12px}.hero #stats div{padding:10px}.v11-album-content{padding:0 12px 16px}#images{padding:1.5rem 1rem}.v11-album>summary{font-size:1rem}}

#video video{display:block;width:100%;max-width:800px;height:auto;aspect-ratio:16/9;object-fit:contain;background:#111;border-radius:12px;margin:12px auto}#video p{margin-top:12px}

/* Compact services and always-visible official links. */
#liens{padding-block:1.8rem}#liens .eyebrow{display:none}#liens .liens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#liens a.lk{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;min-height:48px;min-width:0;box-shadow:none}#liens a.lk b{font:600 .85rem/1.25 system-ui;text-transform:none;margin:0;overflow-wrap:anywhere}#liens .useful-icon{font-style:normal;font-size:20px;flex:0 0 25px;text-align:center;color:var(--green)}#liens .useful-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#liens .warn{font-size:.8rem;padding:10px;margin-top:12px}#liens .wrap>p{font-size:.9rem;margin-bottom:12px}
#actions{padding-block:1.8rem}#actions .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:16px auto 0}#actions .card{min-width:0;padding:16px;border-radius:16px}#actions .card h3{font-size:1rem;line-height:1.25;text-transform:none;overflow-wrap:anywhere;margin:8px 0}#actions .card p{font-size:.9rem;line-height:1.45;margin:0}#actions .ico{width:34px;height:34px;margin:0}#actions .ico svg{width:28px;height:28px}#actions .big{font-size:1rem!important;text-transform:none!important;line-height:1.45}#actions .vine{display:none}
@media(max-width:700px){#liens .liens{grid-template-columns:repeat(2,minmax(0,1fr))}#actions{padding:1.5rem 1rem}#actions .grid{gap:8px}#actions .card{padding:12px}#actions .card h3{font-size:.95rem}#actions .card p{font-size:.85rem}#actions h2{font-size:1.65rem}#liens a.lk{padding:9px 7px;gap:6px}#liens a.lk b{font-size:.8rem}}
@media(max-width:300px){#actions .grid,#liens .liens{grid-template-columns:1fr}}

#formulaire{scroll-margin-top:calc(var(--v10-header,120px) + 14px)}#partage{padding-block:1.4rem}#partage h2{font-size:1.5rem}#partage .eyebrow{display:none}#partage .btn,.contact-routes .btn{font-size:.85rem;padding:10px 14px}#contact .info .contact-routes{margin-block:14px}#contact .info .fine{font-size:.85rem;overflow-wrap:anywhere}#sendmail{cursor:pointer}

/* V14 : contact prioritaire, menus accessibles, meilleur défilement */
html{scroll-behavior:smooth;scroll-padding-top:110px}
#formulaire{scroll-margin-top:120px}
header .callbtn{background:#14593f!important;color:#fff!important;box-shadow:0 3px 12px #0002!important;text-decoration:none!important}
header .callbtn:focus-visible,header nav a:focus-visible,summary:focus-visible{outline:3px solid #c44b7b;outline-offset:3px}
header nav#menu.open{overscroll-behavior:contain}
details>summary{cursor:pointer}
img{max-width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V16 : encart pratique, navigation et accessibilité */
.ps-v16-news-note{margin:1.1rem 0 1.8rem;padding:1.15rem 1.35rem;border:1px solid #c7dfd0;border-left:5px solid #23734e;border-radius:16px;background:#f2faf4;color:#163c2b}
.ps-v16-news-note strong{font-size:1.13rem}.ps-v16-news-note p{margin:.55rem 0 .9rem;line-height:1.6}
.ps-v16-news-note .btns{display:flex;flex-wrap:wrap;gap:.65rem}
:where(a,button,input,textarea,summary):focus-visible{outline:3px solid #c04c78;outline-offset:3px}
@media(max-width:640px){.ps-v16-news-note{padding:1rem}.ps-v16-news-note .btns .btn{width:100%;text-align:center}}


/* V54 : battement des ailes indépendant du déplacement du colibri.
   Les deux calques proviennent du colibri original. */
#col .ps-colibri-art{display:block;position:relative;width:100%;aspect-ratio:163/180;overflow:visible;pointer-events:none}
#col .ps-colibri-art img{display:block!important;position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;filter:none!important;animation:none!important;pointer-events:none}
#col .ps-colibri-art .ps-colibri-wings{
  transform-origin:51% 39%!important;
  animation:ps-wing-beat .23s ease-in-out infinite alternate!important;
  will-change:transform;
}
@keyframes ps-wing-beat{
  from{transform:rotate(-12deg) scaleY(.82)}
  to{transform:rotate(11deg) scaleY(1.08)}
}
@media(prefers-reduced-motion:reduce){
  #col .ps-colibri-art .ps-colibri-wings{animation:none!important;transform:none!important}
}
body.calm #col .ps-colibri-art .ps-colibri-wings,
body.reduce-motion #col .ps-colibri-art .ps-colibri-wings{animation:none!important;transform:none!important}



/* V56: original intact always visible; only wing area is animated as a transparent overlay */
#col .ps-colibri-v56{display:block;position:relative;width:100%;aspect-ratio:163/180;overflow:visible;pointer-events:none}
#col .ps-colibri-v56 img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;pointer-events:none;filter:none!important}
#col .ps-colibri-v56 .ps-v56-whole{z-index:1;animation:none!important}
#col .ps-colibri-v56 .ps-v56-wings{z-index:2;clip-path:polygon(43% 46%,52% 12%,68% 0%,73% 14%,99% 15%,100% 39%,68% 51%,60% 62%);transform-origin:52% 45%;animation:ps-v56-wing 1.15s ease-in-out infinite alternate!important}
@keyframes ps-v56-wing{from{transform:rotate(-2deg) scaleY(1)}to{transform:rotate(8deg) scaleY(.96)}}
@media(prefers-reduced-motion:reduce){#col .ps-colibri-v56 .ps-v56-wings{animation:none!important;transform:none!important}}
body.reduce-motion #col .ps-colibri-v56 .ps-v56-wings,body.calm #col .ps-colibri-v56 .ps-v56-wings{animation:none!important;transform:none!important}
