/* RBIS — Premium bright theme (v22) */
:root{
  --bg:#f8fafc; --panel:#ffffff; --ink:#0f172a; --muted:#475569; --line:#e5e7eb;
  --brand:#4f46e5; --brand2:#06b6d4; --accent:#0ea5e9; --ok:#16a34a; --warn:#d97706; --bad:#dc2626;
  --radius:14px; --shadow:0 8px 18px rgba(15,23,42,.06);
  --safe-top: env(safe-area-inset-top); --safe-btm: env(safe-area-inset-bottom);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink);
  padding-top:max(0px,var(--safe-top));
}
a{color:#1e3a8a; text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto; display:block}

.section{max-width:1120px; margin:0 auto; padding:2.2rem 1.2rem}
.card,.kpi,.ev,.board{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem;
}
.grid{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kpi h3{margin:.2rem 0 .3rem 0; font-size:1rem; color:var(--muted)}
.kpi p{margin:0; font-weight:700; font-size:1.6rem}

/* Disclosure + Header + Footer */
.disclosure, header.nav, footer{
  background:#fff; border-bottom:1px solid var(--line); color:var(--ink);
}
.disclosure{padding:.6rem 1.2rem; font-size:.92rem}
header.nav{position:sticky; top:0; z-index:100; padding:.6rem 1.2rem}
header nav{display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center}
header nav a{
  border:1px solid var(--line); border-radius:999px; padding:.46rem .9rem; background:#fff; display:inline-flex; align-items:center;
}
header nav a.active, header nav a:hover{
  background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; border-color:transparent; text-decoration:none;
}
footer{margin-top:2rem; padding:1.2rem; border-top:1px solid var(--line)}
.foot-links{margin-top:.4rem; color:#64748b}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1rem; border-radius:999px;
  background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; border:0; cursor:pointer; text-decoration:none;
  box-shadow:0 8px 18px rgba(79,70,229,.25);
}
.btn:hover{filter:saturate(1.05)}
.btn.secondary{background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:none}

/* Inputs */
input,select,textarea,button{font:inherit}
input[type=text],input[type=email],input[type=number],select,textarea{
  width:100%; padding:.6rem .7rem; border:1px solid var(--line); border-radius:12px; background:#fff;
}
button,.btn,input[type=submit]{min-height:44px}

/* Orbital Halo — premium “spinny” */
.orbit{
  --size:86px; width:var(--size); height:var(--size); margin:0 auto .6rem auto; position:relative;
  filter:saturate(.98) contrast(.97);
}
.orbit .core{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:900; letter-spacing:.08em;
  color:#0f172a; font-size:1rem; background:#fff; border:1px solid var(--line); border-radius:50%;
  box-shadow:0 6px 12px rgba(15,23,42,.06);
}
.orbit .ring{
  position:absolute; inset:-10px; border-radius:50%;
  background:conic-gradient(from 0deg, rgba(79,70,229,.25), rgba(6,182,212,.25), rgba(79,70,229,.25));
  -webkit-mask:radial-gradient(circle at center, transparent 60%, #000 61%);
          mask:radial-gradient(circle at center, transparent 60%, #000 61%);
  animation:none;
}
}
@media (prefers-reduced-motion:reduce){ .orbit .ring{animation:none} }

/* Micro-interactions */
.card:hover{transform:translateY(-1px); transition:transform .15s ease}
:focus-visible{outline:2px solid var(--brand2); outline-offset:3px; border-radius:12px}
@media (prefers-contrast:more){
  .card,.kpi,.ev,.board{box-shadow:none; border-color:#cbd5e1}
  header nav a{border-color:#94a3b8}
}

/* Safe clickability guard */
header *{pointer-events:auto}

/* Utility */
.center{text-align:center}
.small{font-size:.92rem; color:var(--muted)}

/* rbis no-spin */
.logo--spin, .spin, [data-spin] { animation: none !important; transform: none !important; }

/* rbis no-spin v2 (focused) */
[class*="logo"], .logo, .site-logo, .brand, header svg, header img {
  animation: none !important;
  transform: none !important;
}
/* neuter common keyframes by name if present */
@keyframes spin { from { transform:none; } to { transform:none; } }
@keyframes rotate { from { transform:none; } to { transform:none; } }

.rbis-rotor,.logo-spin{animation:none!important;transform:none!important;}

/* rbis no-spin v3 (exact keyframes + inline catches) */
@keyframes rbis-slow { from { transform:none; } to { transform:none; } }
@keyframes orbit { from { transform:none; } to { transform:none; } }

/* classes that might be applied */
.rbis-slow, .orbit, [class*="rbis-slow"], [class*="orbit"] {
  animation: none !important;
  transform: none !important;
}

/* inline styles that reference these names */
*[style*="rbis-slow"], *[style*="orbit"] {
  animation: none !important;
  transform: none !important;
}
