/* freelance-site-internet-jura.ch — gabarit consultant */
:root{
--acc:#1d4ed8;--acc2:#1e3a8a;--rouille:#B5461F;
--encre:#17211D;--doux:#5B655F;--fond:#FAF9F6;--fond2:#f2f6fd;--trait:#DDD9D0;
--dis:'Fraunces',Georgia,'Times New Roman',serif;--txt:'Source Sans 3','Segoe UI',system-ui,sans-serif;

--t-xs:clamp(0.796rem,0.714rem + .12vw,0.998rem);
--t-sm:clamp(0.857rem,0.816rem + .16vw,1.152rem);
--t-md:clamp(1.020rem,0.979rem + .2vw,1.357rem);
--t-lg:clamp(1.224rem,1.122rem + .5vw,1.792rem);
--t-xl:clamp(1.530rem,1.275rem + 1.2vw,2.688rem);
--t-2xl:clamp(1.989rem,1.530rem + 2.2vw,3.840rem);
--t-3xl:clamp(2.448rem,1.734rem + 3.4vw,5.376rem);
--t-4xl:clamp(2.958rem,1.938rem + 4.8vw,7.168rem);
--e1:.35rem;--e2:.7rem;--e3:1.1rem;--e4:1.7rem;--e5:2.6rem;--e6:4rem;--e7:6rem;--e8:9rem;--marge:6.5rem;
}

*,*::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:18px;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:600;
letter-spacing:-.01em}
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}
.co-saut{position:absolute;left:-9999px;z-index:999}
.co-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. */
.co-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 .co-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 .co-rev[data-vu]{opacity:1;transform:none}

/* ---------- bandeau défilant ---------- */
.co-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)}
.co-defile__piste{display:flex;gap:2.5rem;width:max-content;animation:co-defiler 42s linear infinite}
.co-defile:hover .co-defile__piste{animation-play-state:paused}
@keyframes co-defiler{to{transform:translateX(-50%)}}

/* ---------- sections longues : on ne peint que ce qui est à l'écran ---------- */
.co-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 .co-rev{opacity:1;transform:none}
  .co-defile__piste{animation:none;width:auto;flex-wrap:wrap}
}
html,body{overflow-x:clip}

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

/* ---------- SERP ---------- */
.co-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)}
.co-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)}
.co-serp__req{font-size:.83rem;color:var(--encre)}
.co-serp__liste{display:flex;flex-direction:column;gap:var(--serp-gap,.3rem);--serp-h:4.6rem;--serp-gap:.3rem}
.co-serp__item{height:var(--serp-h);padding:.6rem .8rem;border-radius:10px;position:relative;overflow:hidden}
.co-serp__url{font-size:.68rem;color:var(--doux);letter-spacing:.01em}
.co-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}
.co-serp__desc{display:flex;flex-direction:column;gap:.28rem;margin-top:.4rem}
.co-serp__desc span{height:.36rem;border-radius:2px;background:color-mix(in srgb,var(--encre) 9%,transparent)}
.co-serp__desc span:last-child{width:62%}
.co-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)}
.co-serp__item--nous .co-serp__titre{color:var(--acc)}
.co-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 .co-serp[data-vu] .co-serp__item--nous{animation:co-monte 1.5s cubic-bezier(.16,1,.3,1) .25s both;z-index:1}
.js .co-serp[data-vu] .co-serp__rang span{animation:co-rang 1.5s steps(1) .25s both}
@keyframes co-monte{0%,45%{transform:translateY(calc(3 * (var(--serp-h) + var(--serp-gap))))}100%{transform:translateY(0)}}
.js .co-serp[data-vu] .co-serp__item:not(.co-serp__item--nous){animation:co-descend 1.5s cubic-bezier(.16,1,.3,1) .25s both}
@keyframes co-descend{0%,45%{transform:translateY(calc(-1 * (var(--serp-h) + var(--serp-gap))))}100%{transform:translateY(0)}}
@keyframes co-rang{0%{content:"4"}100%{content:"1"}}

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

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

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

/* ---------- fenêtre ---------- */
.co-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)}
.co-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)}
.co-fen__barre i{width:.5rem;height:.5rem;border-radius:50%;background:color-mix(in srgb,var(--encre) 18%,transparent)}
.co-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)}
.co-fen__corps{padding:1.1rem}
.co-fen__nav{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem}
.co-fen__nav b{width:2.6rem;height:.62rem;border-radius:3px;background:var(--acc)}
.co-fen__nav u{width:1.5rem;height:.42rem;border-radius:3px;background:color-mix(in srgb,var(--encre) 13%,transparent)}
.co-fen__h1{height:1.15rem;width:70%;border-radius:4px;background:color-mix(in srgb,var(--encre) 78%,transparent);margin-bottom:.7rem}
.co-fen__p{height:.45rem;border-radius:3px;background:color-mix(in srgb,var(--encre) 11%,transparent);margin-bottom:.35rem}
.co-fen__p--court{width:66%;margin-bottom:1rem}
.co-fen__grille{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.co-fen__grille span{height:3.1rem;border-radius:6px;background:color-mix(in srgb,var(--encre) 8%,transparent)}
.co-fen__cta{height:1.5rem;width:38%;border-radius:6px;background:var(--acc)}
.js .co-fen[data-vu] .co-fen__nav,.js .co-fen[data-vu] .co-fen__h1,
.js .co-fen[data-vu] .co-fen__p,.js .co-fen[data-vu] .co-fen__grille span,
.js .co-fen[data-vu] .co-fen__cta{animation:co-bloc .55s cubic-bezier(.16,1,.3,1) var(--r,0ms) both}
@keyframes co-bloc{from{opacity:0;transform:translateY(9px) scaleX(.94);transform-origin:left}}

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

/* ---------- carte reelle : contour du canton qui se trace ---------- */
.co-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}
.co-nu__terre--on{fill:color-mix(in srgb,var(--acc) 12%,transparent)}
.js .co-carte .co-nu__terre{stroke-dasharray:1;stroke-dashoffset:1}
.js .co-carte[data-vu] .co-nu__terre{animation:co-terre 1.6s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes co-terre{to{stroke-dashoffset:0}}
.co-carte .co-nu__pt{opacity:.22}
.co-carte .co-nu__pt--on{opacity:.9}

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

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

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

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

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

@media(prefers-reduced-motion:reduce){
  .js .co-serp[data-vu] .co-serp__item--nous,
  .js .co-graph[data-vu] .co-gr__trait,.js .co-graph[data-vu] .co-gr__aire,.js .co-graph[data-vu] .co-gr__pt,
  .js .co-nuage[data-vu] .co-nu__pt,.js .co-nuage[data-vu] .co-nu__pt--on,
  .js .co-devis[data-vu] .co-devis__l li,.js .co-fen[data-vu] *,
  .js .co-cwv[data-vu] .co-cwv__arc,.js .co-maillage[data-vu] *,
  .js .co-coches *,.js .co-mot,.js .co-compar *,.js .co-nuage[data-vu] .co-nu__halo{animation:none!important}
  .js .co-coches .co-coches__i,.js .co-mot,.js .co-compar .co-compar__l{opacity:1;transform:none}
  .js .co-coches .co-coches__v{stroke-dashoffset:0}
  .js .co-carte .co-nu__terre{stroke-dashoffset:0;animation:none!important}
  .js .co-graph .co-gr__trait{stroke-dashoffset:0}
  .js .co-graph .co-gr__aire,.js .co-graph .co-gr__pt{opacity:1}
}
.co-page{width:min(1080px,91vw);margin-inline:auto}
.co-h1{font-family:var(--dis);font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:var(--e4);max-width:18ch;font-weight:600;font-variation-settings:"opsz" 144}
.co-h1--annexe{font-size:clamp(2rem,4vw,3.2rem)}
.co-h1--long{font-size:clamp(2rem,3.9vw,3.5rem);max-width:22ch}
.co-h2{font-family:var(--dis);font-size:var(--t-2xl);line-height:1.1;letter-spacing:-.015em;margin-bottom:var(--e4);font-weight:600;font-variation-settings:"opsz" 96;max-width:24ch}
.co-sur{font-family:var(--dis);font-style:italic;font-size:var(--t-md);color:var(--acc);margin-bottom:var(--e3);font-variation-settings:"opsz" 30}
.co-chapo{font-size:var(--t-lg);line-height:1.5;max-width:60ch;color:color-mix(in srgb,var(--encre) 84%,var(--doux))}
.co-lead{font-family:var(--dis);font-size:var(--t-xl);line-height:1.3;font-weight:400;font-variation-settings:"opsz" 60;margin-bottom:var(--e4)}
.co-note{font-family:var(--dis);font-style:italic;color:var(--doux);border-left:2px solid var(--acc);padding-left:var(--e3);margin-top:var(--e4);font-variation-settings:"opsz" 30}
.co-lien{color:var(--acc);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;border-bottom:1px solid var(--acc)}
.co-lien svg{transition:transform .25s}.co-lien:hover svg{transform:translateX(3px)}
.co-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;background:var(--acc);color:#fff;text-decoration:none;font-weight:600;font-size:var(--t-sm);border-radius:3px;transition:background .2s,transform .2s}
.co-btn:hover{background:var(--acc2);transform:translateY(-1px)}
.co-btn svg{transition:transform .25s}.co-btn:hover svg{transform:translateX(3px)}
.co-btn--grand{padding:1rem 1.7rem;font-size:var(--t-md)}
.co-wa{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.3rem;border:1px solid var(--trait);border-radius:3px;text-decoration:none;color:var(--encre);font-weight:600;font-size:var(--t-sm);background:#fff;transition:border-color .2s}
.co-wa:hover{border-color:var(--encre)}
.co-wa__ico{color:#128C3E}

/* en-tete : titre courant d'un rapport */
.co-tete{background:var(--fond);border-bottom:1px solid var(--encre);position:sticky;top:0;z-index:40}
.co-tete__int{display:flex;align-items:center;gap:var(--e4);min-height:4.2rem;flex-wrap:wrap}
.co-titre-courant{display:flex;flex-direction:column;text-decoration:none;color:var(--encre);margin-right:auto;line-height:1.15}
.co-titre-courant b{font-family:var(--dis);font-weight:600;font-size:1.05rem}
.co-titre-courant span{font-size:var(--t-xs);color:var(--doux);text-transform:uppercase;letter-spacing:.12em}
.co-acces{position:absolute;left:-9999px;top:0;background:var(--acc);color:#fff;padding:.5rem 1rem;z-index:100}
.co-acces:focus{left:1rem;top:1rem}
.co-nav{display:flex;gap:.1rem;align-items:center}
.co-nav>a,.co-nav__t{padding:.4rem .55rem;text-decoration:none;color:var(--encre);font-size:var(--t-sm);font-weight:600;white-space:nowrap}
.co-nav>a:hover{color:var(--acc)}
/* groupes deroulants : le libelle reste, la liste s'ouvre au survol ou au clavier */
.co-nav__g{position:relative;display:inline-block}
.co-nav__t{cursor:default;color:var(--doux);display:inline-block;background:none;border:0;font:inherit;font-weight:600}
.co-nav__pied{display:none}
.co-menu-btn[aria-expanded="true"]{background:var(--encre);color:var(--fond)}
html.menu-ouvert{overflow:hidden}
html.menu-ouvert .co-barre{display:none!important}
.co-barre{transition:transform .3s cubic-bezier(.16,1,.3,1)}
html.cta-visible .co-barre{transform:translateY(120%)} /* un CTA est deja a l'ecran : la barre s'efface */ /* le panneau porte deja WhatsApp + devis : pas de doublon */
.co-nav__g>a{display:none;padding:.45rem .9rem;text-decoration:none;color:var(--encre);font-size:var(--t-sm);white-space:nowrap}
.co-nav__g>a:hover{color:var(--acc);background:var(--fond2)}
.co-nav__g::after{content:"";position:absolute;left:0;right:0;top:100%;height:.6rem}
.co-nav__g:hover>a,.co-nav__g:focus-within>a{display:block}
.co-nav__g:hover .co-nav__t,.co-nav__g:focus-within .co-nav__t{color:var(--acc)}
.co-nav__g:hover>a:first-of-type,.co-nav__g:focus-within>a:first-of-type{margin-top:.6rem}
.co-nav__g:hover>a,.co-nav__g:focus-within>a{position:relative;z-index:50}
.co-nav__g:hover>.co-nav__vol,.co-nav__g:focus-within>.co-nav__vol{display:block}
.co-nav__g:hover,.co-nav__g:focus-within{z-index:50}
.co-nav__g:hover>a:not(.co-nav__t){background:#fff}
.co-nav__g:hover>a:first-of-type{border-top:1px solid var(--trait)}
.co-nav__g:hover>a,.co-nav__g:focus-within>a{position:absolute;left:0;min-width:12rem;border-inline:1px solid var(--trait)}
.co-nav__g:hover>a:last-of-type,.co-nav__g:focus-within>a:last-of-type{border-bottom:1px solid var(--trait);box-shadow:0 12px 30px -12px rgba(23,33,29,.35)}
.co-nav__g:hover>a:nth-of-type(1),.co-nav__g:focus-within>a:nth-of-type(1){top:calc(100% + .5rem + 0 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(2),.co-nav__g:focus-within>a:nth-of-type(2){top:calc(100% + .5rem + 1 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(3),.co-nav__g:focus-within>a:nth-of-type(3){top:calc(100% + .5rem + 2 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(4),.co-nav__g:focus-within>a:nth-of-type(4){top:calc(100% + .5rem + 3 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(5),.co-nav__g:focus-within>a:nth-of-type(5){top:calc(100% + .5rem + 4 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(6),.co-nav__g:focus-within>a:nth-of-type(6){top:calc(100% + .5rem + 5 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(7),.co-nav__g:focus-within>a:nth-of-type(7){top:calc(100% + .5rem + 6 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(8),.co-nav__g:focus-within>a:nth-of-type(8){top:calc(100% + .5rem + 7 * 2.2rem)}
.co-nav__g:hover>a:nth-of-type(9),.co-nav__g:focus-within>a:nth-of-type(9){top:calc(100% + .5rem + 8 * 2.2rem)}
.co-tel{font-weight:600;text-decoration:none;color:var(--encre);font-variant-numeric:tabular-nums;font-size:var(--t-sm);white-space:nowrap}
.co-tete__cta{padding:.55rem 1rem;font-size:var(--t-xs)}
.co-menu-btn{display:none;border:1px solid var(--encre);background:none;padding:.35rem .8rem;font:inherit;font-weight:600;cursor:pointer;border-radius:3px}

.co-ariane ol{display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--t-xs);color:var(--doux);margin-bottom:var(--e3);text-transform:uppercase;letter-spacing:.08em}
.co-ariane li+li::before{content:"/";margin-right:.4rem}
.co-ariane a{color:var(--doux);text-decoration:none}.co-ariane a:hover{color:var(--acc)}

/* hero */
.co-hero{padding:var(--e3) 0 var(--e5);background:var(--fond)}
.co-hero--annexe{padding-bottom:var(--e5);border-bottom:1px solid var(--trait)}
.co-hero__int{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:var(--e6);align-items:start}
.co-hero__act{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-top:var(--e5)}
.co-fiche{border-top:2px solid var(--encre);padding-top:var(--e3);margin-top:var(--e4)}
.co-fiche__t{font-family:var(--dis);font-style:italic;color:var(--acc);margin-bottom:var(--e2);font-variation-settings:"opsz" 30}
.co-fiche__mono{width:3.2rem;height:3.2rem;display:grid;place-items:center;background:var(--encre);color:#fff;border-radius:4px;margin-bottom:var(--e2);font-family:var(--dis);font-weight:600;font-size:1.5rem}
.co-fiche__mono--logo svg{width:60%;height:60%;fill:#fff}
.co-fiche dl{margin:0}
.co-fiche dl>div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--trait);font-size:var(--t-sm)}
.co-fiche dt{color:var(--doux);text-transform:uppercase;letter-spacing:.08em;font-size:var(--t-xs);padding-top:.15rem}
.co-fiche dd{margin:0;font-weight:600}

/* figures : encadre a filet, legende en italique */
.co-fig{border:1px solid var(--trait);background:#fff;padding:var(--e4);margin:var(--e5) 0}
.co-fig--int{margin-top:var(--e5)}
.co-fig figcaption{font-family:var(--dis);font-style:italic;font-size:var(--t-sm);color:var(--doux);margin-bottom:var(--e3);max-width:70ch;font-variation-settings:"opsz" 30}
.co-fig figcaption b{font-style:normal;color:var(--acc);font-weight:600}
.co-courbe{--acc:#1d4ed8}

/* sommaire */
.co-sommaire{padding:var(--e4) 0 var(--e5);border-top:1px solid var(--encre);border-bottom:1px solid var(--trait);margin-bottom:var(--e3)}
.co-sommaire__t{font-family:var(--dis);font-style:italic;color:var(--doux);margin-bottom:var(--e2);font-variation-settings:"opsz" 30}
.co-sommaire ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.3rem 2rem;counter-reset:none}
.co-sommaire a{display:flex;gap:.8rem;text-decoration:none;color:var(--encre);padding:.35rem 0;border-bottom:1px dotted var(--trait);font-size:var(--t-sm)}
.co-sommaire a:hover{color:var(--acc)}
.co-sommaire span{font-family:var(--dis);color:var(--acc);min-width:1.2rem;font-weight:600}

/* chapitres : numero en marge */
.co-chap{padding:var(--e6) 0}
.co-chap+.co-chap{border-top:1px solid var(--trait)}
.co-chap__int{display:grid;grid-template-columns:var(--marge) minmax(0,1fr);gap:var(--e4)}
.co-chap__marge{position:relative}
.co-chap__num{position:sticky;top:5.5rem;font-family:var(--dis);font-style:italic;color:var(--acc);font-size:var(--t-lg);font-variation-settings:"opsz" 60;display:block}
.co-chap__corps{max-width:72ch}
.co-chap__corps>p{font-size:var(--t-md);margin-bottom:var(--e3);color:color-mix(in srgb,var(--encre) 86%,var(--doux))}
.co-chap__corps>.co-lead{color:var(--encre)}
.co-chap__suite{margin-top:var(--e4)}
.co-chap--pos{background:var(--fond2)}
.co-chap--annexe .co-chap__corps{max-width:none}
.co-prose h2{font-family:var(--dis);font-size:var(--t-lg);margin:var(--e5) 0 var(--e2)}
.co-prose p{margin-bottom:var(--e3);color:var(--doux);max-width:72ch}
.co-manque{color:var(--rouille);font-style:italic}

/* liste numerotee (chapitre 2) */
.co-liste{margin:0}
.co-liste li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:var(--e2);padding:var(--e3) 0;border-top:1px solid var(--trait)}
.co-liste__n{font-family:var(--dis);color:var(--acc);font-size:var(--t-md);font-variation-settings:"opsz" 30;padding-top:.15rem}
.co-liste h3{font-family:var(--dis);font-size:var(--t-lg);font-weight:600;margin-bottom:.3rem}
.co-liste p{color:var(--doux);margin:0}

/* indicateurs */
.co-ind{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3) var(--e5)}
.co-ind>div{border-top:1px solid var(--trait);padding-top:var(--e2)}
.co-ind dt{font-family:var(--dis);font-size:var(--t-md);font-weight:600;margin-bottom:.3rem}
.co-ind dd{margin:0;color:var(--doux);font-size:var(--t-sm)}
.co-cwv__val{font-family:var(--dis)}

/* CMS */
.co-cms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e4)}
.co-cms__b h3{font-family:var(--dis);font-size:var(--t-md);font-weight:600;margin-bottom:var(--e2);padding-bottom:.4rem;border-bottom:1px solid var(--encre)}
.co-cms__b ul{padding-left:1.1em;color:var(--doux);font-size:var(--t-sm)}
.co-cms__b li{margin-bottom:.4rem}

/* tableau des formats : la derniere colonne porte le texte, les autres restent etroites */
.co-tab{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.co-tab th,.co-tab td{text-align:left;padding:1rem 1.2rem 1rem 0;border-bottom:1px solid var(--trait);vertical-align:top;line-height:1.5}
.co-tab thead th{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--doux);font-weight:600;border-bottom:1px solid var(--encre)}
.co-tab tbody th{font-family:var(--dis);font-size:var(--t-md);font-weight:600;white-space:nowrap}
.co-tab tbody td:last-child{width:52%}
.co-tab__prix{font-family:var(--dis);font-weight:600;color:var(--acc);white-space:nowrap}
.co-tab__num{font-variant-numeric:tabular-nums;color:var(--doux)}
.co-formats{border-top:1px solid var(--encre)}
.co-format{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--e4);padding:var(--e4) 0;border-bottom:1px solid var(--trait)}
.co-format__g{display:flex;flex-direction:column;gap:.2rem}
.co-format__g b{font-family:var(--dis);font-size:var(--t-lg);font-weight:600;line-height:1.15}
.co-format__g span{font-size:var(--t-sm);color:var(--doux)}
.co-format__prix{font-family:var(--dis);font-weight:600;color:var(--acc)!important;font-size:var(--t-md)!important;margin-top:.3rem}
.co-format p{margin:0;color:color-mix(in srgb,var(--encre) 84%,var(--doux));font-size:var(--t-md)}
.co-tab--communes tbody td:last-child{width:auto}
.co-tab--communes th a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--trait)}
.co-tab--communes th a:hover,.co-tab--communes td a:hover{color:var(--acc);border-bottom-color:var(--acc)}
.co-tab--communes td a{color:var(--acc);text-decoration:none}
.co-fig .co-coches{font-size:var(--t-md)}
.co-fiche dd a{color:var(--acc);text-decoration:none}
.co-compar__l--ici{background:color-mix(in srgb,var(--acc) 8%,transparent)!important;box-shadow:inset 0 0 0 1px var(--acc)}

/* position */
.co-pos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e4) var(--e5)}
.co-pos__i h3{font-family:var(--dis);font-size:var(--t-lg);font-weight:600;margin-bottom:.4rem;line-height:1.2}
.co-pos__i h3::before{content:"—";color:var(--acc);margin-right:.5rem}
.co-pos__i p{color:var(--doux);font-size:var(--t-sm)}

/* maillage */
.co-maille+.co-maille{margin-top:var(--e4)}
.co-maille h3{font-family:var(--dis);font-style:italic;font-weight:400;font-size:var(--t-md);color:var(--doux);margin-bottom:var(--e2);font-variation-settings:"opsz" 30}
.co-maille__l{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0;font-size:var(--t-sm)}
.co-maille__l a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--trait)}
.co-maille__l a:hover{color:var(--acc);border-bottom-color:var(--acc)}

/* FAQ */
.co-qr__l{display:grid;gap:var(--e4)}
.co-qr__q{font-family:var(--dis);font-size:var(--t-lg);font-weight:600;margin-bottom:.4rem;line-height:1.25}
.co-qr__r{color:var(--doux);margin:0}

/* zones */
.co-zones{padding:var(--e6) 0}
.co-zones__t{margin-top:var(--e5)}
.co-zones__t em{font-family:var(--dis);font-style:italic;font-weight:400;font-size:var(--t-sm);color:var(--doux)}
.co-zones__l{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0;font-size:var(--t-sm)}
.co-zones__l a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--trait)}
.co-zones__l a:hover{color:var(--acc)}

/* contact */
.co-contact{background:var(--encre);color:var(--fond);padding:var(--e7) 0}
.co-contact__int{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--e6);align-items:start}
.co-contact .co-sur{color:#8FD3B3}
.co-contact__h2{color:var(--fond);max-width:18ch}
.co-contact__p{color:rgba(250,249,246,.72);font-size:var(--t-md);max-width:48ch}
.co-contact__coord{margin:var(--e4) 0 var(--e3)}
.co-contact .co-coord{color:var(--fond);border-bottom-color:rgba(250,249,246,.18)}
.co-contact .co-wa{background:transparent;color:var(--fond);border-color:rgba(250,249,246,.3)}
.co-contact .co-wa:hover{border-color:var(--fond)}
.co-coord{display:flex;flex-direction:column;text-decoration:none;color:var(--encre);border-bottom:1px solid var(--trait);padding:.7rem 0}
.co-coord__lab{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.co-coord__val{font-family:var(--dis);font-weight:600;font-size:var(--t-lg)}
.co-contact__d{background:var(--fond);color:var(--encre);padding:var(--e5);border-radius:4px}
.co-champ{margin-bottom:var(--e3);display:flex;flex-direction:column}
.co-champ label{font-size:var(--t-xs);font-weight:600;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.08em;color:var(--doux)}
.co-champ input,.co-champ select,.co-champ textarea{font-size:var(--t-md);padding:.8rem .9rem;border:1px solid var(--trait);border-radius:3px;width:100%;background:#fff}
.co-champ input:focus,.co-champ select:focus,.co-champ textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.co-champ--accord label{flex-direction:row;display:flex;gap:.5rem;font-weight:400;text-transform:none;letter-spacing:0;font-size:var(--t-xs);align-items:flex-start}
.co-champ--accord input{width:auto;margin-top:.22rem}
.co-champ--envoi button{width:100%;background:var(--acc);color:#fff;border:0;border-radius:3px;padding:1rem;font-family:var(--txt);font-weight:600;font-size:var(--t-md);cursor:pointer;transition:background .2s}
.co-champ--envoi button:hover{background:var(--acc2)}
.co-hors{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.co-etat{min-height:1.3em;font-size:var(--t-xs);margin-top:.6rem}
.co-etat[data-etat="ok"]{color:#15803D;font-weight:600}.co-etat[data-etat="ko"]{color:var(--rouille);font-weight:600}

/* (ancien pied retire : voir « pied unique du gabarit ») */
.co-barre{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;gap:.5rem;padding:.6rem;background:var(--fond);border-top:1px solid var(--encre)}
.co-barre a{flex:1;text-align:center;padding:.8rem;border-radius:3px;text-decoration:none;font-weight:600;font-size:var(--t-sm);border:1px solid var(--encre);color:var(--encre)}
.co-barre__wa{background:#DCF7E6}.co-barre__cta{background:var(--acc);color:#fff;border-color:var(--acc)}

/* page 404 */
.co-404__code{font-family:var(--dis);font-style:italic;font-weight:400;font-size:clamp(4rem,12vw,9rem);line-height:.95;color:var(--acc);font-variation-settings:"opsz" 144;margin-bottom:var(--e3);opacity:.85}
/* pied unique du gabarit */
/* colophon : paragraphe + index en liste de definitions */
.co-colophon{background:var(--fond);border-top:1px solid var(--encre);padding:var(--e6) 0 var(--e4);font-size:var(--t-sm)}
.co-colophon__int{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--e6);align-items:start}
.co-colophon__nom{font-family:var(--dis);font-weight:600;font-size:var(--t-lg);margin-bottom:var(--e2)}
.co-colophon__p{font-family:var(--dis);font-style:italic;color:var(--doux);font-variation-settings:"opsz" 30;max-width:40ch;margin-bottom:var(--e3)}
.co-colophon__coord .co-coord{padding:.5rem 0}
.co-colophon__coord .co-coord__val{font-size:var(--t-md)}
.co-colophon__index{margin:0}
.co-colophon__index dt{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--doux);font-weight:600;margin:0 0 .4rem;padding-bottom:.3rem;border-bottom:1px solid var(--encre)}
.co-colophon__index dd{margin:0 0 var(--e4);display:flex;flex-wrap:wrap;gap:.3rem 1rem}
.co-colophon__index dd a{color:var(--encre);text-decoration:none}
.co-colophon__index dd a:hover{color:var(--acc)}
.co-colophon__bas{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--trait);color:var(--doux);font-size:var(--t-xs)}
.co-colophon__bas a{color:inherit}
@media(max-width:900px){.co-colophon__int{grid-template-columns:minmax(0,1fr)}}

@media(max-width:1280px){.co-tel{display:none}}
@media(max-width:1000px){
/* menu mobile : sommaire en panneau, groupes replies */
.co-nav{display:flex;flex-direction:column;align-items:stretch;position:fixed;top:4.2rem;left:0;right:0;bottom:0;background:var(--fond);border-top:1px solid var(--encre);padding:var(--e3) 4.5vw var(--e7);overflow-y:auto;
transform:translateY(-10px);opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s,visibility 0s .3s;z-index:39}
.co-nav[data-ouvert]{transform:none;opacity:1;visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s}
.co-nav>a,.co-nav__t{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.95rem 0;font-family:var(--dis);font-weight:600;font-size:var(--t-lg);color:var(--encre);border-bottom:1px solid var(--trait);text-align:left;cursor:pointer}
.co-nav__t::after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid var(--acc);border-bottom:1.5px solid var(--acc);transform:rotate(45deg);transition:transform .3s;margin-right:.3rem}
.co-nav__g[data-ouvert] .co-nav__t::after{transform:rotate(225deg)}
.co-nav__g{display:block;position:static;background:none;box-shadow:none;border:0}
.co-nav__g>a,.co-nav__g:hover>a,.co-nav__g:focus-within>a{display:none;position:static!important;border:0!important;box-shadow:none!important;margin:0!important;padding:.55rem 0 .55rem 1.2rem;background:none;font-size:var(--t-md);color:var(--encre);top:auto!important;min-width:0}
.co-nav__g[data-ouvert]>a{display:block!important}
.co-nav__g[data-ouvert]{padding-bottom:var(--e2);border-bottom:1px solid var(--trait)}
.co-nav__pied{display:grid;gap:.7rem;margin-top:var(--e5)}
.co-nav__pied .co-btn,.co-nav__pied .co-wa{justify-content:center}
.co-nav__tel{font-family:var(--dis);font-weight:600;font-size:var(--t-lg);color:var(--encre);text-decoration:none;display:flex;flex-direction:column;margin-bottom:var(--e2)}
.co-nav__tel i{font-family:var(--txt);font-style:normal;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--doux)}
.co-menu-btn{display:block}
.co-tel,.co-tete__cta{display:none}
.co-hero__int,.co-contact__int{grid-template-columns:minmax(0,1fr)}
.co-chap__int{grid-template-columns:minmax(0,1fr);gap:var(--e2)}
.co-chap__num{position:static}
.co-cms{grid-template-columns:minmax(0,1fr)}
.co-colophon__g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
body{padding-bottom:4.6rem;font-size:17px}
.co-hero__act{flex-direction:column;align-items:stretch}
.co-hero__act .co-btn,.co-hero__act .co-wa{justify-content:center}
.co-hero__act .co-lien{align-self:flex-start}
.co-barre{display:flex}
.co-ind,.co-pos,.co-colophon__g{grid-template-columns:minmax(0,1fr)}
.co-fiche dl>div,.co-format{grid-template-columns:minmax(0,1fr)}
.co-maille__l a,.co-zones__l a,.co-colophon__index dd a,.co-tab--communes th a{display:inline-block;padding:.4rem 0}
.co-ariane a,.co-ariane li{display:inline-block;padding:.3rem 0}
.co-sommaire a{padding:.55rem 0}
.co-menu-btn{min-height:44px}
.co-colophon__bas a,.co-lien{display:inline-block;padding:.4rem 0}
.co-tab:not(.co-tab--communes){display:block;overflow-x:auto;white-space:normal}
.co-tab:not(.co-tab--communes) thead{display:none}
.co-tab:not(.co-tab--communes) tr{display:block;padding:var(--e3) 0;border-bottom:1px solid var(--trait)}
.co-tab:not(.co-tab--communes) th,.co-tab:not(.co-tab--communes) td{display:block;border:0;padding:.2rem 0;width:auto}
.co-tab--communes th,.co-tab--communes td{padding:.6rem .5rem .6rem 0}
.co-fig{padding:var(--e3)}
.co-contact__d{padding:var(--e4)}
}