/* Existing site: keyboard access, progressive enhancement and mobile fixes. */
.dln-skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 5000;
  padding: 12px 18px; border-radius: 10px; background: #fff; color: #0f172a;
  font-weight: 700; box-shadow: 0 8px 28px #0003;
}
.dln-skip-link:focus { top: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #c49b66; outline-offset: 4px;
}
.mobile-menu { width: min(300px, 90vw); height: 100vh; height: 100dvh; overflow-y: auto; }
.lightbox-close { min-width: 44px; min-height: 44px; }
.contact-map iframe { display: block; width: 100%; max-width: 100%; }
.ph-form-status a { color: #0f172a; text-decoration: underline; }
/* Covers use img src so CSS variables cannot redirect them to css/img/. */
.service-hero-photo, .service-cta-photo {
  position: absolute; inset: 0; z-index: 0;
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.service-cta-box {
  position: relative; isolation: isolate; overflow: hidden; background: #090c10;
}
.service-cta-box::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(110deg, rgba(9,12,16,.74), rgba(9,12,16,.35));
}
.service-cta-content { position: relative; z-index: 2; }
.premium-home-page .ph-reveal { opacity: 1; transform: none; }
.premium-home-page .ph-story-image { display: block; }
.premium-home-page .ph-compare-wrap { touch-action: pan-y; }
.premium-home-page .ph-compare-overlay { width: 100%; clip-path: inset(0 50% 0 0); }
@media (prefers-reduced-motion: no-preference) {
  .dln-motion .premium-home-page .ph-reveal { opacity: 0; transform: translateY(34px); }
  .dln-motion .premium-home-page .ph-reveal.active { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
