/* creationsiteinternet-geneve.ch — gabarit agence */
:root{
--acc:#6d28d9;--acc2:#5b21b6;--sig:#F5A524;
--encre:#0A1120;--encre2:#111A30;--doux:#5A6478;--fond:#FBFCFE;--fond2:#f8f5ff;--trait:#E2E8F3;
--dis:'Bricolage Grotesque','Segoe UI',system-ui,-apple-system,sans-serif;
--txt:'Public Sans','Segoe UI',system-ui,-apple-system,sans-serif;

--o1:0 1px 2px rgba(10,17,32,.06),0 1px 3px rgba(10,17,32,.05);
--o2:0 1px 2px rgba(10,17,32,.05),0 8px 16px -6px rgba(10,17,32,.12);
--o3:0 2px 4px rgba(10,17,32,.05),0 14px 28px -10px rgba(10,17,32,.16),0 34px 60px -34px rgba(10,17,32,.24);
--o4:0 2px 6px rgba(10,17,32,.06),0 22px 44px -16px rgba(10,17,32,.22),0 60px 110px -55px rgba(10,17,32,.4);
--t-xs:clamp(0.780rem,0.700rem + .12vw,1.014rem);
--t-sm:clamp(0.840rem,0.800rem + .16vw,1.170rem);
--t-md:clamp(1.000rem,0.960rem + .2vw,1.378rem);
--t-lg:clamp(1.200rem,1.100rem + .5vw,1.820rem);
--t-xl:clamp(1.500rem,1.250rem + 1.2vw,2.730rem);
--t-2xl:clamp(1.950rem,1.500rem + 2.2vw,3.900rem);
--t-3xl:clamp(2.400rem,1.700rem + 3.4vw,5.460rem);
--t-4xl:clamp(2.900rem,1.900rem + 4.8vw,7.280rem);
--e1:.35rem;--e2:.7rem;--e3:1.1rem;--e4:1.7rem;--e5:2.6rem;--e6:4rem;--e7:6rem;--e8:9rem;
--rx:12px;--rc:22px;--pill:999px;
}

*,*::before,*::after{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--txt);font-size:17px;line-height:1.6;color:var(--encre);
background:var(--fond);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
font-synthesis-weight:none}
img,svg,video{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--dis);line-height:1.08;text-wrap:balance;font-weight:700;
letter-spacing:-.03em}
p{text-wrap:pretty}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{list-style:none;padding:0}

/* Accessibilité : un focus visible, et de la place autour. */
:focus-visible{outline:2.5px solid var(--acc);outline-offset:3px;border-radius:3px}
.ag-saut{position:absolute;left:-9999px;z-index:999}
.ag-saut:focus{left:1rem;top:1rem;background:var(--fond);color:var(--encre);
padding:.7rem 1.1rem;border:2px solid var(--acc);border-radius:8px}

/* Chiffres alignés partout où ils se comparent. */
.ag-num,[class*="__val"],[class*="__prix"],[class*="__montant"]{font-variant-numeric:tabular-nums}

/* ---------- révélation au défilement ----------
   L'etat AU REPOS est visible. La classe .js n'est posee que si le script
   tourne : sans lui, aucun opacity:0 n'existe et la page est complete. Une
   capture d'ecran, un lecteur qui ne defile pas, un robot : tous voient tout.
   (Pas de backtick dans ce commentaire : il vit dans un template literal.) */
.js .ag-rev{opacity:0;transform:translateY(18px);
transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
transition-delay:var(--r,0ms)}
.js .ag-rev[data-vu]{opacity:1;transform:none}

/* ---------- bandeau défilant ---------- */
.ag-defile{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ag-defile__piste{display:flex;gap:2.5rem;width:max-content;animation:ag-defiler 42s linear infinite}
.ag-defile:hover .ag-defile__piste{animation-play-state:paused}
@keyframes ag-defiler{to{transform:translateX(-50%)}}

/* ---------- sections longues : on ne peint que ce qui est à l'écran ---------- */
.ag-bas{content-visibility:auto;contain-intrinsic-size:auto 600px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
  transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .ag-rev{opacity:1;transform:none}
  .ag-defile__piste{animation:none;width:auto;flex-wrap:wrap}
}
html,body{overflow-x:clip}

/* ---------- visuels : socle ---------- */
.ag-visuel{margin:0;position:relative}
.ag-visuel__leg{font-size:.78rem;color:var(--doux);margin-top:.7rem;line-height:1.45}
.ag-visuel__leg strong{color:var(--encre);font-variant-numeric:tabular-nums}

/* ---------- SERP ---------- */
.ag-serp{background:var(--fond);border:1px solid var(--trait);border-radius:14px;padding:.9rem;
box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 28px -12px rgba(16,24,40,.18),0 40px 70px -40px rgba(16,24,40,.28)}
.ag-serp__barre{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--trait);
border-radius:999px;color:var(--doux);margin-bottom:.85rem;background:color-mix(in srgb,var(--encre) 3%,transparent)}
.ag-serp__req{font-size:.83rem;color:var(--encre)}
.ag-serp__liste{display:flex;flex-direction:column;gap:var(--serp-gap,.3rem);--serp-h:4.6rem;--serp-gap:.3rem}
.ag-serp__item{height:var(--serp-h);padding:.6rem .8rem;border-radius:10px;position:relative;overflow:hidden}
.ag-serp__url{font-size:.68rem;color:var(--doux);letter-spacing:.01em}
.ag-serp__titre{font-size:.9rem;color:color-mix(in srgb,var(--acc) 72%,var(--encre));font-weight:560;margin-top:.1rem;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-serp__desc{display:flex;flex-direction:column;gap:.28rem;margin-top:.4rem}
.ag-serp__desc span{height:.36rem;border-radius:2px;background:color-mix(in srgb,var(--encre) 9%,transparent)}
.ag-serp__desc span:last-child{width:62%}
.ag-serp__item--nous{background:color-mix(in srgb,var(--acc) 8%,transparent);
box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 26%,transparent)}
.ag-serp__item--nous .ag-serp__titre{color:var(--acc)}
.ag-serp__rang{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);width:1.55rem;height:1.55rem;
border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:700;
font-variant-numeric:tabular-nums}
/* Au repos, le client est PREMIER (c'est ce qu'on vend). L'animation rejoue
   seulement la montee : il part trois lignes plus bas et remonte, pendant que
   les trois concurrents, partis une ligne plus haut, redescendent. */
.js .ag-serp[data-vu] .ag-serp__item--nous{animation:ag-monte 1.5s cubic-bezier(.16,1,.3,1) .25s both;z-index:1}
.js .ag-serp[data-vu] .ag-serp__rang span{animation:ag-rang 1.5s steps(1) .25s both}
@keyframes ag-monte{0%,45%{transform:translateY(calc(3 * (var(--serp-h) + var(--serp-gap))))}100%{transform:translateY(0)}}
.js .ag-serp[data-vu] .ag-serp__item:not(.ag-serp__item--nous){animation:ag-descend 1.5s cubic-bezier(.16,1,.3,1) .25s both}
@keyframes ag-descend{0%,45%{transform:translateY(calc(-1 * (var(--serp-h) + var(--serp-gap))))}100%{transform:translateY(0)}}
@keyframes ag-rang{0%{content:"4"}100%{content:"1"}}

/* ---------- graphique ---------- */
.ag-graph{width:100%}
.ag-gr__svg{width:100%;height:auto;display:block;overflow:visible}
.ag-gr__ligne{stroke:var(--trait);stroke-width:1;stroke-dasharray:2 5}
.ag-gr__h{stop-color:var(--acc);stop-opacity:.26}
.ag-gr__b{stop-color:var(--acc);stop-opacity:0}
.ag-gr__trait{stroke:var(--acc);stroke-width:2.5}
.ag-gr__pt{fill:var(--acc);stroke:var(--fond);stroke-width:3}
.ag-gr__lab{fill:var(--doux);font-size:11px;text-anchor:middle;font-variant-numeric:tabular-nums}
.js .ag-graph .ag-gr__trait{stroke-dasharray:1400;stroke-dashoffset:1400}
.js .ag-graph .ag-gr__aire,.js .ag-graph .ag-gr__pt{opacity:0}
.js .ag-graph[data-vu] .ag-gr__trait{animation:ag-trace 1.9s cubic-bezier(.3,.7,.3,1) forwards}
.js .ag-graph[data-vu] .ag-gr__aire{animation:ag-fondu .9s ease .7s forwards}
.js .ag-graph[data-vu] .ag-gr__pt{animation:ag-fondu .5s ease 1.7s forwards,ag-pulse 2.6s ease-in-out 2.2s infinite}
@keyframes ag-trace{to{stroke-dashoffset:0}}
@keyframes ag-fondu{to{opacity:1}}
@keyframes ag-pulse{0%,100%{r:5}50%{r:6.5}}

/* ---------- nuage de communes ---------- */
.ag-nu__svg{width:100%;height:auto;display:block;max-height:30rem;margin-inline:auto}
.ag-nu__pt{fill:var(--encre);opacity:.17}
.ag-nu__pt--on{fill:var(--acc);opacity:.95}
.js .ag-nuage[data-vu] .ag-nu__pt{animation:ag-poser .5s ease var(--r,0ms) both}
.ag-nu__pt:nth-child(12n+1){--r:0ms}.ag-nu__pt:nth-child(12n+2){--r:55ms}.ag-nu__pt:nth-child(12n+3){--r:110ms}.ag-nu__pt:nth-child(12n+4){--r:165ms}.ag-nu__pt:nth-child(12n+5){--r:220ms}.ag-nu__pt:nth-child(12n+6){--r:275ms}.ag-nu__pt:nth-child(12n+7){--r:330ms}.ag-nu__pt:nth-child(12n+8){--r:385ms}.ag-nu__pt:nth-child(12n+9){--r:440ms}.ag-nu__pt:nth-child(12n+10){--r:495ms}.ag-nu__pt:nth-child(12n+11){--r:550ms}.ag-nu__pt:nth-child(12n+12){--r:605ms}
@keyframes ag-poser{from{opacity:0;transform:translateY(5px)}}
.js .ag-nuage[data-vu] .ag-nu__pt--on{animation:ag-poserOn .6s ease var(--r,0ms) both}
@keyframes ag-poserOn{from{opacity:0;transform:scale(.3)}to{opacity:.95;transform:scale(1)}}

/* ---------- devis ---------- */
.ag-devis{background:var(--fond);border:1px solid var(--trait);border-radius:12px;padding:1.25rem 1.35rem}
.ag-devis__tete{display:flex;justify-content:space-between;align-items:baseline;
padding-bottom:.7rem;border-bottom:1px solid var(--trait);margin-bottom:.85rem}
.ag-devis__eti{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--acc)}
.ag-devis__num{font-size:.78rem;color:var(--doux);font-variant-numeric:tabular-nums}
.ag-devis__l{list-style:none;padding:0;margin:0}
.ag-devis__l li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;font-size:.9rem;
border-bottom:1px dotted var(--trait)}
.ag-devis__l b{font-variant-numeric:tabular-nums;color:var(--doux);font-weight:600}
.ag-devis__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:.9rem;
padding-top:.75rem;border-top:2px solid var(--encre)}
.ag-devis__total span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.ag-devis__total b{font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ag-devis__note{margin:.7rem 0 0;font-size:.78rem;color:var(--doux)}
.js .ag-devis[data-vu] .ag-devis__l li{animation:ag-ligne .5s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
@keyframes ag-ligne{from{opacity:0;transform:translateX(-8px)}}

/* ---------- fenêtre ---------- */
.ag-fen{background:var(--fond);border-radius:12px;overflow:hidden;border:1px solid var(--trait);
box-shadow:0 2px 4px rgba(16,24,40,.04),0 18px 40px -16px rgba(16,24,40,.24),0 48px 90px -50px rgba(16,24,40,.4)}
.ag-fen__barre{display:flex;align-items:center;gap:.3rem;padding:.55rem .75rem;
background:color-mix(in srgb,var(--encre) 5%,transparent);border-bottom:1px solid var(--trait)}
.ag-fen__barre i{width:.5rem;height:.5rem;border-radius:50%;background:color-mix(in srgb,var(--encre) 18%,transparent)}
.ag-fen__url{margin-left:.6rem;font-size:.76rem;color:var(--doux);background:var(--fond);
padding:.1rem .55rem;border-radius:999px;border:1px solid var(--trait)}
.ag-fen__corps{padding:1.1rem}
.ag-fen__nav{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem}
.ag-fen__nav b{width:2.6rem;height:.62rem;border-radius:3px;background:var(--acc)}
.ag-fen__nav u{width:1.5rem;height:.42rem;border-radius:3px;background:color-mix(in srgb,var(--encre) 13%,transparent)}
.ag-fen__h1{height:1.15rem;width:70%;border-radius:4px;background:color-mix(in srgb,var(--encre) 78%,transparent);margin-bottom:.7rem}
.ag-fen__p{height:.45rem;border-radius:3px;background:color-mix(in srgb,var(--encre) 11%,transparent);margin-bottom:.35rem}
.ag-fen__p--court{width:66%;margin-bottom:1rem}
.ag-fen__grille{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.ag-fen__grille span{height:3.1rem;border-radius:6px;background:color-mix(in srgb,var(--encre) 8%,transparent)}
.ag-fen__cta{height:1.5rem;width:38%;border-radius:6px;background:var(--acc)}
.js .ag-fen[data-vu] .ag-fen__nav,.js .ag-fen[data-vu] .ag-fen__h1,
.js .ag-fen[data-vu] .ag-fen__p,.js .ag-fen[data-vu] .ag-fen__grille span,
.js .ag-fen[data-vu] .ag-fen__cta{animation:ag-bloc .55s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
@keyframes ag-bloc{from{opacity:0;transform:translateY(9px) scaleX(.94);transform-origin:left}}

/* ---------- Core Web Vitals ---------- */
.ag-cwv{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ag-cwv__i{text-align:center}
.ag-cwv__svg{width:64px;height:64px;transform:rotate(-90deg)}
.ag-cwv__fond{fill:none;stroke:var(--trait);stroke-width:5}
.ag-cwv__arc{fill:none;stroke:var(--acc);stroke-width:5;stroke-linecap:round;
stroke-dasharray:var(--c);stroke-dashoffset:var(--o)}
.ag-cwv__val{display:block;font-size:1.05rem;font-weight:700;margin-top:.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ag-cwv__cle{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--acc);font-weight:700}
.ag-cwv__quoi{display:block;font-size:.8rem;color:var(--doux);margin-top:.3rem;line-height:1.35}
.js .ag-cwv[data-vu] .ag-cwv__arc{animation:ag-arc 1.5s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
@keyframes ag-arc{from{stroke-dashoffset:var(--c)}}

/* ---------- carte reelle : contour du canton qui se trace ---------- */
.ag-nu__terre{fill:color-mix(in srgb,var(--acc) 7%,transparent);stroke:color-mix(in srgb,var(--acc) 55%,transparent);stroke-width:1.1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ag-nu__terre--on{fill:color-mix(in srgb,var(--acc) 12%,transparent)}
.js .ag-carte .ag-nu__terre{stroke-dasharray:1;stroke-dashoffset:1}
.js .ag-carte[data-vu] .ag-nu__terre{animation:ag-terre 1.6s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes ag-terre{to{stroke-dashoffset:0}}
.ag-carte .ag-nu__pt{opacity:.22}
.ag-carte .ag-nu__pt--on{opacity:.9}

/* ---------- commune mise en evidence dans le nuage ---------- */
.ag-nu__halo{fill:var(--acc);opacity:.18}
.ag-nu__pt--ici{fill:var(--acc);opacity:1;stroke:var(--fond);stroke-width:1.5}
.ag-nu__nom{fill:var(--encre);font-size:11px;font-weight:700;letter-spacing:-.01em}
.js .ag-nuage[data-vu] .ag-nu__halo{animation:ag-halo 2.4s ease-in-out .9s infinite}
.js .ag-nuage[data-vu] .ag-nu__nom{animation:ag-fondu .6s ease .8s both}
@keyframes ag-halo{0%,100%{opacity:.18;r:11}50%{opacity:.05;r:17}}

/* ---------- liste a cocher ---------- */
.ag-coches{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.ag-coches__i{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.8rem;align-items:start;line-height:1.45}
.ag-coches__svg{width:1.5rem;height:1.5rem;margin-top:.05em}
.ag-coches__rond{fill:color-mix(in srgb,var(--acc) 10%,transparent);stroke:var(--acc);stroke-width:1.5}
.ag-coches__v{fill:none;stroke:var(--acc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:0}
.js .ag-coches .ag-coches__v{stroke-dashoffset:20}
.js .ag-coches .ag-coches__i{opacity:0;transform:translateY(8px)}
.js .ag-coches[data-vu] .ag-coches__i{animation:ag-cocheIn .5s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
.js .ag-coches[data-vu] .ag-coches__v{animation:ag-cocheV .45s ease-out calc(var(--r,0ms) + 280ms) both}
@keyframes ag-cocheIn{to{opacity:1;transform:none}}
@keyframes ag-cocheV{to{stroke-dashoffset:0}}

/* ---------- mots animes ---------- */
.ag-mot{display:inline-block}
.js .ag-mot{opacity:0;transform:translateY(.35em) rotate(1.5deg);
animation:ag-motIn .75s cubic-bezier(.16,1,.3,1) calc(var(--i) * 65ms + 120ms) both}
@keyframes ag-motIn{to{opacity:1;transform:none}}

/* ---------- comparatif ---------- */
.ag-compar{display:grid;gap:.35rem}
.ag-compar__l{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1.5fr) minmax(0,1.5fr);gap:1rem;
padding:.85rem 1rem;border-radius:10px;font-size:.9rem;line-height:1.4;align-items:start}
.ag-compar__l--tete{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:var(--doux);font-weight:700;padding-bottom:.4rem}
.ag-compar__l:not(.ag-compar__l--tete){background:color-mix(in srgb,var(--encre) 3.5%,transparent)}
.ag-compar__l--ici{background:color-mix(in srgb,var(--acc) 9%,transparent)!important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--acc) 40%,transparent)}
.ag-compar__l b{font-weight:700;display:block}
.ag-compar__l b a{color:var(--acc);text-decoration:none}
.ag-compar__l b a:hover{text-decoration:underline}
.ag-compar__l i{font-style:normal;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--acc);font-weight:700}
.js .ag-compar .ag-compar__l:not(.ag-compar__l--tete){opacity:0;transform:translateX(-10px)}
.js .ag-compar[data-vu] .ag-compar__l{animation:ag-comparIn .5s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
@keyframes ag-comparIn{to{opacity:1;transform:none}}
@media(max-width:700px){.ag-compar__l{grid-template-columns:minmax(0,1fr) auto}.ag-compar__l--tete{display:none}
.ag-compar__l span:nth-child(2){font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--doux);padding-top:.25rem}
.ag-compar__l span:nth-child(3),.ag-compar__l span:nth-child(4){grid-column:1/-1;font-size:.84rem;color:var(--doux)}
.ag-compar__l span:nth-child(3)::before{content:"Point fort · ";font-weight:700;color:var(--acc)}
.ag-compar__l span:nth-child(4)::before{content:"Vigilance · ";font-weight:700;color:var(--encre)}}

/* ---------- maillage ---------- */
.ag-ma__svg{width:100%;height:auto;display:block}
.ag-ma__l{stroke:var(--acc);stroke-width:.8;opacity:.3}
.ag-ma__n{fill:var(--acc);opacity:.65}
.ag-ma__n--r{opacity:1}
.ag-ma__t{fill:var(--doux);font-size:9.5px;text-transform:uppercase;letter-spacing:.09em}
.js .ag-maillage[data-vu] .ag-ma__l{animation:ag-fondu3 .5s ease var(--r,0ms) both}
.js .ag-maillage[data-vu] .ag-ma__n{animation:ag-fondu2 .45s ease var(--r,0ms) both}
@keyframes ag-fondu2{from{opacity:0;transform:scale(.2);transform-box:fill-box;transform-origin:center}to{opacity:.65}}
@keyframes ag-fondu3{from{opacity:0}to{opacity:.3}}

@media(prefers-reduced-motion:reduce){
  .js .ag-serp[data-vu] .ag-serp__item--nous,
  .js .ag-graph[data-vu] .ag-gr__trait,.js .ag-graph[data-vu] .ag-gr__aire,.js .ag-graph[data-vu] .ag-gr__pt,
  .js .ag-nuage[data-vu] .ag-nu__pt,.js .ag-nuage[data-vu] .ag-nu__pt--on,
  .js .ag-devis[data-vu] .ag-devis__l li,.js .ag-fen[data-vu] *,
  .js .ag-cwv[data-vu] .ag-cwv__arc,.js .ag-maillage[data-vu] *,
  .js .ag-coches *,.js .ag-mot,.js .ag-compar *,.js .ag-nuage[data-vu] .ag-nu__halo{animation:none!important}
  .js .ag-coches .ag-coches__i,.js .ag-mot,.js .ag-compar .ag-compar__l{opacity:1;transform:none}
  .js .ag-coches .ag-coches__v{stroke-dashoffset:0}
  .js .ag-carte .ag-nu__terre{stroke-dashoffset:0;animation:none!important}
  .js .ag-graph .ag-gr__trait{stroke-dashoffset:0}
  .js .ag-graph .ag-gr__aire,.js .ag-graph .ag-gr__pt{opacity:1}
}

.ag-zone{width:min(1240px,92vw);margin-inline:auto}
.ag-zone--fine{width:min(880px,92vw)}
.ag-h2{font-size:var(--t-2xl);margin-bottom:var(--e4);max-width:26ch;font-weight:800;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
.ag-h2--clair{color:#fff}
.ag-lead{font-size:var(--t-xl);line-height:1.35;font-weight:500;letter-spacing:-.018em;color:var(--encre);text-wrap:pretty}
.ag-etiq{display:flex;align-items:baseline;gap:.7rem;font-family:var(--dis);font-weight:800;font-size:var(--t-lg);
color:var(--acc);letter-spacing:-.02em;margin-bottom:var(--e3);font-variant-numeric:tabular-nums}
.ag-etiq i{font-style:normal;font-family:var(--txt);font-weight:600;font-size:var(--t-xs);text-transform:uppercase;
letter-spacing:.16em;color:var(--doux)}
.ag-etiq--clair i{color:rgba(255,255,255,.55)}
.ag-entete{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--e4);margin-bottom:var(--e5);flex-wrap:wrap}
.ag-entete .ag-h2{margin-bottom:0}
.ag-lienfl{display:inline-flex;align-items:center;gap:.5rem;color:var(--encre);text-decoration:none;
font-weight:600;font-size:var(--t-sm);white-space:nowrap;border-bottom:1.5px solid var(--acc);padding-bottom:.15rem}
.ag-lienfl svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ag-lienfl:hover svg{transform:translateX(4px)}

/* boutons : pilules. Le bouton blanc porte un rond sombre avec la fleche —
   c'est la signature de ce gabarit, on ne le retrouve nulle part ailleurs. */
.ag-btn{display:inline-flex;align-items:center;gap:.7rem;padding:.9rem 1.5rem;border-radius:var(--pill);
font-weight:650;text-decoration:none;font-size:var(--t-sm);border:1.5px solid transparent;
transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,background .22s,border-color .22s;white-space:nowrap}
.ag-btn--blanc{background:#fff;color:var(--encre);box-shadow:0 1px 2px rgba(0,0,0,.2),0 10px 30px -10px rgba(0,0,0,.5)}
.ag-btn--blanc:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.2),0 18px 40px -12px rgba(0,0,0,.6)}
.ag-btn__rond{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--encre);
color:#fff;margin:-.3rem -.7rem -.3rem 0;transition:background .22s,transform .22s}
.ag-btn--blanc:hover .ag-btn__rond{background:var(--acc);transform:translateX(3px)}
.ag-btn--plein{background:var(--acc);color:#fff;box-shadow:0 1px 2px rgba(10,17,32,.1),0 10px 24px -8px color-mix(in srgb,var(--acc) 70%,transparent)}
.ag-btn--plein:hover{background:var(--acc2);transform:translateY(-2px)}
.ag-btn--plein .ag-btn__rond{background:#fff;color:var(--acc2)}
.ag-btn--vide{border-color:var(--trait);color:var(--encre);background:var(--fond)}
.ag-btn--vide:hover{border-color:var(--encre)}
.ag-btn--grand{padding:1.05rem 1.9rem;font-size:var(--t-md)}
.ag-wa{display:inline-flex;align-items:center;gap:.55rem;color:#fff;padding:.9rem 1.5rem;border-radius:var(--pill);
font-weight:650;text-decoration:none;font-size:var(--t-sm);border:1.5px solid rgba(255,255,255,.28);
transition:background .22s,border-color .22s,transform .22s}
.ag-wa:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-2px)}
.ag-wa__ico{flex:0 0 auto}
.ag-wa--large{margin-top:var(--e3)}

/* ---------- en-tete : une seule barre, sombre, continue avec le hero ---------- */
.ag-tete{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--encre) 88%,transparent);
backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.ag-tete__int{display:flex;align-items:center;gap:var(--e4);height:4.4rem}
.ag-marque{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#fff}
.ag-marque__sig{color:var(--acc);display:grid;place-items:center;flex:0 0 auto}
.ag-marque__txt{display:flex;flex-direction:column;line-height:1.1}
.ag-marque__txt b{font-family:var(--dis);font-weight:800;font-size:1.05rem;letter-spacing:-.03em}
.ag-marque__txt i{font-style:normal;font-size:.76rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.ag-nav{margin-inline:auto}
.ag-nav__l1{display:flex;gap:.1rem}
.ag-nav__l{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .8rem;text-decoration:none;
color:rgba(255,255,255,.72);font-size:var(--t-sm);font-weight:500;background:none;border:0;font-family:inherit;cursor:pointer;
border-radius:var(--pill);transition:background .18s,color .18s}
.ag-nav__l:hover{background:rgba(255,255,255,.08);color:#fff}
.ag-nav__it--sous{position:relative}
.ag-nav__vol{position:absolute;top:calc(100% + .4rem);left:0;min-width:280px;background:var(--fond);border:1px solid var(--trait);
border-radius:var(--rc);box-shadow:var(--o4);padding:.5rem;display:none;z-index:50;color:var(--encre)}
.ag-nav__it--sous:hover .ag-nav__vol,.ag-nav__it--sous:focus-within .ag-nav__vol{display:block}
.ag-nav__vol a{display:flex;flex-direction:column;padding:.55rem .75rem;text-decoration:none;color:var(--encre);border-radius:10px}
.ag-nav__vol a b{font-weight:600;font-size:var(--t-sm)}
.ag-nav__vol a i{font-style:normal;font-size:var(--t-xs);color:var(--doux)}
.ag-nav__vol a:hover{background:var(--fond2)}
.ag-nav__vol a:hover b{color:var(--acc2)}
.ag-tete__act{display:flex;align-items:center;gap:var(--e3)}
.ag-tete__tel{color:rgba(255,255,255,.8);text-decoration:none;font-weight:600;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.ag-tete__tel:hover{color:#fff}
.ag-tete__cta{padding:.62rem 1.1rem;font-size:var(--t-xs);gap:.45rem}
.ag-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:.6rem;cursor:pointer;margin-left:auto}
.ag-burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ag-burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.ag-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.ag-nav__pied{display:none}
html.menu-ouvert{overflow:hidden}
html.menu-ouvert .ag-barre{display:none!important}
.ag-barre{transition:transform .3s cubic-bezier(.16,1,.3,1)}
html.cta-visible .ag-barre{transform:translateY(120%)} /* un CTA est deja a l'ecran : la barre s'efface */ /* le panneau porte deja WhatsApp + devis : pas de doublon */

/* fil d'ariane (sur fond sombre) */
.ag-ariane ol{display:flex;flex-wrap:wrap;gap:.45rem;font-size:var(--t-xs);color:rgba(255,255,255,.5);margin-bottom:var(--e3)}
.ag-ariane li+li::before{content:"/";margin-right:.45rem;opacity:.5}
.ag-ariane a{color:rgba(255,255,255,.5);text-decoration:none}
.ag-ariane a:hover{color:#fff}
.ag-ariane li[aria-current]{color:rgba(255,255,255,.85)}

/* ---------- hero : sombre, deux lueurs, grain, typographie geante ---------- */
/* Le fil d'Ariane demarre juste sous l'en-tete : les premiers CTA doivent tenir au-dessus de la ligne de flottaison. */
.ag-hero{background:var(--encre);color:#fff;padding:var(--e3) 0 0;position:relative;overflow:hidden;isolation:isolate}
.ag-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
 radial-gradient(70rem 42rem at 8% -10%,color-mix(in srgb,var(--acc) 42%,transparent),transparent 58%),
 radial-gradient(38rem 30rem at 98% 100%,color-mix(in srgb,var(--sig) 22%,transparent),transparent 62%),
 radial-gradient(30rem 24rem at 80% 10%,color-mix(in srgb,var(--acc) 18%,transparent),transparent 60%)}
.ag-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.055;
background-image:url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E);mix-blend-mode:screen}
.ag-hero--court{padding-bottom:var(--e6)}
.ag-hero__grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--e6);align-items:center;padding-bottom:var(--e6)}
.ag-sur{display:flex;align-items:center;gap:.6rem;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em;
font-weight:600;color:rgba(255,255,255,.7);margin-bottom:var(--e4);flex-wrap:wrap}
.ag-sur__sep{opacity:.4}
.ag-pastille{width:.5rem;height:.5rem;border-radius:50%;background:#34D399;flex:0 0 auto;
box-shadow:0 0 0 3px rgba(52,211,153,.25);animation:ag-battre 2.6s ease-in-out infinite}
@keyframes ag-battre{0%,100%{box-shadow:0 0 0 3px rgba(52,211,153,.25)}50%{box-shadow:0 0 0 7px rgba(52,211,153,.05)}}
.ag-hero__h1{font-size:clamp(2.7rem,5.6vw,5.3rem);font-weight:800;line-height:.98;letter-spacing:-.045em;
margin-bottom:var(--e4);max-width:18ch;color:#fff;text-wrap:balance}
.ag-hero__h1--court{max-width:18ch;font-size:clamp(2.4rem,5vw,4.4rem)}
/* Un h1 long (plateforme x ville) descend d'un cran : quatre lignes de deux mots, c'est illisible. */
.ag-hero__h1--long{font-size:clamp(2.3rem,4.6vw,4.3rem);max-width:22ch}
.ag-hero__chapo{font-size:var(--t-lg);color:rgba(255,255,255,.72);max-width:52ch;line-height:1.5}
.ag-hero__act{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:var(--e5);align-items:center}
.ag-hero__vis{position:relative}
.ag-hero__vis::before{content:"";position:absolute;inset:-12% -8%;z-index:-1;border-radius:50%;
background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 38%,transparent),transparent)}
/* la SERP en verre sombre : on rebranche ses jetons sur le fond du hero */
.ag-hero .ag-serp{--fond:rgba(255,255,255,.055);--encre:#fff;--doux:rgba(255,255,255,.55);--trait:rgba(255,255,255,.14);
backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--rc);padding:1.1rem;
box-shadow:0 30px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12)}
.ag-hero .ag-serp__barre{background:rgba(0,0,0,.25)}
.ag-hero .ag-serp__desc span{background:rgba(255,255,255,.12)}
.ag-hero .ag-serp__titre{color:#9DB4FF}
.ag-hero .ag-serp__item--nous{background:color-mix(in srgb,var(--acc) 28%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 60%,transparent)}
.ag-hero .ag-serp__item--nous .ag-serp__titre{color:#fff}
.ag-hero .ag-visuel__leg{color:rgba(255,255,255,.45)}
.ag-hero__defile{border-top:1px solid rgba(255,255,255,.1);padding:var(--e4) 0;background:rgba(0,0,0,.18)}
.ag-ticker{font-family:var(--dis);font-weight:700;font-size:var(--t-xl);letter-spacing:-.03em;color:rgba(255,255,255,.55);
display:inline-flex;align-items:center;gap:2.5rem;white-space:nowrap}
.ag-ticker i{font-style:normal;color:var(--acc);font-size:.55em}
.ag-ticker--enc{color:var(--encre)}

/* ---------- ligne de mesure : chiffres geants sur le bloc sombre ---------- */
.ag-mesure{background:var(--encre2);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.ag-mesure__grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ag-mesure__i{padding:var(--e5) var(--e4);border-left:1px solid rgba(255,255,255,.08)}
.ag-mesure__i:first-child{border-left:0;padding-left:0}
.ag-mesure__v{display:block;font-family:var(--dis);font-size:var(--t-4xl);font-weight:800;line-height:.95;
letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff}
.ag-mesure__v small{font-size:.42em;color:var(--sig);margin-left:.15em;letter-spacing:-.02em}
.ag-mesure__l{display:block;font-size:var(--t-sm);color:rgba(255,255,255,.55);margin-top:.6rem;max-width:16ch}

/* ---------- sections ---------- */
.ag-constat,.ag-presta,.ag-resultats,.ag-methode,.ag-secteurs,.ag-args,.ag-faq,.ag-maillage,.ag-cms,.ag-tarifs,.ag-zones,.ag-texte{padding:var(--e8) 0}
.ag-constat__grille{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,3fr);gap:var(--e6);align-items:start}
.ag-constat__txt p{font-size:var(--t-md);color:var(--doux);margin-bottom:var(--e3);max-width:66ch}
.ag-constat__txt .ag-lead{font-size:var(--t-xl);line-height:1.3;font-weight:500;color:var(--encre);margin-bottom:var(--e4);max-width:46ch;text-wrap:pretty}
.ag-texte p{font-size:var(--t-md);margin-bottom:var(--e3);color:var(--doux)}
.ag-prose h2{font-size:var(--t-lg);margin:var(--e5) 0 var(--e2);color:var(--encre)}
.ag-prose p{margin-bottom:var(--e3)}
.ag-manque{color:var(--sig);font-style:italic}

/* ---------- bento ---------- */
.ag-presta{background:var(--fond2)}
.ag-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e3)}
.ag-carte{background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc);padding:var(--e4);
box-shadow:var(--o1);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;position:relative}
.ag-carte:hover{transform:translateY(-4px);box-shadow:var(--o3);border-color:color-mix(in srgb,var(--acc) 40%,var(--trait))}
.ag-carte--large{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;padding:var(--e4) var(--e4) var(--e5)}
.ag-carte__vis{margin:0 0 var(--e4);padding:var(--e3);background:var(--fond2);border-radius:var(--rx);flex:1;display:flex;align-items:center}
.ag-carte__vis .ag-visuel{width:100%}
.ag-carte__n{font-family:var(--dis);font-weight:800;font-size:var(--t-lg);color:var(--acc);letter-spacing:-.03em;display:block;margin-bottom:var(--e3)}
.ag-carte__t{font-size:var(--t-lg);margin-bottom:var(--e2);letter-spacing:-.025em}
.ag-carte--large .ag-carte__t{font-size:var(--t-xl)}
.ag-carte__p{color:var(--doux);font-size:var(--t-sm);line-height:1.6}
.ag-bento--plat .ag-carte{grid-column:span 1;grid-row:span 1}

/* ---------- resultats : bloc sombre, chiffre geant ambre ---------- */
.ag-resultats{background:var(--encre);color:#fff;position:relative;overflow:hidden}
.ag-resultats::before{content:"";position:absolute;right:-12rem;top:-10rem;width:44rem;height:44rem;border-radius:50%;
background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 30%,transparent),transparent)}
.ag-resultats__grille{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--e6);align-items:center;position:relative}
.ag-resultats__txt p{color:rgba(255,255,255,.7);margin-bottom:var(--e3);max-width:56ch;font-size:var(--t-md)}
.ag-resultats__note{font-size:var(--t-xs)!important;padding-left:var(--e3);border-left:2px solid var(--sig);color:rgba(255,255,255,.55)!important}
.ag-resultats__grand{text-align:left;border-left:1px solid rgba(255,255,255,.12);padding-left:var(--e5)}
.ag-resultats__num{display:block;font-family:var(--dis);font-size:clamp(4rem,9vw,8rem);font-weight:800;line-height:.9;
letter-spacing:-.06em;color:var(--sig);font-variant-numeric:tabular-nums}
.ag-resultats__num small{font-size:.3em;margin-left:.2em;color:#fff;letter-spacing:-.02em}
.ag-resultats__grand>span{display:block;margin-top:var(--e3);color:rgba(255,255,255,.6);max-width:22ch;font-size:var(--t-sm)}

/* ---------- CMS ---------- */
.ag-cms{background:var(--fond2)}
.ag-cms__intro{font-size:var(--t-lg);color:var(--doux);max-width:60ch;margin-bottom:var(--e5);line-height:1.45}
.ag-cms__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e3)}
.ag-cms__col{background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc);padding:var(--e4);border-top:4px solid var(--trait)}
.ag-cms__col--plus{border-top-color:#17A34A}
.ag-cms__col--moins{border-top-color:var(--sig)}
.ag-cms__col--nous{border-top-color:var(--acc)}
.ag-cms__t{font-size:var(--t-md);margin-bottom:var(--e2)}
.ag-cms__col ul{font-size:var(--t-sm);color:var(--doux)}
.ag-cms__col li{padding-left:1rem;position:relative;margin-bottom:.5rem}
.ag-cms__col li::before{content:"";position:absolute;left:0;top:.62em;width:.32rem;height:.32rem;border-radius:50%;background:currentColor;opacity:.45}
.ag-cms__note{margin-top:var(--e4);font-style:italic;color:var(--doux);font-size:var(--t-sm)}

/* ---------- bandeau d'action ---------- */
.ag-bandeau-z{padding:0 0 var(--e8)}
.ag-bandeau{display:flex;align-items:center;justify-content:space-between;gap:var(--e5);
background:linear-gradient(120deg,var(--acc),var(--acc2));color:#fff;border-radius:calc(var(--rc)*1.4);
padding:var(--e6) var(--e6);box-shadow:var(--o4);position:relative;overflow:hidden}
.ag-bandeau::after{content:"";position:absolute;right:-8rem;top:-10rem;width:28rem;height:28rem;border-radius:50%;background:rgba(255,255,255,.1)}
.ag-bandeau__t{font-family:var(--dis);font-weight:800;font-size:var(--t-2xl);margin-bottom:.4rem;letter-spacing:-.04em;line-height:1}
.ag-bandeau p{opacity:.9;max-width:50ch;font-size:var(--t-md)}
.ag-bandeau__btn{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--acc2);
padding:1rem 1.7rem;border-radius:var(--pill);text-decoration:none;font-weight:700;flex:0 0 auto;z-index:1;
transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s}
.ag-bandeau__btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(0,0,0,.4)}
.ag-bandeau__btn svg{transition:transform .3s}
.ag-bandeau__btn:hover svg{transform:translateX(3px)}

/* ---------- methode : lignes, numeros geants evides ---------- */
.ag-etapes{border-top:1px solid var(--trait)}
.ag-etape{display:grid;grid-template-columns:8rem 1fr;gap:var(--e5);align-items:start;padding:var(--e5) 0;border-bottom:1px solid var(--trait);transition:background .3s}
.ag-etape__n{font-family:var(--dis);font-size:var(--t-3xl);font-weight:800;line-height:.9;letter-spacing:-.05em;
color:transparent;-webkit-text-stroke:1.5px var(--acc);transition:color .35s;font-variant-numeric:tabular-nums}
.ag-etape:hover .ag-etape__n{color:var(--acc)}
.ag-etape__c{max-width:60ch}
.ag-etape__t{font-size:var(--t-xl);margin-bottom:var(--e2);letter-spacing:-.03em}
.ag-etape p{font-size:var(--t-md);color:var(--doux)}

/* ---------- secteurs ---------- */
.ag-secteurs{background:var(--fond2);padding-bottom:var(--e6)}
.ag-secteurs .ag-lead{margin-bottom:var(--e5);font-weight:500;font-size:var(--t-xl)}
.ag-secteurs__defile{padding:var(--e3) 0;border-block:1px solid var(--trait)}

/* ---------- engagements ---------- */
.ag-args__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e4) var(--e6)}
.ag-arg{display:grid;grid-template-columns:3rem 1fr;gap:var(--e3);align-items:start;padding:var(--e4) 0;border-top:1px solid var(--trait)}
.ag-arg__p{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--encre);color:#fff}
.ag-arg h3{font-size:var(--t-lg);margin-bottom:.4rem;letter-spacing:-.025em}
.ag-arg p{color:var(--doux);font-size:var(--t-sm);grid-column:2}

/* ---------- maillage ---------- */
.ag-maillage{background:var(--fond2)}
.ag-maillage__vis{margin-bottom:var(--e6);padding:var(--e4);background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc)}
.ag-maille+.ag-maille{margin-top:var(--e5)}
.ag-maille__t{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--doux);font-weight:600;margin-bottom:var(--e3);padding-bottom:.6rem;border-bottom:1px solid var(--trait)}
.ag-maille__l{display:grid;gap:.4rem 1rem}
.ag-maille__l--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-maille__l--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ag-maille__l--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ag-maille__l a{text-decoration:none;color:var(--encre);font-size:var(--t-sm);font-weight:500}
.ag-maille__l a:hover{color:var(--acc)}
.ag-maille__l em{font-style:normal;color:var(--doux);font-size:var(--t-xs);margin-left:.35rem}
.ag-maillage__tout{margin-top:var(--e5)}

/* ---------- FAQ ---------- */
.ag-qr{border-bottom:1px solid var(--trait)}
.ag-qr summary{cursor:pointer;padding:1.4rem 3rem 1.4rem 0;font-weight:700;list-style:none;font-family:var(--dis);font-size:var(--t-lg);position:relative;letter-spacing:-.025em}
.ag-qr summary::-webkit-details-marker{display:none}
.ag-qr__s{position:absolute;right:.2rem;top:50%;width:1rem;height:1rem;margin-top:-.5rem}
.ag-qr__s::before,.ag-qr__s::after{content:"";position:absolute;background:var(--acc);border-radius:2px;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ag-qr__s::before{left:0;top:.42rem;width:1rem;height:.16rem}
.ag-qr__s::after{left:.42rem;top:0;width:.16rem;height:1rem}
.ag-qr[open] .ag-qr__s::after{transform:rotate(90deg)}
.ag-qr__r{padding:0 0 1.4rem;max-width:64ch}
.ag-qr__r p{color:var(--doux);font-size:var(--t-md)}

/* ---------- tarifs ---------- */
.ag-prix__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e4);align-items:stretch}
.ag-prix{background:var(--fond);border:1px solid var(--trait);border-radius:calc(var(--rc)*1.2);padding:var(--e5);display:flex;flex-direction:column;box-shadow:var(--o1)}
.ag-prix--vedette{background:var(--encre);color:#fff;border-color:transparent;box-shadow:var(--o4)}
.ag-prix--vedette .ag-prix__pour,.ag-prix--vedette .ag-prix__duree{color:rgba(255,255,255,.6)}
.ag-prix--vedette .ag-prix__montant{color:var(--sig)}
.ag-prix__ruban{align-self:flex-start;background:var(--sig);color:var(--encre);padding:.3rem .9rem;border-radius:var(--pill);font-size:var(--t-xs);font-weight:700;margin-bottom:var(--e3);text-transform:uppercase;letter-spacing:.1em}
.ag-prix__nom{font-size:var(--t-lg);margin-bottom:.3rem}
.ag-prix__montant{font-family:var(--dis);font-size:var(--t-2xl);font-weight:800;color:var(--acc2);letter-spacing:-.045em;line-height:1}
.ag-prix__duree{font-size:var(--t-xs);color:var(--doux);margin:.4rem 0 var(--e3)}
.ag-prix__pour{font-size:var(--t-sm);color:var(--doux);margin-bottom:var(--e3)}
.ag-coche{margin-bottom:var(--e4)}
.ag-coche li{position:relative;padding-left:1.6rem;margin-bottom:.55rem;font-size:var(--t-sm)}
.ag-coche li::before{content:"";position:absolute;left:.1rem;top:.42em;width:.62rem;height:.34rem;border-left:2.2px solid var(--acc);border-bottom:2.2px solid var(--acc);transform:rotate(-45deg)}
.ag-prix--vedette .ag-coche li::before{border-color:var(--sig)}
.ag-prix .ag-btn{margin-top:auto;justify-content:center}
.ag-prix--vedette .ag-btn--plein{background:#fff;color:var(--encre)}
.ag-tarifs__note{margin-top:var(--e5);color:var(--doux);font-size:var(--t-sm);max-width:76ch}

/* ---------- zones ---------- */
.ag-zones{background:var(--fond2)}
.ag-zones__vis{margin-bottom:var(--e6);padding:var(--e4);background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc)}
.ag-zones__t{font-size:var(--t-xl);margin:var(--e6) 0 var(--e3)}
.ag-zones__t em{font-style:normal;font-size:var(--t-xs);color:var(--doux);font-weight:400;font-family:var(--txt);letter-spacing:.1em;text-transform:uppercase}
.ag-zones__l{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem 1rem;font-size:var(--t-sm)}
.ag-zones__l a{text-decoration:none;color:var(--encre)}
.ag-zones__l a:hover{color:var(--acc)}
.ag-zones__l em{font-style:normal;color:var(--doux);font-size:var(--t-xs);margin-left:.3rem}

/* ---------- contact : sombre, formulaire clair pose dessus ---------- */
.ag-contact{background:var(--encre);color:#fff;padding:var(--e8) 0;position:relative;overflow:hidden}
.ag-contact::before{content:"";position:absolute;left:-14rem;bottom:-18rem;width:44rem;height:44rem;border-radius:50%;
background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 34%,transparent),transparent)}
.ag-contact__grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e7);align-items:start;position:relative}
.ag-contact__h2{color:#fff;font-size:clamp(2rem,3.4vw,3.3rem);max-width:20ch}
.ag-contact__p{color:rgba(255,255,255,.7);font-size:var(--t-md);max-width:46ch}
.ag-contact__coord{display:flex;flex-direction:column;gap:.6rem;margin-top:var(--e4)}
.ag-coord{display:flex;flex-direction:column;text-decoration:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.14);padding:.9rem 0;transition:padding-left .25s}
.ag-coord:hover{padding-left:.5rem}
.ag-coord__lab{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;opacity:.5}
.ag-coord__val{font-weight:650;font-size:var(--t-lg);font-family:var(--dis);letter-spacing:-.02em}
.ag-contact__ras{margin-top:var(--e4);display:flex;flex-direction:column;gap:.5rem}
.ag-contact__ras li{position:relative;padding-left:1.4rem;font-size:var(--t-xs);color:rgba(255,255,255,.62)}
.ag-contact__ras li::before{content:"";position:absolute;left:0;top:.42em;width:.55rem;height:.3rem;border-left:2px solid var(--sig);border-bottom:2px solid var(--sig);transform:rotate(-45deg)}
.ag-contact__form{background:var(--fond);color:var(--encre);border-radius:calc(var(--rc)*1.3);padding:var(--e5);box-shadow:var(--o4)}
.ag-form{display:block}
.ag-champ{margin-bottom:var(--e3);display:flex;flex-direction:column}
.ag-champ label{font-size:var(--t-xs);font-weight:600;margin-bottom:.35rem;color:var(--doux);text-transform:uppercase;letter-spacing:.08em}
.ag-champ input,.ag-champ select,.ag-champ textarea{font-size:var(--t-md);padding:.85rem 1rem;border:1.5px solid var(--trait);border-radius:var(--rx);background:var(--fond);width:100%;transition:border-color .18s,box-shadow .18s}
.ag-champ input:focus,.ag-champ select:focus,.ag-champ textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 16%,transparent)}
.ag-champ--accord label{flex-direction:row;display:flex;gap:.55rem;font-weight:400;font-size:var(--t-xs);align-items:flex-start;color:var(--doux);text-transform:none;letter-spacing:0}
.ag-champ--accord input{width:auto;margin-top:.2rem}
.ag-champ--envoi button{width:100%;background:var(--encre);color:#fff;border:0;border-radius:var(--pill);padding:1.05rem;font-weight:700;font-size:var(--t-md);cursor:pointer;transition:background .18s,transform .18s}
.ag-champ--envoi button:hover{background:var(--acc);transform:translateY(-1px)}
.ag-champ--envoi button:disabled{opacity:.6;cursor:wait;transform:none}
.ag-hors{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ag-etat{min-height:1.3em;font-size:var(--t-xs);margin-top:.6rem}
.ag-etat[data-etat="ok"]{color:#15803D;font-weight:600}
.ag-etat[data-etat="ko"]{color:#B91C1C;font-weight:600}

/* (ancien pied retire : voir « pied unique du gabarit ») */
/* ---------- barre mobile ---------- */
.ag-barre{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;gap:.5rem;padding:.6rem;background:color-mix(in srgb,var(--encre) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1)}
.ag-barre a{flex:1;text-align:center;padding:.85rem;border-radius:var(--pill);text-decoration:none;font-weight:650;font-size:var(--t-sm)}
.ag-barre__tel{border:1.5px solid rgba(255,255,255,.3);color:#fff}
.ag-barre__wa{background:#1FA855;color:#fff}
.ag-barre__cta{background:#fff;color:var(--encre)}

/* ---------- pages ville / canton / plateforme ---------- */
.ag-hero__grille--local{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}
.ag-fiche,.ag-carto{--encre:#fff;--doux:rgba(255,255,255,.6);--trait:rgba(255,255,255,.14);--fond:rgba(255,255,255,.06);
background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--rc);padding:var(--e4);
backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12)}
.ag-fiche .ag-visuel__leg,.ag-carto .ag-visuel__leg{color:rgba(255,255,255,.5)}
.ag-fiche__dl{margin:var(--e3) 0 0}
.ag-fiche__dl>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:var(--t-sm)}
.ag-fiche__dl dt{color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;font-size:var(--t-xs);padding-top:.2rem}
.ag-fiche__dl dd{margin:0;color:#fff;font-weight:600;line-height:1.4}
.ag-fiche__dl dd a{color:#9DB4FF;text-decoration:none}
.ag-fiche__dl dd a:hover{color:#fff}
.ag-fiche__tete{display:flex;align-items:center;gap:var(--e3);margin-bottom:var(--e2)}
.ag-fiche__mono{font-family:var(--dis);font-weight:800;font-size:2.6rem;line-height:1;color:#fff;letter-spacing:-.05em;
width:4.2rem;height:4.2rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--acc),var(--acc2));border-radius:var(--rx);flex:0 0 auto;
box-shadow:0 10px 30px -10px color-mix(in srgb,var(--acc) 80%,transparent)}
.ag-fiche__mono--logo svg{width:60%;height:60%;fill:#fff}
/* sur le hero sombre, le contour du canton doit se lire : trait plus clair */
.ag-fiche .ag-nu__terre,.ag-carto .ag-nu__terre{stroke:rgba(157,180,255,.75);fill:rgba(47,91,255,.14)}
.ag-fiche__nom{font-family:var(--dis);font-weight:800;font-size:var(--t-xl);letter-spacing:-.03em;color:#fff;line-height:1.05}
.ag-fiche__sous{color:rgba(255,255,255,.55);font-size:var(--t-sm)}
.ag-carto__chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e3);margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid rgba(255,255,255,.1)}
.ag-carto__chiffres b{display:block;font-family:var(--dis);font-size:var(--t-2xl);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--sig);font-variant-numeric:tabular-nums}
.ag-carto__chiffres b.ag-carto__txt{font-size:var(--t-lg);color:#fff;letter-spacing:-.02em}
.ag-carto__chiffres span{display:block;font-size:var(--t-xs);color:rgba(255,255,255,.55);margin-top:.35rem;line-height:1.35}
.ag-local,.ag-autour,.ag-communes,.ag-audit,.ag-compar-z,.ag-cmsloc{padding:var(--e8) 0}
.ag-local__grille,.ag-audit__grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--e7);align-items:center}
.ag-local__p,.ag-audit__p,.ag-compar__p{color:var(--doux);font-size:var(--t-md);max-width:58ch;margin-bottom:var(--e4)}
.ag-local .ag-coches,.ag-audit .ag-coches{font-size:var(--t-md)}
.ag-local__vis .ag-serp{max-width:32rem;margin-left:auto}
.ag-audit{background:var(--fond2)}
.ag-audit .ag-btn{margin-top:var(--e4)}
.ag-audit__liste{background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc);padding:var(--e5);box-shadow:var(--o2)}
.ag-autour{background:var(--fond2)}
.ag-communes__grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e3)}
.ag-commune{display:flex;flex-direction:column;gap:.2rem;padding:var(--e4);background:var(--fond);border:1px solid var(--trait);border-radius:var(--rc);
text-decoration:none;color:var(--encre);position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s}
.ag-commune::after{content:"";position:absolute;right:1.4rem;bottom:1.5rem;width:.6rem;height:.6rem;border-top:2px solid var(--acc);border-right:2px solid var(--acc);
transform:rotate(45deg) translate(-5px,5px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s}
.ag-commune:hover{transform:translateY(-4px);box-shadow:var(--o3);border-color:color-mix(in srgb,var(--acc) 40%,var(--trait))}
.ag-commune:hover::after{opacity:1;transform:rotate(45deg)}
.ag-commune__npa{font-family:var(--dis);font-weight:700;color:var(--acc);font-size:var(--t-xs);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.ag-commune b{font-family:var(--dis);font-size:var(--t-lg);font-weight:700;letter-spacing:-.025em;line-height:1.15;padding-right:1.5rem}
.ag-commune i{font-style:normal;color:var(--doux);font-size:var(--t-xs)}
.ag-pilules{display:flex;flex-wrap:wrap;gap:.45rem;margin:0}
.ag-pilules a{display:inline-block;padding:.45rem .95rem;border:1px solid var(--trait);border-radius:var(--pill);text-decoration:none;color:var(--encre);
font-size:var(--t-sm);font-weight:500;background:var(--fond);transition:border-color .2s,color .2s,transform .2s}
.ag-pilules a:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-1px)}
.ag-pilules--suite{margin-top:var(--e4)}
.ag-autour__cms{margin-top:var(--e5)}
.ag-autour__remonte{margin-top:var(--e4);display:flex;gap:var(--e4);flex-wrap:wrap}
.ag-cmsloc__t{margin-top:var(--e5)}
.ag-compar-z .ag-compar{margin-top:var(--e2)}

/* page 404 */
.ag-404{padding-bottom:var(--e7)}
.ag-404__code{font-family:var(--dis);font-weight:800;font-size:clamp(5rem,16vw,13rem);line-height:.85;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.35);margin-bottom:var(--e3)}
.ag-404__liens{padding:var(--e7) 0}
.ag-404__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}
.ag-404__grille .ag-maille__t{margin-bottom:var(--e3)}
@media(max-width:900px){.ag-404__grille{grid-template-columns:minmax(0,1fr)}}
/* pied unique du gabarit */
/* ---------- pied : appel final, index en lignes, signature ---------- */
.ag-pied{background:var(--encre2);color:rgba(255,255,255,.62);padding:var(--e7) 0 var(--e4);font-size:var(--t-sm);border-top:1px solid rgba(255,255,255,.08)}
.ag-pied__haut{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:var(--e5);align-items:center;padding-bottom:var(--e5);border-bottom:1px solid rgba(255,255,255,.1)}
.ag-pied__nom{font-family:var(--dis);font-weight:800;font-size:var(--t-xl);color:#fff;letter-spacing:-.035em}
.ag-pied__base{opacity:.55;margin-top:.2rem}
.ag-pied__acc{font-size:var(--t-md);color:rgba(255,255,255,.75);max-width:44ch}
.ag-pied__index{display:grid;gap:.8rem;padding:var(--e5) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ag-pied__grp{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline}
.ag-pied__grp span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--sig);font-weight:600;min-width:8.5rem}
.ag-pied__grp a{color:rgba(255,255,255,.7);text-decoration:none}
.ag-pied__grp a:hover{color:#fff}
.ag-pied__bas{display:flex;justify-content:space-between;align-items:center;gap:var(--e4);flex-wrap:wrap;padding-top:var(--e4);font-size:var(--t-xs)}
.ag-pied__coord{display:flex;gap:var(--e5);flex-wrap:wrap}
.ag-pied__coord .ag-coord{border:0;padding:0}
.ag-pied__coord .ag-coord__val{font-size:var(--t-md)}
.ag-pied__bas a{color:inherit}
@media(max-width:900px){.ag-pied__haut{grid-template-columns:minmax(0,1fr)}.ag-pied__grp span{min-width:100%}}

@media(max-width:1100px){
/* menu mobile : panneau plein ecran sous l'en-tete, groupes replies */
.ag-nav{display:block;position:absolute;top:100%;left:0;right:0;height:calc(100vh - 4.4rem);height:calc(100dvh - 4.4rem);margin:0;background:var(--encre);padding:var(--e3) 4vw var(--e7);overflow-y:auto;
transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility 0s .4s;z-index:39}
.ag-nav[data-ouvert]{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.ag-nav__l1{flex-direction:column;gap:0}
.ag-nav__it{border-bottom:1px solid rgba(255,255,255,.1)}
.ag-nav__l{width:100%;justify-content:space-between;padding:1.05rem 0;font-size:var(--t-lg);font-family:var(--dis);font-weight:700;letter-spacing:-.02em;color:#fff;border-radius:0}
.ag-nav__l:hover{background:none}
.ag-nav__l svg{width:14px;height:9px;transition:transform .3s}
.ag-nav__it--sous[data-ouvert] .ag-nav__l svg{transform:rotate(180deg)}
.ag-nav__vol,.ag-nav__it--sous:hover .ag-nav__vol{display:none;position:static;box-shadow:none;border:0;background:transparent;padding:0 0 var(--e3);min-width:0;color:#fff}
.ag-nav__it--sous[data-ouvert] .ag-nav__vol,.ag-nav__it--sous[data-ouvert]:hover .ag-nav__vol{display:block}
.ag-nav__vol ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.ag-nav__vol a{padding:.6rem .75rem;background:rgba(255,255,255,.06);border-radius:10px}
.ag-nav__vol a b{color:#fff;font-size:var(--t-sm)}
.ag-nav__vol a i{color:rgba(255,255,255,.5)}
.ag-nav__pied{display:grid;gap:.6rem;margin-top:var(--e5)}
.ag-nav__pied .ag-btn,.ag-nav__pied .ag-wa{justify-content:center}
.ag-nav__tel{display:flex;flex-direction:column;color:#fff;text-decoration:none;font-family:var(--dis);font-weight:700;font-size:var(--t-lg);margin-bottom:var(--e2)}
.ag-nav__tel span{font-family:var(--txt);font-weight:500;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.ag-burger{display:flex}
.ag-tete__tel{display:none}
.ag-hero__grille,.ag-hero__grille--local,.ag-resultats__grille,.ag-contact__grille,.ag-constat__grille,.ag-local__grille,.ag-audit__grille{grid-template-columns:minmax(0,1fr)}
.ag-communes__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-local__vis .ag-serp{margin-left:0;max-width:none}
.ag-resultats__grand{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.12);padding-top:var(--e4)}
.ag-bento,.ag-bento--plat{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-carte--large{grid-column:span 2;grid-row:span 1}
.ag-cms__grille,.ag-prix__grille,.ag-pied__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-zones__l,.ag-maille__l--4,.ag-maille__l--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ag-etape{grid-template-columns:5rem 1fr;gap:var(--e4)}
}
@media(max-width:680px){
body{font-size:16px;padding-bottom:4.6rem}
.ag-tete__cta{display:none}
.ag-tete__int{height:4rem}
.ag-nav{height:calc(100vh - 4rem);height:calc(100dvh - 4rem)}
.ag-hero{padding-top:var(--e3)}
.ag-hero__grille{padding-bottom:var(--e5)}
.ag-hero__h1{font-size:clamp(2.3rem,10.5vw,3.3rem)}
.ag-hero__h1--long{font-size:clamp(2rem,8.6vw,2.8rem)}
.ag-hero__act{flex-direction:column;align-items:stretch;gap:.6rem}
.ag-hero__act .ag-btn,.ag-hero__act .ag-wa{justify-content:center;white-space:normal;text-align:center}
.ag-btn__ville{display:none}
.ag-marque__txt b{font-size:.95rem}
.ag-mesure__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-mesure__i{padding:var(--e4) var(--e3)}
.ag-mesure__i:nth-child(odd){border-left:0;padding-left:0}
.ag-mesure__i:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
.ag-bento,.ag-bento--plat,.ag-args__grille,.ag-cms__grille,.ag-prix__grille{grid-template-columns:minmax(0,1fr)}
/* cartes de communes : deux par ligne, compactes — douze cartes empilees faisaient un ecran et demi de vide */
.ag-communes__grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.ag-commune{padding:var(--e3);border-radius:14px}
.ag-commune b{font-size:var(--t-md);padding-right:0}
.ag-commune::after{display:none}
.ag-fiche__dl>div{grid-template-columns:minmax(0,1fr);gap:.2rem}
.ag-carto__chiffres{gap:var(--e2)}
.ag-local,.ag-autour,.ag-communes,.ag-audit,.ag-compar-z,.ag-cmsloc{padding:var(--e6) 0}
/* cibles tactiles : tout lien texte fait au moins 32 px de haut */
.ag-maille__l a,.ag-zones__l a,.ag-pied__grp a{display:inline-block;padding:.4rem 0}
.ag-nav__vol a{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .8rem;min-height:44px}
.ag-ariane a,.ag-ariane li{padding:.3rem 0;display:inline-block}
.ag-marque{padding:.4rem 0}
.ag-burger{min-height:44px;min-width:44px;justify-content:center}
.ag-pied__bas a,.ag-lienfl{display:inline-block;padding:.45rem 0}
.ag-pied__coord{flex-direction:column;gap:.9rem}
.ag-pied__coord .ag-coord{display:flex;gap:.2rem;padding:.3rem 0}
.ag-fiche__dl dd a,.ag-pilules a{display:inline-block;padding:.3rem 0}
.ag-pilules a{padding:.5rem .95rem}
.ag-carte--large{grid-column:span 1}
.ag-zones__l,.ag-maille__l--4,.ag-maille__l--3,.ag-maille__l--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-bandeau{flex-direction:column;align-items:flex-start;padding:var(--e5) var(--e4)}
.ag-etape{grid-template-columns:1fr;gap:var(--e2)}
.ag-barre{display:flex}
.ag-constat,.ag-presta,.ag-resultats,.ag-methode,.ag-secteurs,.ag-args,.ag-faq,.ag-maillage,.ag-cms,.ag-tarifs,.ag-zones,.ag-texte,.ag-contact{padding:var(--e6) 0}
.ag-contact__form{padding:var(--e4)}
.ag-contact__h2{font-size:var(--t-2xl)}
}