/* Keyboard, form feedback and motion preferences across all pages. */
:focus-visible {
  outline: 3px solid var(--primary);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #fff;
}
.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 4000;
  padding: .8rem 1rem;
  border-radius: 8px;
  background: #fff;
  color: var(--primary);
  font-weight: 700;
  transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
#main-content:focus { outline: none; }
[id] { scroll-margin-top: calc(var(--header-height) + 1rem); }
.site-header:focus-within { transform: none; }
.contact-form a, .error-box a, .legal p a { text-decoration: underline; text-underline-offset: .18em; }
.field-error { margin: .4rem 0 0; color: #8a1f1f; font-weight: 600; }
.form-hint { margin: .35rem 0 0; font-size: .9rem; }
.contact-form [aria-invalid="true"] { border: 2px solid #8a1f1f; }
.error-box p { color: inherit; }
.error-box p:last-child { margin-bottom: 0; }
.button:disabled { cursor: wait; opacity: .75; transform: none; }
.contact-form [type="checkbox"], .consent-option input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.before-after { aspect-ratio: 4 / 3; min-height: 0; }
.before-after__img, .before-after__after img { position: absolute; inset: 0; min-height: 0; }
.before-after:focus-within { outline: 3px solid var(--primary); outline-offset: 4px; }
.before-after__range:focus-visible ~ .before-after__handle span { outline: 3px solid var(--primary); outline-offset: 3px; }
.reference-card:focus-within { outline: 3px solid var(--primary); outline-offset: 4px; }
body.has-open-dialog { overflow: hidden; }
.consent-modal { position: fixed; inset: 0; z-index: 3000; }
.consent-modal[hidden] { display: none; }
.consent-modal__dialog { max-height: calc(100dvh - 2rem); overflow-y: auto; }
.consent-modal__dialog h2 { padding-right: 2rem; }
.consent-modal__close {
  position: absolute; right: .7rem; top: .7rem;
  width: 44px; height: 44px;
  border: 1px solid var(--line); border-radius: 50%;
  background: #fff; color: var(--primary); font-size: 1.8rem; cursor: pointer;
}
.consent-modal__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.footer-bottom p { color: var(--header-footer-muted); }
.footer-social-link { min-width: 44px; min-height: 44px; justify-content: center; }
.review-source, .ads-quick-proof strong { color: var(--accent-text); }
.about-value-card span { color: var(--accent-text); }
.about-hero .eyebrow, .ads-hero .eyebrow { color: #ffd6b6; }
.ads-offer-highlight, .ads-offer-highlight span, .ads-offer-highlight strong, .ads-offer-highlight small { color: #143223; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reference-card:hover img, .reference-card:hover, .button:hover { transform: none !important; }
}
@media (max-width: 640px) {
  .ads-hero {
    background-image: linear-gradient(120deg, rgba(15,59,39,.94) 0%, rgba(15,59,39,.86) 44%, rgba(10,46,29,.68) 100%), url('/assets/img/optimized/hero-cf71b1fa-640.webp');
  }
}
