/* VIVID MASS design tokens — defaults from design/home mockups */

:root {
  --orange: #f45914;
  --light-grey: #e1dfe0;
  --black: #020101;
  --white: #ffffff;

  --font-title: 'Space Grotesk', sans-serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;

  --page-inset-x: 5%;
  --container-pad: var(--page-inset-x);

  /* dark mode defaults */
  --bg-main: #333333;
  --bg-secondary: var(--dark-grey, #3a3230);
  --bg-nav: var(--black);
  --bg-card: #c8c4c2;
  --bg-card-text: var(--black);
  --bg-input: #2f2826;
  --text-primary: var(--light-grey);
  --text-muted: #9b9796;
  --text-on-card: var(--black);
  --text-on-card-muted: #555555;
  --border-color: var(--light-grey);
  --hero-text: var(--white);
  --section-accent: var(--orange);
  --nav-active-bg: var(--black);
  --nav-active-text: var(--white);
  --nav-hover-bg: var(--black);
  --nav-hover-text: var(--white);
  --nav-inactive-text: var(--light-grey);
  --nav-divider-color: var(--light-grey);
  --nav-pad-y: 0.85rem;
  --hero-min-height: 520px;
  --crt-noise-opacity: 0.175;
  --crt-noise-rgb: 225, 223, 224;
  --crt-noise-blend: soft-light;
  --btn-send-bg: var(--black);
  --btn-send-text: var(--white);
  --schematic-edit-active-bg: #020101;
  --schematic-edit-active-text: #ffffff;
}

[data-theme="light"] {
  --bg-main: var(--light-grey);
  --bg-secondary: #e8e6e5;
  --bg-nav: var(--white);
  --bg-card: #f0eeed;
  --bg-card-text: var(--black);
  --bg-input: var(--white);
  --text-primary: var(--black);
  --text-muted: #777777;
  --text-on-card: var(--black);
  --text-on-card-muted: #666666;
  --border-color: var(--black);
  --nav-active-bg: var(--black);
  --nav-active-text: var(--white);
  --nav-hover-bg: var(--black);
  --nav-hover-text: var(--white);
  --nav-inactive-text: var(--black);
  --nav-divider-color: var(--black);
  --crt-noise-opacity: 0.11;
  --crt-noise-rgb: 58, 50, 48;
  --crt-noise-blend: multiply;
  --schematic-edit-active-bg: #e8e6e5;
  --schematic-edit-active-text: #020101;
}

[data-theme="dark"] {
  --crt-noise-rgb: 225, 223, 224;
  --crt-noise-blend: soft-light;
}

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

html {
  scroll-behavior: auto;
}

html {
  scroll-behavior: auto;
}

body {
  background-color: var(--bg-main);
  color: var(--text-primary);
  font-family: var(--font-body);
  transition: background-color 0.3s ease, color 0.3s ease;
  line-height: 1.6;
}

.page-content {
  position: relative;
  z-index: 1;
}

h1, h2, h3, h4, .brand {
  font-family: var(--font-title);
  font-weight: 700;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--page-inset-x);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
