/* Nos références — cartes animées (France / International) */
.rf-page .content-wrap{padding:72px 0 96px}
.rf-intro{max-width:860px;margin:0 0 40px}
.rf-eyebrow{display:inline-block;margin:0 0 14px;padding:5px 12px;border-radius:999px;background:rgba(139,144,0,.12);color:var(--t-moss,#4d6600);font:600 11px/1.2 var(--t-display,'Chakra Petch',sans-serif);letter-spacing:.18em;text-transform:uppercase}
.rf-h2{font:700 clamp(28px,3.4vw,44px)/1.08 var(--t-display,'Chakra Petch',sans-serif);letter-spacing:-.01em;color:var(--t-ink,#1d1d1b);margin:0 0 18px;text-wrap:balance}
.rf-h2s{font:700 clamp(22px,2.4vw,30px)/1.15 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-ink,#1d1d1b);margin:0 0 8px}
.rf-lead{font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:var(--t-text,#34362c);margin:0 0 14px;max-width:68ch}
.rf-p{font-size:16px;line-height:1.65;color:var(--t-muted,#62655a);margin:0 0 14px;max-width:72ch}

.rf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}
.rf-world .rf-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.rf-stat{padding:18px 20px;border-radius:var(--t-r-md,14px);background:var(--t-paper,#f8f8f3);box-shadow:inset 0 0 0 1px var(--t-line,rgba(57,61,0,.14))}
.rf-stat b{display:block;font:700 clamp(28px,3vw,40px)/1 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-khaki,#393d00);font-variant-numeric:tabular-nums}
.rf-stat span{display:block;margin-top:6px;font-size:13px;line-height:1.35;color:var(--t-muted,#62655a)}

/* Map frame */
.rf-map{margin:0 0 56px;padding:8px;border-radius:var(--t-r-lg,22px);background:var(--t-night,#12140e);box-shadow:0 30px 60px -34px rgba(18,20,14,.7)}
.rf-stage{position:relative;aspect-ratio:var(--ar);border-radius:calc(var(--t-r-lg,22px) - 6px);overflow:hidden;
 background:radial-gradient(120% 90% at 30% 20%,#1d2116 0%,#12140e 70%);isolation:isolate}
.rf-stage::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
 background-image:linear-gradient(rgba(180,186,42,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(180,186,42,.06) 1px,transparent 1px);background-size:40px 40px}
.rf-france .rf-stage{width:min(100%,calc(min(82vh,900px) * 1000 / 966));margin:0 auto}
.rf-base,.rf-pins{position:absolute;inset:0;width:100%;height:100%;display:block}
.rf-base{z-index:1;object-fit:contain}
.rf-pins{z-index:2;overflow:visible}
.rf-pin{cursor:pointer;outline:none}
.rf-pi{transform-box:fill-box;transform-origin:50% 100%}
.rf-pin path{fill:var(--t-terra,#cc6633);stroke:#f1f1ea;stroke-width:.7;paint-order:stroke}
.rf-pin circle{fill:#f1f1ea}
.rf-pin .rf-ring{fill:none;stroke:var(--t-terra-l,#da4f37);stroke-width:1;opacity:0}
.rf-pin:hover path,.rf-pin:focus-visible path,.rf-pin.is-on path{fill:var(--t-olive-l,#b4ba2a)}
.rf-hq path{fill:var(--t-olive-l,#b4ba2a)}
.rf-arc{fill:none;stroke:rgba(204,102,51,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.rf-world .rf-pin path{stroke-width:.9}
.rf-world .rf-pi{transform:scale(1.25)}

.rf-scan{position:absolute;z-index:3;top:0;bottom:0;left:0;width:2px;pointer-events:none;opacity:0;
 background:linear-gradient(180deg,transparent,rgba(180,186,42,.85) 20%,rgba(180,186,42,.85) 80%,transparent);box-shadow:0 0 18px 4px rgba(180,186,42,.25)}
.rf-tip{position:absolute;z-index:4;left:0;top:0;padding:6px 10px;border-radius:8px;background:rgba(18,20,14,.92);color:#f1f1ea;
 font:500 13px/1.3 var(--t-display,'Chakra Petch',sans-serif);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 14px));
 box-shadow:inset 0 0 0 1px rgba(212,216,170,.18);transition:opacity .15s var(--t-ease,ease-out)}
.rf-tip.is-on{opacity:1}
.rf-bar{display:flex;align-items:center;gap:12px;padding:12px 10px 4px;color:#d4d8aa;font:500 13px/1.3 var(--t-display,'Chakra Petch',sans-serif);letter-spacing:.04em}
body #wrapper .rf-map .rf-bar b.rf-cnt{color:#f1f1ea!important;font-variant-numeric:tabular-nums}
.rf-live-dot{width:8px;height:8px;border-radius:50%;background:var(--t-terra,#cc6633);box-shadow:0 0 0 3px rgba(204,102,51,.25)}
.rf-replay{margin-left:auto;padding:8px 14px;border:0;border-radius:999px;background:rgba(212,216,170,.1);color:#f1f1ea;font:inherit;cursor:pointer;
 transition:background-color .2s var(--t-ease,ease-out),transform .16s var(--t-ease,ease-out)}
.rf-replay:hover{background:rgba(212,216,170,.18)}
.rf-replay:active{transform:scale(.97)}
.rf-replay:focus-visible{outline:2px solid var(--t-olive-l,#b4ba2a);outline-offset:2px}

/* Animation (only when JS armed it) */
.rf-map.rf-arm .rf-pi{opacity:0;transform:translateY(-14px) scale(.4)}
.rf-world .rf-map.rf-arm .rf-pi{transform:translateY(-14px) scale(.5)}
.rf-map.rf-arm .rf-arc{stroke-dashoffset:1}
.rf-map.rf-go .rf-pi{animation:rf-drop .55s cubic-bezier(.34,1.56,.64,1) var(--d,0s) both}
.rf-world .rf-map.rf-go .rf-pi{animation-name:rf-drop-w}
.rf-map.rf-go .rf-arc{animation:rf-draw .9s var(--t-ease,cubic-bezier(.23,1,.32,1)) var(--d,0s) both}
.rf-map.rf-go .rf-ring{animation:rf-ring 1.6s var(--t-ease,ease-out) calc(var(--d,0s) + .4s) 2}
.rf-map.rf-go .rf-scan{animation:rf-scan 2.9s cubic-bezier(.45,0,.55,1) .1s both}
@keyframes rf-drop{0%{opacity:0;transform:translateY(-14px) scale(.4)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes rf-drop-w{0%{opacity:0;transform:translateY(-14px) scale(.5)}60%{opacity:1}100%{opacity:1;transform:scale(1.25)}}
@keyframes rf-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes rf-ring{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}
.rf-ring{transform-box:fill-box;transform-origin:50% 50%}
@keyframes rf-scan{0%{opacity:0;transform:translateX(0)}8%{opacity:1}92%{opacity:1}100%{opacity:0;transform:translateX(var(--sw,1000px))}}
@media (prefers-reduced-motion:reduce){.rf-map .rf-pi,.rf-map .rf-arc,.rf-map .rf-ring,.rf-map .rf-scan{animation:none!important}}

/* Lists */
.rf-list{margin:0 0 56px}
.rf-reg{border-top:1px solid var(--t-line,rgba(57,61,0,.14))}
.rf-reg:last-of-type{border-bottom:1px solid var(--t-line,rgba(57,61,0,.14))}
.rf-reg summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;cursor:pointer;list-style:none;
 font:600 18px/1.3 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-ink,#1d1d1b)}
.rf-reg summary::-webkit-details-marker{display:none}
.rf-reg summary::after{content:"";width:9px;height:9px;margin-left:8px;border-right:2px solid var(--t-olive,#8b9000);border-bottom:2px solid var(--t-olive,#8b9000);transform:rotate(45deg) translateY(-3px);transition:transform .2s var(--t-ease,ease-out)}
.rf-reg[open] summary::after{transform:rotate(225deg) translateY(-1px)}
.rf-reg summary span:first-child{flex:1}
.rf-n{display:inline-block;min-width:34px;padding:3px 9px;border-radius:999px;background:rgba(139,144,0,.12);color:var(--t-moss,#4d6600);font:600 13px/1.3 var(--t-display,'Chakra Petch',sans-serif);text-align:center;font-variant-numeric:tabular-nums}
.rf-reg ul{list-style:none;margin:0;padding:0 4px 18px;columns:2 360px;column-gap:40px}
.rf-reg li{break-inside:avoid;margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--t-text,#34362c)}
.rf-dep{display:block;font:600 14px/1.3 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-khaki,#393d00)}
.rf-dep b{color:var(--t-terra-d,#993300);font-weight:600}

.rf-cont{margin:28px 0 0}
.rf-cont h3{display:flex;align-items:center;gap:10px;font:700 20px/1.2 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-ink,#1d1d1b);margin:0 0 14px}
.rf-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rf-card{padding:18px 18px 16px;border-radius:var(--t-r-md,14px);background:var(--t-paper,#f8f8f3);box-shadow:inset 0 0 0 1px var(--t-line,rgba(57,61,0,.14));scroll-margin-top:120px;
 transition:box-shadow .25s var(--t-ease,ease-out),background-color .25s var(--t-ease,ease-out)}
.rf-card:target,.rf-card.is-hl{background:#fff;box-shadow:inset 0 0 0 2px var(--t-olive,#8b9000)}
.rf-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}
.rf-card h4{margin:0;font:700 17px/1.25 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-ink,#1d1d1b)}
.rf-yr{flex:none;font:500 13px/1.2 var(--t-display,'Chakra Petch',sans-serif);color:var(--t-muted,#62655a);font-variant-numeric:tabular-nums}
.rf-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rf-tag{padding:4px 9px;border-radius:6px;background:rgba(57,61,0,.07);color:var(--t-khaki,#393d00);font-size:12.5px;line-height:1.3}
.rf-tag.rf-live{background:rgba(204,102,51,.14);color:var(--t-terra-d,#993300)}
.rf-hqp{margin:10px 0 0;font-size:14px;color:var(--t-muted,#62655a)}
.rf-hqp a{color:var(--t-moss,#4d6600);text-decoration:underline;text-underline-offset:3px}

.rf-cta{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:center;padding:32px;border-radius:var(--t-r-lg,22px);background:var(--t-night,#12140e);color:#d4d8aa}
.rf-cta h3{margin:0 0 8px;color:#f1f1ea;font:700 24px/1.2 var(--t-display,'Chakra Petch',sans-serif)}
.rf-cta p{margin:0;font-size:16px;line-height:1.6;color:#c9ccb0}
.rf-cta-a{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rf-btn{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--t-terra,#cc6633);color:#fff!important;font:600 15px/1.2 var(--t-display,'Chakra Petch',sans-serif);
 transition:background-color .2s var(--t-ease,ease-out),transform .16s var(--t-ease,ease-out)}
.rf-btn:hover{background:var(--t-terra-d,#993300)}
.rf-btn:active{transform:scale(.97)}
.rf-link{color:#d4d8aa!important;text-decoration:underline;text-underline-offset:3px;font-size:15px}
.rf-link:hover{color:#f1f1ea!important}

[dir=rtl] .rf-replay{margin-left:0;margin-right:auto}
[dir=rtl] .rf-reg summary::after{margin-left:0;margin-right:8px}

@media (max-width:991px){.rf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-world .rf-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-cta{grid-template-columns:minmax(0,1fr)}}
@media (max-width:575px){.rf-page .content-wrap{padding:44px 0 64px}.rf-stat{padding:14px}.rf-map{padding:5px;margin-bottom:40px}.rf-bar{flex-wrap:wrap;font-size:12px}.rf-cta{padding:24px}.rf-world .rf-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
@media (hover:none){.rf-replay:hover{background:rgba(212,216,170,.1)}.rf-btn:hover{background:var(--t-terra,#cc6633)}}
.rf-pan{border-radius:calc(var(--t-r-lg,22px) - 6px)}
@media (max-width:767px){
 .rf-world .rf-pan{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .rf-world .rf-pan::-webkit-scrollbar{display:none}
 .rf-world .rf-stage{width:820px;border-radius:0}
}
/* textes sur fonds sombres : priorité sur les règles globales du thème */
body.dm-terrain #wrapper #content .rf-cta h3{color:#f1f1ea!important}
body.dm-terrain #wrapper #content .rf-cta p{color:#c9ccb0!important}
body.dm-terrain #wrapper #content .rf-cta a.rf-link{color:#d4d8aa!important;text-decoration-color:rgba(212,216,170,.45)!important}
body.dm-terrain #wrapper #content .rf-cta a.rf-link:hover{color:#fff!important}
body.dm-terrain #wrapper #content .rf-cta a.rf-btn{color:var(--t-ink,#1d1d1b)!important;background:var(--t-terra,#cc6633);text-decoration:none!important}
@media (hover:hover) and (pointer:fine){body.dm-terrain #wrapper #content .rf-cta a.rf-btn:hover{background:#d97a45;transform:translateY(-2px)}}
body.dm-terrain #wrapper #content .rf-hqp a,body.dm-terrain #wrapper #content .rf-card a{color:var(--t-moss,#4d6600)!important}
