/* shoostro — motion, focus, base element styles */
:root {
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --duration-fast: 150ms; /* @kind other */
  --duration-base: 250ms; /* @kind other */

  --focus-ring: 0 0 0 2px rgba(255, 138, 0, 0.6);
}

/* Base — calm dark canvas */
body {
  margin: 0;
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line);
  -webkit-font-smoothing: antialiased;
}

/* Type utility classes mirroring the brandbook hierarchy */
.lc-h1 { font-family: var(--font-display); font-size: var(--text-h1-size); line-height: var(--text-h1-line); font-weight: var(--text-h1-weight); letter-spacing: -0.01em; margin: 0; }
.lc-h2 { font-family: var(--font-display); font-size: var(--text-h2-size); line-height: var(--text-h2-line); font-weight: var(--text-h2-weight); letter-spacing: -0.005em; margin: 0; }
.lc-h3 { font-family: var(--font-display); font-size: var(--text-h3-size); line-height: var(--text-h3-line); font-weight: var(--text-h3-weight); margin: 0; }
.lc-body { font-family: var(--font-body); font-size: var(--text-body-size); line-height: var(--text-body-line); font-weight: 400; margin: 0; }
.lc-caption { font-family: var(--font-body); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 400; margin: 0; }
.lc-numbers { font-family: var(--font-display); font-size: var(--text-numbers-size); line-height: var(--text-numbers-line); font-weight: 600; margin: 0; }
.lc-label { font-family: var(--font-body); font-size: var(--text-label-size); letter-spacing: var(--text-label-tracking); text-transform: uppercase; font-weight: 500; color: var(--text-muted); margin: 0; }
