/* Section « Nos antennes » : spot plein cadre en boucle, puis carte interactive. */
.rg{position:relative;overflow:hidden;isolation:isolate;height:clamp(560px,88vh,820px);background:#0b0b0e;color:#fff;scroll-margin-top:80px}
/* « Comment agir avec nous ? » sort du bloc équipe : il garde toute la largeur comme avant */
html body .about-cta{grid-column:1/-1}
.rg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Le spot ---------- */
.rg-spot{position:absolute;inset:0;transition:opacity .7s ease,filter .7s ease}
.rg.is-live .rg-spot{opacity:0;filter:blur(6px);pointer-events:none}
.rg-scene{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(28px,6vw,90px);opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.rg-scene.is-on{opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s;z-index:2}
/* Images plein cadre, lent zoom (Ken Burns) et transitions variées */
.rg-img picture,.rg-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-img img{transform:scale(1.14)}
.rg-img.is-on img{animation:rgKen 5.5s cubic-bezier(.2,.6,.3,1) forwards}
@keyframes rgKen{to{transform:scale(1)}}
.rg-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,14,.92) 0%,rgba(11,11,14,.45) 45%,rgba(11,11,14,.1) 75%),linear-gradient(90deg,rgba(92,5,11,.35),transparent 60%)}
.rg-img.fx-iris picture{clip-path:circle(0% at 50% 50%)}
.rg-img.fx-iris.is-on picture{animation:rgIris 1.1s cubic-bezier(.65,0,.35,1) forwards}
@keyframes rgIris{to{clip-path:circle(75% at 50% 50%)}}
.rg-img.fx-wipe picture{clip-path:polygon(0 0,0 0,-30% 100%,0 100%)}
.rg-img.fx-wipe.is-on picture{animation:rgWipe 1.1s cubic-bezier(.65,0,.35,1) forwards}
@keyframes rgWipe{to{clip-path:polygon(0 0,130% 0,100% 100%,0 100%)}}
.rg-img.fx-rise picture{clip-path:inset(100% 0 0 0)}
.rg-img.fx-rise.is-on picture{animation:rgRise 1s cubic-bezier(.65,0,.35,1) forwards}
@keyframes rgRise{to{clip-path:inset(0 0 0 0)}}
.rg-cap{position:relative;z-index:1;max-width:820px}
.rg-where{display:block;margin-bottom:14px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);opacity:0}
.rg-scene.is-on .rg-where{animation:rgUp .6s .35s ease forwards}
html body .rg-cap p{margin:0;font-size:clamp(26px,3.6vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:#fff}
.rg-kpi{display:block;margin-bottom:6px;font-size:clamp(64px,10vw,140px);line-height:.95;font-weight:800;letter-spacing:-.05em;color:#ff3340;opacity:0;transform:translateY(24px)}
.rg-scene.is-on .rg-kpi{animation:rgUp .8s .5s cubic-bezier(.22,1,.36,1) forwards}
/* Texte mot à mot */
.rg-scene .w{display:inline-block;opacity:0;transform:translateY(.6em);filter:blur(6px)}
.rg-scene.is-on .w{animation:rgWord .7s calc(.55s + var(--i) * 70ms) cubic-bezier(.22,1,.36,1) forwards}
@keyframes rgWord{to{opacity:1;transform:none;filter:none}}
@keyframes rgUp{to{opacity:1;transform:none}}
/* Promesses et messages forts : écran noir, très grand texte */
.rg-promise,.rg-kpis{align-items:center;background:radial-gradient(60% 70% at 70% 30%,rgba(227,16,27,.28),transparent 70%),#0b0b0e}
html body .rg-big{margin:0;font-size:clamp(40px,7vw,110px);font-weight:800;line-height:1;letter-spacing:-.055em;color:#fff}
.rg-big>span{display:block}
.rg-dim{color:rgba(255,255,255,.45)}
html body .rg-bignum{display:flex;flex-direction:column;gap:10px;margin:0;font-size:clamp(20px,2.2vw,30px);font-weight:700;color:rgba(255,255,255,.75);max-width:640px}
.rg-bignum strong{font-size:clamp(110px,18vw,240px);line-height:.85;font-weight:800;letter-spacing:-.06em;color:#fff}
/* La carte dans le spot */
.rg-mapscene{align-items:center;justify-content:center;background:radial-gradient(50% 60% at 50% 50%,rgba(227,16,27,.22),transparent 70%),#0b0b0e}
.rg-mapscene .rg-svg{width:auto;height:100%;max-width:100%}
.rg-mapscene .rg-on{fill:rgba(255,255,255,.1)}
.rg-mapscene.is-on .rg-on{animation:rgLight .6s calc(.4s + var(--i) * 650ms) ease forwards}
@keyframes rgLight{to{fill:#e3101b}}
.rg-mapscene .rg-pin{opacity:0}
.rg-mapscene.is-on .rg-pin{animation:rgFade .5s calc(.6s + var(--i) * 650ms) ease forwards}
@keyframes rgFade{to{opacity:1}}
/* Plan final : le logo */
.rg-end{align-items:center;justify-content:center;flex-direction:column;gap:18px;background:radial-gradient(40% 50% at 50% 50%,rgba(227,16,27,.35),transparent 70%),#0b0b0e}
.rg-end img{width:clamp(90px,10vw,130px);height:auto;padding:14px;border-radius:28px;background:#fff;transform:scale(.4);opacity:0}
.rg-end.is-on img{animation:rgPop .9s .2s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes rgPop{to{transform:none;opacity:1}}
.rg-end p{display:flex;flex-direction:column;align-items:center;margin:0;line-height:1;opacity:0}
.rg-end.is-on p{animation:rgUp .8s .8s ease forwards}
html body .rg-end strong,html body .rg-end small{color:#fff}
.rg-end strong{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.04em}
.rg-end small{margin-top:6px;font-size:13px;font-weight:800;letter-spacing:.32em}
/* Barre de progression du plan en cours */
.rg-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;height:3px;background:rgba(255,255,255,.12)}
.rg-bar i{display:block;height:100%;width:100%;background:#e3101b;transform-origin:left;transform:scaleX(0)}
@keyframes rgBar{to{transform:scaleX(1)}}

/* ---------- Carte interactive ---------- */
.rg-svg{display:block;width:100%;height:auto;overflow:visible}
.rg-off{fill:rgba(255,255,255,.07);stroke:#0b0b0e;stroke-width:1.2}
.rg-on{fill:#e3101b;stroke:#0b0b0e;stroke-width:1.2;stroke-linejoin:round;transition:fill .35s ease,opacity .35s ease,filter .35s ease}
.rg-dot{fill:#fff;stroke:#e3101b;stroke-width:3}
.rg-ping{fill:none;stroke:#fff;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.rg-pin text{fill:#fff;font:700 15px var(--font);paint-order:stroke;stroke:#0b0b0e;stroke-width:4px;stroke-linejoin:round}
.rg-live{position:absolute;inset:0;display:grid;grid-template-columns:1fr 0fr;align-items:center;padding:clamp(24px,4vw,60px) clamp(24px,6vw,90px);background:radial-gradient(55% 65% at 40% 50%,rgba(227,16,27,.2),transparent 70%),#0b0b0e;opacity:0;pointer-events:none;transition:opacity .6s ease,grid-template-columns .7s cubic-bezier(.22,1,.36,1)}
.rg.is-live .rg-live{opacity:1;pointer-events:auto}
.rg-live-map{position:relative;max-width:820px;width:100%;margin:0 auto;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.rg-live .rg-on{cursor:pointer;outline:none}
.rg-live:has(.rg-on.is-active) .rg-on:not(.is-active){opacity:.45}
.rg-live .rg-on.is-active{fill:#ff3340;filter:drop-shadow(0 10px 24px rgba(227,16,27,.6))}
.rg-live .rg-pin.is-active .rg-ping{animation:rgPing 1.5s ease-out infinite}
@keyframes rgPing{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
/* Vignette au survol : dans la zone sombre à droite, reliée à la région par une flèche coudée */
.rg-tip{position:absolute;right:clamp(24px,5vw,80px);z-index:3;display:flex;flex-direction:column;gap:2px;width:clamp(230px,20vw,280px);padding:14px 18px;border-radius:14px;background:#fff;color:#0d0d10;font-size:14px;line-height:1.45;box-shadow:0 24px 50px -20px rgba(0,0,0,.8);transform:translateY(-50%);pointer-events:none;transition:top .35s cubic-bezier(.22,1,.36,1);animation:rgTipIn .3s ease}
@keyframes rgTipIn{from{opacity:0;translate:12px 0}}
.rg-tip[hidden]{display:none}
.rg-tip strong{font-size:17px;color:#e3101b}
.rg-tip span{color:#5d5f66;overflow-wrap:anywhere}
.rg-link{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none;opacity:0;transition:opacity .25s ease}
.rg-link.is-on{opacity:1}
.rg-link-line{fill:none;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.rg-link-head{fill:#fff}
/* Sans fiche ouverte, la carte se décale à gauche pour libérer la zone sombre de droite */
@media (min-width:901px){.rg:not(.is-detail) .rg-live-map{margin:0 auto 0 clamp(0px,3vw,60px);max-width:min(820px,calc(100% - 330px))}}
.rg.is-detail .rg-link,.rg.is-detail .rg-tip{display:none}
/* Fiche d'une antenne (après clic) : la carte glisse à gauche */
.rg.is-detail .rg-live{grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px)}
.rg-panel{min-width:0;max-height:100%;overflow:hidden auto}
.rg-detail{animation:rgUp .6s cubic-bezier(.22,1,.36,1)}
html body .rg-detail h3{margin:0 0 10px;font-size:clamp(34px,3.8vw,56px);line-height:1;letter-spacing:-.045em;color:#fff;background:none;-webkit-text-fill-color:#fff}
html body .rg-d-line{margin:0 0 12px;font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.2;color:rgba(255,255,255,.85)}
html body .rg-d-n{margin:0 0 16px;color:rgba(255,255,255,.7)}
.rg-d-n strong{font-size:34px;color:#fff;margin-right:4px}
/* Image de lieu (jamais une personne) avec sa légende, puis le contact dans un cadre séparé */
.rg-d-img{position:relative;margin:0 0 22px;border-radius:16px;overflow:hidden;aspect-ratio:21/9;background:#1a1a1f}
.rg-d-img img{width:100%;height:100%;object-fit:cover;display:block}
.rg-d-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,14,.7),transparent 55%)}
.rg-d-place{position:absolute;left:14px;bottom:12px;z-index:1;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#fff}
html body .rg-d-place svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2}
html body .rg-d-team{display:flex;flex-direction:column;gap:2px;margin:0 0 22px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.75)}
.rg-d-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.rg-d-team strong{color:#fff;font-size:16px}
.rg-d-team a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,77,88,.6);text-underline-offset:3px}

@media (max-width:900px){
  .rg{height:auto;min-height:clamp(520px,92vh,760px)}
  .rg-mapscene .rg-svg{width:100%;height:auto}
  .rg-live{position:relative;inset:auto;display:block;min-height:inherit;padding:28px 20px}
  .rg:not(.is-live) .rg-live{position:absolute;inset:0}
  .rg.is-detail .rg-live{display:block}
  .rg-panel{margin-top:20px;max-height:none;overflow:visible}
  .rg-tip,.rg-link{display:none!important}
  .rg-pin text{font-size:20px}
}
/* Mobile : vignette de contact posée sur la carte floutée */
.rg-pick[hidden]{display:none}
@media (max-width:900px){
  .rg.is-live .rg-live{display:flex;flex-direction:column;justify-content:center}
  .rg-live-map .rg-svg{transition:filter .4s ease}
  .rg.is-pick .rg-live-map .rg-svg{filter:blur(2.5px)}
  .rg.is-pick .rg-live .rg-on:not(.is-active){opacity:.7}
  .rg-pick{position:absolute;left:50%;top:62%;z-index:4;display:flex;flex-direction:column;gap:3px;width:min(86%,330px);padding:18px 20px;border-radius:16px;background:#fff;color:#0d0d10;font-size:15px;line-height:1.45;box-shadow:0 24px 50px -18px rgba(0,0,0,.85);transform:translate(-50%,0);animation:rgPickIn .35s cubic-bezier(.22,1,.36,1)}
  @keyframes rgPickIn{from{opacity:0;transform:translate(-50%,14px)}}
  .rg-pick strong{font-size:19px;color:#e3101b;padding-right:28px}
  .rg-pick span{color:#5d5f66}
  html body .rg-pick a{color:#0d0d10;text-decoration:underline;text-decoration-color:rgba(227,16,27,.5);text-underline-offset:3px;overflow-wrap:anywhere}
  html body .rg-pick a.rg-pick-go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;color:#c40d17;text-decoration:none}
  html body .rg-pick-go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
  .rg-pick-x{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:#f2f2f4;color:#0d0d10;font-size:20px;line-height:1;cursor:pointer}
}
@media (prefers-reduced-motion:reduce){.rg *{animation-duration:.01ms!important;animation-delay:0s!important;transition:none!important}}
