/* Omnexa — /roster · "The roster, alive" (dark Ink stage; Brand Kit v2 tokens).
   Scoped under .rst / body.rst-body so it can't leak into styles.css pages. */

body.rst-body{background:#171A24}

.rst{
  --rst-blue:#2A5CFF; --rst-ink:#1F2330; --rst-cloud:#F6F7F9;
  --rst-paper:rgba(255,255,255,.92);
  --rst-hero:clamp(2.6rem, 1rem + 6.5vw, 6rem);
  --rst-close:clamp(2rem, .9rem + 4.2vw, 4rem);
  --rst-name:clamp(1.5rem, 1.2rem + 1vw, 1.9rem);
  --rst-section:clamp(4rem, 2.5rem + 5vw, 8rem);
  --rst-radius:26px;
  --rst-ease:cubic-bezier(.16,1,.3,1);
  position:relative;
  color:var(--rst-paper);
  font-weight:500;
  overflow:hidden;
}

.rst-mono{font-family:'IBM Plex Mono', ui-monospace, monospace; font-weight:400}
.visually-hidden{position:absolute; width:1px; height:1px; clip-path:inset(50%);
  overflow:hidden; white-space:nowrap}

/* ── Atmosphere ── */
.rst-atmosphere{position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(58% 42% at 18% 0%, rgba(42,92,255,.22), transparent 62%),
    radial-gradient(40% 34% at 88% 100%, rgba(255,122,182,.10), transparent 60%),
    radial-gradient(34% 30% at -6% 82%, rgba(255,200,56,.07), transparent 55%)}
.rst-grain{position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.rst > section{position:relative; z-index:1}

/* ── Hero ── */
.rst-hero{padding:var(--rst-section) clamp(1.2rem, 4vw, 3.5rem) 2.5rem;
  max-width:1200px; margin-inline:auto}
.rst-kicker{font-size:.85rem; color:#00C275; margin-bottom:1.4rem}
.rst-hero h1{font-size:var(--rst-hero); font-weight:900; line-height:.95;
  letter-spacing:-.035em; margin:0 0 1.5rem; color:var(--rst-paper)}
.rst-sub{font-size:clamp(1.05rem, 1rem + .5vw, 1.35rem); font-weight:700; max-width:34em}
.rst-sub-quiet{font-weight:500; color:rgba(255,255,255,.55); font-size:.85em}

/* ── Grid — six around one ── */
.rst-roster{padding:0 clamp(1.2rem, 4vw, 3.5rem) var(--rst-section)}
.rst-grid{display:grid; gap:clamp(.9rem, 1.6vw, 1.4rem); grid-template-columns:1fr;
  max-width:1200px; margin-inline:auto}
@media (min-width:700px){ .rst-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){
  .rst-grid{grid-template-columns:repeat(3,1fr)}
  .rst [data-slot="a1"]{grid-area:1/1} .rst [data-slot="a2"]{grid-area:1/2}
  .rst [data-slot="a3"]{grid-area:1/3} .rst [data-slot="a4"]{grid-area:2/1}
  .rst [data-slot="core"]{grid-area:2/2} .rst [data-slot="a5"]{grid-area:2/3}
  .rst [data-slot="s1"]{grid-area:3/1} .rst [data-slot="a6"]{grid-area:3/2}
  .rst [data-slot="s2"]{grid-area:3/3}
}
@media (max-width:1023px){ .rst [data-slot="core"]{order:-1} }

.rst-card{border-radius:var(--rst-radius); overflow:hidden;
  transition:transform .7s var(--rst-ease), box-shadow .7s var(--rst-ease)}

.rst-agent{background:var(--dept); color:var(--rst-ink); display:flex; flex-direction:column}
.rst-agent:hover, .rst-agent:focus-within{transform:translateY(-7px);
  box-shadow:0 24px 48px -18px rgba(0,0,0,.55)}
.rst-frame{position:relative; aspect-ratio:1; overflow:hidden}
.rst-frame video{width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.001); transition:transform 1.2s var(--rst-ease)}
.rst-agent:hover .rst-frame video{transform:scale(1.045)}

.rst-meta{padding:1.2rem 1.35rem 1.45rem}
.rst-dept{display:inline-block; font-size:.72rem; text-transform:uppercase;
  letter-spacing:.14em; font-weight:500; border:1.5px solid currentColor;
  border-radius:999px; padding:.22em .8em; margin-bottom:.7rem; opacity:.85}
.rst-meta h3{font-size:var(--rst-name); font-weight:800; letter-spacing:-.02em;
  line-height:1.05; margin:0; color:inherit}
.rst-duty{margin:.35rem 0 0; font-weight:700; font-size:.98rem; line-height:1.35}
.rst-trace{margin:.8rem 0 0; font-size:.74rem; opacity:.72}

/* core — you, on Cloud */
.rst-core{background:var(--rst-cloud); color:var(--rst-ink); display:flex;
  flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:2rem 1.6rem; gap:1rem; min-height:100%}
.rst-orbit{width:min(46%,190px); aspect-ratio:1}
.rst-orbit-dots{transform-origin:100px 100px; animation:rst-orbit 48s linear infinite}
@keyframes rst-orbit{to{transform:rotate(1turn)}}
.rst-core .rst-dept{color:var(--rst-blue); border-color:var(--rst-blue); opacity:1}
.rst-core h3{font-size:clamp(1.9rem, 2.6vw, 2.5rem); font-weight:900}
.rst-core .rst-duty{max-width:22em}

/* system card */
.rst-sys{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  padding:1.6rem 1.5rem; display:flex; flex-direction:column; justify-content:center; gap:.65rem}
.rst-sys-line{font-size:.78rem; color:rgba(255,255,255,.62); margin:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.rst-ok{color:#00C275}

/* CTA card — Core Blue */
.rst-cta-card{background:var(--rst-blue); color:#fff; display:flex; flex-direction:column;
  justify-content:center; align-items:flex-start; gap:1.4rem; padding:2rem 1.8rem}
.rst-cta-lead{font-size:clamp(1.5rem, 1.9vw, 1.9rem); font-weight:800;
  line-height:1.12; letter-spacing:-.02em; margin:0}

.rst-pill{display:inline-block; font-weight:700; text-decoration:none;
  border-radius:999px; padding:.85em 1.7em; font-size:1rem;
  background:#fff; color:var(--rst-blue);
  transition:transform .35s var(--rst-ease), box-shadow .35s var(--rst-ease)}
.rst-pill:hover{transform:translateY(-3px); box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.rst-pill:focus-visible{outline:3px solid #fff; outline-offset:3px}

/* ── Closing ── */
.rst-closing{text-align:center; padding:calc(var(--rst-section)*.7) clamp(1.2rem,4vw,3.5rem) var(--rst-section);
  max-width:1000px; margin-inline:auto}
.rst-closing h2{font-size:var(--rst-close); font-weight:900; line-height:1;
  letter-spacing:-.03em; margin:0; color:var(--rst-paper)}
.rst-blue{color:var(--rst-blue)}
.rst-ar{font-family:'IBM Plex Sans Arabic', 'Geeza Pro', 'Segoe UI Arabic', 'Noto Sans Arabic', system-ui, sans-serif;
  font-weight:500; color:rgba(255,255,255,.55); margin:1.4rem 0 0;
  font-size:clamp(1.05rem, 1.6vw, 1.3rem)}
.rst-closing .rst-pill{margin-top:2.4rem; font-size:1.1rem;
  background:var(--rst-blue); color:#fff}
.rst-closing .rst-pill:focus-visible{outline-color:var(--rst-blue)}

@media (prefers-reduced-motion: reduce){
  .rst-orbit-dots{animation:none}
  .rst-card, .rst-frame video, .rst-pill{transition:none}
}
