.qdv2-site {
  box-sizing: border-box;
  background-color: var(--qdv2-bg);
  color: var(--qdv2-text);
  font-family: var(--qdv2-font-sans);
  font-size: var(--qdv2-text-base);
  line-height: var(--qdv2-leading-normal);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

.qdv2-site img,
.qdv2-site video {
  max-width: 100%;
  height: auto;
}

.qdv2-site img[loading="lazy"] {
  content-visibility: auto;
}

.qdv2-site *,
.qdv2-site *::before,
.qdv2-site *::after {
  box-sizing: inherit;
}

.qdv2-site h1,
.qdv2-site h2,
.qdv2-site h3,
.qdv2-site h4,
.qdv2-site p {
  margin: 0;
}

.qdv2-site a:where(:not([class*="qdv2-btn"])) {
  color: var(--qdv2-brand);
  text-decoration: none;
  transition: color var(--qdv2-duration) var(--qdv2-ease);
}

.qdv2-site a:where(:not([class*="qdv2-btn"])):hover {
  color: var(--qdv2-brand-hover);
}

.qdv2-site :focus {
  outline: none;
}

.qdv2-site :focus-visible {
  outline: none;
  box-shadow: var(--qdv2-focus-ring);
  border-radius: var(--qdv2-radius-sm);
}

.qdv2-site .qdv2-skip-link {
  position: absolute;
  left: -9999px;
  top: var(--qdv2-space-4);
  z-index: 10000;
  padding: var(--qdv2-space-3) var(--qdv2-space-4);
  background: var(--qdv2-brand);
  color: #fff;
  border-radius: var(--qdv2-radius-sm);
  font-weight: var(--qdv2-weight-semibold);
}

.qdv2-site .qdv2-skip-link:focus {
  left: var(--qdv2-space-4);
}

.qdv2-text-muted {
  color: var(--qdv2-text-muted);
}

.qdv2-text-accent {
  color: var(--qdv2-accent);
}

.qdv2-lead {
  font-size: var(--qdv2-text-md);
  line-height: var(--qdv2-leading-relaxed);
  color: var(--qdv2-text-muted);
  max-width: 42rem;
}

.qdv2-eyebrow {
  font-size: var(--qdv2-text-sm);
  font-weight: var(--qdv2-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--qdv2-accent);
}

.qdv2-heading-hero {
  font-size: var(--qdv2-text-hero);
  font-weight: var(--qdv2-weight-bold);
  line-height: var(--qdv2-leading-tight);
  letter-spacing: -0.02em;
}

.qdv2-heading-section {
  font-size: var(--qdv2-text-3xl);
  font-weight: var(--qdv2-weight-bold);
  line-height: var(--qdv2-leading-tight);
  letter-spacing: -0.02em;
}

.qdv2-heading-card {
  font-size: var(--qdv2-text-xl);
  font-weight: var(--qdv2-weight-semibold);
}
