/* Production-only behavior for the reference callback design. */
.v94-dock[data-rappel-live] {
  position: fixed;
  z-index: 1000;
  top: auto;
  right: 30px;
  bottom: 30px;
  transform: none;
}
.v94-dock[data-rappel-live][hidden] { display: none !important; }
.v94-dock[data-rappel-live].is-over-contact-form .rp-launcher { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .v94-dock[data-rappel-live].is-ringing .rp-launcher i {
    position: relative;
    transform-origin: 50% 65%;
    animation: nq-callback-ring .58s ease-in-out .18s 5;
  }
  .v94-dock[data-rappel-live].is-ringing .rp-launcher i::after {
    content: '';
    position: absolute;
    inset: -5px;
    border: 2px solid var(--yellow);
    border-radius: 50%;
    pointer-events: none;
    animation: nq-callback-pulse 1s ease-out .2s 3;
  }
  @keyframes nq-callback-ring {
    0%, 100% { transform: rotate(0deg); }
    18%, 55% { transform: rotate(-23deg) translateX(-1px); }
    37%, 76% { transform: rotate(23deg) translateX(1px); }
  }
  @keyframes nq-callback-pulse {
    0% { opacity: .9; transform: scale(.75); }
    100% { opacity: 0; transform: scale(1.55); }
  }
}
.rp-form-status {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.4;
}
.rp-form-status[data-error] { color: #b7331d; }
.nq-context-link { color: inherit; text-decoration: none; }
.nq-context-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Accessible text contrast while retaining the export's shapes and typography. */
.home-services-card--commerce .home-services-card-category,
.contact-sticker,
.mseo-sheet-content > span { color: #251418; }

.hpc-count > span,
.v94-ba-labels span:first-child,
.cs5-facts dt,
.cs6-meta dt,
.city6-case small { color: #7b6870; opacity: 1; }

.v9-post-meta { color: #857078; opacity: 1; }

.v94-audit-form small,
.v94-report li span { color: #806b74; opacity: 1; }

.v94-plan > span,
.cs9-page figcaption small { color: #775f68; opacity: 1; }

.mseo-ingredients-list article > span { color: #7457ac; }
.hero--v5 .hero5-bar span { color: #4e3f49; }

/* This oversized wordmark is an incidental decorative graphic. */
.footer-watermark::before { content: 'nous quatre'; }

@media (max-width: 700px) {
  .v94-dock[data-rappel-live] { right: 12px; bottom: 12px; }
  .v94-dock[data-rappel-live] .rp-card { width: min(340px, calc(100vw - 24px)); }
}

/* On narrow Ads landings, keep the hero's two links tappable before showing the floating call CTA. */
@media (max-width: 360px) {
  .v94-dock[data-rappel-live].is-over-hero-actions .rp-launcher { display: none; }
}
