/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/scout-marketing-glow.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
/* ── Scout marketing visuals (theme-aware via semantic tokens) ── */

.glow-scout-showcase {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--background));
  box-shadow:
    0 24px 64px -36px hsl(var(--foreground) / 0.28),
    0 0 0 1px hsl(var(--border) / 0.35);
}

.glow-scout-showcase--premium {
  border-radius: 1.5rem;
  border-color: hsl(var(--primary) / 0.22);
  background:
    linear-gradient(165deg, hsl(var(--card) / 0.92) 0%, hsl(var(--background)) 48%, hsl(var(--background)) 100%);
  box-shadow:
    0 32px 80px -32px hsl(262 88% 48% / 0.22),
    0 16px 48px -24px hsl(var(--foreground) / 0.18),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-scout-showcase__aurora {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 12% 18%, hsl(190 90% 50% / 0.1), transparent 55%),
    radial-gradient(ellipse 50% 40% at 88% 22%, hsl(291 86% 52% / 0.12), transparent 50%),
    radial-gradient(ellipse 60% 50% at 50% 100%, hsl(262 88% 48% / 0.08), transparent 55%);
}

.glow-scout-showcase__glow {
  pointer-events: none;
  position: absolute;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.55;
}

.glow-scout-showcase__glow--left {
  left: -4rem;
  top: 18%;
  background: hsl(262 88% 58% / 0.16);
}

.glow-scout-showcase__glow--right {
  right: -3rem;
  bottom: 8%;
  background: hsl(190 90% 50% / 0.14);
}

.glow-scout-showcase--premium .glow-scout-v__shell {
  position: relative;
  z-index: 1;
}

.glow-scout-v__shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: clamp(580px, 64vw, 760px);
  font-family: var(--font-rajdhani);
}

.glow-scout-v__shell--featured {
  min-height: clamp(680px, 72vw, 860px);
  height: auto;
}

.glow-scout-v__chrome {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.82);
  backdrop-filter: blur(10px);
  font-family: ui-monospace, monospace;
  font-size: clamp(0.58rem, 0.85vw, 0.68rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-showcase--premium .glow-scout-v__chrome {
  background: hsl(var(--card) / 0.88);
  border-bottom-color: hsl(var(--border) / 0.55);
}

.glow-scout-v__dot { width: 0.5rem; height: 0.5rem; border-radius: 999px; }
.glow-scout-v__dot--r { background: #f87171; }
.glow-scout-v__dot--y { background: #fbbf24; }
.glow-scout-v__dot--g { background: #4ade80; }

.glow-scout-v__path { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.glow-scout-v__live {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: hsl(262 70% 48%);
}

.glow-scout-v__live-pulse {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: hsl(262 88% 58%);
  animation: glow-mc-pulse 1.8s ease-in-out infinite;
}

.glow-scout-v__canvas {
  flex: 1;
  min-height: 0;
  padding: clamp(0.75rem, 1.4vw, 1.1rem);
  overflow: visible;
}

.glow-scout-showcase .glow-scout-v__canvas {
  overflow: visible;
}

.glow-scout-v {
  height: 100%;
  min-height: 0;
  color: hsl(var(--foreground));
}

/* Shared blocks */
.glow-scout-v__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  width: clamp(2.2rem, 3.5vw, 2.75rem);
  padding: 0.55rem 0.35rem;
  border-radius: 0.85rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.8);
}

.glow-scout-v__rail span {
  display: grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.55rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--background) / 0.9);
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__rail span svg { width: 0.9rem; height: 0.9rem; }

.glow-scout-v__rail span.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, hsl(262 88% 48%), hsl(330 78% 58%));
  color: #fff;
  box-shadow: 0 6px 20px -8px hsl(262 88% 48% / 0.55);
}

.glow-scout-v__hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.65rem;
  padding: clamp(0.75rem, 1.4vw, 1.1rem) clamp(0.85rem, 1.5vw, 1.2rem);
  border-radius: 0.95rem;
  background: linear-gradient(108deg, hsl(262 88% 48%), hsl(291 86% 52%) 55%, hsl(330 78% 58%));
  color: #fff;
  box-shadow: 0 18px 44px -24px hsl(262 88% 48% / 0.45);
}

.glow-scout-v__hero--compact { padding: 0.65rem 0.85rem; }

.glow-scout-v__eyebrow {
  margin: 0;
  font-family: ui-monospace, monospace;
  font-size: clamp(0.55rem, 0.8vw, 0.65rem);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.82;
}

.glow-scout-v__title {
  margin: 0.25rem 0 0;
  font-size: clamp(1.2rem, 2.4vw, 1.85rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}

.glow-scout-v__lead {
  margin: 0.35rem 0 0;
  max-width: 28rem;
  font-size: clamp(0.68rem, 1vw, 0.82rem);
  line-height: 1.4;
  opacity: 0.9;
}

.glow-scout-v__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.glow-scout-v__hero-actions span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.glow-scout-v__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.glow-scout-v__kpi {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.5rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.82);
}

.glow-scout-v__kpi-icon {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.45rem;
  flex-shrink: 0;
}

.glow-scout-v__kpi-icon svg { width: 0.9rem; height: 0.9rem; }

.glow-scout-v__kpi--violet .glow-scout-v__kpi-icon { background: hsl(262 88% 58% / 0.14); color: #7c3aed; }
.glow-scout-v__kpi--blue .glow-scout-v__kpi-icon { background: hsl(217 91% 60% / 0.14); color: #2563eb; }
.glow-scout-v__kpi--pink .glow-scout-v__kpi-icon { background: hsl(330 78% 58% / 0.14); color: #db2777; }
.glow-scout-v__kpi--cyan .glow-scout-v__kpi-icon { background: hsl(190 90% 50% / 0.14); color: #0891b2; }

.glow-scout-v__kpi strong {
  display: block;
  font-size: clamp(0.95rem, 1.45vw, 1.15rem);
  font-weight: 700;
  line-height: 1;
}

.glow-scout-v__kpi span {
  display: block;
  margin-top: 0.1rem;
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.45rem;
}

.glow-scout-v__filters span {
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__filters .is-active {
  border-color: hsl(262 88% 58% / 0.35);
  background: hsl(262 88% 58% / 0.1);
  color: hsl(262 70% 42%);
}

.glow-scout-v__jobs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.glow-scout-v__jobs--duo { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.glow-scout-v__job {
  display: flex;
  flex-direction: column;
  padding: 0.6rem 0.55rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--background) / 0.92);
  border-top-width: 3px;
  box-shadow: 0 8px 24px -18px hsl(var(--foreground) / 0.16);
}

.glow-scout-showcase--premium .glow-scout-v__job {
  background: hsl(var(--card) / 0.92);
  box-shadow:
    0 10px 28px -16px hsl(var(--foreground) / 0.16),
    inset 0 1px 0 hsl(var(--foreground) / 0.03);
}

.glow-scout-v__job.is-featured {
  border-color: hsl(262 88% 58% / 0.35);
  background: linear-gradient(165deg, hsl(262 88% 58% / 0.08), hsl(var(--card) / 0.94));
  box-shadow:
    0 14px 36px -18px hsl(262 88% 48% / 0.22),
    inset 0 1px 0 hsl(262 88% 58% / 0.08);
}

.glow-scout-v__job--orange { border-top-color: #f97316; }
.glow-scout-v__job--blue { border-top-color: #3b82f6; }
.glow-scout-v__job--violet { border-top-color: #8b5cf6; }

.glow-scout-v__job-top {
  display: flex;
  justify-content: space-between;
  gap: 0.3rem;
  margin-bottom: 0.4rem;
}

.glow-scout-v__job-avatar {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.45rem;
  background: hsl(var(--muted) / 0.45);
  font-size: 0.72rem;
  font-weight: 700;
}

.glow-scout-v__job-badge {
  padding: 0.12rem 0.35rem;
  border-radius: 999px;
  font-size: clamp(0.48rem, 0.7vw, 0.58rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.glow-scout-v__job-badge--orange { background: hsl(38 92% 50% / 0.14); color: hsl(24 90% 38%); }
.glow-scout-v__job-badge--blue { background: hsl(217 91% 60% / 0.14); color: #2563eb; }
.glow-scout-v__job-badge--violet { background: hsl(262 88% 58% / 0.14); color: #7c3aed; }

.glow-scout-v__job h4 {
  margin: 0;
  font-size: clamp(0.68rem, 1vw, 0.82rem);
  font-weight: 700;
  line-height: 1.25;
}

.glow-scout-v__job p {
  margin: 0.2rem 0 0;
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 600;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__job small { font-size: clamp(0.52rem, 0.75vw, 0.62rem); color: hsl(var(--muted-foreground)); }

.glow-scout-v__job-foot {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: auto;
  padding-top: 0.45rem;
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(262 70% 48%);
}

.glow-scout-v__side {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.glow-scout-v__panel {
  padding: 0.55rem 0.6rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.78);
}

.glow-scout-v__panel-title {
  margin: 0 0 0.35rem;
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.glow-scout-v__recs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.glow-scout-v__recs li {
  display: flex;
  gap: 0.35rem;
  align-items: flex-start;
}

.glow-scout-v__recs li span {
  flex-shrink: 0;
  width: 1.2rem;
  height: 1.2rem;
  display: grid;
  place-items: center;
  border-radius: 0.3rem;
  background: hsl(262 88% 58% / 0.12);
  font-size: 0.52rem;
  font-weight: 700;
  color: #7c3aed;
}

.glow-scout-v__recs li p {
  margin: 0;
  font-size: clamp(0.55rem, 0.78vw, 0.65rem);
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__signals {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.glow-scout-v__signals li {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.4rem;
  border-radius: 0.45rem;
  border: 1px solid hsl(var(--border) / 0.45);
  font-size: clamp(0.55rem, 0.78vw, 0.65rem);
  font-weight: 600;
}

.glow-scout-v__signals li svg { width: 0.75rem; height: 0.75rem; color: #7c3aed; flex-shrink: 0; }

/* Helios Analysis panel */
.glow-scout-v__ring {
  position: relative;
  flex-shrink: 0;
}

.glow-scout-v__ring strong {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: clamp(0.85rem, 1.2vw, 1rem);
  font-weight: 700;
}

.glow-scout-v__analysis {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: clamp(0.65rem, 1.1vw, 0.9rem);
  border-radius: 0.95rem;
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--background) / 0.94);
  backdrop-filter: blur(12px);
  box-shadow: 0 20px 48px -28px hsl(var(--foreground) / 0.22);
}

.glow-scout-showcase--premium .glow-scout-v__analysis {
  background: linear-gradient(
    165deg,
    hsl(var(--card) / 0.98) 0%,
    hsl(var(--background) / 0.96) 100%
  );
  box-shadow:
    0 24px 56px -28px hsl(262 88% 48% / 0.2),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-scout-v__analysis-head {
  display: flex;
  justify-content: space-between;
  gap: 0.55rem;
}

.glow-scout-v__analysis-head h4 {
  margin: 0;
  font-size: clamp(0.78rem, 1.1vw, 0.92rem);
  font-weight: 700;
  line-height: 1.2;
}

.glow-scout-v__analysis-head p {
  margin: 0.15rem 0 0;
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__tabs {
  display: flex;
  gap: 0.55rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  padding-bottom: 0.3rem;
}

.glow-scout-v__tabs span {
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__tabs .is-active {
  color: hsl(262 70% 48%);
  box-shadow: inset 0 -2px 0 hsl(262 88% 58%);
  padding-bottom: 0.3rem;
  margin-bottom: -0.3rem;
}

.glow-scout-v__building {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.65rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.65);
}

.glow-scout-v__building strong {
  display: block;
  font-size: clamp(0.62rem, 0.88vw, 0.72rem);
  font-weight: 700;
}

.glow-scout-v__building p {
  margin: 0.1rem 0 0;
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__summary {
  margin: 0;
  padding: 0.45rem 0.55rem;
  border-radius: 0.65rem;
  background: hsl(262 88% 58% / 0.08);
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  line-height: 1.45;
}

.glow-scout-v__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem;
}

.glow-scout-v__checks article {
  padding: 0.45rem 0.5rem;
  border-radius: 0.6rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.55);
}

.glow-scout-v__checks .is-partial {
  display: inline-block;
  margin-bottom: 0.25rem;
  padding: 0.1rem 0.35rem;
  border-radius: 999px;
  background: hsl(38 92% 50% / 0.14);
  font-size: clamp(0.48rem, 0.68vw, 0.58rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(24 90% 38%);
}

.glow-scout-v__checks p {
  margin: 0;
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.3rem;
}

.glow-scout-v__triad > div {
  padding: 0.35rem 0.4rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--muted) / 0.25);
}

.glow-scout-v__triad span {
  display: block;
  font-size: clamp(0.48rem, 0.68vw, 0.58rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__triad p {
  margin: 0.15rem 0 0;
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  line-height: 1.35;
}

.glow-scout-v__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  padding-top: 0.35rem;
  border-top: 1px solid hsl(var(--border) / 0.45);
}

.glow-scout-v__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  background: linear-gradient(90deg, hsl(262 88% 52%), hsl(291 86% 52%));
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
}

.glow-scout-v__btn-secondary {
  padding: 0.32rem 0.55rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.6);
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-scout-v__btn-apply {
  margin-left: auto;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  background: hsl(142 70% 45%);
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
}

/* Board + analysis stack (no overlap) */
.glow-scout-v__board-block {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex-shrink: 0;
}

.glow-scout-v__analysis-row {
  flex-shrink: 0;
  margin-top: 0.55rem;
  padding-top: 0.65rem;
  border-top: 1px solid hsl(var(--border) / 0.55);
}

.glow-scout-v__analysis-row .glow-scout-v__analysis {
  position: relative;
  width: 100%;
}

.glow-scout-v__analysis-row--split {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  height: 100%;
}

/* Variant A — Command Deck */
.glow-scout-v--command-deck {
  display: flex;
  gap: 0.55rem;
  height: 100%;
}

.glow-scout-v--command-deck .glow-scout-v__stage {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1;
  min-width: 0;
  overflow: visible;
}

.glow-scout-v--command-deck .glow-scout-v__body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
  gap: 0.45rem;
}

/* Variant B — Analysis Hero */
.glow-scout-v--analysis-hero {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  height: 100%;
}

.glow-scout-showcase--analysis-hero .glow-scout-v__board-block {
  padding: clamp(0.55rem, 1vw, 0.75rem);
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.42);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.03);
}

.glow-scout-showcase--premium.glow-scout-showcase--analysis-hero .glow-scout-v__board-block {
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.55) 0%, hsl(var(--card) / 0.28) 100%);
  border-color: hsl(var(--border) / 0.55);
}

.glow-scout-v--analysis-hero .glow-scout-v__analysis-row {
  margin-top: 0.15rem;
  padding-top: 0;
  border-top: none;
}

.glow-scout-v--analysis-hero .glow-scout-v__analysis--hero {
  position: relative;
  padding: clamp(0.95rem, 1.5vw, 1.25rem);
  border-color: hsl(var(--primary) / 0.28);
  box-shadow:
    0 28px 64px -28px hsl(262 88% 48% / 0.28),
    0 0 0 1px hsl(262 88% 58% / 0.14),
    inset 0 1px 0 hsl(var(--foreground) / 0.05);
}

.glow-scout-showcase--premium .glow-scout-v__analysis--hero::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(ellipse 70% 55% at 88% 0%, hsl(262 88% 58% / 0.12), transparent 60%),
    radial-gradient(ellipse 50% 40% at 8% 100%, hsl(190 90% 50% / 0.08), transparent 55%);
}

.glow-scout-showcase--premium .glow-scout-v__analysis--hero > * {
  position: relative;
  z-index: 1;
}

.glow-scout-showcase--premium .glow-scout-v__kpi {
  background: hsl(var(--card) / 0.9);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.03);
}

.glow-scout-showcase--premium .glow-scout-v__hero {
  box-shadow:
    0 20px 48px -22px hsl(262 88% 48% / 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Variant C — Split Intel */
.glow-scout-v--split-intel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.65rem;
  align-items: stretch;
  height: 100%;
}

.glow-scout-v--split-intel .glow-scout-v__split-board {
  min-height: 0;
}

.glow-scout-v--split-intel .glow-scout-v__board-block {
  height: 100%;
}

.glow-scout-v--split-intel .glow-scout-v__analysis-row--split .glow-scout-v__analysis {
  height: 100%;
}

/* Preview picker */
.glow-scout-preview__lead {
  margin-bottom: 1rem;
  text-align: center;
}

.glow-scout-preview__grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .glow-scout-preview__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

.glow-scout-preview__frame {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--background));
  min-height: 34rem;
  box-shadow: 0 18px 40px -28px hsl(var(--foreground) / 0.25);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.glow-scout-preview__frame .glow-scout-v__shell {
  min-height: 100%;
  height: auto;
}

.glow-scout-preview__frame .glow-scout-v__canvas {
  padding: 0.35rem;
  overflow: auto;
  max-height: 34rem;
}

.glow-scout-preview__card:hover .glow-scout-preview__frame {
  transform: translateY(-3px);
  border-color: hsl(262 88% 58% / 0.45);
  box-shadow: 0 22px 48px -24px hsl(262 88% 48% / 0.28);
}

.glow-scout-preview__caption {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.75rem;
  text-align: center;
}

.glow-scout-preview__tag {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: hsl(262 70% 48%);
}

.glow-scout-preview__title {
  font-family: var(--font-rajdhani);
  font-size: 0.95rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-scout-preview__desc {
  font-size: 0.78rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 1023px) {
  .glow-scout-v__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glow-scout-v__jobs { grid-template-columns: 1fr; }
  .glow-scout-v--command-deck .glow-scout-v__body { grid-template-columns: 1fr; }
  .glow-scout-v--split-intel { grid-template-columns: 1fr; }
  .glow-scout-v--split-intel .glow-scout-v__analysis-row--split {
    margin-top: 0.55rem;
    padding-top: 0.65rem;
    border-top: 1px solid hsl(var(--border) / 0.55);
  }
  .glow-scout-v__checks,
  .glow-scout-v__triad { grid-template-columns: 1fr; }
  .glow-scout-preview__grid { grid-template-columns: 1fr; max-width: 28rem; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .glow-scout-showcase--analysis-hero .glow-scout-v__analysis {
    animation: none;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/mission-control-live-glow.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
/* ── Mission Control Live — image full fidelity, background matches artwork ── */

.gl-section--mission-blend {
  position: relative;
  overflow: hidden;
  border-block: none;
  /* Sampled directly from the artwork's own canvas color (not the page's --background
     token, which is a different hue) so the section reads as one continuous surface. */
  background: #010313;
  color: #f8fafc;
}

/* Hand off to the next section — background only, not the image */
.gl-section--mission-blend::after {
  content: none;
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(4rem, 10vw, 7rem);
  z-index: 0;
  background: linear-gradient(to bottom, transparent, hsl(var(--background)));
}

.gl-section--mission-blend .gl-container {
  position: relative;
  z-index: 1;
}

.gl-container--mission-live {
  width: min(96vw, 1680px);
  max-width: none;
}

.glow-mission-live-grid {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
}

.glow-mission-live-copy {
  align-self: center;
  max-width: 620px;
}

.glow-mission-live-copy .glow-display-xl {
  line-height: 1.05;
}

.glow-mission-live-copy p {
  max-width: 43ch;
  line-height: 1.55;
}

.glow-mission-live-visual {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  overflow: visible;
}

.glow-mission-live-grid > * {
  min-width: 0;
}

.glow-mcl-hero {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
  padding-inline: 0;
  line-height: 0;
  overflow: visible;
}

.glow-page .gl-section--mission-blend .glow-mcl-hero {
  width: 100%;
  max-width: 100%;
  aspect-ratio: auto;
  margin-inline: 0;
}

.glow-mcl-hero__img,
.glow-mcl-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  /* Feather the outer edge into the section background (single radial vignette,
     scales to the box's own aspect ratio) so any residual tone mismatch dissolves
     instead of reading as a hard-edged box. */
  -webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, #000 88%, transparent 100%);
  mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, #000 88%, transparent 100%);
}

.glow-page .gl-section--mission-blend .glow-mcl-hero img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}

@media (min-width: 1280px) {
  .glow-mission-live-grid {
    --mission-left-expansion: clamp(0px, calc((100vw - 1600px) * 0.26), 7.25rem);
    grid-template-columns: minmax(0, 1.15fr) minmax(460px, 0.85fr);
  }

  .glow-mission-live-visual {
    margin-top: -5.5rem;
    margin-bottom: -5.5rem;
    margin-left: calc((100vw - min(96vw, 1680px)) / -2 - 1.5rem - var(--mission-left-expansion));
  }

  .glow-page .gl-section--mission-blend .glow-mcl-hero {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: none;
    height: clamp(520px, 39vw, 645px);
  }

  .glow-page .gl-section--mission-blend .glow-mcl-hero img {
    width: auto;
    max-width: none;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: right center;
       object-position: right center;
  }

  .glow-mission-live-copy .glow-display-xl {
    font-size: clamp(2rem, 1.6vw + 1rem, 2.5rem);
  }
}

@media (min-width: 1600px) {
  .glow-mission-live-visual {
    width: min(968px, 47.3vw);
  }

  .glow-page .gl-section--mission-blend .glow-mcl-hero {
    flex: 0 0 auto;
    width: 100%;
  }

  .glow-page .gl-section--mission-blend .glow-mcl-hero img {
    width: 100%;
    height: 100%;
  }
}

/* Light theme — pale orbital sky to match the artwork in light mode */
html[data-theme="light"] .gl-section--mission-blend,
html.light .gl-section--mission-blend {
  /* Sampled directly from the artwork's own pale-lavender canvas color. */
  background: #f2f4fd;
  color: #171322;
}

html[data-theme="light"] .gl-section--mission-blend::after,
html.light .gl-section--mission-blend::after {
  background: linear-gradient(to bottom, transparent, hsl(var(--background)));
}

@media (max-width: 767px) {
  .glow-mcl-hero {
    padding-inline: 0.5rem;
  }

  .glow-mission-live-grid {
    gap: 1.75rem;
  }

  .glow-mission-live-copy {
    order: -1;
  }
}

/* ── Mission Control Live — premium image treatments (picker / legacy) ── */

.glow-mcl-showcase {
  position: relative;
}

.glow-mcl-showcase--premium {
  border-radius: 1.5rem;
  overflow: hidden;
}

.glow-mcl-showcase--cinema-deck.glow-mcl-showcase--premium {
  border: 1px solid hsl(var(--primary) / 0.24);
  background:
    linear-gradient(165deg, hsl(var(--card) / 0.5) 0%, hsl(var(--background)) 100%);
  box-shadow:
    0 40px 96px -36px hsl(262 88% 48% / 0.3),
    0 20px 56px -28px hsl(var(--foreground) / 0.18),
    inset 0 1px 0 hsl(var(--foreground) / 0.05);
}

html[data-theme="light"] .glow-mcl-showcase--cinema-deck.glow-mcl-showcase--premium,
html.light .glow-mcl-showcase--cinema-deck.glow-mcl-showcase--premium {
  border-color: hsl(var(--border) / 0.72);
  background: linear-gradient(165deg, hsl(var(--card) / 0.98) 0%, hsl(var(--background)) 100%);
  box-shadow:
    0 36px 88px -32px hsl(262 88% 48% / 0.14),
    0 16px 44px -24px hsl(var(--foreground) / 0.1),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-mcl-treatment {
  position: relative;
  overflow: hidden;
  font-family: var(--font-rajdhani);
  color: hsl(var(--foreground));
}

.glow-mcl-treatment__brand {
  font-size: clamp(0.62rem, 1vw, 0.78rem);
  font-weight: 800;
  letter-spacing: 0.28em;
  background: var(--glow-gradient-brand, linear-gradient(110deg, hsl(190 90% 50%), hsl(262 90% 66%), hsl(291 90% 62%)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.glow-mcl-treatment__brand--large {
  font-size: clamp(0.85rem, 1.35vw, 1.05rem);
  letter-spacing: 0.34em;
  filter: drop-shadow(0 0 14px hsl(262 88% 58% / 0.4));
}

.glow-mcl-treatment__pulse {
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: hsl(262 88% 58%);
  animation: glow-mc-pulse 1.8s ease-in-out infinite;
}

.glow-mcl-treatment__photo img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Shared image tuning */
.glow-mcl-treatment--featured .glow-mcl-treatment__photo img,
.glow-mcl-showcase .glow-mcl-treatment__photo img {
  filter: contrast(1.05) saturate(1.06);
}

html[data-theme="light"] .glow-mcl-treatment__photo img,
html.light .glow-mcl-treatment__photo img {
  filter: brightness(1.1) contrast(0.94) saturate(0.92);
}

/* ── Option A · Orbital Frame ── */
.glow-mcl-treatment--orbital {
  border-radius: 1.5rem;
  border: 1px solid hsl(var(--primary) / 0.24);
  background:
    linear-gradient(165deg, hsl(var(--card) / 0.94) 0%, hsl(var(--background)) 48%, hsl(var(--background)) 100%);
  box-shadow:
    0 36px 88px -32px hsl(262 88% 48% / 0.28),
    0 18px 52px -24px hsl(var(--foreground) / 0.2),
    inset 0 1px 0 hsl(var(--foreground) / 0.05);
}

.glow-mcl-treatment__aurora {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 55% 45% at 14% 16%, hsl(190 90% 50% / 0.14), transparent 55%),
    radial-gradient(ellipse 50% 42% at 86% 18%, hsl(291 86% 52% / 0.16), transparent 50%),
    radial-gradient(ellipse 70% 55% at 50% 100%, hsl(262 88% 48% / 0.12), transparent 58%);
}

.glow-mcl-treatment__glow {
  pointer-events: none;
  position: absolute;
  z-index: 0;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.55;
}

.glow-mcl-treatment__glow--left {
  left: -4rem;
  top: 18%;
  background: hsl(190 90% 50% / 0.2);
}

.glow-mcl-treatment__glow--right {
  right: -3rem;
  bottom: 8%;
  background: hsl(291 86% 52% / 0.22);
}

.glow-mcl-treatment__chrome {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.88);
  backdrop-filter: blur(10px);
  font-family: ui-monospace, monospace;
  font-size: clamp(0.58rem, 0.85vw, 0.68rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mcl-treatment__dot { width: 0.5rem; height: 0.5rem; border-radius: 999px; }
.glow-mcl-treatment__dot--r { background: #f87171; }
.glow-mcl-treatment__dot--y { background: #fbbf24; }
.glow-mcl-treatment__dot--g { background: #4ade80; }

.glow-mcl-treatment__path {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.glow-mcl-treatment__telemetry {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: hsl(262 70% 48%);
  font-weight: 600;
}

.glow-mcl-treatment__photo--inset {
  position: relative;
  z-index: 1;
  padding: clamp(0.65rem, 1.2vw, 0.95rem);
}

.glow-mcl-treatment__photo--inset img {
  border-radius: clamp(0.65rem, 1vw, 0.85rem);
  border: 1px solid hsl(262 88% 58% / 0.28);
  box-shadow:
    0 28px 64px -28px hsl(262 88% 48% / 0.35),
    inset 0 0 0 1px hsl(190 90% 50% / 0.1);
}

html[data-theme="light"] .glow-mcl-treatment--orbital,
html.light .glow-mcl-treatment--orbital {
  border-color: hsl(var(--border) / 0.72);
  background: linear-gradient(165deg, hsl(var(--card) / 0.98) 0%, hsl(var(--background)) 55%);
  box-shadow:
    0 32px 80px -28px hsl(262 88% 48% / 0.14),
    0 14px 40px -20px hsl(var(--foreground) / 0.1);
}

html[data-theme="light"] .glow-mcl-treatment__photo--inset img,
html.light .glow-mcl-treatment__photo--inset img {
  border-color: hsl(var(--border) / 0.65);
  box-shadow: 0 24px 56px -24px hsl(262 88% 48% / 0.16);
}

/* ── Option B · Telemetry HUD ── */
.glow-mcl-treatment--hud {
  border-radius: 1.25rem;
  border: 1px solid hsl(262 88% 58% / 0.32);
  background: hsl(240 30% 6% / 0.96);
  box-shadow:
    0 32px 80px -32px hsl(262 88% 48% / 0.35),
    inset 0 0 0 1px hsl(190 90% 50% / 0.12);
}

.glow-mcl-treatment__hud-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.85rem;
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid hsl(190 90% 50% / 0.18);
  background: linear-gradient(90deg, hsl(262 40% 10% / 0.95), hsl(240 30% 8% / 0.9));
  font-family: ui-monospace, monospace;
  font-size: clamp(0.52rem, 0.78vw, 0.62rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.glow-mcl-treatment__hud-meta {
  flex: 1;
  color: hsl(190 90% 72% / 0.85);
  font-weight: 600;
}

.glow-mcl-treatment__hud-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-left: auto;
}

.glow-mcl-treatment__hud-stats em {
  font-style: normal;
  font-weight: 700;
  color: hsl(262 70% 72%);
}

.glow-mcl-treatment__hud-stats .is-live {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: hsl(190 95% 68%);
}

.glow-mcl-treatment__photo--bleed {
  position: relative;
}

.glow-mcl-treatment__photo--bleed img {
  aspect-ratio: 3 / 2;
  max-height: clamp(280px, 42vw, 480px);
}

.glow-mcl-treatment__bracket {
  position: absolute;
  width: clamp(1.4rem, 3vw, 2rem);
  height: clamp(1.4rem, 3vw, 2rem);
  z-index: 2;
  border: 2px solid hsl(190 90% 55% / 0.75);
  box-shadow: 0 0 12px hsl(190 90% 50% / 0.35);
}

.glow-mcl-treatment__bracket--tl { top: 0.55rem; left: 0.55rem; border-right: none; border-bottom: none; }
.glow-mcl-treatment__bracket--tr { top: 0.55rem; right: 0.55rem; border-left: none; border-bottom: none; }
.glow-mcl-treatment__bracket--bl { bottom: 0.55rem; left: 0.55rem; border-right: none; border-top: none; }
.glow-mcl-treatment__bracket--br { bottom: 0.55rem; right: 0.55rem; border-left: none; border-top: none; }

.glow-mcl-treatment__scanlines {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    hsl(190 90% 50% / 0.04) 2px,
    hsl(190 90% 50% / 0.04) 3px
  );
  opacity: 0.7;
}

.glow-mcl-treatment__hud-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-top: 1px solid hsl(262 88% 58% / 0.22);
  background: hsl(240 28% 8% / 0.92);
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(190 90% 70% / 0.8);
}

html[data-theme="light"] .glow-mcl-treatment--hud,
html.light .glow-mcl-treatment--hud {
  border-color: hsl(var(--border) / 0.7);
  background: hsl(var(--background));
  box-shadow:
    0 28px 72px -28px hsl(262 88% 48% / 0.18),
    inset 0 0 0 1px hsl(262 88% 58% / 0.1);
}

html[data-theme="light"] .glow-mcl-treatment__hud-top,
html.light .glow-mcl-treatment__hud-top {
  background: linear-gradient(90deg, hsl(var(--card) / 0.98), hsl(262 40% 96% / 0.95));
  border-bottom-color: hsl(var(--border) / 0.55);
}

html[data-theme="light"] .glow-mcl-treatment__hud-meta,
html.light .glow-mcl-treatment__hud-meta {
  color: hsl(var(--muted-foreground));
}

html[data-theme="light"] .glow-mcl-treatment__hud-stats em,
html.light .glow-mcl-treatment__hud-stats em {
  color: hsl(262 50% 42%);
}

html[data-theme="light"] .glow-mcl-treatment__bracket,
html.light .glow-mcl-treatment__bracket {
  border-color: hsl(262 88% 58% / 0.55);
  box-shadow: 0 0 10px hsl(262 88% 58% / 0.2);
}

html[data-theme="light"] .glow-mcl-treatment__hud-bottom,
html.light .glow-mcl-treatment__hud-bottom {
  background: hsl(var(--card) / 0.95);
  border-top-color: hsl(var(--border) / 0.55);
  color: hsl(var(--muted-foreground));
}

/* ── Option C · Cinema Deck (premium) ── */
.glow-mcl-treatment--cinema {
  position: relative;
  z-index: 1;
  border-radius: 1.35rem;
  border: 1px solid hsl(262 88% 58% / 0.28);
  background: hsl(240 32% 4% / 0.98);
  box-shadow:
    0 0 0 1px hsl(190 90% 50% / 0.1),
    inset 0 1px 0 hsl(190 90% 50% / 0.1);
}

.glow-mcl-treatment--cinema.glow-mcl-treatment--featured {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.glow-mcl-treatment--featured .glow-mcl-treatment__aurora {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 55% 45% at 14% 12%, hsl(190 90% 50% / 0.12), transparent 55%),
    radial-gradient(ellipse 50% 42% at 88% 14%, hsl(291 86% 52% / 0.14), transparent 50%),
    radial-gradient(ellipse 65% 50% at 50% 100%, hsl(262 88% 48% / 0.1), transparent 58%);
}

.glow-mcl-treatment--featured .glow-mcl-treatment__glow {
  pointer-events: none;
  position: absolute;
  z-index: 0;
  width: 16rem;
  height: 16rem;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.55;
}

.glow-mcl-treatment--featured .glow-mcl-treatment__glow--left {
  left: -5rem;
  top: 22%;
  background: hsl(190 90% 50% / 0.2);
}

.glow-mcl-treatment--featured .glow-mcl-treatment__glow--right {
  right: -4rem;
  bottom: 12%;
  background: hsl(291 86% 52% / 0.22);
}

.glow-mcl-treatment__letterbox {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1rem;
  padding: clamp(0.7rem, 1.2vw, 0.95rem) clamp(0.85rem, 1.4vw, 1.15rem);
  font-family: ui-monospace, monospace;
}

.glow-mcl-treatment__letterbox-copy {
  min-width: 0;
}

.glow-mcl-treatment__letterbox--top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  border-bottom: 1px solid hsl(262 88% 58% / 0.28);
  background:
    linear-gradient(180deg, hsl(262 38% 11% / 0.98) 0%, hsl(240 30% 7% / 0.96) 100%);
  box-shadow: inset 0 1px 0 hsl(190 90% 50% / 0.12);
}

.glow-mcl-treatment__letterbox--top::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, hsl(190 90% 50% / 0.06), transparent 40%, transparent 60%, hsl(291 86% 52% / 0.06));
}

.glow-mcl-treatment__letterbox--top p {
  position: relative;
  margin: 0.22rem 0 0;
  font-size: clamp(0.52rem, 0.75vw, 0.62rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: hsl(190 90% 72% / 0.9);
}

.glow-mcl-treatment__letterbox-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

.glow-mcl-treatment__sync-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid hsl(142 70% 45% / 0.35);
  background: hsl(142 70% 45% / 0.12);
  font-size: clamp(0.48rem, 0.68vw, 0.56rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(142 70% 62%);
}

.glow-mcl-treatment__mission-clock {
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  font-weight: 600;
  letter-spacing: 0.16em;
  color: hsl(262 70% 72%);
}

.glow-mcl-treatment__mission-id {
  text-align: right;
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(190 90% 65% / 0.75);
}

.glow-mcl-treatment__mission-id strong {
  display: block;
  margin-top: 0.12rem;
  font-family: var(--font-rajdhani);
  font-size: clamp(0.95rem, 1.45vw, 1.15rem);
  font-weight: 800;
  letter-spacing: 0.24em;
  color: hsl(190 95% 72%);
  text-shadow:
    0 0 16px hsl(262 88% 58% / 0.5),
    0 0 32px hsl(190 90% 50% / 0.25);
}

.glow-mcl-treatment__photo--cinema {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0 clamp(0.55rem, 1vw, 0.75rem);
  border-radius: clamp(0.55rem, 0.9vw, 0.75rem);
}

.glow-mcl-treatment__cinema-glow {
  pointer-events: none;
  position: absolute;
  inset: -15% 0 auto;
  height: 45%;
  background:
    radial-gradient(ellipse 90% 100% at 50% 0%, hsl(262 88% 58% / 0.28), transparent 72%);
  z-index: 3;
}

.glow-mcl-treatment__cinema-vignette {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    radial-gradient(ellipse 95% 88% at 50% 45%, transparent 52%, hsl(240 32% 4% / 0.55) 100%);
}

.glow-mcl-treatment__cinema-frame {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
  border: 1px solid hsl(190 90% 50% / 0.22);
  box-shadow:
    inset 0 0 0 1px hsl(262 88% 58% / 0.15),
    inset 0 0 48px hsl(262 88% 48% / 0.08);
}

.glow-mcl-treatment__photo--cinema img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  filter: contrast(1.06) saturate(1.08);
}

.glow-mcl-treatment--featured .glow-mcl-treatment__photo--cinema img {
  filter: contrast(1.08) saturate(1.1) brightness(1.02);
}

.glow-mcl-treatment__reflection {
  pointer-events: none;
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  z-index: 2;
  background: linear-gradient(0deg, hsl(240 32% 4% / 0.95), transparent);
}

.glow-mcl-treatment__letterbox--bottom {
  position: relative;
  z-index: 2;
  justify-content: center;
  gap: 0.65rem 1rem;
  border-top: 1px solid hsl(262 88% 58% / 0.26);
  background:
    linear-gradient(0deg, hsl(262 38% 11% / 0.98) 0%, hsl(240 30% 7% / 0.96) 100%);
  box-shadow: inset 0 1px 0 hsl(190 90% 50% / 0.08);
  font-size: clamp(0.5rem, 0.72vw, 0.6rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(190 90% 72% / 0.9);
}

.glow-mcl-treatment__deck-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.glow-mcl-treatment__deck-item--score {
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  margin-left: auto;
}

.glow-mcl-treatment__deck-item--score strong {
  font-family: var(--font-rajdhani);
  font-size: clamp(0.85rem, 1.25vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  background: var(--glow-gradient-brand, linear-gradient(110deg, hsl(190 90% 50%), hsl(262 90% 66%), hsl(291 90% 62%)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.glow-mcl-treatment__deck-divider {
  width: 1px;
  height: 0.85rem;
  background: hsl(262 88% 58% / 0.35);
  flex-shrink: 0;
}

.glow-mcl-treatment__status-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  flex-shrink: 0;
}

.glow-mcl-treatment__status-dot.is-ok {
  background: #4ade80;
  box-shadow: 0 0 10px hsl(142 70% 45% / 0.65);
}

.glow-mcl-treatment__status-dot.is-warn {
  background: #fbbf24;
  box-shadow: 0 0 10px hsl(38 92% 50% / 0.55);
}

.glow-mcl-treatment__status-dot.is-live {
  display: inline-flex;
  align-items: center;
  background: transparent;
  box-shadow: none;
}

/* Cinema · Light theme */
html[data-theme="light"] .glow-mcl-treatment--cinema,
html.light .glow-mcl-treatment--cinema {
  border-color: hsl(var(--border) / 0.65);
  background: hsl(var(--background));
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

html[data-theme="light"] .glow-mcl-treatment--featured .glow-mcl-treatment__aurora,
html.light .glow-mcl-treatment--featured .glow-mcl-treatment__aurora {
  background:
    radial-gradient(ellipse 55% 45% at 14% 12%, hsl(262 88% 58% / 0.08), transparent 55%),
    radial-gradient(ellipse 50% 42% at 88% 14%, hsl(190 90% 50% / 0.06), transparent 50%);
  opacity: 0.9;
}

html[data-theme="light"] .glow-mcl-treatment--featured .glow-mcl-treatment__glow,
html.light .glow-mcl-treatment--featured .glow-mcl-treatment__glow {
  opacity: 0.35;
}

html[data-theme="light"] .glow-mcl-treatment__letterbox--top,
html[data-theme="light"] .glow-mcl-treatment__letterbox--bottom,
html.light .glow-mcl-treatment__letterbox--top,
html.light .glow-mcl-treatment__letterbox--bottom {
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.98) 0%, hsl(262 40% 97% / 0.95) 100%);
  border-color: hsl(var(--border) / 0.58);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

html[data-theme="light"] .glow-mcl-treatment__letterbox--top::before,
html.light .glow-mcl-treatment__letterbox--top::before {
  background: linear-gradient(90deg, hsl(262 88% 58% / 0.05), transparent 45%, transparent 55%, hsl(190 90% 50% / 0.05));
}

html[data-theme="light"] .glow-mcl-treatment__letterbox--top p,
html.light .glow-mcl-treatment__letterbox--top p {
  color: hsl(var(--muted-foreground));
}

html[data-theme="light"] .glow-mcl-treatment__mission-clock,
html.light .glow-mcl-treatment__mission-clock {
  color: hsl(262 50% 42%);
}

html[data-theme="light"] .glow-mcl-treatment__mission-id,
html.light .glow-mcl-treatment__mission-id {
  color: hsl(var(--muted-foreground));
}

html[data-theme="light"] .glow-mcl-treatment__mission-id strong,
html.light .glow-mcl-treatment__mission-id strong {
  color: hsl(262 55% 40%);
  text-shadow: 0 0 12px hsl(262 88% 58% / 0.2);
}

html[data-theme="light"] .glow-mcl-treatment__photo--cinema img,
html.light .glow-mcl-treatment__photo--cinema img {
  filter: brightness(1.08) contrast(0.96) saturate(0.94);
}

html[data-theme="light"] .glow-mcl-treatment--featured .glow-mcl-treatment__photo--cinema img,
html.light .glow-mcl-treatment--featured .glow-mcl-treatment__photo--cinema img {
  filter: brightness(1.1) contrast(0.95) saturate(0.96);
}

html[data-theme="light"] .glow-mcl-treatment__cinema-vignette,
html.light .glow-mcl-treatment__cinema-vignette {
  background:
    radial-gradient(ellipse 95% 88% at 50% 45%, transparent 55%, hsl(var(--background) / 0.45) 100%);
}

html[data-theme="light"] .glow-mcl-treatment__cinema-frame,
html.light .glow-mcl-treatment__cinema-frame {
  border-color: hsl(var(--border) / 0.55);
  box-shadow:
    inset 0 0 0 1px hsl(262 88% 58% / 0.1),
    inset 0 0 32px hsl(262 88% 48% / 0.05);
}

html[data-theme="light"] .glow-mcl-treatment__cinema-glow,
html.light .glow-mcl-treatment__cinema-glow {
  background:
    radial-gradient(ellipse 90% 100% at 50% 0%, hsl(262 88% 58% / 0.12), transparent 72%);
}

html[data-theme="light"] .glow-mcl-treatment__reflection,
html.light .glow-mcl-treatment__reflection {
  background: linear-gradient(0deg, hsl(var(--background) / 0.92), transparent);
}

html[data-theme="light"] .glow-mcl-treatment__letterbox--bottom,
html.light .glow-mcl-treatment__letterbox--bottom {
  color: hsl(var(--muted-foreground));
}

html[data-theme="light"] .glow-mcl-treatment__deck-divider,
html.light .glow-mcl-treatment__deck-divider {
  background: hsl(var(--border) / 0.65);
}

@media (max-width: 767px) {
  .glow-mcl-treatment__letterbox-meta,
  .glow-mcl-treatment__mission-id {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }

  .glow-mcl-treatment__letterbox-meta {
    flex-direction: row;
    margin-left: 0;
  }

  .glow-mcl-treatment__deck-divider:nth-of-type(4) {
    display: none;
  }

  .glow-mcl-treatment__deck-item--score {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    margin-left: 0;
    padding-top: 0.35rem;
    border-top: 1px solid hsl(262 88% 58% / 0.2);
  }
}

/* ── Preview picker ── */
.glow-mcl-preview__lead {
  margin-bottom: 1rem;
  text-align: center;
}

.glow-mcl-preview__grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .glow-mcl-preview__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

.glow-mcl-preview__frame {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--background));
  box-shadow: 0 18px 40px -28px hsl(var(--foreground) / 0.25);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.glow-mcl-preview__card:hover .glow-mcl-preview__frame {
  transform: translateY(-3px);
  border-color: hsl(262 88% 58% / 0.45);
  box-shadow: 0 22px 48px -24px hsl(262 88% 48% / 0.28);
}

.glow-mcl-preview__caption {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.75rem;
  text-align: center;
}

.glow-mcl-preview__tag {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: hsl(262 70% 48%);
}

.glow-mcl-preview__title {
  font-family: var(--font-rajdhani);
  font-size: 0.95rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mcl-preview__desc {
  font-size: 0.78rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 1023px) {
  .glow-mcl-preview__grid {
    grid-template-columns: 1fr;
    max-width: 28rem;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-mcl-treatment__pulse {
    animation: none;
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/marketing-glow.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* Lovable-inspired glow landing — scoped to .glow-page */

@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap");

.glow-page {
  --glow-accent: hsl(190 90% 50%);
  --glow-neon: hsl(262 90% 66%);
  --glow-plasma: hsl(291 90% 62%);
  --glow-gradient-brand: linear-gradient(
    110deg,
    hsl(190 90% 50%) 0%,
    hsl(262 90% 66%) 55%,
    hsl(291 90% 62%) 100%
  );
  --glow-gradient-aurora: conic-gradient(
    from 180deg at 50% 50%,
    hsl(190 90% 50%) 0deg,
    hsl(262 90% 66%) 90deg,
    hsl(291 90% 62%) 180deg,
    hsl(190 90% 50%) 270deg,
    hsl(190 90% 50%) 360deg
  );
}

/* Canonical gradient-text formula — identical to .gl-gradient-text (MetricBand, FeatureBlock,
   etc. on the audience pages) so every gradient word on every page matches exactly. Routes
   through the theme-aware --gradient-start/mid/end tokens, so no per-theme override is needed. */
.glow-text-gradient,
.glow-text-gradient-emphasis {
  background-image: linear-gradient(100deg,
    hsl(var(--gradient-start)),
    hsl(var(--gradient-mid)),
    hsl(var(--gradient-end)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 700;
}

.glow-text-stroke {
  -webkit-text-stroke: 1px hsl(var(--foreground) / 0.35);
  color: transparent;
}

html[data-theme="light"] .glow-text-stroke {
  -webkit-text-stroke: 1px hsl(var(--foreground) / 0.28);
}

.glow-serif,
.glow-serif-display {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* Unified gradient emphasis word — bold sans (Rajdhani), same formula as .gl-gradient-text
   so every gradient word matches exactly across the homepage and every audience page. */
.glow-gradient-word {
  font-weight: 700;
  background-image: linear-gradient(100deg,
    hsl(var(--gradient-start)),
    hsl(var(--gradient-mid)),
    hsl(var(--gradient-end)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline;
  padding-inline: 0.05em;
  padding-bottom: 0.14em;
  margin-bottom: -0.1em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* ── Manifesto (Lovable parity) ── */
.glow-manifesto {
  position: relative;
  overflow: hidden;
  padding: 6rem 1.5rem;
}

@media (min-width: 768px) {
  .glow-manifesto {
    padding: 10rem 1.5rem;
  }
}

.glow-manifesto__inner {
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
}

.glow-manifesto__eyebrow {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: hsl(190 85% 42%);
}

html[data-theme="dark"] .glow-manifesto__eyebrow {
  color: hsl(190 90% 58%);
}

.glow-manifesto__statement {
  margin-top: 2rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2rem, 5.5vw, 4.5rem);
  line-height: 1.14;
  letter-spacing: -0.04em;
  text-wrap: balance;
  color: hsl(var(--foreground));
  overflow: visible;
}

.glow-manifesto__pillars {
  margin-top: 3rem;
  display: grid;
  gap: 2rem;
  border-top: 1px solid hsl(var(--border) / 0.55);
  padding-top: 2.5rem;
}

@media (min-width: 768px) {
  .glow-manifesto__pillars {
    grid-template-columns: repeat(3, 1fr);
  }
}

.glow-manifesto__pillar-title {
  font-family: var(--font-rajdhani);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-manifesto__pillar-desc {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: hsl(var(--muted-foreground));
}

.glow-manifesto__stats {
  position: relative;
  border-block: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.glow-manifesto__stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 80rem;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .glow-manifesto__stats-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.glow-manifesto__stat-cell {
  position: relative;
  overflow: hidden;
  padding: 2.5rem 1.5rem;
  border-bottom: 1px solid hsl(var(--border) / 0.45);
}

@media (min-width: 768px) {
  .glow-manifesto__stat-cell {
    padding: 3rem 2.5rem;
    border-bottom: none;
    border-right: 1px solid hsl(var(--border) / 0.45);
  }

  .glow-manifesto__stat-cell:last-child {
    border-right: none;
  }
}

@media (max-width: 767px) {
  .glow-manifesto__stat-cell:nth-last-child(-n + 2) {
    border-bottom: none;
  }
}

.glow-manifesto__stat-hover {
  pointer-events: none;
  position: absolute;
  inset: 0;
  transform: translateY(-100%);
  background: linear-gradient(to bottom, hsl(var(--primary) / 0.1), transparent);
  transition: transform 0.7s ease;
}

.glow-manifesto__stat-cell:hover .glow-manifesto__stat-hover,
.glow-manifesto__stat-cell:focus-within .glow-manifesto__stat-hover {
  transform: translateY(0);
}

.glow-manifesto__stat-value {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(3.5rem, 8vw, 4.5rem);
  line-height: 0.82;
  letter-spacing: -0.055em;
}

.glow-manifesto__stat-label {
  margin-top: 0.75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-rajdhani);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.glow-display-xl {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.14;
  overflow: visible;
}

.glow-display-mega {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.92;
  overflow: visible;
}

.glow-display-mega .glow-typewriter {
  line-height: 1.2;
  padding-right: 0.2em;
}

.glow-grid-bg {
  background-image:
    linear-gradient(hsl(var(--border) / 0.35) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--border) / 0.35) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 100%);
          mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 100%);
}

.glow-dot-bg {
  background-image: radial-gradient(hsl(var(--foreground) / 0.12) 1px, transparent 1px);
  background-size: 24px 24px;
}

.glow-glass-strong {
  background: hsl(var(--card) / 0.72);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid hsl(var(--border) / 0.65);
}

.glow-aurora {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.glow-aurora__spin {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 120vmax;
  height: 120vmax;
  transform: translate(-50%, -50%);
  opacity: 0.16;
  filter: blur(80px);
  background: var(--glow-gradient-aurora);
  animation: glow-aurora-spin 28s linear infinite, glow-aurora-hue 18s ease-in-out infinite;
}

.glow-aurora__blob {
  position: absolute;
  border-radius: 999px;
  filter: blur(100px);
}

.glow-aurora__blob--a {
  left: -8rem;
  top: 25%;
  width: 24rem;
  height: 24rem;
  background: hsl(var(--primary) / 0.28);
  animation: glow-float 9s ease-in-out infinite;
}

.glow-aurora__blob--b {
  right: 0;
  top: 2.5rem;
  width: 28rem;
  height: 28rem;
  background: var(--glow-neon);
  opacity: 0.22;
}

.glow-aurora__blob--c {
  bottom: 0;
  left: 33%;
  width: 20rem;
  height: 20rem;
  background: var(--glow-plasma);
  opacity: 0.18;
  animation: glow-pulse-soft 5s ease-in-out infinite;
}

@keyframes glow-aurora-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes glow-aurora-hue {
  0%, 100% { opacity: 0.14; filter: blur(80px) hue-rotate(0deg); }
  50% { opacity: 0.22; filter: blur(90px) hue-rotate(18deg); }
}

@keyframes glow-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}

@keyframes glow-pulse-soft {
  0%, 100% { opacity: 0.16; transform: scale(1); }
  50% { opacity: 0.24; transform: scale(1.05); }
}

@keyframes glow-word-rotate {
  0%, 18% { transform: translateY(0%); }
  20%, 38% { transform: translateY(-100%); }
  40%, 58% { transform: translateY(-200%); }
  60%, 78% { transform: translateY(-300%); }
  80%, 98% { transform: translateY(-400%); }
  100% { transform: translateY(-500%); }
}

.glow-word-rotate {
  display: inline-flex;
  flex-direction: column;
  height: 1.05em;
  overflow: hidden;
  vertical-align: bottom;
  animation: glow-word-rotate 12s cubic-bezier(0.7, 0, 0.3, 1) infinite;
}

.glow-word-rotate > span {
  line-height: 1.05;
  padding-bottom: 0.08em;
}

.glow-typewriter {
  display: inline-block;
  min-width: var(--typewriter-ch, 12ch);
  white-space: nowrap;
  overflow: visible;
  line-height: 1.2;
  vertical-align: bottom;
}

.glow-typewriter .glow-gradient-word {
  padding-inline: 0.06em 0.2em;
  margin-inline: -0.04em 0;
}

.glow-typewriter__cursor {
  display: inline-block;
  width: 2px;
  height: 0.68em;
  margin-left: 0.1em;
  vertical-align: 0.06em;
  border-radius: 1px;
  background: hsl(190 90% 55% / 0.45);
  animation: glow-typewriter-blink 1.15s ease-in-out infinite;
}

html[data-theme="light"] .glow-typewriter__cursor {
  background: hsl(198 85% 38% / 0.4);
}

@keyframes glow-typewriter-blink {
  0%,
  42% {
    opacity: 0.55;
  }
  50%,
  100% {
    opacity: 0.12;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-typewriter__cursor {
    animation: none;
    opacity: 0.4;
  }
}

.glow-fade-up {
  animation: glow-fade-up 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes glow-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Glow hero layout ── */
.glow-hero {
  isolation: isolate;
}

@media (min-width: 1024px) {
  .glow-hero {
    height: 100svh;
    max-height: 100svh;
    min-height: 100svh;
  }
}

@media (max-width: 1023px) {
  .glow-hero {
    min-height: auto;
  }
}

.glow-hero__shell {
  position: relative;
  padding-top: clamp(4.5rem, 10vh, 5.25rem);
  padding-bottom: clamp(3.25rem, 8vh, 4rem);
}

@media (max-width: 1023px) {
  .glow-hero__shell {
    padding-top: clamp(3.75rem, 8vh, 4.5rem);
    padding-bottom: clamp(2rem, 4vh, 2.75rem);
  }
}

@media (min-width: 1024px) {
  .glow-hero__shell {
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 80rem;
    padding-top: clamp(4rem, 8vh, 4.75rem);
    padding-bottom: clamp(2.75rem, 6vh, 3.5rem);
  }

  .glow-hero__grid {
    max-width: 58%;
  }
}

.glow-hero__grid {
  display: grid;
  grid-template-areas:
    "badge"
    "headline"
    "body"
    "actions"
    "blocks";
  gap: 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .glow-hero__grid {
    grid-template-areas:
      "badge"
      "headline"
      "body"
      "actions";
  }
}

.glow-hero__badge {
  grid-area: badge;
}

.glow-hero__headline {
  grid-area: headline;
  margin-top: 0.875rem;
}

.glow-hero__headline-part {
  display: block;
}

.glow-hero__body {
  grid-area: body;
  margin-top: 1rem;
}

.glow-hero__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

@media (min-width: 1024px) {
  .glow-hero__headline {
    margin-top: 1rem;
  }

  .glow-hero__body {
    margin-top: 1.125rem;
  }

  .glow-hero__actions {
    margin-top: 1.5rem;
  }
}

@media (max-width: 1023px) {
  .glow-hero__badge {
    display: flex;
    justify-content: center;
  }

  .glow-hero__headline {
    margin-top: 1rem;
    font-size: clamp(1.9rem, 8.5vw, 2.75rem) !important;
    letter-spacing: -0.035em;
    line-height: 1.04;
    text-align: center;
    white-space: normal;
  }

  .glow-hero__headline-part--lead {
    display: block;
  }

  .glow-hero__headline-part--mid,
  .glow-hero__headline-part--type {
    display: inline;
  }

  .glow-hero__headline-part--mid + .glow-hero__headline-part--type::before {
    content: " ";
  }

  .glow-display-mega .glow-typewriter {
    display: inline;
    vertical-align: baseline;
  }

  .glow-hero__body {
    margin-top: 0.875rem;
    text-align: center;
  }

  .glow-hero__copy {
    margin-inline: auto;
    max-width: 20rem;
    font-size: 0.9rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

  .glow-hero__actions {
    justify-content: center;
    margin-top: 1rem;
    gap: 0.65rem;
  }

  .glow-hero__actions .gl-btn {
    height: 44px;
    padding: 0 1.15rem;
    font-size: 0.78rem;
    letter-spacing: 0.035em;
  }

  .glow-hero__actions .gl-btn--primary {
    box-shadow: 0 6px 18px -10px hsl(var(--primary) / 0.5);
  }

  .glow-hero__actions .gl-btn--ghost {
    background: hsl(var(--card) / 0.35);
  }
}

/* Hero building blocks — career tower stacked from agent blocks */
.glow-hero-blocks {
  pointer-events: none;
  position: relative;
  z-index: 0;
  width: 100%;
  overflow: hidden;
}

.glow-hero-blocks--inline {
  grid-area: blocks;
  margin-top: 0.85rem;
  margin-bottom: 0;
  min-height: 0;
}

@media (max-width: 1023px) {
  .glow-hero-blocks--inline {
    overflow: visible;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .glow-hero-blocks--inline {
    margin-top: 1rem;
  }
}

.glow-hero-blocks--overlay {
  position: absolute;
  top: clamp(3.75rem, 7.5vh, 4.75rem);
  bottom: clamp(2.25rem, 4.5vh, 3rem);
  left: 52%;
  right: clamp(1.5rem, 3vw, 4rem);
  width: auto;
  min-height: 0;
  margin: 0;
  z-index: 0;
}

.glow-hero-blocks--overlay .glow-blocks__tower {
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
}

.glow-hero-blocks--overlay .glow-blocks__columns {
  padding-right: 0;
}

@media (min-width: 1280px) {
  .glow-hero-blocks--overlay {
    left: 48%;
  }
}

/* Mobile hero — compact agent chip animation */
.glow-blocks-mobile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.15rem 0 0.25rem;
}

.glow-blocks-mobile__track {
  width: min(100%, 16.5rem);
  height: 3px;
  border-radius: 999px;
  background: hsl(var(--border) / 0.55);
  overflow: hidden;
}

.glow-blocks-mobile__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, hsl(var(--gradient-mid)), hsl(var(--gradient-end)));
  transition: width 0.45s cubic-bezier(0.25, 1, 0.35,  1);
}

.glow-blocks-mobile__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem 0.4rem;
  width: min(100%, 18.5rem);
}

.glow-blocks-mobile__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.65rem;
  padding: 0.28rem 0.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--chip-accent) 28%, transparent);
  background: color-mix(in srgb, var(--chip-accent) 6%, transparent);
  opacity: 0.38;
  transform: scale(0.96);
  transition:
    opacity 0.35s ease,
    transform 0.35s cubic-bezier(0.25, 1, 0.35, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
}

.glow-blocks-mobile__chip.is-lit {
  opacity: 0.72;
  transform: scale(1);
}

.glow-blocks-mobile__chip.is-active {
  opacity: 1;
  transform: scale(1.03);
  border-color: color-mix(in srgb, var(--chip-accent) 62%, transparent);
  background: color-mix(in srgb, var(--chip-accent) 14%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--chip-accent) 22%, transparent);
}

.glow-blocks-mobile__chip-label {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: clamp(0.48rem, 2.2vw, 0.58rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--chip-accent) 78%, hsl(var(--foreground)));
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.glow-blocks-mobile__capstone {
  margin: 0;
  font-family: var(--font-rajdhani);
  font-size: clamp(0.72rem, 3vw, 0.85rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.85;
}

@media (prefers-reduced-motion: reduce) {
  .glow-blocks-mobile__fill {
    transition: none;
  }

  .glow-blocks-mobile__chip {
    transition: none;
  }
}

.glow-blocks {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}

.glow-blocks__tower {
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0 0 0.35rem;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.glow-blocks__clip {
  position: relative;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.glow-blocks__stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  perspective: 1200px;
}

.glow-blocks__stage::before {
  content: "";
  position: absolute;
  inset: 12% 5% 5%;
  border-radius: 999px 999px 24px 24px;
  background:
    radial-gradient(ellipse 42% 22% at 50% 12%, hsl(190 90% 58% / 0.16), transparent 70%),
    linear-gradient(90deg, transparent, hsl(190 90% 58% / 0.18), hsl(291 88% 64% / 0.18), transparent);
  filter: blur(18px);
  opacity: 0.7;
  pointer-events: none;
}

.glow-blocks__stage::after {
  content: "";
  position: absolute;
  inset: 20% 9% 9%;
  background-image:
    linear-gradient(hsl(var(--foreground) / 0.08) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--foreground) / 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 72% 62% at 52% 52%, #000 20%, transparent 78%);
          mask-image: radial-gradient(ellipse 72% 62% at 52% 52%, #000 20%, transparent 78%);
  opacity: 0.5;
  pointer-events: none;
}

.glow-blocks__capstone {
  position: absolute;
  left: 49%;
  z-index: 3;
  margin: 0;
  padding: 0.15rem 0.5rem;
  white-space: nowrap;
  pointer-events: none;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.15rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  filter: drop-shadow(0 0 14px hsl(262 80% 55% / 0.45));
  transform-origin: 50% 100%;
  will-change: bottom, transform, opacity;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.glow-blocks__capstone--building {
  transition: none;
}

html[data-theme="light"] .glow-blocks__capstone {
  filter: drop-shadow(0 0 12px hsl(262 75% 48% / 0.35));
}

html[data-theme="dark"] .glow-blocks__capstone {
  filter: drop-shadow(0 0 18px hsl(190 90% 58% / 0.5));
}

.glow-blocks__columns {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(0.45rem, 1.6vw, 1rem);
  width: 100%;
  height: 100%;
  min-height: 0;
  padding-inline: clamp(0.4rem, 1.4vw, 1.25rem);
}

@media (min-width: 1024px) {
  .glow-blocks__columns {
    justify-content: flex-end;
  }
}

.glow-blocks__column {
  flex: 1 1 0;
  min-width: clamp(2rem, 12vw, 5.2rem);
  max-width: 22%;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  align-items: stretch;
  gap: clamp(0.32rem, 0.6vh, 0.58rem);
  height: 100%;
  transform: translateY(var(--column-lift, 0)) rotateX(var(--column-tilt, 0deg));
  transform-origin: bottom center;
}

.glow-blocks__column--outer {
  --column-lift: 1.65rem;
  --column-tilt: 6deg;
  opacity: 0.7;
}

.glow-blocks__column--inner {
  --column-lift: 0.78rem;
  --column-tilt: 3deg;
  opacity: 0.88;
}

.glow-blocks__column--center {
  --column-lift: 0;
  --column-tilt: 0deg;
  flex-grow: 1.18;
  max-width: 25%;
  z-index: 3;
}

.glow-blocks__brick {
  position: relative;
  width: 100%;
  flex: 0 0 calc((var(--stack-fill-pct) - (var(--max-height) - 1) * 0.42rem) / var(--max-height));
  min-height: 18px;
  border-radius: 10px;
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--brick-accent) 15%, transparent), transparent 54%),
    linear-gradient(180deg, hsl(var(--background) / 0.24), hsl(var(--background) / 0.08));
  border: 1px solid color-mix(in srgb, var(--brick-accent) 54%, transparent);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.12),
    0 0 0 1px color-mix(in srgb, var(--brick-accent) 8%, transparent),
    0 14px 34px -28px color-mix(in srgb, var(--brick-accent) 50%, transparent);
  backdrop-filter: blur(10px) saturate(145%);
}

.glow-blocks__brick::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--brick-accent) 30%, transparent), transparent),
    linear-gradient(180deg, hsl(0 0% 100% / 0.12), transparent 45%);
  opacity: 0.48;
  pointer-events: none;
}

.glow-blocks__brick::after {
  content: "";
  position: absolute;
  inset: auto 12% 0;
  height: 1px;
  background: color-mix(in srgb, var(--brick-accent) 68%, transparent);
  opacity: 0.9;
  box-shadow: 0 0 12px color-mix(in srgb, var(--brick-accent) 55%, transparent);
}

.glow-blocks__brick--core {
  background:
    radial-gradient(circle at 18% 50%, hsl(190 90% 58% / 0.28), transparent 36%),
    linear-gradient(120deg, hsl(262 90% 66% / 0.28), hsl(190 90% 50% / 0.18));
  border-color: hsl(190 90% 58% / 0.72);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.18),
    0 0 0 1px hsl(190 90% 58% / 0.2),
    0 0 28px -8px hsl(190 90% 58% / 0.55);
}

.glow-blocks__brick--enter {
  opacity: 0;
  transform: translateY(4px);
  transform-origin: bottom center;
  animation: glow-brick-stack-place var(--stagger-ms, 240ms) cubic-bezier(0.25, 1, 0.35, 1) forwards;
  animation-delay: calc(var(--col-index, 0) * 0.025s);
}

html[data-theme="light"] .glow-blocks__brick {
  border-color: color-mix(in srgb, var(--brick-accent) 58%, #94a3b8);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--brick-accent) 9%, white), hsl(0 0% 100% / 0.72) 58%),
    hsl(0 0% 100% / 0.68);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.8),
    0 0 0 1px color-mix(in srgb, var(--brick-accent) 12%, transparent),
    0 18px 34px -30px color-mix(in srgb, var(--brick-accent) 36%, transparent);
}

html[data-theme="dark"] .glow-blocks__brick {
  border-color: color-mix(in srgb, var(--brick-accent) 62%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--brick-accent) 32%, hsl(222 36% 14%)) 0%, hsl(222 34% 15%) 72%),
    hsl(222 34% 15%);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.1),
    0 0 0 1px color-mix(in srgb, var(--brick-accent) 14%, transparent),
    0 0 24px -10px color-mix(in srgb, var(--brick-accent) 42%, transparent);
  backdrop-filter: none;
}

html[data-theme="light"] .glow-blocks__brick--core {
  background:
    radial-gradient(circle at 18% 50%, hsl(190 90% 48% / 0.16), transparent 36%),
    linear-gradient(120deg, hsl(262 85% 58% / 0.18), hsl(190 90% 46% / 0.12)),
    #ffffff;
}

html[data-theme="dark"] .glow-blocks__brick--core {
  background:
    linear-gradient(120deg, hsl(262 58% 32%), hsl(200 62% 26%)),
    hsl(222 42% 12%);
  border-color: hsl(190 90% 58% / 0.78);
}

html[data-theme="dark"] .glow-blocks__brick--enter {
  animation-name: glow-brick-stack-place-dark;
}

@keyframes glow-brick-stack-place {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glow-brick-stack-place-dark {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.glow-blocks__label {
  position: absolute;
  inset: 0.05rem 0.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, monospace;
  font-size: clamp(8px, 0.95vw, 12px);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 1;
  pointer-events: none;
}

.glow-blocks__brick--core .glow-blocks__label {
  letter-spacing: 0.16em;
}

.glow-blocks__label--enter {
  opacity: 0;
  animation: glow-label-reveal var(--stagger-ms, 240ms) ease-out forwards;
  animation-delay: calc(var(--col-index, 0) * 0.025s + 0.08s);
}

@keyframes glow-label-reveal {
  to {
    opacity: 1;
  }
}

html[data-theme="light"] .glow-blocks__label {
  color: #000000;
  text-shadow: none;
}

html[data-theme="dark"] .glow-blocks__label {
  color: #ffffff;
  text-shadow: none;
}

.glow-blocks__foundation {
  flex-shrink: 0;
  margin-top: 0.45rem;
  width: 100%;
  text-align: center;
  padding-top: 0.4rem;
  border-top: 1px solid color-mix(in srgb, hsl(var(--foreground)) 22%, transparent);
  font-family: ui-monospace, monospace;
  font-size: clamp(8px, 0.7vw, 10px);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
  opacity: 0.85;
}

.glow-blocks__beam {
  position: absolute;
  z-index: 1;
  top: 21%;
  bottom: 13%;
  width: 34%;
  border-block: 1px solid hsl(var(--foreground) / 0.08);
  pointer-events: none;
  opacity: 0.75;
}

.glow-blocks__beam--left {
  right: 48%;
  background: linear-gradient(90deg, transparent, hsl(190 90% 58% / 0.14));
  transform: skewY(-7deg);
}

.glow-blocks__beam--right {
  left: 48%;
  background: linear-gradient(90deg, hsl(291 88% 64% / 0.14), transparent);
  transform: skewY(7deg);
}

.glow-empty-panel {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  min-height: clamp(220px, 32vw, 360px);
}

.glow-empty-panel__scan {
  pointer-events: none;
  position: absolute;
  inset-inline: 1.5rem;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, hsl(var(--primary)), transparent);
  animation: glow-scan 3.5s ease-in-out infinite;
}

@keyframes glow-scan {
  0%, 100% { opacity: 0.35; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(320px); }
}

.glow-stat-band {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-block: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.35);
  backdrop-filter: blur(12px);
}

@media (min-width: 768px) {
  .glow-stat-band { grid-template-columns: repeat(4, 1fr); }
}

.glow-stat-band__cell {
  padding: 2.5rem 1.5rem;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
}

@media (min-width: 768px) {
  .glow-stat-band__cell {
    border-bottom: none;
    border-right: 1px solid hsl(var(--border) / 0.4);
  }
  .glow-stat-band__cell:last-child { border-right: none; }
}

.glow-hive-heading {
  position: relative;
  overflow: visible;
}

.glow-hive-heading .glow-display-xl {
  overflow: visible;
}

.glow-hive-destination {
  display: inline-flex;
  align-items: center;
  vertical-align: baseline;
  gap: clamp(0.2rem, 0.55vw, 0.5rem);
  white-space: nowrap;
}

.glow-hive-bee {
  position: relative;
  top: -0.12em;
  flex-shrink: 0;
  width: clamp(2.25rem, 4.8vw, 3.5rem);
  height: auto;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 3px 10px hsl(32 40% 20% / 0.22));
  animation:
    glow-hive-bee-fly-in 1.85s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    glow-hive-bee-buzz 2.8s ease-in-out 1.85s infinite;
}

.glow-hive-bee__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.glow-hive-bee__wing {
  transform-box: view-box;
}

.glow-hive-bee__wing--left {
  transform-origin: 34px 24px;
  animation: glow-hive-bee-wing-left 0.09s ease-in-out infinite alternate;
}

.glow-hive-bee__wing--right {
  transform-origin: 46px 24px;
  animation: glow-hive-bee-wing-right 0.09s ease-in-out infinite alternate;
  animation-delay: 0.045s;
}

@keyframes glow-hive-bee-fly-in {
  0% {
    opacity: 0;
    transform: translate(-320%, -75%) rotate(18deg) scale(0.42);
  }
  45% {
    opacity: 1;
    transform: translate(-45%, -12%) rotate(8deg) scale(0.92);
  }
  72% {
    transform: translate(8%, 4%) rotate(-3deg) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
}

@keyframes glow-hive-bee-buzz {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(-1px, -2px) rotate(-1.5deg);
  }
  45% {
    transform: translate(1px, 1px) rotate(1deg);
  }
  70% {
    transform: translate(-1px, -1px) rotate(-0.5deg);
  }
}

@keyframes glow-hive-bee-wing-left {
  from {
    transform: rotate(8deg) scaleY(0.88);
    opacity: 0.62;
  }
  to {
    transform: rotate(-10deg) scaleY(1);
    opacity: 0.78;
  }
}

@keyframes glow-hive-bee-wing-right {
  from {
    transform: rotate(-8deg) scaleY(0.88);
    opacity: 0.62;
  }
  to {
    transform: rotate(10deg) scaleY(1);
    opacity: 0.78;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-hive-bee {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .glow-hive-bee__wing {
    animation: none;
  }
}

.glow-hive-features {
  display: grid;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 640px) {
  .glow-hive-features { grid-template-columns: repeat(2, 1fr); }
}

.glow-hive-features li {
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card) / 0.5);
  padding: 1rem 1.1rem;
}

.glow-hive-features li strong {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.glow-hive-features li span {
  font-size: 0.9rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.45;
}

.glow-section-num {
  font-family: ui-monospace, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.gl-section--meet-helios {
  isolation: isolate;
  overflow: hidden;
  background: #000000;
  color: #f8fafc;
}

html[data-theme="light"] .gl-section--meet-helios,
html.light .gl-section--meet-helios {
  background: #ffffff;
  color: #171322;
}

.gl-container--meet-helios {
  width: min(96vw, 1680px);
  max-width: none;
}

.glow-meet-helios-grid {
  display: grid;
  align-items: stretch;
  gap: clamp(2rem, 4vw, 4.5rem);
}

.glow-meet-helios-copy {
  max-width: 620px;
}

.glow-meet-helios-copy .glow-display-xl {
  line-height: 1.05;
}

.glow-meet-helios-headline-line {
  display: inline-block;
}

.glow-meet-helios-copy p {
  max-width: 43ch;
  line-height: 1.55;
}

.glow-meet-helios-visual {
  min-width: 0;
}

@media (min-width: 1280px) {
  .glow-meet-helios-visual {
    /* Break out of the section's own vertical padding (5.5rem, set on .gl-section)
       so the image reaches the section's true top/bottom edges. With align-items:
       stretch on the grid, negative top+bottom margins inflate the item's own
       rendered height by 11rem (grid subtracts margins from the stretched size) —
       the section's overflow: hidden then clips it cleanly at those true edges. */
    margin-top: -5.5rem;
    margin-bottom: -5.5rem;
    /* Bleed the right edge out past the centered/padded container to the true
       viewport edge. Left position is untouched — only the right edge moves. */
    margin-right: calc((100vw - min(96vw, 1680px)) / -2 - 1.5rem);
  }
  .glow-meet-helios-grid {
    /* Copy column gets more room than before so "Same intelligence," and
       "the entire ecosystem." each have space to sit on one line. */
    grid-template-columns: minmax(460px, 1fr) minmax(760px, 1.6fr);
  }

  .glow-meet-helios-copy .glow-display-xl {
    font-size: clamp(2rem, 1.6vw + 1rem, 2.5rem);
  }
}

.glow-mc-shell {
  position: relative;
  overflow: visible;
  border-radius: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  min-height: 0;
  width: 100%;
  height: 100%;
  margin-inline: auto;
  transform: none;
}

.glow-mc-shell__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.45);
  padding: 0.75rem 1.25rem;
  font-family: ui-monospace, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-shell__body {
  min-height: 0;
  height: 100%;
  line-height: 0;
  background: transparent;
}

.glow-mc-shell__img,
.glow-mc-shell__body img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1536 / 1024;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  filter: none;
}

@media (min-width: 1280px) {
  .glow-mc-shell__img,
  .glow-mc-shell__body img {
    /* Fill the taller, wider box created above; contain (not cover) keeps the
       full diagram visible without cropping — any letterbox space blends into
       the section's matched background instead of showing as an empty gap. */
    height: 100%;
    aspect-ratio: auto;
  }
}

.glow-mc-showcase {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--background));
  box-shadow:
    0 24px 64px -36px hsl(var(--foreground) / 0.28),
    0 0 0 1px hsl(var(--border) / 0.35);
}

.glow-mc-showcase--premium {
  border-radius: 1.5rem;
  border-color: hsl(var(--primary) / 0.22);
  background:
    linear-gradient(165deg, hsl(var(--card) / 0.92) 0%, hsl(var(--background)) 48%, hsl(var(--background)) 100%);
  box-shadow:
    0 32px 80px -32px hsl(262 88% 48% / 0.22),
    0 16px 48px -24px hsl(var(--foreground) / 0.18),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-mc-showcase__aurora {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 12% 18%, hsl(190 90% 50% / 0.1), transparent 55%),
    radial-gradient(ellipse 50% 40% at 88% 22%, hsl(291 86% 52% / 0.12), transparent 50%),
    radial-gradient(ellipse 60% 50% at 50% 100%, hsl(262 88% 48% / 0.08), transparent 55%);
}

.glow-mc-showcase__glow {
  pointer-events: none;
  position: absolute;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.55;
}

.glow-mc-showcase__glow--left {
  left: -4rem;
  top: 20%;
  background: hsl(190 90% 50% / 0.18);
}

.glow-mc-showcase__glow--right {
  right: -3rem;
  bottom: 10%;
  background: hsl(291 86% 52% / 0.2);
}

.glow-mc-showcase .glow-mc-mockup {
  min-height: clamp(340px, 44vw, 460px);
}

.glow-mc-showcase--premium .glow-mc-mockup--premium {
  position: relative;
  z-index: 1;
  min-height: clamp(520px, 58vw, 640px);
}

.glow-mc-mockup--featured .glow-mc-mockup__chrome {
  padding: 0.65rem 1rem;
  font-size: 0.58rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__canvas {
  gap: 0.55rem;
  padding: 0.75rem 0.85rem 0.85rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__ops-headline--compact {
  font-size: clamp(0.72rem, 1.35vw, 0.92rem);
  line-height: 1.25;
}

.glow-mc-mockup--featured .glow-mc-mockup__pill {
  font-size: clamp(0.48rem, 0.85vw, 0.58rem);
  padding: 0.18rem 0.48rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__ops-bar {
  height: 0.28rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__hero--inline {
  padding: 0.65rem 0.75rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__hero--inline .glow-mc-mockup__hero-title {
  font-size: clamp(0.72rem, 1.25vw, 0.88rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__hero-score strong {
  font-size: clamp(1rem, 1.8vw, 1.35rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__eyebrow {
  font-size: clamp(0.48rem, 0.8vw, 0.56rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__hybrid-band {
  padding: 0.55rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__triad--compact {
  gap: 0.4rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__triad--compact .glow-mc-mockup__card {
  padding: 0.45rem 0.5rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__card-kicker {
  font-size: clamp(0.44rem, 0.75vw, 0.52rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__card-title {
  font-size: clamp(0.58rem, 1vw, 0.68rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__kpi span {
  font-size: clamp(0.42rem, 0.72vw, 0.5rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__kpi strong {
  font-size: clamp(0.58rem, 1vw, 0.72rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__panel-title {
  font-size: clamp(0.48rem, 0.82vw, 0.58rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__checklist li {
  font-size: clamp(0.44rem, 0.78vw, 0.54rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__alert {
  font-size: clamp(0.42rem, 0.72vw, 0.5rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__split--compact .glow-mc-mockup__panel {
  padding: 0.45rem 0.5rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__dash-tabs span {
  font-size: clamp(0.44rem, 0.78vw, 0.54rem);
  padding: 0.18rem 0.45rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__dna-split {
  flex: 1;
  min-height: 0;
}

.glow-mc-mockup--featured .glow-mc-mockup__dna-icon .glow-dna-helix {
  width: 1.85rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__strand > strong {
  font-size: clamp(0.44rem, 0.78vw, 0.56rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__dna-rail {
  padding: 0.5rem 0.55rem;
}

.glow-mc-mockup--featured .glow-mc-mockup__panel--flush {
  padding: 0.45rem 0.5rem;
}

/* Mission Control homepage preview — original mockups */
.glow-mc-preview__lead {
  margin-bottom: 1rem;
  text-align: center;
}

.glow-mc-preview__grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .glow-mc-preview__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .glow-mc-preview__grid--duo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 56rem;
    margin-inline: auto;
  }

  .glow-mc-preview__grid--trio {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .glow-mc-preview__grid--trio {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-inline: auto;
  }
}

.glow-mc-preview__card {
  margin: 0;
}

.glow-mc-preview__frame {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--card) / 0.35);
  box-shadow: 0 18px 40px -28px hsl(var(--foreground) / 0.28);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.glow-mc-preview__frame--mockup {
  aspect-ratio: 16 / 12;
  background: hsl(var(--background));
}

.glow-mc-preview__frame--mockup .glow-mc-mockup__dash-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.glow-mc-preview__frame--mockup .glow-mc-mockup__agent-row span:nth-child(n + 5) {
  display: none;
}

.glow-mc-preview__card:hover .glow-mc-preview__frame {
  transform: translateY(-3px);
  border-color: hsl(var(--primary) / 0.45);
  box-shadow: 0 22px 48px -24px hsl(var(--primary) / 0.28);
}

.glow-mc-preview__caption {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.75rem;
  padding-inline: 0.15rem;
  text-align: center;
}

.glow-mc-preview__tag {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.glow-mc-preview__title {
  font-family: var(--font-rajdhani);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: hsl(var(--foreground));
}

.glow-mc-preview__desc {
  font-size: 0.78rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

/* ── Mission Control marketing mockups ── */
.glow-mc-mockup {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  font-family: var(--font-rajdhani);
}

.glow-mc-mockup__chrome {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  padding: 0.45rem 0.65rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.55);
  font-family: ui-monospace, monospace;
  font-size: 0.42rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
}

.glow-mc-mockup__dot--r { background: #f87171; }
.glow-mc-mockup__dot--y { background: #fbbf24; }
.glow-mc-mockup__dot--g { background: #4ade80; }

.glow-mc-mockup__path {
  margin-left: 0.25rem;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.glow-mc-mockup__live {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: hsl(var(--primary));
}

.glow-mc-mockup__live-pulse {
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 999px;
  background: hsl(var(--primary));
  animation: glow-mc-pulse 1.8s ease-in-out infinite;
}

@keyframes glow-mc-pulse {
  0%, 100% { opacity: 0.45; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1); }
}

/* Reusable live-status dot for any "LIVE" indicator outside the mission-control mockup itself */
.glow-mc-pulse-dot {
  display: inline-block;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: var(--gl-mc-pulse-color, hsl(var(--primary)));
  animation: glow-mc-pulse 1.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .glow-mc-pulse-dot {
    animation: none;
  }
}

.glow-mc-mockup__canvas {
  flex: 1;
  min-height: 0;
  padding: 0.55rem;
  overflow: hidden;
}

.glow-mc-mockup__eyebrow {
  margin: 0;
  font-family: ui-monospace, monospace;
  font-size: 0.42rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(190 85% 42%);
}

.glow-mc-mockup__eyebrow--light {
  color: rgba(255, 255, 255, 0.82);
}

/* Command variant */
.glow-mc-mockup--command .glow-mc-mockup__hero {
  margin-bottom: 0.5rem;
  padding: 0.55rem 0.65rem 0.65rem;
  border-radius: 0.55rem;
  background: linear-gradient(
    105deg,
    hsl(262 88% 48%) 0%,
    hsl(291 86% 52%) 55%,
    hsl(330 78% 58%) 100%
  );
  color: #fff;
}

.glow-mc-mockup--command .glow-mc-mockup__hero-title {
  margin: 0.2rem 0 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.glow-mc-mockup--command .glow-mc-mockup__hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.4rem;
}

.glow-mc-mockup--command .glow-mc-mockup__hero-pills span {
  padding: 0.12rem 0.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.38rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.glow-mc-mockup__triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
}

.glow-mc-mockup__card {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-height: 0;
  padding: 0.4rem 0.45rem 0.45rem;
  border-radius: 0.45rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.85);
}

.glow-mc-mockup__card-kicker {
  margin: 0;
  font-family: ui-monospace, monospace;
  font-size: 0.36rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.72;
}

.glow-mc-mockup__card--violet .glow-mc-mockup__card-kicker { color: #7c3aed; }
.glow-mc-mockup__card--blue .glow-mc-mockup__card-kicker { color: #2563eb; }
.glow-mc-mockup__card--green .glow-mc-mockup__card-kicker { color: #16a34a; }

.glow-mc-mockup__card-title {
  margin: 0;
  font-size: 0.48rem;
  font-weight: 700;
  line-height: 1.15;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__score {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__score-label {
  margin: 0;
  font-size: 0.4rem;
  font-weight: 600;
  color: #2563eb;
}

.glow-mc-mockup__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin-top: 0.1rem;
}

.glow-mc-mockup__tags span {
  padding: 0.08rem 0.28rem;
  border-radius: 999px;
  background: hsl(var(--muted) / 0.55);
  font-size: 0.34rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__meter {
  height: 0.18rem;
  margin-top: auto;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  position: relative;
  overflow: hidden;
}

.glow-mc-mockup__meter::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--fill, 75%);
  border-radius: inherit;
}

.glow-mc-mockup__meter--violet::before { background: #8b5cf6; }
.glow-mc-mockup__meter--blue::before { background: #3b82f6; }
.glow-mc-mockup__meter--green::before { background: #22c55e; }

/* Ops variant */
.glow-mc-mockup__ops-top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.35rem;
}

.glow-mc-mockup__pill {
  padding: 0.12rem 0.35rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--card));
  font-size: 0.36rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__pill--accent {
  border-color: hsl(24 95% 53% / 0.35);
  background: hsl(24 95% 53% / 0.1);
  color: hsl(24 90% 42%);
}

.glow-mc-mockup__ops-headline {
  margin: 0 0 0.35rem;
  font-size: 0.52rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__ops-bar {
  height: 0.2rem;
  margin-bottom: 0.45rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-mockup__ops-bar-fill {
  width: 68%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, hsl(24 95% 53%), hsl(38 92% 50%));
}

.glow-mc-mockup__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.28rem;
  margin-bottom: 0.45rem;
}

.glow-mc-mockup__kpi {
  padding: 0.3rem 0.28rem;
  border-radius: 0.35rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card));
}

.glow-mc-mockup__kpi span {
  display: block;
  font-size: 0.32rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__kpi strong {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.46rem;
  font-weight: 700;
  line-height: 1.1;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__kpi--blue { border-top: 2px solid #3b82f6; }
.glow-mc-mockup__kpi--orange { border-top: 2px solid #f97316; }
.glow-mc-mockup__kpi--teal { border-top: 2px solid #14b8a6; }
.glow-mc-mockup__kpi--violet { border-top: 2px solid #8b5cf6; }

.glow-mc-mockup__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
}

.glow-mc-mockup__panel {
  padding: 0.38rem 0.42rem;
  border-radius: 0.4rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.75);
}

.glow-mc-mockup__panel-title {
  margin: 0 0 0.3rem;
  font-size: 0.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.glow-mc-mockup__checklist li {
  position: relative;
  padding-left: 0.55rem;
  font-size: 0.36rem;
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__checklist li + li {
  margin-top: 0.18rem;
}

.glow-mc-mockup__checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 0.08rem;
  border: 1px solid hsl(var(--border));
}

.glow-mc-mockup__checklist li.is-done::before {
  background: hsl(142 70% 45%);
  border-color: hsl(142 70% 45%);
}

.glow-mc-mockup__alerts {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.glow-mc-mockup__alert {
  padding: 0.15rem 0.3rem;
  border-radius: 0.25rem;
  font-size: 0.34rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.glow-mc-mockup__alert--ok {
  background: hsl(142 76% 36% / 0.12);
  color: hsl(142 70% 32%);
}

.glow-mc-mockup__alert--warn {
  background: hsl(24 95% 53% / 0.12);
  color: hsl(24 90% 40%);
}

/* Focus variant */
.glow-mc-mockup__focus-layout {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 0.4rem;
  height: 100%;
}

.glow-mc-mockup__focus-score {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 0.55rem;
  border-radius: 0.5rem;
  background: linear-gradient(
    160deg,
    hsl(262 88% 46%) 0%,
    hsl(291 84% 50%) 100%
  );
  color: #fff;
}

.glow-mc-mockup__focus-num {
  margin: 0.15rem 0 0;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.glow-mc-mockup__focus-rank {
  margin: 0.15rem 0 0.35rem;
  font-size: 0.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  opacity: 0.88;
}

.glow-mc-mockup__focus-bars {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.glow-mc-mockup__focus-bars span {
  display: block;
  height: 0.16rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
}

.glow-mc-mockup__focus-main {
  display: flex;
  flex-direction: column;
  padding: 0.4rem 0.45rem;
  border-radius: 0.45rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.8);
}

.glow-mc-mockup__signal-list {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
}

.glow-mc-mockup__signal-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  font-size: 0.36rem;
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__signal-list li + li {
  margin-top: 0.28rem;
}

.glow-mc-mockup__signal-dot {
  flex-shrink: 0;
  width: 0.32rem;
  height: 0.32rem;
  margin-top: 0.08rem;
  border-radius: 999px;
}

.glow-mc-mockup__signal-dot--violet { background: #8b5cf6; }
.glow-mc-mockup__signal-dot--blue { background: #3b82f6; }
.glow-mc-mockup__signal-dot--green { background: #22c55e; }

.glow-mc-mockup__focus-footer {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.35rem;
  padding-top: 0.3rem;
  border-top: 1px solid hsl(var(--border) / 0.45);
  font-family: ui-monospace, monospace;
  font-size: 0.34rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

/* Hybrid A + B — compact 01 + 02 blend */
.glow-mc-mockup--hybrid-a .glow-mc-mockup__canvas,
.glow-mc-mockup--hybrid-b .glow-mc-mockup__canvas {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  padding: 0.45rem;
}

.glow-mc-mockup__hero--compact {
  margin-bottom: 0;
  padding: 0.45rem 0.55rem 0.5rem;
}

.glow-mc-mockup__hero--compact .glow-mc-mockup__hero-title {
  font-size: 0.62rem;
}

.glow-mc-mockup__hero--inline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.4rem;
  margin-bottom: 0.35rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.45rem;
  background: linear-gradient(
    105deg,
    hsl(262 88% 48%) 0%,
    hsl(291 86% 52%) 55%,
    hsl(330 78% 58%) 100%
  );
  color: #fff;
}

.glow-mc-mockup__hero-score {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.05rem;
  flex-shrink: 0;
}

.glow-mc-mockup__hero-score span {
  font-family: ui-monospace, monospace;
  font-size: 0.32rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.82;
}

.glow-mc-mockup__hero-score strong {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.glow-mc-mockup__ops-block,
.glow-mc-mockup__ops-lead {
  padding: 0.05rem 0 0;
}

.glow-mc-mockup__ops-headline--compact {
  font-size: 0.44rem;
  margin-bottom: 0.28rem;
}

.glow-mc-mockup__ops-block .glow-mc-mockup__ops-bar,
.glow-mc-mockup__ops-lead .glow-mc-mockup__ops-bar {
  margin-bottom: 0;
}

.glow-mc-mockup__kpis--compact {
  margin-bottom: 0;
  gap: 0.22rem;
}

.glow-mc-mockup__triad--compact {
  gap: 0.28rem;
}

.glow-mc-mockup__triad--compact .glow-mc-mockup__card {
  padding: 0.32rem 0.35rem;
}

.glow-mc-mockup__score--sm {
  font-size: 0.72rem;
}

.glow-mc-mockup__split--compact {
  gap: 0.28rem;
}

.glow-mc-mockup__split--compact .glow-mc-mockup__panel {
  padding: 0.3rem 0.35rem;
}

.glow-mc-mockup__hybrid-band {
  padding: 0.35rem;
  border-radius: 0.45rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.35);
}

.glow-mc-mockup__hybrid-band .glow-mc-mockup__triad {
  margin-top: 0.05rem;
}

.glow-mc-mockup__hybrid-band .glow-mc-mockup__card {
  background: hsl(var(--background) / 0.92);
}

/* DNA Command + Dashboard variants */
.glow-mc-mockup--dna-command .glow-mc-mockup__canvas,
.glow-mc-mockup--dashboard .glow-mc-mockup__canvas {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  padding: 0.45rem;
}

.glow-mc-mockup__dash-tabs {
  display: flex;
  gap: 0.28rem;
  padding-bottom: 0.15rem;
  border-bottom: 1px solid hsl(var(--border) / 0.45);
}

.glow-mc-mockup__dash-tabs span {
  padding: 0.12rem 0.35rem;
  border-radius: 999px;
  font-size: 0.34rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__dash-tabs span.is-active {
  background: hsl(var(--primary) / 0.12);
  color: hsl(var(--primary));
}

.glow-mc-mockup__dna-split {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 0.35rem;
  flex: 1;
  min-height: 0;
}

.glow-mc-mockup__dna-rail {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.35rem;
  border-radius: 0.4rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: linear-gradient(
    165deg,
    hsl(var(--primary) / 0.06) 0%,
    hsl(var(--card) / 0.55) 100%
  );
}

.glow-mc-mockup__dna-rail-head {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.glow-mc-mockup__dna-icon .glow-dna-helix {
  display: block;
  width: 1.35rem;
  height: auto;
}

.glow-mc-mockup__dna-icon .glow-dna-helix__svg {
  width: 100%;
  height: auto;
}

.glow-mc-mockup__dna-sub {
  margin: 0.08rem 0 0;
  font-size: 0.32rem;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__strand-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.glow-mc-mockup__strand {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 0.12rem 0.25rem;
  align-items: center;
}

.glow-mc-mockup__strand > span {
  grid-column: 1;
  font-size: 0.32rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__strand > strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 0.38rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__strand-track {
  grid-column: 1;
  height: 0.16rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-mockup__strand-fill {
  height: 100%;
  border-radius: inherit;
}

.glow-mc-mockup__strand--violet .glow-mc-mockup__strand-fill { background: #8b5cf6; }
.glow-mc-mockup__strand--blue .glow-mc-mockup__strand-fill { background: #3b82f6; }
.glow-mc-mockup__strand--teal .glow-mc-mockup__strand-fill { background: #14b8a6; }
.glow-mc-mockup__strand--orange .glow-mc-mockup__strand-fill { background: #f97316; }

.glow-mc-mockup__dna-main {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  min-width: 0;
}

.glow-mc-mockup__dna-score-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.35rem 0.4rem;
  border-radius: 0.4rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.65);
}

.glow-mc-mockup__card-kicker--blue {
  color: #2563eb;
}

.glow-mc-mockup__score--md {
  margin: 0.08rem 0 0;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.glow-mc-mockup__graph-nodes {
  position: relative;
  width: 2.2rem;
  height: 1.4rem;
  flex-shrink: 0;
}

.glow-mc-mockup__graph-nodes span {
  position: absolute;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 999px;
  background: hsl(var(--primary));
  box-shadow: 0 0 6px hsl(var(--primary) / 0.45);
}

.glow-mc-mockup__graph-nodes .n1 { left: 0; top: 45%; }
.glow-mc-mockup__graph-nodes .n2 { left: 28%; top: 10%; background: #3b82f6; }
.glow-mc-mockup__graph-nodes .n3 { left: 50%; top: 50%; transform: translate(-50%, -50%); width: 0.36rem; height: 0.36rem; }
.glow-mc-mockup__graph-nodes .n4 { right: 22%; top: 8%; background: #22c55e; }
.glow-mc-mockup__graph-nodes .n5 { right: 0; top: 42%; background: #a855f7; }

.glow-mc-mockup__panel--flush {
  padding: 0.32rem 0.38rem;
  border-radius: 0.35rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.5);
}

.glow-mc-mockup__dna-move {
  margin: 0.15rem 0 0;
  font-size: 0.36rem;
  line-height: 1.35;
  font-weight: 600;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__dash-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

.glow-mc-mockup__dash-title {
  margin: 0.12rem 0 0;
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__dash-score-pill {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 0.22rem 0.38rem;
  border-radius: 0.35rem;
  background: linear-gradient(135deg, hsl(262 88% 48%), hsl(291 86% 52%));
  color: #fff;
}

.glow-mc-mockup__dash-score-pill span {
  font-family: ui-monospace, monospace;
  font-size: 0.3rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.85;
}

.glow-mc-mockup__dash-score-pill strong {
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.glow-mc-mockup__dash-graph {
  position: relative;
  flex: 1;
  min-height: 2.4rem;
  padding: 0.35rem 0.4rem 0.45rem;
  border-radius: 0.4rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.4);
  overflow: hidden;
}

.glow-mc-mockup__dash-graph-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 60%, hsl(190 90% 50% / 0.12), transparent 45%),
    radial-gradient(circle at 70% 35%, hsl(262 90% 66% / 0.14), transparent 40%),
    linear-gradient(hsl(var(--border) / 0.2) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--border) / 0.2) 1px, transparent 1px);
  background-size: auto, auto, 0.55rem 0.55rem, 0.55rem 0.55rem;
  opacity: 0.85;
}

.glow-mc-mockup__dash-graph-nodes {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 1.65rem;
}

.glow-mc-mockup__dash-graph-nodes span {
  position: absolute;
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--background));
  background: hsl(var(--primary));
  box-shadow: 0 0 8px hsl(var(--primary) / 0.4);
  transform: translate(-50%, -50%);
}

.glow-mc-mockup__dash-graph-nodes span.is-hub {
  width: 0.44rem;
  height: 0.44rem;
  background: linear-gradient(135deg, hsl(190 90% 50%), hsl(262 90% 66%));
}

.glow-mc-mockup__dash-graph-label {
  position: relative;
  z-index: 1;
  margin: 0.25rem 0 0;
  font-family: ui-monospace, monospace;
  font-size: 0.32rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__dash-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.25rem;
}

.glow-mc-mockup__dash-metric {
  padding: 0.28rem 0.25rem;
  border-radius: 0.32rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--background) / 0.85);
}

.glow-mc-mockup__dash-metric span {
  display: block;
  font-size: 0.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__dash-metric strong {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.44rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__dash-metric--violet { border-top: 2px solid #8b5cf6; }
.glow-mc-mockup__dash-metric--blue { border-top: 2px solid #3b82f6; }
.glow-mc-mockup__dash-metric--teal { border-top: 2px solid #14b8a6; }
.glow-mc-mockup__dash-metric--orange { border-top: 2px solid #f97316; }

.glow-mc-mockup__agent-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem;
}

.glow-mc-mockup__agent-row span {
  padding: 0.12rem 0.3rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--muted) / 0.35);
  font-size: 0.32rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__agent-row span.is-active {
  border-color: hsl(var(--primary) / 0.4);
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
}

.glow-mc-mockup--featured .glow-mc-mockup__dash-title {
  font-size: clamp(0.68rem, 1.2vw, 0.88rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__strand > span {
  font-size: clamp(0.42rem, 0.75vw, 0.52rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__score--md {
  font-size: clamp(0.95rem, 1.6vw, 1.25rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__dna-move {
  font-size: clamp(0.44rem, 0.78vw, 0.56rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__dash-graph {
  min-height: clamp(3rem, 8vw, 4.25rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__dash-metric strong {
  font-size: clamp(0.52rem, 0.95vw, 0.68rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__agent-row span {
  font-size: clamp(0.38rem, 0.68vw, 0.48rem);
}

/* Mission Control Live — composite from product screenshots */
.glow-mc-mockup--mission-live .glow-mc-mockup__canvas {
  display: flex;
  flex-direction: column;
  padding: 0.4rem;
  overflow: hidden;
}

.glow-mc-mockup__app {
  display: flex;
  gap: 0.35rem;
  flex: 1;
  min-height: 0;
}

.glow-mc-mockup__side-rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  width: 1.1rem;
  padding: 0.25rem 0.15rem;
  border-radius: 0.35rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.55);
}

.glow-mc-mockup__nav-icon {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 0.2rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--muted) / 0.35);
}

.glow-mc-mockup__nav-icon.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, hsl(262 88% 48%), hsl(330 78% 58%));
  box-shadow: 0 0 8px hsl(291 86% 52% / 0.45);
}

.glow-mc-mockup__stage {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  flex: 1;
  min-width: 0;
  min-height: 0;
}

.glow-mc-mockup__move-card {
  padding: 0.38rem 0.45rem 0.42rem;
  border-radius: 0.4rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--background));
  box-shadow: 0 8px 20px -16px hsl(var(--foreground) / 0.2);
}

.glow-mc-mockup__move-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.22rem;
}

.glow-mc-mockup__move-badge {
  padding: 0.1rem 0.32rem;
  border-radius: 999px;
  background: hsl(262 88% 48% / 0.1);
  font-size: 0.32rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(262 70% 42%);
}

.glow-mc-mockup__move-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
}

.glow-mc-mockup__move-tags span {
  padding: 0.08rem 0.25rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--muted) / 0.3);
  font-size: 0.28rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__move-title {
  margin: 0 0 0.25rem;
  font-size: 0.44rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__move-bar {
  position: relative;
  height: 0.18rem;
  margin-bottom: 0.28rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-mockup__move-bar-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, hsl(24 95% 53%), hsl(38 92% 50%));
}

.glow-mc-mockup__move-bar > span {
  position: absolute;
  right: 0;
  top: -0.42rem;
  font-size: 0.28rem;
  font-weight: 700;
  color: hsl(24 90% 42%);
}

.glow-mc-mockup__move-cta {
  display: inline-flex;
  padding: 0.14rem 0.38rem;
  border-radius: 999px;
  background: linear-gradient(90deg, hsl(217 91% 60%), hsl(262 88% 58%));
  font-size: 0.3rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
}

.glow-mc-mockup__move-copy {
  margin: 0 0 0.22rem;
  font-size: 0.28rem;
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__move-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
}

.glow-mc-mockup__move-ghost {
  padding: 0.12rem 0.3rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  font-size: 0.26rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__cmd-sub {
  margin: 0.12rem 0 0;
  font-size: 0.28rem;
  line-height: 1.3;
  opacity: 0.88;
}

.glow-mc-mockup__cmd-stats {
  display: flex;
  gap: 0.22rem;
  margin-top: 0.22rem;
  padding-top: 0.18rem;
  border-top: 1px solid hsl(var(--border) / 0.45);
}

.glow-mc-mockup__cmd-stats span {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}

.glow-mc-mockup__cmd-stats small {
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__cmd-stats strong {
  font-size: 0.36rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__card-note {
  margin: 0.12rem 0 0;
  font-size: 0.26rem;
  line-height: 1.3;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__metric-action {
  display: inline-block;
  margin-top: 0.15rem;
  padding: 0.08rem 0.22rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  font-size: 0.22rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__cmd-block {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.glow-mc-mockup__cmd-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.38rem 0.45rem;
  border-radius: 0.4rem;
  background: linear-gradient(
    105deg,
    hsl(262 88% 48%) 0%,
    hsl(291 86% 52%) 55%,
    hsl(330 78% 58%) 100%
  );
  color: #fff;
}

.glow-mc-mockup__cmd-title {
  margin: 0.1rem 0 0;
  font-size: 0.48rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.glow-mc-mockup__cmd-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  justify-content: flex-end;
}

.glow-mc-mockup__cmd-pills span {
  padding: 0.1rem 0.28rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.28rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.glow-mc-mockup__triad--live {
  gap: 0.22rem;
}

.glow-mc-mockup__triad--live .glow-mc-mockup__card {
  padding: 0.28rem 0.32rem;
}

.glow-mc-mockup__score-badge {
  display: inline-block;
  margin-top: 0.08rem;
  padding: 0.06rem 0.22rem;
  border-radius: 999px;
  background: hsl(217 91% 60% / 0.12);
  font-size: 0.28rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
}

.glow-mc-mockup__metric-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.22rem;
}

.glow-mc-mockup__metric {
  padding: 0.28rem 0.25rem 0.3rem;
  border-radius: 0.32rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.65);
}

.glow-mc-mockup__metric-head {
  display: flex;
  align-items: center;
  gap: 0.18rem;
  margin-bottom: 0.12rem;
}

.glow-mc-mockup__metric-head > span:last-child {
  font-size: 0.28rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__metric-icon {
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 0.15rem;
  flex-shrink: 0;
}

.glow-mc-mockup__metric--blue .glow-mc-mockup__metric-icon { background: hsl(217 91% 60% / 0.2); }
.glow-mc-mockup__metric--orange .glow-mc-mockup__metric-icon { background: hsl(38 92% 50% / 0.2); }
.glow-mc-mockup__metric--teal .glow-mc-mockup__metric-icon { background: hsl(172 66% 40% / 0.2); }
.glow-mc-mockup__metric--violet .glow-mc-mockup__metric-icon { background: hsl(262 88% 58% / 0.2); }

.glow-mc-mockup__metric strong {
  display: block;
  font-size: 0.42rem;
  font-weight: 700;
  line-height: 1.1;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__metric p {
  margin: 0.1rem 0 0.18rem;
  font-size: 0.26rem;
  line-height: 1.3;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__metric-track {
  height: 0.12rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-mockup__metric-track div {
  height: 100%;
  border-radius: inherit;
}

.glow-mc-mockup__metric--blue .glow-mc-mockup__metric-track div { background: #3b82f6; }
.glow-mc-mockup__metric--orange .glow-mc-mockup__metric-track div { background: #f97316; }
.glow-mc-mockup__metric--teal .glow-mc-mockup__metric-track div { background: #14b8a6; }
.glow-mc-mockup__metric--violet .glow-mc-mockup__metric-track div { background: #8b5cf6; }

.glow-mc-mockup__flight-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.22rem;
  flex: 1;
  min-height: 0;
}

.glow-mc-mockup__flight-row--live .glow-mc-mockup__flight-col {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.glow-mc-mockup__flight-col {
  padding: 0.28rem 0.3rem;
  border-radius: 0.35rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.55);
  border-top-width: 2px;
}

.glow-mc-mockup__flight-col-head {
  display: flex;
  align-items: flex-start;
  gap: 0.22rem;
  margin-bottom: 0.2rem;
}

.glow-mc-mockup__flight-col-head > div p {
  margin: 0;
  font-size: 0.28rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__flight-col-head > div small {
  display: block;
  margin-top: 0.06rem;
  font-size: 0.22rem;
  line-height: 1.3;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__flight-icon {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 0.2rem;
  flex-shrink: 0;
}

.glow-mc-mockup__flight-icon--violet { background: hsl(262 88% 58% / 0.18); }
.glow-mc-mockup__flight-icon--teal { background: hsl(172 66% 40% / 0.18); }
.glow-mc-mockup__flight-icon--orange { background: hsl(24 95% 53% / 0.18); }

.glow-mc-mockup__flight-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.2rem;
  margin-bottom: 0.12rem;
}

.glow-mc-mockup__flight-section span {
  font-size: 0.24rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__flight-section em {
  padding: 0.06rem 0.2rem;
  border-radius: 999px;
  background: hsl(142 70% 45% / 0.12);
  font-style: normal;
  font-size: 0.2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(142 60% 32%);
}

.glow-mc-mockup__flight-col--violet { border-top-color: #8b5cf6; }
.glow-mc-mockup__flight-col--teal { border-top-color: #14b8a6; }
.glow-mc-mockup__flight-col--orange { border-top-color: #f97316; }

.glow-mc-mockup__flight-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.glow-mc-mockup__flight-col li {
  position: relative;
  padding-left: 0.45rem;
  font-size: 0.24rem;
  line-height: 1.35;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__flight-col li + li {
  margin-top: 0.1rem;
}

.glow-mc-mockup__flight-col li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 0.22rem;
  height: 0.22rem;
  border-radius: 0.06rem;
  border: 1px solid hsl(var(--border));
}

.glow-mc-mockup__flight-col li.is-done::before {
  background: hsl(142 70% 45%);
  border-color: hsl(142 70% 45%);
}

.glow-mc-mockup__signal-bar {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 0.18rem;
  margin-bottom: 0.12rem;
}

.glow-mc-mockup__signal-bar > span {
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__signal-bar > div {
  height: 0.12rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-mockup__signal-bar > div > div {
  height: 100%;
  border-radius: inherit;
  background: #14b8a6;
}

.glow-mc-mockup__flight-stats {
  display: flex;
  gap: 0.2rem;
  margin-top: auto;
  padding-top: 0.15rem;
}

.glow-mc-mockup__flight-stats span {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  padding: 0.12rem 0.1rem;
  border-radius: 0.25rem;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--background) / 0.85);
}

.glow-mc-mockup__flight-stats small {
  font-size: 0.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__flight-stats strong {
  font-size: 0.34rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mc-mockup__autopilot-list {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-bottom: 0.15rem;
}

.glow-mc-mockup__autopilot-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.15rem;
  padding: 0.1rem 0.15rem;
  border-radius: 0.25rem;
  border: 1px solid hsl(var(--border) / 0.45);
  font-size: 0.22rem;
  font-weight: 600;
  color: hsl(var(--muted-foreground));
}

.glow-mc-mockup__autopilot-item.is-ok {
  background: hsl(142 70% 45% / 0.08);
}

.glow-mc-mockup__autopilot-item.is-warn {
  background: hsl(38 92% 50% / 0.1);
  color: hsl(24 90% 38%);
}

.glow-mc-mockup__focus-box {
  margin-top: auto;
  padding: 0.18rem 0.2rem;
  border-radius: 0.28rem;
  background: hsl(24 95% 53% / 0.08);
  border: 1px solid hsl(24 95% 53% / 0.2);
}

.glow-mc-mockup__focus-box > span {
  display: block;
  font-size: 0.22rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(24 90% 38%);
}

.glow-mc-mockup__focus-box div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  margin-top: 0.12rem;
}

.glow-mc-mockup__focus-box em {
  padding: 0.08rem 0.2rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--background) / 0.9);
  font-style: normal;
  font-size: 0.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-mc-mockup--featured .glow-mc-mockup__move-title {
  font-size: clamp(0.52rem, 1vw, 0.72rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__move-copy {
  font-size: clamp(0.3rem, 0.55vw, 0.4rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__cmd-title {
  font-size: clamp(0.58rem, 1.1vw, 0.82rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__metric strong {
  font-size: clamp(0.48rem, 0.9vw, 0.62rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__metric p {
  font-size: clamp(0.3rem, 0.55vw, 0.38rem);
}

.glow-mc-mockup--featured .glow-mc-mockup__flight-row--live {
  min-height: clamp(4.5rem, 10vw, 6rem);
}

@media (max-width: 767px) {
  .glow-mc-mockup__metric-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .glow-mc-mockup__flight-row {
    grid-template-columns: 1fr;
  }
}

/* ── Mission Control Premium (marketing showcase) ── */
.glow-mc-mockup--premium .glow-mc-mockup__canvas--premium {
  padding: clamp(0.65rem, 1.4vw, 1rem);
  background:
    linear-gradient(180deg, hsl(var(--muted) / 0.12) 0%, hsl(var(--background) / 0.4) 100%);
}

.glow-mc-mockup__chrome--premium {
  padding: 0.7rem 1rem;
  font-size: clamp(0.58rem, 0.85vw, 0.68rem);
  background: hsl(var(--card) / 0.72);
  backdrop-filter: blur(8px);
}

.glow-mc-premium {
  display: flex;
  gap: clamp(0.55rem, 1.2vw, 0.85rem);
  height: 100%;
  min-height: 0;
}

.glow-mc-premium__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  width: clamp(2.4rem, 4vw, 3rem);
  padding: 0.65rem 0.45rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.75);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-mc-premium__rail-btn {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--background) / 0.85);
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__rail-btn svg {
  width: 0.95rem;
  height: 0.95rem;
}

.glow-mc-premium__rail-btn.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, hsl(262 88% 48%), hsl(330 78% 58%));
  color: #fff;
  box-shadow:
    0 8px 24px -8px hsl(291 86% 52% / 0.55),
    0 0 0 1px hsl(291 86% 52% / 0.25);
}

.glow-mc-premium__stage {
  display: flex;
  flex-direction: column;
  gap: clamp(0.55rem, 1.1vw, 0.85rem);
  flex: 1;
  min-width: 0;
}

.glow-mc-premium__command {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: clamp(0.85rem, 1.6vw, 1.15rem) clamp(1rem, 1.8vw, 1.35rem);
  border-radius: 1rem;
  background: linear-gradient(
    108deg,
    hsl(262 88% 48%) 0%,
    hsl(291 86% 52%) 52%,
    hsl(330 78% 58%) 100%
  );
  color: #fff;
  box-shadow:
    0 20px 48px -24px hsl(262 88% 48% / 0.45),
    inset 0 1px 0 hsl(0 0% 100% / 0.12);
}

.glow-mc-premium__eyebrow {
  margin: 0;
  font-family: ui-monospace, monospace;
  font-size: clamp(0.58rem, 0.85vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.glow-mc-premium__command-title {
  margin: 0.35rem 0 0;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.15rem, 2.2vw, 1.65rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.glow-mc-premium__command-lead {
  margin: 0.4rem 0 0;
  max-width: 28rem;
  font-size: clamp(0.72rem, 1.05vw, 0.88rem);
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.86);
}

.glow-mc-premium__command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.glow-mc-premium__command-actions span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  font-size: clamp(0.62rem, 0.9vw, 0.72rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}

.glow-mc-premium__command-actions .is-score {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.glow-mc-premium__command-actions .is-helios {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.28);
}

.glow-mc-premium__hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
  gap: clamp(0.55rem, 1.1vw, 0.85rem);
}

.glow-mc-premium__move {
  padding: clamp(0.85rem, 1.5vw, 1.15rem);
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background:
    linear-gradient(145deg, hsl(var(--background)) 0%, hsl(var(--card) / 0.65) 100%);
  box-shadow:
    0 16px 40px -28px hsl(var(--foreground) / 0.22),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.glow-mc-premium__move-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.65rem;
}

.glow-mc-premium__move-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  background: hsl(262 88% 48% / 0.1);
  border: 1px solid hsl(262 88% 48% / 0.18);
  font-size: clamp(0.62rem, 0.9vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(262 70% 42%);
}

.glow-mc-premium__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.glow-mc-premium__chips span {
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--muted) / 0.35);
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__chips .is-accent {
  border-color: hsl(24 95% 53% / 0.28);
  background: hsl(24 95% 53% / 0.1);
  color: hsl(24 90% 40%);
}

.glow-mc-premium__move-title {
  margin: 0;
  font-family: var(--font-rajdhani);
  font-size: clamp(0.95rem, 1.65vw, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
}

.glow-mc-premium__move-body {
  margin: 0.55rem 0 0;
  font-size: clamp(0.72rem, 1vw, 0.84rem);
  line-height: 1.5;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__move-progress {
  margin-top: 0.85rem;
}

.glow-mc-premium__move-track {
  height: 0.42rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-premium__move-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, hsl(24 95% 53%), hsl(38 92% 50%), hsl(45 96% 56%));
  box-shadow: 0 0 12px hsl(24 95% 53% / 0.35);
}

.glow-mc-premium__move-progress > span {
  display: block;
  margin-top: 0.35rem;
  font-size: clamp(0.62rem, 0.85vw, 0.72rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(24 90% 40%);
}

.glow-mc-premium__move-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.glow-mc-premium__btn-primary {
  display: inline-flex;
  padding: 0.48rem 0.95rem;
  border-radius: 999px;
  background: linear-gradient(90deg, hsl(217 91% 58%), hsl(262 88% 58%));
  font-size: clamp(0.65rem, 0.92vw, 0.78rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  box-shadow: 0 10px 28px -12px hsl(262 88% 48% / 0.55);
}

.glow-mc-premium__btn-ghost {
  display: inline-flex;
  padding: 0.48rem 0.85rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.65);
  font-size: clamp(0.62rem, 0.88vw, 0.72rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__spotlight {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.glow-mc-premium__score-card {
  flex: 1;
  padding: clamp(0.75rem, 1.3vw, 1rem);
  border-radius: 1rem;
  border: 1px solid hsl(217 91% 60% / 0.28);
  background:
    linear-gradient(160deg, hsl(217 91% 60% / 0.08) 0%, hsl(var(--background)) 55%);
  box-shadow: inset 0 1px 0 hsl(217 91% 60% / 0.12);
}

.glow-mc-premium__score-head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: clamp(0.62rem, 0.88vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2563eb;
}

.glow-mc-premium__score-value {
  margin: 0.25rem 0 0;
  font-family: var(--font-rajdhani);
  font-size: clamp(2rem, 4.5vw, 2.85rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: hsl(var(--foreground));
}

.glow-mc-premium__score-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.glow-mc-premium__score-meta .is-strong {
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: hsl(217 91% 60% / 0.12);
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
}

.glow-mc-premium__score-meta .is-delta {
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: hsl(142 70% 45% / 0.12);
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 700;
  color: hsl(142 60% 32%);
}

.glow-mc-premium__score-note {
  margin: 0.45rem 0 0;
  font-size: clamp(0.68rem, 0.95vw, 0.78rem);
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__persona-card {
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  border: 1px solid hsl(262 88% 58% / 0.22);
  background: hsl(262 88% 58% / 0.06);
}

.glow-mc-premium__persona-head {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7c3aed;
}

.glow-mc-premium__persona-head em {
  margin-left: auto;
  padding: 0.12rem 0.35rem;
  border-radius: 999px;
  background: hsl(262 88% 58% / 0.12);
  font-style: normal;
  font-size: clamp(0.55rem, 0.78vw, 0.65rem);
  font-weight: 700;
}

.glow-mc-premium__persona-title {
  margin: 0.35rem 0 0;
  font-size: clamp(0.78rem, 1.15vw, 0.92rem);
  font-weight: 700;
  line-height: 1.2;
  color: hsl(var(--foreground));
}

.glow-mc-premium__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.45rem;
}

.glow-mc-premium__tags span {
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: hsl(var(--muted) / 0.45);
  font-size: clamp(0.58rem, 0.8vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.45rem, 0.9vw, 0.65rem);
}

.glow-mc-premium__metric {
  padding: clamp(0.65rem, 1.1vw, 0.85rem);
  border-radius: 0.85rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.72);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.03);
}

.glow-mc-premium__metric--blue { border-top: 3px solid #3b82f6; }
.glow-mc-premium__metric--orange { border-top: 3px solid #f97316; }
.glow-mc-premium__metric--teal { border-top: 3px solid #14b8a6; }
.glow-mc-premium__metric--violet { border-top: 3px solid #8b5cf6; }

.glow-mc-premium__metric-top {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.45rem;
}

.glow-mc-premium__metric-icon {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.45rem;
  background: hsl(var(--muted) / 0.45);
  color: hsl(var(--foreground));
}

.glow-mc-premium__metric-icon svg {
  width: 0.85rem;
  height: 0.85rem;
}

.glow-mc-premium__metric--blue .glow-mc-premium__metric-icon { background: hsl(217 91% 60% / 0.15); color: #2563eb; }
.glow-mc-premium__metric--orange .glow-mc-premium__metric-icon { background: hsl(38 92% 50% / 0.15); color: hsl(24 90% 42%); }
.glow-mc-premium__metric--teal .glow-mc-premium__metric-icon { background: hsl(172 66% 40% / 0.15); color: #0d9488; }
.glow-mc-premium__metric--violet .glow-mc-premium__metric-icon { background: hsl(262 88% 58% / 0.15); color: #7c3aed; }

.glow-mc-premium__metric-top > span:last-child {
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__metric strong {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: clamp(1rem, 1.65vw, 1.25rem);
  font-weight: 700;
  line-height: 1.1;
  color: hsl(var(--foreground));
}

.glow-mc-premium__metric p {
  margin: 0.35rem 0 0.55rem;
  font-size: clamp(0.65rem, 0.92vw, 0.76rem);
  line-height: 1.4;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__metric-bar {
  height: 0.28rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-premium__metric-bar div {
  height: 100%;
  border-radius: inherit;
}

.glow-mc-premium__metric--blue .glow-mc-premium__metric-bar div { background: linear-gradient(90deg, #3b82f6, #60a5fa); }
.glow-mc-premium__metric--orange .glow-mc-premium__metric-bar div { background: linear-gradient(90deg, #f97316, #fbbf24); }
.glow-mc-premium__metric--teal .glow-mc-premium__metric-bar div { background: linear-gradient(90deg, #14b8a6, #2dd4bf); }
.glow-mc-premium__metric--violet .glow-mc-premium__metric-bar div { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }

.glow-mc-premium__deck {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.45rem, 0.9vw, 0.65rem);
  flex: 1;
  min-height: 0;
}

.glow-mc-premium__deck-col {
  display: flex;
  flex-direction: column;
  padding: clamp(0.65rem, 1.1vw, 0.85rem);
  border-radius: 0.85rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--background) / 0.88);
  border-top-width: 3px;
}

.glow-mc-premium__deck-col--violet { border-top-color: #8b5cf6; }
.glow-mc-premium__deck-col--teal { border-top-color: #14b8a6; }
.glow-mc-premium__deck-col--orange { border-top-color: #f97316; }

.glow-mc-premium__deck-head {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin-bottom: 0.55rem;
  color: hsl(var(--foreground));
}

.glow-mc-premium__deck-head p {
  margin: 0;
  font-size: clamp(0.68rem, 0.95vw, 0.78rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.glow-mc-premium__deck-head small {
  display: block;
  margin-top: 0.15rem;
  font-size: clamp(0.62rem, 0.85vw, 0.72rem);
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__sprint-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}

.glow-mc-premium__sprint-label span {
  font-size: clamp(0.62rem, 0.85vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.glow-mc-premium__sprint-label em {
  padding: 0.15rem 0.4rem;
  border-radius: 999px;
  background: hsl(142 70% 45% / 0.12);
  font-style: normal;
  font-size: clamp(0.58rem, 0.8vw, 0.65rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(142 60% 32%);
}

.glow-mc-premium__checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.glow-mc-premium__checklist li {
  position: relative;
  padding-left: 1.1rem;
  font-size: clamp(0.65rem, 0.92vw, 0.76rem);
  line-height: 1.4;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__checklist li + li {
  margin-top: 0.35rem;
}

.glow-mc-premium__checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.22em;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 0.15rem;
  border: 1px solid hsl(var(--border));
}

.glow-mc-premium__checklist li.is-done::before {
  background: hsl(142 70% 45%);
  border-color: hsl(142 70% 45%);
}

.glow-mc-premium__signal {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.45rem;
}

.glow-mc-premium__signal > span {
  font-size: clamp(0.62rem, 0.85vw, 0.72rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__signal > div {
  height: 0.32rem;
  border-radius: 999px;
  background: hsl(var(--border) / 0.45);
  overflow: hidden;
}

.glow-mc-premium__signal > div > div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #14b8a6, #2dd4bf);
}

.glow-mc-premium__stat-row {
  display: flex;
  gap: 0.45rem;
  margin-top: auto;
  padding-top: 0.45rem;
}

.glow-mc-premium__stat-row span {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.45rem 0.4rem;
  border-radius: 0.55rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.65);
}

.glow-mc-premium__stat-row small {
  font-size: clamp(0.55rem, 0.78vw, 0.65rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-mc-premium__stat-row strong {
  font-family: var(--font-rajdhani);
  font-size: clamp(0.95rem, 1.4vw, 1.15rem);
  font-weight: 700;
  color: hsl(var(--foreground));
}

.glow-mc-premium__status-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
}

.glow-mc-premium__status-list span {
  padding: 0.35rem 0.45rem;
  border-radius: 0.45rem;
  border: 1px solid hsl(var(--border) / 0.5);
  font-size: clamp(0.62rem, 0.88vw, 0.72rem);
  font-weight: 600;
}

.glow-mc-premium__status-list .is-ok {
  background: hsl(142 70% 45% / 0.08);
  color: hsl(142 50% 28%);
}

.glow-mc-premium__status-list .is-warn {
  background: hsl(38 92% 50% / 0.1);
  color: hsl(24 90% 38%);
}

.glow-mc-premium__focus {
  margin-top: auto;
  padding: 0.55rem 0.6rem;
  border-radius: 0.65rem;
  background: hsl(24 95% 53% / 0.08);
  border: 1px solid hsl(24 95% 53% / 0.2);
}

.glow-mc-premium__focus > span {
  display: block;
  font-size: clamp(0.62rem, 0.85vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(24 90% 38%);
}

.glow-mc-premium__focus div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.glow-mc-premium__focus em {
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--background) / 0.92);
  font-style: normal;
  font-size: clamp(0.58rem, 0.82vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

@media (max-width: 1023px) {
  .glow-mc-premium__hero-row {
    grid-template-columns: 1fr;
  }

  .glow-mc-premium__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .glow-mc-premium__deck {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .glow-mc-premium {
    flex-direction: column;
  }

  .glow-mc-premium__rail {
    flex-direction: row;
    width: 100%;
    justify-content: center;
  }

  .glow-mc-showcase--premium .glow-mc-mockup--premium {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .glow-mc-showcase--premium .glow-mc-premium__move-fill {
    animation: glow-mc-premium-pulse 3s ease-in-out infinite;
  }

  .glow-mc-showcase__glow--left {
    animation: glow-mc-aurora-drift 12s ease-in-out infinite alternate;
  }

  .glow-mc-showcase__glow--right {
    animation: glow-mc-aurora-drift 14s ease-in-out infinite alternate-reverse;
  }
}

@keyframes glow-mc-premium-pulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
}

@keyframes glow-mc-aurora-drift {
  0% { transform: translate(0, 0); }
  100% { transform: translate(1.5rem, -0.75rem); }
}


.glow-career-dna-frame {
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--card) / 0.45);
  padding: 1rem;
  overflow: hidden;
}

.glow-career-dna-frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
}

@media (max-width: 767px) {
  .glow-page .glow-career-dna-frame {
    display: none;
  }
}

@media (max-width: 1023px) {
  .glow-hero-blocks--inline {
    margin-inline: -0.25rem;
    width: calc(100% + 0.5rem);
  }

  .glow-hero-blocks--inline .glow-blocks__tower,
  .glow-blocks__tower {
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
    mask-image:
      linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 6%, #000 88%, transparent 100%);
  }

  .glow-blocks__capstone {
    left: 50%;
    font-size: clamp(0.8rem, 3.2vw, 1.2rem);
    letter-spacing: 0.14em;
    padding-inline: 0.35rem;
  }
}

@media (max-width: 767px) {
  .glow-blocks__brick {
    min-height: 10px;
    border-radius: 7px;
    border-width: 1.25px;
  }

  .glow-blocks__label {
    font-size: clamp(5px, 1.55vw, 7px);
    letter-spacing: 0.07em;
  }

  .glow-blocks__foundation {
    font-size: 7px;
    letter-spacing: 0.22em;
    margin-top: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-hero-blocks--inline,
  .glow-hero-blocks--overlay,
  .glow-blocks__brick--enter,
  .glow-blocks__label--enter {
    animation: none !important;
  }

  .glow-blocks__brick--enter {
    opacity: 0.92;
    transform: none;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .glow-career-dna-frame img {
    max-height: min(46vh, 400px);
    -o-object-fit: contain;
       object-fit: contain;
    margin-inline: auto;
  }
}

/* ── Signal-to-Move flow (Lovable parity) ── */
.glow-signal-flow-section {
  padding: 5rem 0;
  background: hsl(var(--card) / 0.22);
}

@media (min-width: 768px) {
  .glow-signal-flow-section {
    padding: 7rem 0;
  }
}

.glow-signal-flow__heading {
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  overflow: visible;
}

.glow-signal-flow__grid {
  margin-top: 3.5rem;
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .glow-signal-flow__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1180px) {
  .glow-signal-flow__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.glow-signal-flow__card {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--background) / 0.6);
  padding: 2rem;
}

.glow-signal-flow__card-glow {
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  background: linear-gradient(
    135deg,
    hsl(190 85% 50% / 0.1) 0%,
    transparent 45%,
    hsl(291 70% 55% / 0.1) 100%
  );
}

.glow-signal-flow__card:hover .glow-signal-flow__card-glow {
  opacity: 1;
}

.glow-signal-flow__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.glow-signal-flow__step-num {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.3em;
  color: hsl(190 85% 42%);
}

html[data-theme="dark"] .glow-signal-flow__step-num {
  color: hsl(190 90% 58%);
}

.glow-signal-flow__arrow {
  font-family: ui-monospace, monospace;
  color: hsl(190 85% 42%);
}

html[data-theme="dark"] .glow-signal-flow__arrow {
  color: hsl(190 90% 58%);
}

.glow-signal-flow__step-title {
  margin-top: 3rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.025em;
  line-height: 1.02;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.glow-signal-flow__step-title--0 {
  background-image: linear-gradient(110deg, hsl(198 88% 38%) 0%, hsl(262 78% 48%) 100%);
}

.glow-signal-flow__step-title--1 {
  background-image: linear-gradient(110deg, hsl(262 78% 48%) 0%, hsl(291 72% 50%) 100%);
}

.glow-signal-flow__step-title--2 {
  background-image: linear-gradient(110deg, hsl(291 72% 50%) 0%, hsl(24 90% 52%) 100%);
}

.glow-signal-flow__step-title--3 {
  background-image: linear-gradient(110deg, hsl(24 90% 52%) 0%, hsl(158 74% 42%) 100%);
}

.glow-signal-flow__step-desc {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: hsl(var(--muted-foreground));
}

@media (min-width: 768px) {
  .glow-signal-flow__step-desc {
    font-size: 1rem;
  }
}

.glow-signal-flow__step-line {
  margin-top: 2rem;
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, hsl(190 85% 50% / 0.4) 0%, transparent 100%);
}

/* ── Helios Suite header ── */
.glow-helios-suite__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .glow-helios-suite__header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.glow-helios-suite__title {
  margin-top: 1rem;
  max-width: 48rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2.25rem, 5.5vw, 4.5rem);
  line-height: 1.14;
  letter-spacing: -0.03em;
  color: hsl(var(--foreground));
  overflow: visible;
}

.glow-helios-suite__agents-tail {
  display: inline;
  white-space: nowrap;
}

.glow-helios-suite__title .glow-agent-bot {
  display: inline-block;
  vertical-align: middle;
  width: clamp(2rem, 3.6vw, 2.9rem);
  margin-left: 0.35em;
  position: relative;
  top: -0.04em;
  filter: drop-shadow(0 0 12px hsl(262 80% 55% / 0.32));
  animation: glow-agent-bot-float 3.6s ease-in-out infinite;
}

.glow-agent-bot__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.glow-agent-bot__head {
  fill: hsl(var(--card) / 0.55);
}

html[data-theme="light"] .glow-agent-bot__head {
  fill: hsl(var(--card) / 0.82);
}

.glow-agent-bot__antenna-tip {
  transform-box: fill-box;
  transform-origin: center;
  animation: glow-agent-bot-pulse 2.4s ease-in-out infinite;
}

.glow-agent-bot__eye--left {
  transform-box: fill-box;
  transform-origin: center;
  animation: glow-agent-bot-blink 4.5s ease-in-out infinite;
}

.glow-agent-bot__scan {
  transform-box: fill-box;
  transform-origin: center;
  animation: glow-agent-bot-scan 2.8s ease-in-out infinite;
}

@keyframes glow-agent-bot-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes glow-agent-bot-pulse {
  0%,
  100% {
    opacity: 0.72;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}

@keyframes glow-agent-bot-blink {
  0%,
  44%,
  48%,
  100% {
    transform: scaleY(1);
    opacity: 1;
  }
  46% {
    transform: scaleY(0.12);
    opacity: 0.55;
  }
}

@keyframes glow-agent-bot-scan {
  0%,
  100% {
    transform: translateY(-3px);
    opacity: 0.35;
  }
  50% {
    transform: translateY(3px);
    opacity: 0.95;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-helios-suite__title .glow-agent-bot,
  .glow-agent-bot__antenna-tip,
  .glow-agent-bot__eye--left,
  .glow-agent-bot__scan {
    animation: none;
  }
}

.glow-helios-suite__lead {
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}

@media (min-width: 768px) {
  .glow-helios-suite__lead {
    font-size: 1.125rem;
  }
}

/* ── Built on trust (Lovable parity) ── */
.glow-trust-section__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .glow-trust-section__header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.glow-trust-section__title {
  margin-top: 1rem;
  max-width: 52rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  line-height: 1.14;
  letter-spacing: -0.03em;
  color: hsl(var(--foreground));
  overflow: visible;
}

.glow-trust-section__yours {
  font-weight: 800;
}

.glow-career-dna-heading {
  overflow: visible;
}

.glow-career-dna-heading__tail {
  display: inline;
  white-space: nowrap;
}

.glow-career-dna-heading .glow-dna-helix {
  display: inline-block;
  vertical-align: middle;
  width: clamp(2rem, 3.5vw, 2.85rem);
  margin-left: 0.35em;
  position: relative;
  top: -0.05em;
}

.glow-dna-helix {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  width: clamp(1.85rem, 3.2vw, 2.65rem);
  filter: drop-shadow(0 0 10px hsl(262 80% 55% / 0.28));
}

.glow-dna-helix__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.glow-dna-helix__strand {
  stroke-dasharray: 160;
  stroke-dashoffset: 160;
  animation: glow-dna-helix-draw 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.glow-dna-helix__strand--back {
  animation-delay: 0.12s;
}

@keyframes glow-dna-helix-draw {
  to {
    stroke-dashoffset: 0;
  }
}

.glow-dna-helix__pair {
  opacity: 0.4;
  animation: glow-dna-helix-pair 2.6s ease-in-out infinite;
}

@keyframes glow-dna-helix-pair {
  0%,
  100% {
    opacity: 0.35;
  }
  40%,
  60% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-dna-helix__strand,
  .glow-dna-helix__pair {
    animation: none;
  }

  .glow-dna-helix__strand {
    stroke-dashoffset: 0;
  }

  .glow-dna-helix__pair {
    opacity: 0.85;
  }
}

.glow-trust-section__lead {
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}

@media (min-width: 768px) {
  .glow-trust-section__lead {
    font-size: 1.125rem;
  }
}

.glow-trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--border) / 0.55);
}

@media (min-width: 768px) {
  .glow-trust-badges {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .glow-trust-badges {
    grid-template-columns: repeat(6, 1fr);
  }
}

.glow-trust-badges__cell {
  position: relative;
  background: hsl(var(--background));
  padding: 1.25rem;
  transition: background-color 0.2s ease;
}

.glow-trust-badges__cell:hover {
  background: hsl(var(--card) / 0.6);
}

.glow-trust-badges__key {
  font-family: var(--font-rajdhani);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
}

.glow-trust-badges__glyph {
  font-size: 0.875rem;
  color: hsl(190 85% 42% / 0.7);
}

html[data-theme="dark"] .glow-trust-badges__glyph {
  color: hsl(190 90% 58% / 0.7);
}

.glow-trust-badges__value {
  margin-top: 0.5rem;
  font-family: ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

/* ── Glow page: mobile polish ── */
@media (max-width: 767px) {
  .glow-page .gl-section {
    padding: 3rem 0;
  }

  .glow-manifesto {
    padding: 4.5rem 1.15rem;
  }

  .glow-manifesto__statement {
    font-size: clamp(1.65rem, 8vw, 2.35rem);
    line-height: 1.16;
  }

  .glow-manifesto__pillars {
    margin-top: 2rem;
    padding-top: 1.75rem;
    gap: 1.5rem;
  }

  .glow-helios-suite__title,
  .glow-trust-section__title,
  .glow-signal-flow__heading,
  .glow-career-dna-heading,
  .glow-hive-heading .glow-display-xl {
    font-size: clamp(1.85rem, 8.5vw, 2.75rem);
  }

  .glow-helios-suite__header,
  .glow-trust-section__header {
    gap: 1.15rem;
    margin-bottom: 2rem;
  }

  .glow-helios-suite__agents-tail,
  .glow-career-dna-heading__tail {
    display: inline;
    white-space: nowrap;
  }

  .glow-hive-destination {
    display: inline-flex;
    flex-wrap: wrap;
    white-space: normal;
  }

  .glow-helios-suite__title .glow-agent-bot,
  .glow-career-dna-heading .glow-dna-helix {
    width: clamp(1.7rem, 7vw, 2.25rem);
  }

  .glow-hive-bee {
    width: clamp(1.75rem, 7vw, 2.35rem);
  }

  .glow-signal-flow-section {
    padding: 3.5rem 0;
  }

  .glow-signal-flow__grid {
    margin-top: 2.25rem;
  }

  .glow-trust-badges__cell {
    padding: 1rem;
  }

  .glow-page .gl-container {
    padding-inline: 1.15rem;
  }
}

@media (max-width: 380px) {
  .glow-hero__headline {
    font-size: clamp(1.65rem, 7.8vw, 2rem) !important;
    letter-spacing: -0.03em;
  }

  .glow-blocks-mobile__grid {
    gap: 0.3rem 0.32rem;
  }

  .glow-blocks-mobile__chip-label {
    font-size: 0.46rem;
    letter-spacing: 0.04em;
  }

  .glow-blocks__column {
    min-width: 1.45rem;
    max-width: 18%;
  }

  .glow-helios-suite__agents-tail,
  .glow-career-dna-heading__tail {
    white-space: normal;
  }
}

/* ── Glow CTA band (split headline on animated gradient) ── */
.glow-page .glow-cta-band {
  padding: clamp(5.5rem, 12vh, 8.5rem) 1.5rem;
}

.glow-page .glow-cta-band .hp-cta-band__content {
  max-width: 52rem;
}

.glow-cta-band__eyebrow {
  display: block;
  margin-bottom: 1.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.glow-cta-band__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1em;
  margin: 0 0 1.35rem;
  line-height: 1;
  text-wrap: balance;
}

.glow-cta-band__headline-lead {
  font-family: var(--font-rajdhani);
  font-size: clamp(2.15rem, 5vw, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: #ffffff;
}

.glow-cta-band__headline-accent {
  display: block;
  margin-top: 0.08em;
  font-size: clamp(2.85rem, 8.5vw, 5.75rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  padding-bottom: 0.12em;
}

.glow-cta-band__sub {
  max-width: 32rem;
  margin: 0 auto 2.25rem;
  font-family: var(--font-rajdhani);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 500;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.75);
}

.glow-cta-band__btns {
  gap: 0.85rem;
}

.glow-page .glow-cta-band__btn-primary {
  border-radius: 999px;
  height: 52px;
  padding-inline: 1.85rem;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  background: #ffffff !important;
  color: hsl(262 90% 50%) !important;
  box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.25);
}

.glow-page .glow-cta-band__btn-primary:hover {
  background: hsl(0 0% 94%) !important;
}

.glow-page .glow-cta-band__btn-ghost {
  border-radius: 999px;
  height: 52px;
  padding-inline: 1.65rem;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.glow-cta-band__fineprint {
  margin-top: 1.35rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.glow-page .glow-cta-band .glow-gradient-word {
  background-image: linear-gradient(
    110deg,
    hsl(190 95% 72%) 0%,
    hsl(262 95% 78%) 52%,
    hsl(291 92% 74%) 100%
  );
}

@media (max-width: 640px) {
  .glow-cta-band__headline-lead {
    font-size: clamp(1.85rem, 8vw, 2.35rem);
  }

  .glow-cta-band__headline-accent {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }
}

/* Homepage media should sit directly on the section background: no cards, chrome, or framed image shells. */
.glow-page .gl-media-frame,
.glow-page .glow-career-dna-frame,
.glow-page .glow-mcl-hero,
.glow-page .glow-mc-shell,
.glow-page .glow-mc-showcase,
.glow-page .glow-scout-showcase {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.glow-page .glow-mc-showcase__aurora,
.glow-page .glow-mc-showcase__glow,
.glow-page .glow-scout-showcase__aurora,
.glow-page .glow-scout-showcase__glow {
  display: none;
}

.glow-page .gl-media-frame img,
.glow-page .glow-career-dna-frame img,
.glow-page .glow-mcl-hero img,
.glow-page .glow-mc-shell img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  -webkit-mask-image: none;
  mask-image: none;
}

@media (min-width: 1280px) {
  .glow-page .glow-mc-shell img {
    height: 100%;
  }
}

.glow-page {
  --glow-home-media-width: min(1536px, 96vw);
  --glow-home-media-aspect: 2564 / 1248;
}

.glow-page .glow-mcl-hero,
.glow-page .glow-career-dna-frame,
.glow-page .glow-scout-showcase {
  width: var(--glow-home-media-width);
  max-width: var(--glow-home-media-width);
  aspect-ratio: var(--glow-home-media-aspect);
  margin-inline: auto;
}

.glow-page .glow-mcl-hero {
  line-height: 0;
}

.glow-page .glow-career-dna-frame,
.glow-page .glow-mcl-hero {
  overflow: hidden;
}

.glow-page .glow-career-dna-frame img,
.glow-page .glow-mcl-hero img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}

.glow-page .gl-container--media-wide {
  width: var(--glow-home-media-width);
  max-width: none;
}

.glow-page .glow-scout-v__chrome {
  display: none;
}

.glow-page .glow-scout-v__shell {
  height: 100%;
  min-height: 0;
}

.glow-page .glow-scout-v__shell--featured {
  min-height: 0;
}

.glow-page .glow-scout-showcase--premium .glow-scout-v__shell,
.glow-page .glow-mc-showcase--premium .glow-mc-mockup--premium {
  position: relative;
  z-index: 1;
}

/* Student audience page deployment polish: flat, blended media and one typography rhythm. */
.student-glow-page {
  --student-showcase-section-height: clamp(567px, 31.5vw, 645px);
  --student-showcase-media-height: clamp(320px, 42vw, 430px);
  --student-showcase-copy-width: min(100%, 560px);
  --student-feature-gap: clamp(2rem, 4vw, 4.5rem);
  --student-section-padding-y: 5.5rem;
}

.student-glow-page .gl-container--showcase {
  width: min(96vw, 1680px);
  max-width: none;
}

.student-glow-page .gl-section--alt:has(.gl-feature-block),
.student-glow-page .gl-section--scout,
.student-glow-page .gl-section--forge,
.student-glow-page .gl-section--foundry,
.student-glow-page .gl-section--scribe {
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: 0;
  padding: var(--student-section-padding-y) 0;
}

.student-glow-page .glow-hero__headline,
.student-glow-page .gl-h2,
.student-glow-page .gl-h3,
.student-glow-page .gl-callout__title,
.student-glow-page .hp-cta-band__h2,
.student-glow-page .gl-faq__trigger {
  font-family: var(--font-rajdhani), system-ui, -apple-system, sans-serif;
  letter-spacing: 0;
}

.student-glow-page .gl-feature-block__copy {
  max-width: var(--student-showcase-copy-width);
  align-self: center;
}

.student-glow-page .gl-feature-block__copy .gl-h2 {
  font-size: clamp(2rem, 1.6vw + 1rem, 2.5rem);
  line-height: 1.03;
}

.student-glow-page .gl-feature-block__copy .gl-lead {
  font-size: clamp(1rem, 1.04vw, 1.12rem);
  line-height: 1.55;
  max-width: 40ch;
}

.student-glow-page .gl-subpoints {
  gap: clamp(0.95rem, 1.6vh, 1.25rem);
  margin-top: clamp(1.25rem, 2.2vh, 1.65rem);
}

.student-glow-page .gl-subpoint__title {
  font-size: clamp(1rem, 1.05vw, 1.12rem);
}

.student-glow-page .gl-subpoint__desc {
  font-size: clamp(0.88rem, 0.95vw, 0.98rem);
  line-height: 1.45;
}

.student-glow-page .gl-feature-block__media,
.student-glow-page .gl-media-frame {
  min-width: 0;
  width: 100%;
}

.student-glow-page .gl-feature-block--prominent .gl-feature-block__media,
.student-glow-page .gl-feature-block--prominent-xl .gl-feature-block__media {
  display: flex;
  align-items: stretch;
  min-height: 0;
  overflow: visible;
}

.student-glow-page .gl-media-frame,
.student-glow-page .gl-feature-block--prominent .gl-media-frame,
.student-glow-page .gl-feature-block--prominent-xl .gl-media-frame {
  display: flex;
  align-items: stretch;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.student-glow-page .gl-media-frame img,
.student-glow-page .gl-feature-block--prominent .gl-media-frame img,
.student-glow-page .gl-feature-block--prominent-xl .gl-media-frame img,
.student-glow-page .gl-section--scout .gl-feature-block--prominent .gl-media-frame img,
.student-glow-page .gl-section--forge .gl-feature-block--prominent .gl-media-frame img,
.student-glow-page .gl-section--foundry .gl-feature-block--prominent .gl-media-frame img,
.student-glow-page .gl-section--scribe .gl-feature-block--prominent .gl-media-frame img {
  display: block;
  width: 100%;
  height: var(--student-showcase-media-height);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  -webkit-mask-image: none;
  mask-image: none;
  transform: none;
  transform-origin: center center;
}

.student-glow-page .gl-section--scout .gl-media-frame--scout-mockup .glow-scout-showcase,
.student-glow-page .glow-scout-showcase {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] .student-glow-page .gl-section--alt,
html[data-theme="dark"] .student-glow-page .gl-section--scout,
html[data-theme="dark"] .student-glow-page .gl-section--forge,
html[data-theme="dark"] .student-glow-page .gl-section--foundry,
html[data-theme="dark"] .student-glow-page .gl-section--scribe {
  background-blend-mode: screen, screen, normal;
}

@media (min-width: 1280px) {
  .student-glow-page .gl-feature-block,
  .student-glow-page .gl-feature-block--prominent,
  .student-glow-page .gl-feature-block--prominent-xl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--student-feature-gap);
    align-items: stretch;
    min-height: 0;
  }

  .student-glow-page .gl-feature-block--prominent,
  .student-glow-page .gl-feature-block--prominent-xl {
    grid-template-columns: minmax(460px, 1fr) minmax(760px, 1.6fr);
  }

  .student-glow-page .gl-feature-block--prominent.gl-feature-block--reversed,
  .student-glow-page .gl-feature-block--prominent-xl.gl-feature-block--reversed {
    grid-template-columns: minmax(760px, 1.6fr) minmax(460px, 1fr);
  }

  .student-glow-page .gl-feature-block__copy {
    justify-self: start;
  }

  .student-glow-page .gl-feature-block--reversed .gl-feature-block__copy {
    justify-self: start;
  }

  .student-glow-page .gl-feature-block__media {
    justify-self: stretch;
  }
  .student-glow-page .gl-section--alt:has(.gl-feature-block),
  .student-glow-page .gl-section--scout,
  .student-glow-page .gl-section--forge,
  .student-glow-page .gl-section--foundry,
  .student-glow-page .gl-section--scribe {
    height: var(--student-showcase-section-height);
  }

  .student-glow-page .gl-feature-block__media,
  .student-glow-page .gl-feature-block--prominent .gl-feature-block__media,
  .student-glow-page .gl-feature-block--prominent-xl .gl-feature-block__media {
    height: var(--student-showcase-section-height);
    margin-top: calc(var(--student-section-padding-y) * -1);
    margin-bottom: calc(var(--student-section-padding-y) * -1);
  }

  .student-glow-page .gl-feature-block:not(.gl-feature-block--reversed) .gl-feature-block__media {
    justify-content: flex-start;
    margin-right: calc((100vw - min(96vw, 1680px)) / -2 - 1.5rem);
  }

  .student-glow-page .gl-feature-block--reversed .gl-feature-block__media {
    justify-content: flex-end;
    margin-left: calc((100vw - min(96vw, 1680px)) / -2 - 1.5rem);
  }

  .student-glow-page .gl-media-frame,
  .student-glow-page .gl-feature-block--prominent .gl-media-frame,
  .student-glow-page .gl-feature-block--prominent-xl .gl-media-frame {
    flex: 0 0 auto;
    width: auto;
    height: 100%;
  }

  .student-glow-page .gl-media-frame img,
  .student-glow-page .gl-feature-block--prominent .gl-media-frame img,
  .student-glow-page .gl-feature-block--prominent-xl .gl-media-frame img,
  .student-glow-page .gl-section--scout .gl-feature-block--prominent .gl-media-frame img,
  .student-glow-page .gl-section--forge .gl-feature-block--prominent .gl-media-frame img,
  .student-glow-page .gl-section--foundry .gl-feature-block--prominent .gl-media-frame img,
  .student-glow-page .gl-section--scribe .gl-feature-block--prominent .gl-media-frame img {
    width: auto;
    max-width: none;
    height: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  .student-glow-page {
    --student-showcase-media-height: clamp(320px, 42vw, 430px);
  }

  .student-glow-page .gl-feature-block__copy {
    max-width: 56ch;
  }
}

@media (max-width: 767px) {
  .student-glow-page {
    --student-showcase-media-height: clamp(220px, 58vw, 280px);
  }

  .student-glow-page .gl-feature-block,
  .student-glow-page .gl-feature-block--prominent,
  .student-glow-page .gl-feature-block--prominent-xl {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .student-glow-page .gl-feature-block__copy {
    max-width: 100%;
  }

  .student-glow-page .gl-feature-block__media,
  .student-glow-page .gl-feature-block--prominent .gl-feature-block__media,
  .student-glow-page .gl-feature-block--prominent-xl .gl-feature-block__media {
    display: flex !important;
    min-height: var(--student-showcase-media-height);
    max-width: 100%;
    margin-inline: auto;
  }

  .student-glow-page .gl-media-frame {
    display: block !important;
  }

  .student-glow-page .gl-media-frame img,
  .student-glow-page .gl-feature-block--prominent .gl-media-frame img,
  .student-glow-page .gl-feature-block--prominent-xl .gl-media-frame img {
    width: 100%;
    height: var(--student-showcase-media-height);
    max-height: var(--student-showcase-media-height);
    -o-object-fit: contain;
       object-fit: contain;
  }

  .student-glow-page .glow-hero__headline,
  .student-glow-page .gl-h2,
  .student-glow-page .hp-cta-band__h2 {
    letter-spacing: 0;
  }
}

/* ── Student page: structured, carousel-led layout ─────────────── */
.student-glow-page {
  --student-ink-soft: hsl(var(--muted-foreground));
  --student-panel: hsl(var(--card) / 0.82);
  --student-panel-strong: hsl(var(--card));
  --student-border: hsl(var(--border) / 0.72);
}

.student-glow-page .gl-container--student-wide {
  max-width: 1420px;
}

.student-glow-page .gl-section-head {
  margin-bottom: clamp(2.25rem, 5vw, 3.75rem);
}

.student-phase-band {
  position: relative;
  padding: clamp(4rem, 8vw, 6.5rem) 0;
  overflow: hidden;
  border-block: 1px solid hsl(var(--border) / 0.48);
  background:
    radial-gradient(ellipse 65% 85% at 0% 50%, hsl(199 90% 64% / 0.1), transparent 72%),
    radial-gradient(ellipse 55% 90% at 100% 55%, hsl(275 88% 65% / 0.1), transparent 70%),
    hsl(var(--background));
}

.student-phase-band .gl-container {
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.65fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

.student-phase-band__intro {
  position: sticky;
  top: 7rem;
}

.student-phase-band__intro h2 {
  margin: 1.1rem 0 0;
  max-width: 13ch;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: clamp(2.15rem, 4vw, 3.7rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.student-phase-band__intro p {
  max-width: 40ch;
  margin-top: 1.25rem;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--student-ink-soft);
}

.student-phase-band__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.student-phase-band__grid article {
  position: relative;
  min-height: 220px;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--student-border);
  border-radius: 22px;
  background:
    linear-gradient(145deg, hsl(var(--card) / 0.96), hsl(var(--card) / 0.58));
  box-shadow: 0 24px 70px -48px hsl(var(--foreground) / 0.5);
}

.student-phase-band__grid article::after {
  content: "";
  position: absolute;
  right: -3rem;
  bottom: -4rem;
  width: 9rem;
  height: 9rem;
  border-radius: 999px;
  background: hsl(var(--primary) / 0.09);
  filter: blur(2px);
}

.student-phase-band__grid article:nth-child(2)::after { background: hsl(330 86% 58% / 0.1); }
.student-phase-band__grid article:nth-child(3)::after { background: hsl(214 90% 58% / 0.1); }
.student-phase-band__grid article:nth-child(4)::after { background: hsl(24 95% 55% / 0.1); }

.student-phase-band__grid article > svg {
  width: 2rem;
  height: 2rem;
  margin-bottom: 2rem;
  color: hsl(var(--primary));
}

.student-phase-band__grid article > span {
  display: block;
  margin-bottom: 0.4rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.student-phase-band__grid h3 {
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.1;
}

.student-phase-band__grid p {
  position: relative;
  z-index: 1;
  max-width: 30ch;
  margin-top: 0.65rem;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--student-ink-soft);
}

.student-toolkit-section {
  padding-block: clamp(5rem, 10vw, 8.5rem);
  background:
    radial-gradient(ellipse 58% 45% at 50% 15%, hsl(262 88% 60% / 0.09), transparent 70%),
    hsl(var(--background));
}

.student-toolkit {
  --tool-rgb: 124 58 237;
  --tool-color: #7c3aed;
}

.student-toolkit [data-tone="dna"] { --tool-rgb: 124 58 237; --tool-color: #7c3aed; }
.student-toolkit [data-tone="scout"] { --tool-rgb: 37 99 235; --tool-color: #2563eb; }
.student-toolkit [data-tone="forge"] { --tool-rgb: 234 88 12; --tool-color: #ea580c; }
.student-toolkit [data-tone="foundry"] { --tool-rgb: 245 158 11; --tool-color: #f59e0b; }
.student-toolkit [data-tone="scribe"] { --tool-rgb: 8 145 178; --tool-color: #0891b2; }
.student-toolkit [data-tone="hive"] { --tool-rgb: 13 148 136; --tool-color: #0d9488; }

.student-toolkit__tabs,
.student-moments__tabs {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  gap: 0.55rem;
  padding: 0.35rem 0 1.15rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.student-toolkit__tabs::-webkit-scrollbar,
.student-moments__tabs::-webkit-scrollbar {
  display: none;
}

.student-toolkit__tab {
  display: inline-flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-width: 120px;
  height: 48px;
  padding: 0 1rem;
  border: 1px solid var(--student-border);
  border-radius: 999px;
  background: hsl(var(--card) / 0.52);
  color: var(--student-ink-soft);
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.student-toolkit__tab svg {
  width: 1rem;
  height: 1rem;
}

.student-toolkit__tab:hover {
  color: hsl(var(--foreground));
  border-color: rgb(var(--tool-rgb) / 0.38);
  transform: translateY(-1px);
}

.student-toolkit__tab[data-active="true"] {
  color: var(--tool-color);
  border-color: rgb(var(--tool-rgb) / 0.48);
  background: rgb(var(--tool-rgb) / 0.1);
  box-shadow: 0 10px 24px -18px rgb(var(--tool-rgb) / 0.8);
}

html[data-theme="dark"] .student-toolkit__tab[data-active="true"] {
  color: color-mix(in srgb, var(--tool-color) 58%, white);
}

.student-toolkit__stage {
  --tool-rgb: 124 58 237;
  --tool-color: #7c3aed;
  position: relative;
  min-height: 610px;
  overflow: hidden;
  border: 1px solid rgb(var(--tool-rgb) / 0.23);
  border-radius: 30px;
  background:
    radial-gradient(ellipse 62% 75% at 90% 16%, rgb(var(--tool-rgb) / 0.15), transparent 72%),
    radial-gradient(ellipse 40% 60% at 0% 100%, rgb(var(--tool-rgb) / 0.08), transparent 72%),
    linear-gradient(145deg, var(--student-panel-strong), var(--student-panel));
  box-shadow:
    0 42px 110px -70px rgb(var(--tool-rgb) / 0.9),
    0 28px 80px -60px hsl(var(--foreground) / 0.65);
}

.student-toolkit__stage::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgb(var(--tool-rgb) / 0.92), transparent);
}

.student-toolkit__panel {
  display: grid;
  grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.28fr);
  min-height: 610px;
}

.student-toolkit__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem);
}

.student-toolkit__meta {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tool-color);
}

.student-toolkit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-right: 0.15rem;
  border: 1px solid rgb(var(--tool-rgb) / 0.34);
  border-radius: 9px;
  background: rgb(var(--tool-rgb) / 0.1);
}

.student-toolkit__icon svg {
  width: 1rem;
  height: 1rem;
}

.student-toolkit__title {
  max-width: 16ch;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: clamp(2rem, 3.2vw, 3.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.032em;
  text-wrap: balance;
}

.student-toolkit__description {
  max-width: 48ch;
  margin-top: 1.1rem;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  font-weight: 500;
  line-height: 1.55;
  color: var(--student-ink-soft);
}

.student-toolkit__context {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 52ch;
  margin-top: 1.2rem;
  padding: 0.7rem 0.9rem;
  border-left: 3px solid rgb(var(--tool-rgb) / 0.72);
  border-radius: 0 10px 10px 0;
  background: rgb(var(--tool-rgb) / 0.07);
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.42;
  color: hsl(var(--foreground) / 0.82);
}

.student-toolkit__points {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.student-toolkit__point {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: start;
}

.student-toolkit__point > svg {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.17rem;
  color: var(--tool-color);
}

.student-toolkit__point strong,
.student-toolkit__point span {
  display: block;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
}

.student-toolkit__point strong {
  font-size: 0.97rem;
  font-weight: 700;
}

.student-toolkit__point span {
  margin-top: 0.12rem;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--student-ink-soft);
}

.student-toolkit__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: clamp(2rem, 4vw, 4.5rem) clamp(1.25rem, 3vw, 3.25rem) 5.25rem 0;
}

.student-toolkit__media::before {
  content: "";
  position: absolute;
  inset: 10% 4% 14% 4%;
  border-radius: 30px;
  background: rgb(var(--tool-rgb) / 0.09);
  filter: blur(40px);
}

.student-toolkit__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-height: 470px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: 0 30px 80px -48px rgb(var(--tool-rgb) / 0.85);
}

.student-carousel-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.student-carousel-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid hsl(var(--border) / 0.8);
  border-radius: 999px;
  background: hsl(var(--background) / 0.72);
  color: hsl(var(--foreground));
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.student-carousel-controls button:hover {
  transform: translateY(-1px);
  border-color: rgb(var(--tool-rgb, 124 58 237) / 0.5);
  background: hsl(var(--card));
}

.student-carousel-controls button:focus-visible,
.student-toolkit__tab:focus-visible,
.student-moments__tabs button:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}

.student-carousel-controls button svg {
  width: 1rem;
  height: 1rem;
}

.student-toolkit__controls {
  position: absolute;
  right: clamp(1.25rem, 3vw, 3.25rem);
  bottom: 1.35rem;
  z-index: 4;
}

.student-carousel-controls__dots {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.student-carousel-controls__dots span {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: hsl(var(--muted-foreground) / 0.28);
  transition: width 180ms ease, background 180ms ease;
}

.student-carousel-controls__dots span[data-active="true"] {
  width: 1.35rem;
  background: var(--tool-color);
}

.student-moments-section {
  padding-block: clamp(5rem, 10vw, 8.5rem);
  overflow: hidden;
  border-block: 1px solid hsl(var(--border) / 0.45);
  background:
    radial-gradient(ellipse 55% 70% at 100% 10%, hsl(199 90% 60% / 0.1), transparent 72%),
    radial-gradient(ellipse 45% 65% at 0% 100%, hsl(291 86% 62% / 0.09), transparent 72%),
    linear-gradient(180deg, hsl(var(--card) / 0.2), hsl(var(--background)));
}

.student-moments__tabs {
  justify-content: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.student-moments__tabs button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.55rem;
  height: 46px;
  padding: 0 1rem;
  border: 1px solid var(--student-border);
  border-radius: 12px;
  background: hsl(var(--card) / 0.56);
  color: var(--student-ink-soft);
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.student-moments__tabs button svg {
  width: 0.95rem;
  height: 0.95rem;
}

.student-moments__tabs button:hover,
.student-moments__tabs button[data-active="true"] {
  color: hsl(var(--primary));
  border-color: hsl(var(--primary) / 0.4);
  background: hsl(var(--primary) / 0.09);
}

.student-moments__panel {
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.25fr);
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--student-border);
  border-radius: 26px;
  background: linear-gradient(145deg, hsl(var(--card) / 0.92), hsl(var(--card) / 0.6));
  box-shadow: 0 35px 90px -65px hsl(var(--foreground) / 0.7);
}

.student-moments__intro {
  position: relative;
  padding: clamp(2rem, 4vw, 3.75rem);
  border-right: 1px solid var(--student-border);
  background:
    radial-gradient(circle at 15% 10%, hsl(var(--primary) / 0.13), transparent 48%),
    hsl(var(--card) / 0.48);
}

.student-moments__eyebrow {
  display: block;
  padding-right: 4rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.student-moments__icon {
  position: absolute;
  top: clamp(1.75rem, 4vw, 3.25rem);
  right: clamp(1.75rem, 4vw, 3.25rem);
  width: 2.4rem;
  height: 2.4rem;
  color: hsl(var(--primary) / 0.7);
}

.student-moments__intro h3 {
  max-width: 15ch;
  margin-top: 1.3rem;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.032em;
  text-wrap: balance;
}

.student-moments__intro > p {
  max-width: 46ch;
  margin-top: 1.15rem;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.58;
  color: var(--student-ink-soft);
}

.student-moments__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.5rem;
}

.student-moments__tools span {
  padding: 0.4rem 0.65rem;
  border: 1px solid hsl(var(--primary) / 0.24);
  border-radius: 999px;
  background: hsl(var(--primary) / 0.07);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: hsl(var(--foreground) / 0.82);
}

.student-moments__flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: clamp(2rem, 5vw, 4rem);
}

.student-moments__flow > div {
  min-height: 160px;
  padding: 1.35rem;
  border: 1px solid hsl(var(--border) / 0.65);
  border-radius: 18px;
  background: hsl(var(--background) / 0.48);
}

.student-moments__flow > div > span,
.student-moments__flow > div > strong {
  display: block;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
}

.student-moments__flow > div > span {
  margin-bottom: 1.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.student-moments__flow > div > strong {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.38;
}

.student-moments__flow > svg {
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground) / 0.6);
}

.student-moments__controls {
  justify-content: space-between;
  margin-top: 1.25rem;
}

.student-moments__controls > span {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--student-ink-soft);
}

.student-moments__controls > div {
  display: flex;
  gap: 0.55rem;
}

.student-plan-callout {
  padding-block: clamp(4rem, 8vw, 6rem);
}

.student-principle-section {
  border-block: 1px solid hsl(var(--border) / 0.42);
  background:
    radial-gradient(ellipse 60% 80% at 50% 100%, hsl(var(--primary) / 0.09), transparent 72%),
    hsl(var(--card) / 0.2);
}

.student-principle-section .gl-quote {
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.student-principle-section .gl-quote__text {
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  line-height: 1.3;
}

.student-faq-section {
  padding-block: clamp(5rem, 9vw, 7.5rem);
}

@media (max-width: 1120px) {
  .student-toolkit__panel {
    grid-template-columns: minmax(310px, 0.92fr) minmax(0, 1.08fr);
  }

  .student-toolkit__copy {
    padding: 2.25rem;
  }

  .student-toolkit__media {
    padding-left: 0;
  }

  .student-moments__panel {
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
  }

  .student-moments__flow {
    grid-template-columns: 1fr;
    gap: 0.7rem;
    padding: 2rem;
  }

  .student-moments__flow > div {
    min-height: 0;
  }

  .student-moments__flow > div > span {
    margin-bottom: 0.55rem;
  }

  .student-moments__flow > svg {
    transform: rotate(90deg);
    margin-inline: auto;
  }
}

@media (max-width: 820px) {
  .student-phase-band .gl-container {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .student-phase-band__intro {
    position: static;
  }

  .student-phase-band__intro h2 {
    max-width: 16ch;
  }

  .student-toolkit__stage,
  .student-toolkit__panel {
    min-height: 0;
  }

  .student-toolkit__panel {
    grid-template-columns: 1fr;
  }

  .student-toolkit__copy {
    order: 1;
    padding: 2rem 2rem 5.75rem;
  }

  .student-toolkit__title {
    max-width: 20ch;
  }

  .student-toolkit__media {
    order: 0;
    min-height: 350px;
    padding: 1.5rem 1.5rem 0;
  }

  .student-toolkit__media img {
    max-height: 330px;
  }

  .student-moments__panel {
    grid-template-columns: 1fr;
  }

  .student-moments__intro {
    border-right: 0;
    border-bottom: 1px solid var(--student-border);
  }

  .student-moments__flow {
    grid-template-columns: 1fr auto 1fr auto 1fr;
  }

  .student-moments__flow > div {
    min-height: 150px;
  }

  .student-moments__flow > div > span {
    margin-bottom: 1rem;
  }

  .student-moments__flow > svg {
    transform: none;
  }
}

@media (max-width: 640px) {
  .student-phase-band {
    padding-block: 3.75rem;
  }

  .student-phase-band__intro h2 {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .student-phase-band__grid {
    display: flex;
    width: calc(100vw - 1.5rem);
    margin-right: -1.5rem;
    padding-right: 1.5rem;
    gap: 0.8rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .student-phase-band__grid::-webkit-scrollbar {
    display: none;
  }

  .student-phase-band__grid article {
    flex: 0 0 min(82vw, 310px);
    min-height: 210px;
    scroll-snap-align: start;
  }

  .student-toolkit-section,
  .student-moments-section,
  .student-faq-section {
    padding-block: 4.25rem;
  }

  .student-toolkit__tabs,
  .student-moments__tabs {
    width: calc(100vw - 1.5rem);
    min-width: 0;
    margin-right: -1.5rem;
    padding-right: 1.5rem;
    justify-content: flex-start;
  }

  .student-toolkit__tab {
    flex: 0 0 auto;
    min-width: 108px;
    height: 44px;
  }

  .student-toolkit__stage {
    border-radius: 22px;
  }

  .student-toolkit__media {
    min-height: 250px;
    padding: 0.8rem 0.8rem 0;
  }

  .student-toolkit__media img {
    max-height: 240px;
    border-radius: 12px;
  }

  .student-toolkit__copy {
    padding: 1.5rem 1.35rem 5.3rem;
  }

  .student-toolkit__meta {
    flex-wrap: wrap;
    font-size: 0.62rem;
  }

  .student-toolkit__title {
    max-width: 16ch;
    font-size: clamp(1.85rem, 9vw, 2.5rem);
  }

  .student-toolkit__description {
    font-size: 0.98rem;
  }

  .student-toolkit__context {
    font-size: 0.8rem;
  }

  .student-toolkit__point span {
    font-size: 0.84rem;
  }

  .student-toolkit__controls {
    right: 1.15rem;
    bottom: 1.1rem;
  }

  .student-carousel-controls button {
    width: 39px;
    height: 39px;
  }

  .student-moments__tabs button {
    height: 43px;
  }

  .student-moments__panel {
    border-radius: 20px;
  }

  .student-moments__intro {
    padding: 1.6rem 1.35rem;
  }

  .student-moments__icon {
    top: 1.5rem;
    right: 1.35rem;
    width: 2rem;
    height: 2rem;
  }

  .student-moments__intro h3 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
  }

  .student-moments__flow {
    grid-template-columns: 1fr;
    padding: 1.35rem;
  }

  .student-moments__flow > div {
    min-height: 0;
    padding: 1.1rem;
  }

  .student-moments__flow > div > span {
    margin-bottom: 0.5rem;
  }

  .student-moments__flow > svg {
    transform: rotate(90deg);
  }

  .student-principle-section .gl-quote {
    padding-inline: 0.25rem;
  }
}

/* Student toolkit React visual stage — preserve frame sizes with premium depth */
.student-glow-page .student-toolkit__media {
  --student-tool-image-padding: clamp(0.75rem, 1.5vw, 1.25rem);
  align-self: stretch;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
  padding: var(--student-tool-image-padding);
  overflow: hidden;
  border-left: 1px solid hsl(var(--border) / 0.65);
  background:
    radial-gradient(ellipse 80% 70% at 50% 0%, rgb(var(--tool-rgb) / 0.14), transparent 62%),
    hsl(var(--card) / 0.6);
  container-type: size;
}

.student-glow-page .student-toolkit__image-frame {
  display: flex;
  width: min(100cqw, calc(100cqh * 1.5));
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow:
    0 24px 48px -20px rgb(var(--tool-rgb) / 0.32),
    0 0 0 1px hsl(var(--border) / 0.45);
}

.student-glow-page .student-toolkit__image-frame .stk-visual-frame,
.student-glow-page .student-toolkit__image-frame .ms-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
}

/* Legacy PNG tabs (Forge / Hive) */
.student-glow-page .student-toolkit__media img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  border: 0;
  border-radius: inherit;
}

.student-glow-page .student-toolkit-section .gl-container--student-wide {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

.student-glow-page .student-toolkit-section .gl-section-head {
  padding-inline: 1.5rem;
}

.student-glow-page .student-toolkit {
  width: 100%;
}

.student-glow-page .student-toolkit__tabs {
  padding-inline: clamp(1rem, 2.5vw, 3rem);
}

.student-glow-page .student-toolkit__stage {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.student-glow-page .student-phase-band__grid article {
  border-color: hsl(var(--border) / 0.7);
  box-shadow:
    0 12px 32px -18px rgb(var(--tool-rgb, 124 58 237) / 0.22),
    inset 0 1px 0 hsl(var(--foreground) / 0.04);
}

.student-glow-page .student-moments__panel,
.student-glow-page .student-moments__flow > div {
  box-shadow: 0 16px 40px -24px hsl(var(--foreground) / 0.12);
}

@media (min-width: 821px) {
  .student-glow-page .student-toolkit__stage,
  .student-glow-page .student-toolkit__panel {
    height: 740px;
    min-height: 740px;
    max-height: 740px;
  }

  .student-glow-page .student-toolkit__media {
    height: 100%;
  }

  .student-glow-page .student-toolkit__panel {
    grid-template-columns: minmax(420px, 32%) minmax(0, 68%);
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
  }

  .student-glow-page .student-toolkit__copy {
    width: min(100%, 620px);
    min-height: 0;
    padding-block: 3rem;
    justify-self: end;
  }
}

@media (max-width: 820px) {
  .student-glow-page .student-toolkit__media {
    width: 100%;
    height: 350px;
    min-height: 350px;
    border-left: 0;
    border-bottom: 1px solid hsl(var(--border));
  }
}

@media (max-width: 640px) {
  .student-glow-page .student-toolkit__media {
    --student-tool-image-padding: 0.875rem;
    height: 250px;
    min-height: 250px;
  }

  .student-glow-page .student-toolkit__image-frame {
    border-radius: 14px;
  }
}

/* ── Glow quote (above FAQ) ── */
.glow-quote-section {
  position: relative;
  padding: clamp(4.5rem, 10vh, 7rem) 1.5rem;
  background:
    radial-gradient(ellipse 55% 45% at 98% 4%, hsl(198 62% 88% / 0.42), transparent 58%),
    radial-gradient(ellipse 50% 40% at 2% 96%, hsl(198 58% 90% / 0.35), transparent 55%),
    radial-gradient(ellipse 42% 32% at 96% 92%, hsl(291 42% 91% / 0.28), transparent 50%),
    hsl(var(--background));
}

html[data-theme="dark"] .glow-quote-section {
  background:
    radial-gradient(ellipse 55% 45% at 98% 4%, hsl(198 45% 24% / 0.35), transparent 58%),
    radial-gradient(ellipse 50% 40% at 2% 96%, hsl(198 40% 22% / 0.28), transparent 55%),
    radial-gradient(ellipse 42% 32% at 96% 92%, hsl(291 35% 24% / 0.22), transparent 50%),
    hsl(var(--background));
}

.glow-quote-section__inner {
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
}

.glow-quote {
  position: relative;
  margin: 0;
  padding-left: clamp(2.75rem, 7vw, 5rem);
}

.glow-quote__mark {
  position: absolute;
  left: 0;
  top: -0.12em;
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif;
  font-size: clamp(5.5rem, 15vw, 9.5rem);
  font-weight: 400;
  line-height: 0.85;
  color: hsl(198 68% 72% / 0.42);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

html[data-theme="dark"] .glow-quote__mark {
  color: hsl(190 55% 48% / 0.28);
}

.glow-quote__eyebrow {
  display: block;
  position: relative;
  z-index: 1;
  margin-bottom: 1.15rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: hsl(198 75% 42%);
}

html[data-theme="dark"] .glow-quote__eyebrow {
  color: hsl(190 85% 58%);
}

.glow-quote__text {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 44rem;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.65rem, 3.15vw, 2.35rem);
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: -0.022em;
  color: hsl(var(--foreground));
  text-wrap: pretty;
}

.glow-quote__text .glow-gradient-word {
  font-size: 1.05em;
}

.glow-quote__cite {
  position: relative;
  z-index: 1;
  margin-top: 1.85rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.88);
}

@media (max-width: 640px) {
  .glow-quote {
    padding-left: clamp(2rem, 10vw, 2.75rem);
  }

  .glow-quote__mark {
    font-size: clamp(4rem, 18vw, 5.5rem);
  }

  .glow-quote__text {
    font-size: clamp(1.35rem, 5.5vw, 1.65rem);
    line-height: 1.38;
  }
}

/* ---------------------------------------------------------------- */
/* Audience hero — centered layout, no side animation panel.         */
/* ---------------------------------------------------------------- */
.glow-hero--audience .glow-hero__shell {
  justify-content: center;
}

.glow-hero--audience .glow-hero__grid {
  text-align: center;
}

.glow-hero--audience .glow-hero__badge {
  display: flex;
  justify-content: center;
}

.glow-hero--audience .glow-hero__actions {
  justify-content: center;
}

.glow-hero--audience .glow-hero__copy {
  margin-inline: auto;
}

@media (min-width: 1024px) {
  .glow-hero--audience .glow-hero__grid {
    max-width: 46rem;
    margin-inline: auto;
  }
}

/* ---------------------------------------------------------------- */
/* Audience accent tokens — Helios (default), Atlas, Sentinel        */
/* Same hue family as --glow-accent/--glow-neon/--glow-plasma, only  */
/* two new hues (Atlas cyan-teal, Sentinel red-orange) are added.    */
/* ---------------------------------------------------------------- */
.glow-page {
  --glow-audience-accent: var(--glow-neon);
}

.glow-page[data-audience="atlas"],
.glow-hero--atlas {
  --glow-audience-accent: hsl(var(--rq-atlas-accent));
}

.glow-page[data-audience="sentinel"],
.glow-hero--sentinel {
  --glow-audience-accent: hsl(var(--rq-sentinel-accent));
}

.glow-page[data-audience="helios"],
.glow-hero--helios {
  --glow-audience-accent: hsl(262 78% 46%);
}

html[data-theme="dark"] .glow-page[data-audience="helios"],
html[data-theme="dark"] .glow-hero--helios {
  --glow-audience-accent: hsl(262 90% 66%);
}

/* ---------------------------------------------------------------- */
/* Ecosystem spine — homepage "Intelligence suite" connector diagram */
/* Static gradient connector, not the rotating aurora conic gradient */
/* ---------------------------------------------------------------- */
.glow-ecosystem-spine {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  margin: 0 auto 2.75rem;
  max-width: 44rem;
  padding-top: 0.5rem;
}

.glow-ecosystem-spine__core {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--card) / 0.9);
  backdrop-filter: blur(6px);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.glow-ecosystem-spine__line {
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 0.3rem;
  height: 2px;
  background-image: var(--glow-gradient-brand);
  opacity: 0.5;
}

.glow-ecosystem-spine__row {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 0 8%;
}

.glow-ecosystem-spine__node {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--glow-node-color, var(--glow-accent));
  box-shadow: 0 0 0 4px hsl(var(--background)), 0 0 12px 2px var(--glow-node-color, var(--glow-accent));
}

.glow-ecosystem-spine__node--helios {
  --glow-node-color: hsl(262 78% 46%);
}

.glow-ecosystem-spine__node--atlas {
  --glow-node-color: hsl(var(--rq-atlas-accent));
}

.glow-ecosystem-spine__node--sentinel {
  --glow-node-color: hsl(var(--rq-sentinel-accent));
}

html[data-theme="dark"] .glow-ecosystem-spine__node--helios {
  --glow-node-color: hsl(262 90% 66%);
}

@media (max-width: 640px) {
  .glow-ecosystem-spine__line {
    display: none;
  }

  .glow-ecosystem-spine__row {
    display: none;
  }
}

/* ── Shared marketing glow shell ── */
.marketing-glow-shell {
  position: relative;
  isolation: isolate;
}

.marketing-glow-shell__grid {
  opacity: 0.55;
}

.marketing-glow-shell__wash {
  background:
    radial-gradient(ellipse 55% 42% at 8% 0%, hsl(262 72% 68% / 0.14), transparent 58%),
    radial-gradient(ellipse 48% 38% at 92% 8%, hsl(198 68% 62% / 0.12), transparent 55%),
    radial-gradient(ellipse 40% 32% at 50% 100%, hsl(291 52% 68% / 0.08), transparent 52%);
}

html[data-theme="dark"] .marketing-glow-shell__wash {
  background:
    radial-gradient(ellipse 55% 42% at 8% 0%, hsl(262 55% 42% / 0.22), transparent 58%),
    radial-gradient(ellipse 48% 38% at 92% 8%, hsl(198 48% 38% / 0.18), transparent 55%),
    radial-gradient(ellipse 40% 32% at 50% 100%, hsl(291 42% 38% / 0.12), transparent 52%);
}

/* ── Feature accent visual (replaces screenshots) ── */
.mkt-feature-accent {
  position: relative;
  width: 100%;
  min-height: clamp(280px, 32vw, 380px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.mkt-feature-accent__glow {
  position: absolute;
  inset: 8% 12%;
  border-radius: 28px;
  background: radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--mkt-accent) 28%, transparent), transparent 68%);
  filter: blur(28px);
  opacity: 0.75;
}

.mkt-feature-accent__card {
  position: relative;
  z-index: 1;
  width: min(100%, 22rem);
  padding: clamp(1.5rem, 3vw, 2rem);
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--mkt-accent) 28%, hsl(var(--border)));
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--mkt-accent) 10%, hsl(var(--card))), hsl(var(--card) / 0.88));
  box-shadow:
    0 24px 48px -24px color-mix(in srgb, var(--mkt-accent) 45%, transparent),
    inset 0 1px 0 hsl(var(--foreground) / 0.05);
}

.mkt-feature-accent__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  color: var(--mkt-accent);
  background: color-mix(in srgb, var(--mkt-accent) 14%, transparent);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.06);
}

.mkt-feature-accent__icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.mkt-feature-accent__label {
  margin-top: 1rem;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.mkt-feature-accent__points {
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.mkt-feature-accent__points li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

.mkt-feature-accent__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 999px;
  background: var(--mkt-accent);
}

/* ── Disabled nav link (Pricing coming soon) ── */
.mkt-nav-link--disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ── Resource page hero glow variant ── */
.mkt-page-hero--glow {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, 8vh, 5.5rem);
}

.mkt-page-hero--glow .mkt-page-hero__wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 45% at 12% 20%, hsl(262 72% 68% / 0.16), transparent 58%),
    radial-gradient(ellipse 42% 38% at 88% 12%, hsl(198 68% 62% / 0.12), transparent 55%);
}

html[data-theme="dark"] .mkt-page-hero--glow .mkt-page-hero__wash {
  background:
    radial-gradient(ellipse 50% 45% at 12% 20%, hsl(262 55% 42% / 0.24), transparent 58%),
    radial-gradient(ellipse 42% 38% at 88% 12%, hsl(198 48% 38% / 0.18), transparent 55%);
}

.mkt-page-hero--glow > *:not(.mkt-page-hero__wash) {
  position: relative;
  z-index: 1;
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-sans); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: var(--font-mono); /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
  display: none;
}
  * {
  border-color: hsl(var(--border));
}

  html {
    scroll-behavior: smooth;
  }

  body {
  background-color: hsl(var(--background));
  font-family: var(--font-sans);
  color: hsl(var(--foreground));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    transition: background-color 0.3s ease, color 0.2s ease;
}

  h1 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 2.5rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  h2 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 2rem;
    letter-spacing: -0.015em;
    line-height: 1.25;
  }

  h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
    line-height: 1.3;
  }

  h4 {
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  h5, h6 {
    font-family: var(--font-heading);
    font-weight: 500;
    letter-spacing: -0.01em;
  }

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .container {
    max-width: 1400px;
  }
}
.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}
.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}
.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}
.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}
.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}
.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}
.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}
.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}
.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}
.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}
.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}
.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}
.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}
.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}
.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}
.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}
.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}
.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}
.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}
.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}
.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}
.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}
.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}
.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}
.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}
.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}
.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}
.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}
.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}
.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}
.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}
.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}
.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}
.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}
.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}
.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}
.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}
.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}
.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}
.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}
.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}
.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}
.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}
.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}
.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}
.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}
.prose-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}
.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}
.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}
.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}
.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}
.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}
.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}
.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}
.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
}
.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}
.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}
.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}
.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}
.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}
.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}
.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}
.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}
.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}
.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}
.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}
.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.5;
}
.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}
.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}
.prose-invert {
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-1 {
  inset: -0.25rem;
}
.inset-0 {
  inset: 0px;
}
.inset-8 {
  inset: 2rem;
}
.inset-\[1px\] {
  inset: 1px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-2 {
  bottom: -0.5rem;
}
.-bottom-px {
  bottom: -1px;
}
.-right-1 {
  right: -0.25rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-20 {
  right: -5rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-20 {
  top: -5rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-20 {
  bottom: 5rem;
}
.bottom-24 {
  bottom: 6rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-40 {
  bottom: 10rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-\[-120px\] {
  bottom: -120px;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/4 {
  left: 25%;
}
.left-10 {
  left: 2.5rem;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-\[-80px\] {
  left: -80px;
}
.left-\[-8rem\] {
  left: -8rem;
}
.left-\[50\%\] {
  left: 50%;
}
.left-auto {
  left: auto;
}
.right-0 {
  right: 0px;
}
.right-1\/4 {
  right: 25%;
}
.right-2 {
  right: 0.5rem;
}
.right-20 {
  right: 5rem;
}
.right-4 {
  right: 1rem;
}
.right-\[-80px\] {
  right: -80px;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-1\/4 {
  top: 25%;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-20 {
  top: 5rem;
}
.top-24 {
  top: 6rem;
}
.top-4 {
  top: 1rem;
}
.top-40 {
  top: 10rem;
}
.top-\[-80px\] {
  top: -80px;
}
.top-\[-8rem\] {
  top: -8rem;
}
.top-\[50\%\] {
  top: 50%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.z-30 {
  z-index: 30;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[65\] {
  z-index: 65;
}
.z-\[70\] {
  z-index: 70;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-full {
  grid-column: 1 / -1;
}
.m-0 {
  margin: 0px;
}
.m-1 {
  margin: 0.25rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.\!block {
  display: block !important;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-1 {
  width: 0.25rem;
  height: 0.25rem;
}
.size-1\.5 {
  width: 0.375rem;
  height: 0.375rem;
}
.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}
.size-2 {
  width: 0.5rem;
  height: 0.5rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-52 {
  height: 13rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[1\.125rem\] {
  height: 1.125rem;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[450px\] {
  height: 450px;
}
.h-\[520px\] {
  height: 520px;
}
.h-\[600px\] {
  height: 600px;
}
.h-\[60vh\] {
  height: 60vh;
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-24 {
  max-height: 6rem;
}
.max-h-44 {
  max-height: 11rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[--radix-context-menu-content-available-height\] {
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\] {
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[24rem\] {
  max-height: 24rem;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[520px\] {
  max-height: 520px;
}
.max-h-\[58vh\] {
  max-height: 58vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[74vh\] {
  max-height: 74vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[min\(78dvh\2c calc\(100dvh-240px\)\)\] {
  max-height: min(78dvh,calc(100dvh - 240px));
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-full {
  max-height: 100%;
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-10 {
  min-height: 2.5rem;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-28 {
  min-height: 7rem;
}
.min-h-8 {
  min-height: 2rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[360px\] {
  min-height: 360px;
}
.min-h-\[520px\] {
  min-height: 520px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[70vh\] {
  min-height: 70vh;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[90px\] {
  min-height: 90px;
}
.min-h-\[96px\] {
  min-height: 96px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[1\.125rem\] {
  width: 1.125rem;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[34px\] {
  width: 34px;
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.w-\[min\(100vw-2rem\2c 320px\)\] {
  width: min(100vw - 2rem,320px);
}
.w-\[min\(96vw\2c 1040px\)\] {
  width: min(96vw,1040px);
}
.w-\[min\(96vw\2c 1100px\)\] {
  width: min(96vw,1100px);
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-10 {
  min-width: 2.5rem;
}
.min-w-11 {
  min-width: 2.75rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[190px\] {
  min-width: 190px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[300px\] {
  min-width: 300px;
}
.min-w-\[520px\] {
  min-width: 520px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[34ch\] {
  max-width: 34ch;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[780px\] {
  max-width: 780px;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.max-w-\[95\%\] {
  max-width: 95%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-screen-xl {
  max-width: 1280px;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.caption-bottom {
  caption-side: bottom;
}
.origin-\[--radix-context-menu-content-transform-origin\] {
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\] {
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\] {
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\] {
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes fade-up {

  0% {
    opacity: 0;
    transform: translateY(12px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-fade-up {
  animation: fade-up 0.4s ease-out forwards;
}
@keyframes float {

  0%, 100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }
}
.animate-float {
  animation: float 4s ease-in-out infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-glow {

  0%, 100% {
    opacity: 0.7;
    transform: scale(1);
    box-shadow: 0 0 16px hsl(var(--primary) / 0.2);
  }

  50% {
    opacity: 1;
    transform: scale(1.03);
    box-shadow: 0 0 32px hsl(var(--primary) / 0.35);
  }
}
.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-help {
  cursor: help;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-stretch {
  justify-content: stretch;
}
.justify-items-center {
  justify-items: center;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-16 {
  gap: 4rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-border\/20 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.2);
}
.divide-border\/30 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.3);
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1.5rem;
}
.rounded-3xl {
  border-radius: 2rem;
}
.rounded-\[1\.1rem\] {
  border-radius: 1.1rem;
}
.rounded-\[1\.25rem\] {
  border-radius: 1.25rem;
}
.rounded-\[1\.35rem\] {
  border-radius: 1.35rem;
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[1\.75rem\] {
  border-radius: 1.75rem;
}
.rounded-\[1\.8rem\] {
  border-radius: 1.8rem;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[26px\] {
  border-radius: 26px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-\[32px\] {
  border-radius: 32px;
}
.rounded-\[34px\] {
  border-radius: 34px;
}
.rounded-\[9px\] {
  border-radius: 9px;
}
.rounded-\[calc\(1\.8rem-1px\)\] {
  border-radius: calc(1.8rem - 1px);
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 1rem;
}
.rounded-md {
  border-radius: 0.75rem;
}
.rounded-sm {
  border-radius: 0.5rem;
}
.rounded-xl {
  border-radius: 1.25rem;
}
.rounded-t-md {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.rounded-bl-md {
  border-bottom-left-radius: 0.75rem;
}
.rounded-br-md {
  border-bottom-right-radius: 0.75rem;
}
.rounded-tl-sm {
  border-top-left-radius: 0.5rem;
}
.rounded-tr-sm {
  border-top-right-radius: 0.5rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.border-\[color\:var\(--border\)\] {
  border-color: var(--border);
}
.border-\[hsl\(var\(--glass-border\)\)\] {
  border-color: hsl(var(--glass-border));
}
.border-accent\/20 {
  border-color: hsl(var(--accent) / 0.2);
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity));
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity));
}
.border-amber-300\/20 {
  border-color: rgb(252 211 77 / 0.2);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-400\/40 {
  border-color: rgb(251 191 36 / 0.4);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-800\/40 {
  border-color: rgb(146 64 14 / 0.4);
}
.border-black\/10 {
  border-color: rgb(0 0 0 / 0.1);
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity));
}
.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity));
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-800\/30 {
  border-color: rgb(30 64 175 / 0.3);
}
.border-blue-800\/40 {
  border-color: rgb(30 64 175 / 0.4);
}
.border-border {
  border-color: hsl(var(--border));
}
.border-border\/20 {
  border-color: hsl(var(--border) / 0.2);
}
.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/55 {
  border-color: hsl(var(--border) / 0.55);
}
.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
  border-color: hsl(var(--border) / 0.7);
}
.border-cyan-300 {
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity));
}
.border-cyan-500\/20 {
  border-color: rgb(6 182 212 / 0.2);
}
.border-destructive {
  border-color: hsl(var(--destructive));
}
.border-destructive\/20 {
  border-color: hsl(var(--destructive) / 0.2);
}
.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}
.border-destructive\/80 {
  border-color: hsl(var(--destructive) / 0.8);
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity));
}
.border-emerald-400\/20 {
  border-color: rgb(52 211 153 / 0.2);
}
.border-emerald-400\/40 {
  border-color: rgb(52 211 153 / 0.4);
}
.border-emerald-500\/20 {
  border-color: rgb(16 185 129 / 0.2);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-emerald-800\/40 {
  border-color: rgb(6 95 70 / 0.4);
}
.border-fuchsia-300 {
  --tw-border-opacity: 1;
  border-color: rgb(240 171 252 / var(--tw-border-opacity));
}
.border-fuchsia-500\/20 {
  border-color: rgb(217 70 239 / 0.2);
}
.border-green-500\/20 {
  border-color: rgb(34 197 94 / 0.2);
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-indigo-500\/20 {
  border-color: rgb(99 102 241 / 0.2);
}
.border-input {
  border-color: hsl(var(--input));
}
.border-muted {
  border-color: hsl(var(--muted));
}
.border-neutral-100 {
  --tw-border-opacity: 1;
  border-color: rgb(245 245 245 / var(--tw-border-opacity));
}
.border-neutral-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity));
}
.border-orange-500\/20 {
  border-color: rgb(249 115 22 / 0.2);
}
.border-orange-800\/40 {
  border-color: rgb(154 52 18 / 0.4);
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-primary\/10 {
  border-color: hsl(var(--primary) / 0.1);
}
.border-primary\/15 {
  border-color: hsl(var(--primary) / 0.15);
}
.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/25 {
  border-color: hsl(var(--primary) / 0.25);
}
.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/35 {
  border-color: hsl(var(--primary) / 0.35);
}
.border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}
.border-primary\/80 {
  border-color: hsl(var(--primary) / 0.8);
}
.border-purple-300 {
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity));
}
.border-purple-300\/60 {
  border-color: rgb(216 180 254 / 0.6);
}
.border-purple-400\/40 {
  border-color: rgb(192 132 252 / 0.4);
}
.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}
.border-purple-500\/70 {
  border-color: rgb(168 85 247 / 0.7);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity));
}
.border-red-400\/30 {
  border-color: rgb(248 113 113 / 0.3);
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-800\/40 {
  border-color: rgb(153 27 27 / 0.4);
}
.border-rose-400\/40 {
  border-color: rgb(251 113 133 / 0.4);
}
.border-rose-500\/20 {
  border-color: rgb(244 63 94 / 0.2);
}
.border-rose-500\/30 {
  border-color: rgb(244 63 94 / 0.3);
}
.border-sky-400\/40 {
  border-color: rgb(56 189 248 / 0.4);
}
.border-sky-500\/20 {
  border-color: rgb(14 165 233 / 0.2);
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
}
.border-slate-600\/40 {
  border-color: rgb(71 85 105 / 0.4);
}
.border-slate-700\/40 {
  border-color: rgb(51 65 85 / 0.4);
}
.border-transparent {
  border-color: transparent;
}
.border-violet-300 {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity));
}
.border-violet-500\/20 {
  border-color: rgb(139 92 246 / 0.2);
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/90 {
  border-color: rgb(255 255 255 / 0.9);
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-t-primary {
  border-top-color: hsl(var(--primary));
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#dbeafe\] {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity));
}
.bg-\[\#dcfce7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity));
}
.bg-\[\#ffedd5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity));
}
.bg-\[color\:var\(--card-bg\)\] {
  background-color: var(--card-bg);
}
.bg-\[color\:var\(--surface-2\)\] {
  background-color: var(--surface-2);
}
.bg-\[hsl\(var\(--card\)\/0\.92\)\] {
  background-color: hsl(var(--card)/0.92);
}
.bg-\[hsl\(var\(--glass-bg\)\)\] {
  background-color: hsl(var(--glass-bg));
}
.bg-\[hsl\(var\(--muted\)\/0\.35\)\] {
  background-color: hsl(var(--muted)/0.35);
}
.bg-\[hsl\(var\(--muted\)\/0\.4\)\] {
  background-color: hsl(var(--muted)/0.4);
}
.bg-\[hsl\(var\(--muted\)\/0\.55\)\] {
  background-color: hsl(var(--muted)/0.55);
}
.bg-\[rgba\(10\2c 8\2c 18\2c 0\.42\)\] {
  background-color: rgba(10,8,18,0.42);
}
.bg-\[rgba\(10\2c 8\2c 18\2c 0\.58\)\] {
  background-color: rgba(10,8,18,0.58);
}
.bg-\[rgba\(244\2c 241\2c 255\2c 0\.44\)\] {
  background-color: rgba(244,241,255,0.44);
}
.bg-\[rgba\(244\2c 241\2c 255\2c 0\.60\)\] {
  background-color: rgba(244,241,255,0.60);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.03\)\] {
  background-color: rgba(255,255,255,0.03);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
}
.bg-amber-300\/10 {
  background-color: rgb(252 211 77 / 0.1);
}
.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/60 {
  background-color: rgb(245 158 11 / 0.6);
}
.bg-amber-950\/40 {
  background-color: rgb(69 26 3 / 0.4);
}
.bg-amber-950\/50 {
  background-color: rgb(69 26 3 / 0.5);
}
.bg-amber-950\/60 {
  background-color: rgb(69 26 3 / 0.6);
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/20 {
  background-color: hsl(var(--background) / 0.2);
}
.bg-background\/30 {
  background-color: hsl(var(--background) / 0.3);
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/45 {
  background-color: hsl(var(--background) / 0.45);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/55 {
  background-color: hsl(var(--background) / 0.55);
}
.bg-background\/60 {
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/65 {
  background-color: hsl(var(--background) / 0.65);
}
.bg-background\/70 {
  background-color: hsl(var(--background) / 0.7);
}
.bg-background\/75 {
  background-color: hsl(var(--background) / 0.75);
}
.bg-background\/80 {
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/85 {
  background-color: hsl(var(--background) / 0.85);
}
.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/\[0\.03\] {
  background-color: rgb(0 0 0 / 0.03);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/15 {
  background-color: rgb(59 130 246 / 0.15);
}
.bg-blue-500\/60 {
  background-color: rgb(59 130 246 / 0.6);
}
.bg-blue-950\/30 {
  background-color: rgb(23 37 84 / 0.3);
}
.bg-blue-950\/50 {
  background-color: rgb(23 37 84 / 0.5);
}
.bg-blue-950\/60 {
  background-color: rgb(23 37 84 / 0.6);
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/70 {
  background-color: hsl(var(--card) / 0.7);
}
.bg-card\/75 {
  background-color: hsl(var(--card) / 0.75);
}
.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}
.bg-card\/95 {
  background-color: hsl(var(--card) / 0.95);
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity));
}
.bg-cyan-500\/10 {
  background-color: rgb(6 182 212 / 0.1);
}
.bg-destructive {
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/5 {
  background-color: hsl(var(--destructive) / 0.05);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity));
}
.bg-emerald-400\/10 {
  background-color: rgb(52 211 153 / 0.1);
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-500\/60 {
  background-color: rgb(16 185 129 / 0.6);
}
.bg-emerald-950\/40 {
  background-color: rgb(2 44 34 / 0.4);
}
.bg-emerald-950\/50 {
  background-color: rgb(2 44 34 / 0.5);
}
.bg-emerald-950\/60 {
  background-color: rgb(2 44 34 / 0.6);
}
.bg-foreground\/10 {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-fuchsia-400\/20 {
  background-color: rgb(232 121 249 / 0.2);
}
.bg-fuchsia-500\/10 {
  background-color: rgb(217 70 239 / 0.1);
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity));
}
.bg-indigo-600\/20 {
  background-color: rgb(79 70 229 / 0.2);
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/40 {
  background-color: hsl(var(--muted-foreground) / 0.4);
}
.bg-muted\/10 {
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/5 {
  background-color: hsl(var(--muted) / 0.05);
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}
.bg-muted\/70 {
  background-color: hsl(var(--muted) / 0.7);
}
.bg-neutral-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
}
.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-950\/50 {
  background-color: rgb(67 20 7 / 0.5);
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/30 {
  background-color: hsl(var(--primary) / 0.3);
}
.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/60 {
  background-color: hsl(var(--primary) / 0.6);
}
.bg-primary\/70 {
  background-color: hsl(var(--primary) / 0.7);
}
.bg-primary\/80 {
  background-color: hsl(var(--primary) / 0.8);
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity));
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-500\/60 {
  background-color: rgb(239 68 68 / 0.6);
}
.bg-red-950\/50 {
  background-color: rgb(69 10 10 / 0.5);
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/15 {
  background-color: rgb(244 63 94 / 0.15);
}
.bg-rose-500\/5 {
  background-color: rgb(244 63 94 / 0.05);
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-sky-400\/10 {
  background-color: rgb(56 189 248 / 0.1);
}
.bg-sky-500\/10 {
  background-color: rgb(14 165 233 / 0.1);
}
.bg-slate-700\/60 {
  background-color: rgb(51 65 85 / 0.6);
}
.bg-slate-800\/50 {
  background-color: rgb(30 41 59 / 0.5);
}
.bg-slate-800\/60 {
  background-color: rgb(30 41 59 / 0.6);
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity));
}
.bg-slate-900\/50 {
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-950\/90 {
  background-color: rgb(2 6 23 / 0.9);
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity));
}
.bg-teal-500\/10 {
  background-color: rgb(20 184 166 / 0.1);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity));
}
.bg-violet-500\/15 {
  background-color: rgb(139 92 246 / 0.15);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}
.bg-\[linear-gradient\(135deg\2c rgba\(56\2c 189\2c 248\2c 0\.95\)\2c rgba\(168\2c 85\2c 247\2c 0\.95\)\)\] {
  background-image: linear-gradient(135deg,rgba(56,189,248,0.95),rgba(168,85,247,0.95));
}
.bg-\[linear-gradient\(180deg\2c rgba\(23\2c 18\2c 38\2c 0\.96\)\2c rgba\(15\2c 12\2c 27\2c 0\.98\)\)\] {
  background-image: linear-gradient(180deg,rgba(23,18,38,0.96),rgba(15,12,27,0.98));
}
.bg-\[linear-gradient\(180deg\2c rgba\(255\2c 255\2c 255\2c 0\.92\)\2c rgba\(245\2c 241\2c 252\2c 0\.96\)\)\] {
  background-image: linear-gradient(180deg,rgba(255,255,255,0.92),rgba(245,241,252,0.96));
}
.bg-\[radial-gradient\(circle_at_30\%_18\%\2c rgba\(56\2c 189\2c 248\2c 0\.10\)\2c transparent_24\%\)\2c radial-gradient\(circle_at_72\%_20\%\2c rgba\(168\2c 85\2c 247\2c 0\.12\)\2c transparent_28\%\)\2c linear-gradient\(180deg\2c rgba\(255\2c 255\2c 255\2c 0\.06\)\2c rgba\(236\2c 233\2c 248\2c 0\.22\)\)\] {
  background-image: radial-gradient(circle at 30% 18%,rgba(56,189,248,0.10),transparent 24%),radial-gradient(circle at 72% 20%,rgba(168,85,247,0.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,0.06),rgba(236,233,248,0.22));
}
.bg-\[radial-gradient\(circle_at_30\%_18\%\2c rgba\(56\2c 189\2c 248\2c 0\.10\)\2c transparent_24\%\)\2c radial-gradient\(circle_at_72\%_20\%\2c rgba\(168\2c 85\2c 247\2c 0\.12\)\2c transparent_28\%\)\2c linear-gradient\(180deg\2c rgba\(255\2c 255\2c 255\2c 0\.12\)\2c rgba\(236\2c 233\2c 248\2c 0\.38\)\)\] {
  background-image: radial-gradient(circle at 30% 18%,rgba(56,189,248,0.10),transparent 24%),radial-gradient(circle at 72% 20%,rgba(168,85,247,0.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,0.12),rgba(236,233,248,0.38));
}
.bg-\[radial-gradient\(circle_at_30\%_18\%\2c rgba\(56\2c 189\2c 248\2c 0\.12\)\2c transparent_24\%\)\2c radial-gradient\(circle_at_72\%_20\%\2c rgba\(168\2c 85\2c 247\2c 0\.16\)\2c transparent_28\%\)\2c linear-gradient\(180deg\2c rgba\(8\2c 8\2c 16\2c 0\.10\)\2c rgba\(8\2c 8\2c 16\2c 0\.42\)\)\] {
  background-image: radial-gradient(circle at 30% 18%,rgba(56,189,248,0.12),transparent 24%),radial-gradient(circle at 72% 20%,rgba(168,85,247,0.16),transparent 28%),linear-gradient(180deg,rgba(8,8,16,0.10),rgba(8,8,16,0.42));
}
.bg-\[radial-gradient\(circle_at_30\%_18\%\2c rgba\(56\2c 189\2c 248\2c 0\.14\)\2c transparent_24\%\)\2c radial-gradient\(circle_at_72\%_20\%\2c rgba\(168\2c 85\2c 247\2c 0\.18\)\2c transparent_28\%\)\2c linear-gradient\(180deg\2c rgba\(8\2c 8\2c 16\2c 0\.04\)\2c rgba\(8\2c 8\2c 16\2c 0\.26\)\)\] {
  background-image: radial-gradient(circle at 30% 18%,rgba(56,189,248,0.14),transparent 24%),radial-gradient(circle at 72% 20%,rgba(168,85,247,0.18),transparent 28%),linear-gradient(180deg,rgba(8,8,16,0.04),rgba(8,8,16,0.26));
}
.bg-\[radial-gradient\(circle_at_top\2c _rgba\(88\2c 28\2c 135\2c 0\.18\)\2c _transparent_40\%\)\2c linear-gradient\(180deg\2c \#0b1020\2c \#120f1f\)\] {
  background-image: radial-gradient(circle at top, rgba(88,28,135,0.18), transparent 40%),linear-gradient(180deg,#0b1020,#120f1f);
}
.bg-\[radial-gradient\(circle_at_top_left\2c rgba\(34\2c 211\2c 238\2c 0\.18\)\2c transparent_30\%\)\2c radial-gradient\(circle_at_bottom_right\2c rgba\(168\2c 85\2c 247\2c 0\.16\)\2c transparent_40\%\)\2c linear-gradient\(135deg\2c rgba\(14\2c 116\2c 144\2c 0\.92\)\2c rgba\(91\2c 33\2c 182\2c 0\.88\)\2c rgba\(217\2c 70\2c 239\2c 0\.78\)\)\] {
  background-image: radial-gradient(circle at top left,rgba(34,211,238,0.18),transparent 30%),radial-gradient(circle at bottom right,rgba(168,85,247,0.16),transparent 40%),linear-gradient(135deg,rgba(14,116,144,0.92),rgba(91,33,182,0.88),rgba(217,70,239,0.78));
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[hsl\(190\2c 90\%\2c 50\%\)\] {
  --tw-gradient-from: hsl(190,90%,50%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(190 90% 50% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(222\2c 90\%\2c 63\%\)\] {
  --tw-gradient-from: hsl(222,90%,63%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(222 90% 63% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(262\2c 90\%\2c 66\%\)\] {
  --tw-gradient-from: hsl(262,90%,66%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(262 90% 66% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(291\2c 90\%\2c 62\%\)\] {
  --tw-gradient-from: hsl(291,90%,62%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(291 90% 62% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent {
  --tw-gradient-from: hsl(var(--accent)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/20 {
  --tw-gradient-from: rgb(245 158 11 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/20 {
  --tw-gradient-from: rgb(59 130 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-card {
  --tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-card\/20 {
  --tw-gradient-from: hsl(var(--card) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-400 {
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500 {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/20 {
  --tw-gradient-from: rgb(6 182 212 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/20 {
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500 {
  --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-950 {
  --tw-gradient-from: #030712 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted {
  --tw-gradient-from: hsl(var(--muted)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500 {
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/10 {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/5 {
  --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500 {
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/20 {
  --tw-gradient-from: rgb(244 63 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-secondary {
  --tw-gradient-from: hsl(var(--secondary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500 {
  --tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500 {
  --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/20 {
  --tw-gradient-from: rgb(139 92 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/0 {
  --tw-gradient-from: rgb(255 255 255 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/5 {
  --tw-gradient-from: rgb(255 255 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500 {
  --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[hsl\(262\2c 90\%\2c 66\%\)\] {
  --tw-gradient-to: hsl(262 90% 66% / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(262,90%,66%) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-card {
  --tw-gradient-to: hsl(var(--card) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-card\/10 {
  --tw-gradient-to: hsl(var(--card) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-400\/5 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-400\/5 {
  --tw-gradient-to: rgb(52 211 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(52 211 153 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-500 {
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-400\/5 {
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(167 139 250 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-500 {
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8b5cf6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[hsl\(190\2c 80\%\2c 60\%\)\] {
  --tw-gradient-to: hsl(190,80%,60%) var(--tw-gradient-to-position);
}
.to-\[hsl\(190\2c 85\%\2c 60\%\)\] {
  --tw-gradient-to: hsl(190,85%,60%) var(--tw-gradient-to-position);
}
.to-\[hsl\(222\2c 80\%\2c 72\%\)\] {
  --tw-gradient-to: hsl(222,80%,72%) var(--tw-gradient-to-position);
}
.to-\[hsl\(222\2c 85\%\2c 72\%\)\] {
  --tw-gradient-to: hsl(222,85%,72%) var(--tw-gradient-to-position);
}
.to-\[hsl\(262\2c 80\%\2c 75\%\)\] {
  --tw-gradient-to: hsl(262,80%,75%) var(--tw-gradient-to-position);
}
.to-\[hsl\(262\2c 85\%\2c 75\%\)\] {
  --tw-gradient-to: hsl(262,85%,75%) var(--tw-gradient-to-position);
}
.to-\[hsl\(291\2c 80\%\2c 72\%\)\] {
  --tw-gradient-to: hsl(291,80%,72%) var(--tw-gradient-to-position);
}
.to-\[hsl\(291\2c 85\%\2c 72\%\)\] {
  --tw-gradient-to: hsl(291,85%,72%) var(--tw-gradient-to-position);
}
.to-\[hsl\(291\2c 90\%\2c 62\%\)\] {
  --tw-gradient-to: hsl(291,90%,62%) var(--tw-gradient-to-position);
}
.to-accent {
  --tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position);
}
.to-accent\/10 {
  --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position);
}
.to-accent\/5 {
  --tw-gradient-to: hsl(var(--accent) / 0.05) var(--tw-gradient-to-position);
}
.to-accent\/70 {
  --tw-gradient-to: hsl(var(--accent) / 0.7) var(--tw-gradient-to-position);
}
.to-accent\/80 {
  --tw-gradient-to: hsl(var(--accent) / 0.8) var(--tw-gradient-to-position);
}
.to-amber-400 {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-amber-500\/5 {
  --tw-gradient-to: rgb(245 158 11 / 0.05) var(--tw-gradient-to-position);
}
.to-black\/60 {
  --tw-gradient-to: rgb(0 0 0 / 0.6) var(--tw-gradient-to-position);
}
.to-blue-500\/5 {
  --tw-gradient-to: rgb(59 130 246 / 0.05) var(--tw-gradient-to-position);
}
.to-cyan-500\/5 {
  --tw-gradient-to: rgb(6 182 212 / 0.05) var(--tw-gradient-to-position);
}
.to-emerald-400 {
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-500\/5 {
  --tw-gradient-to: rgb(16 185 129 / 0.05) var(--tw-gradient-to-position);
}
.to-fuchsia-500 {
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}
.to-gray-300 {
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
}
.to-indigo-500 {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-muted\/70 {
  --tw-gradient-to: hsl(var(--muted) / 0.7) var(--tw-gradient-to-position);
}
.to-primary\/10 {
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}
.to-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}
.to-primary\/70 {
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}
.to-primary\/80 {
  --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-400 {
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}
.to-rose-500\/5 {
  --tw-gradient-to: rgb(244 63 94 / 0.05) var(--tw-gradient-to-position);
}
.to-secondary\/70 {
  --tw-gradient-to: hsl(var(--secondary) / 0.7) var(--tw-gradient-to-position);
}
.to-teal-400 {
  --tw-gradient-to: #2dd4bf var(--tw-gradient-to-position);
}
.to-teal-500 {
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-500 {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-500\/5 {
  --tw-gradient-to: rgb(139 92 246 / 0.05) var(--tw-gradient-to-position);
}
.to-white\/0 {
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
}
.to-yellow-400 {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.fill-current {
  fill: currentColor;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[1px\] {
  padding: 1px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-16 {
  padding-right: 4rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-end {
  text-align: end;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.font-heading {
  font-family: var(--font-heading);
}
.font-mono {
  font-family: var(--font-mono);
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.66rem\] {
  font-size: 0.66rem;
}
.text-\[0\.68rem\] {
  font-size: 0.68rem;
}
.text-\[0\.72rem\] {
  font-size: 0.72rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[13\.5px\] {
  font-size: 13.5px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[2rem\] {
  font-size: 2rem;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-\[clamp\(2\.35rem\2c 10vw\2c 6\.25rem\)\] {
  font-size: clamp(2.35rem,10vw,6.25rem);
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-7 {
  line-height: 1.75rem;
}
.leading-8 {
  line-height: 2rem;
}
.leading-\[1\.85\] {
  line-height: 1.85;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.04em\] {
  letter-spacing: -0.04em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.24em\] {
  letter-spacing: 0.24em;
}
.tracking-\[0\.26em\] {
  letter-spacing: 0.26em;
}
.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.32em\] {
  letter-spacing: 0.32em;
}
.tracking-\[0\.34em\] {
  letter-spacing: 0.34em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#201a2e\] {
  --tw-text-opacity: 1;
  color: rgb(32 26 46 / var(--tw-text-opacity));
}
.text-\[\#2b2340\] {
  --tw-text-opacity: 1;
  color: rgb(43 35 64 / var(--tw-text-opacity));
}
.text-\[\#5f5575\] {
  --tw-text-opacity: 1;
  color: rgb(95 85 117 / var(--tw-text-opacity));
}
.text-\[\#6b5f85\] {
  --tw-text-opacity: 1;
  color: rgb(107 95 133 / var(--tw-text-opacity));
}
.text-accent {
  color: hsl(var(--accent));
}
.text-amber-100 {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity));
}
.text-amber-300\/90 {
  color: rgb(252 211 77 / 0.9);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity));
}
.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity));
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-current {
  color: currentColor;
}
.text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity));
}
.text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity));
}
.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity));
}
.text-destructive {
  color: hsl(var(--destructive));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity));
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/45 {
  color: hsl(var(--foreground) / 0.45);
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/55 {
  color: hsl(var(--foreground) / 0.55);
}
.text-foreground\/65 {
  color: hsl(var(--foreground) / 0.65);
}
.text-foreground\/75 {
  color: hsl(var(--foreground) / 0.75);
}
.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}
.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-300 {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity));
}
.text-fuchsia-300\/80 {
  color: rgb(240 171 252 / 0.8);
}
.text-fuchsia-700 {
  --tw-text-opacity: 1;
  color: rgb(162 28 175 / var(--tw-text-opacity));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}
.text-green-200 {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity));
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity));
}
.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity));
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-muted-foreground\/90 {
  color: hsl(var(--muted-foreground) / 0.9);
}
.text-neutral-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity));
}
.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity));
}
.text-neutral-500 {
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity));
}
.text-neutral-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 82 / var(--tw-text-opacity));
}
.text-neutral-700 {
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity));
}
.text-neutral-800 {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity));
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}
.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity));
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}
.text-primary\/70 {
  color: hsl(var(--primary) / 0.7);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity));
}
.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity));
}
.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity));
}
.text-red-100\/70 {
  color: rgb(254 226 226 / 0.7);
}
.text-red-100\/80 {
  color: rgb(254 226 226 / 0.8);
}
.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}
.text-rose-200 {
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity));
}
.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity));
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity));
}
.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
}
.text-teal-400 {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity));
}
.text-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity));
}
.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity));
}
.text-transparent {
  color: transparent;
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity));
}
.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity));
}
.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-65 {
  opacity: 0.65;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_hsl\(var\(--primary\)\)\] {
  --tw-shadow: 0 0 8px hsl(var(--primary));
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_24px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 10px 24px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_36px_rgba\(124\2c 58\2c 237\2c 0\.32\)\] {
  --tw-shadow: 0 12px 36px rgba(124,58,237,0.32);
  --tw-shadow-colored: 0 12px 36px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_16px_40px_rgba\(0\2c 0\2c 0\2c 0\.18\)\] {
  --tw-shadow: 0 16px 40px rgba(0,0,0,0.18);
  --tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_18px_42px_rgba\(124\2c 58\2c 237\2c 0\.30\)\] {
  --tw-shadow: 0 18px 42px rgba(124,58,237,0.30);
  --tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_80px_rgba\(0\2c 0\2c 0\2c 0\.20\)\] {
  --tw-shadow: 0 24px 80px rgba(0,0,0,0.20);
  --tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_80px_rgba\(0\2c 0\2c 0\2c 0\.45\)\] {
  --tw-shadow: 0 24px 80px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_80px_rgba\(15\2c 23\2c 42\2c 0\.24\)\] {
  --tw-shadow: 0 24px 80px rgba(15,23,42,0.24);
  --tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_28px_100px_rgba\(0\2c 0\2c 0\2c 0\.52\)\] {
  --tw-shadow: 0 28px 100px rgba(0,0,0,0.52);
  --tw-shadow-colored: 0 28px 100px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_28px_100px_rgba\(31\2c 24\2c 58\2c 0\.16\)\] {
  --tw-shadow: 0 28px 100px rgba(31,24,58,0.16);
  --tw-shadow-colored: 0 28px 100px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(190\2c 90\%\2c 50\%\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(190,90%,50%,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(222\2c 90\%\2c 63\%\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(222,90%,63%,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(262\2c 90\%\2c 66\%\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(262,90%,66%,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(291\2c 90\%\2c 62\%\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(291,90%,62%,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(var\(--accent\)\/0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(var(--accent)/0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_hsl\(var\(--primary\)\/0\.25\)\] {
  --tw-shadow: 0 4px 14px hsl(var(--primary)/0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(16\2c 185\2c 129\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px rgba(16,185,129,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(20\2c 184\2c 166\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px rgba(20,184,166,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(234\2c 179\2c 8\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px rgba(234,179,8,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(244\2c 63\2c 94\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px rgba(244,63,94,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(245\2c 158\2c 11\2c 0\.25\)\] {
  --tw-shadow: 0 4px 14px rgba(245,158,11,0.25);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_hsl\(190\2c 90\%\2c 50\%\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px hsl(190,90%,50%,0.3);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_hsl\(222\2c 90\%\2c 63\%\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px hsl(222,90%,63%,0.3);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_hsl\(262\2c 90\%\2c 66\%\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px hsl(262,90%,66%,0.3);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_hsl\(291\2c 90\%\2c 62\%\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px hsl(291,90%,62%,0.3);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft {
  --tw-shadow: 0 4px 16px -4px hsl(262 50% 10% / 0.10);
  --tw-shadow-colored: 0 4px 16px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft-lg {
  --tw-shadow: 0 8px 32px -8px hsl(262 50% 10% / 0.14);
  --tw-shadow-colored: 0 8px 32px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft-sm {
  --tw-shadow: 0 2px 8px -2px hsl(262 50% 10% / 0.08);
  --tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft-xl {
  --tw-shadow: 0 20px 48px -12px hsl(262 50% 10% / 0.16);
  --tw-shadow-colored: 0 20px 48px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft-xs {
  --tw-shadow: 0 1px 3px hsl(262 50% 10% / 0.06);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[var\(--shadow-soft\)\] {
  --tw-shadow-color: var(--shadow-soft);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-soft-lg\)\] {
  --tw-shadow-color: var(--shadow-soft-lg);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-soft-xl\)\] {
  --tw-shadow-color: var(--shadow-soft-xl);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-accent\/30 {
  --tw-shadow-color: hsl(var(--accent) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-muted\/30 {
  --tw-shadow-color: hsl(var(--muted) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/30 {
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-secondary\/30 {
  --tw-shadow-color: hsl(var(--secondary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-background {
  --tw-ring-color: hsl(var(--background));
}
.ring-indigo-500\/30 {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-lg {
  --tw-blur: blur(16px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-md {
  --tw-blur: blur(12px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-2xl {
  --tw-backdrop-blur: blur(32px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[6px\] {
  --tw-backdrop-blur: blur(6px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[var\(--glass-blur\)\] {
  --tw-backdrop-blur: blur(var(--glass-blur));
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.fade-in-80 {
  --tw-enter-opacity: 0.8;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.duration-150 {
  animation-duration: 150ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
.paused {
  animation-play-state: paused;
}
input[type="search"]::-webkit-search-cancel-button {
  display: none;
}
[contenteditable][data-placeholder]:empty::before {
    content: attr(data-placeholder);
    color: hsl(var(--muted-foreground));
    pointer-events: none;
  }
.border.toggle-elevate::before {
    inset: -1px;
  }
.hover-elevate:not(.no-default-hover-elevate),
  .active-elevate:not(.no-default-active-elevate),
  .hover-elevate-2:not(.no-default-hover-elevate),
  .active-elevate-2:not(.no-default-active-elevate) {
    position: relative;
    z-index: 0;
  }
.hover-elevate:not(.no-default-hover-elevate)::after,
  .active-elevate:not(.no-default-active-elevate)::after,
  .hover-elevate-2:not(.no-default-hover-elevate)::after,
  .active-elevate-2:not(.no-default-active-elevate)::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    z-index: 999;
  }
.hover-elevate:hover:not(.no-default-hover-elevate)::after,
  .active-elevate:active:not(.no-default-active-elevate)::after {
    background-color: var(--elevate-1);
  }
.border.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate:not(.no-active-interaction-elevate)::after,
  .border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate-2:not(.no-active-interaction-elevate)::after {
    inset: -1px;
  }
.text-gradient {
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
.glow-primary {
    box-shadow: var(--shadow-glow);
  }
.glass {
    background: hsl(var(--glass-bg));
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
  }
.glass-subtle {
    background: hsl(var(--card) / 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
.border-gradient {
    position: relative;
    border: none !important;
  }
.border-gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: var(--primary-gradient);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }
.\[_\:-\] {
  _: -;
}
.\[animation-delay\:120ms\] {
  animation-delay: 120ms;
}
.\[animation-delay\:160ms\] {
  animation-delay: 160ms;
}
.\[animation-delay\:200ms\] {
  animation-delay: 200ms;
}
.\[animation-delay\:60ms\] {
  animation-delay: 60ms;
}
.\[border-color\:var\(--badge-outline\)\] {
  border-color: var(--badge-outline);
}

/* ========================================
   RISEIQ DESIGN SYSTEM
   Clean Dark/Light Mode with Logo Gradient
   Soft Glassmorphism Design Language
   ======================================== */

/* ========================================
   SHARED VARIABLES (Applied to all themes)
   ======================================== */
:root {
  /* Typography — Rajdhani as the single platform font */
  --font-sans: var(--font-rajdhani), system-ui, -apple-system, sans-serif;
  --font-heading: var(--font-rajdhani), system-ui, sans-serif;
  --font-display: var(--font-rajdhani), system-ui, sans-serif;
  --font-serif: var(--font-rajdhani), Georgia, serif;
  --font-mono: var(--font-rajdhani), Menlo, monospace;

  /* Border radius system - softer, rounder */
  --radius: 0.75rem;
  --radius-xs: 0.375rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-3xl: 2rem;
  --radius-full: 9999px;

  /* Spacing */
  --tracking-normal: 0em;
  --spacing: 0.25rem;
  --sidebar-width: 260px;
  --topnav-height: 82px;

  /* Logo gradient colors (cyan → purple → magenta) */
  --logo-cyan: 190 100% 50%;
  --logo-blue: 222 90% 63%;
  --logo-purple: 262 90% 66%;
  --logo-magenta: 291 96% 62%;

  /* Logo-inspired gradient */
  --gradient-logo: linear-gradient(135deg, hsl(190 100% 50%), hsl(262 90% 66%), hsl(291 96% 62%));

  /* ========================================
     HELIOS SCOUT — design tokens
     ======================================== */
  /* Brand-aligned palette — matches homepage design system */
  --hs-cyan:     190 90% 50%;    /* = logo-cyan ≈ --secondary */
  --hs-purple:   262 90% 66%;    /* = logo-purple = --primary */
  --hs-magenta:  291 96% 62%;    /* = logo-magenta = --accent */
  --hs-blue:     222 90% 63%;    /* = logo-blue */
  --hs-red:      10  90% 55%;
  --hs-border:   262 20% 18%;    /* = --border dark */
  --hs-surface:  260 25%  7%;    /* = --background dark */
  --hs-surface2: 262 20% 12%;    /* = --card dark */
  --hs-dim:      260 10% 60%;    /* = --muted-foreground dark */
  /* Backward-compat aliases — both now map to brand colors */
  --hs-green:    190 90% 50%;    /* → brand cyan (secondary) */
  --hs-amber:    291 96% 62%;    /* → brand magenta (accent) */
  --hs-font-display: var(--font-rajdhani), sans-serif;
  --hs-font-mono:    var(--font-rajdhani), monospace;
  --hs-font-body:    var(--font-rajdhani), sans-serif;
}

/* ========================================
   DARK THEME
   Soft purple-based dark mode
   ======================================== */
:root,
html.dark,
html[data-theme="dark"],
html[data-theme="dark-riseiq"] {
  --button-outline: rgba(255,255,255, .10);
  --badge-outline: rgba(255,255,255, .06);
  --opaque-button-border-intensity: 9;
  --elevate-1: rgba(255,255,255, .04);
  --elevate-2: rgba(255,255,255, .08);

  /* Core palette - Soft purple cosmos */
  --background: 260 25% 7%;
  --foreground: 260 10% 95%;
  --border: 262 20% 18%;

  /* Cards - glassmorphic base */
  --card: 262 20% 12%;
  --card-foreground: 260 10% 95%;
  --card-border: 262 25% 16%;

  /* Sidebar */
  --sidebar: 262 25% 8%;
  --sidebar-foreground: 260 10% 90%;
  --sidebar-border: 262 20% 15%;
  --sidebar-primary: 262 90% 66%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 262 25% 16%;
  --sidebar-accent-foreground: 260 10% 94%;
  --sidebar-ring: 262 90% 66%;

  /* Popover/Dropdown */
  --popover: 262 22% 10%;
  --popover-foreground: 260 10% 94%;
  --popover-border: 262 22% 16%;

  /* Primary - Logo purple (#8B5CF6) */
  --primary: 262 90% 66%;
  --primary-foreground: 0 0% 100%;

  /* Secondary - Logo cyan (#00D4FF) */
  --secondary: 190 90% 50%;
  --secondary-foreground: 260 25% 10%;

  /* Muted */
  --muted: 262 15% 20%;
  --muted-foreground: 260 10% 60%;

  /* Accent - Logo magenta (#E040FB) */
  --accent: 291 90% 62%;
  --accent-foreground: 0 0% 100%;

  /* Destructive */
  --destructive: 0 72% 55%;
  --destructive-foreground: 0 0% 100%;

  /* Input */
  --input: 262 20% 20%;
  --ring: 262 90% 66%;

  /* Chart colors - logo gradient inspired */
  --chart-1: 262 90% 70%;
  --chart-2: 291 85% 65%;
  --chart-3: 190 90% 55%;
  --chart-4: 222 85% 65%;
  --chart-5: 320 75% 60%;

  /* Glass effect variables - softer */
  --glass-bg: 262 20% 12% / 0.70;
  --glass-bg-subtle: 262 20% 12% / 0.50;
  --glass-border: 260 30% 50% / 0.12;
  --glass-blur: 20px;
  --glass-glow: 262 90% 66% / 0.12;

  /* Gradient accents - logo colors */
  --gradient-start: 190 90% 50%;
  --gradient-mid: 262 90% 66%;
  --gradient-end: 291 90% 62%;

  /* Career OS layer accents - Atlas (institutions), Sentinel (employers) */
  --rq-atlas-accent: 192 90% 55%;
  --rq-sentinel-accent: 6 85% 62%;

  /* Soft shadow system */
  --shadow-soft-xs: 0 1px 3px hsl(262 50% 5% / 0.08);
  --shadow-soft-sm: 0 2px 8px -2px hsl(262 50% 5% / 0.12);
  --shadow-soft: 0 4px 16px -4px hsl(262 50% 5% / 0.15);
  --shadow-soft-lg: 0 8px 32px -8px hsl(262 50% 5% / 0.18);
  --shadow-soft-xl: 0 20px 48px -12px hsl(262 50% 5% / 0.22);

  /* Legacy shadows (for compatibility) */
  --shadow-2xs: 0px 1px 2px 0px hsl(262 50% 3% / 0.3);
  --shadow-xs: 0px 2px 4px 0px hsl(262 50% 3% / 0.35);
  --shadow-sm: 0px 2px 6px 0px hsl(262 50% 3% / 0.25), 0px 1px 3px -1px hsl(262 50% 3% / 0.2);
  --shadow: 0px 4px 10px 0px hsl(262 50% 3% / 0.3), 0px 2px 5px -1px hsl(262 50% 3% / 0.25);
  --shadow-md: 0px 8px 16px 0px hsl(262 50% 3% / 0.35), 0px 4px 8px -2px hsl(262 50% 3% / 0.25);
  --shadow-lg: 0px 12px 24px 0px hsl(262 50% 3% / 0.4), 0px 6px 10px -3px hsl(262 50% 3% / 0.3);
  --shadow-xl: 0px 20px 40px 0px hsl(262 50% 3% / 0.45), 0px 10px 15px -4px hsl(262 50% 3% / 0.35);
  --shadow-2xl: 0px 32px 60px 0px hsl(262 50% 3% / 0.5);
  --shadow-glow: 0 0 24px hsl(262 90% 66% / 0.25), 0 0 48px hsl(262 90% 66% / 0.12);

  color-scheme: dark;
}

/* ========================================
   LIGHT THEME
   Soft lavender-white light mode
   ======================================== */
html.light,
html[data-theme="light"] {
  --button-outline: rgba(0,0,0, .10);
  --badge-outline: rgba(0,0,0, .05);
  --opaque-button-border-intensity: -8;
  --elevate-1: rgba(0,0,0, .03);
  --elevate-2: rgba(0,0,0, .06);

  /* Core palette - Soft lavender-white */
  --background: 260 30% 98%;
  --foreground: 260 25% 12%;
  --border: 260 15% 88%;

  /* Cards */
  --card: 0 0% 100%;
  --card-foreground: 260 25% 12%;
  --card-border: 260 18% 90%;

  /* Sidebar */
  --sidebar: 260 25% 97%;
  --sidebar-foreground: 260 25% 15%;
  --sidebar-border: 260 15% 90%;
  --sidebar-primary: 262 85% 58%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 260 20% 94%;
  --sidebar-accent-foreground: 260 20% 18%;
  --sidebar-ring: 262 85% 58%;

  /* Popover */
  --popover: 0 0% 100%;
  --popover-foreground: 260 25% 12%;
  --popover-border: 260 15% 88%;

  /* Primary - Logo purple (slightly adjusted for light) */
  --primary: 262 85% 58%;
  --primary-foreground: 0 0% 100%;

  /* Secondary - Logo cyan (adjusted for light) */
  --secondary: 190 85% 45%;
  --secondary-foreground: 0 0% 100%;

  /* Muted */
  --muted: 260 20% 94%;
  --muted-foreground: 260 15% 45%;

  /* Accent - Logo magenta (adjusted for light) */
  --accent: 291 85% 55%;
  --accent-foreground: 0 0% 100%;

  /* Destructive */
  --destructive: 0 72% 50%;
  --destructive-foreground: 0 0% 100%;

  /* Input */
  --input: 260 15% 90%;
  --ring: 262 85% 58%;

  /* Chart colors */
  --chart-1: 262 80% 58%;
  --chart-2: 291 75% 55%;
  --chart-3: 190 80% 48%;
  --chart-4: 222 75% 58%;
  --chart-5: 320 70% 55%;

  /* Glass variables - light mode */
  --glass-bg: 0 0% 100% / 0.80;
  --glass-bg-subtle: 0 0% 100% / 0.60;
  --glass-border: 260 25% 70% / 0.18;
  --glass-blur: 16px;
  --glass-glow: 262 85% 58% / 0.08;

  /* Gradients */
  --gradient-start: 190 85% 48%;
  --gradient-mid: 262 85% 58%;
  --gradient-end: 291 85% 55%;

  /* Career OS layer accents - Atlas (institutions), Sentinel (employers) */
  --rq-atlas-accent: 192 85% 42%;
  --rq-sentinel-accent: 6 80% 52%;

  /* Soft shadow system - light mode */
  --shadow-soft-xs: 0 1px 3px hsl(260 20% 50% / 0.04);
  --shadow-soft-sm: 0 2px 8px -2px hsl(260 20% 50% / 0.06);
  --shadow-soft: 0 4px 16px -4px hsl(260 20% 50% / 0.08);
  --shadow-soft-lg: 0 8px 32px -8px hsl(260 20% 50% / 0.10);
  --shadow-soft-xl: 0 20px 48px -12px hsl(260 20% 50% / 0.12);

  /* Legacy shadows */
  --shadow-2xs: 0px 1px 2px 0px hsl(260 15% 20% / 0.03);
  --shadow-xs: 0px 1px 3px 0px hsl(260 15% 20% / 0.05);
  --shadow-sm: 0px 2px 4px 0px hsl(260 15% 20% / 0.05), 0px 1px 2px -1px hsl(260 15% 20% / 0.03);
  --shadow: 0px 4px 8px -1px hsl(260 15% 20% / 0.06), 0px 2px 4px -2px hsl(260 15% 20% / 0.04);
  --shadow-md: 0px 6px 12px -1px hsl(260 15% 20% / 0.08), 0px 4px 6px -2px hsl(260 15% 20% / 0.05);
  --shadow-lg: 0px 10px 18px -3px hsl(260 15% 20% / 0.08), 0px 4px 8px -4px hsl(260 15% 20% / 0.05);
  --shadow-xl: 0px 20px 30px -5px hsl(260 15% 20% / 0.10), 0px 8px 12px -6px hsl(260 15% 20% / 0.06);
  --shadow-2xl: 0px 25px 50px -12px hsl(260 15% 20% / 0.15);
  --shadow-glow: 0 4px 20px hsl(262 85% 58% / 0.15);

  color-scheme: light;

  /* Helios Scout light overrides — aligned to brand light theme */
  --hs-border:   260 15% 88%;    /* = --border light */
  --hs-surface:  260 30% 98%;    /* = --background light */
  --hs-surface2:   0  0% 100%;   /* = --card light */
  --hs-dim:      260 15% 45%;    /* = --muted-foreground light */
  --hs-purple:   262 85% 58%;    /* = --primary light */
  --hs-cyan:     190 85% 45%;    /* = --secondary light */
  --hs-magenta:  291 85% 55%;    /* = --accent light */
  --hs-blue:     222 75% 55%;    /* logo-blue light */
  --hs-green:    190 85% 45%;    /* → brand cyan light */
  --hs-amber:    291 85% 55%;    /* → brand magenta light */
}

/* ========================================
   COMPUTED/LEGACY VARIABLES
   ======================================== */
:root,
html[data-theme] {
  /* Computed border variants */
  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --primary-border: hsl(var(--primary));
  --secondary-border: hsl(var(--secondary));
  --muted-border: hsl(var(--muted));
  --accent-border: hsl(var(--accent));
  --destructive-border: hsl(var(--destructive));

  /* Legacy variable mappings */
  --text-main: hsl(var(--foreground));
  --text-secondary: hsl(var(--muted-foreground));
  --text-muted: hsl(var(--muted-foreground));
  --card-bg: hsl(var(--card));
  --surface-color: hsl(var(--card));
  --surface-elevated: hsl(var(--secondary));
  --border-light: hsl(var(--border));
  --border-hover: hsl(var(--primary) / 0.3);

  /* Dynamic gradient variables */
  --bg-gradient: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--card)) 100%);
  --hero-glow: radial-gradient(ellipse at 50% 0%, hsl(var(--primary) / 0.12) 0%, transparent 60%);
  --primary-gradient: linear-gradient(135deg, hsl(var(--gradient-start)) 0%, hsl(var(--gradient-mid)) 50%, hsl(var(--gradient-end)) 100%);
  --gradient-stat-bg: linear-gradient(135deg, hsl(var(--card)) 0%, hsl(var(--secondary) / 0.2) 100%);
  --gradient-icon-warm: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);

  /* Glow effects */
  --glow-purple: 0 0 32px hsl(var(--primary) / 0.2);
}

/* ========================================
   DARK THEME BACKGROUND EFFECTS
   Soft gradient mesh with subtle grid
   ======================================== */
html.dark body,
html[data-theme="dark"] body,
html[data-theme="dark-riseiq"] body {
  background-image:
    linear-gradient(hsl(var(--border) / 0.08) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--border) / 0.08) 1px, transparent 1px);
  background-size: 48px 48px;
  background-position: -1px -1px;
}

/* Gradient mesh overlay */
html.dark body::before,
html[data-theme="dark"] body::before,
html[data-theme="dark-riseiq"] body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(ellipse at 20% 20%, hsl(var(--primary) / 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, hsl(var(--accent) / 0.04) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, hsl(var(--secondary) / 0.03) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* Ensure main app content is above the background without forcing overlay widgets to relative */
html.dark body > .app-shell,
html[data-theme="dark"] body > .app-shell,
html[data-theme="dark-riseiq"] body > .app-shell {
  position: relative;
  z-index: 1;
}

/* ========================================
   BASE LAYER
   ======================================== */

/* ========================================
   APP SHELL & SIDEBAR LAYOUT
   ======================================== */

.app-shell {
  display: flex;
  min-height: 100vh;
  background: hsl(var(--background));
  transition: background-color 0.3s ease;
}

.app-shell.landing-only {
  display: block;
}

.app-shell.no-sidebar .app-main {
  margin-left: 0;
  width: 100%;
  max-width: 100vw;
}

.app-main--institution-prism {
  margin-left: 0 !important;
  max-width: 100vw !important;
  width: 100%;
  min-height: 100vh;
}

.app-main__content--institution-prism {
  min-height: 100vh;
  padding: 0;
}

.app-main {
  flex: 1;
  position: relative;
  margin-left: var(--sidebar-width);
  min-height: 100vh;
  min-width: 0;
  max-width: calc(100vw - var(--sidebar-width));
  overflow-x: hidden;
  transition: margin-left 0.2s ease;
}

.app-main--student-surface::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 14% 20%, hsl(var(--secondary) / 0.13), transparent 28%),
    radial-gradient(circle at 82% 18%, hsl(var(--primary) / 0.16), transparent 30%),
    radial-gradient(circle at 70% 78%, hsl(var(--accent) / 0.1), transparent 28%);
}

.app-main__utility {
  position: fixed;
  top: 1rem;
  right: 1.25rem;
  z-index: 58;
  pointer-events: none;
}

.app-main__content {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
}

.app-main__content--student-surface {
  position: relative;
  z-index: 1;
}

.app-main--helios.app-main--student-surface::before {
  content: none;
}

.app-main--helios {
  overflow: hidden;
  background: hsl(var(--background));
}

.app-main__content--helios {
  min-height: calc(100vh - var(--topnav-height));
  height: calc(100vh - var(--topnav-height));
  overflow: hidden;
  background: hsl(var(--background));
}

.app-main--student-surface .dash-page,
.app-main--student-surface .onb-page {
  background: transparent;
}

.app-main--student-surface .dash-bg,
.app-main--student-surface .onb-bg {
  opacity: 0.45;
}

.app-main--student-surface .dash-orb,
.app-main--student-surface .floating-orb {
  filter: blur(120px);
  opacity: 0.68;
}

.rise-card--default,
.rise-card--glass,
.rise-card--glass-subtle,
.rise-card--glass-prominent,
.rise-card--outline {
  border-style: solid;
  border-color: hsl(var(--border) / 0.68);
  background:
    linear-gradient(160deg, hsl(var(--card) / 0.95), hsl(var(--card) / 0.74)),
    hsl(var(--card));
  box-shadow: var(--shadow-soft-lg);
}

.rise-card--glass {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.rise-card--glass-subtle {
  background:
    linear-gradient(145deg, hsl(var(--card) / 0.78), hsl(var(--background) / 0.6)),
    hsl(var(--card));
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.rise-card--glass-prominent {
  background:
    linear-gradient(150deg, hsl(var(--card) / 0.98), hsl(var(--background) / 0.72)),
    hsl(var(--card));
  box-shadow: var(--shadow-soft-xl), 0 0 28px hsl(var(--glass-glow));
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.rise-card--outline {
  background: hsl(var(--card) / 0.46);
  box-shadow: var(--shadow-soft-sm);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.rise-card--default:hover,
.rise-card--glass:hover,
.rise-card--glass-subtle:hover,
.rise-card--glass-prominent:hover,
.rise-card--outline:hover {
  border-color: hsl(var(--primary) / 0.24);
}

.app-main--student-surface .card-accent-header > :first-child > div,
.app-main--student-surface .card-accent-header > div:first-child {
  background:
    linear-gradient(135deg, hsl(var(--primary) / 0.08), hsl(var(--secondary) / 0.06));
}

html[data-theme="light"] .app-main--student-surface .dash-bg__grid,
html[data-theme="light"] .app-main--student-surface .onb-bg__grid {
  opacity: 0.24;
}

html[data-theme="light"] .app-main--student-surface .dash-orb,
html[data-theme="light"] .app-main--student-surface .floating-orb {
  opacity: 0.52;
}

html[data-theme="light"] .rise-card--default,
html[data-theme="light"] .rise-card--glass,
html[data-theme="light"] .rise-card--glass-subtle,
html[data-theme="light"] .rise-card--glass-prominent,
html[data-theme="light"] .rise-card--outline {
  box-shadow: 0 18px 50px -28px hsl(var(--primary) / 0.2);
}

.student-top-band {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
  pointer-events: auto;
}

.student-top-band__menu-btn {
  display: none;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 0.85rem;
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--card) / 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: hsl(var(--foreground));
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow-soft-sm);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.student-top-band__menu-btn:hover {
  border-color: hsl(var(--primary) / 0.42);
  transform: translateY(-1px);
}

.student-top-band__menu-btn.is-open {
  border-color: hsl(var(--primary) / 0.45);
  box-shadow: var(--shadow-soft), 0 0 0 1px hsl(var(--primary) / 0.18);
}

.student-top-band__profile {
  position: relative;
  flex-shrink: 0;
}

.student-top-band__profile-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  border: 1px solid hsl(var(--border) / 0.8);
  border-radius: 999px;
  background:
    linear-gradient(145deg, hsl(var(--card) / 0.92), hsl(var(--background) / 0.84));
  box-shadow: var(--shadow-soft-sm);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: hsl(var(--foreground));
  padding: 0.32rem 0.5rem 0.32rem 0.34rem;
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.student-top-band__profile-btn:hover {
  border-color: hsl(var(--primary) / 0.45);
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.student-top-band__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid hsl(var(--border));
}

.student-top-band__avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-logo);
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
}

.student-top-band__name {
  display: none;
}

.student-top-band__chevron {
  color: hsl(var(--muted-foreground));
  transition: transform 0.2s ease, color 0.2s ease;
}

.student-top-band__chevron.is-open {
  transform: rotate(180deg);
  color: hsl(var(--foreground));
}

.student-top-band__popover {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  min-width: 240px;
  padding: 0.8rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.8);
  background:
    linear-gradient(160deg, hsl(var(--card) / 0.97), hsl(var(--background) / 0.84));
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow-soft-lg);
  z-index: 60;
}

.student-top-band__popover-name {
  font-weight: 700;
  color: hsl(var(--foreground));
  font-size: 0.9rem;
  margin-bottom: 0.2rem;
}

.student-top-band__popover-meta {
  color: hsl(var(--muted-foreground));
  font-size: 0.78rem;
  margin-bottom: 0.15rem;
}

.student-top-band__popover-location {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: hsl(var(--muted-foreground));
  font-size: 0.76rem;
  margin-top: 0.2rem;
}

.student-top-band__popover-progress {
  margin-top: 0.45rem;
  margin-bottom: 0.6rem;
  color: hsl(var(--foreground));
  font-size: 0.76rem;
  font-weight: 600;
}

.student-top-band__popover-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  padding: 0.46rem 0.7rem;
  border-radius: 0.62rem;
  border: 1px solid hsl(var(--primary) / 0.35);
  background: linear-gradient(135deg, hsl(var(--primary) / 0.12), hsl(var(--secondary) / 0.08));
  color: hsl(var(--foreground));
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
}

.student-top-band__popover-btn + .student-top-band__popover-btn {
  margin-top: 0.45rem;
}

.student-top-band__popover-btn--secondary {
  border-color: hsl(var(--border));
  background:
    linear-gradient(145deg, hsl(var(--card) / 0.78), hsl(var(--background) / 0.68));
}

@media (max-width: 900px) {
  .app-main__utility {
    top: 0.75rem;
    right: 0.85rem;
  }

  .student-top-band__menu-btn {
    display: inline-flex;
  }

  .student-top-band__popover {
    right: -0.2rem;
    min-width: 210px;
  }
}

/* Sidebar - Soft Glassmorphic */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: var(--sidebar-width);
  background:
    linear-gradient(180deg, hsl(0 0% 0% / 0.98), hsl(0 0% 0% / 0.94));
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-right: 1px solid hsl(var(--sidebar-border) / 0.5);
  display: flex;
  flex-direction: column;
  z-index: 50;
  transition: width 0.2s ease, background-color 0.3s ease, border-color 0.2s ease;
}

html[data-theme="light"] .sidebar {
  background: hsl(var(--glass-bg));
}

.sidebar.is-collapsed {
  width: 72px;
}

.sidebar.is-resizing {
  transition: none;
}

.sidebar__header {
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid hsl(var(--sidebar-border) / 0.5);
  min-height: 64px;
}

.sidebar__mobile-close {
  display: none;
}

.sidebar__logo {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: hsl(var(--sidebar-foreground));
  font-weight: 700;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.sidebar__logo:hover {
  transform: scale(1.02);
}

.sidebar__logo img {
  max-width: 100%;
  height: auto;
}

/* Constrain the scaled-up brand mark in sidebar so it doesn't overflow */
.sidebar__logo .riseiq-brand-lockup,
.sidebar__logo .riseiq-brand-shell {
  overflow: hidden;
  max-height: 90px;
}

.riseiq-brand-lockup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
}

.riseiq-brand-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
}

.riseiq-brand-mark {
  display: block;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 0;
  image-rendering: auto;
}


.riseiq-brand-copy {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  line-height: 1;
}

.riseiq-brand-wordmark {
  display: inline-block;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.riseiq-brand-subtitle {
  margin-top: 0.18rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
  white-space: nowrap;
}

.sidebar__logo-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  text-align: center;
}

.sidebar__logo-stack--compact {
  gap: 0;
  line-height: 0.9;
}

.sidebar__logo .sidebar__logo-mark {
  width: 148px;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
  display: block;
}

.sidebar__logo .riseiq-brand-shell,
.sidebar.is-collapsed .sidebar__logo .riseiq-brand-shell {
  width: 100%;
  max-width: 176px;
}


.sidebar__logo-word {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--sidebar-foreground));
}

.sidebar__logo-text {
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.sidebar__logo-text--compact {
  font-family: var(--font-heading);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  text-transform: none;
}

.wordmark-tm {
  font-size: 0.24em;
  vertical-align: super;
  margin-left: 0.1em;
  letter-spacing: 0.02em;
  opacity: 0.85;
  background: var(--primary-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.sidebar__nav {
  flex: 1;
  padding: 0.75rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sidebar__link {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.65rem 0.85rem;
  border-radius: 1rem;
  color: hsl(var(--sidebar-foreground));
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.15s ease;
  background: transparent;
  border: 1px solid transparent;
  width: 100%;
  cursor: pointer;
  text-align: left;
}

.sidebar__link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, hsl(190 90% 50%), hsl(262 90% 66%), hsl(291 90% 62%));
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
          mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

.sidebar__link:hover {
  background: transparent;
  color: hsl(var(--sidebar-foreground));
  border-color: transparent;
  transform: translateX(2px);
  box-shadow: none;
}

.sidebar__link:hover::before {
  opacity: 1;
}

.sidebar__link.is-active {
  background: transparent;
  color: hsl(var(--sidebar-foreground));
  border-color: transparent;
  box-shadow: none;
}

.sidebar__link.is-active::before {
  opacity: 1;
}

.sidebar__link.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: hsl(var(--muted-foreground));
  background: transparent;
}

.sidebar__link.is-disabled:hover {
  background: transparent;
  color: hsl(var(--muted-foreground));
  transform: none;
}

/* Helios link - gradient when active */
.sidebar__link.helios-link.is-active {
  background: transparent;
  color: hsl(var(--sidebar-foreground));
  border-color: transparent;
  box-shadow: none;
}

.sidebar__link.foundry-link.is-active,
.sidebar__link.is-nested.is-active[data-nav-key^="workspace"] {
  background: transparent;
  color: hsl(var(--sidebar-foreground));
  border-color: transparent;
  box-shadow: none;
}

.sidebar__link.is-active:hover,
.sidebar__link.helios-link.is-active:hover {
  opacity: 0.95;
  transform: translateX(2px);
  box-shadow: none;
}

.sidebar__link.foundry-link .sidebar__icon-shell,
.sidebar__link.is-nested[data-nav-key^="workspace"] .sidebar__icon-shell {
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.sidebar__link.foundry-link:hover .sidebar__icon-shell,
.sidebar__link.is-nested[data-nav-key^="workspace"]:hover .sidebar__icon-shell {
  transform: none;
  box-shadow: none;
}

.sidebar__link .icon {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.sidebar__link--brand {
  justify-content: flex-start;
}

.sidebar__helios-wordmark {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
}

.sidebar__helios-wordmark-img {
  display: block;
  width: 112px;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 2px 8px hsl(var(--primary) / 0.16));
}

.sidebar__helios-wordmark-img--light {
  display: none;
}

html[data-theme="light"] .sidebar__helios-wordmark-img--dark,
html.light .sidebar__helios-wordmark-img--dark {
  display: none;
}

html[data-theme="light"] .sidebar__helios-wordmark-img--light,
html.light .sidebar__helios-wordmark-img--light {
  display: block;
}

.sidebar__foundry-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.sidebar__foundry-mark__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 0 6px hsl(var(--secondary) / 0.35));
}

.sidebar__link:hover .sidebar__foundry-mark {
  transform: scale(1.06);
}

.sidebar__icon-shell {
  width: 1.72rem;
  height: 1.72rem;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 0.7rem;
  border: 1px solid hsl(var(--sidebar-border) / 0.42);
  background: linear-gradient(145deg, hsl(var(--sidebar) / 0.78), hsl(var(--sidebar-accent) / 0.22));
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.04),
    0 8px 18px hsl(240 38% 5% / 0.1);
}

.sidebar__link .icon {
  color: hsl(var(--sidebar-foreground) / 0.84);
}

.sidebar__link.is-active .sidebar__icon-shell,
.sidebar__link:hover .sidebar__icon-shell {
  border-color: hsl(var(--sidebar-border) / 0.74);
  box-shadow: none;
}

.sidebar__link.is-active .icon,
.sidebar__link:hover .icon {
  color: currentColor;
}

html[data-theme="light"] .sidebar__icon-shell,
html.light .sidebar__icon-shell {
  border-color: hsl(var(--sidebar-border) / 0.18);
  background: linear-gradient(145deg, hsl(0 0% 100% / 0.88), hsl(var(--sidebar-accent) / 0.08));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 10px 22px hsl(var(--sidebar-foreground) / 0.06);
}

html[data-theme="light"] .sidebar__link .icon,
html.light .sidebar__link .icon {
  color: hsl(var(--sidebar-foreground) / 0.76);
}

html[data-theme="light"] .sidebar__link:hover,
html.light .sidebar__link:hover {
  background: transparent;
  color: hsl(var(--sidebar-foreground));
  border-color: transparent;
  box-shadow: none;
}

@keyframes sidebarIconWiggle {
  0%, 100% { transform: scale(1) rotate(0deg); }
  20% { transform: scale(1.03) rotate(-3deg); }
  40% { transform: scale(1.06) rotate(2deg); }
  60% { transform: scale(1.02) rotate(-1.5deg); }
  80% { transform: scale(1.04) rotate(1deg); }
}

.admin-robot-icon {
  margin-left: auto;
  color: hsl(var(--primary));
  filter: drop-shadow(0 0 6px hsl(var(--primary) / 0.35));
}

/* Admin Design Kit */
.admin-card {
  border-radius: var(--radius-2xl);
  border: 1px solid hsl(var(--border));
  background: hsl(var(--glass-bg));
  box-shadow: var(--shadow-soft);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft-lg);
}

.admin-panel {
  padding: 1.25rem;
}

.admin-section-title {
  font-weight: 600;
  color: hsl(var(--foreground));
  font-size: 0.95rem;
}

.admin-divider {
  height: 1px;
  background: hsl(var(--border));
  margin: 0.75rem 0;
}

.sidebar__pill {
  margin-left: auto;
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-full);
  font-size: 0.6rem;
  font-weight: 600;
  background: hsl(var(--sidebar-accent));
  color: hsl(var(--sidebar-accent-foreground));
}

.sidebar__group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sidebar__nested {
  margin-left: 1rem;
  padding-left: 0.75rem;
  border-left: 1px solid hsl(var(--sidebar-border) / 0.5);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.sidebar__link.is-nested {
  padding: 0.42rem 0.65rem;
  font-size: 0.76rem;
}

.sidebar__section {
  padding: 0.75rem;
}

.sidebar__footer {
  margin-top: auto;
  border-top: 1px solid hsl(var(--sidebar-border) / 0.5);
}

.sidebar__divider {
  height: 1px;
  background: hsl(var(--sidebar-border) / 0.5);
  margin: 0.25rem 0;
}

.sidebar__collapse {
  justify-content: flex-start;
}

.sidebar__resize-handle {
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 100%;
  cursor: ew-resize;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s ease;
  color: hsl(var(--muted-foreground));
}

.sidebar:hover .sidebar__resize-handle {
  opacity: 0.5;
}

.sidebar__resize-handle:hover {
  opacity: 1 !important;
}

/* Collapsed sidebar adjustments */
.sidebar.is-collapsed .sidebar__link {
  justify-content: center;
  padding: 0.65rem;
}

.sidebar.is-collapsed .sidebar__header {
  padding-inline: 0.25rem;
}

.sidebar.is-collapsed .sidebar__link > span:not(.sidebar__icon-shell),
.sidebar.is-foundry-compact .sidebar__link > span:not(.sidebar__icon-shell) {
  display: none;
}

.sidebar.is-collapsed .sidebar__link--brand {
  justify-content: center;
}

.sidebar.is-collapsed .sidebar__helios-wordmark-img {
  width: 28px;
}

/* Foundry immersive: icon-only global sidebar */
.sidebar.is-foundry-compact {
  width: 64px;
}

.sidebar.is-foundry-compact .sidebar__link {
  justify-content: center;
  padding: 0.65rem;
}

.sidebar.is-foundry-compact .sidebar__header {
  padding-inline: 0.25rem;
}

.sidebar.is-foundry-compact .sidebar__nav,
.sidebar.is-foundry-compact .sidebar__footer {
  padding: 0.5rem;
}

.sidebar.is-foundry-compact .sidebar__section-label,
.sidebar.is-foundry-compact .sidebar__group-label,
.sidebar.is-foundry-compact .sidebar__footer-text,
.sidebar.is-foundry-compact .sidebar__collapse-btn span:not(.icon) {
  display: none;
}

html[data-foundry-active="true"] .sidebar__resize-handle {
  display: none;
}

.sidebar.is-collapsed .sidebar__nav {
  padding: 0.5rem;
}

.sidebar.is-collapsed .sidebar__footer {
  padding: 0.5rem;
}

.sidebar.is-collapsed + .app-main {
  margin-left: 72px;
  max-width: calc(100vw - 72px);
}

/* Mobile adjustments */
@media (max-width: 900px) {
  .app-shell {
    position: relative;
  }

  .app-main {
    margin-left: 0 !important;
    max-width: 100vw !important;
    width: 100%;
  }

  .app-main__content {
    width: 100%;
    max-width: 100%;
  }

  .app-main__utility {
    top: 0.85rem;
    right: 0.85rem;
  }

  .sidebar {
    width: min(84vw, 320px);
    max-width: 320px;
    height: calc(100vh - 1rem);
    top: 0.5rem;
    left: 0.5rem;
    border-right: 1px solid hsl(var(--sidebar-border) / 0.5);
    border-radius: 1rem;
    box-shadow: var(--shadow-soft-xl);
    transform: translateX(calc(-100% - 1rem));
    opacity: 0;
    pointer-events: none;
    transition:
      transform 0.22s ease,
      opacity 0.22s ease,
      width 0.2s ease,
      background-color 0.3s ease,
      border-color 0.2s ease;
  }

  .sidebar.is-mobile-open {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  .sidebar.is-mobile {
    z-index: 70;
  }

  .sidebar.is-mobile .sidebar__header {
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
  }

  .sidebar.is-mobile .sidebar__logo {
    flex: 1 1 auto;
    justify-content: flex-start;
    min-width: 0;
  }

  .sidebar.is-mobile .sidebar__logo .sidebar__logo-mark {
    width: clamp(120px, 34vw, 156px);
    max-width: 100%;
    height: auto;
  }

  .sidebar.is-mobile .sidebar__mobile-close {
    width: 2rem;
    height: 2rem;
    border-radius: 0.65rem;
    border: 1px solid hsl(var(--sidebar-border) / 0.6);
    background: hsl(var(--sidebar-accent) / 0.5);
    color: hsl(var(--sidebar-foreground));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .sidebar.is-mobile .sidebar__mobile-close:hover {
    border-color: hsl(var(--sidebar-primary) / 0.35);
    color: hsl(var(--sidebar-primary));
  }

  .sidebar.is-mobile .sidebar__link span {
    display: inline;
  }

  .sidebar.is-mobile .sidebar__link {
    justify-content: flex-start;
    padding: 0.72rem 0.9rem;
  }

  .sidebar.is-mobile .sidebar__helios-wordmark-img {
    width: 120px;
  }

  .sidebar.is-mobile .sidebar__nested {
    display: flex;
  }

  .sidebar-mobile-trigger {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
    left: 0.75rem;
    z-index: 75;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.85rem;
    border: 1px solid hsl(var(--border) / 0.6);
    background: hsl(var(--card) / 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: hsl(var(--foreground));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-soft-sm);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  }

  .sidebar-mobile-trigger:hover {
    border-color: hsl(var(--primary) / 0.42);
    transform: translateY(-1px);
  }

  .sidebar-mobile-trigger.is-open {
    border-color: hsl(var(--primary) / 0.45);
    box-shadow: var(--shadow-soft), 0 0 0 1px hsl(var(--primary) / 0.18);
  }

  .sidebar-mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 65;
    border: 0;
    background: hsl(var(--background) / 0.52);
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    cursor: pointer;
  }

  .sidebar__nested {
    display: none;
  }
}

/* ========================================
   GLASSMORPHIC COMPONENTS
   Soft, elevated glass effects
   ======================================== */

/* Glass Card - Primary */
.glass-card {
  background: hsl(var(--glass-bg));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid hsl(var(--glass-border));
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-soft-lg);
  transition: all 0.25s ease;
}

.glass-card:hover {
  box-shadow: var(--shadow-soft-xl), 0 0 32px hsl(var(--glass-glow));
  border-color: hsl(var(--primary) / 0.2);
  transform: translateY(-2px);
}

/* Glass Card - Subtle */
.glass-card-subtle {
  background: hsl(var(--glass-bg-subtle));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid hsl(var(--border) / 0.4);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

/* Glass Card - Prominent */
.glass-card-prominent {
  background: hsl(var(--glass-bg));
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid hsl(var(--glass-border));
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-soft-xl), 0 0 48px hsl(var(--glass-glow));
}

/* Glass Panel */
.glass-panel {
  background: hsl(var(--card) / 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid hsl(var(--border) / 0.5);
  border-radius: var(--radius-xl);
}

/* Glass Surface */
.glass-surface {
  background: hsl(var(--card) / 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Glass Input */
.glass-input {
  background: hsl(var(--input) / 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  transition: all 0.2s ease;
}

.glass-input:focus {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.12);
}

/* ========================================
   THEME TOGGLE
   Simple, elegant toggle button
   ======================================== */

.theme-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md);
  color: hsl(var(--sidebar-foreground));
  background: transparent;
  border: none;
  width: 100%;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.15s ease;
}

.theme-toggle:hover {
  background: hsl(var(--sidebar-accent));
}

.theme-toggle__icon {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s ease;
}

.theme-toggle:hover .theme-toggle__icon {
  transform: rotate(15deg);
}

.theme-toggle--collapsed {
  gap: 0;
}

.theme-toggle--nav {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.6);
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.92), hsl(var(--background) / 0.84));
  color: hsl(var(--foreground));
  box-shadow: var(--shadow-soft-sm);
}

.theme-toggle--nav:hover {
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.96), hsl(var(--background) / 0.88));
  border-color: hsl(var(--primary) / 0.35);
  box-shadow: var(--shadow-soft), 0 0 0 1px hsl(var(--primary) / 0.14);
}

/* ========================================
   MARKETING SURFACES
   Shared light/dark treatment for landing pages
   ======================================== */

.marketing-page {
  position: relative;
}

.marketing-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, hsl(var(--primary) / 0.10), transparent 28%),
    radial-gradient(circle at 86% 14%, hsl(var(--secondary) / 0.08), transparent 30%),
    radial-gradient(circle at 74% 74%, hsl(var(--accent) / 0.08), transparent 26%);
  z-index: 0;
}

.marketing-page > * {
  position: relative;
  z-index: 1;
}

html[data-theme="light"] .marketing-page::before {
  background:
    radial-gradient(circle at 10% 16%, hsl(var(--secondary) / 0.16), transparent 26%),
    radial-gradient(circle at 86% 10%, hsl(var(--primary) / 0.12), transparent 28%),
    radial-gradient(circle at 78% 78%, hsl(var(--accent) / 0.10), transparent 24%);
}

.marketing-header {
  background: hsl(0 0% 0% / 0.94);
  border-color: hsl(var(--border) / 0.5);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 32px hsl(0 0% 0% / 0.32);
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.marketing-header__mobile-menu {
  background: hsl(0 0% 0% / 0.98);
  border-color: hsl(var(--border) / 0.5);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-style: solid;
  border-width: 1px;
  border-radius: 1.25rem;
  box-shadow: 0 16px 36px hsl(0 0% 0% / 0.28);
}

.marketing-header__mobile-menu-footer {
  border-top: 1px solid hsl(var(--border) / 0.38);
}

html[data-theme="light"] .marketing-header {
  background: hsl(var(--background) / 0.78);
  border-color: hsl(var(--border) / 0.65);
  box-shadow: 0 8px 28px hsl(260 25% 50% / 0.08);
}

html[data-theme="light"] .marketing-header__mobile-menu {
  background: hsl(var(--background) / 0.95);
  border-color: hsl(var(--border) / 0.65);
  box-shadow: 0 16px 36px hsl(260 25% 50% / 0.12);
}

html[data-theme="light"] .marketing-header__mobile-menu-footer {
  border-top-color: hsl(var(--border) / 0.65);
}

.top-nav.responsive-nav {
  position: sticky;
  top: 0;
  z-index: 45;
  width: min(1200px, calc(100% - 1.5rem));
  margin: 1rem auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-radius: 1.35rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background:
    linear-gradient(180deg, hsl(0 0% 0% / 0.94), hsl(0 0% 0% / 0.88));
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 18px 36px hsl(0 0% 0% / 0.28);
}

.nav-left,
.nav-shell,
.nav-right {
  display: flex;
  align-items: center;
}

.nav-shell {
  flex: 1;
  justify-content: space-between;
  gap: 1rem;
}

.nav-desktop {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  flex-wrap: wrap;
}

.nav-logo {
  padding-left: 0.1rem;
}

.nav-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.68rem 0.95rem;
  border-radius: 999px;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.18s ease;
}

.nav-chip:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.55);
}

.nav-chip-active {
  color: white;
  background: linear-gradient(135deg, hsl(191 96% 58%), hsl(267 88% 68%));
  box-shadow: 0 10px 24px hsl(265 80% 54% / 0.26);
}

.nav-right {
  gap: 0.75rem;
}

.hamburger-button {
  display: none;
  width: 2.7rem;
  height: 2.7rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.7);
  color: hsl(var(--foreground));
  cursor: pointer;
}

.mobile-nav-panel {
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0;
  right: 0;
  padding: 1rem;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.55);
  background:
    linear-gradient(180deg, hsl(0 0% 0% / 0.98), hsl(0 0% 0% / 0.94));
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow-soft-xl);
}

.mobile-nav-links,
.mobile-nav-extra {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.mobile-nav-extra {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid hsl(var(--border) / 0.55);
}

.marketing-page.app-frame {
  min-height: 100vh;
  padding: 0 1rem 4rem;
}

.marketing-page .main-content {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding-top: 1.25rem;
}

.marketing-page .hero-section {
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.86), hsl(var(--background) / 0.72)),
    radial-gradient(circle at top left, hsl(var(--secondary) / 0.10), transparent 34%);
  box-shadow: var(--shadow-soft-xl);
  padding: clamp(2rem, 5vw, 4rem);
}

.marketing-page .bg-glow {
  position: absolute;
  width: 18rem;
  height: 18rem;
  border-radius: 999px;
  background:
    radial-gradient(circle, hsl(var(--primary) / 0.18), transparent 62%);
  filter: blur(18px);
  pointer-events: none;
}

.marketing-page .hero-content {
  position: relative;
  z-index: 1;
  max-width: 48rem;
}

.marketing-page .hero-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2.9rem, 7vw, 5.4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
  color: hsl(var(--foreground));
}

.marketing-page .hero-subtitle {
  margin-top: 1.35rem;
  max-width: 50rem;
  font-size: 1.05rem;
  line-height: 1.85;
  color: hsl(var(--muted-foreground));
}

.marketing-page .hero-actions {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.marketing-page .hero-note {
  margin-top: 1rem;
  font-size: 0.95rem;
  color: hsl(var(--muted-foreground));
}

.marketing-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.marketing-page .btn:hover {
  transform: translateY(-1px);
}

.marketing-page .btn-primary {
  border-radius: 999px;
  padding: 0.82rem 1.3rem;
  background: linear-gradient(135deg, hsl(191 96% 58%), hsl(267 88% 68%));
  color: white;
  box-shadow: 0 14px 32px hsl(265 80% 54% / 0.24);
}

.marketing-page .btn-primary:hover {
  box-shadow: 0 18px 38px hsl(265 80% 54% / 0.28);
}

html[data-theme="light"] .marketing-page .hero-section {
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.96), hsl(var(--background) / 0.86)),
    radial-gradient(circle at top left, hsl(var(--secondary) / 0.14), transparent 34%);
  box-shadow: 0 24px 56px hsl(260 25% 50% / 0.10);
}

html[data-theme="light"] .top-nav.responsive-nav {
  background:
    linear-gradient(180deg, hsl(var(--card) / 0.96), hsl(var(--background) / 0.92));
  box-shadow: 0 16px 38px hsl(260 25% 50% / 0.10);
}

.marketing-header .riseiq-brand-shell,
.top-nav.responsive-nav .riseiq-brand-shell {
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .marketing-page .btn-primary {
  box-shadow: 0 14px 30px hsl(262 85% 58% / 0.20);
}

html[data-theme="dark"] .marketing-header .riseiq-brand-shell,
html[data-theme="dark-riseiq"] .marketing-header .riseiq-brand-shell,
html[data-theme="dark"] .top-nav.responsive-nav .riseiq-brand-shell,
html[data-theme="dark-riseiq"] .top-nav.responsive-nav .riseiq-brand-shell {
  border: none;
  background: transparent;
  box-shadow: none;
}


@media (max-width: 900px) {
  .top-nav.responsive-nav {
    width: calc(100% - 1rem);
    padding: 0.7rem 0.85rem;
  }

  .nav-desktop {
    display: none;
  }

  .hamburger-button {
    display: inline-flex;
  }

  .marketing-page .main-content {
    padding-top: 0.75rem;
  }
}

@media (max-width: 640px) {
  .marketing-page .hero-section {
    border-radius: 1.5rem;
    padding: 1.4rem;
  }

  .theme-toggle--nav {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* Legacy dropdown support (can be removed later) */
.theme-switcher-dropdown {
  position: fixed;
  top: var(--theme-switcher-top, 50%);
  left: var(--theme-switcher-left, 280px);
  background: hsl(var(--glass-bg));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid hsl(var(--popover-border));
  border-radius: var(--radius-lg);
  padding: 0.5rem;
  min-width: 200px;
  box-shadow: var(--shadow-soft-xl);
  z-index: 100;
  animation: dropdown-fade-in 0.15s ease-out;
}

@keyframes dropdown-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.theme-switcher-section {
  padding: 0.25rem 0;
}

.theme-switcher-section:not(:last-child) {
  border-bottom: 1px solid hsl(var(--border));
  margin-bottom: 0.25rem;
  padding-bottom: 0.5rem;
}

.theme-switcher-title {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: hsl(var(--muted-foreground));
  padding: 0.25rem 0.75rem;
  margin-bottom: 0.25rem;
}

.theme-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: none;
  background: transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
}

.theme-option:hover {
  background: hsl(var(--accent) / 0.12);
}

.theme-option.is-selected {
  background: hsl(var(--primary) / 0.12);
}

.theme-option__swatch {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: hsl(var(--muted));
  border-radius: var(--radius-sm);
}

.theme-option__color {
  width: 16px;
  height: 16px;
  border-radius: var(--radius-xs);
}

.theme-option__name {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--foreground));
}

.theme-option__check {
  color: hsl(var(--primary));
}

/* ========================================
   GRADIENT BACKGROUNDS
   ======================================== */

.gradient-mesh {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.25;
  background:
    radial-gradient(circle at 20% 30%, hsl(var(--primary) / 0.3) 0%, transparent 40%),
    radial-gradient(circle at 80% 60%, hsl(var(--accent) / 0.2) 0%, transparent 40%),
    radial-gradient(circle at 40% 80%, hsl(var(--secondary) / 0.2) 0%, transparent 35%);
  animation: gradientShift 20s ease infinite;
}

@keyframes gradientShift {
  0%, 100% {
    opacity: 0.2;
    transform: scale(1);
  }
  50% {
    opacity: 0.3;
    transform: scale(1.02);
  }
}

.hero-glow {
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 150%;
  height: 60%;
  background: radial-gradient(ellipse at center, hsl(var(--primary) / 0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ========================================
   BUTTONS & INTERACTIONS
   ======================================== */

.btn-primary-glow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: var(--primary-gradient);
  color: hsl(var(--primary-foreground));
  border: none;
  border-radius: var(--radius-full);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 16px hsl(var(--primary) / 0.3);
  transition: all 0.25s ease;
}

.btn-primary-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px hsl(var(--primary) / 0.4);
}

.btn-primary-glow:active {
  transform: translateY(0);
}

.btn-glass {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: hsl(var(--card) / 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-full);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-glass:hover {
  background: hsl(var(--card) / 0.8);
  border-color: hsl(var(--primary) / 0.25);
}

/* Soft button variant */
.btn-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  border: none;
  border-radius: var(--radius-md);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-soft:hover {
  background: hsl(var(--primary) / 0.15);
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* ========================================
   SHADCN CARD OVERRIDES
   ======================================== */

.shadcn-card {
  background: hsl(var(--glass-bg));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid hsl(var(--card-border));
  transition: all 0.25s ease;
}

.shadcn-card:hover {
  border-color: hsl(var(--primary) / 0.2);
  box-shadow: var(--shadow-soft-lg);
}

.card-glass {
  background: hsl(var(--glass-bg)) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: 1px solid hsl(var(--glass-border)) !important;
}

.card-glass:hover {
  box-shadow: var(--shadow-soft-xl), 0 0 24px hsl(var(--glass-glow));
  border-color: hsl(var(--primary) / 0.2) !important;
  transform: translateY(-2px);
}

/* ========================================
   ANIMATIONS
   Soft, elegant motion
   ======================================== */

/* Float animations */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

@keyframes float-slow {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-16px); }
}

@keyframes float-reverse {
  0%, 100% { transform: translateY(-8px); }
  50% { transform: translateY(0px); }
}

/* Orbit animations */
@keyframes orbit {
  0% { transform: rotate(0deg) translateX(60px) rotate(0deg); }
  100% { transform: rotate(360deg) translateX(60px) rotate(-360deg); }
}

@keyframes orbit-reverse {
  0% { transform: rotate(360deg) translateX(80px) rotate(-360deg); }
  100% { transform: rotate(0deg) translateX(80px) rotate(0deg); }
}

/* Pulse glow */
@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.7;
    transform: scale(1);
    box-shadow: 0 0 16px hsl(var(--primary) / 0.2);
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
    box-shadow: 0 0 32px hsl(var(--primary) / 0.35);
  }
}

/* Soft entrance animations */
@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slide-in-right {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Animation utility classes */
.animate-float {
  animation: float 4s ease-in-out infinite;
}

.animate-float-slow {
  animation: float-slow 5s ease-in-out infinite;
}

.animate-float-reverse {
  animation: float-reverse 4s ease-in-out infinite;
}

.animate-orbit {
  animation: orbit 25s linear infinite;
}

.animate-orbit-reverse {
  animation: orbit-reverse 30s linear infinite;
}

.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

.animate-fade-up {
  animation: fade-up 0.4s ease-out forwards;
}

.animate-scale-in {
  animation: scale-in 0.3s ease-out forwards;
}

.animate-slide-in {
  animation: slide-in-right 0.4s ease-out forwards;
}

/* Staggered animations */
.animate-stagger > * {
  opacity: 0;
  animation: fade-up 0.4s ease-out forwards;
}
.animate-stagger > *:nth-child(1) { animation-delay: 0ms; }
.animate-stagger > *:nth-child(2) { animation-delay: 50ms; }
.animate-stagger > *:nth-child(3) { animation-delay: 100ms; }
.animate-stagger > *:nth-child(4) { animation-delay: 150ms; }
.animate-stagger > *:nth-child(5) { animation-delay: 200ms; }
.animate-stagger > *:nth-child(6) { animation-delay: 250ms; }
.animate-stagger > *:nth-child(7) { animation-delay: 300ms; }
.animate-stagger > *:nth-child(8) { animation-delay: 350ms; }
.animate-stagger > *:nth-child(9) { animation-delay: 400ms; }
.animate-stagger > *:nth-child(10) { animation-delay: 450ms; }

/* ========================================
   MODERN SAAS COMPONENT PATTERNS
   Icon Badges, Progress Rings, Grids
   ======================================== */

/* Icon Badge Base */
.icon-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  color: white;
  flex-shrink: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.icon-badge:hover {
  transform: scale(1.05);
}

/* Icon Badge Gradient Variants - Logo-inspired */
.icon-badge-purple {
  background: linear-gradient(135deg, hsl(262 90% 66%) 0%, hsl(262 85% 75%) 100%);
  box-shadow: 0 4px 12px hsl(262 90% 66% / 0.25);
}

.icon-badge-blue {
  background: linear-gradient(135deg, hsl(222 90% 63%) 0%, hsl(222 85% 72%) 100%);
  box-shadow: 0 4px 12px hsl(222 90% 63% / 0.25);
}

.icon-badge-cyan {
  background: linear-gradient(135deg, hsl(190 90% 50%) 0%, hsl(190 85% 60%) 100%);
  box-shadow: 0 4px 12px hsl(190 90% 50% / 0.25);
}

.icon-badge-magenta {
  background: linear-gradient(135deg, hsl(291 90% 62%) 0%, hsl(291 85% 72%) 100%);
  box-shadow: 0 4px 12px hsl(291 90% 62% / 0.25);
}

.icon-badge-green {
  background: linear-gradient(135deg, #22c55e 0%, #4ade80 100%);
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.25);
}

.icon-badge-orange {
  background: linear-gradient(135deg, #f59e0b 0%, #fcd34d 100%);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25);
}

.icon-badge-coral {
  background: linear-gradient(135deg, #f43f5e 0%, #fb7185 100%);
  box-shadow: 0 4px 12px rgba(244, 63, 94, 0.25);
}

.icon-badge-teal {
  background: linear-gradient(135deg, #14b8a6 0%, #2dd4bf 100%);
  box-shadow: 0 4px 12px rgba(20, 184, 166, 0.25);
}

.icon-badge-gold {
  background: linear-gradient(135deg, #eab308 0%, #facc15 100%);
  box-shadow: 0 4px 12px rgba(234, 179, 8, 0.25);
}

.icon-badge-mint {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}

/* Theme-aware icon badges */
.icon-badge-primary {
  background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--primary) / 0.8) 100%);
  box-shadow: 0 4px 12px hsl(var(--primary) / 0.25);
}

.icon-badge-accent {
  background: linear-gradient(135deg, hsl(var(--accent)) 0%, hsl(var(--accent) / 0.8) 100%);
  box-shadow: 0 4px 12px hsl(var(--accent) / 0.25);
}

/* Logo gradient badge */
.icon-badge-logo {
  background: var(--gradient-logo);
  box-shadow: 0 4px 12px hsl(262 90% 66% / 0.25);
}

.icon-badge-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

/* Progress Ring Component */
.progress-ring-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.progress-ring-svg {
  transform: rotate(-90deg);
}

.progress-ring-bg {
  stroke: hsl(var(--muted));
  fill: none;
}

.progress-ring-fill {
  fill: none;
  transition: stroke-dashoffset 0.6s ease;
  stroke-linecap: round;
}

/* Gradient stroke for progress ring */
.progress-ring-gradient {
  stroke: url(#progress-gradient);
}

/* Two-tone cards with accent headers */
.card-accent-header {
  position: relative;
  overflow: hidden;
}

.card-accent-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--accent-bar-color, var(--primary-gradient));
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

/* Stats Grid Layouts */
.stats-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.stats-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.stats-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem;
}

.bento-grid > .span-4 { grid-column: span 4; }
.bento-grid > .span-6 { grid-column: span 6; }
.bento-grid > .span-8 { grid-column: span 8; }
.bento-grid > .span-12 { grid-column: span 12; }

/* Page Header Styles */
.page-header {
  position: relative;
}

.page-header::after {
  content: '';
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, hsl(var(--border)) 0%, transparent 100%);
}

/* Quick Actions Grid */
.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.quick-action-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: hsl(var(--glass-bg-subtle));
  backdrop-filter: blur(12px);
  border: 1px solid hsl(var(--glass-border));
  border-radius: var(--radius-xl);
  cursor: pointer;
  transition: all 0.2s ease;
}

.quick-action-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft-lg);
  border-color: hsl(var(--primary) / 0.2);
}

/* Pipeline Visualization */
.pipeline-container {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}

.pipeline-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1rem;
  background: hsl(var(--card) / 0.5);
  border-radius: var(--radius-xl);
  border: 1px solid hsl(var(--border) / 0.4);
  transition: all 0.25s ease;
  position: relative;
}

.pipeline-stage::after {
  content: '';
  position: absolute;
  right: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid hsl(var(--border) / 0.6);
}

.pipeline-stage:last-child::after {
  display: none;
}

.pipeline-stage:hover {
  background: hsl(var(--card));
  border-color: hsl(var(--primary) / 0.2);
  box-shadow: var(--shadow-soft);
}

.pipeline-stage-value {
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-heading);
  color: hsl(var(--foreground));
}

.pipeline-stage-label {
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
}

/* Horizontal Scroll Container */
.horizontal-scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.horizontal-scroll::-webkit-scrollbar {
  height: 6px;
}

.horizontal-scroll::-webkit-scrollbar-track {
  background: hsl(var(--muted));
  border-radius: 3px;
}

.horizontal-scroll::-webkit-scrollbar-thumb {
  background: hsl(var(--primary) / 0.4);
  border-radius: 3px;
}

.horizontal-scroll > * {
  flex-shrink: 0;
  scroll-snap-align: start;
}

/* Tab Navigation Pills */
.tab-pills {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.25rem;
  background: hsl(var(--muted));
  border-radius: var(--radius-full);
}

.tab-pill {
  padding: 0.5rem 1rem;
  border-radius: var(--radius-full);
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  background: transparent;
}

.tab-pill:hover {
  color: hsl(var(--foreground));
}

.tab-pill.active {
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  box-shadow: var(--shadow-soft-sm);
}

/* Content Fade In Animation */
@keyframes content-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.content-fade-in {
  animation: content-fade-in 0.4s ease-out forwards;
}

.content-fade-in-delay-1 { animation-delay: 0.1s; }
.content-fade-in-delay-2 { animation-delay: 0.2s; }
.content-fade-in-delay-3 { animation-delay: 0.3s; }
.content-fade-in-delay-4 { animation-delay: 0.4s; }

/* Responsive Grid Adjustments */
@media (max-width: 1200px) {
  .stats-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .bento-grid > .span-4,
  .bento-grid > .span-6,
  .bento-grid > .span-8 {
    grid-column: span 6;
  }
}

@media (max-width: 768px) {
  .stats-grid-4,
  .stats-grid-3,
  .stats-grid-2 {
    grid-template-columns: 1fr;
  }

  .bento-grid > .span-4,
  .bento-grid > .span-6,
  .bento-grid > .span-8,
  .bento-grid > .span-12 {
    grid-column: span 12;
  }

  .pipeline-container {
    flex-direction: column;
  }

  .pipeline-stage::after {
    right: 50%;
    top: auto;
    bottom: -0.5rem;
    transform: translateX(50%) rotate(90deg);
  }
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

@media (max-width: 768px) {
  :root,
  html[data-theme] {
    --sidebar-width: 0px;
    --glass-blur: 12px;
  }

  .app-main__content > .min-h-screen {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .glass-card,
  .glass-panel {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  /* Disable background grid on mobile */
  html.dark body,
  html[data-theme="dark"] body,
  html[data-theme="dark-riseiq"] body {
    background-image: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gradient-mesh,
  .animate-float,
  .animate-float-slow,
  .animate-orbit,
  .animate-pulse-glow,
  .animate-fade-up,
  .animate-scale-in,
  .animate-slide-in,
  .animate-stagger > *,
  .animate-float-card-1,
  .animate-float-card-2,
  .animate-float-card-3,
  .animate-float-card-4,
  .robot-eye-pulse,
  .robot-eye,
  .robot-eye-r,
  .robot-look-idle {
    animation: none !important;
  }

  * {
    transition-duration: 0.01ms !important;
  }
}

/* ========================================
   Premium Homepage Utilities — Luminous Geometry
   ======================================== */

/* Subtle grid crosshatch for hero / section backgrounds */
.marketing-grid-bg {
  background-image:
    linear-gradient(hsl(var(--primary) / 0.05) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--primary) / 0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}

html[data-theme="light"] .marketing-grid-bg {
  background-image:
    linear-gradient(hsl(var(--primary) / 0.07) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--primary) / 0.07) 1px, transparent 1px);
}

/* Floating pill header */
.marketing-header--pill {
  background: transparent;
  border: none;
  box-shadow: none;
}

.marketing-header--pill .marketing-header__inner {
  width: calc(100% - 2rem);
  max-width: 1320px;
  margin: 14px auto 0;
  padding: 0 1.75rem;
  display: flex;
  align-items: center;
  height: 60px;
  background: hsl(0 0% 0% / 0.80);
  border: 1px solid hsl(var(--border) / 0.45);
  border-radius: 999px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.marketing-header--pill.scrolled .marketing-header__inner {
  background: hsl(0 0% 0% / 0.92);
  border-color: hsl(var(--border) / 0.65);
  box-shadow: 0 8px 32px hsl(0 0% 0% / 0.30);
}

html[data-theme="light"] .marketing-header--pill .marketing-header__inner {
  background: hsl(var(--background) / 0.82);
  border-color: hsl(var(--border) / 0.55);
  box-shadow: 0 4px 20px hsl(260 25% 50% / 0.08);
}

html[data-theme="light"] .marketing-header--pill.scrolled .marketing-header__inner {
  background: hsl(var(--background) / 0.95);
  border-color: hsl(var(--border) / 0.75);
  box-shadow: 0 8px 32px hsl(260 25% 50% / 0.14);
}

/* Marketing pill nav — slightly larger text */
.marketing-header--pill nav button,
.marketing-header--pill nav a button {
  font-size: 0.9375rem;
}

/* Active nav link gradient text */
.nav-link--active {
  background: var(--gradient-logo);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}

.nav-link--active::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gradient-logo);
}

/* ========================================
   3D Animation Utilities
   ======================================== */

.scene-3d { transform-style: preserve-3d; }

@keyframes orb-rotate {
  from { transform: rotateY(0deg) rotateX(5deg); }
  to   { transform: rotateY(360deg) rotateX(5deg); }
}

@keyframes float-card-1 {
  0%,100% { transform: translateZ(80px) translateY(0px); }
  50%     { transform: translateZ(80px) translateY(-8px); }
}
@keyframes float-card-2 {
  0%,100% { transform: translateZ(50px) translateY(0px); }
  50%     { transform: translateZ(50px) translateY(-6px); }
}
@keyframes float-card-3 {
  0%,100% { transform: translateZ(60px) translateY(0px); }
  50%     { transform: translateZ(60px) translateY(-10px); }
}
@keyframes float-card-4 {
  0%,100% { transform: translateZ(40px) translateY(0px); }
  50%     { transform: translateZ(40px) translateY(-5px); }
}

@keyframes hero-label-drift-1 {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg); }
  35% { transform: translate3d(12px, -10px, 0) rotate(1deg); }
  70% { transform: translate3d(-6px, -16px, 0) rotate(-1deg); }
}
@keyframes hero-label-drift-2 {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(1deg); }
  30% { transform: translate3d(-14px, -8px, 0) rotate(-2deg); }
  68% { transform: translate3d(10px, -14px, 0) rotate(2deg); }
}
@keyframes hero-label-drift-3 {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
  40% { transform: translate3d(14px, 10px, 0) rotate(2deg); }
  75% { transform: translate3d(-8px, -4px, 0) rotate(-2deg); }
}
@keyframes hero-label-drift-4 {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(2deg); }
  28% { transform: translate3d(-10px, 8px, 0) rotate(-1deg); }
  62% { transform: translate3d(8px, -12px, 0) rotate(1deg); }
}

.animate-float-card-1 { animation: float-card-1 3.5s ease-in-out infinite; }
.animate-float-card-2 { animation: float-card-2 4.2s ease-in-out infinite; }
.animate-float-card-3 { animation: float-card-3 5s ease-in-out infinite; }
.animate-float-card-4 { animation: float-card-4 3.8s ease-in-out infinite; }

/* Robot animations */

/* Eye blink — fast close/open, natural double-blink */
@keyframes robot-blink {
  0%, 86%, 100% { transform: scaleY(1); }
  89%           { transform: scaleY(0.04); }
  92%           { transform: scaleY(1); }
  94%           { transform: scaleY(0.08); }
  96%           { transform: scaleY(1); }
}
.robot-eye {
  transform-box: fill-box;
  transform-origin: center;
  animation: robot-blink 5s ease-in-out infinite;
}
.robot-eye-r { animation-delay: 0.055s; } /* right eye tiny lag for realism */

/* Idle look-around — turns head left/right/up/down */
@keyframes robot-look {
  0%,  100% { transform: perspective(900px) rotateY(0deg)   rotateX(0deg); }
  15%        { transform: perspective(900px) rotateY(-16deg) rotateX(3deg); }
  32%        { transform: perspective(900px) rotateY(-14deg) rotateX(0deg); }
  52%        { transform: perspective(900px) rotateY(14deg)  rotateX(-3deg); }
  68%        { transform: perspective(900px) rotateY(12deg)  rotateX(0deg); }
  83%        { transform: perspective(900px) rotateY(-6deg)  rotateX(5deg); }
}
.robot-look-idle {
  animation: robot-look 11s ease-in-out infinite;
}

/* Antenna tip glow pulse */
@keyframes robot-eye-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.55; }
}
.robot-eye-pulse { animation: robot-eye-pulse 2.5s ease-in-out infinite; }

/* Strip R3F Html wrapper box */
.robot-label-wrapper {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
}

/* Bento grid for features */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.bento-grid .bento-large {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .bento-grid {
    grid-template-columns: 1fr;
  }
  .bento-grid .bento-large {
    grid-column: span 1;
  }
}

/* Gradient border card via pseudo-element */
.card-gradient-border {
  position: relative;
  isolation: isolate;
}

.card-gradient-border::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg,
    hsl(var(--secondary) / 0.50),
    hsl(var(--primary) / 0.30),
    hsl(var(--accent) / 0.20));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: -1;
}

.card-gradient-border:hover::before {
  opacity: 1.5;
}

/* Step connector line */
.step-connector {
  position: relative;
}

.step-connector::after {
  content: '';
  position: absolute;
  top: 28px;
  right: -50%;
  width: 100%;
  height: 1px;
  border-top: 1px dashed hsl(var(--border) / 0.6);
}

@media (max-width: 768px) {
  .step-connector::after {
    display: none;
  }
}

/* Audience card hover arrow reveal */
.audience-card .card-arrow {
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

.audience-card:hover .card-arrow {
  opacity: 1;
  transform: translateX(0);
}

.audience-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.audience-card:hover {
  transform: translateY(-3px);
}

/* Differentiator row divider */
.differentiator-row {
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  padding: 1.5rem 0;
}

.differentiator-row:last-child {
  border-bottom: none;
}

/* Footer gradient top border */
.footer-gradient-border {
  border-top: 1px solid transparent;
  background-origin: border-box;
  background-clip: border-box;
  position: relative;
}

.footer-gradient-border::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    hsl(var(--secondary) / 0.6),
    hsl(var(--primary) / 0.6),
    hsl(var(--accent) / 0.6));
}

/* Team member card photo fallback avatar */
.team-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, hsl(var(--secondary)), hsl(var(--primary)));
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

/* Section label badge */
.section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.1);
  border: 1px solid hsl(var(--primary) / 0.2);
  border-radius: 999px;
  padding: 0.3rem 0.85rem;
}

/* ========================================
   TOP NAV LAYOUT
   ======================================== */

.app-shell--top-nav {
  flex-direction: column;
}

.app-shell--top-nav .app-main {
  margin-left: 0;
  max-width: 100vw;
  min-height: calc(100vh - var(--topnav-height));
  padding-top: 0;
}

/* ========================================
   TOP NAV COMPONENT
   ======================================== */

.topnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent;
  border: none;
  box-shadow: none;
  pointer-events: none;
}

.topnav__pill {
  pointer-events: auto;
  width: calc(100% - 2rem);
  max-width: 1320px;
  margin: 14px auto 0;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 0;
  height: 60px;
  background: hsl(0 0% 0% / 0.82);
  border: 1px solid hsl(var(--border) / 0.45);
  border-radius: 999px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

html[data-theme="light"] .topnav__pill {
  background: hsl(var(--background) / 0.88);
  border-color: hsl(var(--border) / 0.55);
  box-shadow: 0 4px 20px hsl(260 25% 50% / 0.10);
}

/* Logo brand mark inside topnav */
.topnav__pill .riseiq-brand-shell {
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}


/* Logo */
.topnav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 1.25rem;
  text-decoration: none;
  overflow: hidden;
  align-self: stretch;
}

.topnav__logo-text {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: var(--gradient-logo);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Nav items */
.topnav__items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex: 1;
  overflow: visible;
  scrollbar-width: none;
}

.topnav__items::-webkit-scrollbar {
  display: none;
}

.topnav__item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-sm);
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--font-sans);
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: color 0.18s ease, background 0.18s ease;
}

.topnav__item:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
}

.topnav__item.is-active {
  color: var(--item-accent, hsl(var(--primary)));
  background: transparent;
  font-weight: 600;
}

.topnav__item.is-active::before {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 6px);
  width: 12px;
  height: 12px;
  border-right: 3px solid var(--item-accent, hsl(var(--primary)));
  border-bottom: 3px solid var(--item-accent, hsl(var(--primary)));
  border-radius: 2px;
  box-shadow: 4px 4px 12px -4px var(--item-accent, hsl(var(--primary)));
  opacity: 0.9;
  transform: translateX(-50%) rotate(45deg);
  pointer-events: none;
}

.topnav__item.is-active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0.5rem;
  right: 0.5rem;
  height: 2px;
  border-radius: 1px;
  background: var(--item-accent, hsl(var(--primary)));
  box-shadow: 0 0 8px var(--item-accent, hsl(var(--primary)));
}

.topnav__item-icon {
  flex-shrink: 0;
  opacity: 0.8;
}

html[data-helios-orbit="true"] .topnav__item:not([data-nav-label="Helios"]):not([data-nav-label="Help"]),
html[data-helios-orbit="true"] .topnav__drawer-item:not([data-nav-label="Helios"]):not([data-nav-label="Help"]) {
  display: none;
}

/* Helios special item */
.topnav__item--helios {
  position: relative;
}

.topnav__helios-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: hsl(var(--primary));
  box-shadow: 0 0 6px hsl(var(--primary) / 0.8);
  flex-shrink: 0;
  animation: pulse-glow 2.5s ease-in-out infinite;
}

/* Controls */
.topnav__controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin-left: 0.75rem;
}

/* Greeting trigger */
.topnav__greeting {
  position: relative;
  flex-shrink: 0;
  margin: 0 0.5rem 0 0.25rem;
}

.topnav__greeting-btn {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius-md);
  border: none;
  background: transparent;
  color: hsl(var(--muted-foreground));
  font-size: 1rem;
  font-family: var(--font-sans);
  font-weight: 400;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.18s ease, background 0.18s ease;
}

.topnav__greeting-btn strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}

.topnav__greeting-btn:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.45);
}

.topnav__greeting .topnav__popover {
  right: 0;
  left: auto;
}

.topnav__theme-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: hsl(var(--muted-foreground));
  cursor: pointer;
  transition: color 0.18s, background 0.18s;
}

.topnav__theme-btn:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
}

/* Profile */
.topnav__profile {
  position: relative;
}

.topnav__profile-btn {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.4rem 0.25rem 0.25rem;
  border: none;
  border-radius: var(--radius-full);
  background: transparent;
  cursor: pointer;
  transition: background 0.18s;
}

.topnav__profile-btn:hover {
  background: hsl(var(--muted) / 0.5);
}

.topnav__avatar {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.topnav__avatar-fallback {
  width: 28px;
  height: 28px;
  font-size: 0.7rem;
  font-weight: 600;
  background: linear-gradient(135deg, hsl(var(--primary) / 0.8), hsl(var(--accent) / 0.8));
  color: white;
}

.topnav__profile-chevron {
  color: hsl(var(--muted-foreground));
  transition: transform 0.2s ease;
}

.topnav__profile-chevron.is-open {
  transform: rotate(180deg);
}

/* Profile popover */
.topnav__popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: hsl(var(--popover));
  border: 1px solid hsl(var(--popover-border));
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft-xl);
  padding: 0.75rem;
  z-index: 200;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.topnav__popover-name {
  font-size: 0.875rem;
  font-weight: 600;
  font-family: var(--font-heading);
  color: hsl(var(--foreground));
  padding: 0 0.25rem 0.25rem;
}

.topnav__popover-meta {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  padding: 0.1rem 0.25rem;
}

.topnav__popover-location {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: hsl(var(--muted-foreground));
  padding: 0.1rem 0.25rem;
}

.topnav__popover-progress {
  position: relative;
  margin: 0.5rem 0.25rem 0.25rem;
  height: 3px;
  background: hsl(var(--muted));
  border-radius: 2px;
  overflow: visible;
}

.topnav__popover-progress-bar {
  position: absolute;
  inset-block: 0;
  left: 0;
  border-radius: 2px;
  background: hsl(var(--primary));
  transition: width 0.4s ease;
}

.topnav__popover-progress > span {
  display: block;
  font-size: 0.68rem;
  color: hsl(var(--muted-foreground));
  padding-top: 6px;
}

.topnav__popover-divider {
  height: 1px;
  background: hsl(var(--border) / 0.5);
  margin: 0.5rem 0;
}

.topnav__popover-link {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.5rem;
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  text-decoration: none;
  transition: background 0.15s;
}

.topnav__popover-link:hover {
  background: hsl(var(--muted) / 0.6);
}

.topnav__popover-link--danger {
  color: hsl(var(--destructive));
}

/* Mobile hamburger — hidden on desktop */
.topnav__mobile-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: var(--radius-md);
  background: hsl(var(--muted) / 0.4);
  color: hsl(var(--foreground));
  cursor: pointer;
  touch-action: manipulation;
  flex-shrink: 0;
  transition: background 0.15s ease;
}

.topnav__mobile-btn:hover,
.topnav__mobile-btn:active {
  background: hsl(var(--muted) / 0.65);
}

/* Mobile side-sheet drawer */
.topnav__drawer {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  pointer-events: auto;
}

.topnav__drawer-backdrop {
  position: absolute;
  inset: 0;
  background: hsl(0 0% 0% / 0.52);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.topnav__drawer-panel {
  position: relative;
  width: min(85vw, 320px);
  height: 100%;
  background: hsl(var(--card) / 0.97);
  border-right: 1px solid hsl(var(--border) / 0.6);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 8px 0 32px hsl(0 0% 0% / 0.28);
  animation: slide-from-left 0.24s cubic-bezier(0.22, 1, 0.36, 1) both;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

html[data-theme="light"] .topnav__drawer-panel {
  background: hsl(var(--background) / 0.97);
}

@keyframes slide-from-left {
  from { transform: translateX(-100%); opacity: 0.6; }
  to   { transform: translateX(0);     opacity: 1; }
}

/* Drawer header */
.topnav__drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem 0.75rem;
  flex-shrink: 0;
}

.topnav__drawer-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  overflow: hidden;
  max-height: 72px;
}

.topnav__drawer-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: var(--radius-md);
  background: hsl(var(--muted) / 0.5);
  color: hsl(var(--foreground));
  cursor: pointer;
  touch-action: manipulation;
}

/* Drawer user greeting */
.topnav__drawer-user {
  padding: 0.5rem 1.25rem 0.75rem;
  flex-shrink: 0;
}

.topnav__drawer-user-name {
  font-size: 0.95rem;
  color: hsl(var(--muted-foreground));
  font-family: var(--font-sans);
}

.topnav__drawer-user-name strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}

.topnav__drawer-user-school {
  font-size: 0.78rem;
  color: hsl(var(--muted-foreground) / 0.7);
  margin-top: 0.2rem;
}

/* Drawer divider */
.topnav__drawer-divider {
  height: 1px;
  background: hsl(var(--border) / 0.5);
  margin: 0.25rem 1rem;
  flex-shrink: 0;
}

/* Drawer nav list */
.topnav__drawer-nav {
  flex: 1;
  padding: 0.5rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* Drawer nav items — large touch targets */
.topnav__drawer-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.8rem 0.875rem;
  min-height: 52px;
  border-radius: var(--radius-md);
  font-size: 0.95rem;
  font-weight: 500;
  font-family: var(--font-sans);
  letter-spacing: 0.01em;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  transition: color 0.15s, background 0.15s;
  position: relative;
  touch-action: manipulation;
}

.topnav__drawer-item:hover,
.topnav__drawer-item:active {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
}

.topnav__drawer-item.is-active {
  color: var(--item-accent, hsl(var(--primary)));
  background: color-mix(in srgb, var(--item-accent, hsl(var(--primary))) 10%, transparent);
  font-weight: 600;
}

.topnav__drawer-item-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s;
}

.topnav__drawer-item.is-active .topnav__drawer-item-dot {
  opacity: 1;
}

.topnav__drawer-item-icon {
  flex-shrink: 0;
  opacity: 0.75;
}

.topnav__drawer-item.is-active .topnav__drawer-item-icon {
  opacity: 1;
}

.topnav__drawer-item-label {
  flex: 1;
}

/* Drawer footer: theme + sign out */
.topnav__drawer-footer {
  padding: 0.5rem 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  flex-shrink: 0;
}

.topnav__drawer-footer-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  min-height: 48px;
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  font-weight: 500;
  font-family: var(--font-sans);
  color: hsl(var(--muted-foreground));
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s, background 0.15s;
  touch-action: manipulation;
  width: 100%;
  text-align: left;
}

.topnav__drawer-footer-btn:hover,
.topnav__drawer-footer-btn:active {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
}

.topnav__drawer-footer-btn--danger {
  color: hsl(var(--destructive) / 0.85);
}

.topnav__drawer-footer-btn--danger:hover {
  color: hsl(var(--destructive));
  background: hsl(var(--destructive) / 0.08);
}

/* Responsive — push content below TopNav */
.app-shell--top-nav .app-main {
  padding-top: var(--topnav-height);
}

@media (max-width: 900px) {
  .topnav__items {
    display: none;
  }

  /* Push greeting (and controls after it) to the right edge of the pill */
  .topnav__greeting {
    margin-left: auto;
  }

  .topnav__mobile-btn {
    display: flex;
  }

  /* Shrink greeting on mobile to give room for hamburger */
  .topnav__greeting-btn {
    font-size: 0.875rem;
    padding: 0.35rem 0.5rem;
  }
}

@media (max-width: 640px) {
  .topnav__pill {
    width: calc(100vw - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding: 0 0.75rem;
    gap: 0;
  }

  /* Condense greeting on very small screens */
  .topnav__greeting {
    margin: 0 0.25rem;
  }

  .topnav__greeting-btn {
    padding: 0.35rem 0.4rem;
    max-width: 140px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .topnav__controls {
    margin-left: 0.25rem;
    gap: 0.25rem;
  }

  /* Hide theme toggle on very small screens to make room for hamburger */
  .topnav__theme-btn {
    display: none;
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  .topnav__pill {
    margin-top: max(14px, env(safe-area-inset-top, 14px));
  }
}

/* ========================================
   SCRIBE MODULE
   ======================================== */

.scribe-page {
  position: relative;
  min-height: 0;
  overflow: visible;
}

.scribe-ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.scribe-ambient__orb--1 {
  position: absolute;
  top: -10%;
  left: -5%;
  width: 55vw;
  height: 55vw;
  border-radius: 50%;
  background: radial-gradient(circle, hsl(221 90% 60% / 0.14), transparent 65%);
  animation: foundry-ambient-drift 36s ease-in-out infinite;
}

.scribe-ambient__orb--2 {
  position: absolute;
  bottom: -15%;
  right: -8%;
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  background: radial-gradient(circle, hsl(262 90% 66% / 0.1), transparent 65%);
  animation: foundry-ambient-drift 44s ease-in-out infinite reverse;
}

.scribe-ambient__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(hsl(var(--border) / 0.06) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--border) / 0.06) 1px, transparent 1px);
  background-size: 40px 40px;
}

.scribe-hero {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem 1.5rem 1.5rem;
  text-align: center;
}

.scribe-hero__image-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.scribe-hero__glow {
  position: absolute;
  inset: -30px;
  border-radius: 50%;
  background: radial-gradient(circle, hsl(221 90% 60% / 0.22), transparent 60%);
  pointer-events: none;
}

.scribe-hero__image {
  width: 160px;
  height: 160px;
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 0 24px hsl(221 90% 60% / 0.35));
}

.scribe-hero__copy {
  max-width: 560px;
}

.scribe-hero__eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(221 90% 60%);
  margin-bottom: 0.5rem;
}

.scribe-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.5vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
  margin: 0 0 0.6rem;
  line-height: 1.25;
}

.scribe-hero__subtitle {
  font-size: 0.9rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.6;
  margin: 0;
}

.scribe-canvas {
  position: relative;
  z-index: 1;
  padding: 0 1rem 2rem;
}

html[data-theme="light"] .scribe-ambient__orb--1 {
  background: radial-gradient(circle, hsl(221 90% 55% / 0.07), transparent 65%);
}

html[data-theme="light"] .scribe-ambient__orb--2 {
  background: radial-gradient(circle, hsl(262 90% 58% / 0.05), transparent 65%);
}

/* ========================================
   COMMAND CENTER (Dashboard Redesign)
   ======================================== */

@keyframes cmd-arc-spin {
  to { transform: rotate(360deg); }
}

@keyframes cmd-sweep {
  0%   { opacity: 0; transform: rotate(-30deg); }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { opacity: 0; transform: rotate(30deg); }
}

/* Circle-wrap: holds rings + arc + glow + circle, all centered */
.cmd-hero__circle-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Idle pulse rings */
.cmd-hero__rings {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 0;
}

.cmd-hero__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid hsl(var(--primary) / 0.45);
}

.cmd-hero__ring--1 { width: 400px; height: 400px; }
.cmd-hero__ring--2 { width: 500px; height: 500px; }
.cmd-hero__ring--3 { width: 610px; height: 610px; }

/* Spinning arc — only animates, CSS drives the rotation */
.cmd-hero__arc {
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    hsl(var(--primary) / 0.7) 12%,
    hsl(var(--secondary) / 0.5) 22%,
    transparent 35%
  );
  mask-image: radial-gradient(circle, transparent 48%, black 49%, black 50%, transparent 51%);
  -webkit-mask-image: radial-gradient(circle, transparent 48%, black 49%, black 50%, transparent 51%);
  transition: opacity 0.25s ease;
}

.cmd-hero__circle-wrap:hover .cmd-hero__arc {
  opacity: 1;
  animation: cmd-arc-spin 1.8s linear infinite;
}

/* Ambient glow — sits behind the circle */
.cmd-hero__glow {
  position: absolute;
  width: 450px;
  height: 450px;
  border-radius: 50%;
  background: radial-gradient(circle,
    hsl(var(--primary) / 0.22) 0%,
    hsl(var(--secondary) / 0.1) 45%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* The main circle */
.cmd-hero__circle {
  position: relative;
  z-index: 1;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow:
    0 0 0 1.5px hsl(var(--primary) / 0.35),
    0 0 60px hsl(var(--primary) / 0.22),
    0 24px 80px hsl(0 0% 0% / 0.6);
  transition: box-shadow 0.35s ease;
}

.cmd-hero__image-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10%;
  transition: filter 0.3s ease, transform 0.3s ease;
}

.cmd-hero__image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

/* ── Light mode ── */
html[data-theme="light"] .cmd-hero__circle {
  background: #000;
  box-shadow:
    0 0 0 1.5px hsl(var(--primary) / 0.35),
    0 0 60px hsl(var(--primary) / 0.22),
    0 18px 60px hsl(260 30% 50% / 0.2);
}

html[data-theme="light"] .cmd-hero__ring {
  border-color: hsl(var(--primary) / 0.3);
}

html[data-theme="light"] .cmd-hero__glow {
  background: radial-gradient(circle,
    hsl(var(--primary) / 0.12) 0%,
    hsl(var(--secondary) / 0.06) 45%,
    transparent 70%
  );
}

/* ── Orbit header (top of stage) ── */
.orbit-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28rem;
  flex-shrink: 0;
  z-index: 5;
  text-align: center;
  padding: 0 1rem;
}

.orbit-header__rule {
  width: 320px;
  height: 1px;
  margin-bottom: 0.45rem;
  background: linear-gradient(
    90deg,
    transparent 0%,
    hsl(190 90% 55% / 0.55) 30%,
    hsl(262 90% 66% / 0.65) 50%,
    hsl(291 90% 62% / 0.55) 70%,
    transparent 100%
  );
  transform-origin: center;
  animation: orbitRuleShimmer 4s ease-in-out infinite;
}

@keyframes orbitRuleShimmer {
  0%, 100% { opacity: 0.7;  filter: blur(0px); }
  50%       { opacity: 1.0;  filter: blur(0.5px); }
}

.orbit-header__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 0.3em;
  margin: 0;
  font-size: clamp(1.45rem, 2.3vw, 2.2rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.025em;
  background: linear-gradient(
    120deg,
    hsl(190 90% 72%) 0%,
    hsl(220 85% 72%) 25%,
    hsl(262 90% 78%) 50%,
    hsl(291 85% 74%) 75%,
    hsl(190 90% 72%) 100%
  );
  background-size: 250% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: orbitTitleShimmer 5s ease-in-out infinite;
}

/* Mobile: render title as flowing inline text, not flex-wrapped words */
.orbit-header__title--inline {
  display: block;
  font-size: clamp(1.2rem, 5vw, 1.6rem);
  text-align: center;
}

@keyframes orbitTitleShimmer {
  0%, 100% { background-position: 0% 50%;   }
  50%       { background-position: 100% 50%; }
}

.orbit-header__word {
  display: inline-block;
  white-space: nowrap;
}

/* On very narrow viewports prevent individual words from each taking a full line */
@media (max-width: 480px) {
  .orbit-header__title {
    font-size: clamp(1.15rem, 4.5vw, 1.5rem);
    gap: 0.25em;
    line-height: 1.2;
  }
}

.orbit-header__powered {
  font-size: clamp(0.72rem, 1.1vw, 0.9rem);
  color: hsl(var(--muted-foreground) / 0.75);
  margin: 0;
  letter-spacing: 0.04em;
  font-style: normal;
}

.orbit-header__helios {
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: linear-gradient(90deg, hsl(190 90% 62%), hsl(262 90% 70%));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Orbit CTA (below solar) ── */
.orbit-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 1.1rem 0.45rem 0.65rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.45);
  background: hsl(var(--card) / 0.45);
  backdrop-filter: blur(12px);
  cursor: pointer;
  flex-shrink: 0;
  z-index: 5;
  font-family: inherit;
  animation: orbitCtaFloat 3s ease-in-out infinite;
  transition: border-color 0.2s, background 0.2s;
}

.orbit-cta:hover {
  border-color: hsl(262 90% 66% / 0.5);
  background: hsl(262 90% 66% / 0.08);
}

@keyframes orbitCtaFloat {
  0%, 100% { transform: translateY(0);  box-shadow: 0 0 0 0 hsl(262 90% 66% / 0);   }
  50%       { transform: translateY(-3px); box-shadow: 0 6px 24px hsl(262 90% 66% / 0.12); }
}

.orbit-cta__pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: hsl(262 90% 68%);
  box-shadow: 0 0 10px hsl(262 90% 68% / 0.6);
  animation: orbitPulseDot 1.8s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes orbitPulseDot {
  0%, 100% { transform: scale(1);    opacity: 1;   }
  50%       { transform: scale(0.65); opacity: 0.4; }
}

.orbit-cta__text {
  font-size: clamp(0.75rem, 1.1vw, 0.88rem);
  font-weight: 600;
  color: hsl(var(--foreground) / 0.82);
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.orbit-cta__arrow {
  font-size: 0.9rem;
  color: hsl(262 90% 68%);
  display: inline-block;
}

/* ── Solar System ── */
.cmd-solar-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}

.cmd-solar {
  position: relative;
  width: 720px;
  height: 720px;
  flex-shrink: 0;
  transform-origin: center center;
}

/* ── Height-responsive solar scaling — no scroll ── */
@media (max-height: 920px) {
  .cmd-solar {
    transform: scale(0.88);
    margin-top: -43px;
    margin-bottom: -43px;
  }
}
@media (max-height: 820px) {
  .cmd-solar {
    transform: scale(0.76);
    margin-top: -86px;
    margin-bottom: -86px;
  }
}
@media (max-height: 740px) {
  .cmd-solar {
    transform: scale(0.66);
    margin-top: -122px;
    margin-bottom: -122px;
  }
}
@media (max-height: 660px) {
  .cmd-solar {
    transform: scale(0.56);
    margin-top: -158px;
    margin-bottom: -158px;
  }
}

/* Light mode header */
html[data-theme="light"] .orbit-header__title {
  background: linear-gradient(
    120deg,
    hsl(190 90% 40%) 0%,
    hsl(220 85% 50%) 35%,
    hsl(262 90% 55%) 60%,
    hsl(291 85% 52%) 100%
  );
  background-size: 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: orbitTitleShimmer 5s ease-in-out infinite;
}

.cmd-orbit-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 540px;
  height: 540px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px dashed hsl(var(--primary) / 0.15);
  pointer-events: none;
}

.cmd-sun {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

/* Planet wraps: rotate to angle, translate out, rotate back to stay upright */
.cmd-planet-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:
    rotate(var(--planet-angle))
    translateX(270px)
    rotate(calc(-1 * var(--planet-angle)))
    translate(-50%, -50%);
  z-index: 3;
}

.cmd-planet {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.cmd-planet__circle {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: hsl(240 10% 4%);
  border: 2px solid var(--planet-accent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--planet-accent) 18%, transparent),
    0 0 22px color-mix(in srgb, var(--planet-accent) 46%, transparent),
    inset 0 1px 0 hsl(0 0% 100% / 0.12);
  overflow: hidden;
  transition:
    transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmd-planet:hover .cmd-planet__circle {
  transform: scale(1.14);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--planet-accent) 28%, transparent),
    0 0 34px color-mix(in srgb, var(--planet-accent) 70%, transparent),
    0 0 74px color-mix(in srgb, var(--planet-accent) 28%, transparent),
    inset 0 1px 0 hsl(0 0% 100% / 0.18);
}

.cmd-planet__img-inner {
  width: 100%;
  height: 100%;
  padding: 14%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmd-planet__image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.cmd-planet__icon {
  color: var(--planet-accent);
  filter: drop-shadow(0 0 12px color-mix(in srgb, var(--planet-accent) 60%, transparent));
  opacity: 0.96;
  transition: color 0.28s ease, filter 0.28s ease;
}

.cmd-planet__name {
  font-size: 0.62rem;
  font-weight: 700;
  color: hsl(var(--muted-foreground));
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
  text-align: center;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  pointer-events: none;
}

.cmd-planet:hover .cmd-planet__name {
  opacity: 1;
  transform: translateY(0);
}

html[data-theme="light"] .cmd-planet__circle {
  background: hsl(240 10% 4%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--planet-accent) 18%, transparent),
    0 0 22px color-mix(in srgb, var(--planet-accent) 46%, transparent),
    0 2px 12px hsl(260 20% 50% / 0.1),
    inset 0 1px 0 hsl(0 0% 100% / 0.12);
}

html[data-theme="light"] .cmd-planet:hover .cmd-planet__circle {
  box-shadow:
    0 0 28px color-mix(in srgb, var(--planet-accent) 55%, transparent),
    0 4px 18px hsl(260 20% 50% / 0.12);
}

/* ── Planet mind-map popups ── */

.cmd-planet-motion {
  position: relative;
}

.cmd-planet__mindmap {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  white-space: nowrap;
}

.cmd-planet-motion:hover .cmd-planet__mindmap {
  opacity: 1;
  pointer-events: auto;
}

/* SVG freeform connector */
.cmd-planet__mindmap-svg {
  flex-shrink: 0;
  overflow: visible;
}

.mm-path {
  stroke: color-mix(in srgb, var(--planet-accent) 60%, transparent);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
}

/* Tree: column of 3 nodes, no decorative pseudo-elements */
.cmd-planet__mindmap-tree {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

/* Individual node box */
.cmd-planet__mindmap-node {
  padding: 7px 13px;
  border-radius: 9px;
  font-size: 0.715rem;
  font-weight: 500;
  line-height: 1.35;
  color: hsl(var(--foreground));
  background: hsl(0 0% 6% / 0.92);
  border: 1px solid color-mix(in srgb, var(--planet-accent) 35%, hsl(var(--border) / 0.35));
  box-shadow:
    0 4px 22px hsl(0 0% 0% / 0.40),
    0 0 0 0.5px color-mix(in srgb, var(--planet-accent) 10%, transparent),
    inset 0 1px 0 hsl(255 100% 100% / 0.06);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

html[data-theme="light"] .cmd-planet__mindmap-node {
  background: hsl(var(--background) / 0.96);
  border-color: color-mix(in srgb, var(--planet-accent) 30%, hsl(var(--border) / 0.55));
  box-shadow:
    0 4px 22px hsl(260 20% 40% / 0.15),
    0 0 0 0.5px color-mix(in srgb, var(--planet-accent) 12%, transparent),
    inset 0 1px 0 hsl(255 100% 100% / 0.8);
}

/* ── KEYFRAMES ── */

/* Freeform path draws itself from circle edge outward */
@keyframes mm-draw {
  to { stroke-dashoffset: 0; }
}

/* Node spring entry — from right */
@keyframes mm-node-r {
  0%   { opacity: 0; transform: translateX(-20px) scale(0.70); }
  55%  { opacity: 1; transform: translateX(5px)   scale(1.06); }
  75%  { transform: translateX(-2px) scale(0.98); }
  100% { opacity: 1; transform: translateX(0)     scale(1); }
}

/* Node spring entry — from left */
@keyframes mm-node-l {
  0%   { opacity: 0; transform: translateX(20px)  scale(0.70); }
  55%  { opacity: 1; transform: translateX(-5px)  scale(1.06); }
  75%  { transform: translateX(2px)  scale(0.98); }
  100% { opacity: 1; transform: translateX(0)     scale(1); }
}

/* Accent glow burst on entry */
@keyframes mm-glow {
  0%   { box-shadow: 0 4px 22px hsl(0 0% 0% / 0.40), 0 0 0 0.5px color-mix(in srgb, var(--planet-accent) 10%, transparent), inset 0 1px 0 hsl(255 100% 100% / 0.06); }
  35%  { box-shadow: 0 4px 28px hsl(0 0% 0% / 0.45), 0 0 18px color-mix(in srgb, var(--planet-accent) 45%, transparent), 0 0 0 1px color-mix(in srgb, var(--planet-accent) 55%, transparent), inset 0 1px 0 hsl(255 100% 100% / 0.10); }
  100% { box-shadow: 0 4px 22px hsl(0 0% 0% / 0.40), 0 0 0 0.5px color-mix(in srgb, var(--planet-accent) 10%, transparent), inset 0 1px 0 hsl(255 100% 100% / 0.06); }
}

/* ── RIGHT direction — SVG left edge touches circle right edge ── */
.cmd-planet__mindmap--right {
  left: 110px;           /* circle right edge */
  top: 55px;             /* circle vertical center */
  transform: translateY(-50%);
  flex-direction: row;
  align-items: center;
}

/* Right: paths draw from (0,48) = circle edge outward */
.cmd-planet-motion:hover .cmd-planet__mindmap--right .mm-path--1 { animation: mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--right .mm-path--2 { animation: mm-draw 0.30s 0.10s cubic-bezier(0.4, 0, 0.2, 1) both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--right .mm-path--3 { animation: mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }

/* Right: nodes spring in after their path lands */
.cmd-planet-motion:hover .cmd-planet__mindmap--right .cmd-planet__mindmap-node:nth-child(1) { animation: mm-node-r 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.28s ease both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--right .cmd-planet__mindmap-node:nth-child(2) { animation: mm-node-r 0.50s 0.34s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.34s ease both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--right .cmd-planet__mindmap-node:nth-child(3) { animation: mm-node-r 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.28s ease both; }

/* ── LEFT direction — SVG right edge touches circle left edge ── */
.cmd-planet__mindmap--left {
  right: 110px;          /* circle left edge */
  top: 55px;
  transform: translateY(-50%);
  flex-direction: row-reverse;
  align-items: center;
}

/* Left: paths draw from (44,48) = circle left edge outward */
.cmd-planet-motion:hover .cmd-planet__mindmap--left .mm-path--1 { animation: mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--left .mm-path--2 { animation: mm-draw 0.30s 0.10s cubic-bezier(0.4, 0, 0.2, 1) both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--left .mm-path--3 { animation: mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }

/* Left: nodes spring in */
.cmd-planet-motion:hover .cmd-planet__mindmap--left .cmd-planet__mindmap-node:nth-child(1) { animation: mm-node-l 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.28s ease both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--left .cmd-planet__mindmap-node:nth-child(2) { animation: mm-node-l 0.50s 0.34s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.34s ease both; }
.cmd-planet-motion:hover .cmd-planet__mindmap--left .cmd-planet__mindmap-node:nth-child(3) { animation: mm-node-l 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both, mm-glow 0.65s 0.28s ease both; }

/* Mobile: orbit is replaced by MobileOrbitRail in JS; hide solar stage on narrow screens */
@media (max-width: 880px) {
  .helios-orbit-stage:not(.helios-orbit-stage--mobile) .cmd-solar-section,
  .helios-orbit-stage:not(.helios-orbit-stage--mobile) .orbit-cta,
  .helios-orbit-stage:not(.helios-orbit-stage--mobile) .cmd-abs-col {
    display: none;
  }
}

/* Mobile stage layout */
.helios-orbit-stage--mobile {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  height: auto;
  min-height: 0;
}

/* ── Mobile orbit components ── */

.orbit-mobile {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 2rem;
}

/* Hero card — opens chat */
.orbit-mobile__hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.25rem;
  margin: 0.75rem 1rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, hsl(262 90% 66% / 0.22) 0%, hsl(190 90% 50% / 0.14) 100%);
  border: 1px solid hsl(262 90% 66% / 0.45);
  box-shadow: 0 0 32px hsl(262 90% 66% / 0.18), inset 0 1px 0 hsl(262 90% 80% / 0.12);
  cursor: pointer;
  touch-action: manipulation;
  text-align: left;
  width: calc(100% - 2rem);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  font-family: var(--font-sans);
}

.orbit-mobile__hero:active {
  transform: scale(0.98);
}

.orbit-mobile__hero-img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: #000;
  border: 2px solid hsl(262 90% 66% / 0.5);
  box-shadow: 0 0 20px hsl(262 90% 66% / 0.3);
}

.orbit-mobile__hero-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.orbit-mobile__hero-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
  min-width: 0;
}

.orbit-mobile__hero-name {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: hsl(190 90% 72%);
  background: linear-gradient(90deg, hsl(190 90% 72%), hsl(262 90% 76%));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.orbit-mobile__hero-sub {
  font-size: 0.78rem;
  color: hsl(var(--muted-foreground));
  font-weight: 400;
}

.orbit-mobile__hero-arrow {
  font-size: 1.2rem;
  color: hsl(262 90% 68%);
  flex-shrink: 0;
}

.orbit-mobile__rail-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.6);
  padding: 0 1.25rem;
  margin: 0.5rem 0 0.5rem;
}

/* 2-column module grid — shows all 7 agents at once */
.orbit-rail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  padding: 0.25rem 1rem 1rem;
}

/* Module card */
.orbit-rail__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.375rem;
  padding: 0.875rem 0.5rem 0.75rem;
  border-radius: var(--radius-xl);
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.7);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  touch-action: manipulation;
}

.orbit-rail__card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.orbit-rail__card:active {
  transform: scale(0.95);
}

.orbit-rail__card:hover {
  border-color: color-mix(in srgb, var(--planet-accent, hsl(var(--primary))) 40%, transparent);
  box-shadow: 0 0 20px color-mix(in srgb, var(--planet-accent, hsl(var(--primary))) 18%, transparent);
}

.orbit-rail__card-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--planet-accent, hsl(var(--primary)));
  box-shadow: 0 0 14px color-mix(in srgb, var(--planet-accent, hsl(var(--primary))) 25%, transparent);
  color: var(--planet-accent, hsl(var(--primary)));
  background: #000;
  flex-shrink: 0;
}

.orbit-rail__card-img {
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
}

.orbit-rail__card-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.85);
  text-align: center;
  line-height: 1.2;
}

.orbit-rail__card-desc {
  font-size: 0.62rem;
  color: hsl(var(--muted-foreground) / 0.7);
  text-align: center;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   CMD ABSOLUTE DASHBOARD PANELS — orbit view sides
   Absolutely positioned columns at screen edges.
   Solar stays centered; mindmap tooltips (z-index 30) float above.
   ============================================================ */

/* ── Absolute column wrappers ── */
.cmd-abs-col {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(256px, 17.5vw, 295px);
  max-height: min(86vh, 830px);
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
  z-index: 1; /* below mindmaps (z-index 30) */
}

.cmd-abs-col--left  { left:  1.75rem; }
.cmd-abs-col--right { right: 1.75rem; }

/* Each child card fills equal height */
.cmd-abs-col > div {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Hide on narrow screens */
@media (max-width: 1460px) { .cmd-abs-col { display: none; } }

/* Ensure solar stays centered (no layout interference) */
.cmd-solar-section { position: relative; z-index: 10; }

/* ── Panel card shell ── */
.cmd-panel {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.1rem 1.15rem 1.15rem;
  border-radius: 1.4rem;
  background: hsl(var(--card) / 0.44);
  backdrop-filter: blur(24px) saturate(1.3);
  -webkit-backdrop-filter: blur(24px) saturate(1.3);
  border: 1px solid hsl(var(--border) / 0.32);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.055),
    0 28px 60px hsl(240 32% 4% / 0.3);
  position: relative;
  overflow: hidden;
}

/* Corner bracket — top-left for left panels */
.cmd-panel--left::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 26px; height: 26px;
  border-top:  1.5px solid hsl(190 90% 55% / 0.5);
  border-left: 1.5px solid hsl(190 90% 55% / 0.5);
  border-top-left-radius: 1.4rem;
  pointer-events: none; z-index: 1;
}
.cmd-panel--left::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 18px; height: 18px;
  border-bottom: 1.5px solid hsl(190 90% 55% / 0.22);
  border-right:  1.5px solid hsl(190 90% 55% / 0.22);
  border-bottom-right-radius: 1.4rem;
  pointer-events: none; z-index: 1;
}

/* Corner bracket — top-right for right panels */
.cmd-panel--right::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 26px; height: 26px;
  border-top:   1.5px solid hsl(262 90% 66% / 0.48);
  border-right: 1.5px solid hsl(262 90% 66% / 0.48);
  border-top-right-radius: 1.4rem;
  pointer-events: none; z-index: 1;
}
.cmd-panel--right::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 18px; height: 18px;
  border-bottom: 1.5px solid hsl(262 90% 66% / 0.2);
  border-left:   1.5px solid hsl(262 90% 66% / 0.2);
  border-bottom-left-radius: 1.4rem;
  pointer-events: none; z-index: 1;
}

/* Scan shimmer */
.cmd-panel__scan {
  position: absolute;
  top: 0; left: -50%; width: 200%; height: 1.5px;
  background: linear-gradient(90deg, transparent, hsl(190 90% 60% / 0.48) 50%, transparent);
  animation: cmdScan 6s ease-in-out infinite;
  pointer-events: none; z-index: 2;
}
.cmd-panel--right .cmd-panel__scan {
  background: linear-gradient(90deg, transparent, hsl(262 90% 66% / 0.44) 50%, transparent);
}
@keyframes cmdScan {
  0%   { transform: translateY(0);     opacity: 0.9; }
  84%  { transform: translateY(460px); opacity: 0.4; }
  85%  { opacity: 0; }
  100% { opacity: 0; transform: translateY(0); }
}

/* ── Panel chrome ── */
.cmd-panel__hdr {
  display: flex; align-items: center; justify-content: space-between;
}
.cmd-panel__eyebrow {
  font-size: 0.59rem; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.72);
}
.cmd-panel__live {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: hsl(142 76% 52%);
  box-shadow: 0 0 8px hsl(142 76% 52% / 0.6);
  animation: cmdLiveDot 2.4s ease-in-out infinite;
}
@keyframes cmdLiveDot {
  0%,100% { opacity: 1; transform: scale(1);    }
  50%      { opacity: 0.3; transform: scale(0.7); }
}
.cmd-panel__pulse {
  display: inline-block; position: relative; width: 14px; height: 14px;
}
.cmd-panel__pulse::before,
.cmd-panel__pulse::after {
  content: ''; position: absolute; inset: 1px;
  border-radius: 50%; border: 1.5px solid hsl(262 90% 66% / 0.5);
  animation: cmdPulseRing 2.4s ease-out infinite;
}
.cmd-panel__pulse::after { animation-delay: 1.2s; }
@keyframes cmdPulseRing {
  0%   { transform: scale(0.3); opacity: 0.9; }
  100% { transform: scale(1.5); opacity: 0;   }
}
.cmd-panel__divider {
  height: 1px; flex-shrink: 0;
  background: linear-gradient(90deg, transparent, hsl(var(--border) / 0.4) 30%, hsl(var(--border) / 0.4) 70%, transparent);
}
.cmd-panel__section-title {
  font-size: 0.58rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.15em;
  color: hsl(var(--muted-foreground) / 0.52);
  margin: 0;
}
.cmd-panel__empty {
  font-size: 0.71rem; color: hsl(var(--muted-foreground) / 0.6);
  text-align: center; font-style: italic; padding: 0.2rem 0; margin: 0;
}

/* ── Score hero ── */
.cmd-score-hero {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem;
}
.cmd-score-hero__number-wrap { display: flex; align-items: baseline; gap: 0.65rem; }
.cmd-score-hero__number {
  font-size: 2.85rem; font-weight: 900; letter-spacing: -0.05em; line-height: 1;
  background: linear-gradient(135deg, hsl(190 90% 60%), hsl(262 90% 70%));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.cmd-score-hero__labels { display: flex; flex-direction: column; gap: 0.2rem; padding-bottom: 0.15rem; }
.cmd-score-hero__title {
  font-size: 0.64rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; color: hsl(var(--muted-foreground) / 0.72);
}
.cmd-score-hero__delta {
  display: inline-flex; align-items: center; gap: 0.22rem;
  font-size: 0.67rem; font-weight: 700;
  padding: 0.12rem 0.4rem; border-radius: 0.35rem;
}
.cmd-score-hero__delta--up   { background: hsl(151 82% 54% / 0.12); color: hsl(151 82% 54%); }
.cmd-score-hero__delta--down { background: hsl(0   84% 66% / 0.12); color: hsl(0   84% 66%); }
.cmd-score-hero__delta--flat { background: hsl(var(--muted) / 0.4);  color: hsl(var(--muted-foreground)); }
.cmd-score-hero__band {
  font-size: 0.63rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  padding: 0.18rem 0.5rem; border-radius: 0.4rem;
  background: hsl(262 90% 66% / 0.13); color: hsl(262 90% 68%);
  border: 1px solid hsl(262 90% 66% / 0.22);
  white-space: nowrap; align-self: flex-start; margin-top: 0.1rem;
}

/* ── Sparkline ── */
.cmd-sparkline-wrap { display: flex; flex-direction: column; gap: 0.22rem; }
.cmd-sparkline { display: block; overflow: visible; }
.cmd-sparkline-axis {
  display: flex; justify-content: space-between;
  font-size: 0.58rem; color: hsl(var(--muted-foreground) / 0.48); padding: 0 1px;
}
@keyframes spkDraw { to { stroke-dashoffset: 0; } }
@keyframes spkDot { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }

/* ── Pillars ── */
.cmd-pillars { display: flex; flex-direction: column; gap: 0.42rem; }
.cmd-pillar  { display: flex; align-items: center; gap: 0.42rem; }
.cmd-pillar__label {
  font-size: 0.65rem; color: hsl(var(--muted-foreground) / 0.8);
  width: 66px; flex-shrink: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cmd-pillar__track { flex: 1; height: 5px; background: hsl(var(--border) / 0.25); border-radius: 999px; overflow: hidden; }
.cmd-pillar__fill  { height: 100%; border-radius: inherit; }
.cmd-pillar__value { font-size: 0.65rem; font-weight: 700; width: 20px; text-align: right; flex-shrink: 0; }

/* ── Skill Velocity ── */
.cmd-vel-header {
  display: flex; align-items: center; gap: 0.75rem;
}
.cmd-vel-header__copy { display: flex; flex-direction: column; gap: 0.18rem; }
.cmd-vel-header__label {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: hsl(var(--muted-foreground) / 0.75); line-height: 1.3;
}
.cmd-vel-header__fastest {
  font-size: 0.7rem; font-weight: 700;
  color: hsl(38 94% 60%);
  background: hsl(38 94% 60% / 0.1);
  padding: 0.1rem 0.4rem; border-radius: 0.3rem;
  border: 1px solid hsl(38 94% 60% / 0.2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 140px;
}

/* Momentum ring */
.cmd-mom-ring {
  position: relative; display: inline-flex;
  align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cmd-mom-ring__center {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -48%);
  display: flex; flex-direction: column; align-items: center;
}
.cmd-mom-ring__val {
  font-size: 1.3rem; font-weight: 900; line-height: 1; letter-spacing: -0.04em;
  background: linear-gradient(135deg, hsl(38,94%,58%), hsl(262,90%,68%));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* Skill rows */
.cmd-vel-skills { display: flex; flex-direction: column; gap: 0.5rem; }
.cmd-vel-skill { display: flex; flex-direction: column; gap: 0.2rem; }
.cmd-vel-skill__top { display: flex; align-items: center; justify-content: space-between; gap: 0.3rem; }
.cmd-vel-skill__name {
  font-size: 0.71rem; font-weight: 600; color: hsl(var(--foreground) / 0.85);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1;
}
.cmd-vel-arrow {
  font-size: 0.72rem; font-weight: 700; flex-shrink: 0;
  padding: 0.06rem 0.28rem; border-radius: 0.3rem;
}
.cmd-vel-arrow--up   { background: hsl(38 94% 58% / 0.15); color: hsl(38 94% 58%); animation: cmdArrowPulse 2s ease-in-out infinite; }
.cmd-vel-arrow--flat { background: hsl(190 90% 55% / 0.12); color: hsl(190 90% 55%); }
.cmd-vel-arrow--down { background: hsl(var(--muted) / 0.35); color: hsl(var(--muted-foreground)); }
@keyframes cmdArrowPulse {
  0%,100% { opacity: 1; } 50% { opacity: 0.55; }
}
.cmd-vel-skill__track {
  position: relative; height: 5px;
  background: hsl(var(--border) / 0.25); border-radius: 999px; overflow: hidden;
}
.cmd-vel-skill__fill  { height: 100%; border-radius: inherit; }
.cmd-vel-skill--emerging .cmd-vel-skill__track {
  background: hsl(38 94% 58% / 0.1);
}
.cmd-vel-skill__glow {
  position: absolute; right: 0; top: 0; height: 100%; width: 20px;
  background: linear-gradient(90deg, transparent, hsl(262 90% 68% / 0.45));
  animation: cmdVelGlow 1.8s ease-in-out infinite;
  border-radius: inherit;
}
@keyframes cmdVelGlow {
  0%,100% { opacity: 0.6; transform: scaleX(1);   }
  50%      { opacity: 1;   transform: scaleX(1.3); }
}

/* ── Pipeline chips ── */
.cmd-pipeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.38rem; }
.cmd-pipeline-chip {
  display: flex; flex-direction: column; align-items: center; gap: 0.18rem;
  padding: 0.52rem 0.22rem 0.55rem;
  border-radius: 0.82rem;
  border: 1px solid color-mix(in srgb, var(--chip-accent) 22%, transparent);
  background: color-mix(in srgb, var(--chip-accent) 8%, transparent);
  transition: border-color 0.2s, background 0.2s;
}
.cmd-pipeline-chip:hover {
  border-color: color-mix(in srgb, var(--chip-accent) 40%, transparent);
  background: color-mix(in srgb, var(--chip-accent) 14%, transparent);
}
.cmd-pipeline-chip__count {
  font-size: 1.45rem; font-weight: 900; line-height: 1; letter-spacing: -0.04em;
}
.cmd-pipeline-chip__label {
  font-size: 0.55rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: hsl(var(--muted-foreground) / 0.65);
}
.cmd-pipeline__total {
  font-size: 0.63rem; color: hsl(var(--muted-foreground) / 0.52); text-align: center; margin: -0.15rem 0 0;
}

/* ── Match rows ── */
.cmd-matches { display: flex; flex-direction: column; gap: 0.4rem; }
.cmd-match-row {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.42rem 0.5rem; border-radius: 0.65rem;
  border: 1px solid hsl(var(--border) / 0.18); background: hsl(var(--muted) / 0.09);
  transition: border-color 0.18s, background 0.18s;
}
.cmd-match-row--top {
  border-color: hsl(262 90% 66% / 0.24); background: hsl(262 90% 66% / 0.06);
}
.cmd-match-row__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.05rem; }
.cmd-match-row__title {
  font-size: 0.72rem; font-weight: 600; color: hsl(var(--foreground));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2;
}
.cmd-match-row__company {
  font-size: 0.61rem; color: hsl(var(--muted-foreground) / 0.68);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cmd-match-row__right { display: flex; flex-direction: column; align-items: flex-end; gap: 0.18rem; flex-shrink: 0; min-width: 56px; }
.cmd-match-row__track { width: 52px; height: 4px; background: hsl(var(--border) / 0.25); border-radius: 999px; overflow: hidden; }
.cmd-match-row__fill  { height: 100%; border-radius: inherit; }
.cmd-match-row__pct   { font-size: 0.67rem; font-weight: 800; letter-spacing: -0.02em; }

/* ── Goal card ── */
.cmd-goal-card {
  padding: 0.55rem 0.62rem; border-radius: 0.75rem;
  background: color-mix(in srgb, var(--goal-color, hsl(262 90% 66%)) 7%, transparent);
  border: 1px solid color-mix(in srgb, var(--goal-color, hsl(262 90% 66%)) 18%, transparent);
  border-left: 2.5px solid color-mix(in srgb, var(--goal-color, hsl(262 90% 66%)) 62%, transparent);
}
.cmd-goal-card__hdr { display: flex; align-items: center; gap: 0.3rem; margin-bottom: 0.3rem; }
.cmd-goal-card__zap { color: var(--goal-color, hsl(262 90% 66%)); flex-shrink: 0; }
.cmd-goal-card__eyebrow {
  font-size: 0.59rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--goal-color, hsl(262 90% 66%)); flex: 1;
}
.cmd-goal-card__urgency {
  font-size: 0.57rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 0.1rem 0.35rem; border-radius: 0.3rem;
  background: color-mix(in srgb, var(--goal-color, hsl(262 90% 66%)) 14%, transparent);
  color: var(--goal-color, hsl(262 90% 66%));
}
.cmd-goal-card__text { font-size: 0.74rem; color: hsl(var(--foreground) / 0.88); line-height: 1.42; margin: 0 0 0.22rem; font-weight: 500; }
.cmd-goal-card__action {
  display: flex; align-items: flex-start; gap: 0.2rem;
  font-size: 0.67rem; color: hsl(var(--muted-foreground)); line-height: 1.35; margin: 0; font-style: italic;
}
.cmd-goal-card__action svg { flex-shrink: 0; margin-top: 0.18rem; color: var(--goal-color, hsl(262 90% 66%)); }

/* ── Career Stats 4-tile grid ── */
.cmd-stat-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  flex: 1; align-content: start;
}
.cmd-stat-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.3rem; padding: 0.7rem 0.4rem 0.72rem;
  border-radius: 1rem;
  border: 1px solid var(--tile-border);
  background: var(--tile-bg);
  transition: border-color 0.2s, background 0.2s;
  cursor: default;
}
.cmd-stat-tile:hover { filter: brightness(1.08); }
.cmd-stat-tile__top { display: flex; align-items: baseline; gap: 0.3rem; }
.cmd-stat-tile__icon { opacity: 0.65; }
.cmd-stat-tile__num {
  font-size: 1.65rem; font-weight: 900; line-height: 1; letter-spacing: -0.04em;
}
.cmd-stat-tile__label {
  font-size: 0.58rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.09em; color: hsl(var(--muted-foreground) / 0.65);
}
/* Profile arc wrapper */
.cmd-stat-tile__arc-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.cmd-stat-tile__arc-center {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: baseline;
}
.cmd-stat-tile__arc-center .cmd-stat-tile__num { font-size: 1.1rem; }
.cmd-stats-note {
  font-size: 0.62rem; color: hsl(var(--muted-foreground) / 0.5); text-align: center;
  margin: 0; line-height: 1.4; border-top: 1px solid hsl(var(--border) / 0.2);
  padding-top: 0.5rem;
}

/* ── Skeleton shimmer ── */
.cmd-skeleton {
  border-radius: 0.5rem;
  background: linear-gradient(90deg, hsl(var(--muted) / 0.22) 25%, hsl(var(--muted) / 0.42) 50%, hsl(var(--muted) / 0.22) 75%);
  background-size: 200% 100%;
  animation: cmdShimmer 1.8s ease-in-out infinite;
}
@keyframes cmdShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.cmd-skeleton--score    { height: 44px; width: 72px; border-radius: 0.4rem; }
.cmd-skeleton--sparkline{ height: 36px; width: 100%; border-radius: 0.35rem; }
.cmd-skeleton--bar      { height: 11px; width: 100%; }
.cmd-skeleton--match    { height: 30px; width: 100%; }
.cmd-skeleton--tile     { height: 74px; width: 100%; border-radius: 1rem; }
.cmd-skeleton--ring     { height: 82px; width: 82px; border-radius: 50%; flex-shrink: 0; }
.cmd-skeleton-stack { display: flex; flex-direction: column; gap: 0.42rem; }

/* ── Light mode ── */
html[data-theme=light] .cmd-panel {
  background: hsl(0 0% 100% / 0.7);
  border-color: hsl(var(--border) / 0.48);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.9), 0 8px 32px hsl(220 24% 18% / 0.07);
}
html[data-theme=light] .cmd-score-hero__number {
  background: linear-gradient(135deg, hsl(190 90% 38%), hsl(262 90% 52%));
  -webkit-background-clip: text; background-clip: text;
}
html[data-theme=light] .cmd-panel__scan {
  background: linear-gradient(90deg, transparent, hsl(190 90% 44% / 0.32), transparent);
}
html[data-theme=light] .cmd-panel--right .cmd-panel__scan {
  background: linear-gradient(90deg, transparent, hsl(262 80% 60% / 0.28), transparent);
}

/* ========================================================
   HOMEPAGE REDESIGN — 2026
   Layout: Noomo editorial + HackerRank/Eightfold/Freshworks
   Font: Rajdhani throughout
   ======================================================== */

/* ── Shared typography helpers ─────────────────────────── */
.hp-section-h2 {
  font-family: var(--font-rajdhani);
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin-bottom: 1rem;
  color: hsl(var(--foreground));
}

.hp-section-sub {
  font-family: var(--font-rajdhani);
  font-size: 1.1rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ── Floating glassmorphic Marketing Header (iOS-style) ──── */
.mkt-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: transparent;
  padding: 0.7rem clamp(0.75rem, 3vw, 1.5rem) 0;
  /* Let clicks fall through the transparent gutter to the content behind */
  pointer-events: none;
}

/* The inner row is the floating pill */
.mkt-header__inner {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  max-width: 80rem;
  min-width: 0;
  height: 62px;
  padding: 0 0.75rem 0 1rem;
  border-radius: 18px;
  background: hsl(var(--background) / 0.55);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid hsl(var(--border) / 0.55);
  box-shadow:
    0 10px 30px -12px hsl(262 50% 5% / 0.35),
    inset 0 1px 0 hsl(0 0% 100% / 0.08);
  transition: background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mkt-header[data-scrolled="true"] .mkt-header__inner {
  background: hsl(var(--background) / 0.78);
  border-color: hsl(var(--border) / 0.7);
  box-shadow:
    0 14px 40px -12px hsl(262 50% 5% / 0.45),
    inset 0 1px 0 hsl(0 0% 100% / 0.1);
}

html[data-theme="light"] .mkt-header__inner {
  background: hsl(var(--background) / 0.6);
  box-shadow:
    0 10px 30px -14px hsl(260 25% 45% / 0.28),
    inset 0 1px 0 hsl(0 0% 100% / 0.6);
}
html[data-theme="light"] .mkt-header[data-scrolled="true"] .mkt-header__inner {
  background: hsl(var(--background) / 0.82);
  box-shadow:
    0 14px 40px -14px hsl(260 25% 45% / 0.34),
    inset 0 1px 0 hsl(0 0% 100% / 0.7);
}

/* NB: display is controlled by Tailwind (`hidden lg:flex`) on the element —
   do not set `display` here or it would override `.hidden` on mobile. */
.mkt-header__nav {
  align-items: center;
  gap: 0.05rem;
  flex: 1;
  min-width: 0;
  justify-content: center;
}

.mkt-header__actions {
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.mkt-header .mkt-nav-link {
  font-size: 0.72rem;
  padding: 0.42rem 0.55rem;
  letter-spacing: 0.05em;
}

@media (min-width: 1280px) {
  .mkt-header .mkt-nav-link {
    font-size: 0.8125rem;
    padding: 0.45rem 0.75rem;
    letter-spacing: 0.06em;
  }
}

.mkt-header__login {
  font-family: var(--font-rajdhani);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: hsl(var(--muted-foreground));
  padding: 0.42rem 0.65rem;
  border-radius: 10px;
  white-space: nowrap;
  transition: color 0.15s ease, background 0.15s ease;
}

.mkt-header__login:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--foreground) / 0.06);
}

.mkt-header__cta.gl-btn {
  height: 36px;
  min-height: 36px;
  padding: 0 0.95rem;
  font-size: 0.72rem;
  border-radius: 10px;
  white-space: nowrap;
}

.mkt-header__theme.theme-toggle--nav {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
}

@media (min-width: 1280px) {
  .mkt-header__cta.gl-btn {
    height: 38px;
    min-height: 38px;
    padding: 0 1.1rem;
    font-size: 0.78rem;
  }
}

/* iOS-style chip nav links */
.mkt-nav-link {
  font-family: var(--font-rajdhani);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  padding: 0.5rem 0.95rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}

.mkt-nav-link:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--foreground) / 0.06);
}

.mkt-nav-link.mkt-nav-link--active {
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.12);
}

.mkt-cta-btn {
  font-family: var(--font-rajdhani) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  border-radius: 10px !important;
}

/* Floating glass mobile drawer */
.mkt-header__mobile-drawer {
  pointer-events: auto;
  position: absolute;
  top: calc(100% + 0.4rem);
  left: clamp(0.75rem, 3vw, 1.5rem);
  right: clamp(0.75rem, 3vw, 1.5rem);
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 5.25rem);
  overflow: hidden;
  background: hsl(var(--background) / 0.82);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid hsl(var(--border) / 0.6);
  border-radius: 18px;
  box-shadow: 0 18px 44px -14px hsl(262 50% 5% / 0.5);
}

.mkt-header__mobile-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0.85rem 0.65rem 0.35rem;
}

.mkt-header__mobile-nav {
  display: flex;
  flex-direction: column;
}

.mkt-header__mobile-resources-toggle {
  width: 100%;
  border: none;
  background: transparent;
  cursor: pointer;
  justify-content: space-between;
}

.mkt-header__mobile-resources-list {
  display: flex;
  flex-direction: column;
  padding-left: 0.35rem;
  margin-bottom: 0.15rem;
}

.mkt-mobile-nav-link--nested {
  font-size: 0.88rem;
  padding: 0.6rem 0.75rem;
  letter-spacing: 0.04em;
  text-transform: none;
}

.mkt-header__mobile-footer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid hsl(var(--border) / 0.35);
  background: hsl(var(--background) / 0.55);
}
html[data-theme="light"] .mkt-header__mobile-drawer {
  background: hsl(var(--background) / 0.9);
  box-shadow: 0 18px 44px -16px hsl(260 25% 45% / 0.35);
}

.mkt-mobile-nav-link {
  font-family: var(--font-rajdhani);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  padding: 0.75rem 0.6rem;
  border-radius: 10px;
  color: hsl(var(--muted-foreground));
  transition: color 0.15s, background 0.15s;
}

.mkt-mobile-nav-link:hover,
.mkt-mobile-nav-link.mkt-nav-link--active {
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.1);
}

/* ── Hero — Centered, Noomo-scale ───────────────────────── */
.hp-hero {
  padding: 9rem 1.5rem 6rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hp-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
}

.hp-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 2rem;
}

.hp-hero__h1 {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(3rem, 6.5vw, 5.5rem);
  line-height: 1.0;
  letter-spacing: -0.02em;
  margin-bottom: 1.75rem;
}

.hp-hero__typewriter-wrap {
  min-height: 1.1em;
  display: block;
}

.hp-hero__sub {
  font-family: var(--font-rajdhani);
  font-size: 1.2rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  max-width: 580px;
  line-height: 1.7;
  margin-bottom: 2.75rem;
}

.hp-hero__ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.hp-hero__cta-primary {
  font-family: var(--font-rajdhani) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase;
  border-radius: 6px !important;
  padding: 0 2.5rem !important;
}

.hp-hero__cta-ghost {
  font-family: var(--font-rajdhani) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
  padding: 0 2.5rem !important;
}

.hp-cursor {
  display: inline-block;
  width: 0.07em;
  height: 0.9em;
  border-radius: 2px;
  background: currentColor;
  margin-left: 0.1em;
  transform: translateY(0.05em);
  vertical-align: baseline;
}

/* ── Manifesto strip — Noomo editorial statement ────────── */
.hp-manifesto {
  padding: 5rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hp-manifesto__bg-word {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 0;
}

.hp-manifesto__bg-word span {
  font-family: var(--font-rajdhani);
  font-size: clamp(8rem, 22vw, 18rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: hsl(var(--primary) / 0.04);
  white-space: nowrap;
}

html[data-theme="light"] .hp-manifesto__bg-word span {
  color: hsl(var(--primary) / 0.06);
}

.hp-manifesto__statement {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 600;
  line-height: 1.45;
  color: hsl(var(--foreground));
}

.hp-manifesto__statement em {
  font-style: normal;
  background: var(--gradient-logo);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Marquee / ticker strip ─────────────────────────────── */
.hp-ticker {
  padding: 1.25rem 0;
  overflow: hidden;
  border-top: 1px solid hsl(var(--border) / 0.5);
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.3);
}

.hp-ticker__track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: hp-ticker-scroll 28s linear infinite;
  width: -moz-max-content;
  width: max-content;
}

.hp-ticker__track:hover {
  animation-play-state: paused;
}

@keyframes hp-ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.hp-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0 2rem;
  font-family: var(--font-rajdhani);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
}

.hp-ticker__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gradient-logo);
  flex-shrink: 0;
}

/* ── Stats ribbon — HackerRank style ────────────────────── */
.hp-stats-ribbon {
  padding: 3.5rem 1.5rem;
  border-top: 1px solid hsl(var(--border) / 0.5);
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.35);
  position: relative;
}

.hp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.hp-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

.hp-stat__value {
  font-family: var(--font-rajdhani);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  display: block;
}

.hp-stat__label {
  font-family: var(--font-rajdhani);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 640px) {
  .hp-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
}

/* ── Features 3-col strip — Freshworks style ────────────── */
.hp-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.hp-feature-card {
  padding: 2rem;
  border-radius: 12px;
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--card) / 0.5);
  transition: border-color 0.2s ease, transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}

.hp-feature-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: var(--gradient-logo);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.hp-feature-card:hover {
  border-color: hsl(var(--primary) / 0.4);
  transform: translateY(-4px);
  box-shadow: 0 12px 36px hsl(262 50% 5% / 0.14);
}

.hp-feature-card:hover::before { opacity: 1; }

.hp-feature-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: linear-gradient(135deg, hsl(var(--primary) / 0.15), hsl(var(--accent) / 0.15));
  border: 1px solid hsl(var(--primary) / 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: hsl(var(--primary));
}

.hp-feature-card__title {
  font-family: var(--font-rajdhani);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 0.6rem;
  color: hsl(var(--foreground));
}

.hp-feature-card__desc {
  font-family: var(--font-rajdhani);
  font-size: 0.95rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  line-height: 1.65;
}

@media (max-width: 900px) {
  .hp-features-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 580px) {
  .hp-features-grid { grid-template-columns: 1fr; }
}

/* ── How It Works — Eightfold alternating splits ────────── */
.hp-hiw-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  padding: 5rem 0;
  border-bottom: 1px solid hsl(var(--border) / 0.3);
}

.hp-hiw-row:last-child { border-bottom: none; }

.hp-hiw-row--reversed .hp-hiw-row__copy { order: 2; }
.hp-hiw-row--reversed .hp-hiw-row__visual { order: 1; }

.hp-hiw-number {
  font-family: var(--font-rajdhani);
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: hsl(var(--primary) / 0.18);
  line-height: 1;
  display: block;
  margin-bottom: 0.5rem;
}

html[data-theme="light"] .hp-hiw-number {
  color: hsl(var(--primary) / 0.25);
}

.hp-hiw-title {
  font-family: var(--font-rajdhani);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 1rem;
  color: hsl(var(--foreground));
}

.hp-hiw-desc {
  font-family: var(--font-rajdhani);
  font-size: 1rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  line-height: 1.75;
  max-width: 420px;
}

.hp-hiw-visual-card {
  border-radius: 20px;
  background: hsl(var(--card) / 0.6);
  border: 1px solid hsl(var(--border) / 0.5);
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.hp-hiw-visual-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, hsl(var(--primary) / 0.08), transparent 60%),
    radial-gradient(circle at 75% 70%, hsl(var(--secondary) / 0.06), transparent 50%);
}

.hp-hiw-visual-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.hp-hiw-visual-icon {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: linear-gradient(135deg, hsl(var(--primary) / 0.2), hsl(var(--accent) / 0.2));
  border: 1px solid hsl(var(--primary) / 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--primary));
}

.hp-hiw-visual-label {
  font-family: var(--font-rajdhani);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 768px) {
  .hp-hiw-row {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 3rem 0;
  }
  .hp-hiw-row--reversed .hp-hiw-row__copy { order: 0; }
  .hp-hiw-row--reversed .hp-hiw-row__visual { order: 0; }
  .hp-hiw-visual-card { min-height: 200px; }
}

/* ── Module Orbit Showcase ───────────────────────────────── */

/* Animatable CSS property for spinning conic ring */
@property --hp-orb-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes hp-orb-spin {
  to { --hp-orb-angle: 360deg; }
}

@keyframes hp-orb-halo {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50%       { opacity: 0.8; transform: scale(1.06); }
}

/* ── Solar system layout: Helios center + 5 orbiting planets ── */
.hp-solar-wrap {
  display: flex;
  justify-content: center;
  padding-top: 3rem;
}

.hp-solar {
  position: relative;
  width: 820px;
  height: 820px;
  flex-shrink: 0;
}

/* Dashed orbit ring — diameter matches the orbit radius (R=300 → 600px) */
.hp-solar__ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  border: 1px dashed hsl(var(--primary) / 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Slowly rotating conic glow — sits just inside the ring */
.hp-solar__ring--glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 604px;
  height: 604px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: conic-gradient(
    from 0deg,
    hsl(262 90% 66% / 0.06),
    hsl(190 90% 50% / 0.10),
    hsl(291 96% 62% / 0.06),
    hsl(262 90% 66% / 0.06)
  );
  animation: hp-solar-spin 22s linear infinite;
}

@keyframes hp-solar-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.hp-solar__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.hp-solar__planet {
  position: absolute;
  top: calc(50% + var(--py, 0px));
  left: calc(50% + var(--px, 0px));
  transform: translate(-50%, -50%);
  z-index: 5;
}

@media (max-width: 860px) {
  .hp-solar {
    transform: scale(0.52);
    transform-origin: center top;
    margin-bottom: calc(820px * (0.52 - 1));
  }
}

/* ── Module orb wrapper (holds circle + mindmap) ──────────── */
.hp-mod-motion {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ── Orb button/link ────────────────────────────────────────── */
.hp-mod {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  cursor: default;
  text-decoration: none;
  color: inherit;
}

/* ── The circle itself ──────────────────────────────────────── */
.hp-mod__circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: hsl(14 6% 6%);
  position: relative;
  overflow: visible;        /* lets ::before ring extend outside */
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Spinning conic-gradient outer ring */
.hp-mod__circle::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: conic-gradient(
    from var(--hp-orb-angle),
    transparent 0deg,
    color-mix(in srgb, var(--mod-accent) 90%, white) 55deg,
    transparent 120deg
  );
  animation: hp-orb-spin 7s linear infinite;
  z-index: 0;
}

/* Inner mask — card-coloured fill so only the thin ring shows */
.hp-mod__circle::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: hsl(14 6% 6%);
  z-index: 1;
}

/* Outer breathing halo */
.hp-mod__circle .hp-orb-halo {
  position: absolute;
  inset: -14px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mod-accent) 30%, transparent);
  animation: hp-orb-halo 3.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

.hp-mod-motion:hover .hp-mod__circle {
  transform: scale(1.1);
}

.hp-mod-motion:hover .hp-mod__circle::before {
  filter: brightness(1.6);
}

/* Helios center circle — larger + stronger pulsing glow */
.hp-mod__circle--helios {
  width: 200px;
  height: 200px;
  background: hsl(262 22% 5%);
}

.hp-mod__circle--helios::before {
  background: conic-gradient(
    from var(--hp-orb-angle),
    transparent 0deg,
    hsl(262 90% 66% / 0.95) 55deg,
    hsl(291 96% 62% / 0.6) 100deg,
    transparent 145deg
  );
  animation: hp-orb-spin 5s linear infinite;
}

.hp-mod__circle--helios::after {
  background: hsl(262 22% 5%);
}

@keyframes hp-helios-glow-pulse {
  0%, 100% { box-shadow: 0 0 30px hsl(262 90% 66% / 0.25), 0 0 70px hsl(262 90% 66% / 0.12); }
  50%       { box-shadow: 0 0 60px hsl(262 90% 66% / 0.45), 0 0 130px hsl(262 90% 66% / 0.20), 0 0 200px hsl(291 96% 62% / 0.08); }
}

.hp-mod-motion--helios .hp-mod__circle {
  animation: hp-helios-glow-pulse 3.5s ease-in-out infinite;
}

.hp-mod-motion--helios:hover .hp-mod__circle {
  transform: scale(1.06);
}

/* ── Image inside the circle ────────────────────────────────── */
.hp-mod__img-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 18%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hp-mod__image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

/* ── Label below orb ─────────────────────────────────────────── */
.hp-mod__name {
  font-family: var(--font-rajdhani);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
  pointer-events: none;
}

.hp-mod-motion:hover .hp-mod__name {
  opacity: 1;
  transform: translateY(0);
}

.hp-mod__name--helios {
  font-size: 0.72rem;
  color: hsl(262 90% 66% / 0.75);
}

html[data-theme="light"] .hp-mod__name--helios {
  color: hsl(262 85% 50%);
}

/* ─────────────────── MIND-MAP POPUP ─────────────────────── */
.hp-mod__mindmap {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  white-space: nowrap;
  transition: opacity 0.15s ease;
}

.hp-mod-motion:hover .hp-mod__mindmap {
  opacity: 1;
  pointer-events: auto;
}

/* SVG connector */
.hp-mod__mindmap-svg { flex-shrink: 0; overflow: visible; }
.hp-mod__mindmap-svg--vert { flex-shrink: 0; overflow: visible; }

/* Path animations */
.hp-mm-path {
  stroke: color-mix(in srgb, var(--mod-accent) 60%, transparent);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
}

/* Tree layout */
.hp-mod__mindmap-tree {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hp-mod__mindmap-tree--horiz {
  flex-direction: row;
  gap: 6px;
}

/* Node chip */
.hp-mod__mindmap-node {
  padding: 6px 12px;
  border-radius: 9px;
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
  color: hsl(var(--foreground));
  background: hsl(0 0% 6% / 0.92);
  border: 1px solid color-mix(in srgb, var(--mod-accent) 35%, hsl(var(--border) / 0.35));
  box-shadow:
    0 4px 22px hsl(0 0% 0% / 0.40),
    inset 0 1px 0 hsl(255 100% 100% / 0.06);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

html[data-theme="light"] .hp-mod__mindmap-node {
  background: hsl(var(--background) / 0.96);
  border-color: color-mix(in srgb, var(--mod-accent) 30%, hsl(var(--border) / 0.55));
  box-shadow: 0 4px 22px hsl(260 20% 40% / 0.15), inset 0 1px 0 hsl(255 100% 100% / 0.8);
}

/* ── Directional placement of the mindmap popup ─────────────── */
/* RIGHT: mindmap appears to the right of the orb */
.hp-mod__mindmap--right {
  left: calc(100% - 8px);
  top: 50%;
  transform: translateY(-50%);
  flex-direction: row;
}

/* LEFT: mindmap appears to the left */
.hp-mod__mindmap--left {
  right: calc(100% - 8px);
  top: 50%;
  transform: translateY(-50%);
  flex-direction: row-reverse;
}

/* UP: mindmap appears above */
.hp-mod__mindmap--up {
  bottom: calc(100% - 8px);
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column-reverse;
  align-items: center;
}

.hp-mod__mindmap--up .hp-mod__mindmap-tree {
  flex-direction: row;
  gap: 6px;
}

/* DOWN: mindmap appears below */
.hp-mod__mindmap--down {
  top: calc(100% - 8px);
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column;
  align-items: center;
}

.hp-mod__mindmap--down .hp-mod__mindmap-tree {
  flex-direction: row;
  gap: 6px;
}

/* ── Path draw-in animations ─────────────────────────────────── */
.hp-mod-motion:hover .hp-mm-path--1 { animation: hp-mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }
.hp-mod-motion:hover .hp-mm-path--2 { animation: hp-mm-draw 0.30s 0.10s cubic-bezier(0.4, 0, 0.2, 1) both; }
.hp-mod-motion:hover .hp-mm-path--3 { animation: hp-mm-draw 0.38s 0.06s cubic-bezier(0.4, 0, 0.2, 1) both; }

@keyframes hp-mm-draw {
  to { stroke-dashoffset: 0; }
}

/* Node pop-in */
.hp-mod__mindmap--right .hp-mod__mindmap-node:nth-child(1),
.hp-mod__mindmap--left  .hp-mod__mindmap-node:nth-child(1) { animation: none; }

.hp-mod-motion:hover .hp-mod__mindmap--right .hp-mod__mindmap-node:nth-child(1),
.hp-mod-motion:hover .hp-mod__mindmap--left  .hp-mod__mindmap-node:nth-child(1) { animation: hp-mm-node 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.hp-mod-motion:hover .hp-mod__mindmap--right .hp-mod__mindmap-node:nth-child(2),
.hp-mod-motion:hover .hp-mod__mindmap--left  .hp-mod__mindmap-node:nth-child(2) { animation: hp-mm-node 0.50s 0.34s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.hp-mod-motion:hover .hp-mod__mindmap--right .hp-mod__mindmap-node:nth-child(3),
.hp-mod-motion:hover .hp-mod__mindmap--left  .hp-mod__mindmap-node:nth-child(3) { animation: hp-mm-node 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both; }

.hp-mod-motion:hover .hp-mod__mindmap--up   .hp-mod__mindmap-node:nth-child(1),
.hp-mod-motion:hover .hp-mod__mindmap--down .hp-mod__mindmap-node:nth-child(1) { animation: hp-mm-node 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.hp-mod-motion:hover .hp-mod__mindmap--up   .hp-mod__mindmap-node:nth-child(2),
.hp-mod-motion:hover .hp-mod__mindmap--down .hp-mod__mindmap-node:nth-child(2) { animation: hp-mm-node 0.50s 0.34s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.hp-mod-motion:hover .hp-mod__mindmap--up   .hp-mod__mindmap-node:nth-child(3),
.hp-mod-motion:hover .hp-mod__mindmap--down .hp-mod__mindmap-node:nth-child(3) { animation: hp-mm-node 0.50s 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both; }

@keyframes hp-mm-node {
  from { opacity: 0; transform: scale(0.6); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Light mode circle background ───────────────────────────── */
html[data-theme="light"] .hp-mod__circle {
  background: hsl(0 0% 98%);
}

html[data-theme="light"] .hp-mod__circle::after {
  background: hsl(0 0% 98%);
}

html[data-theme="light"] .hp-mod__circle--helios {
  background: hsl(260 22% 97%);
}

html[data-theme="light"] .hp-mod__circle--helios::after {
  background: hsl(260 22% 97%);
}

/* Brighter, more saturated images in light mode */
html[data-theme="light"] .hp-mod__image {
  filter: brightness(1.15) saturate(1.25) contrast(1.05);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 720px) {
  .hp-mod__mindmap { display: none; }
}

/* ── CTA band animated gradient keyframes ────────────────── */
@keyframes hp-cta-flow {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ── Per-page CTA band variants (animated) ───────────────── */
.hp-cta-band--students {
  /* indigo → purple → cyan → purple → indigo */
  background: linear-gradient(140deg,
    hsl(240 80% 40%),
    hsl(262 90% 56%),
    hsl(190 90% 48%),
    hsl(262 90% 62%),
    hsl(240 80% 40%));
  background-size: 350% 350%;
  animation: hp-cta-flow 9s ease infinite;
}

.hp-cta-band--professionals {
  /* magenta → purple → indigo → purple → magenta */
  background: linear-gradient(140deg,
    hsl(291 96% 48%),
    hsl(262 85% 52%),
    hsl(222 90% 50%),
    hsl(262 85% 58%),
    hsl(291 96% 48%));
  background-size: 350% 350%;
  animation: hp-cta-flow 11s ease infinite;
}

.hp-cta-band--institutions {
  /* cyan → teal → blue → purple → cyan */
  background: linear-gradient(140deg,
    hsl(190 90% 40%),
    hsl(200 85% 44%),
    hsl(222 90% 50%),
    hsl(262 85% 54%),
    hsl(190 90% 40%));
  background-size: 350% 350%;
  animation: hp-cta-flow 13s ease infinite;
}

.hp-cta-band--employers {
  /* blue → indigo → magenta → indigo → blue */
  background: linear-gradient(140deg,
    hsl(222 90% 48%),
    hsl(240 85% 46%),
    hsl(291 96% 54%),
    hsl(240 85% 50%),
    hsl(222 90% 48%));
  background-size: 350% 350%;
  animation: hp-cta-flow 10s ease infinite;
}

.hp-cta-band--about {
  /* full spectrum: cyan → purple → magenta → cyan */
  background: linear-gradient(140deg,
    hsl(190 90% 40%),
    hsl(222 90% 48%),
    hsl(262 90% 54%),
    hsl(291 96% 52%),
    hsl(190 90% 40%));
  background-size: 350% 350%;
  animation: hp-cta-flow 8s ease infinite;
}

/* ── Sub-page hero (same as hp-hero but with accent tint) ── */
.hp-hero--students .hp-hero__h1,
.hp-hero--students .hp-hero__sub { --hero-accent: hsl(var(--primary)); }
.hp-hero--professionals .hp-hero__h1 { color: hsl(var(--accent)); }
.hp-hero--institutions .hp-hero__h1 { color: hsl(var(--secondary)); }
.hp-hero--employers .hp-hero__h1 { color: hsl(222 90% 63%); }
.hp-hero--about .hp-hero__h1 { color: hsl(var(--primary)); }

/* ── Shared sub-page section tweaks ──────────────────────── */
.hp-feature-card--institutions .hp-feature-card__icon {
  background: linear-gradient(135deg, hsl(190 90% 50% / 0.15), hsl(222 90% 63% / 0.15));
  border-color: hsl(190 90% 50% / 0.2);
  color: hsl(190 90% 50%);
}
.hp-feature-card--professionals .hp-feature-card__icon {
  background: linear-gradient(135deg, hsl(291 90% 62% / 0.15), hsl(262 90% 66% / 0.15));
  border-color: hsl(291 90% 62% / 0.2);
  color: hsl(291 90% 62%);
}
.hp-feature-card--employers .hp-feature-card__icon {
  background: linear-gradient(135deg, hsl(222 90% 63% / 0.15), hsl(291 90% 62% / 0.15));
  border-color: hsl(222 90% 63% / 0.2);
  color: hsl(222 90% 63%);
}

/* ── CTA band — Freshworks full-width gradient ───────────── */
.hp-cta-band {
  padding: 7rem 1.5rem;
  position: relative;
  overflow: hidden;
  text-align: center;
  /* homepage default: purple → magenta → cyan → purple */
  background: linear-gradient(140deg,
    hsl(262 90% 46%),
    hsl(291 90% 50%),
    hsl(190 90% 48%),
    hsl(291 90% 54%),
    hsl(262 90% 46%));
  background-size: 350% 350%;
  animation: hp-cta-flow 12s ease infinite;
}

.hp-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, hsl(190 90% 50% / 0.15), transparent 50%),
    radial-gradient(circle at 80% 30%, hsl(291 90% 62% / 0.2), transparent 50%);
  pointer-events: none;
}

.hp-cta-band__bg-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.hp-cta-band__bg-text span {
  font-family: var(--font-rajdhani);
  font-size: clamp(6rem, 18vw, 14rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: rgba(255,255,255, 0.04);
  white-space: nowrap;
}

.hp-cta-band__content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

.hp-cta-band__h2 {
  font-family: var(--font-rajdhani);
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin-bottom: 1.1rem;
  line-height: 1.1;
}

.hp-cta-band__sub {
  font-family: var(--font-rajdhani);
  font-size: 1.1rem;
  font-weight: 500;
  color: rgba(255,255,255,0.75);
  max-width: 480px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.hp-cta-band__btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.hp-cta-primary {
  font-family: var(--font-rajdhani) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  background: #ffffff !important;
  color: hsl(262 90% 50%) !important;
  border-radius: 6px !important;
  padding: 0 2.5rem !important;
  border: none !important;
}

.hp-cta-primary:hover {
  background: hsl(0 0% 94%) !important;
}

.hp-cta-ghost {
  font-family: var(--font-rajdhani) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
  padding: 0 2.5rem !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.35) !important;
  background: transparent !important;
}

.hp-cta-ghost:hover {
  background: rgba(255,255,255,0.1) !important;
}

/* ── Audience cards (audience section, if retained) ─────── */
.hp-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.hp-audience-card {
  border-radius: 14px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card) / 0.5);
  padding: 2rem 1.5rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.hp-audience-card:hover {
  transform: translateY(-4px);
  border-color: hsl(var(--primary) / 0.4);
}

.hp-audience-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.hp-audience-card__eyebrow {
  font-family: var(--font-rajdhani);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  margin-bottom: 0.4rem;
}

.hp-audience-card__title {
  font-family: var(--font-rajdhani);
  font-size: 1.2rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
}

.hp-audience-card__desc {
  font-family: var(--font-rajdhani);
  font-size: 0.88rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  line-height: 1.65;
}

.hp-audience-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1.25rem;
  font-family: var(--font-rajdhani);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  transition: gap 0.15s ease;
}

.hp-audience-card:hover .hp-audience-card__link { gap: 0.6rem; }

@media (max-width: 900px) {
  .hp-audience-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 540px) {
  .hp-audience-grid { grid-template-columns: 1fr; }
}

/* ── Section divider line ────────────────────────────────── */
.hp-divider {
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    hsl(var(--border) / 0.6) 20%,
    hsl(var(--border) / 0.6) 80%,
    transparent);
  margin: 0;
}

/* ── Button font overrides for Rajdhani ─────────────────── */
.marketing-page button,
.marketing-page a {
  font-family: var(--font-rajdhani);
}

/* ── Ensure Rajdhani everywhere on marketing pages ──────── */
.marketing-page,
.marketing-page * {
  font-family: var(--font-rajdhani);
}

/* ═══════════════════════════════════════════════════════════
   STICKY SCROLL STACK — exact GitLab about.gitlab.com pattern

   Each card uses: position:sticky + top:calc(offset + index*20px)
   Cards have solid elevated backgrounds for clear contrast.
   CSS scroll-driven animation scales cards in as they enter.
   ═══════════════════════════════════════════════════════════ */

.hp-stack {
  position: relative;
  /* Slight horizontal inset so rounded card corners are visible */
  padding: 0 0.75rem;
  /* Spacer below last card before next full-width section */
  padding-bottom: 3rem;
}

/* ── Individual stack card ─────────────────────────────────── */
.hp-sc {
  position: sticky;
  /* top offset uses --sc-index (0,1,2…) set as inline style per card.
     72px = header height. 20px gap per card — same as GitLab's 20px. */
  top: calc(72px + var(--sc-index, 0) * 20px);

  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 32px;

  /* Elevated card — noticeably lighter than the page background */
  background: hsl(262 18% 14%);
  box-shadow: 0 -4px 20px hsl(0 0% 0% / 0.25),
              0 0  0 1px hsl(var(--border) / 0.25);

  /* Scroll-driven scale-in animation (Chrome/Edge/Firefox 2023+) */
  animation: hp-sc-scale-in linear both;
  animation-range: entry 0 cover 25%;
  animation-timeline: view();
}

@keyframes hp-sc-scale-in {
  from { transform: scale(0.96) translateY(32px); }
  to   { transform: scale(1)    translateY(0);    }
}

/* Incrementing z-index — later card always sits above earlier */
.hp-sc:nth-child(1) { z-index: 1; }
.hp-sc:nth-child(2) { z-index: 2; }
.hp-sc:nth-child(3) { z-index: 3; }
.hp-sc:nth-child(4) { z-index: 4; }
.hp-sc:nth-child(5) { z-index: 5; }
.hp-sc:nth-child(6) { z-index: 6; }
.hp-sc:nth-child(7) { z-index: 7; }
.hp-sc:nth-child(8) { z-index: 8; }

/* Alt variant — slightly different surface */
.hp-sc--alt {
  background: hsl(260 22% 11%);
}

/* Light mode — white cards on near-white page (maximum contrast) */
html[data-theme="light"] .hp-sc {
  background: hsl(0 0% 100%);
  box-shadow: 0 -4px 20px hsl(260 20% 60% / 0.12),
              0 0  0 1px hsl(var(--border) / 0.4);
}
html[data-theme="light"] .hp-sc--alt {
  background: hsl(260 20% 97%);
}

/* Section label pill */
.hp-sc__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  border-radius: 2rem;
  background: hsl(var(--primary) / 0.12);
  border: 1px solid hsl(var(--primary) / 0.25);
  font-family: var(--font-rajdhani);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  margin-bottom: 1.25rem;
}

/* Reduce motion — skip scroll animation */
@media (prefers-reduced-motion: reduce) {
  .hp-sc {
    animation: none;
  }
}

@media (max-width: 768px) {
  .hp-stack { padding: 0 0.25rem 2rem; }
  .hp-sc { margin-bottom: 16px; }
}

/* ═══════════════════════════════════════════════════════════
   GITLAB-STYLE MARKETING SYSTEM (gl-*)
   Token-aware, dark/light parity. Used by the redesigned
   homepage + audience + about pages. Namespaced to avoid
   collisions with the legacy hp-* system.
   ═══════════════════════════════════════════════════════════ */

.gl-page {
  position: relative;
  overflow-x: clip;
}

/* The AppShell wrappers use `overflow-x: hidden`, which forces the cross-axis
   to compute as `overflow-y: auto` — that creates a scroll container and breaks
   `position: sticky` (e.g. the UseCaseStack pile). On marketing pages we swap to
   `clip`, which still prevents horizontal overflow but is sticky-safe. */
.app-main:has(.gl-page),
.app-main__content:has(.gl-page) {
  overflow-x: clip;
}

.gl-container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.gl-container--showcase {
  max-width: min(96vw, 1420px);
}

.gl-section {
  position: relative;
  padding: 5.5rem 0;
}
.gl-section--tight { padding: 3.5rem 0; }
.gl-section--alt {
  background:
    radial-gradient(1200px 600px at 80% -10%, hsl(var(--accent) / 0.06), transparent 60%),
    linear-gradient(180deg, hsl(var(--card) / 0.35), hsl(var(--background) / 0));
  border-block: 1px solid hsl(var(--border) / 0.35);
}

/* Scout — lavender agent section */
.gl-section--scout {
  background:
    radial-gradient(900px 480px at 12% 20%, rgba(139, 92, 246, 0.14), transparent 62%),
    radial-gradient(700px 400px at 88% 80%, rgba(167, 139, 250, 0.1), transparent 58%),
    linear-gradient(180deg, rgba(139, 92, 246, 0.06), hsl(var(--background) / 0));
  border-block: 1px solid rgba(139, 92, 246, 0.18);
}
.gl-section--scout .gl-eyebrow {
  color: #7c3aed;
  border-color: rgba(124, 58, 237, 0.35);
  background: rgba(139, 92, 246, 0.1);
}
html[data-theme="dark"] .gl-section--scout .gl-eyebrow {
  color: #c4b5fd;
  border-color: rgba(196, 181, 253, 0.35);
  background: rgba(139, 92, 246, 0.16);
}
.gl-section--scout .gl-subpoint::before {
  background: linear-gradient(180deg, #a78bfa, #7c3aed);
}
.gl-section--scout .gl-feature-block--prominent .gl-media-frame img {
  border-color: rgba(139, 92, 246, 0.28);
  box-shadow:
    0 32px 72px rgba(124, 58, 237, 0.14),
    0 10px 28px rgba(167, 139, 250, 0.1);
}

.gl-section--scout .gl-media-frame--scout-mockup .glow-scout-showcase {
  width: 100%;
}

/* Forge — warm orange agent section (matches Mock Studio header) */
.gl-section--forge {
  background:
    radial-gradient(1000px 520px at 78% 15%, rgba(249, 115, 22, 0.16), transparent 60%),
    radial-gradient(800px 440px at 10% 85%, rgba(234, 88, 12, 0.1), transparent 55%),
    linear-gradient(180deg, rgba(249, 115, 22, 0.07), hsl(var(--background) / 0));
  border-block: 1px solid rgba(249, 115, 22, 0.22);
}
.gl-section--forge .gl-eyebrow {
  color: #c2410c;
  border-color: rgba(234, 88, 12, 0.38);
  background: rgba(249, 115, 22, 0.12);
}
html[data-theme="dark"] .gl-section--forge .gl-eyebrow {
  color: #fdba74;
  border-color: rgba(251, 146, 60, 0.4);
  background: rgba(234, 88, 12, 0.18);
}
.gl-section--forge .gl-subpoint::before {
  background: linear-gradient(180deg, #fb923c, #ea580c);
}
.gl-section--forge .gl-feature-block--prominent .gl-media-frame img {
  border-color: rgba(249, 115, 22, 0.28);
  box-shadow:
    0 28px 64px rgba(234, 88, 12, 0.14),
    0 10px 28px rgba(249, 115, 22, 0.1);
}

/* Foundry — rose/magenta workshop glow (distinct from Forge orange) */
.gl-section--foundry {
  background:
    radial-gradient(1000px 520px at 18% 25%, rgba(190, 24, 93, 0.13), transparent 62%),
    radial-gradient(800px 440px at 82% 75%, rgba(219, 39, 119, 0.09), transparent 58%),
    linear-gradient(180deg, rgba(190, 24, 93, 0.05), hsl(var(--background) / 0));
  border-block: 1px solid rgba(190, 24, 93, 0.2);
}
.gl-section--foundry .gl-eyebrow {
  color: #9d174d;
  border-color: rgba(190, 24, 93, 0.35);
  background: rgba(244, 114, 182, 0.12);
}
html[data-theme="dark"] .gl-section--foundry .gl-eyebrow {
  color: #f9a8d4;
  border-color: rgba(244, 114, 182, 0.38);
  background: rgba(190, 24, 93, 0.18);
}
.gl-section--foundry .gl-subpoint::before {
  background: linear-gradient(180deg, #f472b6, #be185d);
}
.gl-section--foundry .gl-feature-block--prominent .gl-media-frame img {
  border-color: rgba(190, 24, 93, 0.26);
  box-shadow:
    0 32px 72px rgba(190, 24, 93, 0.14),
    0 12px 32px rgba(219, 39, 119, 0.1);
}

/* Scribe — subtle aqua */
.gl-section--scribe {
  background:
    radial-gradient(1000px 520px at 85% 20%, rgba(34, 211, 238, 0.12), transparent 62%),
    radial-gradient(800px 440px at 12% 80%, rgba(6, 182, 212, 0.09), transparent 58%),
    linear-gradient(180deg, rgba(34, 211, 238, 0.06), hsl(var(--background) / 0));
  border-block: 1px solid rgba(34, 211, 238, 0.18);
}
.gl-section--scribe .gl-eyebrow {
  color: #0e7490;
  border-color: rgba(6, 182, 212, 0.35);
  background: rgba(34, 211, 238, 0.1);
}
html[data-theme="dark"] .gl-section--scribe .gl-eyebrow {
  color: #67e8f9;
  border-color: rgba(103, 232, 249, 0.32);
  background: rgba(6, 182, 212, 0.14);
}
.gl-section--scribe .gl-subpoint::before {
  background: linear-gradient(180deg, #22d3ee, #0891b2);
}
.gl-section--scribe .gl-feature-block--prominent .gl-media-frame img {
  border-color: rgba(34, 211, 238, 0.28);
  box-shadow:
    0 32px 72px rgba(6, 182, 212, 0.12),
    0 12px 32px rgba(34, 211, 238, 0.09);
}

/* Media placeholder (Scout — image TBD) */
.gl-media-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  min-height: clamp(220px, 32vw, 380px);
  padding: clamp(2rem, 5vw, 3.5rem);
  border-radius: clamp(14px, 1.6vw, 20px);
  border: 2px dashed rgba(139, 92, 246, 0.35);
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(167, 139, 250, 0.12), transparent 70%),
    hsl(var(--card) / 0.5);
  text-align: center;
}
.gl-media-placeholder__icon {
  width: clamp(2.5rem, 5vw, 3.25rem);
  height: clamp(2.5rem, 5vw, 3.25rem);
  color: #8b5cf6;
  opacity: 0.85;
}
html[data-theme="dark"] .gl-media-placeholder__icon {
  color: #c4b5fd;
}
.gl-media-placeholder__title {
  margin: 0;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  letter-spacing: 0.04em;
  color: #6d28d9;
}
html[data-theme="dark"] .gl-media-placeholder__title {
  color: #ddd6fe;
}
.gl-media-placeholder__note {
  margin: 0;
  max-width: 28ch;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.92rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

/* ── Type scale ─────────────────────────────────────────── */
.gl-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--primary) / 0.28);
  background: hsl(var(--primary) / 0.08);
}

.gl-h1 {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2.7rem, 5.4vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.022em;
  margin: 1.4rem 0 0;
}

.gl-h2 {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2rem, 3.6vw, 3.1rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0.9rem 0 0;
}

.gl-h3 {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.gl-lead {
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  line-height: 1.6;
  color: hsl(var(--muted-foreground));
  margin-top: 1.25rem;
  max-width: 42ch;
}

.gl-section-head {
  max-width: 760px;
  margin: 0 auto 3rem;
  text-align: center;
}
.gl-section-head .gl-lead { margin-inline: auto; max-width: 60ch; }

.gl-gradient-text {
  background: linear-gradient(100deg,
    hsl(var(--gradient-start)),
    hsl(var(--gradient-mid)),
    hsl(var(--gradient-end)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ── Buttons ────────────────────────────────────────────── */
.gl-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

.gl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 52px;
  padding: 0 1.75rem;
  border-radius: 8px;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.2s ease, border-color 0.2s ease;
  border: 1px solid transparent;
}
.gl-btn:hover { transform: translateY(-2px); }

.gl-btn--primary {
  color: hsl(var(--primary-foreground));
  background: linear-gradient(100deg, hsl(var(--gradient-mid)), hsl(var(--gradient-end)));
  box-shadow: 0 10px 30px -10px hsl(var(--primary) / 0.55);
}
.gl-btn--primary:hover {
  box-shadow: 0 16px 40px -10px hsl(var(--primary) / 0.7);
}

.gl-btn--ghost {
  color: hsl(var(--foreground));
  background: hsl(var(--card) / 0.5);
  border-color: hsl(var(--border));
  backdrop-filter: blur(10px);
}
.gl-btn--ghost:hover {
  border-color: hsl(var(--primary) / 0.5);
  background: hsl(var(--primary) / 0.08);
}

/* ── Hero (split) ───────────────────────────────────────── */
.gl-hero {
  position: relative;
  padding: 8.5rem 0 4.5rem;
  overflow: hidden;
}
.gl-hero__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.gl-hero__glow::before,
.gl-hero__glow::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(130px);
}
.gl-hero__glow::before {
  width: 560px; height: 560px;
  top: -10%; left: 55%;
  background: hsl(var(--primary) / 0.18);
}
.gl-hero__glow::after {
  width: 420px; height: 420px;
  bottom: -10%; left: 5%;
  background: hsl(var(--secondary) / 0.12);
}

.gl-hero__split {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 3.5rem;
  align-items: center;
}
.gl-hero__copy { max-width: 620px; }
.gl-hero .gl-lead { max-width: 52ch; }
.gl-hero__note {
  margin-top: 1.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 960px) {
  .gl-hero { padding-top: 7.75rem; }
  .gl-hero__split { grid-template-columns: 1fr; gap: 2.25rem; }
  /* Keep the hero copy on top; artwork follows below it on mobile. */
  .gl-hero__copy { order: 0; }
  .gl-hero__media { order: 1; }
}

/* ── Media frame (flat, frameless — artwork blends into the section) ── */
.gl-media-frame {
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}
.gl-media-frame::after { content: none; }
.gl-media-frame__bar { display: none; }
.gl-media-frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  /* Vignette the artwork's outer margin into the section background so the
     rectangular edges dissolve seamlessly in both themes. The product content
     is centered, so a large solid core keeps it crisp while only the outer
     rim/corners fade out. */
  -webkit-mask-image: radial-gradient(125% 96% at 50% 48%, #000 66%, transparent 100%);
  mask-image: radial-gradient(125% 96% at 50% 48%, #000 66%, transparent 100%);
}

/* ── Feature block (alternating) ────────────────────────── */
.gl-feature-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.gl-feature-block + .gl-feature-block { margin-top: 6rem; }
.gl-feature-block--reversed .gl-feature-block__media { order: -1; }

/* Prominent feature rows — wide product shots (student homepage, etc.) */
.gl-feature-block--prominent {
  grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
}
.gl-feature-block--prominent.gl-feature-block--reversed {
  grid-template-columns: minmax(0, 0.66fr) minmax(0, 0.34fr);
}
.gl-feature-block--prominent-xl {
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(2.25rem, 5vw, 4.5rem);
}
.gl-feature-block--prominent-xl.gl-feature-block--reversed {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.28fr);
}
.gl-feature-block--prominent .gl-feature-block__media {
  min-width: 0;
}
.gl-feature-block--prominent .gl-media-frame img {
  width: 100%;
  height: auto;
  border-radius: clamp(14px, 1.6vw, 20px);
  border: 1px solid hsl(var(--border) / 0.55);
  box-shadow:
    0 32px 72px hsl(var(--foreground) / 0.12),
    0 12px 32px hsl(var(--foreground) / 0.08);
  -webkit-mask-image: none;
  mask-image: none;
}
.gl-feature-block--prominent-xl .gl-media-frame img {
  border-radius: clamp(16px, 1.8vw, 22px);
  box-shadow:
    0 36px 80px hsl(var(--foreground) / 0.14),
    0 14px 36px hsl(var(--foreground) / 0.09);
}

.gl-subpoints {
  margin-top: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.gl-subpoint {
  position: relative;
  padding-left: 1.4rem;
}
.gl-subpoint::before {
  content: "";
  position: absolute;
  left: 0; top: 0.5rem;
  width: 4px; height: calc(100% - 0.6rem);
  border-radius: 4px;
  background: linear-gradient(180deg, hsl(var(--gradient-mid)), hsl(var(--gradient-end)));
}
.gl-subpoint__title {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
}
.gl-subpoint__desc {
  margin-top: 0.3rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.97rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 767px) {
  .gl-feature-block { grid-template-columns: 1fr; gap: 2rem; }
  .gl-feature-block--reversed .gl-feature-block__media { order: 0; }
  .gl-feature-block + .gl-feature-block { margin-top: 3.5rem; }

  .gl-feature-block--prominent,
  .gl-feature-block--prominent-xl {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* Phone — hide marketing artwork; copy-only layout */
  .marketing-page .gl-hero__media,
  .marketing-page .gl-feature-block__media,
  .marketing-page .ea-aside__media,
  .marketing-page .gl-media-frame,
  .marketing-page .gl-stack,
  .marketing-page .ms-product,
  .marketing-page .gl-module-card__media,
  .marketing-page .meet-helios-orbit,
  .marketing-page .hp-mod-motion {
    display: none !important;
  }

  .marketing-page .gl-hero__split {
    gap: 0;
  }

  .marketing-page .gl-hero {
    padding-bottom: 2.5rem;
  }

  .marketing-page .gl-section {
    padding: 3.25rem 0;
  }

  .marketing-page .gl-section--tight {
    padding: 2.25rem 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Tablet — scaled artwork, tighter vertical rhythm */
  .marketing-page .gl-hero__media,
  .marketing-page .gl-feature-block__media,
  .marketing-page .ea-aside__media {
    width: 100%;
    max-width: min(92%, 640px);
    margin-inline: auto;
  }

  .marketing-page .gl-media-frame img,
  .marketing-page .gl-feature-block__media img,
  .marketing-page .ea-aside__media img,
  .marketing-page .meet-helios-orbit__img,
  .marketing-page .ms-product img {
    width: 100%;
    max-height: min(46vh, 400px);
    -o-object-fit: contain;
       object-fit: contain;
  }

  .marketing-page .gl-hero__split {
    gap: 2rem;
  }

  .marketing-page .gl-feature-block + .gl-feature-block {
    margin-top: 3.5rem;
  }

  .marketing-page .gl-section {
    padding: 4rem 0;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  .gl-feature-block { grid-template-columns: 1fr; gap: 2.25rem; }
  .gl-feature-block--reversed .gl-feature-block__media { order: 0; }
  .gl-feature-block + .gl-feature-block { margin-top: 4rem; }

  .gl-feature-block--prominent,
  .gl-feature-block--prominent-xl {
    grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
    gap: 2rem;
    align-items: center;
  }
  .gl-feature-block--prominent.gl-feature-block--reversed,
  .gl-feature-block--prominent-xl.gl-feature-block--reversed {
    grid-template-columns: minmax(0, 0.56fr) minmax(0, 0.44fr);
  }
  .gl-feature-block--prominent .gl-feature-block__media,
  .gl-feature-block--prominent-xl .gl-feature-block__media {
    order: unset;
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
  .gl-feature-block--prominent.gl-feature-block--reversed .gl-feature-block__media,
  .gl-feature-block--prominent-xl.gl-feature-block--reversed .gl-feature-block__media {
    order: -1;
  }
  .gl-feature-block--prominent .gl-media-frame img,
  .gl-feature-block--prominent-xl .gl-media-frame img {
    border-radius: 14px;
  }
  .gl-feature-block--prominent .gl-media-placeholder {
    min-height: clamp(180px, 28vw, 260px);
    border-radius: 14px;
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  .gl-feature-block:not(.gl-feature-block--prominent):not(.gl-feature-block--prominent-xl) {
    grid-template-columns: 1fr;
  }
}

/* ── Stacked cards visual ───────────────────────────────── */
.gl-stack {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  perspective: 1400px;
}
.gl-stack__card {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(160deg, hsl(var(--card) / 0.9), hsl(var(--card) / 0.55));
  box-shadow: var(--shadow-soft-lg);
  overflow: hidden;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.gl-stack__card img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; display: block; }
.gl-stack__card--back-2 { transform: translate(34px, 34px) rotate(5deg) scale(0.92); opacity: 0.55; }
.gl-stack__card--back-1 { transform: translate(18px, 18px) rotate(2.5deg) scale(0.96); opacity: 0.8; }
.gl-stack__card--front { transform: translate(0, 0) rotate(0deg); }
.gl-stack:hover .gl-stack__card--back-2 { transform: translate(46px, 46px) rotate(7deg) scale(0.92); }
.gl-stack:hover .gl-stack__card--back-1 { transform: translate(26px, 26px) rotate(4deg) scale(0.96); }
.gl-stack:hover .gl-stack__card--front { transform: translate(-6px, -6px) rotate(-1deg); }

/* ── Module grid (Helios functions) ─────────────────────── */
.gl-modules {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.gl-module-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(165deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.45));
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.gl-module-card:hover {
  transform: translateY(-6px);
  border-color: hsl(var(--primary) / 0.5);
  box-shadow: 0 22px 50px -22px hsl(var(--primary) / 0.5);
}
.gl-module-card__media {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: hsl(var(--background) / 0.4);
}
.gl-module-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.gl-module-card:hover .gl-module-card__media img { transform: scale(1.05); }
.gl-module-card__body { padding: 1.1rem 1.2rem 1.3rem; }
.gl-module-card__name {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.gl-module-card__role {
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  margin-top: 0.25rem;
}
.gl-module-card__desc {
  margin-top: 0.55rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.5;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 1080px) { .gl-modules { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .gl-modules { grid-template-columns: 1fr; } }

/* 3-up variant (advisory / value grids) — responsive without inline overrides */
.gl-modules--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .gl-modules--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .gl-modules--3 { grid-template-columns: 1fr; } }

/* Persona hero product animations for audience pages */
.persona-stage {
  --stage-cyan: #16c7ff;
  --stage-blue: #2563ff;
  --stage-violet: #7c4dff;
  --stage-pink: #ef4bd8;
  --stage-emerald: #22d3a6;
  --stage-amber: #f6b84a;
  position: relative;
  min-height: clamp(390px, 42vw, 560px);
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  background:
    radial-gradient(circle at 16% 8%, rgb(22 199 255 / 0.26), transparent 32%),
    radial-gradient(circle at 84% 78%, rgb(239 75 216 / 0.24), transparent 36%),
    linear-gradient(135deg, rgb(255 255 255 / 0.94), rgb(246 248 255 / 0.86));
  box-shadow: 0 28px 100px rgb(45 58 120 / 0.12);
  isolation: isolate;
}

html[data-theme="dark"] .persona-stage {
  background:
    radial-gradient(circle at 16% 8%, rgb(22 199 255 / 0.27), transparent 32%),
    radial-gradient(circle at 84% 78%, rgb(239 75 216 / 0.26), transparent 36%),
    linear-gradient(135deg, #090716, #050611 58%, #071223);
  box-shadow: 0 28px 110px rgb(0 0 0 / 0.45);
}

.persona-stage__mesh,
.persona-stage__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

.persona-stage__mesh {
  background:
    linear-gradient(110deg, transparent 0 12%, rgb(22 199 255 / 0.16) 28%, transparent 46%),
    linear-gradient(145deg, transparent 0 36%, rgb(124 77 255 / 0.14) 58%, transparent 78%);
  animation: persona-mesh-shift 10s ease-in-out infinite alternate;
}

.persona-stage__grid {
  background-image:
    linear-gradient(rgb(30 41 59 / 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgb(30 41 59 / 0.07) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: radial-gradient(ellipse 70% 68% at 52% 48%, #000 18%, transparent 82%);
          mask-image: radial-gradient(ellipse 70% 68% at 52% 48%, #000 18%, transparent 82%);
}

html[data-theme="dark"] .persona-stage__grid {
  background-image:
    linear-gradient(rgb(255 255 255 / 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 0.075) 1px, transparent 1px);
}

.persona-product-shell,
.persona-side-card,
.persona-kpi-card {
  border: 1px solid rgb(122 135 180 / 0.22);
  background: rgb(255 255 255 / 0.74);
  backdrop-filter: blur(22px);
  box-shadow: 0 18px 70px rgb(30 41 59 / 0.12);
}

html[data-theme="dark"] .persona-product-shell,
html[data-theme="dark"] .persona-side-card,
html[data-theme="dark"] .persona-kpi-card {
  border-color: rgb(147 158 255 / 0.18);
  background: rgb(14 16 33 / 0.78);
  box-shadow: 0 18px 70px rgb(0 0 0 / 0.32);
}

.persona-product-shell {
  position: absolute;
  left: clamp(1rem, 4vw, 2rem);
  right: clamp(1rem, 4vw, 2rem);
  top: clamp(1rem, 4vw, 2rem);
  bottom: clamp(1rem, 4vw, 2rem);
  border-radius: 8px;
  padding: clamp(1rem, 2.4vw, 1.45rem);
}

.persona-stage-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.persona-stage-header__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: white;
  background: linear-gradient(135deg, var(--stage-cyan), var(--stage-violet), var(--stage-pink));
  box-shadow: 0 12px 34px rgb(124 77 255 / 0.26);
}

.persona-stage-header span {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.persona-stage-header strong {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.1rem, 2.2vw, 1.55rem);
  line-height: 1;
  color: hsl(var(--foreground));
}

.persona-student-board {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 1rem;
  margin-top: clamp(1.3rem, 3vw, 2.2rem);
}

.persona-dna-card {
  min-height: 230px;
  border-radius: 8px;
  padding: 1.1rem;
  background:
    radial-gradient(circle at 50% 38%, rgb(255 255 255 / 0.34), transparent 34%),
    linear-gradient(145deg, var(--stage-blue), var(--stage-violet), var(--stage-pink));
  color: white;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.persona-dna-card__orb {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / 0.42);
  background: rgb(255 255 255 / 0.14);
  box-shadow: inset 0 0 28px rgb(255 255 255 / 0.2), 0 0 36px rgb(255 255 255 / 0.24);
  animation: persona-soft-float 4.8s ease-in-out infinite;
}

.persona-dna-card span,
.persona-side-card span,
.persona-floating-strip span,
.persona-kpi-card span,
.persona-atlas-metric span,
.persona-pipeline-column__head span {
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.persona-dna-card strong {
  display: block;
  margin-top: 0.1rem;
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 1;
}

.persona-signal-stack {
  display: grid;
  gap: 0.75rem;
  align-content: center;
}

.persona-signal-row {
  border-radius: 8px;
  background: rgb(255 255 255 / 0.52);
  padding: 0.75rem;
}

html[data-theme="dark"] .persona-signal-row {
  background: rgb(255 255 255 / 0.055);
}

.persona-signal-row > span {
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--font-rajdhani);
  font-weight: 800;
  color: hsl(var(--foreground));
}

.persona-signal-row__track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(120 125 160 / 0.16);
}

.persona-signal-row__track i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.persona-tone-cyan { background: linear-gradient(90deg, var(--stage-cyan), var(--stage-blue)); }
.persona-tone-violet { background: linear-gradient(90deg, var(--stage-blue), var(--stage-violet)); }
.persona-tone-pink { background: linear-gradient(90deg, var(--stage-violet), var(--stage-pink)); }
.persona-tone-emerald { background: linear-gradient(90deg, var(--stage-cyan), var(--stage-emerald)); }

.persona-floating-strip {
  position: absolute;
  left: clamp(1rem, 2.4vw, 1.45rem);
  right: clamp(1rem, 2.4vw, 1.45rem);
  bottom: clamp(1rem, 2.4vw, 1.45rem);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.55rem;
}

.persona-floating-strip span {
  border-radius: 8px;
  padding: 0.62rem;
  text-align: center;
  color: white;
  background: linear-gradient(135deg, rgb(22 199 255 / 0.88), rgb(124 77 255 / 0.88));
}

.persona-side-card {
  position: absolute;
  right: clamp(1rem, 4vw, 2rem);
  bottom: clamp(1rem, 4vw, 2rem);
  width: min(44%, 250px);
  border-radius: 8px;
  padding: 1rem;
}

.persona-side-card p {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
  color: hsl(var(--foreground));
  font-size: 0.86rem;
}

.persona-side-card--moves {
  right: 1.25rem;
  bottom: 1.25rem;
}

.persona-product-shell--student {
  right: clamp(5.5rem, 18vw, 9rem);
}

.persona-product-shell--professional {
  bottom: clamp(4.5rem, 11vw, 6.5rem);
}

.persona-path-card {
  position: relative;
  height: clamp(230px, 28vw, 330px);
  margin-top: 1rem;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(22 199 255 / 0.08), rgb(124 77 255 / 0.12));
}

.persona-path-card svg {
  width: 100%;
  height: 100%;
}

.persona-path-card__area {
  fill: url(#persona-professional-gradient);
  opacity: 0.12;
}

.persona-path-card__line {
  fill: none;
  stroke: url(#persona-professional-gradient);
  stroke-width: 6;
  stroke-linecap: round;
  stroke-dasharray: 720;
  stroke-dashoffset: 720;
  animation: persona-draw 2.8s ease forwards;
}

.persona-path-card__dot {
  fill: hsl(var(--background));
  stroke: var(--stage-violet);
  stroke-width: 4;
}

.persona-path-labels {
  position: absolute;
  inset: auto 1rem 1rem;
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
}

.persona-path-labels span {
  border-radius: 8px;
  background: rgb(255 255 255 / 0.66);
  padding: 0.45rem 0.65rem;
  font-size: 0.75rem;
  font-weight: 800;
}

html[data-theme="dark"] .persona-path-labels span {
  background: rgb(255 255 255 / 0.08);
}

.persona-kpi-cluster {
  position: absolute;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.7rem;
}

.persona-kpi-card {
  border-radius: 8px;
  padding: 0.82rem;
}

.persona-kpi-card strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.4rem;
}

.persona-atlas-layout {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 1rem;
  margin-top: 1.2rem;
}

.persona-atlas-heatmap {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.45rem;
  min-height: 280px;
  padding: 0.75rem;
  border-radius: 8px;
  background: rgb(255 255 255 / 0.48);
}

html[data-theme="dark"] .persona-atlas-heatmap {
  background: rgb(255 255 255 / 0.055);
}

.persona-atlas-heatmap span {
  min-height: 34px;
  border-radius: 7px;
}

.persona-heat-0 { background: rgb(22 199 255 / 0.35); }
.persona-heat-1 { background: rgb(37 99 255 / 0.42); }
.persona-heat-2 { background: rgb(124 77 255 / 0.48); }
.persona-heat-3 { background: rgb(239 75 216 / 0.42); }
.persona-heat-4 { background: rgb(34 211 166 / 0.42); }

.persona-atlas-metrics {
  display: grid;
  gap: 0.75rem;
}

.persona-atlas-metric {
  border-radius: 8px;
  background: linear-gradient(135deg, rgb(255 255 255 / 0.62), rgb(255 255 255 / 0.34));
  padding: 0.85rem;
}

html[data-theme="dark"] .persona-atlas-metric {
  background: rgb(255 255 255 / 0.065);
}

.persona-atlas-metric strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 1.5rem;
}

.persona-side-card--report {
  left: 1.25rem;
  right: auto;
  bottom: 1.25rem;
}

.persona-pipeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin-top: 1.2rem;
}

.persona-pipeline-column {
  min-height: 280px;
  border-radius: 8px;
  background: rgb(255 255 255 / 0.48);
  padding: 0.75rem;
}

html[data-theme="dark"] .persona-pipeline-column {
  background: rgb(255 255 255 / 0.06);
}

.persona-pipeline-column__head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.9rem;
}

.persona-pipeline-column p {
  margin-top: 0.55rem;
  border-radius: 7px;
  background: linear-gradient(135deg, rgb(22 199 255 / 0.14), rgb(124 77 255 / 0.16));
  padding: 0.7rem 0.65rem;
  color: hsl(var(--foreground));
  font-size: 0.82rem;
  font-weight: 700;
}

.persona-side-card--candidate {
  display: grid;
  justify-items: start;
  background: linear-gradient(135deg, rgb(22 199 255 / 0.78), rgb(124 77 255 / 0.78), rgb(239 75 216 / 0.72));
  color: white;
}

.persona-side-card--candidate strong {
  margin-top: 0.2rem;
  font-size: 3.4rem;
  line-height: 1;
}

.persona-side-card--candidate p {
  color: white;
}

@keyframes persona-mesh-shift {
  from { transform: translate3d(-2%, -1%, 0) scale(1); }
  to { transform: translate3d(2%, 1%, 0) scale(1.04); }
}

@keyframes persona-soft-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@keyframes persona-draw {
  to { stroke-dashoffset: 0; }
}

@media (max-width: 720px) {
  .persona-stage {
    min-height: 430px;
  }

  .persona-product-shell,
  .persona-product-shell--student,
  .persona-product-shell--professional {
    inset: 1rem;
    bottom: 5.9rem;
  }

  .persona-student-board,
  .persona-atlas-layout,
  .persona-pipeline {
    grid-template-columns: 1fr;
  }

  .persona-dna-card,
  .persona-atlas-heatmap,
  .persona-pipeline-column {
    min-height: auto;
  }

  .persona-pipeline {
    grid-template-columns: repeat(2, 1fr);
  }

  .persona-floating-strip,
  .persona-kpi-cluster {
    grid-template-columns: repeat(2, 1fr);
  }

  .persona-side-card,
  .persona-side-card--report {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    width: auto;
  }
}

/* Mobile spacing + stack polish */
@media (max-width: 640px) {
  .gl-section { padding: 3.5rem 0; }
  .gl-section--tight { padding: 2.5rem 0; }
  .gl-container { padding: 0 1.15rem; }
  .gl-stack__card--back-2 { transform: translate(20px, 20px) rotate(5deg) scale(0.92); }
  .gl-stack__card--back-1 { transform: translate(11px, 11px) rotate(2.5deg) scale(0.96); }
}

/* ── Use-case tabs ──────────────────────────────────────── */
.gl-tabs {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 2.5rem;
  align-items: start;
}
.gl-tabs__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.gl-tabs__tab {
  text-align: left;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 1.02rem;
  color: hsl(var(--muted-foreground));
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  transition: all 0.2s ease;
}
.gl-tabs__tab:hover { color: hsl(var(--foreground)); background: hsl(var(--card) / 0.4); }
.gl-tabs__tab[data-active="true"] {
  color: hsl(var(--foreground));
  background: hsl(var(--primary) / 0.1);
  border-color: hsl(var(--primary) / 0.35);
}
.gl-tabs__panel {
  border-radius: 16px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(165deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.45));
  padding: 2rem;
  min-height: 280px;
  box-shadow: var(--shadow-soft-lg);
}
.gl-tabs__panel-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: hsl(var(--primary-foreground));
  background: linear-gradient(135deg, hsl(var(--gradient-mid)), hsl(var(--gradient-end)));
  margin-bottom: 1.1rem;
}
.gl-tabs__panel-list { margin-top: 1.2rem; display: flex; flex-direction: column; gap: 0.65rem; }
.gl-tabs__panel-list li {
  display: flex; align-items: center; gap: 0.55rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.95rem;
  color: hsl(var(--muted-foreground));
}
@media (max-width: 860px) {
  .gl-tabs { grid-template-columns: 1fr; }
  .gl-tabs__list { flex-direction: row; flex-wrap: wrap; }
}

/* ── Use-case sticky stack (GitLab-style, colorful) ─────── */
.ucs {
  --ucs-base: 104px;   /* sticky offset below the floating header */
  --ucs-step: 30px;    /* peek between stacked cards */
  position: relative;
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding-bottom: clamp(2rem, 6vw, 5rem);
}
.ucs-card {
  position: sticky;
  top: calc(var(--ucs-base) + var(--ucs-i) * var(--ucs-step));
  border-radius: 20px;
  padding: clamp(1.5rem, 2.8vw, 2.1rem) clamp(1.5rem, 2.8vw, 2.1rem) clamp(1.5rem, 2.8vw, 2.1rem) clamp(1.7rem, 3vw, 2.3rem);
  border: 1px solid color-mix(in srgb, var(--c1) 32%, hsl(var(--border) / 0.7));
  background:
    radial-gradient(130% 120% at 100% 0%, color-mix(in srgb, var(--c1) 18%, transparent), transparent 52%),
    linear-gradient(160deg, color-mix(in srgb, var(--c1) 11%, hsl(var(--card))), hsl(var(--card)));
  box-shadow:
    0 20px 55px -28px color-mix(in srgb, var(--c1) 65%, transparent),
    var(--shadow-soft-lg);
  overflow: hidden;
}
.ucs-card::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--c1), var(--c2));
}
.ucs-card__icon {
  width: 48px; height: 48px;
  border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--c1), var(--c2));
  box-shadow: 0 12px 26px -10px color-mix(in srgb, var(--c1) 75%, transparent);
  margin-bottom: 1rem;
}
.ucs-card__label {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c1);
  margin-bottom: 0.35rem;
}
.ucs-card__title { margin: 0; }
.ucs-card__desc {
  margin-top: 0.6rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}
.ucs-card__list {
  margin-top: 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0;
  list-style: none;
}
.ucs-card__list li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.95rem;
  color: hsl(var(--foreground) / 0.9);
}
html[data-theme="light"] .ucs-card__label { color: color-mix(in srgb, var(--c1) 82%, #000); }

@media (max-width: 640px) {
  .ucs {
    --ucs-base: 84px;   /* clears the ~73px floating header pill */
    --ucs-step: 14px;
    gap: 1rem;
    max-width: 100%;
  }
  .ucs-card {
    border-radius: 16px;
    padding: 1.3rem 1.3rem 1.3rem 1.55rem;
  }
  .ucs-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    margin-bottom: 0.85rem;
  }
  .ucs-card__desc { font-size: 0.94rem; }
  .ucs-card__list { margin-top: 0.95rem; gap: 0.55rem; }
  .ucs-card__list li { font-size: 0.9rem; }
}

/* ── Metric band ────────────────────────────────────────── */
.gl-metric-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.gl-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  min-width: 0;
  padding-inline: 0.5rem;
}
.gl-metric__value {
  display: block;
  max-width: 100%;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  hyphens: none;
}
.gl-metric__label {
  display: block;
  max-width: 24ch;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.88rem;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: hsl(var(--muted-foreground));
  text-wrap: balance;
}
@media (max-width: 700px) { .gl-metric-band { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }

/* ── Meet Helios — prominent orbit visual ─────────────────── */
.gl-section--meet-helios {
  background: #000000;
  color: #f8fafc;
}
html[data-theme="light"] .gl-section--meet-helios,
html.light .gl-section--meet-helios {
  background: #ffffff;
  color: #171322;
}
.gl-media-frame--helios-orbit {
  position: relative;
  isolation: isolate;
}
.gl-media-frame--helios-orbit::before {
  content: "";
  position: absolute;
  inset: -10% -8%;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 45%, rgba(139, 92, 246, 0.28), transparent 68%),
    radial-gradient(circle at 30% 70%, rgba(59, 130, 246, 0.16), transparent 62%);
  filter: blur(36px);
  opacity: 0.75;
  z-index: 0;
  pointer-events: none;
}
.gl-media-frame--helios-orbit img,
.meet-helios-orbit__img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  border: none !important;
  border-radius: clamp(18px, 2vw, 26px) !important;
  box-shadow:
    0 40px 100px rgba(99, 102, 241, 0.18),
    0 16px 40px hsl(var(--foreground) / 0.1) !important;
  -webkit-mask-image: radial-gradient(ellipse 92% 88% at 50% 50%, #000 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 92% 88% at 50% 50%, #000 72%, transparent 100%);
}
html[data-theme="light"] .gl-media-frame--helios-orbit::before {
  opacity: 0.55;
}

/* Meet Helios — interactive orbit overlay */
.meet-helios-orbit {
  position: relative;
  /* HELIOS center orb — derived from orbit PNG (1536×1024) */
  --helios-center-x: 50%;
  --helios-center-y: 52%;
  --helios-hit-size: 10%;
}
.meet-helios-hotspot {
  position: absolute;
  top: var(--helios-center-y);
  left: var(--helios-center-x);
  width: var(--helios-hit-size);
  height: var(--helios-hit-size);
  min-width: 52px;
  min-height: 52px;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  z-index: 3;
}
.meet-helios-hotspot:hover {
  background: rgba(139, 92, 246, 0.12);
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.35);
}
.meet-helios-cta-wrap {
  position: absolute;
  bottom: 4%;
  left: 38%;
  top: auto;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  z-index: 3;
  pointer-events: none;
}
.meet-helios-cta-wrap > * {
  pointer-events: auto;
}
.meet-helios-cta__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(262 90% 68%);
  filter: drop-shadow(0 0 8px hsl(262 90% 68% / 0.45));
  margin-bottom: 0.1rem;
}
.meet-helios-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 1.1rem 0.45rem 0.65rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.88);
  backdrop-filter: blur(12px);
  cursor: pointer;
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  box-shadow: 0 8px 28px hsl(var(--foreground) / 0.08);
  transition: border-color 0.2s, background 0.2s;
}
.meet-helios-cta:hover {
  border-color: hsl(262 90% 66% / 0.55);
  background: hsl(262 90% 66% / 0.1);
}
.meet-helios-cta__pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: hsl(262 90% 68%);
  box-shadow: 0 0 10px hsl(262 90% 68% / 0.6);
  animation: meetHeliosPulseDot 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes meetHeliosPulseDot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(0.65); opacity: 0.4; }
}
.meet-helios-cta__text {
  font-family: var(--font-rajdhani), system-ui, sans-serif;
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: hsl(var(--foreground) / 0.88);
  white-space: nowrap;
}

/* Helios demo modal */
.helios-demo-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.helios-demo-modal__backdrop {
  position: absolute;
  inset: 0;
  border: none;
  background: hsl(var(--background) / 0.72);
  backdrop-filter: blur(8px);
  cursor: pointer;
}
.helios-demo-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100%, 560px);
  max-height: min(88vh, 720px);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--card));
  box-shadow:
    0 32px 80px hsl(var(--foreground) / 0.18),
    0 8px 24px hsl(var(--foreground) / 0.1);
}
.helios-demo-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  background: linear-gradient(135deg, hsl(262 70% 52%), hsl(220 80% 52%));
  color: #fff;
}
.helios-demo-modal__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.92;
}
.helios-demo-modal__title {
  margin: 0.25rem 0 0;
  font-family: var(--font-rajdhani);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.helios-demo-modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
}
.helios-demo-modal__close:hover {
  background: rgba(255, 255, 255, 0.25);
}
.helios-demo-modal__thread {
  flex: 1;
  overflow-y: auto;
  padding: 1.1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 200px;
}
.helios-demo-modal__prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.85rem 1.15rem 1.1rem;
  border-top: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--muted) / 0.25);
}
.helios-demo-prompt {
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  border: 1px solid hsl(262 70% 52% / 0.35);
  background: hsl(var(--card));
  font-size: 0.78rem;
  font-weight: 600;
  color: hsl(var(--foreground) / 0.9);
  cursor: pointer;
  text-align: left;
  transition: background 0.15s, border-color 0.15s;
}
.helios-demo-prompt:hover:not(:disabled) {
  background: hsl(262 70% 52% / 0.1);
  border-color: hsl(262 70% 52% / 0.55);
}
.helios-demo-prompt:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.helios-demo-bubble {
  max-width: 92%;
  padding: 0.75rem 0.9rem;
  border-radius: 14px;
  font-size: 0.88rem;
  line-height: 1.5;
}
.helios-demo-bubble--user {
  align-self: flex-end;
  background: hsl(262 70% 52% / 0.14);
  border: 1px solid hsl(262 70% 52% / 0.28);
  color: hsl(var(--foreground));
}
.helios-demo-bubble--assistant {
  align-self: flex-start;
  background: hsl(var(--muted) / 0.45);
  border: 1px solid hsl(var(--border) / 0.55);
}
.helios-demo-bubble__agents {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
}
.helios-demo-agent {
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  font-family: var(--font-rajdhani);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: hsl(262 70% 52% / 0.15);
  color: hsl(262 60% 45%);
}
html[data-theme="dark"] .helios-demo-agent {
  color: hsl(262 80% 78%);
}
.helios-demo-bubble__text {
  margin: 0 0 0.5rem;
}
.helios-demo-bubble__text:last-of-type {
  margin-bottom: 0;
}
.helios-demo-card {
  margin-top: 0.65rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  border: 1px solid hsl(var(--border) / 0.55);
  background: hsl(var(--card));
}
.helios-demo-card--dna {
  padding: 0.85rem;
}
.helios-demo-card__dna-scores {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.helios-demo-card__dna-score {
  flex: 1;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: hsl(262 70% 52% / 0.08);
  border: 1px solid hsl(262 70% 52% / 0.2);
  text-align: center;
}
.helios-demo-card__dna-val {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: 1.6rem;
  font-weight: 700;
  color: hsl(262 60% 48%);
  line-height: 1.1;
}
html[data-theme="dark"] .helios-demo-card__dna-val {
  color: hsl(262 80% 72%);
}
.helios-demo-card__dna-momentum {
  display: block;
  font-family: var(--font-rajdhani);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1;
}
.helios-demo-card__dna-momentum--rising { color: hsl(142 55% 40%); }
.helios-demo-card__dna-momentum--building { color: hsl(45 90% 42%); }
.helios-demo-card__dna-momentum--steady { color: hsl(220 70% 50%); }
.helios-demo-card__dna-lbl {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
.helios-demo-card__dna-section {
  margin-top: 0.55rem;
}
.helios-demo-card__dna-heading {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
.helios-demo-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.helios-demo-card__tag {
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 600;
  background: hsl(271 60% 52% / 0.12);
  color: hsl(271 55% 42%);
  border: 1px solid hsl(271 50% 52% / 0.22);
}
.helios-demo-card__tag--strength {
  background: hsl(190 70% 42% / 0.12);
  color: hsl(190 60% 32%);
  border-color: hsl(190 60% 42% / 0.22);
}
html[data-theme="dark"] .helios-demo-card__tag {
  color: hsl(271 70% 78%);
}
html[data-theme="dark"] .helios-demo-card__tag--strength {
  color: hsl(190 70% 72%);
}
.helios-demo-card__dna-match {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid hsl(var(--border) / 0.5);
  font-size: 0.78rem;
  color: hsl(var(--muted-foreground));
}
.helios-demo-card__dna-fit {
  font-family: var(--font-rajdhani);
  font-size: 1.15rem;
  font-weight: 700;
  color: hsl(271 65% 50%);
}
.helios-demo-card--scout {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.helios-demo-card__fit {
  font-family: var(--font-rajdhani);
  font-size: 1.5rem;
  font-weight: 700;
  color: hsl(271 70% 55%);
}
.helios-demo-card__title {
  margin: 0;
  font-weight: 700;
  font-size: 0.88rem;
}
.helios-demo-card__sub {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: hsl(var(--muted-foreground));
}
.helios-demo-card__gap {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: hsl(25 90% 48%);
}
.helios-demo-card--forge {
  text-align: center;
}
.helios-demo-card__gauge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 1.4rem;
}
.helios-demo-card__gauge-val { color: hsl(25 90% 50%); }
.helios-demo-card__gauge-target { color: hsl(142 60% 40%); }
.helios-demo-card--moves {
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
}
.helios-demo-card__move {
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  font-size: 0.8rem;
  border-left: 3px solid hsl(var(--border));
  background: hsl(var(--card));
  margin-bottom: 0.35rem;
}
.helios-demo-card__move--high { border-left-color: hsl(0 70% 55%); }
.helios-demo-card__move--medium { border-left-color: hsl(45 90% 50%); }
.helios-demo-typing {
  align-self: flex-start;
  display: flex;
  gap: 4px;
  padding: 0.65rem 0.85rem;
  border-radius: 14px;
  background: hsl(var(--muted) / 0.45);
}
.helios-demo-typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: hsl(var(--muted-foreground));
  animation: heliosDemoTyping 1s ease-in-out infinite;
}
.helios-demo-typing span:nth-child(2) { animation-delay: 0.15s; }
.helios-demo-typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes heliosDemoTyping {
  0%, 100% { opacity: 0.35; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-3px); }
}
.helios-demo-cta {
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid hsl(262 70% 52% / 0.35);
  background: linear-gradient(145deg, hsl(262 70% 52% / 0.1), hsl(var(--card)));
  text-align: center;
}
.helios-demo-cta__title {
  margin: 0;
  font-family: var(--font-rajdhani);
  font-size: 1.05rem;
  font-weight: 700;
}
.helios-demo-cta__body {
  margin: 0.4rem 0 0.85rem;
  font-size: 0.84rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.45;
}
.helios-demo-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1.1rem;
  border-radius: 10px;
  background: linear-gradient(135deg, hsl(262 70% 52%), hsl(220 80% 52%));
  color: #fff;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 0.15s;
}
.helios-demo-cta__btn:hover {
  opacity: 0.92;
}

@media (prefers-reduced-motion: reduce) {
  .meet-helios-cta__pulse { animation: none !important; }
}

/* ── Helios Suite — colorful bento grid ───────────────────── */
.gl-section--helios-suite {
  background:
    radial-gradient(1100px 560px at 20% 0%, rgba(139, 92, 246, 0.07), transparent 62%),
    radial-gradient(900px 480px at 80% 100%, rgba(6, 182, 212, 0.06), transparent 58%),
    linear-gradient(180deg, hsl(var(--background) / 0), hsl(var(--muted) / 0.22));
}
.hc {
  position: relative;
  margin-top: clamp(2rem, 5vw, 3.5rem);
}
.hc-bento {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(200px, 1fr)) auto;
  grid-template-areas:
    "dna scout foundry"
    "dna scribe forge"
    "radar hive mission";
  gap: clamp(0.85rem, 1.8vw, 1.15rem);
  max-width: min(96vw, 1180px);
  margin-inline: auto;
}
.hc-bento__card {
  position: relative;
  min-height: 0;
  border-radius: 20px;
}
.hc-bento__static,
.hc-bento__flip {
  height: 100%;
}
.hc-bento__card--static .hc-bento__static {
  min-height: inherit;
}
.hc-bento__flip {
  perspective: 1200px;
  cursor: pointer;
  outline: none;
}
.hc-bento__inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0s;
}
.hc-bento__card--flip:hover .hc-bento__inner,
.hc-bento__card--flip:focus-within .hc-bento__inner {
  transition-delay: 0.52s;
  transform: rotateY(180deg);
}
.hc-bento__card--flip {
  min-height: clamp(168px, 18vw, 210px);
}
.hc-bento__card--hero {
  min-height: clamp(280px, 36vw, 420px);
}
.hc-bento__face {
  display: flex;
  flex-direction: column;
  padding: clamp(1.1rem, 2vw, 1.45rem);
  border-radius: 20px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
  border: 1.5px solid color-mix(in srgb, var(--hc-accent) 35%, hsl(var(--border)));
  background:
    linear-gradient(155deg, var(--hc-accent-soft), hsl(var(--card)) 48%),
    hsl(var(--card));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hc-accent) 12%, transparent),
    0 16px 40px color-mix(in srgb, var(--hc-accent) 12%, transparent),
    0 6px 18px hsl(var(--foreground) / 0.06);
}
.hc-bento__back {
  transform: rotateY(180deg);
  justify-content: center;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--hc-accent) 22%, hsl(var(--card))), hsl(var(--card)));
}
.hc-bento__card--flip .hc-bento__face {
  position: absolute;
  inset: 0;
}
.hc-bento__card--static .hc-bento__face {
  position: relative;
  height: 100%;
}
.hc-bento__fx {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
}
.hc-bento__card--flip:hover .hc-bento__fx,
.hc-bento__card--flip:focus-within .hc-bento__fx,
.hc-bento__card--static:hover .hc-bento__fx {
  opacity: 1;
}
.hc-bento__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  position: relative;
  z-index: 1;
}
.hc-bento__num {
  font-family: var(--font-rajdhani);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: color-mix(in srgb, var(--hc-accent) 75%, hsl(var(--muted-foreground)));
}
.hc-bento__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  color: var(--hc-accent);
  background: color-mix(in srgb, var(--hc-accent) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--hc-accent) 28%, transparent);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.hc-bento__card--flip:hover .hc-bento__icon,
.hc-bento__card--flip:focus-within .hc-bento__icon {
  transform: scale(1.08);
  box-shadow: 0 0 20px color-mix(in srgb, var(--hc-accent) 35%, transparent);
}
.hc-bento__title {
  margin: 1rem 0 0.35rem;
  font-family: var(--font-rajdhani);
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
  position: relative;
  z-index: 1;
}
.hc-bento__card--hero .hc-bento__title {
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
}
.hc-bento__layer {
  margin: 0;
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--hc-accent) 70%, hsl(var(--muted-foreground)));
  position: relative;
  z-index: 1;
}
.hc-bento__desc {
  margin: 0.75rem 0 0;
  font-size: clamp(0.84rem, 1.3vw, 0.95rem);
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
  max-width: 36ch;
  position: relative;
  z-index: 1;
}
.hc-bento__card--hero .hc-bento__desc {
  max-width: 28ch;
  font-size: clamp(0.9rem, 1.4vw, 1.02rem);
}
.hc-bento__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: auto;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  font-family: var(--font-rajdhani);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hc-accent);
  background: color-mix(in srgb, var(--hc-accent) 12%, hsl(var(--card)));
  border: 1px solid color-mix(in srgb, var(--hc-accent) 30%, transparent);
  position: relative;
  z-index: 1;
}
.hc-bento__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hc-accent);
  box-shadow: 0 0 8px var(--hc-accent);
}
.hc-bento__back-label {
  margin: 0 0 0.85rem;
  font-family: var(--font-rajdhani);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hc-accent);
}
.hc-bento__bullets {
  margin: 0;
  padding: 0 0 0 1.1rem;
  list-style: disc;
  font-size: clamp(0.84rem, 1.2vw, 0.92rem);
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.9);
}
.hc-bento__bullets li + li {
  margin-top: 0.55rem;
}
.hc-bento__bullets li::marker {
  color: var(--hc-accent);
}

/* Unique hover FX — play before flip */
.hc-bento__fx-scout {
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--hc-accent) 28%, transparent), transparent);
  animation: none;
}
.hc-bento__card--scout:hover .hc-bento__fx-scout,
.hc-bento__card--scout:focus-within .hc-bento__fx-scout {
  animation: hc-fx-scout-sweep 0.5s ease forwards;
}
@keyframes hc-fx-scout-sweep {
  to { left: 120%; }
}
.hc-bento__fx-spark {
  position: absolute;
  bottom: 12%;
  left: 18%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hc-accent);
  box-shadow: 0 0 10px var(--hc-accent);
  opacity: 0;
}
.hc-bento__fx-spark--2 { left: 42%; }
.hc-bento__fx-spark--3 { left: 68%; }
.hc-bento__card--foundry:hover .hc-bento__fx-spark,
.hc-bento__card--foundry:focus-within .hc-bento__fx-spark {
  animation: hc-fx-spark-rise 0.55s ease forwards;
}
.hc-bento__card--foundry:hover .hc-bento__fx-spark--2,
.hc-bento__card--foundry:focus-within .hc-bento__fx-spark--2 { animation-delay: 0.1s; }
.hc-bento__card--foundry:hover .hc-bento__fx-spark--3,
.hc-bento__card--foundry:focus-within .hc-bento__fx-spark--3 { animation-delay: 0.2s; }
@keyframes hc-fx-spark-rise {
  0% { opacity: 0; transform: translateY(0) scale(0.5); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-80px) scale(1.2); }
}
.hc-bento__fx-ink {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 120px;
  height: 120px;
  margin-left: -60px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--hc-accent) 35%, transparent), transparent 70%);
  transform: scale(0);
}
.hc-bento__card--scribe:hover .hc-bento__fx-ink,
.hc-bento__card--scribe:focus-within .hc-bento__fx-ink {
  animation: hc-fx-ink-ripple 0.55s ease forwards;
}
@keyframes hc-fx-ink-ripple {
  to { transform: scale(2.2); opacity: 0; }
}
.hc-bento__fx-wave {
  position: absolute;
  bottom: 14%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 36px;
}
.hc-bento__fx-wave span {
  width: 4px;
  height: 8px;
  border-radius: 2px;
  background: var(--hc-accent);
  opacity: 0.3;
}
.hc-bento__card--forge:hover .hc-bento__fx-wave span,
.hc-bento__card--forge:focus-within .hc-bento__fx-wave span {
  animation: hc-fx-wave-bar 0.45s ease infinite alternate;
}
@keyframes hc-fx-wave-bar {
  from { height: 8px; opacity: 0.35; }
  to { height: 32px; opacity: 1; }
}
.hc-bento__fx-radar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 140%;
  aspect-ratio: 1;
  margin: -70% 0 0 -70%;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg, color-mix(in srgb, var(--hc-accent) 45%, transparent) 40deg, transparent 80deg);
  opacity: 0;
}
.hc-bento__card--radar:hover .hc-bento__fx-radar,
.hc-bento__card--radar:focus-within .hc-bento__fx-radar {
  animation: hc-fx-radar-spin 0.55s linear forwards;
}
@keyframes hc-fx-radar-spin {
  from { opacity: 0.8; transform: rotate(0deg); }
  to { opacity: 0; transform: rotate(120deg); }
}
.hc-bento__fx-nodes {
  position: absolute;
  inset: 20% 15%;
}
.hc-bento__fx-nodes span {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--hc-accent);
  opacity: 0;
}
.hc-bento__fx-nodes span:nth-child(1) { top: 20%; left: 20%; }
.hc-bento__fx-nodes span:nth-child(2) { top: 55%; left: 55%; }
.hc-bento__fx-nodes span:nth-child(3) { top: 30%; left: 75%; }
.hc-bento__card--hive:hover .hc-bento__fx-nodes span,
.hc-bento__card--hive:focus-within .hc-bento__fx-nodes span {
  animation: hc-fx-node-pop 0.45s ease forwards;
}
.hc-bento__card--hive:hover .hc-bento__fx-nodes span:nth-child(2),
.hc-bento__card--hive:focus-within .hc-bento__fx-nodes span:nth-child(2) { animation-delay: 0.12s; }
.hc-bento__card--hive:hover .hc-bento__fx-nodes span:nth-child(3),
.hc-bento__card--hive:focus-within .hc-bento__fx-nodes span:nth-child(3) { animation-delay: 0.24s; }
@keyframes hc-fx-node-pop {
  0% { opacity: 0; transform: scale(0); }
  50% { opacity: 1; transform: scale(1.4); box-shadow: 0 0 16px var(--hc-accent); }
  100% { opacity: 0.6; transform: scale(1); }
}
.hc-bento__fx-stars {
  position: absolute;
  inset: 10%;
}
.hc-bento__fx-stars span {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--hc-accent);
  opacity: 0;
}
.hc-bento__fx-stars span:nth-child(1) { top: 15%; left: 20%; }
.hc-bento__fx-stars span:nth-child(2) { top: 35%; left: 70%; }
.hc-bento__fx-stars span:nth-child(3) { top: 60%; left: 30%; }
.hc-bento__fx-stars span:nth-child(4) { top: 25%; left: 45%; }
.hc-bento__fx-stars span:nth-child(5) { top: 70%; left: 65%; }
.hc-bento__fx-stars span:nth-child(6) { top: 50%; left: 80%; }
.hc-bento__card--mission:hover .hc-bento__fx-stars span,
.hc-bento__card--mission:focus-within .hc-bento__fx-stars span {
  animation: hc-fx-star-twinkle 0.5s ease forwards;
}
@keyframes hc-fx-star-twinkle {
  0%, 100% { opacity: 0; transform: scale(0.5); }
  50% { opacity: 1; transform: scale(1.5); box-shadow: 0 0 12px var(--hc-accent); }
}
.hc-bento__fx-pulse {
  position: absolute;
  top: 50%;
  right: 8%;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--hc-accent) 40%, transparent);
  opacity: 0;
}
.hc-bento__card--dna:hover .hc-bento__fx-pulse {
  animation: hc-fx-dna-pulse 1.8s ease-out infinite;
  opacity: 1;
}
@keyframes hc-fx-dna-pulse {
  0% { transform: scale(0.6); opacity: 0.7; }
  100% { transform: scale(1.8); opacity: 0; }
}
.hc-hint {
  margin: 1.35rem auto 0;
  max-width: 1180px;
  text-align: center;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.03em;
  color: hsl(var(--muted-foreground));
}

.hc-hint__mobile {
  display: none;
}

.hc-bento__bullets--touch {
  display: none;
}

@media (max-width: 1024px) {
  .hc-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-template-areas:
      "dna dna"
      "scout foundry"
      "scribe forge"
      "radar hive"
      "mission mission";
  }

  /* Tablet/mobile — let card copy grow; disable flip clipping */
  .hc-bento__card--flip,
  .hc-bento__card--hero {
    min-height: 0;
  }

  .hc-bento__flip,
  .hc-bento__inner,
  .hc-bento__static {
    height: auto;
    min-height: 0;
  }

  .hc-bento__card--flip:hover .hc-bento__inner,
  .hc-bento__card--flip:focus-within .hc-bento__inner {
    transform: none;
    transition-delay: 0s;
  }

  .hc-bento__card--flip .hc-bento__face {
    position: relative;
    inset: auto;
    width: 100%;
    transform: none !important;
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
  }

  .hc-bento__back {
    display: none;
  }

  .hc-bento__face {
    overflow: visible;
    min-height: 0;
    height: auto;
  }

  .hc-bento__desc,
  .hc-bento__card--hero .hc-bento__desc {
    max-width: none;
  }

  .hc-bento__bullets--touch {
    display: block;
    margin-top: 1rem;
  }

  .hc-hint__desktop {
    display: none;
  }

  .hc-hint__mobile {
    display: inline;
  }
}
@media (max-width: 640px) {
  .hc-bento {
    grid-template-columns: 1fr;
    grid-template-areas:
      "dna"
      "scout"
      "foundry"
      "scribe"
      "forge"
      "radar"
      "hive"
      "mission";
  }

  .hc-hint {
    font-size: 0.82rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hc-bento__inner { transition-duration: 0.01ms; transition-delay: 0s !important; }
  .hc-bento__fx-scout,
  .hc-bento__fx-spark,
  .hc-bento__fx-ink,
  .hc-bento__fx-wave span,
  .hc-bento__fx-radar,
  .hc-bento__fx-nodes span,
  .hc-bento__fx-stars span,
  .hc-bento__fx-pulse { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   EARLY ACCESS PAGE (ea-*)
   ═══════════════════════════════════════════════════════════ */
.ea-hero { padding-bottom: clamp(2.5rem, 4vw, 4rem); }
.ea-head { margin-bottom: clamp(2.5rem, 4vw, 3.5rem); }
.ea-head__note {
  margin-top: 1rem;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  color: hsl(var(--muted-foreground));
}

.ea-split {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: clamp(1.75rem, 3.5vw, 3rem);
  align-items: start;
}

.ea-aside { position: relative; }
.ea-aside__media { margin-bottom: 1.85rem; }
.ea-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.ea-step { display: flex; gap: 0.9rem; align-items: flex-start; }
.ea-step__num {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-rajdhani); font-weight: 700; font-size: 0.95rem;
  color: hsl(var(--primary-foreground));
  background: linear-gradient(135deg, hsl(var(--gradient-mid)), hsl(var(--gradient-end)));
  box-shadow: 0 6px 16px -6px hsl(var(--primary) / 0.6);
}
.ea-step__title { font-family: var(--font-rajdhani); font-weight: 700; font-size: 1.02rem; line-height: 1.2; }
.ea-step__desc {
  font-family: var(--font-rajdhani); font-weight: 500; font-size: 0.88rem;
  line-height: 1.45; color: hsl(var(--muted-foreground)); margin-top: 0.12rem;
}

.ea-panel {
  position: relative;
  border-radius: 20px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(165deg, hsl(var(--card) / 0.92), hsl(var(--card) / 0.55));
  box-shadow: var(--shadow-soft-xl);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: clamp(1.4rem, 3vw, 2.2rem);
}
.ea-panel__head { margin-bottom: 1.5rem; }
.ea-panel__title {
  font-family: var(--font-rajdhani); font-weight: 700;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem);
  letter-spacing: -0.01em; line-height: 1.1;
}
.ea-panel__sub {
  font-family: var(--font-rajdhani); font-weight: 500; font-size: 0.92rem;
  color: hsl(var(--muted-foreground)); margin-top: 0.4rem;
}
.ea-panel--success { text-align: center; }

.ea-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.ea-benefit {
  display: flex; gap: 0.9rem; align-items: flex-start;
  padding: 1.25rem 1.3rem;
  border-radius: 16px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(165deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.45));
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.ea-benefit:hover {
  transform: translateY(-4px);
  border-color: hsl(var(--primary) / 0.5);
  box-shadow: 0 18px 40px -22px hsl(var(--primary) / 0.5);
}
.ea-benefit p { font-family: var(--font-rajdhani); font-weight: 500; font-size: 0.95rem; line-height: 1.45; }
.ea-benefit__icon {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.12);
  border: 1px solid hsl(var(--primary) / 0.25);
}
.ea-coming {
  max-width: 640px; margin: 0 auto; text-align: center;
  font-family: var(--font-rajdhani); font-weight: 500;
  color: hsl(var(--muted-foreground));
  border: 1px dashed hsl(var(--primary) / 0.35);
  background: hsl(var(--primary) / 0.05);
  border-radius: 16px; padding: 1.5rem;
}

@media (max-width: 960px) {
  .ea-split { grid-template-columns: 1fr; gap: 2.25rem; }
  .ea-form-col { order: 0; }
  .ea-aside { order: 1; }
}
@media (max-width: 900px) { .ea-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ea-benefits { grid-template-columns: 1fr; } }

/* ── Early access glow polish ── */
.ea-hero--glow {
  position: relative;
}

.ea-steps-visual {
  display: grid;
  gap: 0.85rem;
}

.ea-steps-visual__card {
  position: relative;
  padding: 1rem 1rem 1rem 3.25rem;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--ea-accent) 24%, hsl(var(--border)));
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--ea-accent) 8%, hsl(var(--card))), hsl(var(--card) / 0.92));
  box-shadow: 0 14px 32px -22px color-mix(in srgb, var(--ea-accent) 40%, transparent);
}

.ea-steps-visual__num {
  position: absolute;
  left: 0.85rem;
  top: 0.85rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ea-accent);
}

.ea-steps-visual__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.35rem;
  border-radius: 10px;
  color: var(--ea-accent);
  background: color-mix(in srgb, var(--ea-accent) 12%, transparent);
}

.ea-steps-visual__icon svg {
  width: 1rem;
  height: 1rem;
}

.ea-steps-visual__title {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.2;
}

.ea-steps-visual__desc {
  margin-top: 0.25rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
}

.marketing-glow-shell .ea-panel {
  border-color: hsl(var(--border) / 0.75);
  background:
    linear-gradient(165deg, hsl(var(--card) / 0.95), hsl(var(--card) / 0.78));
  box-shadow: var(--shadow-soft-lg);
}

.marketing-glow-shell .ea-benefit {
  border-color: hsl(var(--border) / 0.7);
  background: linear-gradient(160deg, hsl(var(--card) / 0.92), hsl(var(--card) / 0.72));
}

.marketing-glow-shell .ea-benefit__icon {
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.12);
}

/* ── Feature block without media column ── */
.gl-feature-block--no-media {
  grid-template-columns: minmax(0, 1fr);
  max-width: 48rem;
}

.gl-feature-block--no-media .gl-feature-block__copy {
  max-width: none;
}

.gl-hero--copy-only .gl-hero__inner {
  max-width: 52rem;
}

/* ── Quote ──────────────────────────────────────────────── */
.gl-quote {
  border-radius: 18px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(160deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.4));
  padding: 2.5rem;
  box-shadow: var(--shadow-soft-lg);
}
.gl-quote__text {
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  line-height: 1.4;
  letter-spacing: -0.01em;
}
.gl-quote__author {
  margin-top: 1.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.95rem;
  color: hsl(var(--muted-foreground));
}
.gl-quote__author strong { color: hsl(var(--foreground)); font-weight: 700; }

/* ── Trust strip ────────────────────────────────────────── */
.gl-trust { text-align: center; }
.gl-trust__eyebrow {
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
.gl-trust__row {
  margin-top: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 2.5rem;
}
.gl-trust__logo {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  color: hsl(var(--muted-foreground) / 0.85);
  opacity: 0.8;
  transition: opacity 0.2s ease, color 0.2s ease;
}
.gl-trust__logo:hover { opacity: 1; color: hsl(var(--foreground)); }

/* ── Callout banner (maturity-style) ────────────────────── */
.gl-callout {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  padding: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border: 1px solid hsl(var(--primary) / 0.3);
  background:
    radial-gradient(700px 300px at 0% 0%, hsl(var(--primary) / 0.16), transparent 60%),
    radial-gradient(500px 300px at 100% 100%, hsl(var(--accent) / 0.14), transparent 60%),
    linear-gradient(160deg, hsl(var(--card) / 0.85), hsl(var(--card) / 0.5));
  box-shadow: var(--shadow-soft-lg);
}
.gl-callout__title {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  letter-spacing: -0.01em;
}
.gl-callout__sub {
  margin-top: 0.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  max-width: 52ch;
}

/* ── FAQ ────────────────────────────────────────────────── */
.gl-faq { max-width: 860px; margin: 0 auto; }
.gl-faq__item {
  border-bottom: 1px solid hsl(var(--border) / 0.6) !important;
}
.gl-faq__trigger {
  font-family: var(--font-rajdhani) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  letter-spacing: -0.01em;
  text-align: left;
}
.gl-faq__trigger:hover { text-decoration: none !important; }
.gl-faq__content {
  font-family: var(--font-rajdhani);
  font-weight: 500;
  font-size: 0.98rem;
  line-height: 1.6;
  color: hsl(var(--muted-foreground));
}

/* ── Get started split ──────────────────────────────────── */
.gl-getstarted {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.gl-getstarted__card {
  border-radius: 18px;
  border: 1px solid hsl(var(--border) / 0.7);
  background: linear-gradient(160deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.45));
  padding: 2.25rem;
  box-shadow: var(--shadow-soft-lg);
}
.gl-getstarted__kicker {
  font-family: var(--font-rajdhani);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
@media (max-width: 760px) { .gl-getstarted { grid-template-columns: 1fr; } }

/* ── Numbered belief blocks (about-us) ──────────────────── */
.gl-numbered { display: flex; flex-direction: column; gap: 4rem; }
.gl-numbered__item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 2rem;
  align-items: start;
}
.gl-numbered__index {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: hsl(var(--primary) / 0.25);
}
@media (max-width: 720px) {
  .gl-numbered__item { grid-template-columns: 1fr; gap: 0.75rem; }
  .gl-numbered__index { font-size: 3rem; }
}

/* ============================================================
   UNIVERSAL MOBILE OVERRIDES
   Collapse all student page layouts to single column at 640px.
   These are intentionally !important to override page-specific
   hardcoded grid minimums without touching every CSS file.
   ============================================================ */

@media (max-width: 640px) {
  /* Page containers: reduce padding */
  .page-container,
  .page-content,
  .student-page {
    padding: 1rem !important;
  }

  /* App main: prevent horizontal overflow */
  .app-main {
    overflow-x: hidden;
    max-width: 100vw !important;
  }

  /* Heading sizes */
  h1, .page-title {
    font-size: clamp(1.35rem, 5.5vw, 2rem) !important;
    line-height: 1.2 !important;
  }
  h2 {
    font-size: clamp(1.1rem, 4.5vw, 1.6rem) !important;
  }
  h3 {
    font-size: clamp(0.95rem, 4vw, 1.3rem) !important;
  }

  /* Stat / data grids → single column */
  .stats-grid,
  .stat-cards,
  .stats-row,
  [class*="stat-grid"],
  [class*="stats-row"] {
    grid-template-columns: 1fr !important;
    gap: 0.625rem !important;
  }

  /* Generic header areas → vertical stack */
  .page-header,
  .header-content,
  .page-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.625rem !important;
  }

  /* Card padding reduction */
  .card-modern,
  .card-glass,
  .card-elevated,
  .stat-card {
    padding: 0.875rem !important;
    border-radius: var(--radius-lg) !important;
  }

  /* All buttons and interactive elements: 44px min touch target */
  button:not(.orbit-mobile__hero):not(.topnav__mobile-btn),
  a[role="button"],
  .btn {
    min-height: 44px;
  }

  /* Hide decorative horizontal dividers that break mobile layout */
  .section-rule,
  .page-rule {
    display: none;
  }
}

/* Extra small: 390px and below */
@media (max-width: 420px) {
  .page-container,
  .page-content,
  .student-page {
    padding: 0.75rem !important;
  }

  h1, .page-title {
    font-size: clamp(1.2rem, 6vw, 1.75rem) !important;
  }
}

/* Hide hero avatar/initials circle on mobile across all page heroes */
@media (max-width: 900px) {
  .cz-hero__avatar {
    display: none;
  }
}

/* Safe area: ensure fixed navbars don't overlap notch or home bar */
@supports (padding-top: env(safe-area-inset-top)) {
  .topnav {
    padding-top: env(safe-area-inset-top, 0px);
  }
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .app-main {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* Shared marketing components */

/* Resources dropdown */
.mkt-v2-nav-group { position: relative; }
.mkt-v2-nav-dropdown {
  position: absolute;
  left: 50%;
  top: calc(100% + 0.35rem);
  z-index: 60;
  width: 17.5rem;
  transform: translateX(-50%);
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--background));
  padding: 0.35rem;
  box-shadow: 0 24px 60px -20px hsl(262 50% 5% / 0.18);
}
.mkt-v2-nav-dropdown__item {
  display: block;
  border-radius: 0.75rem;
  padding: 0.55rem 0.75rem;
  transition: background 0.15s ease;
}
.mkt-v2-nav-dropdown__item:hover { background: hsl(var(--primary) / 0.08); }
.mkt-v2-nav-dropdown__label {
  font-family: var(--font-rajdhani);
  font-size: 0.82rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.mkt-v2-nav-dropdown__desc {
  margin-top: 0.15rem;
  font-size: 0.68rem;
  color: hsl(var(--muted-foreground));
}

/* Resource page blocks */
.mkt-page-hero {
  position: relative;
  overflow: hidden;
  padding: 6rem 1.5rem 4rem;
}
.mkt-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--primary) / 0.3);
  background: hsl(var(--primary) / 0.08);
  padding: 0.35rem 0.75rem;
  font-family: var(--font-rajdhani);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}
.mkt-page-hero__title {
  margin-top: 1.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2.25rem, 5.5vw, 4rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
}
.mkt-page-hero__highlight {
  color: hsl(var(--primary));
}
.mkt-page-hero__lead {
  margin-top: 1.25rem;
  max-width: 42rem;
  font-family: var(--font-rajdhani);
  font-size: 1.05rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}

.mkt-ticker {
  overflow: hidden;
  border-block: 1px solid hsl(var(--border) / 0.6);
  padding: 1.75rem 0;
}
.mkt-ticker__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: mkt-marquee 35s linear infinite;
}
.mkt-ticker__item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-inline: 2.5rem;
  font-family: var(--font-rajdhani);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground) / 0.75);
  white-space: nowrap;
}
.mkt-ticker__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: hsl(var(--primary));
}
@keyframes mkt-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.mkt-manifesto {
  padding: 4rem 0;
}
.mkt-manifesto__body {
  margin-top: 1.5rem;
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(1.6rem, 4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.mkt-manifesto__pillars {
  margin-top: 2.5rem;
  display: grid;
  gap: 1.5rem;
  border-top: 1px solid hsl(var(--border) / 0.6);
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .mkt-manifesto__pillars { grid-template-columns: repeat(3, 1fr); }
}

.mkt-signal-flow {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .mkt-signal-flow { grid-template-columns: repeat(3, 1fr); }
}
.mkt-signal-flow__card {
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card) / 0.65);
  padding: 1.75rem;
}

.mkt-testimonials {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .mkt-testimonials { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .mkt-testimonials { grid-template-columns: repeat(3, 1fr); }
}
.mkt-testimonial {
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card) / 0.65);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
}

.mkt-trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--border) / 0.5);
}
@media (min-width: 768px) {
  .mkt-trust-badges { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .mkt-trust-badges { grid-template-columns: repeat(6, 1fr); }
}
.mkt-trust-badge {
  background: hsl(var(--background));
  padding: 1.1rem;
}

.mkt-community-cta {
  display: grid;
  gap: 1.5rem;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card) / 0.65);
  padding: 2rem;
}
@media (min-width: 768px) {
  .mkt-community-cta { grid-template-columns: 1.2fr 1fr; padding: 2.5rem; }
}

.mkt-cinematic-hero {
  position: relative;
  min-height: 88vh;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.mkt-cinematic-hero__bg {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 50% -20%, hsl(var(--primary) / 0.22), transparent 65%),
    radial-gradient(ellipse 70% 50% at 110% 10%, hsl(var(--accent) / 0.14), transparent 60%);
}
.mkt-cinematic-hero__title {
  font-family: var(--font-rajdhani);
  font-weight: 700;
  font-size: clamp(2.75rem, 9vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.04em;
}
.mkt-word-rotate {
  display: inline-flex;
  flex-direction: column;
  height: 0.95em;
  overflow: hidden;
  vertical-align: bottom;
  animation: mkt-word-rotate 12s cubic-bezier(0.7, 0, 0.3, 1) infinite;
}
@keyframes mkt-word-rotate {
  0%, 18% { transform: translateY(0%); }
  20%, 38% { transform: translateY(-100%); }
  40%, 58% { transform: translateY(-200%); }
  60%, 78% { transform: translateY(-300%); }
  80%, 98% { transform: translateY(-400%); }
  100% { transform: translateY(-500%); }
}

.mkt-bento-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 1024px) {
  .mkt-bento-grid { grid-template-columns: repeat(4, 1fr); }
}
.mkt-bento-card {
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card) / 0.6);
  padding: 1.25rem;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.mkt-bento-card:hover {
  transform: translateY(-2px);
  border-color: hsl(var(--primary) / 0.45);
}
.mkt-bento-card--featured {
  grid-column: span 2;
  grid-row: span 2;
  padding: 1.75rem;
}

.mkt-preview-banner {
  position: sticky;
  top: 4rem;
  z-index: 45;
  border-bottom: 1px solid hsl(var(--border));
  background: hsl(var(--background) / 0.92);
  backdrop-filter: blur(10px);
  padding: 0.65rem 1rem;
  text-align: center;
  font-family: var(--font-rajdhani);
  font-size: 0.85rem;
  font-weight: 600;
}

:is(.dark .dark\:prose-invert) {
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

.marker\:content-none *::marker {
  --tw-content: none;
  content: var(--tw-content);
}

.marker\:content-none::marker {
  --tw-content: none;
  content: var(--tw-content);
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:font-medium::file-selector-button {
  font-weight: 500;
}

.file\:text-foreground::file-selector-button {
  color: hsl(var(--foreground));
}

.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-white\/35::-moz-placeholder {
  color: rgb(255 255 255 / 0.35);
}

.placeholder\:text-white\/35::placeholder {
  color: rgb(255 255 255 / 0.35);
}

.placeholder\:text-white\/50::-moz-placeholder {
  color: rgb(255 255 255 / 0.5);
}

.placeholder\:text-white\/50::placeholder {
  color: rgb(255 255 255 / 0.5);
}

.after\:pointer-events-none::after {
  content: var(--tw-content);
  pointer-events: none;
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:inset-0::after {
  content: var(--tw-content);
  inset: 0px;
}

.after\:block::after {
  content: var(--tw-content);
  display: block;
}

.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}

.after\:border-black\/10::after {
  content: var(--tw-content);
  border-color: rgb(0 0 0 / 0.1);
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.after\:border.toggle-elevate::after::before {
    content: var(--tw-content);
    inset: -1px;
  }

.after\:border.hover-elevate:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate:not(.no-active-interaction-elevate)::after::after,.after\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate-2:not(.no-active-interaction-elevate)::after::after {
    content: var(--tw-content);
    inset: -1px;
  }

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.hover\:-translate-y-0:hover {
  --tw-translate-y: -0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-border:hover {
  border-color: hsl(var(--border));
}

.hover\:border-emerald-500\/40:hover {
  border-color: rgb(16 185 129 / 0.4);
}

.hover\:border-neutral-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(163 163 163 / var(--tw-border-opacity));
}

.hover\:border-primary\/15:hover {
  border-color: hsl(var(--primary) / 0.15);
}

.hover\:border-primary\/20:hover {
  border-color: hsl(var(--primary) / 0.2);
}

.hover\:border-primary\/25:hover {
  border-color: hsl(var(--primary) / 0.25);
}

.hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}

.hover\:border-primary\/40:hover {
  border-color: hsl(var(--primary) / 0.4);
}

.hover\:border-primary\/50:hover {
  border-color: hsl(var(--primary) / 0.5);
}

.hover\:border-purple-400\/80:hover {
  border-color: rgb(192 132 252 / 0.8);
}

.hover\:border-slate-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity));
}

.hover\:border-violet-500\/40:hover {
  border-color: rgb(139 92 246 / 0.4);
}

.hover\:border-white\/10:hover {
  border-color: rgb(255 255 255 / 0.1);
}

.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}

.hover\:border-white\/25:hover {
  border-color: rgb(255 255 255 / 0.25);
}

.hover\:bg-\[color\:var\(--surface-2\)\]:hover {
  background-color: var(--surface-2);
}

.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}

.hover\:bg-accent\/70:hover {
  background-color: hsl(var(--accent) / 0.7);
}

.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity));
}

.hover\:bg-black\/\[0\.06\]:hover {
  background-color: rgb(0 0 0 / 0.06);
}

.hover\:bg-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity));
}

.hover\:bg-card\/30:hover {
  background-color: hsl(var(--card) / 0.3);
}

.hover\:bg-card\/80:hover {
  background-color: hsl(var(--card) / 0.8);
}

.hover\:bg-cyan-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(165 243 252 / var(--tw-bg-opacity));
}

.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}

.hover\:bg-emerald-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity));
}

.hover\:bg-emerald-500\/10:hover {
  background-color: rgb(16 185 129 / 0.1);
}

.hover\:bg-indigo-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity));
}

.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}

.hover\:bg-muted\/10:hover {
  background-color: hsl(var(--muted) / 0.1);
}

.hover\:bg-muted\/20:hover {
  background-color: hsl(var(--muted) / 0.2);
}

.hover\:bg-muted\/30:hover {
  background-color: hsl(var(--muted) / 0.3);
}

.hover\:bg-muted\/40:hover {
  background-color: hsl(var(--muted) / 0.4);
}

.hover\:bg-muted\/5:hover {
  background-color: hsl(var(--muted) / 0.05);
}

.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}

.hover\:bg-muted\/60:hover {
  background-color: hsl(var(--muted) / 0.6);
}

.hover\:bg-muted\/80:hover {
  background-color: hsl(var(--muted) / 0.8);
}

.hover\:bg-neutral-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(64 64 64 / var(--tw-bg-opacity));
}

.hover\:bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1);
}

.hover\:bg-primary\/15:hover {
  background-color: hsl(var(--primary) / 0.15);
}

.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}

.hover\:bg-primary\/5:hover {
  background-color: hsl(var(--primary) / 0.05);
}

.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}

.hover\:bg-purple-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity));
}

.hover\:bg-purple-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(233 213 255 / var(--tw-bg-opacity));
}

.hover\:bg-red-500\/20:hover {
  background-color: rgb(239 68 68 / 0.2);
}

.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}

.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}

.hover\:bg-violet-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-white\/25:hover {
  background-color: rgb(255 255 255 / 0.25);
}

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-white\/\[0\.08\]:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}

.hover\:text-amber-600:hover {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity));
}

.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}

.hover\:text-emerald-600:hover {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}

.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}

.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}

.hover\:text-neutral-800:hover {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity));
}

.hover\:text-primary:hover {
  color: hsl(var(--primary));
}

.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}

.hover\:text-rose-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-soft:hover {
  --tw-shadow: 0 4px 16px -4px hsl(262 50% 10% / 0.10);
  --tw-shadow-colored: 0 4px 16px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-soft-lg:hover {
  --tw-shadow: 0 8px 32px -8px hsl(262 50% 10% / 0.14);
  --tw-shadow-colored: 0 8px 32px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-soft-md:hover {
  --tw-shadow: 0 6px 24px -6px hsl(262 50% 10% / 0.12);
  --tw-shadow-colored: 0 6px 24px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-soft-xl:hover {
  --tw-shadow: 0 20px 48px -12px hsl(262 50% 10% / 0.16);
  --tw-shadow-colored: 0 20px 48px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[var\(--shadow-soft\)\]:hover {
  --tw-shadow-color: var(--shadow-soft);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-\[var\(--shadow-soft-xl\)\2c 0_0_32px_hsl\(var\(--glass-glow\)\)\]:hover {
  --tw-shadow-color: var(--shadow-soft-xl),0 0 32px hsl(var(--glass-glow));
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:ring-2:hover {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.hover\:ring-primary\/30:hover {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}

.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:border-fuchsia-400\/60:focus {
  border-color: rgb(232 121 249 / 0.6);
}

.focus\:border-primary:focus {
  border-color: hsl(var(--primary));
}

.focus\:border-primary\/45:focus {
  border-color: hsl(var(--primary) / 0.45);
}

.focus\:border-primary\/50:focus {
  border-color: hsl(var(--primary) / 0.5);
}

.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}

.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-primary\/20:focus {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.focus\:ring-primary\/40:focus {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}

.focus\:ring-primary\/50:focus {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-0:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-white\/40:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.4);
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-default:disabled {
  cursor: default;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-20:disabled {
  opacity: 0.2;
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.group[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}

.group:hover .group-hover\:text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-primary {
  color: hsl(var(--primary));
}

.group:hover .group-hover\:text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-90 {
  opacity: 0.9;
}

.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}

.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}

.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}

.data-\[side\=bottom\]\:translate-y-1[data-side=bottom] {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=left\]\:-translate-x-1[data-side=left] {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=right\]\:translate-x-1[data-side=right] {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=top\]\:-translate-y-1[data-side=top] {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=checked\]\:translate-x-5[data-state=checked] {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes accordion-up {

  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state=closed] {
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down {

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state=open] {
  animation: accordion-down 0.2s ease-out;
}

.data-\[state\=active\]\:bg-background[data-state=active] {
  background-color: hsl(var(--background));
}

.data-\[state\=checked\]\:bg-primary[data-state=checked] {
  background-color: hsl(var(--primary));
}

.data-\[state\=on\]\:bg-accent[data-state=on] {
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-accent[data-state=open] {
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-secondary[data-state=open] {
  background-color: hsl(var(--secondary));
}

.data-\[state\=selected\]\:bg-muted[data-state=selected] {
  background-color: hsl(var(--muted));
}

.data-\[state\=unchecked\]\:bg-input[data-state=unchecked] {
  background-color: hsl(var(--input));
}

.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
  color: hsl(var(--muted-foreground));
}

.data-\[placeholder\]\:text-white\/50[data-placeholder] {
  color: rgb(255 255 255 / 0.5);
}

.data-\[state\=active\]\:text-foreground[data-state=active] {
  color: hsl(var(--foreground));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state=checked] {
  color: hsl(var(--primary-foreground));
}

.data-\[state\=on\]\:text-accent-foreground[data-state=on] {
  color: hsl(var(--accent-foreground));
}

.data-\[state\=open\]\:text-accent-foreground[data-state=open] {
  color: hsl(var(--accent-foreground));
}

.data-\[state\=open\]\:text-muted-foreground[data-state=open] {
  color: hsl(var(--muted-foreground));
}

.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}

.data-\[state\=active\]\:shadow-sm[data-state=active] {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.data-\[swipe\=move\]\:transition-none[data-swipe=move] {
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state=closed] {
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state=open] {
  transition-duration: 500ms;
}

.data-\[state\=open\]\:animate-in[data-state=open] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state=closed] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[swipe\=end\]\:animate-out[data-swipe=end] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:fade-out-0[data-state=closed] {
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-80[data-state=closed] {
  --tw-exit-opacity: 0.8;
}

.data-\[state\=open\]\:fade-in-0[data-state=open] {
  --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state=closed] {
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-95[data-state=open] {
  --tw-enter-scale: .95;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed] {
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state=closed] {
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed] {
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state=closed] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state=closed] {
  --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed] {
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state=open] {
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state=open] {
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open] {
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state=open] {
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state=open] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open] {
  --tw-enter-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-top-full[data-state=open] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state=closed] {
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state=open] {
  animation-duration: 500ms;
}

:is(.dark .dark\:border-amber-700\/30) {
  border-color: rgb(180 83 9 / 0.3);
}

:is(.dark .dark\:border-amber-700\/40) {
  border-color: rgb(180 83 9 / 0.4);
}

:is(.dark .dark\:border-amber-800\/30) {
  border-color: rgb(146 64 14 / 0.3);
}

:is(.dark .dark\:border-amber-800\/40) {
  border-color: rgb(146 64 14 / 0.4);
}

:is(.dark .dark\:border-blue-700\/30) {
  border-color: rgb(29 78 216 / 0.3);
}

:is(.dark .dark\:border-blue-700\/40) {
  border-color: rgb(29 78 216 / 0.4);
}

:is(.dark .dark\:border-cyan-700\/40) {
  border-color: rgb(14 116 144 / 0.4);
}

:is(.dark .dark\:border-destructive) {
  border-color: hsl(var(--destructive));
}

:is(.dark .dark\:border-emerald-500\/20) {
  border-color: rgb(16 185 129 / 0.2);
}

:is(.dark .dark\:border-emerald-700\/30) {
  border-color: rgb(4 120 87 / 0.3);
}

:is(.dark .dark\:border-emerald-700\/40) {
  border-color: rgb(4 120 87 / 0.4);
}

:is(.dark .dark\:border-purple-500\/60) {
  border-color: rgb(168 85 247 / 0.6);
}

:is(.dark .dark\:border-purple-600\/35) {
  border-color: rgb(147 51 234 / 0.35);
}

:is(.dark .dark\:border-purple-700\/30) {
  border-color: rgb(126 34 206 / 0.3);
}

:is(.dark .dark\:border-purple-700\/40) {
  border-color: rgb(126 34 206 / 0.4);
}

:is(.dark .dark\:border-red-800\/40) {
  border-color: rgb(153 27 27 / 0.4);
}

:is(.dark .dark\:border-violet-700\/40) {
  border-color: rgb(109 40 217 / 0.4);
}

:is(.dark .dark\:border-white\/10) {
  border-color: rgb(255 255 255 / 0.1);
}

:is(.dark .dark\:bg-amber-500\/10) {
  background-color: rgb(245 158 11 / 0.1);
}

:is(.dark .dark\:bg-amber-500\/5) {
  background-color: rgb(245 158 11 / 0.05);
}

:is(.dark .dark\:bg-amber-950\/10) {
  background-color: rgb(69 26 3 / 0.1);
}

:is(.dark .dark\:bg-amber-950\/20) {
  background-color: rgb(69 26 3 / 0.2);
}

:is(.dark .dark\:bg-amber-950\/30) {
  background-color: rgb(69 26 3 / 0.3);
}

:is(.dark .dark\:bg-amber-950\/60) {
  background-color: rgb(69 26 3 / 0.6);
}

:is(.dark .dark\:bg-blue-500\/10) {
  background-color: rgb(59 130 246 / 0.1);
}

:is(.dark .dark\:bg-blue-950\/60) {
  background-color: rgb(23 37 84 / 0.6);
}

:is(.dark .dark\:bg-cyan-950\/60) {
  background-color: rgb(8 51 68 / 0.6);
}

:is(.dark .dark\:bg-emerald-500\/10) {
  background-color: rgb(16 185 129 / 0.1);
}

:is(.dark .dark\:bg-emerald-950\/60) {
  background-color: rgb(2 44 34 / 0.6);
}

:is(.dark .dark\:bg-purple-950\/20) {
  background-color: rgb(59 7 100 / 0.2);
}

:is(.dark .dark\:bg-purple-950\/40) {
  background-color: rgb(59 7 100 / 0.4);
}

:is(.dark .dark\:bg-purple-950\/60) {
  background-color: rgb(59 7 100 / 0.6);
}

:is(.dark .dark\:bg-red-950\/20) {
  background-color: rgb(69 10 10 / 0.2);
}

:is(.dark .dark\:bg-violet-950\/60) {
  background-color: rgb(46 16 101 / 0.6);
}

:is(.dark .dark\:text-amber-100) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-amber-300) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-amber-400) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-blue-300) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-blue-400) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-cyan-200) {
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-cyan-300) {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-emerald-100) {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-emerald-200) {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-emerald-300) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-emerald-400) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-fuchsia-300) {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-indigo-300) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-orange-400) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-purple-300) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-purple-400) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-red-400) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-rose-300) {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-rose-400) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-sky-300) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-teal-400) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-violet-200) {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity));
}

:is(.dark .dark\:text-violet-300) {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity));
}

:is(.dark .dark\:shadow-\[0_0_0_1px_rgba\(217\2c 70\2c 239\2c 0\.08\)\2c 0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.18\)\]) {
  --tw-shadow: 0 0 0 1px rgba(217,70,239,0.08),0 8px 32px rgba(0,0,0,0.18);
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 8px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:is(.dark .dark\:after\:border-white\/10)::after {
  content: var(--tw-content);
  border-color: rgb(255 255 255 / 0.1);
}

:is(.dark .dark\:hover\:border-purple-600\/50:hover) {
  border-color: rgb(147 51 234 / 0.5);
}

:is(.dark .dark\:hover\:bg-amber-900\/70:hover) {
  background-color: rgb(120 53 15 / 0.7);
}

:is(.dark .dark\:hover\:bg-blue-900\/70:hover) {
  background-color: rgb(30 58 138 / 0.7);
}

:is(.dark .dark\:hover\:bg-cyan-900\/70:hover) {
  background-color: rgb(22 78 99 / 0.7);
}

:is(.dark .dark\:hover\:bg-emerald-900\/70:hover) {
  background-color: rgb(6 78 59 / 0.7);
}

:is(.dark .dark\:hover\:bg-purple-900\/30:hover) {
  background-color: rgb(88 28 135 / 0.3);
}

:is(.dark .dark\:hover\:bg-purple-900\/70:hover) {
  background-color: rgb(88 28 135 / 0.7);
}

:is(.dark .dark\:hover\:bg-violet-900\/70:hover) {
  background-color: rgb(76 29 149 / 0.7);
}

@media (min-width: 640px) {

  .sm\:bottom-0 {
    bottom: 0px;
  }

  .sm\:bottom-6 {
    bottom: 1.5rem;
  }

  .sm\:bottom-8 {
    bottom: 2rem;
  }

  .sm\:right-0 {
    right: 0px;
  }

  .sm\:right-6 {
    right: 1.5rem;
  }

  .sm\:top-auto {
    top: auto;
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-\[22rem\] {
    width: 22rem;
  }

  .sm\:min-w-\[160px\] {
    min-width: 160px;
  }

  .sm\:max-w-2xl {
    max-width: 42rem;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[1fr_auto\] {
    grid-template-columns: 1fr auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:rounded-lg {
    border-radius: 1rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:pb-6 {
    padding-bottom: 1.5rem;
  }

  .sm\:pr-24 {
    padding-right: 6rem;
  }

  .sm\:pt-20 {
    padding-top: 5rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-\[1\.65rem\] {
    font-size: 1.65rem;
  }

  .sm\:text-\[15px\] {
    font-size: 15px;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:leading-7 {
    line-height: 1.75rem;
  }

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open] {
    --tw-enter-translate-y: 100%;
  }
}

@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:inline {
    display: inline;
  }

  .md\:w-40 {
    width: 10rem;
  }

  .md\:max-w-\[420px\] {
    max-width: 420px;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-\[112px\2c 1fr\] {
    grid-template-columns: 112px 1fr;
  }

  .md\:grid-cols-\[1fr_1fr_auto_auto_auto_auto\] {
    grid-template-columns: 1fr 1fr auto auto auto auto;
  }

  .md\:grid-cols-\[1fr_2fr\] {
    grid-template-columns: 1fr 2fr;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-start {
    align-items: flex-start;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:p-10 {
    padding: 2.5rem;
  }

  .md\:p-8 {
    padding: 2rem;
  }

  .md\:p-9 {
    padding: 2.25rem;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px) {

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:w-\[24rem\] {
    width: 24rem;
  }

  .lg\:max-w-\[280px\] {
    max-width: 280px;
  }

  .lg\:flex-shrink-0 {
    flex-shrink: 0;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1\.05fr_0\.95fr\] {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .lg\:grid-cols-\[1\.1fr_1fr\] {
    grid-template-columns: 1.1fr 1fr;
  }

  .lg\:grid-cols-\[1\.2fr_0\.8fr\] {
    grid-template-columns: 1.2fr 0.8fr;
  }

  .lg\:grid-cols-\[1fr_1fr\] {
    grid-template-columns: 1fr 1fr;
  }

  .lg\:grid-cols-\[1fr_300px\] {
    grid-template-columns: 1fr 300px;
  }

  .lg\:grid-cols-\[220px\2c 1fr\] {
    grid-template-columns: 220px 1fr;
  }

  .lg\:grid-cols-\[320px_1fr\] {
    grid-template-columns: 320px 1fr;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.1fr\)\2c 340px\] {
    grid-template-columns: minmax(0,1.1fr) 340px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.25fr\)\2c 340px\] {
    grid-template-columns: minmax(0,1.25fr) 340px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.2fr\)\2c 340px\] {
    grid-template-columns: minmax(0,1.2fr) 340px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.2fr\)\2c 360px\] {
    grid-template-columns: minmax(0,1.2fr) 360px;
  }

  .lg\:grid-cols-\[minmax\(220px\2c 280px\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(220px,280px) minmax(0,1fr);
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-start {
    justify-content: flex-start;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:p-10 {
    padding: 2.5rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:pr-28 {
    padding-right: 7rem;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {

  .xl\:sticky {
    position: sticky;
  }

  .xl\:bottom-0 {
    bottom: 0px;
  }

  .xl\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .xl\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .xl\:max-h-\[min\(78dvh\2c calc\(100dvh-200px\)\)\] {
    max-height: min(78dvh,calc(100dvh - 200px));
  }

  .xl\:w-\[420px\] {
    width: 420px;
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[1\.05fr_1\.2fr_0\.95fr\] {
    grid-template-columns: 1.05fr 1.2fr 0.95fr;
  }

  .xl\:grid-cols-\[1\.05fr_1fr_0\.95fr\] {
    grid-template-columns: 1.05fr 1fr 0.95fr;
  }

  .xl\:grid-cols-\[1\.15fr_0\.85fr\] {
    grid-template-columns: 1.15fr 0.85fr;
  }

  .xl\:grid-cols-\[1\.2fr_0\.9fr\] {
    grid-template-columns: 1.2fr 0.9fr;
  }

  .xl\:grid-cols-\[1\.3fr_0\.9fr\] {
    grid-template-columns: 1.3fr 0.9fr;
  }

  .xl\:grid-cols-\[320px\2c minmax\(0\2c 1fr\)\2c minmax\(0\2c 1fr\)\] {
    grid-template-columns: 320px minmax(0,1fr) minmax(0,1fr);
  }

  .xl\:grid-cols-\[minmax\(0\2c 1\.55fr\)_minmax\(280px\2c 400px\)\] {
    grid-template-columns: minmax(0,1.55fr) minmax(280px,400px);
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)\2c 320px\] {
    grid-template-columns: minmax(0,1fr) 320px;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-start {
    align-items: flex-start;
  }

  .xl\:justify-between {
    justify-content: space-between;
  }

  .xl\:gap-8 {
    gap: 2rem;
  }

  .xl\:overflow-y-auto {
    overflow-y: auto;
  }

  .xl\:pr-1 {
    padding-right: 0.25rem;
  }
}

.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}

.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}

.\[\&\>svg\]\:h-3\.5>svg {
  height: 0.875rem;
}

.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}

.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}

.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}

.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Rajdhani","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"variable":"--font-rajdhani"}],"variableName":"rajdhani"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* devanagari */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7e5a5c10421db7a0-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/573cbd3e993edffe-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/4b657decd6407698-s.p.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;
}
/* devanagari */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/b009b118a8c58d8c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/264c8506a75dd158-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/3d26d2f3aa81a833-s.p.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;
}
/* devanagari */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/04971cd00c9d3b68-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/1a22315a480e72db-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/6e1768769e6f59a2-s.p.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;
}
/* devanagari */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/67695be07a46cf4c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/bcc69932347c6777-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_4fe6d1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ab2e3a11646b0499-s.p.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;
}@font-face {font-family: '__Rajdhani_Fallback_4fe6d1';src: local("Arial");ascent-override: 102.12%;descent-override: 37.99%;line-gap-override: 0.00%;size-adjust: 91.07%
}.__className_4fe6d1 {font-family: '__Rajdhani_4fe6d1', '__Rajdhani_Fallback_4fe6d1';font-style: normal
}.__variable_4fe6d1 {--font-rajdhani: '__Rajdhani_4fe6d1', '__Rajdhani_Fallback_4fe6d1'
}

