@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap");

/* Shared Orbit visual language. This is presentation-only and deliberately
   does not change product data, authentication, invitation, or report code. */
:root {
  --orbit-indigo: #132743;
  --orbit-ink: #0a0a0f;
  --orbit-paper: #ffffff;
  --orbit-muted: #f4f4f5;
  --orbit-muted-ink: #71717a;
  --orbit-border: #e4e4e7;
  --orbit-learning: #0d7d82;
  --orbit-learning-surface: #e8f8f7;
  --orbit-feedback: #6d2fd3;
  --orbit-feedback-surface: #f0e9ff;
  --orbit-growth: #357a45;
  --orbit-growth-surface: #edf8ee;
  --orbit-saffron: #b56b06;
  --orbit-saffron-surface: #fff5df;
  --orbit-energy: #6d2fd3;
  --orbit-energy-surface: #fff0e9;
  --orbit-radius-sm: .625rem;
  --orbit-radius-card: 1.25rem;
  --sans: "DM Sans", Arial, Helvetica, sans-serif;
  --serif: "Space Grotesk", "DM Sans", Arial, Helvetica, sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--orbit-paper); color: var(--orbit-ink); font-family: "DM Sans", Arial, Helvetica, sans-serif; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3,
.overview-hero h1,
.gate-copy h1,
.today-card b,
.stage-label b,
.cycle-list-card .list-head h3,
.nomination-list-card .list-head h3,
.directory-list-card .list-head h3,
.directory-value-grid b,
.import-copy h3,
.people-flow b,
.audience-group-head b { font-family: "DM Sans", Arial, Helvetica, sans-serif !important; }

.nav-shell,
.site-header,
.workspace-header {
  border-color: var(--orbit-border) !important;
  background: color-mix(in srgb, var(--orbit-paper) 88%, transparent) !important;
  backdrop-filter: blur(18px);
}

.logo-orbit,
.brand span,
.orbit-mark,
.brand-mark {
  border-radius: var(--orbit-radius-sm) !important;
  background: var(--orbit-indigo) !important;
  color: var(--orbit-paper) !important;
}

.button.primary,
.button--primary,
.nav-demo,
.primary-action,
button[type="submit"] {
  border-radius: var(--orbit-radius-sm) !important;
  border-color: var(--orbit-indigo) !important;
  background: var(--orbit-indigo) !important;
  color: var(--orbit-paper) !important;
}

.button.secondary,
.button--secondary,
.text-button {
  border-radius: var(--orbit-radius-sm) !important;
  border-color: var(--orbit-border) !important;
  background: var(--orbit-muted) !important;
  color: var(--orbit-ink) !important;
}

.button.primary:hover,
.button--primary:hover,
.nav-demo:hover,
.primary-action:hover,
button[type="submit"]:hover { opacity: .9; }

.eyebrow,
.kicker,
.auth-eyebrow,
.auth-kicker { color: var(--orbit-feedback) !important; }

.builder-card,
.list-card,
.journey-assurance,
.anonymity-card,
.review-card,
.legal-stack>section,
.feature-card,
.product-card,
.workspace-card,
.report-card,
.empty-state {
  border-color: var(--orbit-border) !important;
  border-radius: var(--orbit-radius-card) !important;
  background: var(--orbit-paper) !important;
  box-shadow: 0 .75rem 1.75rem color-mix(in srgb, var(--orbit-indigo) 5%, transparent);
}

.cycle-journey-head,
.people-hero,
.review-shell,
.workspace-hero,
.legal-shell { color: var(--orbit-ink); }

.cycle-steps li.active,
.people-flow article:first-child { border-color: color-mix(in srgb, var(--orbit-learning) 35%, var(--orbit-border)) !important; background: var(--orbit-learning-surface) !important; }
.people-flow article:nth-child(2),
.cycle-steps li:nth-child(2) { border-color: color-mix(in srgb, var(--orbit-feedback) 35%, var(--orbit-border)) !important; background: var(--orbit-feedback-surface) !important; }
.people-flow article:nth-child(3),
.cycle-steps li:nth-child(3) { border-color: color-mix(in srgb, var(--orbit-growth) 35%, var(--orbit-border)) !important; background: var(--orbit-growth-surface) !important; }
.people-flow article:nth-child(4),
.cycle-steps li:nth-child(4) { border-color: color-mix(in srgb, var(--orbit-saffron) 35%, var(--orbit-border)) !important; background: var(--orbit-saffron-surface) !important; }

.stage-label>span,
.cycle-steps li.active>span,
.people-flow article>span { border-radius: var(--orbit-radius-sm) !important; background: var(--orbit-indigo) !important; color: var(--orbit-paper) !important; }

input, select, textarea,
.file-picker { border-color: var(--orbit-border) !important; border-radius: var(--orbit-radius-sm) !important; background: var(--orbit-paper) !important; color: var(--orbit-ink) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--orbit-indigo) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--orbit-indigo) 14%, transparent) !important; }

.form-note,
.muted,
.legal-lead,
.legal-meta { color: var(--orbit-muted-ink) !important; }
.privacy-note { color: var(--orbit-feedback) !important; }
.status-live,
.is-complete,
.success { color: var(--orbit-growth) !important; }

/* Legacy public and policy routes use their own lightweight markup. */
.nav { border-color: var(--orbit-border) !important; background: color-mix(in srgb, var(--orbit-paper) 88%, transparent) !important; backdrop-filter: blur(18px); }
.nav .brand span,
.nav .brand>span { border-radius: var(--orbit-radius-sm) !important; background: var(--orbit-indigo) !important; color: var(--orbit-paper) !important; }
.nav-cta,
.nav .button,
.hero .button,
.cta .button { border-radius: var(--orbit-radius-sm) !important; background: var(--orbit-indigo) !important; color: var(--orbit-paper) !important; }
.hero,
.section,
.workflow,
.platform,
.security { background-color: var(--orbit-paper) !important; color: var(--orbit-ink) !important; }
.cards article,
.modules article,
.workflow ol li,
.coming-card { border-color: var(--orbit-border) !important; border-radius: var(--orbit-radius-card) !important; background: var(--orbit-paper) !important; color: var(--orbit-ink) !important; box-shadow: 0 .75rem 1.75rem color-mix(in srgb, var(--orbit-indigo) 5%, transparent) !important; }
.cards article:nth-child(1),
.modules article:nth-child(1) { border-top: 4px solid var(--orbit-learning) !important; }
.cards article:nth-child(2),
.modules article:nth-child(2) { border-top: 4px solid var(--orbit-feedback) !important; }
.cards article:nth-child(3),
.modules article:nth-child(3) { border-top: 4px solid var(--orbit-growth) !important; }
.coming-card:before { opacity: .16; }
.coming-card .badge { background: var(--orbit-feedback-surface) !important; color: var(--orbit-feedback) !important; }

.legal-page { background: var(--orbit-paper) !important; color: var(--orbit-ink) !important; }
.legal-page .legal-shell { background: var(--orbit-paper) !important; }
.legal-page .legal-notice { border-color: color-mix(in srgb, var(--orbit-saffron) 35%, var(--orbit-border)) !important; background: var(--orbit-saffron-surface) !important; color: var(--orbit-ink) !important; }
.legal-page .legal-stack>section { border-top: 3px solid var(--orbit-learning) !important; }
.legal-page .legal-stack>section:nth-child(2n) { border-top-color: var(--orbit-feedback) !important; }

@media (prefers-color-scheme: dark) {
  :root {
    --orbit-ink: #fafafa;
    --orbit-paper: #111118;
    --orbit-muted: #18181b;
    --orbit-muted-ink: #a1a1aa;
    --orbit-border: #27272a;
    --orbit-learning: #5cc9c6;
    --orbit-learning-surface: #123c3c;
    --orbit-feedback: #7d43f4;
    --orbit-feedback-surface: #442239;
    --orbit-growth: #7acb88;
    --orbit-growth-surface: #1d4026;
    --orbit-saffron: #f2c26f;
    --orbit-saffron-surface: #4a391d;
    --orbit-energy: #6d2fd3;
    --orbit-energy-surface: #4d2a21;
  }
}

/* Orbit 360 product theme --------------------------------------------------
   Shared by every static 360 surface. Product colours are intentionally
   separate from Orbit Learning; status colours remain semantic only. */
:root {
  --orbit-masterbrand: #132743;
  --orbit-feedback: #6d2fd3;
  --orbit-feedback-illustration: #7d43f4;
  --orbit-feedback-surface: #f0e9ff;
  --orbit-success: #357a45;
  --orbit-warning: #b56b06;
  --orbit-danger: #ca5c5a;
  --ink: #0a0a0f;
  --muted: #71717a;
  --line: #e4e4e7;
  --paper: #ffffff;
  --soft: #f4f4f5;
  --bg: #ffffff;
  --nav: #ffffff;
  --brand: #6d2fd3;
  --brand-soft: #f0e9ff;
  --violet: #6d2fd3;
  --violet-deep: #6d2fd3;
  --violet-dark: #6d2fd3;
  --orange: #6d2fd3;
  --sans: "DM Sans", Arial, Helvetica, sans-serif;
  --serif: "Space Grotesk", "DM Sans", Arial, Helvetica, sans-serif;
}

body {
  color: var(--orbit-ink) !important;
  font: 400 16px/24px "DM Sans", Arial, Helvetica, sans-serif !important;
}

h1, h2,
.overview-hero h1,
.gate-copy h1,
.page-heading h1,
.survey-card h1,
.auth-card h1,
.panel h2,
.metric-card strong,
.report-summary strong,
.signal-number {
  font-family: "Space Grotesk", "DM Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

h1 { font-size: 56px; line-height: 60px; }
h2 { font-size: 28px; line-height: 32px; }
h3 { font: 600 20px/28px "DM Sans", Arial, Helvetica, sans-serif !important; }

.app-shell h1,
.workspace h1,
.page-heading h1,
.survey-card h1,
.auth-card h1 { font-size: 40px !important; line-height: 44px !important; letter-spacing: -.03em !important; }

.eyebrow,
.kicker,
.auth-eyebrow,
.auth-kicker,
.page-heading > .eyebrow,
.question-label {
  color: var(--orbit-feedback) !important;
  font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.button.primary,
.button--primary,
.button-primary,
.button.orange,
.primary-button,
.primary-action,
.quick-btn.primary,
.form-submit,
.demo-submit,
.nav-demo,
.nav-cta,
.nav .button,
.hero .button,
.cta .button,
button[type="submit"] {
  border-color: var(--orbit-feedback) !important;
  background: var(--orbit-feedback) !important;
  color: #ffffff !important;
}

.nav a.button,
.nav-shell a.nav-demo,
.site-header a.nav-demo,
a.nav-cta,
a.primary-action { color: #ffffff !important; }

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline-color: var(--orbit-feedback) !important;
  border-color: var(--orbit-feedback) !important;
}

.legal-page .legal-stack > section,
.legal-page .legal-stack > section:nth-child(2n) { border-top-color: var(--orbit-border) !important; }

.feedback-hero .eyebrow,
.feedback-hero .kicker,
.feedback-hero [class*="eyebrow"],
.feedback-hero [class*="kicker"],
.choice-hero .eyebrow,
.choice-hero .kicker { color: #ffffff !important; }

.cycle-steps li,
.people-flow article,
.question-index,
.role-badge,
.question-tags span,
.filter.active,
.task-icon,
.initial,
.person-avatar,
.avatar,
.theme b span {
  border-color: color-mix(in srgb, var(--orbit-feedback) 30%, var(--orbit-border)) !important;
  background: var(--orbit-feedback-surface) !important;
  color: var(--orbit-feedback) !important;
}

.stage-label > span,
.cycle-steps li.active > span,
.people-flow article > span,
.progress i,
.mini-bars i::after,
.completion-chart b,
.survey-progress i { background: var(--orbit-feedback) !important; color: #ffffff !important; }

.secure-dot { background: var(--orbit-success) !important; }
.notice { background: color-mix(in srgb, var(--orbit-warning) 12%, #ffffff) !important; }
.primary-button:hover,
.auth-card .primary-button:hover { background: color-mix(in srgb, var(--orbit-feedback) 88%, #0a0a0f) !important; }

.orange-link b,
.quick-question-card button.remove { color: var(--orbit-feedback) !important; }
.quick-fallback {
  border: 1px solid var(--orbit-feedback) !important;
  border-radius: var(--orbit-radius-sm) !important;
  color: var(--orbit-feedback) !important;
  padding: .55rem .75rem !important;
  text-decoration: none !important;
}
.quick-head h1 { font-size: 40px !important; line-height: 44px !important; }
.orbit-public-footer__grid a:hover { color: var(--orbit-feedback) !important; }
.cards article:nth-child(1),
.cards article:nth-child(2),
.cards article:nth-child(3),
.modules article:nth-child(1),
.modules article:nth-child(2),
.modules article:nth-child(3) { border-top-color: var(--orbit-feedback) !important; }
.logo-orbit,
.brand span,
.orbit-mark,
.brand-mark,
.tiny-logo,
.mini-logo { font-family: "Space Grotesk", "DM Sans", Arial, Helvetica, sans-serif !important; }

/* The corporate portfolio page may identify each product in its own colour. */
.products-page .product-learning,
.products-page [data-product="learning"] { --orbit-feedback: #0d7d82; --brand: #0d7d82; }

/* Documented exception: this route sells Orbit Learning, so it is teal even
   though it is served from the static /orbit-360 directory. */
body.learning-product {
  --orbit-feedback: #0d7d82;
  --orbit-feedback-illustration: #0d7d82;
  --orbit-feedback-surface: #e8f8f7;
  --brand: #0d7d82;
  --brand-soft: #e8f8f7;
  --violet: #0d7d82;
  --violet-deep: #0d7d82;
  --violet-dark: #0a6a6e;
  --orange: #0d7d82;
}
body.learning-product .eyebrow,
body.learning-product .kicker,
body.learning-product .auth-eyebrow,
body.learning-product .auth-kicker { color: #0d7d82 !important; }

@media (prefers-color-scheme: dark) {
  :root {
    --orbit-feedback: #b99aff;
    --orbit-feedback-illustration: #b99aff;
    --orbit-feedback-surface: #2f2250;
    --brand: #b99aff;
    --brand-soft: #2f2250;
    --violet: #b99aff;
    --violet-deep: #b99aff;
    --violet-dark: #b99aff;
    --orange: #b99aff;
  }
  body.learning-product {
    --orbit-feedback: #5cc9c6;
    --orbit-feedback-illustration: #5cc9c6;
    --orbit-feedback-surface: #123c3c;
    --brand: #5cc9c6;
    --brand-soft: #123c3c;
    --violet: #5cc9c6;
    --violet-deep: #5cc9c6;
    --violet-dark: #5cc9c6;
    --orange: #5cc9c6;
  }
}

@media (max-width: 700px) {
  h1 { font-size: 40px; line-height: 44px; }
  h2 { font-size: 26px; line-height: 30px; }
}

/* Learning Studio family type (2026-10-05): Space Grotesk headings, DM Sans body. */
body { font-family: "DM Sans", Arial, Helvetica, sans-serif; }
h1, h2, h3 { font-family: "Space Grotesk", "DM Sans", Arial, Helvetica, sans-serif !important; }
