/**
 * Critical CSS - Base Styles
 * This file contains only critical base styles and CSS reset.
 * All CSS variables are in snippets/css-variables.liquid
 */

/* Basic CSS Reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
}

body {
  font-family: var(--font-body);
  background-color: var(--color-bg-dark);
  padding: var(--container-padding);
  box-sizing: border-box;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Scroll offset for section navigation */
/* Scroll offset for section navigation */
section {
  scroll-margin-top: 20vh;
}

/* Animations */
.reveal-text,
.reveal-image {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: opacity, transform;
}

.reveal-image {
  transform: scale(0.95) translateY(40px);
}

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

/* Stagger delays */
.delay-100 {
  transition-delay: 0.1s;
}

.delay-200 {
  transition-delay: 0.2s;
}

.delay-300 {
  transition-delay: 0.3s;
}

.delay-400 {
  transition-delay: 0.4s;
}