/* css/base.css */
:root {
  --primary: #F7931A;
  --primary-rgb: 247, 147, 26;
  --bg-color: #121212; /* unified background for features & robots sections */
  --accent: #6AD6FF;
  --dark: #111;
  --light: #f9f9f9;
  --color-bg-footer: #0f0f0f;
  --color-text-muted: #777;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  --header-height: 80px; /* visual height of header chrome */
  /* Global offset used for sticky header overlap (includes top gap + header height) */
  --header-offset: 96px;

  /* Responsive type scale */
  --fs-300: clamp(0.95rem, 0.20vw + 0.90rem, 1.00rem);
  --fs-400: clamp(1.00rem, 0.35vw + 0.92rem, 1.10rem);
  --fs-500: clamp(1.10rem, 0.55vw + 0.98rem, 1.25rem);
  --fs-600: clamp(1.25rem, 0.85vw + 1.05rem, 1.50rem);
  --fs-700: clamp(1.50rem, 1.20vw + 1.15rem, 1.90rem);
  --fs-800: clamp(1.90rem, 1.80vw + 1.35rem, 2.60rem);

  /* Line heights */
  --lh-tight: 1.3;
  --lh-regular: 1.6;
  --lh-loose: 1.8;
}

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

body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  background-color: var(--dark);
  color: var(--light);
  line-height: var(--lh-regular);
  min-height: calc(var(--app-vh, 1vh) * 100);
  display: flex;
  flex-direction: column;
}

.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;
}

@supports (height: 100dvh) {
  body {
    min-height: min(calc(var(--app-vh, 1vh) * 100), 100dvh);
  }
}

@supports (height: 100svh) {
  body {
    min-height: min(calc(var(--app-vh, 1vh) * 100), 100svh);
  }
}

@media (max-width: 640px) {
  body.no-scroll {
    overflow: hidden;
  }
}
