:root{--ink: #f4f2ef;--ink-dim: rgba(244, 242, 239, .72);--pad: clamp(14px, 2.4vw, 28px);--pad-l: calc(var(--pad) + env(safe-area-inset-left, 0px));--pad-b: calc(var(--pad) + env(safe-area-inset-bottom, 0px));--pad-t: calc(var(--pad) + env(safe-area-inset-top, 0px));--pad-r: calc(var(--pad) + env(safe-area-inset-right, 0px));--barre: 46px;--adex-h: clamp(17px, 2.4vh, 24px);--adex-padv: 12px;--adex-img: calc(var(--adex-h) * 7.52);--info-max: calc(100vw - var(--pad-l) - var(--pad-r) - var(--adex-img) - 18px);--shadow: 0 1px 3px rgba(0, 0, 0, .85), 0 0 22px rgba(0, 0, 0, .45);--alert: #ffcf5c;--alert-ink: #221a05;--urbain: #a2be16;--urbain-survol: #aec91a;--urbain-appui: #94ae12;--cta-encre: #14180a;--cta-fond2: #171b10;--logo-bande: calc(clamp(26px, 4.2vh, 46px) + 18px) }*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0d0d0f;color:var(--ink);font:400 16px/1.5 Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}#viewer{position:fixed;inset:0}#lien-logo{position:fixed;top:var(--pad-t);left:var(--pad-l);z-index:41;display:block;line-height:0;padding:0 14px 18px 0;-webkit-tap-highlight-color:transparent;transition:opacity .22s ease}#lien-logo[hidden]{display:none}#lien-logo:hover{opacity:.82}#lien-logo:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}#logo{display:block;height:clamp(26px,4.2vh,46px);width:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.95)) drop-shadow(0 0 9px rgba(0,0,0,.85)) drop-shadow(0 0 24px rgba(0,0,0,.8))}#appels{position:fixed;top:var(--pad-t);right:var(--pad-r);z-index:42;pointer-events:none}#menu-bouton{display:none}#menu-panneau{display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.mp-sur,.mp-titre,.mp-detail{display:none}.cta{pointer-events:auto;display:flex;align-items:center;justify-content:center;text-decoration:none;font-family:inherit;line-height:1.2;letter-spacing:.01em;white-space:nowrap;border-radius:12px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.cta-1{min-height:64px;padding:20px 34px;font-size:clamp(1rem,1.1vw,1.14rem);font-weight:700;background:var(--urbain);color:var(--cta-encre);border:1px solid var(--cta-encre);box-shadow:0 2px 4px #00000042,0 8px 22px #0000004d}.cta-1:hover{background:var(--urbain-survol);transform:translateY(-1.5px);box-shadow:0 3px 5px #00000042,0 12px 28px #00000057}.cta-1:active{background:var(--urbain-appui);transform:translateY(0);box-shadow:0 1px 3px #0000004d}.cta-2{min-height:44px;padding:10px 17px;font-size:.78rem;font-weight:600;background:var(--cta-fond2);color:var(--ink);border:1px solid rgba(162,190,22,.55);box-shadow:0 1px 2px #0000003d,0 4px 14px #00000042}.cta-2:hover{border-color:var(--urbain);transform:translateY(-1.5px);box-shadow:0 2px 3px #0000003d,0 8px 20px #0000004d}.cta-2:active{transform:translateY(0)}.cta:focus-visible,#menu-bouton:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px #00000080,0 4px 14px #00000047}@media(max-width:560px){html.js #menu-bouton{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--cta-encre);border-radius:12px;background:var(--urbain);color:var(--cta-encre);font-family:inherit;font-size:.84rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 2px 4px #00000042,0 8px 20px #00000047;transition:background-color .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent}html.js #menu-bouton:active{background:var(--urbain-appui);transform:translateY(0)}.mb-barres{position:relative;display:block;width:17px;height:2px;border-radius:2px;background:currentColor}.mb-barres:before,.mb-barres:after{content:"";position:absolute;left:0;width:17px;height:2px;border-radius:2px;background:currentColor}.mb-barres:before{top:-6px}.mb-barres:after{top:6px}#appels[data-ouvert] .mb-barres{background:transparent}#appels[data-ouvert] .mb-barres:before{top:0;transform:rotate(45deg)}#appels[data-ouvert] .mb-barres:after{top:0;transform:rotate(-45deg)}html.js #menu-panneau{pointer-events:auto;position:fixed;top:calc(var(--pad-t) + 44px + 10px);right:var(--pad-r);left:var(--pad-l);align-items:stretch;gap:10px;padding:16px;border:1px solid rgba(162,190,22,.4);border-radius:16px;background:var(--cta-fond2);box-shadow:0 18px 44px #0000008c;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}html.js #appels[data-ouvert] #menu-panneau{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease,visibility 0s}html.js #menu-panneau .cta{white-space:normal;text-align:center}html.js #menu-panneau .cta-1{width:100%;min-height:68px;padding:20px 18px;font-size:1.02rem}html.js #menu-panneau .cta-2{width:auto;align-self:center;padding:11px 18px;font-size:.82rem}html.js .mp-sur,html.js .mp-titre,html.js .mp-detail{display:block}.mp-sur{margin:2px 0 0;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim)}.mp-titre{margin:0 0 4px;font-size:1.24rem;font-weight:600;line-height:1.15;color:var(--ink)}.mp-detail{margin:2px 0 0;padding:12px 0 0;list-style:none;border-top:1px solid rgba(244,242,239,.14)}.mp-detail li+li{margin-top:2px}.mp-detail a{display:flex;align-items:center;min-height:44px;color:var(--ink-dim);font-size:.88rem;text-decoration:none}.mp-detail a:hover{color:var(--ink)}.mp-detail a:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}html.js #menu-voile{position:fixed;inset:0;z-index:41;background:#00000073;-webkit-tap-highlight-color:transparent}html.js #menu-voile[hidden]{display:none}}#adexweb{position:fixed;right:calc(var(--pad-r) - 12px);bottom:calc(var(--pad-b) + var(--barre) - var(--adex-padv));z-index:40;display:block;padding:var(--adex-padv) 12px;line-height:0;opacity:.78;filter:drop-shadow(0 0 3px rgba(255,255,255,.7)) drop-shadow(0 0 10px rgba(255,255,255,.45)) drop-shadow(0 1px 2px rgba(0,0,0,.6));transition:opacity .22s ease;-webkit-tap-highlight-color:transparent}#adexweb img{display:block;height:var(--adex-h);width:auto}#adexweb:hover,#adexweb:focus-visible{opacity:.95}#adexweb:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}#scene-info{position:fixed;left:var(--pad-l);bottom:calc(var(--pad-b) + var(--barre));z-index:40;pointer-events:none;max-width:min(60vw,30rem,var(--info-max));text-shadow:var(--shadow)}#scene-zone{margin:0 0 2px;font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim)}#scene-label{margin:0;font-size:clamp(1.15rem,2.6vw,1.7rem);font-weight:600;line-height:1.2;text-wrap:balance}#missing-screen{position:fixed;inset:0;z-index:70;display:grid;place-content:center;padding:clamp(1rem,4vw,2.5rem);background:#000000db;overflow-y:auto}#missing-screen[hidden]{display:none}.ms-box{max-width:34rem;display:flex;flex-direction:column;gap:.55rem;border:2px solid var(--alert);border-radius:12px;padding:clamp(1.1rem,3vw,1.9rem);background:#1c16068c}.ms-tag{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--alert)}.ms-id{margin:0;font-size:clamp(1.5rem,4.4vw,2.1rem);font-weight:700;line-height:1.1;font-family:ui-monospace,Cascadia Code,Consolas,monospace;color:var(--ink)}.ms-name{margin:0;font-size:1.02rem;color:var(--ink)}#missing-screen .when{margin:0;font-size:.87rem;line-height:1.5;color:var(--ink-dim)}#missing-screen code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.82rem;color:var(--alert);overflow-wrap:anywhere}.ms-lead{margin:.5rem 0 0;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.ms-go{display:flex;flex-wrap:wrap;gap:.5rem}.ms-go button{cursor:pointer;border:1px solid rgba(255,207,92,.5);border-radius:8px;background:#ffcf5c1a;color:var(--ink);padding:.5rem .85rem;font:inherit;font-size:.9rem;min-height:44px}.ms-go button:hover{background:#ffcf5c38}.ms-go button:focus-visible{outline:2px solid var(--alert);outline-offset:2px}body.is-missing #viewer canvas{filter:grayscale(1) brightness(.45) contrast(1.1)}#boot{position:fixed;inset:0;z-index:80;margin:0;display:grid;place-content:center;background:#0d0d0f;color:var(--ink-dim);font-size:.95rem;letter-spacing:.04em}#boot[hidden]{display:none}#ecran-erreur,.err-noscript{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:0;padding:calc(var(--pad-t) + 8px) var(--pad-r) var(--pad-b) var(--pad-l);background:radial-gradient(120% 90% at 50% 0%,#1b1b20,#0d0d0f 62%);color:var(--ink);text-align:center;overflow-y:auto}#ecran-erreur[hidden]{display:none}.err-boite{display:contents}.err-logo{width:min(230px,56vw);height:auto;margin-bottom:clamp(22px,4.5vh,40px)}.err-titre{margin:0 0 .55rem;font-size:clamp(1.28rem,1.05rem + 1.1vw,1.85rem);font-weight:600;letter-spacing:-.01em;line-height:1.24}.err-texte{margin:0 0 .35rem;max-width:42ch;font-size:clamp(.97rem,.93rem + .2vw,1.06rem);color:var(--ink)}.err-piste{margin:0 0 clamp(24px,4vh,34px);max-width:40ch;font-size:.9rem;line-height:1.55;color:var(--ink-dim)}.err-bouton{display:inline-block;min-height:44px;padding:12px 26px;border:1px solid rgba(244,242,239,.3);border-radius:3px;color:var(--ink);font-size:.92rem;font-weight:500;letter-spacing:.03em;text-decoration:none;transition:background-color .16s ease,border-color .16s ease}.err-bouton:hover,.err-bouton:focus-visible{background:#f4f2ef1a;border-color:#f4f2ef8c}.err-bouton:focus-visible{outline:2px solid var(--alert);outline-offset:3px}.err-aide{margin:clamp(38px,7vh,62px) 0 .7rem;font-size:.82rem;letter-spacing:.02em;color:#f4f2ef85}.err-agence{display:inline-flex;align-items:center;min-height:44px;padding:10px 6px;opacity:.62;transition:opacity .16s ease}.err-agence img{display:block;width:auto;height:20px}.err-agence:hover,.err-agence:focus-visible{opacity:1}.err-agence:focus-visible{outline:2px solid var(--alert);outline-offset:3px}body.en-erreur #viewer,body.en-erreur #scene-info,body.en-erreur #adexweb,body.en-erreur #lien-logo,body.en-erreur #appels,body.en-erreur #menu-voile,body.en-erreur #missing-screen{display:none}.psv-marker.mk-ground{fill:#ffeec7;fill-opacity:.1;stroke:#fff6e2;stroke-opacity:.92;stroke-width:3px;stroke-linejoin:round;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 11px rgba(255,214,130,.4));animation:mk-ground-pulse 3.6s ease-in-out infinite}.psv-marker.mk-ground.is-survol{animation:none;fill-opacity:.3;stroke-opacity:1;stroke-width:4px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(255,214,130,.72))}.psv-marker.mk-chevron{pointer-events:none;fill:#fff6e2;fill-opacity:.3;stroke:#fff6e2;stroke-opacity:.55;stroke-width:1.4px;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));transition:fill-opacity .16s ease,stroke-opacity .16s ease}.psv-marker.mk-chevron.is-survol{fill-opacity:.66;stroke-opacity:.95}.psv-marker.mk-cible{background:transparent;cursor:pointer}.psv-tooltip.tip-sol{margin-top:-15px}@keyframes mk-ground-pulse{0%,to{fill-opacity:.08;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(255,214,130,.24))}50%{fill-opacity:.24;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(255,214,130,.55))}}.psv-marker.mk-floating{min-width:44px;min-height:44px;cursor:pointer;transition:transform .16s ease,filter .16s ease;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}.psv-marker.mk-floating:hover{transform:scale(1.09)}.psv-tooltip{font-size:.85rem}@media(prefers-reduced-motion:reduce){.psv-marker.mk-floating{transition:none}.psv-marker.mk-ground{animation:none;fill-opacity:.16}.psv-marker.mk-chevron,.cta,#menu-bouton{transition:none}.cta:hover{transform:none}html.js #menu-panneau,html.js #appels[data-ouvert] #menu-panneau{transition:none;transform:none}}.psv-navbar{background:linear-gradient(to top,#000000b8,#0000);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.psv-navbar--open{bottom:env(safe-area-inset-bottom,0px)}.psv--is-touch .psv-navbar .psv-button{padding:12px}.psv--is-touch .psv-navbar .psv-button-svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.psv-container{background:#0d0d0f}#viewer,.psv-container,.psv-canvas-container{touch-action:none;overscroll-behavior:none}@media(max-width:560px){:root{--barre: 50px;--adex-h: 15px;--adex-padv: 15px}#scene-info{max-width:min(78vw,var(--info-max))}.ms-box{padding:1rem}html:not(.js) #appels{top:calc(var(--pad-t) + var(--logo-bande))}html:not(.js) #menu-panneau{gap:7px}html:not(.js) .cta-1{min-height:52px;padding:12px 18px;font-size:.92rem;border-radius:10px}html:not(.js) .cta-2{padding:9px 14px;font-size:.78rem;border-radius:10px}}@media(max-width:400px){html.js #menu-bouton{gap:8px;padding:0 13px;font-size:.8rem}}

/* ============================================================
   LE BANDEAU D'HEBERGEUR.  Ajoute le 2026-08-31.

   POURQUOI IL EXISTE : cette page portait, sur adexweb.com, le logo
   de L'Urbain, son telephone, son courriel et deux boutons vers son
   formulaire — et de nous, une image et un attribut `alt`. Un moteur
   de reputation lit du texte : il voyait le domaine A afficher
   l'identite de la marque B. C'est la forme d'une page d'usurpation,
   et c'est ce qui aurait fait mal tourner la classification.

   LE DECALAGE SE FAIT PAR `--pad-t`, ET C'EST DELIBERE. Ecraser les
   quatre `top` un par un obligeait a rejouer `html:not(.js) #appels`
   et `html.js #menu-panneau`, tous deux a (1,1,1) : un `#appels` nu
   a (1,0,0) aurait perdu la cascade en silence, et le bandeau aurait
   recouvert les boutons d'appel sur telephone. Une variable ne se
   dispute pas — les quatre regles la lisent deja.
   ============================================================ */
:root{
  --bandeau-h: 44px;
  --bh-logo: clamp(15px, 2.1vh, 20px);
  --pad-t: calc(var(--pad) + env(safe-area-inset-top, 0px) + var(--bandeau-h))
}

#bandeau-hote{
  position:fixed; top:0; left:0; right:0; z-index:210;
  display:flex; align-items:center; gap:clamp(9px, 1.6vw, 16px);
  height:calc(var(--bandeau-h) + env(safe-area-inset-top, 0px));
  padding:0 var(--pad-r) 0 var(--pad-l);
  padding-top:env(safe-area-inset-top, 0px);
  background:linear-gradient(to bottom, #0d0d0fe6, #0d0d0fbf 62%, #0d0d0f00);
  border-bottom:1px solid rgba(244,242,239,.10)
}
/* LE BANDEAU PASSE AU-DESSUS DE TOUT, ECRANS D'ERREUR COMPRIS (z 210).
   Il etait a 90, sous `#ecran-erreur` et `.err-noscript` (z 200), et
   c'etait le defaut le plus grave : un classificateur sans WebGL ou
   sans JS ne voit JAMAIS la visite — il tombe sur l'un de ces deux
   ecrans. Ils montrent le logo de L'Urbain en vert vif et son bouton
   de retour ; le `<noscript>` ne portait AUCUNE marque ADEXWEB. La
   surface la plus souvent lue par une machine etait donc celle qui
   affichait 100 % de la marque du client sur notre domaine.
   Le bandeau est du chrome de page : il se voit dans TOUS les etats.
   `#ecran-erreur` reserve deja sa hauteur — son `padding` du haut lit
   `--pad-t`, qui contient `--bandeau-h`. */
#bandeau-hote .bh-marque{
  flex:0 0 auto; display:block; line-height:0; padding:6px 0;
  -webkit-tap-highlight-color:transparent; transition:opacity .22s ease
}
#bandeau-hote .bh-marque:hover{opacity:.82}
#bandeau-hote .bh-marque:focus-visible{outline:2px solid var(--ink); outline-offset:3px; border-radius:4px}
/* LE LOGO EST NAVY, LE BANDEAU EST NOIR : 2,56:1 MESURE.
   Le PNG rend (80,84,102) de moyenne sur ses pixels opaques — sur
   `#0d0d0f`, il disparait. `brightness(0) invert(1)` en fait un
   aplat blanc, 19:1, du meme blanc que la phrase a cote. La marque
   du bas garde le navy : elle est posee sur la photo, pas sur le
   bandeau, et son halo blanc la porte deja. */
#bandeau-hote img{
  display:block; height:var(--bh-logo); width:auto;
  filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.6))
}
.bh-phrase{
  margin:0; min-width:0;
  font-size:clamp(.67rem, 1.55vw, .82rem); line-height:1.28;
  letter-spacing:.005em; color:var(--ink-dim); text-wrap:balance
}
.bh-phrase b{font-weight:700; color:var(--ink)}

/* LE PIED EN TOUTES LETTRES. `display:contents` : le `<footer>` ne
   cree aucune boite, donc `#adexweb` garde le placement fixe qu'il
   avait deja et `--info-max` comme `body.en-erreur` continuent de le
   viser sans une ligne de changement. */
#pied-hote{display:contents}
#adexweb{line-height:1}
.adex-mot{
  display:block; margin-top:5px; text-align:right;
  font-size:clamp(10px, 1.4vh, 12px); font-weight:600;
  letter-spacing:.06em; color:var(--ink-dim)
}
#adexweb:hover .adex-mot,#adexweb:focus-visible .adex-mot{color:var(--ink)}

@media(max-width:560px){
  :root{--bandeau-h: 54px}
  .bh-phrase{font-size:.68rem}
}
@media(max-width:400px){
  :root{--bandeau-h: 60px; --bh-logo: 13px}
  .bh-phrase{font-size:.64rem; line-height:1.24}
}
@media(prefers-reduced-motion:reduce){
  #bandeau-hote .bh-marque{transition:none}
}

/* LA MARQUE DE L'ECRAN D'ERREUR ETAIT NAVY SUR NOIR, A 62 %.
   Meme defaut que le bandeau, sur l'ecran qu'une machine voit le plus.
   Meme remede : aplat blanc, pleine opacite. */
.err-agence{opacity:.9}
.err-agence img{filter:brightness(0) invert(1)}
.err-agence:hover,.err-agence:focus-visible{opacity:1}
