/**
 * Base Reset & Global Styles
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: radial-gradient(circle at 0 0, #ffffff 0%, #f5f7fb 38%, #eef2f8 100%);
  color: var(--ink);
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  padding-top: 70px;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Screen reader only text */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* WordPress admin bar adjustments */
.admin-bar .site-header {
  top: 32px;
}

body.admin-bar {
  padding-top: 102px;
}

@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }

  body.admin-bar {
    padding-top: 116px;
  }
}

/* Content visibility optimization */
@supports (content-visibility: auto) {
  .applications-section,
  .trust-section,
  .certificates-section,
  .contact-section,
  .links-hub-section,
  .products-main {
    content-visibility: auto;
    contain-intrinsic-size: 1px 720px;
  }
}

/* Reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (scripting: none) {
  .reveal {
    opacity: 1;
    transform: none;
  }
}
