/* Northpoint Dynamics home (index.html) and the ConditionZero menu (conditionzero.html) */
.landing.hub { max-width: 1040px; gap: 22px; }
.hub-head { display: grid; justify-items: center; text-align: center; gap: 6px; padding-top: 8px; }
.hub-logo { width: min(340px, 70vw); height: auto; filter: drop-shadow(0 0 18px rgba(var(--hud-rgb), .35)); }
.hub-tag { margin: 0; color: var(--hud); font: 600 14px var(--display); letter-spacing: .3em; text-transform: uppercase; }

.hub-modules { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; }
.hub-card {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: 14px; text-decoration: none; color: var(--text);
  background: linear-gradient(180deg, rgba(var(--surface-rgb), .88), rgba(var(--surface-rgb), .92)); border: 1px solid rgba(var(--hud-rgb), .25);
}
.hub-card.fireground { flex-direction: row; align-items: center; flex-wrap: wrap; border-color: rgba(var(--accent-rgb), .55); box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .18), 0 10px 32px rgba(var(--accent-rgb), .14); transition: transform .15s, box-shadow .15s; }
.hub-card.fireground:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .4), 0 14px 40px rgba(var(--accent-rgb), .25); }
.hub-card.fireground img { filter: drop-shadow(0 0 12px rgba(var(--accent-rgb), .6)); flex: none; }
.hub-card-text { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 4px; }
.hub-card-text b { font: 700 28px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }
.hub-card.fireground .hub-card-text b { color: var(--accent-2); }
.hub-card-text span:last-child { color: var(--muted); font-size: 13.5px; line-height: 1.45; }
.hub-kicker { color: var(--hud) !important; font: 700 12px var(--display) !important; letter-spacing: .2em; text-transform: uppercase; }
.hub-go { margin-left: auto; }
.hub-card.soon { opacity: .55; }
.hub-card.soon b { font-size: 22px; }
.hub-soon { align-self: flex-start; font: 700 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; }

.hub-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hub-join .row { align-items: stretch; }
.hub-join .code-input { height: 48px; font-size: 24px; flex: 1; }
.hub-join .btn { min-width: 110px; }
.hub-staff .btn { margin-top: 6px; }

@media (max-width: 860px) {
  .hub-modules { grid-template-columns: 1fr; }
  .hub-quick { grid-template-columns: 1fr; }
  .hub-go { margin-left: 0; }
}

/* Northpoint Dynamics / ConditionZero */
.np-logo { width: min(300px, 62vw); }
.cz-word { font: 700 1em var(--display); letter-spacing: .04em; text-transform: none; }
.cz-word b { color: var(--hud); font-weight: 700; }
.cz-hero { margin: 0; font-size: clamp(44px, 8vw, 72px); line-height: 1; text-shadow: 0 0 24px rgba(var(--hud-rgb), .35); }
.np-by { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); text-decoration: none; font-size: 13px; letter-spacing: .08em; }
.np-by:hover { color: var(--text); }
.hub-products { display: grid; }
.hub-card.product { flex-direction: row; align-items: center; flex-wrap: wrap; border-color: rgba(var(--hud-rgb), .5); box-shadow: 0 0 0 1px rgba(var(--hud-rgb), .15), 0 10px 32px rgba(var(--hud-rgb), .12); transition: transform .15s, box-shadow .15s; }
.hub-card.product:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(var(--hud-rgb), .4), 0 14px 40px rgba(var(--hud-rgb), .22); }
.hub-card.product .cz-title { font-size: 34px; letter-spacing: .04em; text-transform: none; }
.hub-modules-mini { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.hub-modules-mini .mod { font: 700 11px var(--display); letter-spacing: .12em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.hub-modules-mini .mod.live { border-color: rgba(var(--accent-rgb), .6); color: var(--accent-2); }
.hub-modules-mini .mod i { font-style: normal; opacity: .7; margin-left: 4px; }
.hub-card-text .cz-word, .cz-word { font-weight: 700; text-transform: none; }
.cz-word b, .hub-card-text .cz-word b { font: inherit; letter-spacing: inherit; text-transform: none; color: var(--hud); }
.hub-card.product .cz-title, .hub-card.product .cz-title .cz-word { font: 700 36px/1 var(--display); letter-spacing: .04em; text-transform: none; color: var(--text); }
.cz-hero .cz-word { font: 700 1em var(--display); }

/* product logos */
.cz-logo { width: min(340px, 72vw); height: auto; display: block; filter: drop-shadow(0 0 22px rgba(60, 160, 255, .3)); }
.cz-card-logo { width: min(240px, 60vw); height: auto; display: block; margin: 4px 0 6px; }
.hub-card.fireground img { filter: drop-shadow(0 0 14px rgba(236, 52, 44, .45)); }
