/* Le sceau VV sur toutes les cartes contact (accueil, pages services, pied des fiches), 2026-10-24.
   Même comportement que sur la page identité visuelle : plein au repos ; au survol, au focus ou à la
   démonstration tactile (.trace), le plein devient un contour d'1 px et ses quarante points apparaissent. */

.contact-carte .sceau, .pied-contact .sceau {
  position: absolute;
  top: 40px;
  right: 44px;
  display: block;
  width: clamp(120px, 13vw, 220px);
  border-radius: 0;
  color: var(--bg);
  pointer-events: none;
}
.pied-contact { position: relative; }
.pied-contact .sceau { width: clamp(96px, 9vw, 150px); color: var(--encre-teinte, var(--fg)); }
.contact-carte .sceau .sceau-svg, .pied-contact .sceau .sceau-svg { display: block; width: 100%; height: auto; overflow: visible; transition: none; }

.contact-carte .sceau-plein, .pied-contact .sceau-plein { fill: currentColor; fill-opacity: 0.92; transition: fill-opacity 0.5s var(--courbe); }
.contact-carte .sceau-contour, .pied-contact .sceau-contour {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--trait, 0.45);
  stroke-dasharray: 1 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 0.7s var(--courbe);
}
.contact-carte .sceau-metriques, .pied-contact .sceau-metriques {
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  stroke-dasharray: 2 4;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  transition: opacity 0.4s var(--courbe);
}
.contact-carte .sceau-noeuds path, .pied-contact .sceau-noeuds path {
  fill: none;
  stroke: currentColor;
  stroke-width: 0;
  stroke-linecap: square;
  vector-effect: non-scaling-stroke;
  transition: stroke-width 0.5s var(--courbe);
  transition-delay: calc(var(--i) * 9ms);
}
:is(.contact-carte, .pied-contact):is(:hover, .capte, :focus-visible, .trace) .sceau-plein { fill-opacity: 0.08; }
:is(.contact-carte, .pied-contact):is(:hover, .capte, :focus-visible, .trace) .sceau-contour { stroke-dashoffset: 0; }
:is(.contact-carte, .pied-contact):is(:hover, .capte, :focus-visible, .trace) .sceau-metriques { opacity: 0.35; }
:is(.contact-carte, .pied-contact):is(:hover, .capte, :focus-visible, .trace) .sceau-noeuds path { stroke-width: 4px; }
/* La page a bougé sous un pointeur immobile (html.sans-survol, source) : le sceau reste plein */
html.sans-survol :is(.contact-carte, .pied-contact):not(.trace):hover .sceau-plein { fill-opacity: 0.92; }
html.sans-survol :is(.contact-carte, .pied-contact):not(.trace):hover .sceau-contour { stroke-dashoffset: 1; }
html.sans-survol :is(.contact-carte, .pied-contact):not(.trace):hover .sceau-metriques { opacity: 0; }
html.sans-survol :is(.contact-carte, .pied-contact):not(.trace):hover .sceau-noeuds path { stroke-width: 0; }

@media (max-width: 759px) {
  .contact-carte .sceau, .pied-contact .sceau { top: 26px; right: 24px; width: 84px; }
}
