/* numerology.css */
.num-hero { background: radial-gradient(ellipse at 50% 0%, rgba(192,0,255,.12), transparent 60%); }
.num-hero h1 { font-family: var(--f-display); font-size: clamp(2rem,5vw,4rem); }
.num-calc-section { background: rgba(8,0,20,.5); }
.num-layout { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media(min-width: 960px) { .num-layout { grid-template-columns: 1fr 320px; } }
.num-card { background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-xl); padding: 2.5rem; }
.num-results[hidden] { display: none; }
.num-results { margin-top: 2rem; }
.num-trio { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-bottom: 1.5rem; }
.num-big-card {
  background: rgba(40,0,80,.35); border: 1px solid rgba(192,0,255,.25);
  border-radius: var(--r-lg); padding: 1.25rem .75rem; text-align: center;
  transition: all var(--t); cursor: default;
}
.num-big-card:hover { border-color: rgba(192,0,255,.5); box-shadow: var(--glow-sm); transform: translateY(-3px); }
.nbc-num {
  font-family: var(--f-display); font-size: 3rem; font-weight: 900;
  color: var(--c-neon); text-shadow: var(--glow-lg); line-height: 1;
  margin-bottom: .4rem;
}
.nbc-label { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .3rem; }
.nbc-name { font-size: .8rem; color: var(--c-sub); font-weight: 600; }
.num-desc-box { background: rgba(192,0,255,.06); border: 1px solid rgba(192,0,255,.2); border-radius: var(--r-md); padding: 1.5rem; }
.ndb-title { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-neon); font-weight: 700; margin-bottom: .75rem; }
.ndb-text { font-family: var(--f-serif); font-style: italic; color: var(--c-sub); font-size: .92rem; line-height: 1.9; }
.num-sidebar {}
.num-list { display: flex; flex-direction: column; gap: .5rem; }
.nl-item {
  display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem;
  border-radius: var(--r-sm); cursor: pointer; transition: all var(--t);
  border: 1px solid transparent;
}
.nl-item:hover, .nl-item.active { background: rgba(192,0,255,.1); border-color: rgba(192,0,255,.3); }
.nl-num { width: 32px; height: 32px; background: rgba(192,0,255,.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--f-display); font-size: .95rem; color: var(--c-neon); font-weight: 700; flex-shrink: 0; }
.nl-name { font-size: .82rem; color: var(--c-text); font-weight: 500; }
.nl-key  { font-size: .72rem; color: var(--c-muted); }
