/*FONTS*/
@font-face{font-family:"Sora";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/sora-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/sora-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}img{max-width:100%}[hidden]{display:none!important}

:root{--g:#028503;--g2:#1fd02a;--gd:#046306;--ink:#0a1a10;--muted:#51645a;--bg:#f4f8f4;--surface:#fff;--line:#d9e5da;--dark:#06120a;--amber:#ffb347;--cy:#48d6ff}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8f3ea;--muted:#9bb0a2;--bg:#08130c;--surface:#0f1f15;--line:#1d3326}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font:400 1.04rem/1.6 "Plus Jakarta Sans",system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Sora,sans-serif;line-height:1.1;margin:0;letter-spacing:-.01em}
a{color:inherit}.wrap{width:min(1180px,100% - 32px);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#fff;padding:13px 24px;border-radius:999px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:700 1rem "Plus Jakarta Sans",sans-serif;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(2,133,3,.4)}
.btn.lt{background:#fff;color:var(--gd)}.btn.gh{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
section{padding:84px 0}h2{font-size:clamp(1.9rem,4.2vw,3rem);margin-bottom:14px}.lead{color:var(--muted);font-size:1.12rem;max-width:62ch;margin:0 0 28px}
.eye{display:inline-block;font:700 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--g);margin-bottom:12px}
.dk .eye{color:var(--g2)}
/* header */
header{z-index:30;background:rgba(6,18,10,.92);backdrop-filter:blur(12px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
header .wrap{display:flex;align-items:center;gap:14px;min-height:68px}header .btn{padding:11px 20px;white-space:nowrap}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}.logo svg{width:44px;height:44px}.logo b{font:800 1.35rem Sora,sans-serif;letter-spacing:.1em}.logo span{display:block;font-size:.7rem;color:rgba(255,255,255,.7);letter-spacing:.04em;line-height:1.2}
nav{display:flex;gap:4px;font-weight:600;font-size:.97rem}nav a{text-decoration:none;padding:8px 11px;border-radius:999px;color:rgba(255,255,255,.88);white-space:nowrap}nav a:hover{background:rgba(255,255,255,.12)}nav a[aria-current]{background:var(--g);color:#fff}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;border:1.5px solid rgba(255,255,255,.4);border-radius:12px;background:transparent;cursor:pointer}.burger span{display:block;height:2.5px;border-radius:2px;background:#fff;transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* hero */
.hero{position:relative;background:var(--dark);color:#fff;padding:0;overflow:hidden;min-height:min(88vh,780px);display:flex;align-items:center}
#hc{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,10,.92) 0%,rgba(6,18,10,.55) 55%,rgba(6,18,10,.1) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;padding:70px 0 130px}
.hero h1{font-size:clamp(2.5rem,6.4vw,5rem);max-width:15ch;font-weight:800}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--g2),#c8ff5a);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:1.2rem;color:rgba(255,255,255,.82);max-width:54ch;margin:22px 0 30px}.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn.play{background:linear-gradient(90deg,#ffcb05,#ff9d2e);color:#1a1204;font-size:1.1rem;padding:15px 28px;animation:pp 1.9s infinite}
@keyframes pp{0%{box-shadow:0 0 0 0 rgba(255,203,5,.65)}70%{box-shadow:0 0 0 18px rgba(255,203,5,0)}100%{box-shadow:0 0 0 0 rgba(255,203,5,0)}}
.stats{position:absolute;z-index:3;left:0;right:0;bottom:0;background:rgba(255,255,255,.07);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.14)}
.stats .wrap{padding:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.st b{display:block;font:800 clamp(1.7rem,3.4vw,2.6rem) Sora,sans-serif;color:#fff}.st b i{font-style:normal;color:var(--g2)}.st span{font-size:.9rem;color:rgba(255,255,255,.75)}
/* marquee */
.mq{background:var(--surface);border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0}.mq div{display:flex;gap:56px;width:max-content;animation:mq 38s linear infinite}.mq span{font:700 1.05rem Sora,sans-serif;color:var(--muted);white-space:nowrap}.mq span::before{content:"◆";color:var(--g);margin-right:14px;font-size:.7rem}
@keyframes mq{to{transform:translateX(-50%)}}
/* expertises */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(2,133,3,.18);border-color:var(--g)}
.card .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;margin-bottom:16px}.card .ic svg{width:28px;height:28px}
.card h3{font-size:1.3rem;margin-bottom:8px}.card p{color:var(--muted);margin:0 0 12px;font-size:.98rem}.card ul{margin:0;padding:0;list-style:none;font-size:.9rem;display:flex;flex-wrap:wrap;gap:6px}.card li{background:color-mix(in srgb,var(--g) 11%,transparent);color:var(--gd);padding:4px 10px;border-radius:999px;font-weight:600}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .card li{color:var(--g2)}}
.card.try{background:linear-gradient(135deg,var(--g),#0a4f0c);color:#fff;border:0;display:flex;flex-direction:column;justify-content:center;gap:14px}.card.try h3{font-size:1.5rem}.card.try p{color:rgba(255,255,255,.88)}
/* sim */
.dk{background:var(--dark);color:#fff}.dk .lead{color:rgba(255,255,255,.75)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.tabs button{font:700 1rem "Plus Jakarta Sans",sans-serif;color:#fff;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);border-radius:999px;padding:11px 20px;cursor:pointer;display:flex;align-items:center;gap:8px}
.tabs button[aria-selected=true]{background:var(--g2);color:#04210a;border-color:var(--g2)}
.sim{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;align-items:start}.sim[hidden]{display:none}
.vis{background:#0b1b12;border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;position:relative}.vis canvas{width:100%;display:block;height:300px}
.ctl{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:20px}
.ctl label{display:flex;justify-content:space-between;gap:10px;font-weight:600;font-size:.94rem;margin-top:12px}.ctl label output{color:var(--g2);font-weight:700}
.ctl input[type=range]{width:100%;margin:8px 0 2px;accent-color:var(--g2)}.ctl select{width:100%;margin-top:6px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#0f2417;color:#fff;font:inherit}
.ctl .chk{justify-content:flex-start}.chk{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:600;cursor:pointer}.chk input{width:20px;height:20px;accent-color:var(--g2)}
.res{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.res div{background:rgba(31,208,42,.1);border:1px solid rgba(31,208,42,.3);border-radius:14px;padding:12px 14px}.res b{display:block;font:800 1.45rem Sora,sans-serif;color:var(--g2)}.res span{font-size:.82rem;color:rgba(255,255,255,.75)}
.res .big{grid-column:1/-1;background:linear-gradient(90deg,rgba(31,208,42,.25),rgba(31,208,42,.08))}.res .big b{font-size:2.3rem;color:#fff}
.note{font-size:.8rem;color:rgba(255,255,255,.6);margin:12px 0 0}
.hint{display:flex;gap:10px;align-items:center;font-weight:600;margin:0 0 6px;color:var(--amber)}.hint::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 var(--amber);animation:pp2 1.6s infinite;flex:none}
@keyframes pp2{70%{box-shadow:0 0 0 10px rgba(255,179,71,0)}100%{box-shadow:0 0 0 0 rgba(255,179,71,0)}}
.bays{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:8px;padding:20px;min-height:300px;align-content:start}
.bay{aspect-ratio:1;border-radius:9px;border:1.5px dashed rgba(255,255,255,.25);display:grid;place-items:center;font-size:1rem;color:rgba(255,255,255,.35);transition:.3s}
.bay.on{border:1.5px solid var(--g2);background:rgba(31,208,42,.18);color:var(--g2);animation:chg 2s ease-in-out infinite var(--d)}
@keyframes chg{50%{box-shadow:0 0 14px rgba(31,208,42,.7);background:rgba(31,208,42,.34)}}
/* method */
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative;margin-top:30px}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:3px;background:var(--line)}.steps::after{content:"";position:absolute;left:0;top:27px;height:3px;background:linear-gradient(90deg,var(--g),var(--g2));width:0;transition:width 1.8s ease}.steps.in::after{width:100%}
.step{position:relative;text-align:center;padding-top:0}.step i{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--surface);border:3px solid var(--g);font:800 1.1rem Sora,sans-serif;font-style:normal;margin:0 auto 12px;position:relative;z-index:1;color:var(--g)}
.step b{display:block;font:700 1rem Sora,sans-serif}.step span{font-size:.86rem;color:var(--muted);display:block;margin-top:4px}
/* refs */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.chips button{font:600 .95rem "Plus Jakarta Sans",sans-serif;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.chips button[aria-pressed=true]{background:var(--g);border-color:var(--g);color:#fff}
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ref{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;transition:.25s;border-left:5px solid var(--g)}.ref[hidden]{display:none}.ref:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.1)}
.ref small{color:var(--g);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.ref h3{font-size:1.12rem;margin:4px 0 6px}.ref p{margin:0;color:var(--muted);font-size:.92rem}
.mapw{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;margin-top:60px}
.fmap{width:100%;max-width:470px;height:auto;display:block;margin:0 auto;overflow:visible}.fmap .fr{fill:color-mix(in srgb,var(--g) 14%,var(--surface));stroke:var(--g);stroke-width:1.5}
.fmap .ray{stroke:var(--g2);stroke-width:1.6;stroke-dasharray:var(--l);stroke-dashoffset:var(--l);opacity:.9;transition:stroke-dashoffset 1.1s var(--d) ease}.fmap.in .ray{stroke-dashoffset:0}
.fmap .pt{opacity:0;transition:opacity .5s var(--d)}.fmap.in .pt{opacity:1}.fmap .pt circle{fill:var(--g);stroke:#fff;stroke-width:2}.fmap .pt text{font:700 11px "Plus Jakarta Sans",sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3}
.fmap .hq circle{fill:#ffcb05}.fmap .hq .pul{fill:none;stroke:#ffcb05;stroke-width:2;animation:pl 2s infinite;transform-box:fill-box;transform-origin:center}@keyframes pl{to{transform:scale(3);opacity:0}}
.gp2{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted);margin-top:10px;justify-content:center}.gp2 b{display:inline-block;padding:3px 10px;background:var(--surface);border:1.5px solid var(--g);border-radius:999px;color:var(--ink)}
/* quals */
.quals{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.q{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;position:relative;overflow:hidden}.q b{display:block;font:800 2rem Sora,sans-serif;color:var(--g);line-height:1}.q em{font-style:normal;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.q h3{font-size:1.05rem;margin:10px 0 4px}.q p{margin:0;font-size:.88rem;color:var(--muted)}
.q.qq{display:flex;align-items:center;justify-content:center;background:#fff}.q.qq img{max-width:100%;height:84px;object-fit:contain}
/* partners */
.pt2{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.pt2 span{padding:11px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-weight:700}.pt2 small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}
/* contact */
.ag{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ag .c{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px}.ag h3{font-size:1.2rem;margin-bottom:6px}.ag a{color:var(--g);font-weight:700;text-decoration:none}.ag p{margin:4px 0}
.cf{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;margin-top:16px}.cf .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cf label{display:block;font-weight:600;font-size:.88rem;margin-top:12px}.cf input,.cf select,.cf textarea{width:100%;margin-top:5px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}.cf textarea{min-height:110px;resize:vertical}.cf .btn{margin-top:16px;width:100%;justify-content:center}
.ok{display:none;margin-top:12px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--g) 14%,transparent);font-weight:600}.ok.show{display:block}
.cs{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
/* legal */
.mlg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 40px;margin:0;font-size:.93rem}.mlg div{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}.mlg dt{font-weight:700;min-width:130px}.mlg dd{margin:0;color:var(--muted)}
footer{background:var(--dark);color:rgba(255,255,255,.7);padding:30px 0;font-size:.9rem}footer .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(max-width:960px){.burger{display:flex}header .btn{display:none}header .wrap{flex-wrap:wrap}nav{display:none;order:3;width:100%;flex-direction:column;padding:6px 0 12px}nav.open{display:flex}.cards,.refs{grid-template-columns:1fr 1fr}.sim,.mapw,.cs{grid-template-columns:1fr}.quals{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr 1fr;row-gap:20px}.steps::before,.steps::after{display:none}.stats .wrap{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column;align-items:stretch;min-height:0}.stats{position:relative}.hero .wrap{padding-bottom:30px}}
@media(max-width:620px){.cards,.refs,.quals,.ag,.mlg,.cf .row{grid-template-columns:1fr}section{padding:60px 0}.steps{grid-template-columns:1fr 1fr}.vis canvas{height:240px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.fmap .ray{stroke-dashoffset:0}.fmap .pt{opacity:1}}
/* v2 */
.band{background:#0a2410;color:#fff;border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#028503,#1fd02a,#ffcb05,#ff9d2e) 1;font-size:.92rem}
.band .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.band .bl{width:58px;height:58px;flex:none}.band .bt b{display:block;font:800 1.6rem Sora,sans-serif;letter-spacing:.1em}.band .bt span{color:rgba(255,255,255,.82);font-size:.95rem}
.band .r{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap;font-weight:600}.band a{color:#fff}
header{background:#028503;backdrop-filter:none;border-bottom:0;z-index:30;color:#fff}
header .wrap{display:flex;align-items:center;gap:14px;min-height:64px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;color:#fff}.logo b{font:800 1.5rem Sora,sans-serif;letter-spacing:.08em}.logo span{font:500 .72rem/1.25 "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.85)}
nav a{color:#fff}nav a:hover{background:rgba(255,255,255,.18)}nav a[aria-current]{background:#fff;color:#028503}
header .btn{background:#fff;color:#028503;padding:11px 20px;white-space:nowrap}
.gbtn{font:inherit;font-weight:700;padding:8px 16px;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(90deg,#ffcb05,#ff9d2e);color:#1a1204;white-space:nowrap}
button.nudge{animation:pl3 1.7s infinite}@keyframes pl3{0%{box-shadow:0 0 0 0 rgba(255,203,5,.7)}70%{box-shadow:0 0 0 14px rgba(255,203,5,0)}100%{box-shadow:0 0 0 0 rgba(255,203,5,0)}}
.burger{border-color:rgba(255,255,255,.55);background:transparent}
.hero{background:#06120a;min-height:0;display:block;padding:0}.hero::after{display:none}
.hg{display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center;padding:56px 0 120px;position:relative}
.hero h1{font-size:clamp(2.6rem,6.2vw,4.8rem);max-width:none}.hero .eye{color:var(--g2);letter-spacing:.1em;text-transform:none;font-size:.95rem}
.hero .btn.play{animation:none}button.btn.play.nudge{animation:pl3 1.7s infinite}
.sc{position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.5);aspect-ratio:4/3.1;background:#0b1b12}.sc canvas{width:100%;height:100%;display:block}
.sl{position:absolute;left:14px;bottom:12px;font-weight:700;font-size:.82rem;color:#fff;background:rgba(0,0,0,.5);padding:5px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.sub{font-size:1.3rem;margin:6px 0 16px}
.rtiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.rt{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 14px;text-align:center;transition:.25s}.rt:hover{transform:translateY(-5px);border-color:var(--g);box-shadow:0 14px 34px rgba(2,133,3,.18)}
.rt svg{width:44px;height:44px;color:var(--g);margin-bottom:8px}.rt b{display:block;font:700 1.02rem Sora,sans-serif}
.cards{grid-template-columns:repeat(4,1fr)}
.gteaser{padding:46px 0 10px}.gtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.gtile{position:relative;text-align:left;border:0;border-radius:22px;padding:22px 20px 18px;color:#fff;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:8px;min-height:190px;box-shadow:0 10px 30px rgba(15,27,51,.22);transition:transform .2s,box-shadow .2s}
.gtile:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 40px rgba(15,27,51,.32)}
.gtile em{font:700 .9rem Sora,sans-serif;font-style:normal;background:rgba(255,255,255,.25);width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.gtile b{font:700 1.3rem Sora,sans-serif}.gtile span{font-size:.95rem;line-height:1.35}.gtile i{margin-top:auto;font-style:normal;font-weight:700;background:#fff;color:#0f1b33;border-radius:999px;padding:7px 14px;align-self:flex-start}
.gp{position:fixed;inset:0;z-index:50;background:rgba(8,16,40,.6);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:3vh 14px;overflow-y:auto}.gp[hidden]{display:none}
.gbox{background:var(--bg);border-radius:22px;width:min(1150px,100%);box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.gh{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#028503;color:#fff;padding:12px 18px;position:sticky;top:0;z-index:2}.gh b{font:700 1.1rem Sora,sans-serif}.gtabs{display:flex;gap:6px;flex-wrap:wrap;margin-right:auto}
.gtabs button{font:inherit;font-weight:600;color:#fff;background:rgba(255,255,255,.14);border:0;border-radius:999px;padding:8px 14px;cursor:pointer}.gtabs button[aria-selected=true]{background:#fff;color:#028503}
.gx{font:inherit;font-weight:600;color:#fff;background:transparent;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;padding:7px 14px;cursor:pointer}
.gbody{padding:22px}.gbody.dk{background:var(--dark)}body.gopen{overflow:hidden}
.sim{grid-template-columns:1.2fr 1fr}
.ref.cl{border-left-color:#028503}.ref.on{outline:3px solid var(--g2);transform:translateY(-4px)}
.ref h3{font-size:1.05rem}.ref small{display:block;margin-top:2px}
.chips button .n{opacity:.7;margin-left:6px;font-weight:700}
.mapw{grid-template-columns:.85fr 1.15fr}.mp{position:relative}.fmap{max-width:560px;border-radius:20px;background:color-mix(in srgb,var(--g) 5%,var(--surface))}
.fmap{overflow:hidden}.fmap .fr{vector-effect:non-scaling-stroke}.fmap .d{cursor:pointer;stroke:#fff;}.fmap .d:hover{stroke:#000}

.lgm{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.88rem;font-weight:600}.lgm i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.tip{position:absolute;pointer-events:none;z-index:3;background:#0f1b33;color:#fff;border-radius:10px;padding:7px 11px;font-size:.84rem;font-weight:600;max-width:240px;transform:translate(-50%,-120%);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.tip[hidden]{display:none}.tip small{display:block;font-weight:500;opacity:.8}
@media(max-width:960px){header .wrap{flex-wrap:wrap}.hg{grid-template-columns:1fr;padding-bottom:40px}.stats{position:relative}.hero{min-height:0}.cards{grid-template-columns:1fr 1fr}.rtiles{grid-template-columns:repeat(2,1fr)}.gtiles{grid-template-columns:1fr 1fr}.gtile{min-height:150px}.band .r{margin-left:0}.mapw{grid-template-columns:1fr}.sim{grid-template-columns:1fr}.gh{padding:10px 12px}.gbody{padding:14px}.gbtn{align-self:flex-start;margin:6px 14px}}
@media(max-width:620px){.cards{grid-template-columns:1fr}.band .bt span{display:none}}

/* quartier */
.gfeat{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:22px;text-align:left;border:1.5px solid #b08d3c;border-radius:24px;padding:28px 32px;cursor:pointer;color:#fff;background:linear-gradient(120deg,#0a2a10,#1e5a24 60%,#2c7a30);box-shadow:0 14px 40px rgba(2,60,10,.35);font:inherit;transition:transform .2s,box-shadow .2s}
.gfeat:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(2,60,10,.45)}
.gfeat .gk{font:700 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e3c878}
.gfeat b{display:block;font:700 clamp(2rem,4vw,3rem) "Cormorant Garamond",Georgia,serif;margin:4px 0 6px}.gfeat p{margin:0;max-width:62ch;color:rgba(255,255,255,.88)}
.gfeat i{flex:none;font-style:normal;font-weight:700;background:#e3c878;color:#2a2008;border-radius:999px;padding:12px 22px}
.gtiles{margin-top:16px}
.sim.q{grid-template-columns:1.55fr 1fr}.qv{align-self:start;position:sticky;top:70px;background:#efe9d8;border-color:#cdbf92}.qv canvas{height:auto;aspect-ratio:1000/640;cursor:grab}
.qh{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(20,28,22,.9);color:#fff;font-weight:600;font-size:.86rem;padding:8px 16px;border-radius:999px;white-space:nowrap;animation:pl3 2s infinite}.qh[hidden]{display:none}
.qp{background:#faf6ea;color:#2a2418;border:1px solid #d9cca6;border-radius:22px;padding:20px 22px}
.qp h3{font:700 2rem "Cormorant Garamond",Georgia,serif;margin:0;color:#1d3a21}.qp .q0{margin:2px 0 12px;color:#6a5c36;font-style:italic}
.qp h4{font:700 1.15rem "Cormorant Garamond",Georgia,serif;margin:14px 0 6px;color:#1d3a21;border-top:1px solid #d9cca6;padding-top:12px}
.qtm label{display:flex;justify-content:space-between;font-weight:600;font-size:.92rem}.qtm output{color:#7a5f15;font-weight:700}.qtm input{width:100%;margin:6px 0;accent-color:#b08d3c}
.qrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.qrow button{font:700 .9rem "Plus Jakarta Sans",sans-serif;padding:9px 14px;border-radius:999px;border:1.5px solid #b08d3c;background:#fff;color:#5a4a1c;cursor:pointer}.qrow .gold{background:#b08d3c;color:#fff}.qc{font-size:.9rem;font-weight:600;display:flex;gap:6px;align-items:center}
.qg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.qg div{background:#fff;border:1px solid #e3d8b6;border-radius:12px;padding:8px 6px;text-align:center}.qg b{display:block;font:700 1.35rem "Cormorant Garamond",Georgia,serif;color:#1d5a24}.qg span{font-size:.7rem;color:#6a5c36;line-height:1.2;display:block}
.qy{grid-template-columns:repeat(2,1fr)}
.qa{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;font-size:.88rem;font-weight:600}.qa b{font:700 1.4rem "Cormorant Garamond",Georgia,serif;color:#1d5a24}.qbar{grid-column:1/-1;height:9px;border-radius:5px;background:#e8dfc3;overflow:hidden}.qbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b08d3c,#2e9e3a);transition:width .3s}
.qm{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.88rem}.qm li{display:flex;gap:9px;align-items:flex-start;color:#6a5c36}.qm li i{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid #c9b985;display:grid;place-items:center;font-style:normal;font-size:.72rem;color:#fff;margin-top:1px}.qm li.ok{color:#1d3a21;font-weight:600}.qm li.ok i{background:#2e9e3a;border-color:#2e9e3a}
.qst{display:flex;align-items:center;gap:12px;margin-top:10px;border-top:1px solid #d9cca6;padding-top:10px}.stars{font-size:1.7rem;color:#b08d3c;letter-spacing:.1em}.stars span{color:#d8cfae}.qst b{font:700 1.2rem "Cormorant Garamond",Georgia,serif;color:#1d3a21}
.note2{font-size:.78rem;color:#8a7c52;margin:8px 0 0}
@media(max-width:960px){.sim.q{grid-template-columns:1fr}.gfeat{flex-direction:column;align-items:flex-start;padding:22px}.qh{white-space:normal;width:90%;text-align:center}}

.qsar{background:linear-gradient(135deg,#fff,#f4ecd2);border:1.5px solid #b08d3c;border-radius:16px;padding:14px 16px;margin:4px 0 12px;font-size:.88rem}
.qsar .gk{font:700 .68rem "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8a6c1c}
.qsar h4{font:700 1.35rem "Cormorant Garamond",Georgia,serif;margin:2px 0 4px;color:#1d3a21;border:0;padding:0}.qsar p{margin:4px 0;color:#3a3220}.qsar .ex{font-weight:700;color:#1d5a24}
.qsar .mt{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.qsar .mt em{font-style:normal;font-weight:700;font-size:.74rem;background:#1d5a24;color:#fff;border-radius:999px;padding:3px 10px}
.qsar ul{margin:6px 0;padding-left:18px;color:#3a3220}.qsar li{margin:2px 0}.qsar .ql{font-style:italic;color:#6a5c36;font-size:.82rem}
.qsar .qb2{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.qsar .qb2 button{font:700 .8rem "Plus Jakarta Sans",sans-serif;padding:8px 12px;border-radius:999px;border:1.5px solid #b08d3c;background:#fff;color:#5a4a1c;cursor:pointer}.qsar .qb2 .gold{background:#b08d3c;color:#fff}
.qsar.pop{animation:qpop .45s ease}@keyframes qpop{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(176,141,60,.6)}100%{transform:none;box-shadow:0 0 0 14px rgba(176,141,60,0)}}

/* v6 présentation animée */
.mlist{border-bottom:1px solid var(--line)}
.mrow{position:relative;display:grid;grid-template-columns:90px minmax(200px,1fr) 1.6fr;gap:20px;align-items:baseline;padding:30px 12px;border-top:1px solid var(--line);opacity:0;transform:translateX(-34px);transition:opacity .7s var(--d,0s),transform .7s var(--d,0s),background .3s}
.mrow::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--g);transition:width 1.1s ease var(--d,0s)}.mrow.in::before{width:100%}.mrow.in{opacity:1;transform:none}
.mn{font:800 2.8rem Sora,sans-serif;color:transparent;-webkit-text-stroke:1.5px var(--g);transition:color .3s}
.mrow h4{font:800 clamp(1.7rem,3.6vw,2.7rem) Sora,sans-serif;margin:0;letter-spacing:-.02em;transition:transform .3s}.mrow p{margin:0;color:var(--muted);font-size:1.05rem}
.mrow:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--g) 10%,transparent),transparent)}.mrow:hover .mn{color:var(--g)}.mrow:hover h4{transform:translateX(12px)}
.nrow{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;text-align:center}
.rline{position:absolute;left:10%;right:10%;top:45px;height:2px;background:var(--line);overflow:hidden}
.rline::before{content:"";position:absolute;inset:0;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform 1.8s ease .2s}.nrow.in .rline::before{transform:scaleX(1)}
.rline::after{content:"";position:absolute;top:-2px;width:70px;height:6px;border-radius:3px;background:linear-gradient(90deg,transparent,#c8ff5a,transparent);left:-70px;animation:rl 3.4s linear infinite 2s}@keyframes rl{to{left:100%}}
.nd{position:relative;cursor:default}.nd svg{width:92px;height:92px;overflow:visible;display:block;margin:0 auto}
.nd .ring{fill:var(--bg);stroke:var(--g);stroke-width:2.2;stroke-dasharray:227;stroke-dashoffset:227;transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 1.1s ease var(--d,0s),fill .3s}.nrow.in .ring{stroke-dashoffset:0}
.nd .gl{color:var(--g);opacity:0;transition:opacity .6s calc(var(--d,0s) + .7s),color .3s}.nrow.in .gl{opacity:1}
.nd b{display:block;margin-top:12px;font:700 1.05rem Sora,sans-serif;opacity:0;transform:translateY(10px);transition:opacity .6s calc(var(--d,0s) + .6s),transform .6s calc(var(--d,0s) + .6s)}.nrow.in .nd b{opacity:1;transform:none}
.nd:hover .ring{fill:var(--g)}.nd:hover .gl{color:#fff}
@media(max-width:860px){.mrow{grid-template-columns:60px 1fr;row-gap:6px}.mrow p{grid-column:2}.nrow{grid-template-columns:repeat(2,1fr);row-gap:26px}.rline{display:none}.mn{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.mrow,.nd b,.nd .gl{opacity:1;transform:none}.nd .ring{stroke-dashoffset:0}.rline::before{transform:scaleX(1)}}

.fmap .al{font-weight:800;font-family:"Plus Jakarta Sans",sans-serif;fill:#0a2410;paint-order:stroke;stroke:#fff;stroke-width:.3em;stroke-linejoin:round}
.fmap .pu{transform-box:fill-box;transform-origin:center;animation:agp 2.2s ease-out infinite}@keyframes agp{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.fmap .d.ag{filter:drop-shadow(0 0 3px rgba(255,203,5,.9))}

/* ===== institutionnel : sobre ===== */
:root{--g:#0b6b1a;--gd:#0b4f16;--g2:#2f9d3c;--ink:#14231a;--muted:#4b5a52;--bg:#f6f7f5;--surface:#fff;--line:#dfe4df;--dark:#0b2a14}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#14231a;--muted:#4b5a52;--bg:#f6f7f5;--surface:#fff;--line:#dfe4df}}
body{font-size:1rem;background:var(--bg)}
h1,h2,h3{font-family:"Source Serif 4","Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:0}
h2{font-size:clamp(1.7rem,3.2vw,2.35rem)}section{padding:68px 0}
.eye{letter-spacing:.14em;font-size:.74rem;color:var(--g);border-left:3px solid var(--g);padding-left:10px}
header.fx{position:fixed;top:0;left:0;right:0;box-shadow:0 2px 14px rgba(0,0,0,.22)}
header{background:var(--gd)}.band{background:#0b2a14;border-image:none;border-bottom:3px solid #0b6b1a}
nav a,.btn,.gbtn,.chips button,.rmore{border-radius:3px}.btn{background:var(--g)}.btn:hover{transform:none;box-shadow:none;background:var(--gd)}
header .btn{background:#fff;color:var(--gd)}header nav a[aria-current]{background:rgba(255,255,255,.16)}
.gbtn.nudge,.btn.play.nudge{animation:none}
.hero{min-height:0;background:#0b2a14}.hero::after{display:none}.hero .wrap{padding:64px 0 140px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;max-width:18ch}.hero h1 em{background:none;color:#fff;font-style:italic;-webkit-text-fill-color:#fff}
.hero p{font-size:1.1rem}.hero .btn.play{background:#fff;color:var(--gd);animation:none;font-size:1rem;padding:13px 24px}
.hero .btn.gh{border-radius:3px}.stats{background:rgba(0,0,0,.28);backdrop-filter:none}.st b{font-family:"Source Serif 4",Georgia,serif;font-weight:600}.st b i{color:#fff}
.sc{border-radius:4px;box-shadow:none;border:1px solid rgba(255,255,255,.25)}
.card,.q,.ref,.mapw .mp,.fmap,.ag>*,.cs>*{border-radius:4px}.card:hover,.ref:hover{transform:none;box-shadow:none;border-color:var(--g)}
.gfeat{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:4px solid var(--g)!important;border-radius:4px!important;padding:22px 26px;box-shadow:none}
.gfeat:hover{transform:none;box-shadow:0 6px 20px rgba(0,0,0,.08)}.gfeat .gk{color:var(--g)}.gfeat b{font-family:"Source Serif 4",Georgia,serif;font-size:1.7rem;color:var(--ink)}.gfeat p{color:var(--muted)}.gfeat i{background:var(--g);color:#fff;border-radius:3px}
.rv{transform:none;transition:opacity .5s}
.mq{display:none}
/* références compactes */
.rtools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 10px}.rtools input{flex:1 1 260px;max-width:380px;border:1px solid var(--line);border-radius:3px;padding:10px 12px;font:inherit;font-size:.95rem;background:#fff;color:var(--ink)}#rcount{color:var(--muted);font-size:.88rem}
.rl{list-style:none;margin:0;padding:0;columns:2;column-gap:36px;border-top:1px solid var(--line)}.rl li{break-inside:avoid;display:flex;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:.93rem;line-height:1.35}.rl li i{flex:none;width:9px;height:9px;border-radius:50%;transform:translateY(0)}.rl li span{flex:1}.rl li em{flex:none;font-style:normal;color:var(--muted);font-size:.8rem;text-align:right}.rl .none{border:0;color:var(--muted)}
.rmore{margin-top:14px;border:1px solid var(--g);background:#fff;color:var(--g);font:700 .92rem "Plus Jakarta Sans",sans-serif;padding:10px 18px;cursor:pointer}.rmore:hover{background:var(--g);color:#fff}
@media(max-width:760px){.rl{columns:1}}
.chips button{border-radius:3px}

.hero{flex-direction:column;align-items:stretch;justify-content:flex-start}.hero .wrap.hg{padding:56px 0 48px}.stats{position:relative;margin-top:0}
.hero .eye{color:#a9e3b1;border-color:#a9e3b1}
header nav a[aria-current]{color:#fff!important}
header .gbtn,header .gbtn.nudge{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.6)!important;border-radius:3px!important;box-shadow:none!important}
header .gbtn:hover{background:rgba(255,255,255,.14)!important}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* ===== V9 moderne et institutionnel ===== */
:root{--g:#0a7a1d;--gd:#0a5a17;--g2:#2fa23d;--ink:#10201a;--muted:#55645c;--bg:#f5f8f6;--line:#e1e8e3}
h1,h2,h3{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.12}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}.eye{border:0;padding:0;font-size:.76rem;letter-spacing:.14em}
nav a,.btn,.gbtn,.chips button,.rmore{border-radius:999px}.btn{box-shadow:none}.btn:hover{background:var(--gd)}
header .gbtn,header .gbtn.nudge{border-radius:999px!important}
.hero{background:linear-gradient(180deg,#e9f3ec 0%,#f7faf8 100%);color:var(--ink)}
.hero h1{font-weight:800;font-size:clamp(2.3rem,5vw,3.8rem);max-width:16ch;color:var(--ink)}.hero h1 em{color:var(--g);font-style:normal;-webkit-text-fill-color:var(--g)}
.hero p{color:var(--muted)}.hero .eye{color:var(--g);border:0}
.hero .btn.play{background:var(--g);color:#fff}.hero .btn.gh{color:var(--g);border:1.5px solid var(--g);background:#fff}
.sc{border-radius:20px;border:0;box-shadow:0 24px 60px rgba(10,40,20,.28)}
.stats{background:transparent;border:0}.stats .wrap{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 26px;box-shadow:0 10px 30px rgba(10,40,20,.07);transform:translateY(-28px);margin-bottom:-12px}
.st b{color:var(--g);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800}.st b i{color:var(--g)}.st span{color:var(--muted)}
.hero .wrap.hg{padding:52px 0 36px}
.card,.q,.ref{border-radius:16px}.card:hover{box-shadow:0 14px 34px rgba(10,60,20,.12)}
.fmap{border-radius:16px}
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}.rv.in{opacity:1;transform:none}
/* parcours */
#parcours{background:#fff;padding-top:44px}
.pk{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:p;position:relative}
.pk li{display:flex}.pk a,.pk button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:8px;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.pk a:hover,.pk button:hover,.pk a:focus-visible,.pk button:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(10,60,20,.13);border-color:var(--g)}
.pk em{font-style:normal;width:36px;height:36px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800}
.pk b{font:800 1.12rem "Plus Jakarta Sans",sans-serif;line-height:1.2;color:var(--ink)}.pk span{color:var(--muted);font-size:.93rem;line-height:1.5;flex:1}.pk i{font-style:normal;font-weight:700;color:var(--g);font-size:.92rem}
/* références */
#references{background:var(--bg);border:0}
.rbar{display:flex;flex-direction:column;gap:12px;margin:8px 0 20px}
#rform{display:flex;gap:8px;flex-wrap:wrap}#rform input{flex:1 1 300px;max-width:460px;border:1px solid var(--line);border-radius:999px;padding:13px 18px;font:inherit;background:#fff;color:var(--ink)}
#rform button{border-radius:999px;padding:12px 20px;font:700 .95rem "Plus Jakarta Sans",sans-serif;cursor:pointer;border:1.5px solid var(--g)}.rb1{background:var(--g);color:#fff}.rb2{background:#fff;color:var(--g)}.rb2:hover{background:#eaf5ec}
.rsplit{display:grid;grid-template-columns:minmax(300px,.8fr) 1.4fr;gap:18px;align-items:start}
.rlist{max-height:620px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:6px;scrollbar-width:thin}
.rc{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px 13px 16px;cursor:pointer;transition:box-shadow .2s,border-color .2s;display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.rc::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--cc)}
.rc:hover,.rc.on{box-shadow:0 8px 22px rgba(10,60,20,.12);border-color:var(--cc)}
.rc small{grid-column:1/-1;font:700 .7rem "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--cc)}
.rc h4{margin:0;font:700 .95rem/1.3 "Plus Jakarta Sans",sans-serif;color:var(--ink)}.rc p{margin:0;font-size:.82rem;color:var(--muted);grid-column:1}
.rc .dk2{font:800 .8rem "Plus Jakarta Sans",sans-serif;color:var(--g);background:#e8f4ea;border-radius:999px;padding:2px 9px;align-self:start;white-space:nowrap}
.rc .pk2{grid-column:2;grid-row:2/4;align-self:end;border:1.5px solid var(--line);background:#fff;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:1rem;color:var(--muted)}
.rc .pk2[aria-pressed=true]{background:var(--g);border-color:var(--g);color:#fff}
.rnone{padding:20px;color:var(--muted);background:#fff;border-radius:14px;border:1px dashed var(--line)}
.rmap{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 40px rgba(10,40,20,.12);background:#e5ece7}
#lmap{height:620px;width:100%;z-index:1}.rmn{position:absolute;left:12px;right:12px;top:12px;z-index:5;background:#fff;border-radius:10px;padding:10px 14px;font-size:.88rem;box-shadow:0 4px 14px rgba(0,0,0,.15)}
#fb{margin-top:20px}
.rsel{position:sticky;bottom:14px;z-index:20;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--gd);color:#fff;border-radius:999px;padding:10px 12px 10px 24px;box-shadow:0 14px 34px rgba(0,0,0,.28)}.rsel[hidden]{display:none}
.rsel span{display:flex;gap:10px;align-items:center}.rsel button{background:transparent;border:0;color:#fff;text-decoration:underline;cursor:pointer;font:600 .9rem "Plus Jakarta Sans",sans-serif}.rsel .btn{background:#fff;color:var(--gd);padding:10px 18px}
.rxh{margin:44px 0 14px;font-size:1.25rem}.rx{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rx div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.88rem;line-height:1.4}.rx small{display:block;color:var(--g);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.lpin{width:18px;height:18px;border-radius:50%;background:#0b3d1a;border:3px solid #fff;box-shadow:0 0 0 2px #0b3d1a,0 3px 10px rgba(0,0,0,.4)}
.lag{position:relative;width:26px;height:26px}.lag i{position:absolute;inset:0;border-radius:50%;background:#ffcb05;border:3px solid #0a2410;box-shadow:0 2px 8px rgba(0,0,0,.35)}.lag::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #ffcb05;animation:agp 2.2s ease-out infinite}
.lagl{background:#0a2410!important;color:#fff!important;border:0!important;font:700 .78rem "Plus Jakarta Sans",sans-serif!important;border-radius:6px!important;padding:3px 8px!important;box-shadow:none!important}.lagl::before{display:none!important}
.leaflet-popup-content{font:500 .9rem/1.4 "Plus Jakarta Sans",sans-serif;margin:12px 14px}.leaflet-popup-content b{display:block}.leaflet-popup-content small{color:#55645c}
@media(max-width:960px){.pk{grid-template-columns:1fr 1fr}.rsplit{grid-template-columns:1fr}.rlist{max-height:340px;order:2}#lmap{height:420px}.rx{grid-template-columns:1fr}}
@media(max-width:560px){.pk{grid-template-columns:1fr}}

#chips button{background:#fff;color:var(--ink);border:1.5px solid var(--line);opacity:.55}#chips button[aria-pressed=true]{border-color:var(--g);background:#eaf5ec;color:var(--ink);opacity:1}#chips .n{color:var(--muted)}
.rc small{grid-row:1}.rc h4{grid-column:1;grid-row:2}.rc .dk2{grid-column:2;grid-row:2;justify-self:end}.rc p{grid-column:1;grid-row:3}.rc .pk2{grid-column:2;grid-row:3;align-self:center}
.rsel{max-width:calc(100% - 250px)}@media(max-width:700px){.rsel{max-width:none;bottom:84px;border-radius:22px}}

/* V10 allégé */
section{padding:96px 0}.eye{margin-bottom:8px}.lead{margin-bottom:34px}
.hero .wrap.hg{padding:64px 0 44px}.hero p{font-size:1.15rem;max-width:40ch}
.stats .wrap{box-shadow:none}
.rc{border-radius:12px;box-shadow:none;padding:12px 14px 12px 16px}.rc::before{display:none}.rc small{font-size:.66rem;letter-spacing:.06em}.rc:hover,.rc.on{box-shadow:0 6px 18px rgba(10,60,20,.1)}
.rc .pk2{width:30px;height:30px;font-size:.9rem}
.rmap{box-shadow:none}.rlist{max-height:560px}#lmap{height:560px}
#chips button{font-size:.85rem;padding:7px 13px}#chips .n{display:none}
.rbar{margin-bottom:18px}
.rxd{margin-top:36px}.rxd summary{cursor:pointer;font:700 1rem "Plus Jakarta Sans",sans-serif;color:var(--g);padding:8px 0}.rxd .rx{margin-top:12px}
.card:hover{box-shadow:none;border-color:var(--g)}
.hero .btn.play,.hero .btn.play.nudge{animation:none!important;box-shadow:none!important}

/* V11 */
.hlogo{justify-self:end;width:min(100%,430px);aspect-ratio:1/.8;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 50px rgba(10,40,20,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.hlogo .bl{width:150px;height:150px}.hlogo b{font:800 2.2rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;color:var(--ink)}.hlogo span{color:var(--muted);font-weight:600;letter-spacing:.04em}
header .logo .hm{width:40px;height:40px;flex:none}
#lmap{height:560px}.rmap{margin-bottom:8px}
.cty{pointer-events:none}.cty span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:600 .74rem "Plus Jakarta Sans",sans-serif;color:#44564b;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}.cty.c1 span{font-weight:800;font-size:.84rem;color:#1d2f24}.cty.c3 span{font-weight:500;font-size:.7rem}
.rs{margin-top:10px}.rs h3{display:flex;align-items:center;gap:12px;font-size:1.3rem;margin-bottom:16px}.rs h3 i{width:12px;height:12px;border-radius:50%;background:var(--cc)}.rs h3 span{font:700 .8rem "Plus Jakarta Sans",sans-serif;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rk{background:#fff;border:1px solid var(--line);border-top:3px solid var(--cc);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.rk b{font:700 .95rem/1.3 "Plus Jakarta Sans",sans-serif}.rk small{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.rk.go{cursor:pointer;transition:box-shadow .2s,transform .2s}.rk.go:hover{box-shadow:0 8px 20px rgba(10,60,20,.12);transform:translateY(-2px)}
@media(max-width:960px){.rg{grid-template-columns:1fr 1fr}.hlogo{justify-self:center}}@media(max-width:600px){.rg{grid-template-columns:1fr}#lmap{height:420px}}

.rs{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0}.rs summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 20px;font:800 1.1rem "Plus Jakarta Sans",sans-serif}.rs summary::-webkit-details-marker{display:none}
.rs summary i{width:12px;height:12px;border-radius:50%;background:var(--cc)}.rs summary span{font:700 .8rem "Plus Jakarta Sans",sans-serif;color:var(--muted);background:var(--bg);border-radius:999px;padding:2px 10px}
.rs summary em{margin-left:auto;width:10px;height:10px;border-right:2.5px solid var(--g);border-bottom:2.5px solid var(--g);transform:rotate(45deg);transition:transform .2s;margin-top:-4px}.rs[open] summary em{transform:rotate(-135deg);margin-top:4px}
.rs[open] summary{border-bottom:1px solid var(--line)}.rs .rg{padding:16px 18px 18px}.rs{margin-top:10px!important}.rs summary:hover{background:#f7faf8;border-radius:14px}
#chips button{opacity:1}#chips button[aria-pressed=false]{opacity:.45}

.lpt{width:15px;height:15px;background:#fff;border:3px solid #0a2410;transform:rotate(45deg);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}
.mcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:10px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.mcard::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--g),var(--g2))}
.mcard:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,60,20,.14);border-color:var(--g)}
.mcard .mi{width:56px;height:56px;border-radius:16px;background:#e8f4ea;color:var(--g);display:grid;place-items:center;transition:background .25s,color .25s}.mcard .mi svg{width:30px;height:30px}.mcard:hover .mi{background:var(--g);color:#fff}
.mcard em{position:absolute;right:20px;top:20px;font:800 2.4rem "Plus Jakarta Sans",sans-serif;color:#eef2ef;font-style:normal;line-height:1}
.mcard h4{margin:6px 0 0;font:800 1.3rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.01em}.mcard p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5;flex:1}
.mcard ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.mcard li{font-size:.76rem;font-weight:700;color:var(--gd);background:#eef6ef;border-radius:999px;padding:4px 10px}
@media(max-width:1000px){.mgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.mgrid{grid-template-columns:1fr}}

/* métiers V14 */
.mx{margin-top:8px;display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:stretch}
.mtabs{display:flex;flex-direction:column;gap:10px}
.mtabs button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;transition:all .25s;position:relative}
.mtabs button:hover{border-color:var(--g)}.mtabs button:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.mtabs .mi{width:46px;height:46px;border-radius:13px;background:#e8f4ea;color:var(--g);display:grid;place-items:center;flex:none;transition:all .25s}.mtabs .mi svg{width:26px;height:26px}
.mtabs b{font:800 1.08rem "Plus Jakarta Sans",sans-serif}.mtabs em{margin-left:auto;font:800 .85rem "Plus Jakarta Sans",sans-serif;color:#b8c4bb;font-style:normal}
.mtabs button[aria-selected=true]{background:linear-gradient(135deg,#0a7a1d,#0a5a17);border-color:transparent;color:#fff;transform:translateX(8px);box-shadow:0 14px 30px rgba(10,80,20,.28)}
.mtabs button[aria-selected=true] .mi{background:rgba(255,255,255,.18);color:#fff}.mtabs button[aria-selected=true] em{color:rgba(255,255,255,.6)}
.mpanel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 36px;display:grid;grid-template-columns:1fr;gap:30px;align-content:space-between;min-height:360px;box-shadow:0 18px 44px rgba(10,60,20,.08)}
.mpanel.sw .mp1{animation:mpin .5s ease both}.mpanel.sw .mp2{animation:mpin .5s .1s ease both}@keyframes mpin{from{opacity:0;transform:translateY(14px)}}
.mp1 small{color:var(--g);font:700 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}.mp1 h4{font:800 clamp(2rem,4vw,3.1rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em;margin:6px 0 12px;line-height:1.05}.mp1 p{font-size:1.1rem;color:var(--muted);max-width:56ch;margin:0 0 16px;line-height:1.55}
.mp1 ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.mp1 li{font-size:.82rem;font-weight:700;color:var(--gd);background:#eef6ef;border-radius:999px;padding:6px 13px}
.mlab{font:700 .74rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.trk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative}
.trk::before{content:"";position:absolute;left:7%;right:7%;top:9px;height:3px;background:var(--line);border-radius:2px}
.trk li{position:relative;text-align:center;font-size:.78rem;font-weight:600;color:#9aa8a0}.trk li i{display:block;width:21px;height:21px;border-radius:50%;background:#fff;border:3px solid var(--line);margin:0 auto 10px;position:relative;z-index:1;transition:all .4s calc(var(--k)*.07s)}
.trk li.on{color:var(--ink)}.trk li.on i{background:var(--g);border-color:var(--g);box-shadow:0 0 0 5px rgba(10,122,29,.15)}.trk li.all i{background:#fff;border-color:var(--g);box-shadow:none}
@media(max-width:900px){.mx{grid-template-columns:1fr}.mtabs{flex-direction:row;overflow-x:auto;padding-bottom:4px}.mtabs button{flex:none}.mtabs button[aria-selected=true]{transform:none}.mtabs em{display:none}.mpanel{padding:24px 20px}.trk li{font-size:.66rem}}
/* qualifications V14 */
.quals{display:block}
.qseal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.qs{position:relative;background:linear-gradient(145deg,#0a7a1d,#07480f);color:#fff;border-radius:20px;padding:26px 24px 22px;overflow:hidden;display:flex;flex-direction:column;gap:6px}
.qs::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.07)}
.qs .ck{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--g);display:grid;place-items:center;margin-bottom:10px}.qs .ck svg{width:20px;height:20px}
.qs em{font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);font-style:normal}.qs h3{font:800 1.7rem "Plus Jakarta Sans",sans-serif;color:#fff;letter-spacing:-.02em}.qs p{margin:0;color:rgba(255,255,255,.88);font-size:.93rem;line-height:1.45;flex:1}.qs small{margin-top:8px;font-weight:600;color:#bfe9c6;font-size:.8rem}
.qh2{margin:40px 0 20px;font-size:1.2rem}
.qtl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.qtl::before{content:"";position:absolute;left:0;right:0;top:14px;height:3px;background:linear-gradient(90deg,var(--g),var(--line))}
.qtl li{position:relative;padding:34px 14px 0 0}.qtl li i{position:absolute;left:0;top:6px;width:19px;height:19px;border-radius:50%;background:#fff;border:4px solid var(--g);box-shadow:0 0 0 5px rgba(10,122,29,.12)}
.qtl b{display:block;font:800 1.6rem "Plus Jakarta Sans",sans-serif;color:var(--g);letter-spacing:-.02em;line-height:1}.qtl h4{margin:8px 0 4px;font:800 .98rem "Plus Jakarta Sans",sans-serif}.qtl p{margin:0 0 6px;font-size:.84rem;color:var(--muted);line-height:1.4}.qtl small{font-size:.76rem;font-weight:700;color:var(--gd)}
@media(max-width:1000px){.qtl{grid-template-columns:repeat(3,1fr);row-gap:26px}.qtl::before{display:none}.qseal{grid-template-columns:1fr}}@media(max-width:560px){.qtl{grid-template-columns:1fr}}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.pg{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 24px 20px;position:relative;overflow:hidden}
.pg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--g),var(--g2))}
.pg.big{grid-column:span 2;grid-row:span 2}.pg:not(.big) li{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}.pg:not(.big) li em{flex-basis:100%}
.pg h3{font:800 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--g);margin:0 0 14px}
.pg ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.pg.big ul{grid-template-columns:1fr 1fr;gap:16px 24px}
.pg li{display:flex;flex-direction:column;gap:2px;line-height:1.35}.pg li b{font:800 1.05rem "Plus Jakarta Sans",sans-serif}.pg li small{font-size:.8rem;font-weight:700;color:var(--gd)}.pg li em{font-style:normal;font-size:.86rem;color:var(--muted)}
.pg.big li b{font-size:1.2rem}
@media(max-width:900px){.pgrid{grid-template-columns:1fr 1fr}.pg.big{grid-column:span 2;grid-row:auto}}@media(max-width:600px){.pgrid{grid-template-columns:1fr}.pg.big{grid-column:auto}.pg.big ul{grid-template-columns:1fr}}

/* ===== V16 inspiré Alpitronic : épuré, contrasté, grands chiffres ===== */
:root{--ink:#0b0f0d;--bg:#f3f4f2;--muted:#586159;--line:#dcdfdb}
body{background:#fff;letter-spacing:-.005em}
section{padding:clamp(72px,9vw,128px) 0}
h2{font-size:clamp(2.2rem,5.2vw,4.2rem);font-weight:800;letter-spacing:-.04em;line-height:1.02;max-width:20ch;margin-bottom:20px}
.lead{font-size:1.15rem;max-width:58ch}
.eye{font-size:.72rem;letter-spacing:.2em;color:var(--ink);display:flex;align-items:center;gap:12px;margin-bottom:22px}.eye::before{content:"";width:28px;height:2px;background:var(--g)}
.btn{background:var(--ink);color:#fff;border-radius:999px;padding:14px 26px}.btn:hover{background:var(--g)}
.btn::after{content:"→";margin-left:2px;transition:transform .2s}.btn:hover::after{transform:translateX(4px)}
header .btn{background:#fff;color:var(--ink)}header .btn:hover{background:#e8f4ea;color:var(--ink)}
/* hero */
.hero{background:#f3f4f2}
.hero .wrap.hg{padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,80px);grid-template-columns:1.25fr .75fr}
.hero h1{font-size:clamp(3rem,8.4vw,7.2rem);letter-spacing:-.05em;line-height:.94;max-width:9ch}
.hero p{font-size:1.2rem;max-width:34ch;margin-top:26px;color:var(--muted)}
.hero .btn.play{background:var(--ink);color:#fff}.hero .btn.play:hover{background:var(--g)}
.hlogo{box-shadow:none;border:0;background:#fff;border-radius:6px;aspect-ratio:1/1}
.stats{background:var(--ink)}.stats .wrap{background:transparent;border:0;box-shadow:none;transform:none;margin:0;padding:clamp(34px,5vw,60px) 0;gap:0}
.st{border-left:1px solid rgba(255,255,255,.2);padding:4px 0 4px 22px}.st:first-child{border-left:0;padding-left:0}
.st b{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);letter-spacing:-.04em;line-height:1}.st b i{color:#fff}.st span{color:rgba(255,255,255,.62);display:block;margin-top:8px}
/* cartes plus nettes */
.mpanel,.pg,.rs,.mtabs button,.qs,.rk,.q{border-radius:10px}
.mpanel{box-shadow:none;border:1px solid var(--line)}
.mtabs button[aria-selected=true]{background:var(--ink);box-shadow:none}.mtabs button[aria-selected=true] .mi{background:var(--g)}
.mp1 h4{letter-spacing:-.045em}
.trk li.on i{background:var(--ink);border-color:var(--ink);box-shadow:none}.trk li.all i{border-color:var(--ink)}
.qs{background:var(--ink)}.qs::after{background:rgba(10,122,29,.35)}.qs .ck{background:var(--g);color:#fff}
.rs summary{font-size:1.15rem}
.pg{border-radius:10px}
/* frise colorée */
.qlg{display:flex;gap:22px;margin:-4px 0 18px;font:700 .8rem "Plus Jakarta Sans",sans-serif;color:var(--muted)}.qlg span{display:flex;align-items:center;gap:8px}.qlg i{width:12px;height:12px;border-radius:50%;display:inline-block}
.qlg .a i,.qtl li.a i{background:#fff;border-color:#0a7a1d}.qlg .a i{background:#0a7a1d}.qlg .b i{background:#e07a00}
.qtl li.b i{border-color:#e07a00;box-shadow:0 0 0 5px rgba(224,122,0,.14)}.qtl li.b b{color:#e07a00}.qtl li.b small{color:#b45f00}
.qtl::before{background:linear-gradient(90deg,#0a7a1d 0 50%,#e07a00 50%)}
/* partenaires détaillés */
.pl{display:grid;gap:0}.pg.big .pl{grid-template-columns:1fr 1fr;column-gap:28px}
.pl details{border-top:1px solid var(--line)}.pl details:last-child{border-bottom:0}
.pl summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:13px 0}.pl summary::-webkit-details-marker{display:none}
.pl summary b{font:800 1.05rem "Plus Jakarta Sans",sans-serif;grid-column:1}.pl summary small{grid-column:1;font-size:.78rem;font-weight:600;color:var(--muted)}
.pl summary em{grid-column:2;grid-row:1/3;width:9px;height:9px;border-right:2.5px solid var(--g);border-bottom:2.5px solid var(--g);transform:rotate(45deg);transition:transform .2s}.pl details[open] summary em{transform:rotate(-135deg)}
.pl details ul{display:grid;gap:10px;margin:0 0 14px;padding:0}.pl details li{display:block;font-size:.88rem;line-height:1.45;color:var(--ink)}.pl details li span{display:inline-block;font:800 .72rem "Plus Jakarta Sans",sans-serif;color:var(--g);background:#eaf5ec;border-radius:999px;padding:2px 9px;margin-right:8px}
.pg:not(.big) li{flex-direction:unset}
@media(max-width:900px){.pg.big .pl{grid-template-columns:1fr}.hero .wrap.hg{grid-template-columns:1fr}.hero h1{max-width:none}.st{padding-left:14px}}
@media(max-width:560px){.stats .wrap{grid-template-columns:1fr 1fr;row-gap:22px}.st:nth-child(3){border-left:0;padding-left:0}}
.pl details[open]{grid-column:1/-1}.pl details[open] ul{grid-template-columns:1fr 1fr;gap:10px 28px}@media(max-width:700px){.pl details[open] ul{grid-template-columns:1fr}}

/* hero carte */
.hmap{justify-self:end;width:min(100%,520px);background:#fff;border-radius:14px;padding:14px 8px 8px}
.hmap svg{width:100%;height:auto;display:block;overflow:visible}
.hmap .dp{fill:#dbe4de;stroke:#fff;stroke-width:.9;stroke-linejoin:round;transition:fill .6s}
.hmap .dp.rf{fill:#b5dbbd}.hmap .dp.hl{fill:#3fa357}
.hmap .ld{fill:none;stroke:#0b0f0d;stroke-width:1.4}
.hmap .dt{fill:#ffcb05;stroke:#0b0f0d;stroke-width:3}
.hmap .pu{fill:none;stroke:#0a7a1d;stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:hpu 2.4s ease-out infinite}.hmap .hv .pu{animation-delay:1.2s}
@keyframes hpu{0%{transform:scale(.6);opacity:1}100%{transform:scale(3.4);opacity:0}}
.hmap .lb rect{fill:#0b0f0d}.hmap .t1{fill:#fff;font:800 14px "Plus Jakarta Sans",sans-serif}.hmap .t2{fill:#a8d8b0;font:600 11.5px "Plus Jakarta Sans",sans-serif}
.hmap .lb,.hmap .ld{opacity:0;animation:hin .6s 2.6s forwards}.hmap .hv .lb,.hmap .hv .ld{animation-delay:3s}@keyframes hin{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hmap .lb,.hmap .ld{opacity:1;animation:none}}
.hero .wrap.hg{grid-template-columns:1.1fr .9fr}
.nd b{font-size:1rem}
/* intro */
#intro{position:fixed;inset:0;z-index:200;background:#07140b;display:grid;place-items:center;color:#fff;transition:transform .9s cubic-bezier(.76,0,.24,1)}
#intro.out{transform:translateY(-100%)}
.in-c{display:flex;flex-direction:column;align-items:center;gap:22px}
.in-l{width:96px;height:96px;opacity:0;transform:scale(.7);animation:inl .8s .1s cubic-bezier(.2,.8,.2,1) forwards}
.in-t{text-align:center;opacity:0;animation:inl .8s .45s ease forwards}.in-t b{display:block;font:800 clamp(2.2rem,7vw,3.8rem) "Plus Jakarta Sans",sans-serif;letter-spacing:.22em;margin-right:-.22em}.in-t span{color:#a8d8b0;font-weight:600;letter-spacing:.08em}
@keyframes inl{to{opacity:1;transform:none}}
.in-r{display:flex;gap:clamp(18px,5vw,40px);margin-top:14px;position:relative}.in-r::before{content:"";position:absolute;left:-12px;right:-12px;top:50%;height:2px;background:rgba(255,255,255,.12)}
.in-r i{position:relative;width:12px;height:12px;border-radius:50%;background:#26402e;animation:lamp .5s forwards}
.in-r i:nth-child(1){animation-delay:.9s}.in-r i:nth-child(2){animation-delay:1.05s}.in-r i:nth-child(3){animation-delay:1.2s}.in-r i:nth-child(4){animation-delay:1.35s}.in-r i:nth-child(5){animation-delay:1.5s}.in-r i:nth-child(6){animation-delay:1.65s}.in-r i:nth-child(7){animation-delay:1.8s}
@keyframes lamp{to{background:#ffd54a;box-shadow:0 0 0 6px rgba(255,213,74,.15),0 0 26px 8px rgba(255,213,74,.55)}}
#in-skip{position:absolute;right:20px;bottom:20px;background:transparent;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.7);border-radius:999px;padding:8px 16px;font:600 .85rem "Plus Jakarta Sans",sans-serif;cursor:pointer}
body.introing{overflow:hidden}
@media(prefers-reduced-motion:reduce){#intro{display:none}body.introing{overflow:auto}}

/* carte d'accueil V18 (style IFEP) */
.hero .wrap.hg{grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px)}
.hm2{justify-self:end;width:100%;max-width:640px}
.hm2 svg{width:100%;height:auto;display:block;overflow:visible}
.hm2 .fr{fill:#d3e8d7;stroke:#0a7a1d;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.hm2 .ry{stroke:#0a7a1d;stroke-width:2;stroke-linecap:round;stroke-dasharray:var(--l);stroke-dashoffset:var(--l);animation:ryd 1s ease var(--d) forwards}@keyframes ryd{to{stroke-dashoffset:0}}
.hm2 .cy{opacity:0;animation:hin .5s var(--d) forwards}.hm2 .cy circle{fill:#0a7a1d;stroke:#fff;stroke-width:1.5}.hm2 .cy text{font:600 11px "Plus Jakarta Sans",sans-serif;fill:#0b0f0d}
.hm2 .ag{fill:#ffcb05;stroke:#0b0f0d;stroke-width:2.5}.hm2 .pl{fill:#ffcb05;opacity:.45;transform-box:fill-box;transform-origin:center;animation:hpu 2.2s ease-out infinite}
.hm2 .at{font:800 13px "Plus Jakarta Sans",sans-serif;fill:#0b0f0d}.hm2 .as{font:600 11px "Plus Jakarta Sans",sans-serif;fill:#586159}
.hmlg{display:flex;gap:22px;justify-content:center;margin:6px 0 0;font:600 .86rem "Plus Jakarta Sans",sans-serif;color:var(--muted)}.hmlg span{display:flex;align-items:center;gap:8px}.hmlg i{width:12px;height:12px;border-radius:50%;display:inline-block}.hmlg .a{background:#ffcb05;border:2px solid #0b0f0d}.hmlg .b{background:#0a7a1d}
@media(prefers-reduced-motion:reduce){.hm2 .ry{stroke-dashoffset:0;animation:none}.hm2 .cy{opacity:1;animation:none}}
@media(max-width:900px){.hm2{justify-self:center;max-width:520px}}
/* chiffres clés : marges */
.stats{background:transparent}
.stats .wrap{background:var(--ink);border-radius:18px;padding:clamp(28px,4vw,46px) clamp(24px,4vw,52px);margin:0 auto clamp(48px,7vw,96px);width:min(1180px,100% - 32px)}
.st:first-child{padding-left:0}
.hero .wrap.hg{padding-bottom:clamp(40px,5vw,64px)}
.hero .hmlg{font-size:.86rem;max-width:none;margin:4px 0 0;color:var(--muted)}.hm2{max-width:560px}.hero h1{font-size:clamp(3rem,7.6vw,6.4rem)}
.hero .wrap.hg{padding-top:clamp(28px,4vw,56px)}

.trk{grid-template-columns:repeat(7,minmax(0,1fr))}.trk li{font-size:clamp(.62rem,.95vw,.78rem);padding:0 2px}.trk li span{display:block;overflow-wrap:anywhere}
@media(max-width:1000px){.trk{grid-template-columns:1fr;gap:0}.trk::before{left:10px;right:auto;top:10px;bottom:10px;width:3px;height:auto}.trk li{display:flex;align-items:center;gap:14px;text-align:left;font-size:.9rem;padding:7px 0}.trk li i{margin:0;flex:none}}
.lgimg{width:auto!important}

/* V20 : vrai logo + hero photo */
.lgimg{background:#fff;border-radius:8px;padding:3px;object-fit:contain;width:auto!important}
.band .bl{height:60px;width:auto}.logo .hm{height:46px;width:auto}.in-l{height:120px;width:auto;border-radius:12px;padding:6px}
.band .bt span{font-size:1.02rem;color:#fff;font-weight:600}
.in-t span{font:700 clamp(1rem,2.4vw,1.4rem) "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cfeed5}
.hero{background:#0b0f0d;color:#fff;min-height:min(86vh,760px);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.hero .hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;transform:scale(1.04);animation:hz 18s ease-out forwards}@keyframes hz{to{transform:scale(1)}}
.hero .hov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,7,.88) 0%,rgba(5,10,7,.55) 48%,rgba(5,10,7,.1) 100%),linear-gradient(0deg,rgba(5,10,7,.8) 0%,transparent 45%)}
.hero .wrap.hg{position:relative;z-index:2;grid-template-columns:1fr;padding:clamp(60px,10vw,150px) 0 clamp(28px,4vw,50px)}
.hero h1{color:#fff;max-width:10ch}.hero h1 em{color:#6fdc86;-webkit-text-fill-color:#6fdc86}
.hero p{color:rgba(255,255,255,.82)}
.hero .btn.play{background:#fff;color:#0b0f0d}.hero .btn.play:hover{background:#6fdc86}
.hcap{position:absolute;right:0;bottom:clamp(28px,4vw,50px);display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#fff;background:rgba(10,15,12,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 16px;max-width:260px;transition:background .2s}
.hcap:hover{background:rgba(10,122,29,.7)}.hcap small{font:700 .66rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a9e8b8}.hcap b{font:800 1.05rem "Plus Jakarta Sans",sans-serif}.hcap span{font-size:.85rem;color:rgba(255,255,255,.75)}
.hero .stats{position:relative;z-index:2;background:transparent}
.hero .stats .wrap{background:rgba(8,12,10,.78);backdrop-filter:blur(8px);margin-bottom:clamp(28px,4vw,56px)}
@media(max-width:900px){.hcap{position:relative;right:auto;bottom:auto;margin-top:26px;align-self:flex-start}.hero .hov{background:linear-gradient(0deg,rgba(5,10,7,.85),rgba(5,10,7,.45))}}
/* photo dans les projets */
.rkp{width:calc(100% + 32px);margin:-14px -16px 10px;height:130px;object-fit:cover;border-radius:10px 10px 0 0;display:block}
.rk.ph{padding-top:0;overflow:hidden}

/* V21 : en-tête changeant + réseaux en photos */
.hslides{position:absolute;inset:0}
.hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.3s ease,transform 8s linear}
.hs.on{opacity:1;transform:scale(1)}
.hero .hov{background:linear-gradient(90deg,rgba(5,10,7,.86) 0%,rgba(5,10,7,.5) 50%,rgba(5,10,7,.08) 100%),linear-gradient(0deg,rgba(5,10,7,.75) 0%,transparent 45%)}
.hdots{position:absolute;right:0;bottom:calc(clamp(28px,4vw,50px) + 104px);display:flex;gap:8px;z-index:3}
.hdots button{all:unset;cursor:pointer;width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.35);transition:background .3s,width .3s}.hdots button[aria-current=true]{background:#6fdc86;width:52px}
.hcap{transition:background .2s,opacity .3s}.hcap.sw{opacity:0}
@media(max-width:900px){.hdots{position:relative;right:auto;bottom:auto;margin-top:16px}}
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.rcd{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#0f3d19,#0a7a1d);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:20px 22px;isolation:isolate}
.rcd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}.rcd:hover img{transform:scale(1.06)}
.rcd::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,10,7,.82) 0%,rgba(5,10,7,.15) 60%,transparent 100%)}
.rcd.np::after{background:none}
.rcd .ic{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.3)}.rcd .ic svg{width:26px;height:26px;color:#fff}
.rcd b{font:800 1.3rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.02em}
.rcd.np .ic{position:absolute;right:22px;top:22px;width:64px;height:64px;background:rgba(255,255,255,.12)}.rcd.np .ic svg{width:36px;height:36px}
@media(max-width:900px){.rcards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rcards{grid-template-columns:1fr}.rcd{aspect-ratio:16/10}}

/* V23 : en-tête fixe, sans photo */
.hero{background:#f3f4f2;color:var(--ink);min-height:0;justify-content:center}
.hero .wrap.hg{padding:clamp(48px,7vw,100px) 0 clamp(28px,4vw,48px)}
.hero h1{color:var(--ink);max-width:none;font-size:clamp(3.2rem,9vw,8rem)}.hero h1 em{color:var(--g);-webkit-text-fill-color:var(--g)}
.hero p{color:var(--muted);max-width:44ch}
.hero .btn.play{background:var(--ink);color:#fff}.hero .btn.play:hover{background:var(--g)}
.hero .stats .wrap{background:var(--ink);backdrop-filter:none}
/* métiers : panneaux extensibles */
.xp{display:flex;gap:12px;height:470px;margin-top:6px}
.xpi{position:relative;flex:1;min-width:0;border-radius:18px;overflow:hidden;cursor:pointer;color:#fff;transition:flex .6s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;justify-content:space-between;padding:24px;isolation:isolate;border:0;text-align:left;font:inherit}
.xpi:nth-child(1){background:linear-gradient(160deg,#0f1a13,#0b0f0d)}.xpi:nth-child(2){background:linear-gradient(160deg,#0d6b1c,#074d12)}.xpi:nth-child(3){background:linear-gradient(160deg,#16a032,#0a7a1d)}.xpi:nth-child(4){background:linear-gradient(160deg,#27402f,#14261b)}
.xpi::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 0%,rgba(255,255,255,.18),transparent 55%)}
.xpi.on{flex:4.4}
.xpi .xn{font:800 .9rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;opacity:.7}
.xpi .xi{width:54px;height:54px;border-radius:15px;background:rgba(255,255,255,.14);display:grid;place-items:center}.xpi .xi svg{width:30px;height:30px}
.xpi .xv{position:absolute;left:24px;bottom:24px;font:800 1.5rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.02em;writing-mode:vertical-rl;transform:rotate(180deg);transition:opacity .3s}
.xpi.on .xv{opacity:0}
.xpi .xb{opacity:0;max-height:0;overflow:hidden;transition:opacity .4s .15s;width:min(560px,100%)}
.xpi.on .xb{opacity:1;max-height:420px}
.xb small{font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.xb h4{font:800 clamp(2rem,3.8vw,3.2rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;line-height:1;margin:6px 0 12px}
.xb p{margin:0 0 14px;color:rgba(255,255,255,.88);line-height:1.5;font-size:1.02rem}
.xb ul{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:7px}.xb ul li{font-size:.78rem;font-weight:700;background:rgba(255,255,255,.16);border-radius:999px;padding:5px 12px}
.xb .trk::before{background:rgba(255,255,255,.25);left:7%;right:7%}.xb .trk li{color:rgba(255,255,255,.55);font-size:clamp(.55rem,.75vw,.72rem);padding:0;background:none}.xb .trk li i{background:transparent;border-color:rgba(255,255,255,.35)}
.xb .trk li.on{color:#fff}.xb .trk li.on i{background:#fff;border-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.2)}.xb .trk li.all i{background:transparent;border-color:#fff;box-shadow:none}
.xb .mlab{color:rgba(255,255,255,.7)}
@media(max-width:900px){.xp{flex-direction:column;height:auto}.xpi{flex:none;min-height:84px}.xpi.on{min-height:0}.xpi .xv{writing-mode:horizontal-tb;transform:none;left:92px;bottom:auto;top:32px;font-size:1.2rem}.xpi .xi{position:absolute;right:24px;top:20px}.xpi.on .xi{position:static}.xpi.on .xn{display:none}.xb .trk{grid-template-columns:1fr;gap:0}.xb .trk::before{left:10px;right:auto;top:10px;bottom:10px;width:3px;height:auto;background:rgba(255,255,255,.25)}.xb .trk li{display:flex;gap:12px;align-items:center;text-align:left;font-size:.85rem;padding:5px 0}.xb .trk li i{margin:0}}
.pl .plg{grid-column:1/-1;display:block;padding:10px 14px;margin:2px 0 8px;background:#fff;border:1px solid var(--line);border-radius:14px;width:fit-content}.pl .plg img{display:block;height:54px;width:auto}/* V24 métiers : logo en quatre */
.mqx{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:40px;align-items:center;margin-top:10px}
.mqL{display:flex;flex-direction:column;align-items:center;gap:18px}
.mqg{position:relative;width:min(100%,400px);aspect-ratio:300/290;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;transition:gap .9s cubic-bezier(.2,.9,.2,1)}
.mqx.open .mqg{gap:3px}
.mqp{position:relative;border:0;padding:0;cursor:pointer;background:var(--lg) no-repeat;background-color:#fff;background-size:200% 200%;border-radius:16px;transition:transform .5s cubic-bezier(.2,.9,.2,1),box-shadow .4s,filter .4s,opacity .4s;filter:saturate(.55) brightness(1.04);opacity:.8;box-shadow:0 1px 0 rgba(0,0,0,.06);font:inherit;overflow:hidden}
.q0{background-position:0 0;transform-origin:100% 100%}.q1{background-position:100% 0;transform-origin:0 100%}.q2{background-position:0 100%;transform-origin:100% 0}.q3{background-position:100% 100%;transform-origin:0 0}
.mqx:not(.open) .q0{transform:translate(18px,18px) scale(.96)}.mqx:not(.open) .q1{transform:translate(-18px,18px) scale(.96)}.mqx:not(.open) .q2{transform:translate(18px,-18px) scale(.96)}.mqx:not(.open) .q3{transform:translate(-18px,-18px) scale(.96)}
.mqp:hover{opacity:1;filter:none}
.mqp.on{opacity:1;filter:none;box-shadow:0 0 0 4px var(--c),0 22px 40px -14px rgba(0,0,0,.4);z-index:2}
.mqx.open .q0.on{transform:translate(-8px,-8px) scale(1.04)}.mqx.open .q1.on{transform:translate(8px,-8px) scale(1.04)}.mqx.open .q2.on{transform:translate(-8px,8px) scale(1.04)}.mqx.open .q3.on{transform:translate(8px,8px) scale(1.04)}
.mqb{position:absolute;display:flex;align-items:center;gap:7px;background:var(--c);color:#fff;font:800 .78rem "Plus Jakarta Sans",sans-serif;padding:7px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.mqb b{font-weight:800;opacity:.75}
.q0 .mqb{left:10px;top:10px}.q1 .mqb{right:10px;top:10px}.q2 .mqb{left:10px;bottom:10px}.q3 .mqb{right:10px;bottom:10px}
.mqh{margin:0;color:var(--mut,#5b665f);font-size:.9rem;text-align:center}
.mqd{position:relative;border-radius:24px;padding:40px;color:#fff;min-height:430px;background:linear-gradient(155deg,color-mix(in srgb,var(--c) 88%,#000),#0b0f0d 120%);transition:background .6s;overflow:hidden;isolation:isolate}
.mqd::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 90% 0%,rgba(255,255,255,.22),transparent 55%)}
.mqk{animation:mqin .55s cubic-bezier(.2,.9,.2,1)}
@keyframes mqin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mqn{display:block;font:800 .8rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;opacity:.7;margin-bottom:18px}
.mqd small{font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.mqd h4{font:800 clamp(2rem,4vw,3.4rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;line-height:1;margin:8px 0 14px}
.mqd p{margin:0 0 16px;color:rgba(255,255,255,.9);line-height:1.55;font-size:1.04rem;max-width:560px}
.mqd ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.mqd ul li{font-size:.78rem;font-weight:700;background:rgba(255,255,255,.16);border-radius:999px;padding:5px 12px}
.mqd .mlab{font:800 .7rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:12px}
.phz{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative}
.phz::before{content:"";position:absolute;left:7%;right:7%;top:10px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f5a524,#ec4899,#38bdf8,#a78bfa,#4ade80,#2dd4bf,#fb7185);opacity:.35}
.phz li{position:relative;text-align:center;font-size:clamp(.55rem,.8vw,.74rem);font-weight:700;color:rgba(255,255,255,.5)}
.phz li i{display:block;width:23px;height:23px;border-radius:50%;margin:0 auto 9px;position:relative;z-index:1;background:#0b0f0d;border:3px solid var(--pc);opacity:.55;transition:all .5s calc(var(--k)*.06s)}
.phz li.on{color:#fff}
.phz li.on i{opacity:1;background:var(--pc);box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 35%,transparent),0 0 18px color-mix(in srgb,var(--pc) 60%,transparent)}
.phz li span{display:block;overflow-wrap:anywhere}
@media(max-width:900px){.mqx{grid-template-columns:1fr;gap:26px}.mqd{padding:26px;min-height:0}.mqb{font-size:.68rem;padding:5px 9px}.phz{grid-template-columns:1fr;gap:0}.phz::before{left:11px;right:auto;top:10px;bottom:10px;width:3px;height:auto}.phz li{display:flex;align-items:center;gap:14px;text-align:left;font-size:.9rem;padding:6px 0}.phz li i{margin:0;flex:none}}
@media(prefers-reduced-motion:reduce){.mqg,.mqp,.mqk{transition:none;animation:none}}
.mqx .mqL{padding:14px}.mqx .mqg{width:min(100%,380px)}
/* V26 logo resserré + pop-up d'accueil */
.mqx.open .mqg{gap:3px}.mqp{border-radius:9px}
.mqx.open .q0.on{transform:translate(-3px,-3px) scale(1.03)}.mqx.open .q1.on{transform:translate(3px,-3px) scale(1.03)}.mqx.open .q2.on{transform:translate(-3px,3px) scale(1.03)}.mqx.open .q3.on{transform:translate(3px,3px) scale(1.03)}
.mqx:not(.open) .q0{transform:translate(10px,10px) scale(.97)}.mqx:not(.open) .q1{transform:translate(-10px,10px) scale(.97)}.mqx:not(.open) .q2{transform:translate(10px,-10px) scale(.97)}.mqx:not(.open) .q3{transform:translate(-10px,-10px) scale(.97)}
#wel{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:20px;background:rgba(5,14,8,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
#wel.show{opacity:1;visibility:visible}
body.welopen{overflow:hidden}
.welc{position:relative;width:min(94vw,600px);border-radius:30px;padding:44px 40px 34px;text-align:center;color:#fff;background:radial-gradient(120% 90% at 50% 0%,#12331b 0%,#0b0f0d 62%);overflow:hidden;isolation:isolate;box-shadow:0 40px 120px -20px rgba(10,122,29,.55),0 0 0 1px rgba(255,255,255,.08);transform:translateY(40px) scale(.86);filter:blur(10px);opacity:0}
#wel.show .welc{animation:welin .9s cubic-bezier(.2,.9,.2,1) .1s forwards}
@keyframes welin{to{transform:none;filter:none;opacity:1}}
.welc::before{content:"";position:absolute;inset:-60%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 70%,rgba(74,222,128,.35) 82%,transparent 94%);animation:welspin 7s linear infinite}
.welc::after{content:"";position:absolute;inset:1px;border-radius:29px;z-index:-1;background:radial-gradient(120% 90% at 50% 0%,#12331b 0%,#0b0f0d 62%)}
@keyframes welspin{to{transform:rotate(360deg)}}
.welx{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem;cursor:pointer;z-index:2;display:grid;place-items:center}
.welx:hover{background:rgba(255,255,255,.22)}
.wlg{position:relative;width:132px;aspect-ratio:300/290;margin:0 auto 22px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;animation:wgap .8s cubic-bezier(.2,.9,.2,1) 1.35s forwards}
@keyframes wgap{to{gap:3px}}
.wq{background:var(--wl) no-repeat #fff;background-size:200% 200%;border-radius:8px;opacity:0}
.wq.a{background-position:0 0}.wq.b{background-position:100% 0}.wq.c{background-position:0 100%}.wq.d{background-position:100% 100%}
#wel.show .wq{animation:wqin .95s cubic-bezier(.2,.9,.2,1) forwards}
#wel.show .wq.a{--x:-240px;--y:-160px;--r:-40deg;animation-delay:.35s}
#wel.show .wq.b{--x:240px;--y:-160px;--r:40deg;animation-delay:.5s}
#wel.show .wq.c{--x:-240px;--y:160px;--r:30deg;animation-delay:.65s}
#wel.show .wq.d{--x:240px;--y:160px;--r:-30deg;animation-delay:.8s}
@keyframes wqin{0%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.4)}60%{opacity:1}100%{opacity:1;transform:none}}
.wlg::after{display:none;content:"";position:absolute;inset:-6px;border-radius:14px;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-130%);mix-blend-mode:overlay;pointer-events:none}
#wel.show .wlg::after{animation:welshine 1.1s ease-out 2.1s forwards}
@keyframes welshine{to{transform:translateX(130%)}}
.wey{font:800 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#4ade80;opacity:0}
.welc h2{font:800 clamp(2.1rem,6vw,3.3rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;line-height:1;margin:10px 0 12px;opacity:0}
.welc p.wp{margin:0 auto 22px;max-width:40ch;color:rgba(255,255,255,.78);line-height:1.5;opacity:0}
.wpl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}
.wpl span{font:800 .78rem "Plus Jakarta Sans",sans-serif;padding:7px 14px;border-radius:999px;background:var(--c);color:#fff;opacity:0}
.wbt{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;opacity:0}
.wbt .btn{font:700 .95rem "Plus Jakarta Sans",sans-serif}
.wbt .w1{background:#fff;color:#0b0f0d}.wbt .w1:hover{background:#4ade80}
.wbt .w2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.wbt .w2:hover{background:rgba(255,255,255,.12)}
#wel.show .wey,#wel.show .welc h2,#wel.show .wp,#wel.show .wpl span,#wel.show .wbt{animation:welup .7s cubic-bezier(.2,.9,.2,1) forwards}
#wel.show .wey{animation-delay:1.5s}#wel.show h2{animation-delay:1.65s}#wel.show .wp{animation-delay:1.85s}
#wel.show .wpl span:nth-child(1){animation-delay:2.0s}#wel.show .wpl span:nth-child(2){animation-delay:2.1s}#wel.show .wpl span:nth-child(3){animation-delay:2.2s}#wel.show .wpl span:nth-child(4){animation-delay:2.3s}
#wel.show .wbt{animation-delay:2.45s}
@keyframes welup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#wel .sp{position:absolute;width:6px;height:6px;border-radius:50%;background:#4ade80;opacity:0;z-index:-1}
#wel.show .sp{animation:wsp 3.4s ease-in-out infinite}
@keyframes wsp{0%{opacity:0;transform:translateY(20px)}30%{opacity:.9}100%{opacity:0;transform:translateY(-120px)}}
@media(max-width:560px){.welc{padding:38px 22px 26px}}
@media(prefers-reduced-motion:reduce){.welc,.wq,.wey,.welc h2,.wp,.wpl span,.wbt{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.welc::before{animation:none}}

/* V27 ouverture : texte en fondu */
#op{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:radial-gradient(90% 80% at 50% 40%,#0f3a1a 0%,#07140b 70%);color:#fff;text-align:center;padding:24px;transition:opacity 1.1s ease,visibility 1.1s}
#op.out{opacity:0;visibility:hidden}
body.oping{overflow:hidden}
.opc{max-width:980px}
.ope{display:block;font:800 .75rem "Plus Jakarta Sans",sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#4ade80;opacity:0;animation:opf 1.3s ease .3s forwards}
.opt{font:800 clamp(2.4rem,8vw,6.4rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;line-height:1;margin:18px 0 20px;opacity:0;filter:blur(14px);transform:translateY(14px) scale(.98);animation:opt 1.8s cubic-bezier(.2,.8,.2,1) .8s forwards}
.ops{margin:0;font:500 clamp(1.05rem,2.4vw,1.6rem) "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.82);opacity:0;animation:opf 1.6s ease 2.1s forwards}
.opl{display:block;width:0;height:2px;background:linear-gradient(90deg,transparent,#4ade80,transparent);margin:34px auto 0;animation:opw 1.6s ease 2.4s forwards}
.opx{position:absolute;right:22px;bottom:22px;background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);padding:8px 16px;border-radius:999px;font:700 .8rem "Plus Jakarta Sans",sans-serif;cursor:pointer}
.opx:hover{background:rgba(255,255,255,.12);color:#fff}
@keyframes opf{to{opacity:1}}
@keyframes opt{to{opacity:1;filter:none;transform:none}}
@keyframes opw{to{width:min(320px,60vw)}}
@media(prefers-reduced-motion:reduce){.ope,.opt,.ops{opacity:1;filter:none;transform:none;animation:none}.opl{width:200px;animation:none}}
@media(max-width:640px){.qv canvas{aspect-ratio:1000/860}.qh{font-size:.74rem;padding:6px 12px}}
/* V29 jeu : thèmes, dock */
.qcv{position:relative}
.qdock{padding:12px 16px 16px;border-top:1px solid #d9cda4;background:#f4eedb}
.qdl{display:block;font:800 .68rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#7a6a34;margin-bottom:8px}
.qth{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.qth button{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--c);background:#fff;color:#3b3317;border-radius:999px;padding:7px 13px;font:700 .8rem "Plus Jakarta Sans",sans-serif;cursor:pointer;transition:background .25s,color .25s,transform .2s}
.qth button i{width:9px;height:9px;border-radius:50%;background:var(--c);transition:background .25s}
.qth button:hover{transform:translateY(-2px)}
.qth button[aria-pressed=true]{background:var(--c);color:#fff}
.qth button[aria-pressed=true] i{background:#fff}
.qdock .qtm{margin:0 0 10px}.qdock .qrow{margin:0}
.qcu{margin:14px 0 6px;display:block}
.qdock .qtm label{color:#5a4a1c}.qdock .qtm output{color:#8a6d1c}
/* V30 univers visible dès l'accueil */
.hero .wrap.hg{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,3.5vw,52px);align-items:start;padding:clamp(34px,5vw,64px) 0 clamp(30px,4vw,48px)}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:.96;max-width:none;margin-top:14px}
.hero p{font-size:1.1rem;max-width:40ch;margin:18px 0 22px}
.hero .hl .qsar{margin:0;max-width:520px}
.hero .hr{min-width:0}
.hero .qv{position:static;top:auto}
.hero .qsar h4{font-size:1.5rem}
@media(max-width:900px){.hero .wrap.hg{grid-template-columns:1fr}.hero .hl .qsar{max-width:none}}

/* V31 bulle, frise, hero */

.qbub{position:absolute;z-index:6;background:#fff;color:#2a2418;border:1.5px solid #b08d3c;border-radius:16px;padding:14px 16px 14px;box-shadow:0 22px 44px -14px rgba(0,0,0,.45);font-size:.85rem;line-height:1.45;margin:0;max-width:92%}
.qbub[hidden]{display:none}
.qbub.pop{animation:bubin .35s cubic-bezier(.2,.9,.2,1)}
@keyframes bubin{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
.qbub::after{content:"";position:absolute;left:var(--ax,50%);width:14px;height:14px;background:#fff;border:1.5px solid #b08d3c;border-top:0;border-left:0;transform:translateX(-50%) rotate(45deg);bottom:-8px}
.qbub:not(.up)::after{bottom:auto;top:-8px;transform:translateX(-50%) rotate(225deg)}
.qbub .bx{position:absolute;right:8px;top:6px;border:0;background:none;font-size:1.3rem;line-height:1;color:#8a6c1c;cursor:pointer}
.qbub .gk{font:800 .64rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6c1c}
.qbub h4{font:700 1.25rem "Cormorant Garamond",Georgia,serif;margin:2px 0 4px;color:#1d3a21;border:0;padding:0}
.qbub p{margin:4px 0;color:#3a3220}
.qbub .ex{font-weight:700;color:#1d5a24}
.qbub .mt{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}
.qbub .mt em{font-style:normal;font-weight:700;font-size:.7rem;background:#1d5a24;color:#fff;border-radius:999px;padding:3px 9px}
.qbub .ql{font-style:italic;color:#6a5c36;font-size:.78rem}
.qbub .qb2{margin-top:8px}.qbub .qb2 button{font:700 .78rem "Plus Jakarta Sans",sans-serif;padding:7px 12px;border-radius:999px;border:1.5px solid #b08d3c;background:#b08d3c;color:#fff;cursor:pointer}
.mqd{background:linear-gradient(155deg,color-mix(in srgb,var(--c) 38%,#0b0f0d),#0b0f0d 115%)}
.phz::before{background:rgba(255,255,255,.18);opacity:1}
.phz li i{border:3px solid rgba(255,255,255,.3);background:transparent;opacity:1}
.phz li.on i{background:var(--pc);border-color:var(--pc);box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 35%,transparent),0 0 18px color-mix(in srgb,var(--pc) 60%,transparent)}
.phz li.on{color:#fff}
.hero .qbub p{font-size:.84rem;max-width:none;margin:4px 0;color:#3a3220}.hero .qbub .ql{font-size:.76rem;color:#6a5c36}.hero .qbub .ex{color:#1d5a24}.hero .qbub h4{font-size:1.2rem}.qbub::after{bottom:auto;top:auto;transform:none}
.qbub.up::after{bottom:-8px;left:var(--ax);transform:translateX(-50%) rotate(45deg)}
.qbub.dn::after{top:-8px;left:var(--ax);transform:translateX(-50%) rotate(225deg)}
.qbub.sl::after{right:-8px;left:auto;top:var(--ay);transform:translateY(-50%) rotate(-45deg)}
.qbub.sr::after{left:-8px;top:var(--ay);transform:translateY(-50%) rotate(135deg)}
.qbub p{font-weight:400}.qbub p.ex{font-weight:700}
/* V32 pied de page façon IFEP */
footer{padding:28px 0;background:transparent;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:flex-start}
footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--g);text-decoration:underline}
footer .fad{flex-basis:100%;font-size:.82rem;opacity:.85}

/* V33 bulle compacte */
.qld{position:absolute;left:0;top:0;width:100%;height:100%;z-index:5;pointer-events:none}
.qld[hidden]{display:none}
.qbub{padding:10px 12px;font-size:.78rem;max-width:none;border-radius:14px}
.qbub::after{display:none!important}
.hero .qbub p{font-size:.78rem;line-height:1.4;margin:3px 0}
.hero .qbub h4{font-size:1.05rem;margin:1px 0 2px}
.qbub .gk{font-size:.58rem}
.qbub .mt{margin:5px 0 0}.qbub .mt em{font-size:.64rem;padding:2px 8px}

.qld{position:absolute;left:0;top:0;width:100%;height:100%;z-index:7;pointer-events:none;overflow:visible}
.hl .qbub{position:relative;left:auto;top:auto;width:min(380px,100%);margin-top:22px;padding:14px 16px;font-size:.88rem;z-index:2}
.hero .hl .qbub p{font-size:.9rem}.hero .hl .qbub h4{font-size:1.3rem}.hl .qbub .gk{font-size:.64rem}.hl .qbub .mt em{font-size:.7rem}
.hero .hr .qbub{position:relative;left:auto;top:auto;width:auto;margin:10px 14px 0;z-index:2}.hero .hr .qdock{margin-top:0}
.hero .hl .hl2{font:800 clamp(1.7rem,2.9vw,2.5rem)/1.12 "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em;color:var(--ink);max-width:19ch;margin:6px 0 26px;padding-left:18px;border-left:5px solid var(--g)}
.hero .hl .hl2 b{color:var(--g);font-weight:800}
.qsl{position:absolute;top:10px;right:12px;width:74px;height:auto;padding:5px 9px;background:rgba(255,255,255,.88);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.14);pointer-events:none;z-index:3}

/* TOP commun IFEP/SARESE */
:root{--tb:#0b2a14;--th:#0a5b16;--ta:#4ade80}
#op{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:radial-gradient(90% 80% at 50% 40%,#0f3a1a 0%,#07140b 70%);color:#fff;text-align:center;padding:24px;transition:opacity 1.1s ease,visibility 1.1s}
#op.out{opacity:0;visibility:hidden}body.oping{overflow:hidden}
.opc{max-width:980px}
.opt{font:800 clamp(2.4rem,8vw,6.4rem) "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;line-height:1;margin:0 0 20px;opacity:0;filter:blur(14px);transform:translateY(14px) scale(.98);animation:opt 1.8s cubic-bezier(.2,.8,.2,1) .5s forwards}
.ops{margin:0;font:500 clamp(1.05rem,2.4vw,1.6rem) "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.82);opacity:0;animation:opf 1.6s ease 1.8s forwards}
.opg{display:inline-block;margin:26px 0 0;font:800 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--ta);opacity:0;animation:opf 1.4s ease 2.7s forwards}
.opl{display:block;width:0;height:2px;background:linear-gradient(90deg,transparent,var(--ta),transparent);margin:30px auto 0;animation:opw 1.6s ease 2.3s forwards}
.opx{position:absolute;right:22px;bottom:22px;background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);padding:8px 16px;border-radius:999px;font:700 .8rem "Plus Jakarta Sans",sans-serif;cursor:pointer}
.opx:hover{background:rgba(255,255,255,.12);color:#fff}
@keyframes opf{to{opacity:1}}@keyframes opt{to{opacity:1;filter:none;transform:none}}@keyframes opw{to{width:min(320px,60vw)}}
@media(prefers-reduced-motion:reduce){.opt,.ops,.opg{opacity:1;filter:none;transform:none;animation:none}.opl{width:200px;animation:none}}
.band{background:var(--tb);color:#fff;border:0;border-bottom:3px solid var(--ta);border-image:none;font-size:.92rem}
.band .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.band .bl,.band #bl{width:auto;height:60px;border-radius:12px;background:#fff;flex:none;display:block}
.band .bt{min-width:0}.band .bt b{display:block;font:800 1.45rem/1.1 Sora,sans-serif;letter-spacing:.06em}
.band .bt span{display:block;margin-top:3px;font:500 .95rem "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.85)}
.band .r{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-weight:600}.band .r a{color:#fff}
.band .grp{font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ta);border:1px solid color-mix(in srgb,var(--ta) 55%,transparent);padding:7px 14px;border-radius:999px;white-space:nowrap}
header{background:var(--th);color:#fff;border:0;backdrop-filter:none}
header .wrap{display:flex;align-items:center;gap:14px;min-height:64px;flex-wrap:wrap}
header .logo{display:flex;align-items:center;gap:12px;margin-right:auto;color:#fff;text-decoration:none}
header .logo .hm{height:44px;width:auto;border-radius:9px;background:#fff;display:block}
header .logo span{display:block;font:500 .72rem/1.25 "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.9);max-width:180px;letter-spacing:0}
header nav a{padding:8px 11px;border-radius:999px;color:rgba(255,255,255,.9);white-space:nowrap;text-decoration:none;font-weight:600}
header nav a:hover,header nav a[aria-current]{background:rgba(255,255,255,.16);color:#fff}
header .gbtn,header .gbtn.nudge{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.6)!important;border-radius:999px!important;box-shadow:none!important;animation:none!important;padding:9px 16px;font-weight:700}
header .gbtn:hover{background:rgba(255,255,255,.14)!important}
header .btn{background:#fff;color:var(--ink);padding:11px 20px;white-space:nowrap;border-radius:999px}
@media(max-width:640px){.band .bt b{font-size:1.15rem}.band .bt span{font-size:.82rem}.band .grp{font-size:.62rem;padding:5px 10px}.band .r{margin-left:0}}

.qh{left:14px!important;right:auto;bottom:14px!important;transform:none!important;width:46px;height:46px;padding:0!important;border-radius:50%!important;display:grid;place-items:center;white-space:normal;background:rgba(20,40,26,.86);box-shadow:0 4px 14px rgba(0,0,0,.28);animation:qhb 2.6s ease-in-out infinite!important}
.qh svg{width:28px;height:28px;animation:qhs 3.2s ease-in-out infinite}
@keyframes qhb{50%{box-shadow:0 0 0 9px rgba(255,255,255,.18)}}@keyframes qhs{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.qdl{font-size:.8rem!important;color:#6b4c0c!important}.qdl b{display:inline-block;animation:qar 1.2s ease-in-out infinite;font-size:1.05em}
@keyframes qar{50%{transform:translateY(4px)}}
#qth:not(.used) button{animation:qtp 2.4s ease-in-out infinite}#qth:not(.used) button:nth-child(2){animation-delay:.25s}#qth:not(.used) button:nth-child(3){animation-delay:.5s}#qth:not(.used) button:nth-child(4){animation-delay:.75s}#qth:not(.used) button:nth-child(5){animation-delay:1s}#qth:not(.used) button:nth-child(6){animation-delay:1.25s}
@keyframes qtp{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 0%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 28%,transparent)}}
@media(prefers-reduced-motion:reduce){#qth button,.qh,.qh svg,.qdl b{animation:none!important}}

.opi{display:block;width:104px;height:104px;object-fit:contain;margin:0 auto 26px;border-radius:24px;background:#fff;padding:8px;box-shadow:0 0 70px 14px color-mix(in srgb,var(--ta) 40%,transparent);opacity:0;transform:scale(.8);animation:opi 1.3s cubic-bezier(.2,.8,.2,1) .1s forwards}
@keyframes opi{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.opi{opacity:1;transform:none;animation:none}}
.mqx:not(.open) .mqp{transform:none;opacity:.95;filter:saturate(.8)}
.mqx:not(.open) .mqp:hover{opacity:1;filter:none;box-shadow:0 10px 22px rgba(0,0,0,.2)}
.mqx:not(.open) .q0:hover{transform:translate(-9px,-9px) scale(1.02)}.mqx:not(.open) .q1:hover{transform:translate(9px,-9px) scale(1.02)}.mqx:not(.open) .q2:hover{transform:translate(-9px,9px) scale(1.02)}.mqx:not(.open) .q3:hover{transform:translate(9px,9px) scale(1.02)}

.qzb{position:absolute;top:66px;right:12px;z-index:4;display:flex;flex-direction:column;gap:6px}
.qzb button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(120,100,40,.35);background:rgba(255,255,255,.92);color:#3a3014;font:700 1.25rem/1 "Plus Jakarta Sans",sans-serif;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.qzb button:hover{background:#fff7dc}
.qv.fs{position:fixed!important;inset:0;z-index:1500;margin:0!important;max-width:none!important;width:100%!important;height:100%;border-radius:0!important;display:flex;flex-direction:column;background:#f4eedb}
.qv.fs .qcv{flex:1 1 auto;min-height:0;position:relative}
.qv.fs canvas{aspect-ratio:auto!important;width:100%;height:100%!important}
.qv.fs .qdock{flex:none;border-radius:0}
.qv.fs .qbub{position:absolute!important;left:16px;top:64px;bottom:auto;max-width:min(360px,calc(100% - 100px));z-index:6;margin:0}
.qv.fs .qzb{top:72px}
body.qfs{overflow:hidden}
.qfx{display:none;position:absolute;top:10px;left:50px;z-index:5;background:#fff;border:1px solid rgba(120,100,40,.35);border-radius:999px;padding:8px 16px;font:700 .85rem "Plus Jakarta Sans",sans-serif;cursor:pointer}.qv.fs .qfx{display:block}
.hbig{display:block;width:clamp(96px,10vw,128px);height:auto;margin:0 0 22px;border-radius:24px;background:#fff;padding:10px;box-shadow:0 18px 44px rgba(10,90,22,.22),0 0 0 1px rgba(10,90,22,.12)}
.mdet{margin-top:18px;border:1px solid rgba(15,27,51,.18);border-radius:12px;background:#fff;color:#0f1b33}.mdet summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none}.mdet summary::after{content:"+";float:right;font-weight:400}.mdet[open] summary::after{content:"–"}.mdet .mbody{padding:0 18px 16px;font-size:.92rem}.mdet h4{margin:14px 0 4px}.mdet p{margin:0 0 6px}.pl summary{grid-template-columns:1fr auto;gap:2px 14px}.pl details:has(.plogo) summary{grid-template-columns:92px 1fr auto}
.pl summary .plogo,.pl summary .pmono{grid-column:1;grid-row:1/3;width:92px;height:46px;object-fit:contain;object-position:left center;display:block}
.pl summary .pmono{width:46px;display:grid;place-items:center;border-radius:12px;background:#eaf5ec;color:var(--g);font:800 .9rem "Plus Jakarta Sans",sans-serif}
.pl summary b,.pl summary small{grid-column:1}.pl summary em{grid-column:2}.pl details:has(.plogo) summary b,.pl details:has(.plogo) summary small{grid-column:2}.pl details:has(.plogo) summary em{grid-column:3}
.qlogo{display:block;height:38px;max-width:140px;width:auto;object-fit:contain;object-position:left center;margin:0 0 10px;background:#fff;border-radius:8px;padding:4px 8px;box-sizing:content-box}
.qtl li .qlogo{height:28px;margin:4px 0 6px}header .logo .hm{box-sizing:content-box;height:32px;width:auto;padding:8px;border-radius:8px}
.opi{box-sizing:border-box;width:128px;height:128px;padding:24px;border-radius:24px}
.hbig{box-sizing:border-box;width:clamp(116px,11vw,148px);padding:22px;border-radius:22px}.rcd .ic{display:none!important}.qqo{max-width:760px;margin:28px auto 0;padding:14px 18px;border:1px solid var(--line,#d9ded9);border-radius:14px;background:#fff;font-size:.95rem;text-align:center}.qqo a{color:inherit;font-weight:700;text-decoration:underline}
.grp{text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s}a.grp:hover,a.grp:focus-visible{background:color-mix(in srgb,var(--ta) 22%,transparent)}a.grp b{font-weight:800;letter-spacing:.14em}

.rkb{display:block;position:relative;width:calc(100% + 32px);margin:-14px -16px 10px;padding:0;border:0;background:#000;cursor:zoom-in;border-radius:10px 10px 0 0;overflow:hidden}.rkb .rkp{margin:0;width:100%;transition:transform .4s}.rkb:hover .rkp{transform:scale(1.04)}
.rkb span,.gbadge{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.7);color:#fff;font:600 .75rem "Plus Jakarta Sans",sans-serif;padding:4px 10px;border-radius:999px}
#gal{border:0;padding:0;background:#0b0f0c;color:#fff;width:min(96vw,1100px);max-height:94vh;border-radius:16px;overflow:hidden}#gal::backdrop{background:rgba(0,0,0,.75)}
#gal .gv{position:relative;display:flex;align-items:center;justify-content:center;background:#000;height:min(68vh,720px);touch-action:pan-y}#gal .gv img{max-width:100%;max-height:100%;object-fit:contain;display:block}
#gal .gn,#gal .gp,#gal .gc{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;backdrop-filter:blur(4px)}#gal .gn,#gal .gp{top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:1.5rem}#gal .gp{left:12px}#gal .gn{right:12px}#gal .gc{top:12px;right:12px;padding:8px 14px;border-radius:999px;font:600 .9rem "Plus Jakarta Sans",sans-serif}
#gal .gi{padding:14px 18px 6px}#gal .gi b{display:block;font:700 1rem "Plus Jakarta Sans",sans-serif}#gal .gi small{opacity:.75}
#gal .gt{display:flex;gap:8px;padding:8px 18px 16px;overflow-x:auto}#gal .gt button{flex:none;border:2px solid transparent;border-radius:8px;padding:0;background:none;cursor:pointer;opacity:.6;overflow:hidden}#gal .gt button[aria-current="true"]{border-color:#4ade80;opacity:1}#gal .gt img{width:84px;height:60px;object-fit:cover;display:block}

.rs .rd{border-top:1px solid var(--line)}.rs .rd:first-child{border-top:0}
.rs .rd>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 20px;font:700 1rem Sora,sans-serif;border-bottom:0;background:none;border-radius:0}
.rs .rd>summary::-webkit-details-marker{display:none}.rs .rd>summary:hover{background:rgba(2,133,3,.06)}
.rs .rd>summary span{font:600 .8rem "Plus Jakarta Sans",sans-serif;color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 9px}
.rs .rd>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2.5px solid var(--g);border-bottom:2.5px solid var(--g);transform:rotate(45deg);transition:transform .2s;margin-top:-4px}.rs .rd[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.rs .rd>.rg{padding:8px 18px 18px}
.rs .rd{border-top:0}.rs .rd[hidden]{display:none}.rs .rdt{display:flex;align-items:center;gap:10px;margin:0;padding:16px 20px 4px;font:700 1rem Sora,sans-serif;color:var(--ink,#111)}.rs .rdt::before{content:"";width:4px;height:1.1em;border-radius:2px;background:var(--cc,var(--g))}.rs .rdt span{font:600 .8rem "Plus Jakarta Sans",sans-serif;color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 9px}.rs .rd+.rd{border-top:1px solid var(--line);margin-top:6px}
.dch{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 6px;background:var(--surface,#fff);border-bottom:1px solid var(--line)}.dch button{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--bg);color:inherit;border-radius:999px;padding:6px 8px 6px 14px;font:600 .86rem "Plus Jakarta Sans",sans-serif;cursor:pointer}.dch button span{font-size:.75rem;background:var(--surface,#fff);border-radius:999px;padding:1px 8px;color:var(--muted)}.dch button:hover{border-color:var(--g)}.dch button.on{background:var(--g);border-color:var(--g);color:#fff}.dch button.on span{background:rgba(255,255,255,.22);color:#fff}
@media(max-width:700px){.dch{position:static;flex-wrap:nowrap;overflow-x:auto;padding:12px 16px}.dch button{flex:none}.rs .rdt{padding:14px 16px 2px}}

.rk{background:var(--surface,#fff)}.rkc{font-weight:700;letter-spacing:.06em;color:var(--g);font-size:.74rem!important}.rkv{margin-top:6px;color:var(--g);font-weight:700;font-size:.85rem}
.pjs{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.pjs>b{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--g)}.pjs ul{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow:auto;display:grid;gap:2px}.pjs li{display:flex;gap:8px;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px dashed var(--line)}.pjs a{font-weight:600;color:var(--ink);text-decoration:none}.pjs a:hover{color:var(--g);text-decoration:underline}.pjs small{color:var(--muted,#667);font-size:.75rem;text-align:right}.rfl{margin:8px 0 0;padding-left:1.1em;display:grid;gap:4px}.rfl a,.rft a{color:var(--g);font-weight:600}.rfpl{margin:10px 0 0}.rfpart{display:inline-block;margin-right:8px;color:var(--g);font-weight:700}a.rcd{text-decoration:none;color:#fff}.rcd .rcg{font-size:.85rem;font-weight:600;opacity:.92}a.rcd:hover .rcg{text-decoration:underline}.mq4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:26px}.mq4 a{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}.mq4 a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(2,133,3,.16)}.mq4 em{font:800 .8rem "Plus Jakarta Sans",sans-serif;font-style:normal;letter-spacing:.12em;color:var(--c)}.mq4 b{font:700 1.2rem Sora,sans-serif}.mq4 span{color:var(--muted,#667);font-size:.92rem;line-height:1.45}.mq4 i{font-style:normal;color:var(--c);font-weight:700;margin-top:auto;padding-top:6px}.mq4n{margin-top:22px;color:var(--muted,#667)}.mq4n a{color:var(--g);font-weight:700}.rfg{position:relative;border-radius:12px;overflow:hidden;margin-bottom:14px;background:#000}.rfg .rfp{display:block}.rfg img{width:100%;max-height:300px;object-fit:cover;display:block}.rga{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.rga.p{left:8px}.rga.n{right:8px}.rgc{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;font-size:.75rem;font-weight:700;padding:3px 10px}button.rfpart{border:1px solid var(--g);background:transparent;color:var(--g);font:700 .85rem inherit;border-radius:999px;padding:5px 12px;cursor:pointer;margin-right:6px}button.rfpart[aria-expanded=true]{background:var(--g);color:#fff}.rfpi{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}.rfpi small{display:block;color:var(--muted,#667);margin-bottom:6px}.rfpi ul{margin:6px 0;padding-left:1.1em;display:grid;gap:4px;font-size:.9rem}.rfpi a{color:var(--g);font-weight:700}.stx{position:relative;z-index:4;padding:0 16px;margin-top:-44px;margin-bottom:8px}.stx-g{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface,#fff);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 44px rgba(10,40,20,.14);overflow:hidden}.stx-i{position:relative;display:flex;flex-direction:column;gap:6px;padding:26px 24px 22px;text-decoration:none;color:var(--ink);transition:background .25s}.stx-i+.stx-i::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}a.stx-i:hover{background:rgba(2,133,3,.06)}.stx-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e8f7ea,#c9eccf);color:#0a7a1d;margin-bottom:6px}.stx-ic svg{width:24px;height:24px}.stx-n{font:800 clamp(2.2rem,4.4vw,3.3rem) Sora,sans-serif;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,#0a7a1d,#35c24a);-webkit-background-clip:text;background-clip:text;color:transparent}.stx-n i{font-style:normal}.stx-n u{text-decoration:none;font-size:.6em;margin-left:2px}.stx-l{color:var(--muted,#556);font-size:.95rem;line-height:1.35}.stx-go{color:var(--g);font-weight:700;font-size:.85rem;margin-top:2px}@media(max-width:820px){.stx{margin-top:-30px}.stx-g{grid-template-columns:1fr 1fr}.stx-i{padding:20px 18px 16px}.stx-i:nth-child(3)::before{display:none}.stx-i:nth-child(n+3){border-top:1px solid var(--line)}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .stx-ic{background:rgba(53,194,74,.16);color:#6ee07f}}:root[data-theme=dark] .stx-ic{background:rgba(53,194,74,.16);color:#6ee07f}img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}.rfg,.rfg img{touch-action:pan-y}.rfg{aspect-ratio:4/3;background:#0d1410}.rfg .rfp{position:absolute;inset:0;display:block}.rfg .rfp img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;border-radius:0}.rfp,a[data-g],.rkb{pointer-events:none;cursor:default}.rfg img,.rkp,.rsx img,.rcd img,.hs,.rfh img{pointer-events:none}.pfait{padding:4px 0 2px}.plb{display:block;font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--g);margin:6px 0 8px}.pfait ul{border-left:3px solid var(--g);padding-left:14px!important}.pjs{margin-top:16px!important;border:0!important;border-radius:14px;padding:14px!important;background:linear-gradient(160deg,#0f2a17,#0a1b10);color:#fff}.pjs>b{color:#7be08c!important;letter-spacing:.1em}.pjs ul{max-height:340px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:8px!important;margin-top:10px!important}.pjs li{display:block!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px;padding:9px 11px!important;background:rgba(255,255,255,.06);transition:background .2s,transform .2s}.pjs li:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}.pjs a{color:#fff!important;font-size:.88rem;line-height:1.3;display:block}.pjs small{display:block;color:rgba(255,255,255,.62)!important;text-align:left!important;margin-top:3px}.dcx{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:28px}.dcx a{position:relative;grid-column:span 2;display:flex;flex-direction:column;gap:6px;min-height:170px;padding:22px 22px 20px;border-radius:20px;text-decoration:none;color:var(--ink);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,var(--surface,#fff)),var(--surface,#fff) 70%);border:1px solid color-mix(in srgb,var(--c) 28%,var(--line));overflow:hidden;transition:transform .25s,box-shadow .25s}.dcx a:nth-child(-n+2){grid-column:span 3;min-height:190px}.dcx a:hover{transform:translateY(-4px);box-shadow:0 16px 34px color-mix(in srgb,var(--c) 28%,transparent)}.dcx a::after{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:var(--c);opacity:.10}.dcx .dci{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--c);color:#fff;margin-bottom:8px}.dcx .dci svg{width:24px;height:24px}.dcx b{font:700 1.25rem Sora,sans-serif}.dcx span.dcs{color:var(--muted,#556);font-size:.93rem;line-height:1.4}.dcx i{margin-top:auto;padding-top:10px;font-style:normal;font-weight:700;color:var(--c);display:inline-flex;gap:8px;align-items:center}.dcx i::after{content:"→";transition:transform .25s}.dcx a:hover i::after{transform:translateX(5px)}@media(max-width:820px){.dcx{grid-template-columns:1fr 1fr}.dcx a,.dcx a:nth-child(-n+2){grid-column:span 1;min-height:150px;padding:18px}.dcx a:first-child{grid-column:span 2}}@media(max-width:480px){.dcx{grid-template-columns:1fr}.dcx a,.dcx a:first-child{grid-column:span 1}}.mqd .mqph{position:relative;display:block;height:100%;min-height:330px;border-radius:16px;overflow:hidden;color:#fff;text-decoration:none}.mqd .mqph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.mqd .mqph:hover img{transform:scale(1.04)}.mqd .mqph span{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(0,20,8,.82))}.mqd .mqph b{display:block;font:700 .95rem "Plus Jakarta Sans",sans-serif;line-height:1.25}.mqd .mqph small{display:block;margin-top:3px;font:500 .76rem "Plus Jakarta Sans",sans-serif;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.75)}.mqd .mqr ul{display:grid;gap:0;margin:8px 0 12px;padding:0;list-style:none}.mqd .mqr li{background:none;border:0;border-radius:0;padding:0;margin:0;font:inherit}.mqd .mqr li a{display:block;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;transition:padding .2s}.mqd .mqr li a:hover{padding-left:6px}.mqd .mqr li b{display:block;font:600 .92rem "Plus Jakarta Sans",sans-serif;line-height:1.3}.mqd .mqr li small{display:block;margin-top:3px;font:500 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.62)}.mqd .mqall{color:#fff;font-weight:700;font-size:.88rem;text-decoration:none}.mqd .mqall:hover{text-decoration:underline}.pmap{display:block;width:100%;height:210px;margin:0 0 14px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--g) 5%,#fff)}.pmap .fr{fill:color-mix(in srgb,var(--g) 12%,var(--surface));stroke:var(--g);stroke-width:1.2;opacity:.9}.pmap a{cursor:pointer}.pmap circle{fill:var(--g);stroke:#fff;stroke-width:2;transition:r .15s}.pmap a:hover circle{fill:var(--g2)}.pmap text{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.pmo{margin:-6px 0 12px;font-size:.78rem;color:var(--muted)}.pl details.flash>summary{background:color-mix(in srgb,var(--g) 14%,transparent);transition:background .4s}.dmap{float:right;width:124px;margin:2px 0 6px 14px;text-align:center}.dmap.dmg{float:none;width:150px;margin:6px 0 10px}.dmap svg{display:block;width:100%;height:auto}.dmap .fr{fill:color-mix(in srgb,var(--g) 9%,var(--surface));stroke:color-mix(in srgb,var(--g) 40%,#fff);stroke-width:1}.dmap .hl{fill:var(--g);stroke:var(--g);stroke-width:5;stroke-linejoin:round}.dmap rect.hl{fill:color-mix(in srgb,var(--g) 30%,transparent);stroke-width:2}.dmap .gp{font:700 11px "Plus Jakarta Sans",sans-serif;fill:var(--ink)}.dmap figcaption{font:600 .72rem "Plus Jakarta Sans",sans-serif;color:var(--muted,#667);margin-top:3px}.pl details>.pfait{display:flow-root}.pfb{display:block;margin-top:8px;border:0;border-radius:999px;background:var(--g,#0b5);color:#fff;font:600 .8rem inherit;padding:7px 14px;cursor:pointer}.rk.go:focus-visible{outline:3px solid var(--g);outline-offset:2px}
#rf{border:0;padding:0;width:min(560px,94vw);max-height:92vh;border-radius:20px;overflow:auto;background:var(--surface,#fff);color:var(--ink,#111)}#rf::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.rfh{position:relative;padding:22px 24px 18px;background:linear-gradient(135deg,#028503,#0b3d12);color:#fff;border-top:6px solid var(--cc)}.rfh h3{font:800 1.45rem/1.2 Sora,sans-serif;margin:10px 0 4px;color:#fff}.rfh p{margin:0;opacity:.92}
.rfc{display:flex;gap:6px;flex-wrap:wrap;padding-right:40px}.rfc span{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border-radius:999px;padding:3px 11px;font:600 .8rem "Plus Jakarta Sans",sans-serif}.rfc i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.rfx{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.rfb{padding:18px 24px 24px}.rfp{position:relative;display:block;border-radius:12px;overflow:hidden;margin-bottom:16px}.rfp img{width:100%;height:190px;object-fit:cover;display:block}.rfp span{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.7);color:#fff;font:600 .78rem "Plus Jakarta Sans",sans-serif;padding:4px 11px;border-radius:999px}
.rfd{display:grid;gap:10px;margin:0 0 14px}.rfd div{display:flex;gap:12px}.rfd dt{flex:0 0 130px;color:var(--muted);font-weight:600;font-size:.9rem}.rfd dd{margin:0;font-weight:600}.rft{margin:0 0 14px;line-height:1.6}
.rfa{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.rfa .btn{flex:1 1 auto;text-align:center;cursor:pointer}.rfa .btn::after{display:none}.rfa .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.cl{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;font:800 .95rem Sora,sans-serif;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35);cursor:pointer;transition:transform .15s}.cl:hover{transform:scale(1.12)}
.rmap{position:relative}.maplogo{position:absolute;top:12px;right:12px;width:58px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:5px;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:1000;pointer-events:none}
@media(max-width:560px){.maplogo{width:46px;height:46px;top:8px;right:8px}}
.rdh{display:flex;align-items:center;gap:10px;padding:0 18px;margin:18px 0 8px;font:700 .98rem Sora,sans-serif;color:var(--ink)}.rgx>.rdh:first-child{margin-top:6px}
.rdh b{font-weight:700}.rdh span{background:rgba(0,0,0,.07);color:var(--muted);border-radius:999px;padding:1px 9px;font:600 .8rem "Plus Jakarta Sans",sans-serif}
.rdh::after{content:"";flex:1;height:1px;background:var(--line)}
.rsxs{padding:70px 0 20px}
.rsx-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.rsx{position:relative;display:block;min-height:250px;border-radius:18px;overflow:hidden;color:#fff;text-decoration:none;background:#0b2a14;isolation:isolate;scroll-margin-top:80px}
.rsx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;z-index:-2}
.rsx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,10,0) 35%,rgba(6,18,10,.88));z-index:-1}
.rsx:hover img,.rsx:focus-visible img{transform:scale(1.06)}
.rsx-t{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:4px}
.rsx-t b{font:700 1.3rem/1.15 Sora,sans-serif;text-shadow:0 1px 6px rgba(0,0,0,.5)}.rsx-t i{font-style:normal;font-weight:700;font-size:.92rem;color:#c6f7c9}
.rsx-all{background:linear-gradient(135deg,#028503,#0b3d12)}.rsx-map{position:absolute;right:12%;top:6%;height:76%;width:auto;max-width:60%;z-index:-1;transition:transform .5s}.rsx-all:hover .rsx-map{transform:scale(1.05)}@media(max-width:560px){.rsx-map{height:70%;right:6%}}.rsx-all::after{display:none}.rsx-all .rsx-t{top:auto}
@media(max-width:960px){.rsx-g{grid-template-columns:1fr 1fr}.rsx{min-height:210px}}
@media(max-width:560px){.rsx-g{grid-template-columns:1fr}.rsx{min-height:190px}}
#chips,#lmap{scroll-margin-top:80px}
.pagehd{padding:46px 0 0}
.dcv{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:26px}
.dcv a{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.dcv a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(2,133,3,.16)}.dcv b{font:700 1.15rem Sora,sans-serif}.dcv span{color:var(--muted)}.dcv i{font-style:normal;color:var(--g);font-weight:700;margin-top:6px}
.pgtop{padding-top:34px}

/* ===== mobile : menu fige + bandeau identique (v57) ===== */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40}
header.fx{position:sticky;box-shadow:none}
header{box-shadow:0 2px 12px rgba(0,0,0,.16)}
@media(max-width:1120px){
header .wrap{display:flex;flex-wrap:wrap;align-items:center;min-height:0;gap:8px 10px;padding-top:8px;padding-bottom:8px}
header .logo{margin-right:auto;min-width:0;gap:10px}
header .logo .hm{box-sizing:border-box;height:46px;width:auto;padding:6px;border-radius:10px;background:#fff;display:block}
header .logo span{font:500 .78rem/1.25 "Plus Jakarta Sans",sans-serif;max-width:190px;color:rgba(255,255,255,.95)}
header .btn{display:none}
header .burger{display:flex;margin-left:auto;flex:none}
header nav{display:none;order:3;width:100%;flex-direction:column;gap:2px;padding:6px 0 10px;max-height:calc(100vh - 90px);overflow-y:auto}
header nav.open{display:flex}
header nav a,header nav .gbtn{padding:12px 14px;font-size:1rem}
header nav .navcta{display:block;background:#fff;color:#0b1a33;border-radius:999px;text-align:center;font-weight:700;margin-top:6px}
}
header nav .navcta{display:none}
@media(max-width:1120px){header nav .navcta{display:block}}
@media(max-width:640px){
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:10px;padding-bottom:10px}
.band .bl,.band #bl{height:44px;width:auto;flex:none;border-radius:10px;background:#fff;display:block}
.band .bt{flex:1 1 0;min-width:0}.band .bt b{font:800 1.1rem/1.15 Sora,sans-serif;letter-spacing:.05em}.band .bt span{display:none}
.band .r{flex:1 0 100%;margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.band .r a{display:inline-flex!important;align-items:center}
.band .grp{flex:1 1 auto;white-space:normal;text-align:center;justify-content:center;font:700 .6rem/1.3 "Plus Jakarta Sans",sans-serif;letter-spacing:.04em;padding:6px 10px;border-radius:14px;margin:0}
.band .r a:not(.grp){font-size:.95rem;font-weight:700;white-space:nowrap;text-decoration:underline}
}

@media(max-width:900px){header .logo span{color:#fff}}
.rfth{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px;margin:8px 0 14px}.rfth button{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--bg);opacity:.75}.rfth button:hover{opacity:1}.rfth button.on{border-color:var(--g);opacity:1}.rfth img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.rkm{display:grid;gap:2px;height:130px;background:#000}.rkm2{grid-template-columns:1fr 1fr}.rkm3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.rkm3 img:first-child{grid-row:1/3}.rkm img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;transition:transform .4s}.rk:hover .rkm img{transform:scale(1.04)}
/* V86 vignettes */
.rs .rk{padding:0;gap:0;overflow:hidden;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);box-shadow:0 1px 2px rgba(0,0,0,.04);transition:box-shadow .25s,transform .25s,border-color .25s}
.rs .rk.go:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cc) 55%,var(--line));box-shadow:0 14px 28px -12px color-mix(in srgb,var(--cc) 60%,transparent)}
.rs .rkb{margin:0;width:100%;border-radius:0}
.rs .rkb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}
.rs .rkb span{z-index:2;background:rgba(10,14,12,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25)}
.rkm{gap:2px;background:#fff}
.rkn{height:130px;display:grid;place-items:center;color:color-mix(in srgb,var(--cc) 70%,var(--ink,#111));background:radial-gradient(circle at 25% 20%,color-mix(in srgb,var(--cc) 26%,var(--surface,#fff)),color-mix(in srgb,var(--cc) 10%,var(--surface,#fff)) 70%)}
.rkn svg{opacity:.8}
.rkt{display:flex;flex-direction:column;gap:3px;padding:12px 16px 14px;flex:1;background:color-mix(in srgb,var(--cc) 6%,var(--surface,#fff));border-top:3px solid var(--cc)}
.rs .rkc{color:color-mix(in srgb,var(--cc) 55%,var(--ink,#111));font-size:.72rem!important;font-weight:800;letter-spacing:.07em}
.rs .rk b{font-size:1rem}
.rki{font-size:.8rem;color:var(--muted);font-weight:500}
.rs .rkv{margin-top:auto;padding-top:8px;color:var(--g);font-weight:700;font-size:.85rem}
.rkv i{display:inline-block;font-style:normal;transition:transform .2s}.rk:hover .rkv i{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.rs .rk.go:hover{transform:none}}
/* V87 familles + fiche */
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:6px 0 20px}
@media(max-width:1000px){.fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.ft{position:relative;text-align:left;border:1px solid color-mix(in srgb,var(--cc) 30%,var(--line));border-radius:18px;padding:16px;min-height:150px;background:linear-gradient(150deg,color-mix(in srgb,var(--cc) 14%,var(--surface,#fff)),var(--surface,#fff) 72%);display:flex;flex-direction:column;cursor:pointer;color:var(--ink,#111);font:inherit;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s}
.ft:hover{transform:translateY(-3px);box-shadow:0 16px 30px -16px color-mix(in srgb,var(--cc) 70%,transparent)}
.ft.on{background:color-mix(in srgb,var(--cc) 72%,#000);border-color:var(--cc);color:#fff;box-shadow:0 16px 30px -14px color-mix(in srgb,var(--cc) 70%,transparent)}
.fti{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--cc) 20%,var(--surface,#fff));color:color-mix(in srgb,var(--cc) 70%,var(--ink,#111))}.fti svg{width:26px;height:26px;opacity:1}
.ft.on .fti{background:rgba(255,255,255,.2);color:#fff}
.ft b{font:800 1.05rem/1.2 "Plus Jakarta Sans",sans-serif;margin-top:auto;padding-top:14px}
.ftn{font-size:.82rem;opacity:.75;margin-top:2px}
.fts{position:absolute;right:14px;top:16px;display:flex}.fts img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid var(--surface,#fff);margin-left:-10px;pointer-events:none}
.fpanel{scroll-margin-top:90px;border-radius:20px;overflow:hidden;margin-top:0}
.fph{display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(120deg,color-mix(in srgb,var(--cc) 22%,var(--surface,#fff)),var(--surface,#fff) 75%);border-bottom:1px solid var(--line)}
.rs .fph h3{display:block;margin:0;font:800 1.3rem "Plus Jakarta Sans",sans-serif}.fph p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.fpx{margin-left:auto;flex:none;border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink,#111);border-radius:999px;padding:7px 14px;font:700 .85rem "Plus Jakarta Sans",sans-serif;cursor:pointer}.fpx:hover{border-color:var(--g)}
#rf{width:min(740px,94vw);border-radius:24px}
.rfh2{position:relative;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--cc) 70%,#000),color-mix(in srgb,var(--cc) 38%,#000))}
.rfh2 .rfg{margin:0;border-radius:0;aspect-ratio:16/10}
.rfh2.nop{min-height:220px;display:flex;align-items:flex-end}.rfn{position:absolute;right:26px;top:26px;opacity:.22}.rfn svg{width:120px;height:120px}
.rfov{position:absolute;left:0;right:0;bottom:0;padding:80px 26px 20px;background:linear-gradient(transparent,rgba(5,10,8,.85));pointer-events:none}
.nop .rfov{position:relative;background:none;padding:80px 26px 24px;width:100%}
.rfov h3{font:800 clamp(1.5rem,4vw,2.15rem)/1.12 Sora,"Plus Jakarta Sans",sans-serif;margin:10px 0 6px;color:#fff;text-wrap:balance}.rfov p{margin:0;opacity:.92;font-weight:600}
.rfh2 .rfx{z-index:6;top:14px;right:14px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rfh2 .rga{z-index:4}.rfh2 .rgc{bottom:auto;top:16px;right:auto;left:16px;z-index:4}
.rfh2 .rfc span{background:rgba(255,255,255,.2);backdrop-filter:blur(6px)}
.rfb{padding:18px 26px 20px}
.rfd{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rfd div{flex-direction:column;gap:4px;background:color-mix(in srgb,var(--cc) 6%,var(--surface,#fff));border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.rfd div:first-child{grid-column:1/-1}
.rfd dt{flex:none;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.rfd dd{font-size:1rem}
@media(max-width:520px){.rfd{grid-template-columns:1fr}.rfb{padding:16px 18px}.rfov{padding:60px 18px 16px}}
.rfa{position:sticky;bottom:0;background:var(--surface,#fff);padding:14px 0 6px;margin-top:16px;border-top:1px solid var(--line)}
/* V88 fiche split */
#rf{width:min(1000px,95vw);border-radius:26px}
.rfw{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.rfL{background:linear-gradient(160deg,color-mix(in srgb,var(--cc) 55%,#000),#0b0f0d);padding:0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.rfL .rfg{margin:0;border-radius:0;aspect-ratio:4/3}
.rfL .rfth{margin:0;padding:10px 12px 12px;grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}
.rfL .rfth button{opacity:.6;border-radius:10px}.rfL .rfth button.on{border-color:#fff;opacity:1}
.rfL.nop{min-height:340px;align-items:center}.rfL .rfn{position:static;opacity:.35;color:#fff}.rfL .rfn svg{width:130px;height:130px}
.rfR{padding:30px 30px 22px;display:flex;flex-direction:column;gap:0;min-width:0}
.rfR .rfc{padding-right:44px;margin-bottom:14px}
.rfR .rfc span{background:color-mix(in srgb,var(--c) 16%,var(--surface,#fff));color:color-mix(in srgb,var(--c) 55%,var(--ink,#111));backdrop-filter:none;font-weight:700}
.rfR h3{font:800 clamp(1.5rem,2.6vw,2.1rem)/1.12 Sora,"Plus Jakarta Sans",sans-serif;margin:0 0 10px;color:var(--ink,#111);text-wrap:balance}
.rfloc{display:flex;align-items:center;gap:7px;margin:0 0 22px;color:var(--muted);font-weight:600}.rfloc svg{color:var(--cc);flex:none}
.rfR .rfd{grid-template-columns:1fr;gap:8px;margin:0}
.rfR .rfd div{flex-direction:row;align-items:center;gap:14px;padding:12px 14px}
.rfR .rfd div:first-child{grid-column:auto}
.rfi{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--cc) 18%,var(--surface,#fff));color:color-mix(in srgb,var(--cc) 70%,var(--ink,#111))}
.rfv{display:flex;flex-direction:column;gap:2px;min-width:0}.rfv dt{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.rfv dd{margin:0;font-weight:700;font-size:.98rem;overflow-wrap:anywhere}
.rfR .rfpl,.rfR .rfpi,.rfR .rft{margin-top:12px}
.rfR .rfa{margin-top:auto;position:static;border-top:0;padding:20px 0 0}
.rfw .rfx{z-index:6;top:16px;right:16px;background:var(--surface,#fff);color:var(--ink,#111);border:1px solid var(--line);box-shadow:0 4px 14px -6px rgba(0,0,0,.3)}
.rfs{padding:18px 30px 26px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--cc) 4%,var(--surface,#fff))}
.rfs h4{margin:0 0 12px;font:800 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rfsl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rfsl button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink,#111);border-radius:14px;padding:8px;cursor:pointer;font:inherit;min-width:0;transition:transform .2s,box-shadow .2s}
.rfsl button:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px color-mix(in srgb,var(--cc) 70%,transparent)}
.rfsl img,.rfsn{flex:none;width:52px;height:52px;border-radius:10px;object-fit:cover;pointer-events:none}.rfsn{display:grid;place-items:center;background:color-mix(in srgb,var(--cc) 16%,var(--surface,#fff));color:color-mix(in srgb,var(--cc) 70%,var(--ink,#111))}.rfsn svg{width:26px;height:26px}
.rfsl span:last-child{display:flex;flex-direction:column;min-width:0}.rfsl small{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}.rfsl b{font-size:.88rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media(max-width:820px){.rfw{grid-template-columns:1fr}.rfL.nop{min-height:180px}.rfR{padding:22px 20px 18px}.rfs{padding:16px 20px 22px}.rfsl{grid-template-columns:1fr}.rfw .rfx{background:rgba(0,0,0,.55);color:#fff;border:0}}
.rfL{justify-content:flex-start}.rfL.nop{justify-content:center}

/* V89 recherche, kpis, tuiles photo, département */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 20px}.kpis div{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:linear-gradient(150deg,color-mix(in srgb,var(--g) 9%,var(--surface,#fff)),var(--surface,#fff))}.kpis b{display:block;font:800 clamp(1.6rem,3.4vw,2.4rem)/1 Sora,"Plus Jakarta Sans",sans-serif;color:var(--g);font-variant-numeric:tabular-nums}.kpis span{font-size:.82rem;color:var(--muted);font-weight:600}
@media(max-width:640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fsearch{position:relative;margin:0 0 16px}.fsearch svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.fsearch input{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:999px;padding:14px 18px 14px 46px;font:inherit;background:var(--surface,#fff);color:var(--ink,#111);transition:border-color .2s,box-shadow .2s}.fsearch input:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 4px color-mix(in srgb,var(--g) 18%,transparent)}
.fnone{padding:24px 20px;color:var(--muted);margin:0}
.ft{position:relative;overflow:hidden}.ft .ftb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}.ft.hasb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 30%,rgba(0,0,0,.15)) 0%,rgba(5,10,8,.82) 100%)}
.ft.hasb{color:#fff;border-color:transparent}.ft.hasb:hover .ftb{transform:scale(1.07)}.ft.hasb .fti{position:relative;z-index:1;background:rgba(255,255,255,.2);color:#fff}.ft.hasb b,.ft.hasb .ftn{position:relative;z-index:1;color:#fff}.ft.hasb.on{box-shadow:0 0 0 3px var(--cc)}
.ft.z{opacity:.45}
.fpd{flex:none;border:0;border-radius:999px;background:var(--g);color:#fff;padding:7px 12px;font:700 .8rem "Plus Jakarta Sans",sans-serif;cursor:pointer;margin-left:auto}.fpd+.fpx{margin-left:0}
.cpin{flex:1 1 auto;min-width:0;border:1.5px solid var(--g);border-radius:999px;padding:10px 14px;font:inherit;font-size:.8rem}
.leaflet-tooltip{font-weight:700}
.qbub .kw{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.qbub .kw span{font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#b91c1c;border:1.5px solid currentColor;border-radius:999px;padding:3px 10px}
.sat-toggle-link{display:block;width:30px;height:30px;line-height:30px;text-align:center;font-size:16px;text-decoration:none;cursor:pointer}
.mailc h3{font-size:1.3rem;margin:0 0 4px}.mailc .mhint{margin:0 0 14px;color:var(--muted)}
.mseg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.mseg button{border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:9px 16px;font:700 .9rem "Plus Jakarta Sans",sans-serif;cursor:pointer}.mseg button.on{background:var(--g);border-color:var(--g);color:#fff}
.mpv{margin:0 0 10px;display:grid;gap:6px}.mpv div{display:flex;gap:12px;align-items:baseline}.mpv dt{flex:none;width:52px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.mpv dd{margin:0;font-weight:700;min-width:0;overflow-wrap:anywhere}
.mbd{white-space:pre-wrap;font:inherit;font-size:.95rem;line-height:1.55;background:var(--bg);border:1.5px dashed var(--line);border-radius:14px;padding:16px;margin:0 0 14px;overflow-wrap:anywhere}
.mact{display:flex;gap:10px;flex-wrap:wrap}.mact .btn{text-decoration:none}
.mailc{color:var(--ink)}.mailc h3,.mailc dd,.mailc .mbd{color:var(--ink)}.mailc .mbd{opacity:1}
.mact .btn{flex:1 1 220px;justify-content:center;text-align:center}.mact .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
/* V99 contact */
.ctpage .cth{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:34px;align-items:end;margin-bottom:34px}
.ctpage h2{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;margin:6px 0 16px;text-wrap:balance}
.ctq{display:grid;gap:12px}.ctqa{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;transition:transform .2s,background .2s}.ctqa:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}.ctqa svg{flex:none;width:26px;height:26px;padding:10px;box-sizing:content-box;border-radius:50%;background:#fff;color:#0b5d1a}.ctqa span{display:grid;gap:2px}.ctqa small{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-weight:700}.ctqa b{font:800 1.3rem "Sora","Plus Jakarta Sans",sans-serif}
.ctg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ctc{position:relative;overflow:hidden;background:var(--surface);color:var(--ink);border-radius:26px;padding:26px;display:grid;gap:16px;box-shadow:0 24px 50px -28px rgba(0,0,0,.6)}
.ctc::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#028503,#7bd16a)}.ctc.c2::before{background:linear-gradient(90deg,#0f766e,#5eead4)}
.ctc-h{display:flex;align-items:center;gap:16px}.ctn{flex:none;display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--g) 12%,var(--surface));color:var(--g);font:800 1.9rem "Sora","Plus Jakarta Sans",sans-serif}.ctc.c2 .ctn{color:#0f766e;background:#e0f5f1}
.ctz{display:block;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}.ctc h3{margin:2px 0 0;font:800 1.7rem/1.1 "Sora","Plus Jakarta Sans",sans-serif}
.cta1{margin:0;color:var(--ink);line-height:1.5}
.cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ctb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:16px;border:1.5px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;text-align:center;transition:transform .2s,border-color .2s,background .2s}.ctb:hover{transform:translateY(-2px);border-color:var(--g)}.ctb.pri{background:var(--g);border-color:var(--g);color:#fff}.ctc.c2 .ctb.pri{background:#0f766e;border-color:#0f766e}
.ctm{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 10px 16px;border-radius:14px;background:var(--bg)}.ctm code{font:600 .95rem "Plus Jakarta Sans",sans-serif;overflow-wrap:anywhere;color:var(--ink)}.ctcp{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--g);font:700 .85rem "Plus Jakarta Sans",sans-serif;cursor:pointer;padding:6px 8px;border-radius:10px}.ctcp:hover{background:color-mix(in srgb,var(--g) 10%,transparent)}
.ctn2{margin:26px auto 0;max-width:64ch;text-align:center;color:rgba(255,255,255,.75)}
@media(max-width:860px){.ctpage .cth,.ctg{grid-template-columns:1fr}.ctc{padding:22px}.cta{grid-template-columns:1fr 1fr 1fr}}
.cta{grid-template-columns:1fr 1.4fr}
.ctm{display:grid;gap:8px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 14%,var(--surface)),color-mix(in srgb,var(--g) 5%,var(--surface)));border:1.5px solid color-mix(in srgb,var(--g) 30%,transparent)}.ctc.c2 .ctm{background:linear-gradient(135deg,#d9f3ee,#f0fbf9);border-color:#9fdcd2}
.ctml{display:flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--g)}.ctc.c2 .ctml{color:#0f766e}
.ctmail{font:800 clamp(1.15rem,2.4vw,1.5rem)/1.2 "Sora","Plus Jakarta Sans",sans-serif;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.ctmail:hover{text-decoration:underline}
.ctm .ctcp{justify-self:start;background:var(--g);color:#fff;padding:9px 14px}.ctc.c2 .ctm .ctcp{background:#0f766e}.ctm .ctcp:hover{filter:brightness(1.1)}

/*CKB*/
.ckw{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;background:rgba(5,14,8,.55);backdrop-filter:blur(3px)}
.ckd{width:min(560px,100%);max-height:calc(100% - 24px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);display:grid;gap:16px}
.ckd h2{font-size:1.45rem;margin:0}.ckd p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.ckm{display:grid;gap:10px}.ckr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg);cursor:pointer}.ckr b{display:block;font-size:.95rem}.ckr small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4;margin-top:2px}.ckr input{flex:none;width:22px;height:22px;accent-color:var(--g)}
.ckb{display:flex;flex-wrap:wrap;gap:10px}.ckb button{flex:1 1 140px;font:700 .95rem "Plus Jakarta Sans",system-ui,sans-serif;padding:13px 16px;border-radius:14px;cursor:pointer;border:1.5px solid var(--g);background:transparent;color:var(--ink)}
.ckb .cky{background:var(--g);color:#fff}.ckb .ckn{border-color:var(--g);background:var(--g);color:#fff}.ckb .ckc{border-color:var(--line)}.ckb button:hover{filter:brightness(1.08)}.ckb button:focus-visible,.ckl:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.ckl{justify-self:start;font-size:.85rem;color:var(--muted)}
html.ck-open{overflow:hidden}
@media(max-width:480px){.ckd{padding:20px;border-radius:20px}.ckb button{flex-basis:100%}}


/*BUBX*/
.qbub.bth{border:2px solid var(--bc,#b08d3c);border-top:8px solid var(--bc,#b08d3c);box-shadow:0 0 0 6px color-mix(in srgb,var(--bc,#b08d3c) 24%,transparent),0 30px 56px -16px rgba(0,0,0,.6)}
.qbub.bth::after{border-color:var(--bc,#b08d3c)}
.qbub.bth .gk{display:inline-block;background:var(--bc,#b08d3c);color:#fff;border-radius:999px;padding:4px 12px;letter-spacing:.1em}
.qbub.bth h4{font-size:1.5rem;margin:9px 0 6px;color:#0f1f12}
.hero .qbub.bth h4{font-size:1.6rem}
.qbub.bth .mt em{background:var(--bc,#1d5a24)}
.qbub.bth .bx{color:var(--bc,#8a6c1c);font-size:1.5rem}
.qbub.bth.pop{animation:bubx .6s cubic-bezier(.2,.9,.2,1)}
@keyframes bubx{0%{opacity:0;transform:translateY(16px) scale(.9)}55%{opacity:1;transform:scale(1.035)}100%{opacity:1;transform:none}}
#qld line{stroke:var(--lc,#b08d3c);stroke-width:2.6;stroke-dasharray:6 4}
#qld circle{stroke:var(--lc,#b08d3c)}#qld circle:nth-of-type(1){fill:color-mix(in srgb,var(--lc,#b08d3c) 24%,transparent);stroke-width:2.4}#qld circle:nth-of-type(2){fill:var(--lc,#b08d3c)}
@media(max-width:900px){.qbub.bth{border-top-width:6px}.qbub.bth h4{font-size:1.2rem}.qbub.bth .gk{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.qbub.bth.pop{animation:none}}

/*PTX*/
.bm-plan{filter:grayscale(1) contrast(.62) brightness(1.3);opacity:.62}
#lmap{background:#eef2f1!important}
.leaflet-overlay-pane path.ptx{filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.cl{width:46px!important;height:46px!important;border-width:4px!important;box-shadow:0 0 0 3px rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.5)!important;font-size:1.05rem!important}
.cl:hover{transform:scale(1.1)}
