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

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: #0D0D0D;
  color: #F5EDE3;
  font-family: 'Satoshi', 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0D0D0D; }
::-webkit-scrollbar-thumb { background: rgba(204,255,71,0.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(204,255,71,0.4); }

/* Selection */
::selection { background: rgba(204,255,71,0.2); color: #F5EDE3; }

/* Focus */
:focus-visible { outline: 2px solid #CCFF47; outline-offset: 3px; }

/* Links */
a { color: inherit; text-decoration: none; }

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

/* Section label shared */
.section-label {
  font-family: 'Satoshi', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #CCFF47;
  margin-bottom: 1.25rem;
}

/* Typography helpers */
.section-headline {
  font-family: 'Instrument Serif', Georgia, serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  line-height: 1.15;
  color: #F5EDE3;
  font-weight: 400;
  margin: 0 0 4rem;
}

/* Entrance animations */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-headline { animation: fadeUp 0.6s ease-out 0.1s both; }
.hero-lede { animation: fadeUp 0.6s ease-out 0.25s both; }
.hero-eyebrow { animation: fadeUp 0.6s ease-out 0s both; }
.browser-frame { animation: fadeUp 0.7s ease-out 0.4s both; }

/* Responsive utilities */
@media (max-width: 768px) {
  html { font-size: 15px; }
}

@media (max-width: 480px) {
  html { font-size: 14px; }
}
