* {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

body {
  font-family: 'Space Grotesk', sans-serif;
  background: #0b0e17;
  color: #e2e8f0;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  margin: 0;
  padding: 0;
}

section {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

nav {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

/* Remove blue tap highlight on mobile */
.tap-highlight-transparent {
  -webkit-tap-highlight-color: transparent;
}

/* Focus visible for keyboard navigation */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #22c55e;
  outline-offset: 2px;
}

/* Form input improvements */
input,
textarea,
select {
  font-family: inherit;
}

/* Screen reader only text (for 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-width: 0;
}

/* Smooth transitions */
.smooth-transition {
  transition: transform 0.9s cubic-bezier(0.23, 1, 0.32, 1);
}

.no-transition {
  transition: none;
}