html {
  scroll-padding-top: 5.5rem;
}

@media (min-width: 640px) {
  html {
    scroll-padding-top: 5.75rem;
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(400%);
  }
}

#main.is-transitioning {
  opacity: 0.92;
  transform: translateY(3px);
  transition: opacity 0.18s ease, transform 0.2s ease;
}

.glass-panel {
  border-radius: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  box-shadow: 0 18px 50px -24px rgba(15, 23, 42, 0.12);
}

.accent-line {
  background: linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.35), transparent);
  height: 1px;
}

details.service-faq summary {
  list-style: none;
}

details.service-faq summary::-webkit-details-marker {
  display: none;
}

.blog-article-body {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: rgb(51 65 85);
}

.blog-article-body > * + * {
  margin-top: 1.5rem;
}

.blog-article-body > .blog-h2 {
  margin-top: 2.75rem;
}

.blog-article-body > .blog-h2:first-child,
.blog-article-body > .blog-lead:first-child {
  margin-top: 0;
}

.blog-lead {
  color: rgb(15 23 42);
}

.blog-h2 {
  letter-spacing: -0.02em;
}

.blog-p {
  margin-top: 0;
}

.blog-quote {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.blog-tip {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
