/* Scoped wrapper that replaces the landing's global `body` styling so it does
   not leak into the authenticated app. Everything else in the landing CSS is
   class-scoped (.section--*, .btn, .container ...) and safe to load globally. */
.vashor-landing {
  font-family: var(--ff-display);
  color: var(--color-primary);
  background-color: var(--color-secondary);
  background-image: radial-gradient(
    circle,
    color-mix(in srgb, var(--color-primary) 8%, transparent) 1.5px,
    transparent 1.6px
  );
  background-size: 12px 12px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-section);
}
.vashor-landing.has-canvas-pattern {
  background-color: transparent;
  background-image: none;
}

/* The app shell's globals.css paints <body> with the app background (#f6f7f9)
   and foreground (#0a0a0b). On landing routes that bleeds through the dot-grid
   canvas and tints inherited text. Restore the landing's own page colours so it
   matches the standalone original exactly (--color-secondary / --color-primary). */
body:has(.vashor-landing) {
  background-color: #e6ebf2;
  color: #060c14;
}

.accent-1 { color: var(--color-accent-1); }
.accent-2 { color: var(--color-accent-2); }
.accent-3 { color: var(--color-accent-3); }
.accent-4 { color: var(--color-accent-4); }

.container {
  max-width: 1344px;
  min-width: 375px;
  margin-inline: auto;
  padding-inline: var(--spacing-gutter);
}
