@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
:root{--bg:#0e1511;--surface:#16201a;--forest:#0f2a1b;--green:#33a65f;--gold:#e6b422;--paper:#f3f1e8;--muted:#a9b6ad;--line:rgba(243,241,232,.18);
--head:"Barlow Condensed","Arial Narrow",sans-serif;--body:Inter,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--paper);font:400 1.0625rem/1.65 var(--body)}
img{max-width:100%;height:auto}a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#111;padding:.6rem 1rem;z-index:20}.skip:focus{left:0}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}.narrow{max-width:760px}
h1,h2,h3{font-family:var(--head);text-transform:uppercase;line-height:1.02;margin:0 0 .6em;font-weight:700;letter-spacing:.01em}
h1{font-size:clamp(3.2rem,8vw,6.2rem)}h2{font-size:clamp(2rem,4.5vw,3rem)}h3{font-size:1.6rem;font-weight:600}
p{margin:0 0 1em;max-width:62ch}
.top{position:sticky;top:0;z-index:10;background:rgba(15,42,27,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:700 1.55rem/1 var(--head);text-transform:uppercase}
.top nav{display:flex;gap:1.6rem}.top nav a{text-decoration:none;font:600 1.15rem var(--head);text-transform:uppercase;padding:.3rem 0;border-bottom:3px solid transparent}
.top nav a:hover,.top nav a[aria-current]{border-color:var(--gold)}
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 40%,#143523 0,var(--bg) 70%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:min(80vh,680px);padding-block:4rem}
.lead{font-size:1.25rem;color:#dfe5dc;max-width:46ch}
.cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.btn{display:inline-block;padding:.85rem 1.7rem;background:var(--green);color:#06140c;font:700 1.2rem var(--head);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:2px solid var(--green);transition:background .15s,color .15s}
.btn:hover{background:var(--paper);border-color:var(--paper)}.btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper)}.btn.ghost:hover{background:var(--paper);color:#06140c}
.target{width:min(560px,100%);justify-self:end;color:rgba(243,241,232,.2);transform:translateX(12%)}
.impact{transform-origin:236px 262px;animation:hit .5s .6s cubic-bezier(.2,1.6,.4,1) both}
@keyframes hit{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.intro{padding:5.5rem 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.badges{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;justify-items:center}
.badges img{width:100%}
.modes{background:var(--surface);padding:5.5rem 0}
.modes-grid{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--paper)}
.modes article{padding:2rem 2.2rem}.m-b{background:var(--forest)}.m-a h3{color:var(--paper)}.m-b h3{color:var(--gold)}
.dash{list-style:none;padding:0;margin:1.4rem 0 0}.dash li{padding-left:1.4rem;position:relative;margin:.35rem 0}.dash li::before{content:"–";position:absolute;left:0;color:var(--gold)}
.steps{padding:5.5rem 0}.steps ol{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:1.6rem 0;border-top:1px solid var(--line)}
.steps .n{font:700 4.2rem/.9 var(--head);color:var(--gold)}.steps h3{margin-bottom:.2em}.steps p{margin:0;color:#dfe5dc;max-width:none;text-wrap:pretty}
.contact{background:var(--forest);padding:4rem 0;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem}
.contact h3{color:var(--gold);font-size:1.4rem}.contact a{color:var(--paper)}.plain{list-style:none;margin:0;padding:0}
.page-head{padding:4rem 0 1rem}.posts{padding:1rem 0 5rem}.post{padding:2rem 0;border-top:1px solid var(--line)}.post time{color:var(--gold);font-weight:600}.post h2{font-size:1.47rem;margin-top:.2em}.empty{color:var(--muted)}
.foot{border-top:1px solid var(--line);padding:2.5rem 0;color:var(--muted)}.foot .wrap{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.foot-brand{display:flex;gap:1rem;align-items:center}.foot-brand p,.legal{margin:0}
@media(max-width:820px){.hero-grid,.intro-grid,.modes-grid{grid-template-columns:1fr}.target{position:absolute;right:-30%;top:8%;width:420px;opacity:.55;z-index:0}.hero-copy{position:relative;z-index:1}
.intro-grid{gap:2.5rem}.steps li{grid-template-columns:3.2rem 1fr}.steps .n{font-size:3rem}.top nav{gap:1rem}.brand span{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.impact{animation:none}}

.steps .narrow{max-width:860px}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3.5rem;align-items:start}
.feed .post:first-of-type{border-top:0;padding-top:0}.post .meta{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:0}.post h2{margin-top:.15em}
.badge{display:inline-block;padding:.1rem .7rem;border:1px solid var(--gold);color:var(--gold);font-size:.85rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.badge:hover{background:var(--gold);color:#111}
.summary{color:var(--muted);margin-bottom:1rem}.summary a{color:var(--gold)}
.side h2{font-size:1.5rem;margin:2rem 0 .6rem;color:var(--gold)}.side h2:first-of-type{margin-top:2rem}
.side .plain li{border-bottom:1px solid var(--line)}.side .plain a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;text-decoration:none}
.side .plain a:hover,.side a[aria-current]{color:var(--gold)}.side a span{color:var(--muted);font-size:.9rem}
.search{display:flex;gap:.5rem}.search input{flex:1;min-width:0;padding:.6rem .8rem;font:inherit;color:var(--paper);background:var(--surface);border:1px solid var(--line)}
.search input:focus{border-color:var(--gold)}.btn.sm{padding:.45rem 1rem;font-size:1.05rem;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pager{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}.pager a,.pager span{min-width:2.5rem;text-align:center;padding:.4rem .8rem;border:1px solid var(--line);text-decoration:none}
.pager a:hover{border-color:var(--gold)}.pager span{background:var(--gold);border-color:var(--gold);color:#111;font-weight:600}
.legal-block{padding:1.6rem 0;border-top:1px solid var(--line)}.legal-block h2{font-size:1.9rem;color:var(--gold)}.legal-block p{color:#dfe5dc}
.legal a{color:var(--paper)}
@media(max-width:820px){.news-layout{grid-template-columns:1fr;gap:1rem}.side{order:-1}.badges{gap:1rem}}

@media(min-width:821px){.badges{grid-template-columns:auto auto;justify-content:center}.badges img{width:auto}}

/* Pop-up d'information */
.popup[hidden]{display:none}
.popup{position:fixed;inset:0;z-index:100;display:flex;padding:1rem;background:rgba(0,0,0,.55);overflow:auto;align-items:center;justify-content:center}
.popup-open{overflow:hidden}
.popup-box{position:relative;width:100%;max-width:700px;max-height:100%;overflow:auto;background:#fff;color:#000;padding:2.2rem 2.4rem 1.8rem;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.popup-title{font-family:var(--head);text-transform:none;line-height:1.1;margin:0 2rem .6em 0;color:inherit}
.popup-text p{max-width:none;color:inherit;line-height:1.55}
.popup-actions{margin:1.4rem 0 0}
.btn-close{font:600 1rem var(--body);color:inherit;background:transparent;border:2px solid currentColor;padding:.55rem 1.4rem;cursor:pointer;border-radius:3px}
.btn-close:hover{background:rgba(127,127,127,.18)}
.popup-x{position:absolute;top:.5rem;right:.7rem;width:2.4rem;height:2.4rem;font-size:1.9rem;line-height:1;color:inherit;background:transparent;border:0;cursor:pointer;border-radius:50%}
.popup-x:hover{background:rgba(127,127,127,.2)}
.popup :focus-visible{outline:3px solid #e6b422;outline-offset:2px}
.popup.pos-top{align-items:flex-start}.popup.pos-bottom{align-items:flex-end}
.popup.pos-left{justify-content:flex-start}.popup.pos-right{justify-content:flex-end}
.popup.pos-top-left{align-items:flex-start;justify-content:flex-start}.popup.pos-top-right{align-items:flex-start;justify-content:flex-end}
.popup.pos-bottom-left{align-items:flex-end;justify-content:flex-start}.popup.pos-bottom-right{align-items:flex-end;justify-content:flex-end}
@media(max-width:560px){.popup-box{padding:1.8rem 1.3rem 1.4rem}}

/* Actualités : extrait, page complète, image */
.post h2 a{text-decoration:none}.post h2 a:hover{color:var(--gold)}
.excerpt{color:#dfe5dc;margin-bottom:1rem}
.article-title{font-size:clamp(1.3rem,2.45vw,1.69rem);margin-top:.2em}
.full p{font-size:1.1rem;color:#e6ebe3}
.shot{margin:2rem 0 0;text-align:center}.shot a{display:inline-block;line-height:0;cursor:zoom-in}
.shot img{display:block;width:300px;max-width:100%;height:auto;border-radius:4px;border:1px solid var(--line);transition:border-color .15s}
.shot a:hover img{border-color:var(--gold)}.zoom-hint{margin-top:.5rem;font-size:.9rem;color:var(--muted)}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:3.5rem 1.2rem 1.2rem;background:rgba(0,0,0,.9);cursor:zoom-out}
.lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 10px 50px rgba(0,0,0,.6)}
.lightbox-close{position:absolute;top:.9rem;right:1rem;font:700 1.2rem var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--paper);background:rgba(255,255,255,.08);border:2px solid var(--paper);padding:.45rem 1rem;cursor:pointer}
.lightbox-close:hover{background:var(--paper);color:#111}.lightbox :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lb-open{overflow:hidden}
.back{margin-top:3rem}

/* Menu hamburger : tablette et mobile (<= 1024 px) */
.menu-btn{display:none}
@media(max-width:1024px){
.menu-btn{display:inline-flex;align-items:center;gap:.75rem;background:none;border:0;color:var(--paper);font:700 1.3rem/1 var(--head);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:.6rem .3rem}
.burger{position:relative;display:inline-block;width:28px;height:20px}
.burger i{position:absolute;left:0;right:0;height:3px;background:currentColor;border-radius:2px;transition:transform .2s,top .2s,opacity .15s}
.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:8.5px}.burger i:nth-child(3){top:17px}
.menu-btn[aria-expanded=true] i:nth-child(1){top:8.5px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] i:nth-child(3){top:8.5px;transform:rotate(-45deg)}
.js .top nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#0f2a1b;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.4);padding:.4rem max(1.25rem,calc((100% - 1120px)/2)) .8rem}
.js .top nav.open{display:flex}
.js .top nav a{font-size:1.5rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.js .top nav a:last-child{border-bottom:0}
.top nav a:hover,.top nav a[aria-current]{border-bottom-color:var(--gold)}
html{scroll-padding-top:72px}
}
@media(max-width:1024px){html:not(.js) .bar{flex-wrap:wrap}html:not(.js) .menu-btn{display:none}html:not(.js) .top nav{width:100%;flex-wrap:wrap;gap:.2rem 1rem}}

/* Plan du site */
.sitemap ul{list-style:none;margin:0;padding:0}.sitemap li{margin:.2rem 0}.sitemap a{text-decoration:none}.sitemap a:hover{color:var(--gold);text-decoration:underline}
.sitemap>ul>li{padding:.9rem 0;border-top:1px solid var(--line);font:600 1.4rem var(--head);text-transform:uppercase;letter-spacing:.02em}
.sitemap ul ul{margin:.5rem 0 .3rem 1.2rem;font:400 1.02rem var(--body);text-transform:none;letter-spacing:0;color:var(--muted)}
.sitemap ul ul li{margin:.35rem 0}.sitemap ul ul a{color:var(--paper)}

/* Titres des pages Actualités, Mentions légales, Plan du site : réduits d'un tiers (99 px -> 66 px) */
.page-title{font-size:clamp(2.13rem,5.33vw,4.13rem)}
/* Réseaux sociaux (section Contact) */
.contact-grid+.social{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.social{text-align:center}.social h3{color:var(--gold);font-size:1.4rem}
.social-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem}
.social-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;color:var(--paper);transition:color .15s,transform .15s}
.social-link:hover{color:var(--gold);transform:translateY(-3px)}.social-link .ico{display:block}

/* Bouton « Retour aux actualités » centré sur la page d'un article */
.full~.back{max-width:none;text-align:center}

/* Page de lecture : espace entre la date et la catégorie */
.page-head .meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0}

/* Lien « Voir le plan » (section Contact) */
.contact .map-link{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px}.contact .map-link:hover{color:var(--paper)}

/* Cible sur mobile : affichée en entier sous les boutons (le point d'impact jaune reste toujours visible) */
@media(max-width:820px){
.hero-grid{min-height:0;padding-block:3rem 2.5rem;gap:2rem}
.target{position:relative;right:auto;top:auto;z-index:0;width:min(300px,80%);opacity:1;justify-self:center;transform:none;color:rgba(243,241,232,.24)}
}
