/* ============================================================
   ReadyLabAI — Coming Soon (public placeholder)
   Dark control-plane canvas · Hebrew-first RTL
   Palette and tokens carried from the approved challenger lane.
   Fully self-contained: local fonts, local assets, no requests out.
   ============================================================ */

/* hebrew */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/Heebo-100-900-hebrew.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/Heebo-100-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --bg0: #04090c;
  --mint: #49e1a8;
  --cyan: #2fd1e0;
  --amber: #e8a13c;
  --ink: #eaf7f2;
  --body: #a9c6be;
  --dim: #7fa39b;
  --sans: "Heebo", "Segoe UI", system-ui, sans-serif;
}

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

html, body { height: 100%; overflow-x: clip; }

body {
  background: var(--bg0);
  color: var(--body);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: rgba(73, 225, 168, 0.28); color: var(--ink); }

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

/* full-page living background */
#signal-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  display: block;
}

/* content column above the field — pinned to exactly one viewport height so
   header / formation / copy / footer always fit with no scroll; the
   formation absorbs whatever space the fixed-size chrome doesn't need,
   landing it in the ~70-80% range the design calls for. */
.stage {
  position: relative;
  z-index: 1;
  height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 1.4vh, 18px);
  padding: clamp(10px, 2vh, 24px) clamp(16px, 4vw, 48px);
  overflow: hidden;
}

.lockup { flex: 0 0 auto; }
.lockup img { width: clamp(64px, 7vw, 110px); }

.foot-lockup { flex: 0 0 auto; opacity: 0.85; }
.foot-lockup img { width: clamp(110px, 13vw, 150px); }

.formation-wrap {
  flex: 1 1 auto;
  min-height: 180px;
  width: min(100%, 1400px);
}
#cluster-canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.soon {
  flex: 0 0 auto;
  color: var(--ink);
  font-weight: 600;
  font-size: clamp(22px, 3.2vw, 40px);
  letter-spacing: 0.12em;
}
