/* Additional optimizations for performance and SEO */

/* Optimize font loading */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFVZ0b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Optimize image rendering */
img {
  max-width: 100%;
  height: auto;
}

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

/* Optimize print styles */
@media print {
  header, footer, .cta {
    display: none;
  }
  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }
  a {
    color: #000;
    text-decoration: underline;
  }
  img {
    max-width: 500px;
  }
}

/* Optimize for dark mode */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #121212;
    --text-color: #f0f0f0;
    --link-color: #4dabf7;
    --heading-color: #e9ecef;
    --border-color: #343a40;
  }
}

/* Optimize animations for reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Optimize content visibility for better rendering performance */
.feature-card, .step {
  content-visibility: auto;
  contain-intrinsic-size: 0 500px;
}

/* Add smooth scrolling for better UX */
html {
  scroll-behavior: smooth;
}

/* Optimize focus styles for accessibility */
a:focus, button:focus, input:focus, textarea:focus, select:focus {
  outline: 2px solid #4dabf7;
  outline-offset: 2px;
}
