/* CULT LUX Global Theme Variables */
:root {
  /* -------------------*/
  /* --- Colour --- */
  /* -------------------*/

  --color-off-black: #0a0a0a;
  --color-off-white: #f5f5f0;

  --color-neon-cyan: #00fff7;
  --color-neon-magenta: #ff00c8;
  --color-neon-yellow: #fff500;

  --color-industrial-900: #1f1f1f;
  --color-industrial-700: #3a3a3a;

  --off-white-70: rgba(245, 245, 240, 0.7);
  --off-white-40: rgba(245, 245, 240, 0.4);

  /* Corrupted Fibonacci × √2 scale */

  --cf2-1: 1;
  --cf2-2: 3;
  --cf2-3: 4;
  --cf2-4: 7;
  --cf2-5: 11;
  --cf2-6: 18;
  --cf2-7: 30;
  --cf2-8: 48;
  --cf2-9: 78;
  --cf2-10: 126;
  --cf2-11: 204;
  --cf2-12: 329;

  /* -------------------*/
  /* --- Dimension --- */
  /* -------------------*/
  --dimension-1: calc(var(--cf2-1) * 1px); /* 1  */
  --dimension-2: calc(var(--cf2-2) * 1px); /* 3  */
  --dimension-3: calc(var(--cf2-3) * 1px); /* 4  */
  --dimension-4: calc(var(--cf2-4) * 1px); /* 7  */
  --dimension-5: calc(var(--cf2-5) * 1px); /* 11 */
  --dimension-6: calc(var(--cf2-6) * 1px); /* 18 */
  --dimension-7: calc(var(--cf2-7) * 1px); /* 30 */
  --dimension-8: calc(var(--cf2-8) * 1px); /* 48 */
  --dimension-9: calc(var(--cf2-9) * 1px); /* 78 */
  --dimension-10: calc(var(--cf2-10) * 1px); /* 126 */
  --dimension-11: calc(var(--cf2-11) * 1px); /* 204 */
  --dimension-12: calc(var(--cf2-12) * 1px); /* 329 */

  /* Radii */
  --radius-0: 0px;
  --radius-1: var(--dimension-2); /* 3px */
  --radius-2: var(--dimension-3); /* 4px */
  --radius-3: var(--dimension-5); /* 11px */
  --radius-4: var(--dimension-6); /* 18px */

  /* -------------------*/
  /* --- Typography --- */
  /* -------------------*/

  --font-size-body: clamp(13px, 0.9vw + 8px, 16px);

  /* Headings */
  --font-size-h6: calc(var(--cf2-6) * 1px); /* 18px */
  --font-size-h5: calc(var(--cf2-7) * 1px); /* 30px */
  --font-size-h4: calc(var(--cf2-8) * 1px); /* 48px */
  --font-size-h3: calc(var(--cf2-9) * 1px); /* 78px */
  --font-size-h2: calc(var(--cf2-10) * 1px); /* 126px */
  --font-size-h1: calc(var(--cf2-11) * 1px); /* 204px */
  --font-size-hero: calc(var(--cf2-12) * 1px); /* 329px */

  /* Line-height */
  --lh-body: 1.414;
  --lh-heading: 1.25;

  /* Letter-spacing */
  --track-display: -0.02em;
  --track-body: 0em;

  /* Touch target minimum (accessibility guardrail) */
  --touch-min: 44px;

  /* ----------------*/
  /* -- Time ------- */
  /* ----------------*/

  --time-base-micro: 50ms; /* UI micro-interactions, hovers */
  --time-base-macro: 100ms; /* section transitions, scene changes */

  /* Indexed durations (SHORT set, ms) */
  --time-s-1: calc(var(--cf2-1) * var(--time-base-micro));
  --time-s-2: calc(var(--cf2-2) * var(--time-base-micro));
  --time-s-3: calc(var(--cf2-3) * var(--time-base-micro));
  --time-s-4: calc(var(--cf2-4) * var(--time-base-micro));
  --time-s-5: calc(var(--cf2-5) * var(--time-base-micro));
  --time-s-6: calc(var(--cf2-6) * var(--time-base-micro));
  --time-s-7: calc(var(--cf2-7) * var(--time-base-micro));
  --time-s-8: calc(var(--cf2-8) * var(--time-base-micro));
  --time-s-9: calc(var(--cf2-9) * var(--time-base-micro));
  --time-s-10: calc(var(--cf2-10) * var(--time-base-micro));
  --time-s-11: calc(var(--cf2-11) * var(--time-base-micro));
  --time-s-12: calc(var(--cf2-12) * var(--time-base-micro));

  /* Indexed durations (LONG set, ms) */
  --time-l-1: calc(var(--cf2-1) * var(--time-base-macro));
  --time-l-2: calc(var(--cf2-2) * var(--time-base-macro));
  --time-l-3: calc(var(--cf2-3) * var(--time-base-macro));
  --time-l-4: calc(var(--cf2-4) * var(--time-base-macro));
  --time-l-5: calc(var(--cf2-5) * var(--time-base-macro));
  --time-l-6: calc(var(--cf2-6) * var(--time-base-macro));
  --time-l-7: calc(var(--cf2-7) * var(--time-base-macro));
  --time-l-8: calc(var(--cf2-8) * var(--time-base-macro));
  --time-l-9: calc(var(--cf2-9) * var(--time-base-macro));
  --time-l-10: calc(var(--cf2-10) * var(--time-base-macro));
  --time-l-11: calc(var(--cf2-11) * var(--time-base-macro));
  --time-l-12: calc(var(--cf2-12) * var(--time-base-macro));

  /* Easing curves */
  --ease-brutal: cubic-bezier(0.2, 0, 0, 1);
  --ease-industrial: cubic-bezier(0.33, 0.01, 0.16, 1);
}
