@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/roboto-400.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/roboto-500.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/bricolage.woff2) format("woff2")}
/* Fondation LEKPA — Material 3 « expressif » : grandes formes, typographie affirmée, couleurs du Cameroun */
:root{
  --primary:#0a58aa;--on-primary:#fff;--primary-container:#d6e3ff;--on-primary-container:#001b3e;
  --secondary:#9a4f00;--on-secondary:#fff;--secondary-container:#ffdcc2;--on-secondary-container:#301400;
  --tertiary:#bb0d27;--on-tertiary:#fff;--tertiary-container:#ffdad8;--on-tertiary-container:#410006;
  --surface:#f8f9ff;--on-surface:#181c22;--on-surface-variant:#43474f;--outline:#73777f;--outline-variant:#c3c6cf;
  --sc-lowest:#fff;--sc-low:#f0f3fa;--sc:#eaeef6;--sc-high:#e4e8f0;--sc-highest:#dee2ea;
  --deep:#06285a;--deep-2:#0a3d84;--gold:#fec502;--orange:#fe8802;--red:#f8012e;--green:#31ab29;--blue:#0068c0;
  --font-display:"Bricolage Grotesque",Roboto,system-ui,sans-serif;
  --shadow-1:0 1px 2px rgb(0 0 0/.14),0 1px 3px 1px rgb(0 0 0/.08);
  --shadow-2:0 2px 4px rgb(0 0 0/.12),0 6px 16px 2px rgb(0 0 0/.1);
  --shadow-3:0 12px 32px rgb(4 41 26/.22);
  --r-s:12px;--r-m:20px;--r-l:32px;--r-xl:48px;--max:1200px;--ease:cubic-bezier(.2,0,0,1);
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M28 6 50 28 28 50 6 28Z' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3Ccircle cx='28' cy='28' r='3.5' fill='%23fff'/%3E%3C/svg%3E");
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --primary:#a9c7ff;--on-primary:#002f65;--primary-container:#00458f;--on-primary-container:#d6e3ff;
  --secondary:#ffb784;--on-secondary:#502400;--secondary-container:#6f3400;--on-secondary-container:#ffdcc2;
  --tertiary:#ffb3b0;--on-tertiary:#68000f;--tertiary-container:#93001c;--on-tertiary-container:#ffdad8;
  --surface:#0e1319;--on-surface:#e0e2ea;--on-surface-variant:#c3c6cf;--outline:#8d9199;--outline-variant:#43474e;
  --sc-lowest:#090d12;--sc-low:#151a21;--sc:#191e25;--sc-high:#232830;--sc-highest:#2e333b}}
:root[data-theme=dark]{
  --primary:#a9c7ff;--on-primary:#002f65;--primary-container:#00458f;--on-primary-container:#d6e3ff;
  --secondary:#ffb784;--on-secondary:#502400;--secondary-container:#6f3400;--on-secondary-container:#ffdcc2;
  --tertiary:#ffb3b0;--on-tertiary:#68000f;--tertiary-container:#93001c;--on-tertiary-container:#ffdad8;
  --surface:#0e1319;--on-surface:#e0e2ea;--on-surface-variant:#c3c6cf;--outline:#8d9199;--outline-variant:#43474e;
  --sc-lowest:#090d12;--sc-low:#151a21;--sc:#191e25;--sc-high:#232830;--sc-highest:#2e333b;color-scheme:dark}
:root[data-theme=light]{color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;font:400 1.0625rem/1.7 Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--surface);color:var(--on-surface);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%}
a{color:var(--primary)}
h1,h2,h3{font-family:var(--font-display);line-height:1.05;margin:0 0 .5em;font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(2.05rem,6vw,4.6rem)}
h2{font-size:clamp(2rem,4.6vw,3.4rem)}
h3{font-size:1.4rem;letter-spacing:-.02em;line-height:1.2}
p{margin:0 0 1em}
.wrap{width:min(100% - 32px,var(--max));margin-inline:auto}
.icon{width:24px;height:24px;fill:currentColor;flex:none;vertical-align:middle}
.skip{position:absolute;left:-999px;top:8px;background:var(--primary);color:var(--on-primary);padding:12px 20px;border-radius:var(--r-s);z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}
::selection{background:var(--gold);color:#1a1400}

/* ───── Barre flottante en verre ───── */
.appbar{position:sticky;top:12px;z-index:50;margin:12px 0 -76px;pointer-events:none}
.bar{pointer-events:auto;display:flex;align-items:center;gap:6px;width:min(100% - 24px,var(--max));margin-inline:auto;padding:8px 10px 8px 14px;border-radius:100px;background:color-mix(in srgb,var(--sc-lowest) 78%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 0 0 1px color-mix(in srgb,var(--on-surface) 10%,transparent),var(--shadow-2);transition:background .3s}
.appbar.scrolled .bar{background:color-mix(in srgb,var(--sc-lowest) 92%,transparent)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--on-surface);font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1.1;margin-right:auto;letter-spacing:-.02em}
.brand small{display:block;font:400 .72rem/1.2 Roboto,sans-serif;color:var(--on-surface-variant);letter-spacing:.02em}
.logo{width:54px;height:54px;flex:none;margin:-4px 0}
.nav{display:flex;gap:2px}
.nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:100px;text-decoration:none;color:var(--on-surface-variant);font-weight:500;font-size:.95rem;transition:background .2s,color .2s}
.nav a .icon{width:20px;height:20px}
.nav a:hover{background:color-mix(in srgb,var(--on-surface) 8%,transparent)}
.nav a[aria-current=page]{background:var(--deep);color:#fff}
:root[data-theme=dark] .nav a[aria-current=page]{background:var(--primary);color:var(--on-primary)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nav a[aria-current=page]{background:var(--primary);color:var(--on-primary)}}
.icon-btn{width:46px;height:46px;border:0;border-radius:50%;background:none;color:var(--on-surface-variant);cursor:pointer;display:inline-grid;place-items:center;transition:background .2s}
.icon-btn:hover{background:color-mix(in srgb,var(--on-surface) 8%,transparent)}
.flag{display:flex;height:6px}.flag i{flex:1}.flag i:nth-child(1){background:var(--blue)}.flag i:nth-child(2){background:var(--red)}.flag i:nth-child(3){background:var(--orange)}.flag i:nth-child(4){background:var(--green)}

/* ───── Navigation mobile (barre du bas) ───── */
.bottomnav{display:none}
@media (max-width:760px){
  .nav{display:none}
  .brand small{display:none}
  body{padding-bottom:88px}
  .bottomnav{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:color-mix(in srgb,var(--sc-lowest) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:8px;border-radius:28px;box-shadow:0 0 0 1px color-mix(in srgb,var(--on-surface) 10%,transparent),var(--shadow-3)}
  .bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--on-surface-variant);font-size:.72rem;font-weight:500;padding:4px 0}
  .bottomnav a .pill{display:grid;place-items:center;width:60px;height:30px;border-radius:15px;transition:background .25s var(--ease)}
  .bottomnav a[aria-current=page]{color:var(--on-surface)}
  .bottomnav a[aria-current=page] .pill{background:var(--gold);color:#1a1400}
  .fab{bottom:104px!important}
}

/* ───── Boutons ───── */
.btn{--bg:var(--primary);--fg:var(--on-primary);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border:0;border-radius:100px;background:var(--bg);color:var(--fg);font:500 1rem/1 Roboto,sans-serif;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow .25s,transform .25s var(--ease)}
.btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}
.btn.gold{--bg:var(--gold);--fg:#1a1400}
.btn.tonal{--bg:var(--secondary-container);--fg:var(--on-secondary-container)}
.btn.glass{--bg:rgb(255 255 255/.12);--fg:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255/.35)}
.btn.glass:hover{--bg:rgb(255 255 255/.2)}
.btn.outlined{--bg:transparent;--fg:var(--primary);box-shadow:inset 0 0 0 1.5px var(--outline)}
.btn.outlined:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}
.btn.text{--bg:transparent;--fg:var(--primary);padding-inline:16px}
.btn.text:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);box-shadow:none;transform:none}
.btn .icon{width:20px;height:20px;transition:transform .25s var(--ease)}
.btn:hover .icon:last-child{transform:translateX(3px)}
.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.2;transform:scale(0);animation:rip .6s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(4);opacity:0}}
.fab{position:fixed;right:20px;bottom:24px;z-index:55;width:56px;height:56px;border:0;border-radius:18px;background:var(--gold);color:#1a1400;box-shadow:var(--shadow-3);cursor:pointer;display:grid;place-items:center;opacity:0;transform:scale(.6);pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}
.fab.show{opacity:1;transform:none;pointer-events:auto}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ───── Hero (sombre, immersif) ───── */
.dark-zone{position:relative;overflow:hidden;color:#fff;background:var(--deep);isolation:isolate}
.dark-zone::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(55% 70% at 88% 12%,rgb(254 150 2/.22),transparent 65%),
  radial-gradient(60% 70% at 5% 100%,rgb(248 1 46/.28),transparent 65%),
  radial-gradient(80% 90% at 50% 0%,var(--deep-2),transparent 70%)}
.dark-zone::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--pattern) 0 0/56px;opacity:.045;-webkit-mask-image:linear-gradient(120deg,#000,transparent 70%);mask-image:linear-gradient(120deg,#000,transparent 70%)}
.hero{padding:clamp(120px,16vw,190px) 0 0}
.hero-grid>*{min-width:0}
.hero-grid{display:grid;gap:32px;align-items:center;grid-template-columns:1.1fr .9fr;padding-bottom:clamp(48px,7vw,96px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 12px;border-radius:100px;background:rgb(255 255 255/.1);box-shadow:inset 0 0 0 1px rgb(255 255 255/.22);color:#fff;font-weight:500;font-size:.88rem;margin-bottom:24px;backdrop-filter:blur(8px)}
.eyebrow .icon{width:18px;height:18px;color:var(--gold)}
.hero h1{margin-bottom:.35em}
.hero h1 em{font-style:normal;color:var(--gold);background:linear-gradient(var(--red),var(--red)) 0 100%/100% .13em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em;animation:draw 1s .5s var(--ease) both}
@keyframes draw{from{background-size:0 .13em}}
.hero p.lead{font-size:clamp(1.1rem,2vw,1.35rem);color:rgb(255 255 255/.82);max-width:640px;line-height:1.6}
.pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:36px 0 0}
.pills li{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:100px;background:rgb(255 255 255/.08);box-shadow:inset 0 0 0 1px rgb(255 255 255/.18);font-size:.9rem;font-weight:500}
.pills .icon{width:18px;height:18px;color:var(--gold)}
.hero-art{position:relative;justify-self:center;width:min(100%,460px);aspect-ratio:1}
.hero-art .blob{position:absolute;inset:2%;background:#fff;border-radius:42% 58% 62% 38% / 45% 40% 60% 55%;animation:morph 14s ease-in-out infinite alternate;box-shadow:0 30px 60px rgb(0 0 0/.35),0 0 0 14px rgb(255 255 255/.08)}
.hero-art img{position:absolute;inset:11%;width:78%;height:78%;object-fit:contain}
@keyframes morph{to{border-radius:58% 42% 38% 62% / 55% 60% 40% 45%}}
@keyframes float{50%{transform:translateY(-10px)}}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-art{width:min(86%,340px);order:-1}.hero{padding-top:110px}}

/* bandeau défilant */
.marquee{overflow:hidden;border-block:1px solid rgb(255 255 255/.14);background:rgb(255 255 255/.04);padding:18px 0}
.marquee-track{display:flex;width:max-content;animation:scroll 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,2.4vw,1.7rem);letter-spacing:-.01em;color:rgb(255 255 255/.9);white-space:nowrap}
.marquee span::after{content:"";width:14px;height:14px;background:var(--gold);transform:rotate(45deg);border-radius:3px}
.marquee span:nth-child(3n)::after{background:var(--red)}.marquee span:nth-child(3n+1)::after{background:var(--green)}.marquee span:nth-child(3n+2)::after{background:var(--orange)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ───── Sections ───── */
section{padding:clamp(56px,8vw,112px) 0}
.alt{background:var(--sc-low)}
.tight{padding-top:clamp(32px,5vw,64px)}
.section-head{max-width:780px;margin-bottom:48px}
.section-head p{color:var(--on-surface-variant);font-size:1.15rem}
.kicker{display:inline-block;font:500 .8rem/1 Roboto,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin-bottom:16px}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}

/* À la une */
.feature{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(135deg,var(--gold),var(--orange));color:#1a1400;text-decoration:none;box-shadow:var(--shadow-3);isolation:isolate}
.feature-media{position:relative;display:grid;place-items:center;min-height:300px;background:var(--deep);color:var(--gold)}
.feature-media::before{content:"";position:absolute;inset:0;background:var(--pattern) 0 0/56px;opacity:.12}
.feature-media .icon{position:relative;width:128px;height:128px}
.feature-body{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.feature-body h2{font-size:clamp(1.9rem,4vw,3rem);margin-bottom:.4em}
.feature-body p{max-width:520px;opacity:.85}
.feature .chip{border-color:rgb(26 20 0/.5);color:#1a1400}
.feature .btn{--bg:var(--deep);--fg:#fff;align-self:flex-start;margin-top:12px}
@media (max-width:760px){.feature{grid-template-columns:1fr;border-radius:var(--r-l)}.feature-media{min-height:180px}.feature-media .icon{width:88px;height:88px}}

/* Histoire */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start}
.split .section-head{position:sticky;top:110px;margin:0}
.split .stack{display:grid;gap:24px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split .section-head{position:static;margin-bottom:8px}}
.person{position:relative;overflow:hidden;padding:clamp(24px,4vw,40px);border-radius:var(--r-xl);background:var(--sc-lowest);box-shadow:var(--shadow-1);display:flex;flex-direction:column;align-items:flex-start}
.alt .person{background:var(--sc-lowest)}
.person::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--primary-container);opacity:.55;z-index:0}
.person>*{position:relative;z-index:1}
.person-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.avatar{width:84px;height:84px;border-radius:30% 70% 70% 30% / 30% 30% 70% 70%;display:grid;place-items:center;font:700 1.8rem var(--font-display);background:var(--deep);color:var(--gold);flex:none}
.person.b .avatar{background:var(--red);color:#fff;border-radius:70% 30% 30% 70% / 60% 40% 60% 40%}
.person.b::after{background:var(--secondary-container)}
.person h3,.person h2{margin:0;font-size:1.6rem}.person-head p{margin:0;color:var(--on-surface-variant)}
.person .btn{margin-top:auto}

/* Cartes réalisations */
.card{position:relative;background:var(--sc-lowest);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:box-shadow .3s,transform .3s var(--ease)}
a.card{text-decoration:none;color:inherit}
a.card:hover{box-shadow:var(--shadow-3);transform:translateY(-6px)}
.card-media{display:flex;align-items:center;justify-content:center;height:200px;background:var(--deep);color:var(--gold);position:relative;overflow:hidden}
.card-media::before{content:"";position:absolute;inset:0;background:var(--pattern) 0 0/56px;opacity:.1}
.card-media::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:currentColor;opacity:.1;right:-70px;top:-80px;transition:transform .5s var(--ease)}
a.card:hover .card-media::after{transform:scale(1.4)}
.card-media .icon{width:84px;height:84px;position:relative;transition:transform .4s var(--ease)}
a.card:hover .card-media .icon{transform:scale(1.1) rotate(-4deg)}
.card-media.s{background:#8f4a00;color:#ffe3c8}
.card-media.t{background:#8a0a22;color:#ffdad8}
.card-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1}
.card-body h3{font-size:1.45rem}
.card-body p{color:var(--on-surface-variant)}
.card-body .more{margin-top:auto;display:inline-flex;align-items:center;gap:10px;color:var(--primary);font-weight:500}
.card-body .more .icon{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--primary);color:var(--on-primary);transition:transform .25s var(--ease)}
a.card:hover .more .icon{transform:translateX(6px)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;min-height:30px;border-radius:100px;border:1px solid var(--outline);font-size:.8rem;font-weight:500;color:var(--on-surface-variant)}
.chip .icon{width:16px;height:16px}
.chip.new{background:var(--gold);color:#1a1400;border-color:transparent}
.chip.type{background:var(--deep);color:#fff;border-color:transparent}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chip.type{background:var(--primary-container);color:var(--on-primary-container)}}
:root[data-theme=dark] .chip.type{background:var(--primary-container);color:var(--on-primary-container)}

/* Pages intérieures */
.crumbs{padding:0 0 8px;font-size:.9rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;color:rgb(255 255 255/.7)}
.crumbs li+li::before{content:"›";margin-right:6px}
.crumbs a{color:rgb(255 255 255/.85)}
.page-hero{padding:clamp(120px,15vw,170px) 0 clamp(48px,7vw,88px);border-radius:0 0 var(--r-xl) var(--r-xl)}
.page-hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);max-width:980px;margin-top:20px}
.page-hero .lead{font-size:clamp(1.1rem,2vw,1.35rem);max-width:760px;margin:0;color:rgb(255 255 255/.82)}
.page-hero .person-head p{color:rgb(255 255 255/.7)}
.page-hero .avatar{background:var(--gold);color:#1a1400}
.article{max-width:780px;margin-inline:auto}
.article h2{margin-top:1.6em;font-size:clamp(1.6rem,3vw,2.1rem)}
.note{display:flex;gap:16px;padding:22px 26px;border-radius:var(--r-l);background:var(--secondary-container);color:var(--on-secondary-container);margin:0 0 32px}
.note p{margin:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 48px;padding:0;list-style:none}
.facts li{background:var(--sc-low);border-radius:var(--r-m);padding:18px 22px;font-weight:500}
.facts b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--on-surface-variant);font-weight:500;margin-bottom:2px}
.nextprev{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.faq-grid .section-head{position:sticky;top:110px;margin:0}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-grid .section-head{position:static;margin-bottom:8px}}
details{background:var(--sc-lowest);border-radius:var(--r-l);margin-bottom:12px;box-shadow:var(--shadow-1);overflow:hidden;transition:box-shadow .2s}
details[open]{box-shadow:var(--shadow-2)}
details summary{cursor:pointer;padding:22px 26px;font:600 1.1rem var(--font-display);letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sc-high);font:400 1.5rem/1 Roboto;color:var(--primary);flex:none;transition:transform .3s var(--ease),background .2s}
details[open] summary::after{transform:rotate(45deg);background:var(--gold);color:#1a1400}
details p{padding:0 26px 24px;margin:0;color:var(--on-surface-variant)}

/* Formulaire */
.field{display:block;margin-bottom:20px}
.field span{display:block;font-size:.85rem;color:var(--on-surface-variant);margin-bottom:6px;font-weight:500}
.field input,.field textarea{width:100%;padding:18px;font:inherit;color:inherit;background:var(--sc-high);border:0;border-bottom:2px solid var(--outline);border-radius:12px 12px 0 0;transition:background .2s}
.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--primary);background:var(--sc-highest)}

/* Appel à l'action */
.cta{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(48px,8vw,104px) 24px;border-radius:var(--r-xl);background:var(--deep);color:#fff;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(50% 80% at 90% 0%,rgb(254 150 2/.3),transparent 65%),radial-gradient(50% 80% at 0% 100%,rgb(248 1 46/.35),transparent 65%)}
.cta::after,.tm-section::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--pattern) 0 0/56px;opacity:.05;-webkit-mask-image:linear-gradient(120deg,#000,transparent 70%);mask-image:linear-gradient(120deg,#000,transparent 70%)}
.cta .btn{--bg:var(--gold);--fg:#1a1400}
.cta h2{max-width:760px}
.cta p{max-width:560px;color:rgb(255 255 255/.8);font-size:1.15rem}
.cta .actions{justify-content:center}

/* Pied de page */
footer{position:relative;background:var(--deep);color:rgb(255 255 255/.8);padding:0 0 28px;font-size:.98rem;margin-top:clamp(40px,6vw,80px);border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:hidden}
footer .flag{margin-bottom:56px}
footer .big{margin:0 0 40px;height:clamp(2.4rem,9vw,7rem);overflow:hidden}
footer .big::before{content:"LEKPA";display:block;font:800 clamp(2.4rem,9vw,7rem)/.95 var(--font-display);letter-spacing:-.04em;color:rgb(255 255 255/.08);white-space:nowrap}
.foot{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
footer h2{font-size:1.05rem;margin-bottom:14px;color:#fff;letter-spacing:0}
footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:8px}
footer a{color:rgb(255 255 255/.75);text-decoration:none}footer a:hover{color:var(--gold);text-decoration:underline}
.copy{margin-top:36px;padding-top:20px;border-top:1px solid rgb(255 255 255/.14);color:rgb(255 255 255/.6);font-size:.85rem}

/* Apparition */
.js .reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
@media print{.appbar,.actions,footer,.bottomnav,.fab,.marquee{display:none}.dark-zone{color:#000;background:#fff}}

/* Chronologie des projets */
.timeline{list-style:none;margin:0 0 24px;padding:0 0 0 28px;border-left:3px solid var(--outline-variant)}
.timeline li{position:relative;padding:22px 26px;margin:0 0 16px 22px;background:var(--sc-low);border-radius:var(--r-l)}
.timeline li::before{content:"";position:absolute;left:-54px;top:28px;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--surface),0 0 0 7px var(--deep)}
.timeline h3{font-size:1.2rem;margin:2px 0 4px}
.timeline p{margin:0;color:var(--on-surface-variant)}
.tl-date{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--primary)}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 24px;margin:14px 0 0;font-size:.92rem}
.roles div{display:flex;gap:6px;flex-wrap:wrap}.roles dt{font-weight:500;color:var(--on-surface-variant)}.roles dt::after{content:" :"}.roles dd{margin:0}
.tbd{color:var(--outline);font-style:italic}

/* Diaporama */
.slideshow{position:relative;margin:0 0 48px;border-radius:var(--r-xl);overflow:hidden;background:var(--sc-high);box-shadow:var(--shadow-3);aspect-ratio:16/9;max-height:600px;width:100%}
.slides,.slide{position:absolute;inset:0}
.slide{margin:0;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s}
.slide.active{opacity:1;visibility:visible}
.slide::before{content:"";position:absolute;inset:-40px;background:var(--bg) center/cover;filter:blur(30px) brightness(.5) saturate(1.2)}
.slide img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:72px 72px 40px;background:linear-gradient(transparent,rgb(0 0 0/.78));font:600 1.25rem/1.3 var(--font-display);display:flex;flex-direction:column;gap:4px}
.slide figcaption a{color:rgb(255 255 255/.8);text-decoration:none;font:400 .85rem Roboto,sans-serif;letter-spacing:.04em}.slide figcaption a:hover{text-decoration:underline;color:#fff}
.ss-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgb(255 255 255/.9);color:#1a1d1b;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-1)}
.ss-btn:hover{background:#fff}
.ss-btn.prev{left:14px}.ss-btn.prev .icon{transform:scaleX(-1)}.ss-btn.next{right:14px}
.ss-btn.play{top:14px;right:14px;left:auto;transform:none;width:40px;height:40px;font-size:.7rem;letter-spacing:-1px}
.dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.dot{width:10px;height:10px;padding:0;border:0;border-radius:99px;background:rgb(255 255 255/.5);cursor:pointer;transition:width .25s var(--ease)}
.dot.active{background:var(--gold);width:28px}
@media (max-width:600px){.slideshow{aspect-ratio:4/3;border-radius:var(--r-l)}.ss-btn{width:42px;height:42px}.slide figcaption{padding:48px 16px 40px;font-size:1rem}}

/* Carte */
.map{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-2);aspect-ratio:16/9;max-height:440px;background:var(--sc-high)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* Témoignages */
.tm-section{background:var(--deep);color:#fff;border-radius:var(--r-xl);margin-inline:12px;position:relative;overflow:hidden;isolation:isolate}
.tm-section::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(50% 70% at 100% 0%,rgb(254 150 2/.2),transparent 65%)}
.tm-section .kicker{color:var(--gold)}
.tm-section .section-head p{color:rgb(255 255 255/.75)}
.tm-wrap{position:relative}
.tm-list{display:grid;gap:20px}
.tm{background:var(--sc-lowest);color:var(--on-surface);border-radius:var(--r-xl);padding:clamp(24px,4vw,48px);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:22px;min-width:0}
.tm blockquote{margin:0;font:600 clamp(1.3rem,2.8vw,2rem)/1.3 var(--font-display);letter-spacing:-.02em;position:relative;padding-top:44px}
.tm blockquote::before{content:"“";position:absolute;top:-14px;left:-4px;font:800 6rem/1 Georgia,serif;color:var(--gold)}
.tm video,.tm audio{width:100%;border-radius:var(--r-m);background:var(--sc-high)}
.tm video,.tm iframe.yt{aspect-ratio:16/9;display:block}
.tm iframe{width:100%;border:0;border-radius:var(--r-m)}
.tm .pdf{height:420px;background:var(--sc-high)}
.tm-author{display:flex;align-items:center;gap:14px}
.tm-author .avatar{width:52px;height:52px;font-size:1.1rem}
.tm-author b{display:block;line-height:1.2}.tm-author small{color:var(--on-surface-variant)}
.tm-kind{margin-left:auto}
.js .tm-list .tm{display:none}.js .tm-list .tm.active{display:flex;animation:tmIn .5s var(--ease)}
@keyframes tmIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
.tm-ctrl{display:none;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.js .tm-ctrl{display:flex}
.tm-ctrl .count{margin-inline:auto;color:rgb(255 255 255/.75);font-weight:500}
.tm-ctrl .icon-btn{background:rgb(255 255 255/.12);color:#fff;width:52px;height:52px}
.tm-ctrl .icon-btn:hover{background:rgb(255 255 255/.22)}
.tm-ctrl .prev .icon{transform:scaleX(-1)}

/* Photos : vignettes de cartes, à la une, galerie, agrandissement */
.card-media.photo{height:230px;background:var(--sc-high)}
.card-media.photo::before,.card-media.photo::after{display:none}
.card-media.photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .6s var(--ease)}
a.card:hover .card-media.photo img{transform:scale(1.06)}
.feature-media.photo::before{display:none}
.feature-media.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:12px;margin:0 0 40px}
.g-item{padding:0;border:0;border-radius:var(--r-m);overflow:hidden;cursor:zoom-in;background:var(--sc-high);aspect-ratio:4/3;position:relative;display:block}
.g-item img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .5s var(--ease)}
.g-item:hover img{transform:scale(1.08)}
dialog.lightbox{border:0;padding:0;width:100%;max-width:none;height:100%;max-height:none;background:rgb(4 14 36/.95);color:#fff}
dialog.lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:16px}
dialog.lightbox::backdrop{background:rgb(0 0 0/.8)}
dialog.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
dialog.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--r-m)}
dialog.lightbox figcaption{text-align:center;max-width:720px;color:rgb(255 255 255/.85)}
.lb-close{position:absolute;top:16px;right:16px;background:rgb(255 255 255/.14);color:#fff}
.lb-nav{background:rgb(255 255 255/.14);color:#fff;width:52px;height:52px}
.lb-nav.prev .icon{transform:scaleX(-1)}
@media (max-width:600px){dialog.lightbox[open]{grid-template-columns:1fr;grid-template-rows:1fr auto;padding:12px}.lb-nav{position:absolute;bottom:20px}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.slide figcaption{padding-inline:16px}}

/* Encadré de réalisation : mini-diaporama automatique quand il y a plusieurs photos */
.mini-ss{position:absolute;inset:0}
.mini-ss img,.card-media.photo .mini-ss img,.feature-media.photo .mini-ss img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:0;transform:scale(1.03);transition:opacity 1s ease,transform 7s linear}
.mini-ss img.active,.card-media.photo .mini-ss img.active,.feature-media.photo .mini-ss img.active{opacity:1;transform:scale(1.1)}
a.card:hover .card-media.photo .mini-ss img.active{transform:scale(1.14)}
.ms-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.ms-dots i{width:6px;height:6px;border-radius:99px;background:rgb(255 255 255/.55);transition:width .3s var(--ease),background .3s;box-shadow:0 0 0 1px rgb(0 0 0/.15)}
.ms-dots i.active{width:20px;background:var(--gold)}

/* Dons */
.don-btn{min-height:44px;padding:10px 22px;font-size:.92rem;margin-left:4px}
@media (max-width:760px){.don-btn{display:none}}
.btn.big{min-height:60px;padding:18px 36px;font-size:1.1rem}
.don-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}
@media (max-width:860px){.don-grid{grid-template-columns:1fr}}
.don-card,.qr-card{background:var(--sc-lowest);border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);box-shadow:var(--shadow-2);display:flex;flex-direction:column}
.don-card{position:relative;overflow:hidden}
.don-card::after{content:"";position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--orange));opacity:.18}
.don-card .actions{margin:12px 0 20px}
.small{font-size:.9rem;color:var(--on-surface-variant)}
.qr-card{align-items:center;text-align:center}
.qr-card img{width:min(100%,280px);height:auto;border-radius:var(--r-m);background:#fff;padding:10px;box-shadow:inset 0 0 0 1px var(--outline-variant);image-rendering:pixelated;margin:8px 0 16px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:s}
.steps li{display:flex;gap:20px;align-items:flex-start;background:var(--sc-lowest);border-radius:var(--r-l);padding:22px 26px;box-shadow:var(--shadow-1)}
.steps .n{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#1a1400;font:700 1.3rem var(--font-display)}
.steps h3{margin:0 0 4px;font-size:1.15rem}.steps p{margin:0;color:var(--on-surface-variant)}
.support{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:48px 0 0;padding:clamp(22px,3vw,32px);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--gold),var(--orange));color:#1a1400}
.support h2{margin:0 0 4px!important;font-size:1.5rem!important}.support p{margin:0}
.support>div{flex:1;min-width:240px}
.support-ico{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgb(255 255 255/.45)}
.support .btn{--bg:var(--deep);--fg:#fff}

/* Articles : filtres */
.articles-sec{margin-top:56px}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0 24px;padding:18px;background:var(--sc-low);border-radius:var(--r-l)}
.filters label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px;font-size:.8rem;font-weight:500;color:var(--on-surface-variant)}
.filters select{font:inherit;font-size:1rem;color:var(--on-surface);padding:12px 14px;border:0;border-bottom:2px solid var(--outline);border-radius:12px 12px 0 0;background:var(--sc-high)}
.filters select:focus{outline:0;border-bottom-color:var(--primary);background:var(--sc-highest)}
.art-count{margin-left:auto;font-weight:500;color:var(--on-surface-variant);font-size:.9rem}
.art-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.art{background:var(--sc-lowest);border-radius:var(--r-l);padding:22px 26px;box-shadow:var(--shadow-1)}
.art[hidden]{display:none}
.art h3{font-size:1.2rem;margin:4px 0 6px}.art .src{color:var(--on-surface-variant);font-size:.92rem;margin:0 0 8px;font-style:italic}.art p{margin:0 0 8px}
.art-empty{padding:24px;text-align:center;color:var(--on-surface-variant);background:var(--sc-low);border-radius:var(--r-l)}

/* Sélecteur de langue */
.lang{display:flex;gap:2px;margin:0 4px 0 8px;padding:3px;border-radius:99px;background:var(--sc-high)}
.lang a{padding:7px 11px;border-radius:99px;font:500 .8rem/1 Roboto,sans-serif;text-decoration:none;color:var(--on-surface-variant);transition:background .2s,color .2s}
.lang a:hover{background:color-mix(in srgb,var(--on-surface) 10%,transparent)}
.lang a[aria-current]{background:var(--deep);color:#fff}
:root[data-theme=dark] .lang a[aria-current]{background:var(--primary);color:var(--on-primary)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lang a[aria-current]{background:var(--primary);color:var(--on-primary)}}
@media (max-width:760px){.lang{margin:0 2px 0 auto}.lang a{padding:7px 9px}.brand{margin-right:0}.brand span{font-size:1rem}}
@media (max-width:400px){.brand span{display:none}}

/* Carte à la demande, partage */
.map-facade{display:grid;place-items:center;background:linear-gradient(135deg,var(--sc-high),var(--sc-low))}
.map-ph{max-width:460px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.map-ph p{margin:0 0 8px;color:var(--on-surface-variant);font-size:.95rem}
.map-ph .support-ico{background:var(--gold);color:#1a1400}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:32px 0 0;padding-top:20px;border-top:1px solid var(--outline-variant)}
.share-l{font-weight:500;color:var(--on-surface-variant);margin-right:4px}
.share a,.share button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:0;border-radius:99px;background:var(--sc-high);color:var(--on-surface);font:500 .9rem Roboto,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.share a:hover,.share button:hover{background:var(--primary-container);color:var(--on-primary-container)}
.share .icon{width:18px;height:18px}
.steps+.share{margin-top:32px}

.yt-facade{display:grid;place-items:center;aspect-ratio:16/9;border-radius:var(--r-m);background:linear-gradient(135deg,var(--sc-high),var(--sc-low))}
.form-note{margin:-8px 0 0}
.trust{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.trust li{display:flex;gap:20px;align-items:flex-start;background:var(--sc-lowest);border-radius:var(--r-l);padding:22px 26px;box-shadow:var(--shadow-1)}
.trust .support-ico{background:var(--gold);color:#1a1400;flex:none}
.trust h3{margin:0 0 4px;font-size:1.15rem}.trust p{margin:0;color:var(--on-surface-variant)}

/* Barre de navigation resserrée sur écrans moyens (4 liens + langue + don) */
@media (min-width:761px) and (max-width:1120px){.nav a{padding:10px 12px;font-size:.9rem}.nav a .icon{display:none}.don-btn{padding:10px 16px}.lang{margin-left:4px}}
.don-btn,.brand span{white-space:nowrap}
@media (min-width:761px) and (max-width:1020px){.brand small{display:none}.brand span{font-size:1rem}.nav a{padding:10px 9px;font-size:.88rem}.don-btn{padding:10px 14px}.don-btn .icon{display:none}.lang a{padding:7px 9px}}
@media (min-width:761px) and (max-width:900px){.brand span{display:none}.nav a{padding:10px 10px}}

/* Plateformes */
.plats-sec{margin-top:56px}
.plats{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.plat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:var(--r-l);background:var(--sc-lowest);box-shadow:var(--shadow-1);text-decoration:none;color:var(--on-surface);transition:box-shadow .25s,transform .25s var(--ease)}
.plat:hover{box-shadow:var(--shadow-3);transform:translateY(-2px)}
.plat strong{display:block;font:600 1.05rem var(--font-display)}
.plat small{display:block;color:var(--on-surface-variant);font-size:.9rem;margin-top:2px}
.plat .icon{flex:none;width:40px;height:40px;padding:10px;border-radius:50%;background:var(--primary);color:var(--on-primary)}
