html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body.datarecovery-child-theme {
  margin: 0;
  overflow-wrap: anywhere;
  background: var(--dr-bg);
  color: var(--dr-text);
  font-family: var(--dr-font-sans);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.datarecovery-child-theme *,
.datarecovery-child-theme *::before,
.datarecovery-child-theme *::after {
  box-sizing: border-box;
}

.datarecovery-child-theme img,
.datarecovery-child-theme svg,
.datarecovery-child-theme video {
  max-width: 100%;
  height: auto;
}

.datarecovery-child-theme h1,
.datarecovery-child-theme h2,
.datarecovery-child-theme h3,
.datarecovery-child-theme h4,
.datarecovery-child-theme h5,
.datarecovery-child-theme h6 {
  margin-top: 0;
  color: var(--dr-graphite-900);
  font-family: var(--dr-font-sans);
  font-weight: 730;
  line-height: 1.12;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.datarecovery-child-theme h1 { font-size: clamp(2.55rem, 5.2vw, 4rem); }
.datarecovery-child-theme h2 { font-size: clamp(2rem, 4vw, 2.75rem); }
.datarecovery-child-theme h3 { font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
.datarecovery-child-theme h4 { font-size: clamp(1.2rem, 2vw, 1.45rem); }

.datarecovery-child-theme p {
  margin-top: 0;
}

.datarecovery-child-theme a {
  color: var(--dr-accent);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.datarecovery-child-theme a:hover {
  color: var(--dr-accent-hover);
}

.datarecovery-child-theme :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--dr-accent), white 20%);
  outline-offset: 3px;
}

.dr-container,
.datarecovery-child-theme .ct-container {
  width: min(calc(100% - 32px), var(--dr-container));
  margin-inline: auto;
}

.dr-container--wide {
  width: min(calc(100% - 32px), var(--dr-container-wide));
  margin-inline: auto;
}

.dr-container--narrow {
  width: min(calc(100% - 32px), var(--dr-content));
  margin-inline: auto;
}

.dr-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 700px) {
  body.datarecovery-child-theme {
    font-size: 16px;
  }

  .dr-container,
  .datarecovery-child-theme .ct-container,
  .dr-container--wide,
  .dr-container--narrow {
    width: min(calc(100% - 24px), var(--dr-container));
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
