/* === CSS RESET & ACCESSIBILITY === */
/* Base reset and utilities */

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

html {
  scroll-behavior: smooth;
  background: #0a0a0a;
}

body {
  background: #0a0a0a;
  margin: 0;
  padding: 0;
  /* Make sure body starts clean */
  padding-top: 0 !important;
}

/* Ensure first section starts at top - FORCE RESET */
body > section:first-of-type,
#hero,
.hero,
.hero-editorial {
  margin-top: 0 !important;
  padding-top: 0 !important;
  top: 0 !important;
}

/* Additional reset for any potential spacing issues */
section:first-child {
  margin-top: 0 !important;
}

/* === ACCESSIBILITY UTILITIES === */
.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;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* === PERFORMANCE OPTIMIZATIONS === */
.will-change-transform {
  will-change: transform;
}

.will-change-opacity {
  will-change: opacity;
}

.hardware-accelerated {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}