html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 60; border-radius: .5rem; background: #0F172A; color: #fff; padding: .75rem 1rem; font-weight: 700; }
.skip-link:focus { top: 1rem; }
.hero-surface { background: radial-gradient(circle at 88% 18%, rgba(3,105,161,.12), transparent 26rem), linear-gradient(180deg, #fff 0%, #f8fafc 100%); }
.check-dot, .stat-icon, .contact-check { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 9999px; font-weight: 700; }
.check-dot { width: 1.25rem; height: 1.25rem; background: #e0f2fe; color: #0369a1; }
.stat-icon { width: 2.2rem; height: 2.2rem; background: #eff6ff; color: #0369a1; }
.hero-product-card::after { content: ''; position: absolute; inset: auto 10% -1rem; height: 2rem; border-radius: 9999px; background: rgba(15,23,42,.14); filter: blur(1.5rem); z-index: -1; }
.contact-offer { background-image: radial-gradient(circle at 100% 0%, rgba(14,165,233,.36), transparent 18rem); }
.contact-check { width: 1.35rem; height: 1.35rem; background: rgba(255,255,255,.16); color: #7dd3fc; }

.video-placeholder { background-image: radial-gradient(circle at 50% 20%, rgba(3, 105, 161, .5), transparent 24rem); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: #0369A1; font-size: 1.35rem; line-height: 1; }
.faq-item[open] summary::after { content: "–"; }
.faq-item[open] { background: #fff; box-shadow: 0 10px 25px rgba(15, 23, 42, .06); }
