:root{--bg:#FAF7F0;--bg2:#fff;--ink:#14231F;--mut:#4A5D57;--deep:#0F5953;--g:#7BB539;--or:#E8723A;--sun:#F2C45A;--riv:#6BB8BE;--line:#E3DDCF;--ser:"Palatino Linotype","Book Antiqua",Georgia,serif;--san:"Avenir Next","Segoe UI",system-ui,sans-serif;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0C1B18;--bg2:#13271F;--ink:#EEF3EE;--mut:#A9BDB6;--deep:#0A2F2C;--line:#24403A;color-scheme:dark}}
:root[data-theme=dark]{--bg:#0C1B18;--bg2:#13271F;--ink:#EEF3EE;--mut:#A9BDB6;--deep:#0A2F2C;--line:#24403A;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font:17px/1.6 var(--san);background:var(--bg);color:var(--ink)}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--ser);line-height:1.15;margin:0}
.skip{position:absolute;left:-999px;background:#fff;color:#000;padding:10px 14px;z-index:99}.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 10px) 22px 10px;color:#fff;transition:.35s}
.top.sc{background:color-mix(in srgb,var(--deep) 94%,transparent);backdrop-filter:blur(10px);box-shadow:0 6px 24px #0003}
.top .lg img{height:58px;width:auto}.top nav{margin-left:auto}.top ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.top li{position:relative}.top li>a,.top li>button{font:600 15px var(--san);color:#fff;background:none;border:0;padding:10px 12px;border-radius:10px;cursor:pointer;text-decoration:none;display:block}
.top li>a:hover,.top li>button:hover{background:#ffffff22}.sub{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--bg2);color:var(--ink);border-radius:14px;padding:8px;box-shadow:0 16px 40px #0004;flex-direction:column;gap:0}
.top li:hover>.sub,.top li:focus-within>.sub,.sub.open{display:flex}.sub a{color:var(--ink);padding:9px 12px;border-radius:9px;text-decoration:none;font-size:15px}.sub a:hover{background:var(--line)}
.btn{display:inline-block;font:700 15px var(--san);padding:12px 22px;border-radius:99px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.25s}
.btn.p{background:var(--or);color:#fff}.btn.p:hover{transform:translateY(-2px);box-shadow:0 8px 22px #e8723a66}.btn.o{border-color:#fff;color:#fff}.btn.o:hover{background:#fff;color:var(--deep)}
.ib{width:44px;height:44px;border-radius:50%;border:2px solid #ffffff88;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:19px}.ib:hover{background:#ffffff22}
.bur{display:none}
.hero{position:relative;height:100svh;min-height:660px;overflow:hidden;color:#fff;perspective:900px;background:#10241f url(../img/hero.jpg) center/cover}
.hs{position:absolute;inset:-6%;transform-style:preserve-3d;transition:transform .2s ease-out;translate:0 var(--sy,0px);will-change:transform;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.hb{position:absolute;inset:0;background:url(../img/hero.jpg) center/cover;filter:saturate(1.12) brightness(1.06);transform:translateZ(-170px) scale(1.08);animation:dl 3.4s cubic-bezier(.16,.8,.2,1) both,zm 28s 3.4s ease-in-out infinite alternate}
@keyframes dl{from{transform:translateZ(-170px) scale(1.32)}to{transform:translateZ(-170px) scale(1.08)}}@keyframes zm{to{filter:saturate(1.08);transform:translateZ(-170px) scale(1.14) translateY(-1%)}}
.hv{position:absolute;inset:0;background:linear-gradient(90deg,#06140f59 0%,#06140f1a 34%,transparent 58%),linear-gradient(180deg,#06140f40 0%,transparent 18%,transparent 62%,#06140f8f 100%),radial-gradient(ellipse at 70% 12%,#ffffff22,transparent 55%)}
.pt{position:absolute;inset:0;pointer-events:none;overflow:hidden;transform:translateZ(-30px)}.pt.near{transform:translateZ(190px)}.pt.near i{filter:blur(1.6px);opacity:.92}.pt i{position:absolute;top:-20px;width:9px;height:9px;border-radius:70% 0 70% 0;background:var(--sun);opacity:.75;animation:fl linear infinite}
@keyframes fl{to{transform:translate(70px,115vh) rotate(540deg)}}
.hc{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;padding:120px max(22px,6vw) 150px;max-width:1280px;margin:auto;transform:translateZ(90px) rotateX(calc(var(--rx,0deg)*.6)) rotateY(calc(var(--ry,0deg)*.6));translate:0 calc(var(--sy,0px)*-.3);transition:transform .2s ease-out}
.eb{font:700 13px var(--san);letter-spacing:.22em;text-transform:uppercase;color:var(--sun)}
h1{font-size:clamp(46px,9vw,128px);letter-spacing:-.02em;margin:12px 0 18px;text-shadow:0 4px 28px #000a,0 1px 3px #0007}.hc .eb,.hc p.t{text-shadow:0 2px 14px #000b}.top .lg img{filter:drop-shadow(0 2px 8px #0007)}.top:not(.sc) li>a,.top:not(.sc) li>button{text-shadow:0 1px 10px #000a}
.ln{display:block;overflow:hidden}.ln span{display:block;transform:translateY(105%);animation:up 1.1s cubic-bezier(.2,.7,.2,1) forwards}.ln:nth-child(2) span{animation-delay:.18s}
@keyframes up{to{transform:none}}.hc p.t{font-size:clamp(18px,2.2vw,26px);max-width:640px;margin:0 0 28px;opacity:0;animation:fi 1s .7s forwards}.hc .ac{display:flex;gap:12px;flex-wrap:wrap;opacity:0;animation:fi 1s .95s forwards}
@keyframes fi{to{opacity:1}}
.mc{position:absolute;z-index:6;right:max(48px,9vw);bottom:96px;width:min(340px,calc(100% - 44px));background:#0b2a26d9;backdrop-filter:blur(12px);border:1px solid #ffffff33;border-radius:var(--rr,20px);padding:18px 20px;transform:translateZ(100px) rotateX(calc(var(--rx,0deg)*.8)) rotateY(calc(var(--ry,0deg)*.8));transition:transform .2s ease-out;font-size:15px}
.mc b{font-family:var(--ser);font-size:clamp(16px,4.8vw,19px);display:block;margin-bottom:4px}.mc a{color:var(--sun);font-weight:700;text-decoration:none}
.tr{display:block;width:100%;height:46px;position:absolute;bottom:-1px;left:0;z-index:5;fill:var(--bg)}
.sc2{position:absolute;z-index:6;left:50%;bottom:54px;width:2px;height:40px;background:linear-gradient(#fff,transparent);animation:sd 2s infinite}@keyframes sd{50%{transform:translateY(10px);opacity:.3}}
section{padding:90px max(22px,6vw)}.in{max-width:1240px;margin:auto}
.kk{font:700 13px var(--san);letter-spacing:.2em;text-transform:uppercase;color:var(--or)}h2{font-size:clamp(32px,4.6vw,54px);margin:8px 0 14px}.lead{color:var(--mut);max-width:62ch}
.qg{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:34px}
.q{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:20px;background:var(--bg2);border:1px solid var(--line);text-decoration:none;transition:.3s}.q span{color:var(--deep);width:54px;height:54px;border-radius:16px;background:color-mix(in srgb,var(--g) 22%,transparent);display:grid;place-items:center}
:root[data-theme=dark] .q span{color:var(--sun)}.q b{font-family:var(--ser);font-size:19px}.q:hover{translate:0 -6px;box-shadow:0 18px 40px #0002;border-color:var(--g)}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:34px}
.c{background:var(--bg2);border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 18px #0000000f;transition:.35s;transform-style:preserve-3d}.c:hover{translate:0 -8px;box-shadow:0 22px 46px #0000002b}
.ci{position:relative;aspect-ratio:3/2;overflow:hidden}.ci img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.c:hover .ci img{transform:scale(1.07)}
.bd{position:absolute;left:14px;top:14px;background:#fffffff0;color:#14231F;font:700 13px var(--san);padding:5px 12px;border-radius:99px}
.cb{padding:20px 22px 24px}.cb h3{font-size:23px;margin-bottom:8px}.cb p{margin:0;color:var(--mut);font-size:15.5px}
.dp{position:relative;background:var(--deep);color:#fff;padding-top:100px;padding-bottom:100px}.dp .tr.up{top:-1px;bottom:auto;transform:scaleY(-1);fill:var(--bg)}
.dp .c{background:#ffffff10;border-color:#ffffff22;color:#fff}.dp .cb p{color:#d6e5df}.dp .kk{color:var(--sun)}.dp .lead{color:#cfe0d9}
.ft{background:var(--deep);color:#e8f1ed;padding:70px max(22px,6vw) 30px;position:relative}.ft .tr{fill:var(--bg);top:-1px;bottom:auto;transform:scaleY(-1)}
.fg{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:34px;max-width:1240px;margin:auto}.fg h4{font:700 14px var(--san);letter-spacing:.12em;text-transform:uppercase;color:var(--sun);margin:0 0 12px}
.fg a{display:block;text-decoration:none;padding:4px 0;color:#e8f1ed}.fg a:hover{color:var(--sun)}.fl img{height:92px;width:auto;margin-bottom:12px}
.cp{max-width:1240px;margin:34px auto 0;padding-top:20px;border-top:1px solid #ffffff2a;font-size:14px;display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:space-between;color:#b9cfc7}
.bt{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:48px;height:48px;border-radius:50%;border:0;background:var(--or);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 8px 22px #0004;opacity:0;pointer-events:none;transition:.3s;z-index:40}.bt.on{opacity:1;pointer-events:auto}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.js .rv.vu{opacity:1;transform:none}
@media(pointer:coarse){.hs{animation:sw 10s ease-in-out infinite alternate}}@keyframes sw{from{transform:rotateY(-4deg) rotateX(1.5deg)}to{transform:rotateY(4deg) rotateX(-1.5deg)}}
@media(max-width:980px){.bur{display:grid;margin-left:auto}.top nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--deep);padding:90px 18px 30px;transform:translateX(105%);transition:.35s;overflow:auto}.top nav.open{transform:none}.top ul{flex-direction:column;align-items:stretch}.top li>a,.top li>button{font-size:18px;text-align:left;width:100%}.sub{display:flex;position:static;background:#ffffff12;box-shadow:none;color:#fff;margin:0 0 6px 10px}.sub a{color:#e8f1ed}.top .ac2 .btn{display:block;text-align:center;margin-top:10px}.fg{grid-template-columns:1fr 1fr}.mc{position:relative;right:auto;bottom:auto;width:calc(100% - 44px);max-width:460px;margin:-110px auto 96px;z-index:7;transform:none}.hc{transform:none}.hero{height:auto;min-height:100svh}.hc{padding-bottom:170px}}
@media(max-width:560px){.fg{grid-template-columns:1fr}.top .lg img{height:48px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.ln span,.hc p.t,.hc .ac{transform:none;opacity:1}.js .rv{opacity:1;transform:none}.hs{transform:none!important}html{scroll-behavior:auto}}
.alerte{position:relative;z-index:70;display:flex;gap:12px;align-items:flex-start;justify-content:center;padding:12px max(18px,4vw);font-size:15.5px;line-height:1.45;color:#fff;background:#0F5953}
.alerte b{font-family:var(--ser);font-size:17px;margin-right:8px}.alerte--attention{background:#8A5A00}.alerte--urgence{background:#B3261E}.alerte--evenement{background:#5B3E96}
.alerte .ic{flex:none;width:24px;height:24px;border-radius:50%;background:#ffffff2e;display:grid;place-items:center;font-weight:700}
.top{top:var(--alert-h,0px)}
.pt i{border-radius:50%}.pt[data-a=automne] i{border-radius:70% 0 70% 0}.pt[data-a=printemps] i{border-radius:60% 40% 60% 40%}
.pt[data-a=hiver] i{background:#fff!important;box-shadow:0 0 6px #fff9;opacity:.85}.pt[data-a=ete] i{box-shadow:0 0 12px 3px #fff6;opacity:.7}
.pg{padding:150px max(22px,6vw) 90px;min-height:70vh}.pg .in{max-width:760px}
.s-actus{padding-top:20px}.cp a{display:inline;text-decoration:underline}.mt28{margin-top:28px}.fg .h4{font:700 14px var(--san);letter-spacing:.12em;text-transform:uppercase;color:var(--sun);margin:0 0 12px}.hor{margin:8px 0 0}
.pg h1{font-size:clamp(34px,5vw,56px);margin:8px 0 18px}.top[data-fixe]{background:var(--deep)}
/* ---- Lot 2 : pages de contenu ---- */
.in.lg{max-width:1240px}.pg .in.lg{max-width:1240px}
.col-vert{--ac:#7BB539}.col-orange{--ac:#E8723A}.col-bleu{--ac:#2F7FB8}.col-jaune{--ac:#D9A21B}.col-rouge{--ac:#C0392B}.col-violet{--ac:#5B3E96}.col-neutre{--ac:#6B7F78}
.fil{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}.fil a{padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:var(--bg2);text-decoration:none;font:600 14px var(--san)}
.fil a:hover{border-color:var(--g)}.fil a[aria-current=true]{background:var(--deep);color:#fff;border-color:var(--deep)}
.c{position:relative;--ac:var(--g)}.c::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--ac);z-index:2}
.c h3 a{text-decoration:none}.c h3 a::after{content:"";position:absolute;inset:0}.cb .dt,.cm .dt{font:600 13px var(--san);color:var(--mut);margin:0 0 6px}
.noimg{width:100%;height:100%;background:linear-gradient(135deg,var(--ac),var(--deep));display:grid;place-items:center;color:#fff;font:700 54px var(--ser)}
.bd2{display:inline-block;font:700 12px var(--san);background:var(--ac,var(--or));color:#fff;padding:3px 10px;border-radius:99px;margin-left:6px;vertical-align:middle}
.h2s{font-size:28px;margin:44px 0 8px}.meta{color:var(--mut);font-size:15px;margin:0 0 6px}.retour{font-weight:700;text-decoration:none;color:var(--deep)}
:root[data-theme=dark] .retour{color:var(--sun)}
.art h1{font-size:clamp(32px,5vw,54px);margin:6px 0 14px}.art img.big{width:100%;max-height:520px;object-fit:cover;border-radius:22px;margin:22px 0}
.txt{font-size:18px;max-width:70ch}.txt p{margin:0 0 1.1em}
blockquote{border-left:5px solid var(--or);margin:26px 0;padding:6px 22px;font:italic 23px/1.4 var(--ser)}
.enc{background:color-mix(in srgb,var(--g) 16%,transparent);border-radius:18px;padding:18px 24px;margin:26px 0;max-width:70ch}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:26px 0}.gal img{border-radius:14px;aspect-ratio:3/2;object-fit:cover;width:100%}
.btn.o2{border-color:var(--ink);color:var(--ink)}.btn.o2:hover{background:var(--ink);color:var(--bg)}
.cml{display:grid;gap:18px;margin-top:26px}.cm{background:var(--bg2);border:1px solid var(--line);border-left:6px solid var(--ac,var(--g));border-radius:18px;padding:22px 26px}
.cm h2{font-size:26px;margin:0 0 8px}.cm p{margin:0 0 8px}.cm details{margin:12px 0}.cm summary{cursor:pointer;font-weight:700;color:var(--deep)}.cm .txt{margin-top:12px}.lk2{margin-top:14px}
:root[data-theme=dark] .cm summary{color:var(--sun)}
.evl{display:grid;gap:16px;margin-top:26px}.ev{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:20px 22px;background:var(--bg2);border:1px solid var(--line);border-left:6px solid var(--ac,var(--g));border-radius:18px}
.ev .dd{text-align:center;font-family:var(--ser)}.ev .dd b{display:block;font-size:38px;line-height:1}.ev .dd span{font:700 13px var(--san);text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.ev h3{font-size:23px;margin:0 0 4px}.ev p{margin:6px 0}.ev .evi{width:100%;max-width:520px;border-radius:14px;margin:10px 0}.evl.pas .ev{opacity:.72}
.ico{display:inline-grid;place-items:center;vertical-align:middle;margin-right:8px;color:var(--deep)}:root[data-theme=dark] .ico{color:var(--sun)}
.asg{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:26px}
.as{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:24px}.as h2{font-size:23px;margin:0}.as p{margin:8px 0}
.ah{display:flex;gap:16px;align-items:center;margin-bottom:10px}.lo{width:68px;height:68px;border-radius:16px;object-fit:cover;flex:none}.lo.ini{display:grid;place-items:center;background:var(--deep);color:#fff;font:700 30px var(--ser)}
.cts{list-style:none;margin:12px 0;padding:0;display:grid;gap:4px}.cts a{font-weight:600}
.lkg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:14px}
.lkc{display:flex;flex-direction:column;gap:4px;padding:20px 22px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:.25s}.lkc:hover{border-color:var(--g);translate:0 -4px}
.lkc b{font:700 19px var(--ser)}.lkc span:not(.ico){color:var(--mut);font-size:15px}
.dl{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}.dl li>a,.dl li>.nolink{display:flex;gap:12px;padding:16px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:16px;text-decoration:none;align-items:flex-start}
.dl li>a:hover{border-color:var(--g)}.dl .meta,.dl .desc{display:block;font-size:14.5px;color:var(--mut)}.dl b{font-size:17px}
@media(max-width:560px){.ev{grid-template-columns:1fr}.ev .dd{text-align:left}.ev .dd b{display:inline;margin-right:8px;font-size:26px}}
/* ---- Lot 3 : formulaires et pages légales ---- */
.cgr{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;margin-top:26px;align-items:start}.cgr:has(.fm+.fm){grid-template-columns:1fr 1fr}
.fm{display:grid;gap:6px}.fm h2{font-size:26px;margin:0 0 8px}.fm label{font-weight:700;font-size:15px;margin-top:10px;display:block}
.fm input[type=text],.fm input[type=email],.fm input[type=tel],.fm select,.fm textarea{width:100%;font:inherit;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg2);color:var(--ink)}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:3px solid var(--sun);border-color:var(--deep)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.req{color:var(--mut);font-size:14px;margin:0}
.chk{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px}.chk input{margin-top:5px;width:20px;height:20px;flex:none}.chk label{margin:0;font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cap-etat{font-size:14.5px;color:var(--mut);min-height:1.4em;margin:6px 0}.cap-etat.ok{color:var(--deep);font-weight:700}:root[data-theme=dark] .cap-etat.ok{color:var(--sun)}
.fm button[disabled]{opacity:.55;cursor:not-allowed}
.err,.ok2{padding:16px 20px;border-radius:14px;margin:18px 0}.err{background:#FDE7E4;color:#7A1710;border:1px solid #F1B4AD}.ok2{background:#E5F3DA;color:#274A0F;border:1px solid #B7D99A}
.err ul{margin:8px 0 0 20px;padding:0}.coo{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:24px}.coo h2{font-size:24px;margin:0 0 10px}
.in.leg{max-width:820px}.leg h2{font-size:26px;margin:36px 0 10px}.leg p,.leg li{font-size:17px}.leg ul{padding-left:22px}
.tbl{overflow-x:auto;margin:14px 0}.tbl table{border-collapse:collapse;min-width:640px;width:100%;font-size:15.5px}.tbl th,.tbl td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.tbl th{background:var(--bg2)}
.todo{background:#FFF1B8;color:#4D3B00;padding:1px 7px;border-radius:6px;font-weight:700}
@media(max-width:820px){.cgr,.cgr:has(.fm+.fm){grid-template-columns:1fr}.f2{grid-template-columns:1fr}}

/* ---- Corrections : menu mobile et communiqués ---- */
.navx{display:none}
.veil{display:none;position:fixed;inset:0;z-index:-1;background:#000b;opacity:0;pointer-events:none;transition:opacity .3s}
html.nav-open{overflow:hidden}
@media(max-width:980px){
  .top.sc{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--deep)}   /* le flou transformait l'en-tête en cadre : le menu était coupé */
  .veil{display:block}html.nav-open .veil{opacity:1;pointer-events:auto}
  .top nav{top:0;right:0;bottom:0;left:auto;height:100vh;height:100dvh;visibility:hidden;transition:transform .35s,visibility 0s .35s}
  .top nav.open{visibility:visible;transition:transform .35s,visibility 0s}
  .navx{display:grid;position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px}
  .top nav ul{padding-bottom:40px}
}
.cml{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
@media(max-width:1024px){.cml{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cml{grid-template-columns:1fr}}

/* ---- Bandeaux de photos ---- */
.bandeau{position:relative;height:150px;margin-top:var(--hh,78px);background:#cfd8d2 center/cover no-repeat}
.bandeau.b-a{background-image:url(../img/bandeaux/a.jpg)}.bandeau.b-b{background-image:url(../img/bandeaux/b.jpg)}.bandeau.b-c{background-image:url(../img/bandeaux/c.jpg)}
.bandeau .tr{height:26px}.bandeau+.marge+.marge+main.pg{padding-top:44px;min-height:60vh}
.marge{display:none;position:fixed;top:0;bottom:0;width:clamp(44px,3.8vw,78px);background:center/cover no-repeat;z-index:1;pointer-events:none}
.marge.g{left:0;background-image:url(../img/bandeaux/marge-g.jpg)}.marge.d{right:0;background-image:url(../img/bandeaux/marge-d.jpg)}
@media(min-width:1480px){.marge{display:block}}
@media(max-width:700px){.bandeau{height:104px}}
:root[data-theme=dark] .bandeau,:root[data-theme=dark] .marge{filter:brightness(.82)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bandeau,:root:not([data-theme=light]) .marge{filter:brightness(.82)}}
.ft{z-index:2}

/* ---- Message d'attente des pages météo ---- */
.meteo-attente{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#0a2f2c;color:#fff;text-align:center;opacity:0;animation:maApp .3s ease .5s forwards}
body:has(main.meteo) .meteo-attente{display:none}
.ma-spin{display:block;width:48px;height:48px;margin:0 auto 18px;border:4px solid #ffffff33;border-top-color:#f2c45a;border-radius:50%;animation:maTour 1s linear infinite}
.ma-t{font:700 22px var(--ser);margin:0 0 6px}.ma-s{margin:0;color:#ffffffb3;font-size:15.5px}
@keyframes maApp{to{opacity:1}}@keyframes maTour{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ma-spin{animation:none}}

/* Bandeau sur les pages météo (fond sombre) */
.bandeau.sombre .tr{fill:#0a2f2c}.bandeau~main.meteo{padding-top:18px}

/* ---- Lot 5 : conseil, lieux, découvrir ---- */
.elg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:16px}
.el{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:22px}.el h3{font-size:21px;margin:0}.el p{margin:8px 0}
.carte{height:480px;border-radius:22px;overflow:hidden;border:1px solid var(--line);margin:22px 0 8px;background:#dfe7e3}
.skip2{position:absolute;left:-9999px}.skip2:focus{left:22px;top:90px;z-index:60;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.dsec{padding:34px 0 0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:34px;align-items:center;margin:44px 0;padding-top:34px;border-top:1px solid var(--line)}
.dsec h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 10px}.dfig{margin:0}.dfig img{width:100%;border-radius:22px;aspect-ratio:3/2;object-fit:cover}
.dfig figcaption,.src{font-size:14px;color:var(--mut);margin-top:8px}.dgal{grid-column:1/-1;margin:0}
.dsec:nth-of-type(even) .dfig{order:-1}
@media(max-width:820px){.dsec{grid-template-columns:1fr}.dsec:nth-of-type(even) .dfig{order:0}.carte{height:360px}}

/* Titres des pages intérieures : pas d'ombre portée (réservée au grand titre de l'accueil) */
.pg h1,.art h1{text-shadow:none;letter-spacing:0}

/* Bandeau d'alerte : icône et texte alignés sur la même ligne, sans marge parasite */
.alerte{align-items:flex-start}.alerte p{margin:0;line-height:24px}.alerte .ic{margin:0}

/* ---- Lot 6 : photo d'ouverture selon la saison (classe s-automne, s-printemps, s-ete, s-hiver ; s-fixe = hero.jpg) ---- */
.hero.s-automne,.hero.s-automne .hb{background-image:url(../img/hero-automne.jpg)}
.hero.s-printemps,.hero.s-printemps .hb{background-image:url(../img/hero-printemps.jpg)}
.hero.s-ete,.hero.s-ete .hb{background-image:url(../img/hero-ete.jpg)}
.hero.s-hiver,.hero.s-hiver .hb{background-image:url(../img/hero-hiver.jpg)}

/* Voile de lisibilité adapté à la luminosité de chaque photo saisonnière */
.hero.s-printemps .hv,.hero.s-ete .hv{background:linear-gradient(90deg,#06140f8c 0%,#06140f40 38%,transparent 62%),linear-gradient(180deg,#06140f55 0%,transparent 20%,transparent 58%,#06140f99 100%),radial-gradient(ellipse at 70% 12%,#ffffff22,transparent 55%)}
.hero.s-hiver .hv{background:linear-gradient(90deg,#0a1b26a8 0%,#0a1b2663 42%,#0a1b2618 72%,transparent 90%),linear-gradient(180deg,#0a1b2666 0%,#0a1b2618 22%,#0a1b262e 55%,#0a1b269e 100%)}
.hero.s-hiver .hb{filter:saturate(1.05) brightness(.98)}
.hc .eb{text-shadow:0 1px 3px #000c,0 0 14px #000a}.hc p.t{text-shadow:0 2px 10px #000c,0 0 22px #0009}

/* ---- Statistiques de visites ---- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:26px 0}
.kpi{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:18px 20px}.kpi b{display:block;font:700 34px var(--ser);color:var(--deep)}
:root[data-theme=dark] .kpi b{color:var(--sun)}.kpi span{color:var(--mut);font-size:14px;line-height:1.4;display:block;margin-top:4px}
.bar{display:block;height:10px;border-radius:99px;background:var(--line);overflow:hidden;min-width:120px}.bar i{display:block;height:100%;background:var(--g);border-radius:99px}

/* Largeurs en pourcentage pour les barres (pw-0 à pw-100) : évite tout style intégré */
.pw-0{width:0%}.pw-1{width:1%}.pw-2{width:2%}.pw-3{width:3%}.pw-4{width:4%}.pw-5{width:5%}.pw-6{width:6%}.pw-7{width:7%}.pw-8{width:8%}.pw-9{width:9%}.pw-10{width:10%}.pw-11{width:11%}.pw-12{width:12%}.pw-13{width:13%}.pw-14{width:14%}.pw-15{width:15%}.pw-16{width:16%}.pw-17{width:17%}.pw-18{width:18%}.pw-19{width:19%}.pw-20{width:20%}.pw-21{width:21%}.pw-22{width:22%}.pw-23{width:23%}.pw-24{width:24%}.pw-25{width:25%}.pw-26{width:26%}.pw-27{width:27%}.pw-28{width:28%}.pw-29{width:29%}.pw-30{width:30%}.pw-31{width:31%}.pw-32{width:32%}.pw-33{width:33%}.pw-34{width:34%}.pw-35{width:35%}.pw-36{width:36%}.pw-37{width:37%}.pw-38{width:38%}.pw-39{width:39%}.pw-40{width:40%}.pw-41{width:41%}.pw-42{width:42%}.pw-43{width:43%}.pw-44{width:44%}.pw-45{width:45%}.pw-46{width:46%}.pw-47{width:47%}.pw-48{width:48%}.pw-49{width:49%}.pw-50{width:50%}.pw-51{width:51%}.pw-52{width:52%}.pw-53{width:53%}.pw-54{width:54%}.pw-55{width:55%}.pw-56{width:56%}.pw-57{width:57%}.pw-58{width:58%}.pw-59{width:59%}.pw-60{width:60%}.pw-61{width:61%}.pw-62{width:62%}.pw-63{width:63%}.pw-64{width:64%}.pw-65{width:65%}.pw-66{width:66%}.pw-67{width:67%}.pw-68{width:68%}.pw-69{width:69%}.pw-70{width:70%}.pw-71{width:71%}.pw-72{width:72%}.pw-73{width:73%}.pw-74{width:74%}.pw-75{width:75%}.pw-76{width:76%}.pw-77{width:77%}.pw-78{width:78%}.pw-79{width:79%}.pw-80{width:80%}.pw-81{width:81%}.pw-82{width:82%}.pw-83{width:83%}.pw-84{width:84%}.pw-85{width:85%}.pw-86{width:86%}.pw-87{width:87%}.pw-88{width:88%}.pw-89{width:89%}.pw-90{width:90%}.pw-91{width:91%}.pw-92{width:92%}.pw-93{width:93%}.pw-94{width:94%}.pw-95{width:95%}.pw-96{width:96%}.pw-97{width:97%}.pw-98{width:98%}.pw-99{width:99%}.pw-100{width:100%}
