:root,
[data-theme="light"] {
  color-scheme: light;
  --eqs-color-surface: #ffffff;
  --eqs-color-surface-alt: #f9f9f6;
  --eqs-color-surface-raised: #ffffff;
  --eqs-color-text: #101016;
  --eqs-color-text-muted: #757575;
  --eqs-color-border: #e6e6e6;
  --eqs-color-accent: #f16622;
  --eqs-color-accent-hover: #d4551a;
  --eqs-color-accent-active: #cb4f13;
  --eqs-color-accent-soft: #f1662214;
  --eqs-color-link: #ad4702;
  --eqs-color-focus: #ff761a;
  --eqs-chart-background: #ffffff;
  --eqs-chart-plot-background: #f9f9f6;
  --eqs-chart-grid: #e6e6e6;
  --eqs-chart-axis: #757575;
  --eqs-status-success: #3b6731;
  --eqs-status-success-soft: #e9f4e5;
  --eqs-status-info: #094874;
  --eqs-status-info-soft: #e6f3fb;
  --eqs-status-warning: #f6911e;
  --eqs-status-warning-soft: #fff3df;
  --eqs-status-danger: #b42318;
  --eqs-status-danger-soft: #fee4e2;
}

[data-theme="dark"] {
  color-scheme: dark;
  --eqs-color-surface: #101016;
  --eqs-color-surface-alt: #14141c;
  --eqs-color-surface-raised: #24242d;
  --eqs-color-text: #ffffff;
  --eqs-color-text-muted: #cacaca;
  --eqs-color-border: #373a36;
  --eqs-color-accent: #ff761a;
  --eqs-color-accent-hover: #ff8a3d;
  --eqs-color-accent-active: #f16622;
  --eqs-color-accent-soft: #ff761a24;
  --eqs-color-link: #ffb085;
  --eqs-color-focus: #ffb085;
  --eqs-chart-background: #101016;
  --eqs-chart-plot-background: #14141c;
  --eqs-chart-grid: #373a36;
  --eqs-chart-axis: #cacaca;
  --eqs-status-success: #9dcc45;
  --eqs-status-success-soft: #26371d;
  --eqs-status-info: #2ab6ea;
  --eqs-status-info-soft: #102f42;
  --eqs-status-warning: #fcb22e;
  --eqs-status-warning-soft: #3c2a10;
  --eqs-status-danger: #ff8a80;
  --eqs-status-danger-soft: #3c1714;
}

:root {
  --eqs-brand-orange-logo: #ff6900;
  --eqs-brand-orange: #f16622;
  --eqs-brand-orange-alt: #fd6600;
  --eqs-brand-navy: #24242d;
  --eqs-brand-near-black: #101016;
  --eqs-brand-logo-black: #101921;
  --eqs-brand-t3-black: #0d0a08;
  --eqs-slide-orange: #f46524;
  --eqs-slide-orange-alt: #fd6600;
  --eqs-slide-dark: #14141c;
  --eqs-slide-light-grey: #cccccc;
  --eqs-slide-mid-grey: #999999;
  --eqs-slide-peach: #ffae88;
  --eqs-font-body: trade-gothic-next, Arial, sans-serif;
  --eqs-font-display: trade-gothic-next-condensed, trade-gothic-next, Arial, sans-serif;
  --eqs-font-slide: "Libre Franklin", Arial, sans-serif;
  --eqs-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --eqs-radius-sm: 4px;
  --eqs-radius-md: 5px;
  --eqs-radius-lg: 10px;
  --eqs-radius-pill: 999px;
  --eqs-shadow-sm: 0 1px 2px rgba(16, 16, 22, 0.08);
  --eqs-shadow-md: 0 8px 24px rgba(16, 16, 22, 0.12);
  --eqs-shadow-lg: 0 24px 64px rgba(16, 16, 22, 0.16);
  --eqs-space-0: 0;
  --eqs-space-1: 4px;
  --eqs-space-2: 8px;
  --eqs-space-3: 12px;
  --eqs-space-4: 16px;
  --eqs-space-5: 20px;
  --eqs-space-6: 24px;
  --eqs-space-8: 32px;
  --eqs-space-10: 40px;
  --eqs-space-12: 48px;
  --eqs-space-16: 64px;
  --eqs-space-20: 80px;
}

body.eqs-theme,
.eqs-theme {
  margin: 0;
  background: var(--eqs-color-surface);
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-body);
  font-size: 18px;
  line-height: 1.6;
}

.eqs-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--eqs-space-8);
}

.eqs-page-header,
.eqs-section-header,
.eqs-toolbar,
.eqs-card-header,
.eqs-action-item,
.eqs-timeline-item,
.eqs-stat-row,
.eqs-footer {
  align-items: flex-start;
  display: flex;
  gap: var(--eqs-space-4);
  justify-content: space-between;
}

.eqs-page-header,
.eqs-section-header,
.eqs-card-header {
  margin-bottom: var(--eqs-space-6);
}

.eqs-page-meta,
.eqs-filter-row,
.eqs-button-row,
.eqs-chip-row,
.eqs-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--eqs-space-2);
}

.eqs-eyebrow {
  color: var(--eqs-color-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.eqs-heading-xl,
.eqs-heading-lg,
.eqs-heading-md {
  margin: 0;
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-display);
  font-weight: 700;
  line-height: 1.1;
}

.eqs-heading-xl {
  font-size: clamp(44px, 7vw, 96px);
}

.eqs-heading-lg {
  font-size: clamp(34px, 4vw, 56px);
}

.eqs-heading-md {
  font-size: 32px;
}

.eqs-body-muted {
  color: var(--eqs-color-text-muted);
}

.eqs-link {
  color: var(--eqs-color-link);
  font-weight: 700;
}

.eqs-button {
  align-items: center;
  background: var(--eqs-color-accent);
  border: 1px solid var(--eqs-color-accent);
  border-radius: var(--eqs-radius-md);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  font: 700 14px/1 var(--eqs-font-body);
  gap: var(--eqs-space-2);
  min-height: 44px;
  padding: 0 20px;
  text-decoration: none;
  text-transform: uppercase;
}

.eqs-button:hover {
  background: var(--eqs-color-accent-hover);
  border-color: var(--eqs-color-accent-hover);
}

.eqs-button-secondary {
  background: transparent;
  color: var(--eqs-color-text);
}

.eqs-button-secondary:hover {
  background: var(--eqs-color-accent-soft);
  border-color: var(--eqs-color-accent);
}

.eqs-card,
.eqs-metric-card,
.eqs-callout,
.eqs-toolbar {
  background: var(--eqs-color-surface-raised);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  box-shadow: var(--eqs-shadow-sm);
  padding: var(--eqs-space-6);
}

.eqs-card-grid {
  display: grid;
  gap: var(--eqs-space-6);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.eqs-metric-value {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-display);
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.eqs-metric-delta {
  color: var(--eqs-status-success);
  font-size: 14px;
  font-weight: 700;
  margin-top: var(--eqs-space-3);
}

.eqs-section {
  margin-top: var(--eqs-space-8);
}

.eqs-split {
  display: grid;
  gap: var(--eqs-space-6);
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
}

.eqs-stack {
  display: grid;
  gap: var(--eqs-space-4);
}

.eqs-query-list {
  display: grid;
  gap: var(--eqs-space-5);
}

.eqs-query-block {
  background: var(--eqs-color-surface-alt);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  display: grid;
  gap: var(--eqs-space-3);
  padding: var(--eqs-space-4);
}

.eqs-query-title {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.eqs-query-note {
  color: var(--eqs-color-text-muted);
  font-size: 14px;
  margin: 0;
}

.eqs-code-block {
  background: var(--eqs-color-surface-raised);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-md);
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-mono);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
  max-width: 100%;
  overflow-x: auto;
  padding: var(--eqs-space-4);
  white-space: pre;
}

.eqs-chip,
.eqs-badge {
  align-items: center;
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-pill);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: var(--eqs-space-2);
  min-height: 28px;
  padding: 0 10px;
  text-transform: uppercase;
}

.eqs-chip {
  background: var(--eqs-color-surface-alt);
  color: var(--eqs-color-text-muted);
}

.eqs-badge-success {
  background: var(--eqs-status-success-soft);
  border-color: var(--eqs-status-success);
  color: var(--eqs-status-success);
}

.eqs-badge-info {
  background: var(--eqs-status-info-soft);
  border-color: var(--eqs-status-info);
  color: var(--eqs-status-info);
}

.eqs-badge-warning {
  background: var(--eqs-status-warning-soft);
  border-color: var(--eqs-status-warning);
  color: var(--eqs-status-warning);
}

.eqs-badge-danger {
  background: var(--eqs-status-danger-soft);
  border-color: var(--eqs-status-danger);
  color: var(--eqs-status-danger);
}

.eqs-callout {
  border-left: 5px solid var(--eqs-color-accent);
}

.eqs-callout-title {
  color: var(--eqs-color-text);
  font-weight: 700;
  margin: 0 0 var(--eqs-space-2);
}

.eqs-field {
  min-width: 160px;
}

.eqs-field-label {
  color: var(--eqs-color-text-muted);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.7px;
  margin-bottom: var(--eqs-space-1);
  text-transform: uppercase;
}

.eqs-field-value {
  color: var(--eqs-color-text);
  font-weight: 700;
}

.eqs-table {
  border-collapse: collapse;
  width: 100%;
}

.eqs-table th,
.eqs-table td {
  border-bottom: 1px solid var(--eqs-color-border);
  padding: 12px 16px;
  text-align: left;
}

.eqs-table th {
  color: var(--eqs-color-text-muted);
  font-size: 12px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.eqs-table td:last-child,
.eqs-table th:last-child {
  text-align: right;
}

.eqs-chart-panel {
  background: var(--eqs-chart-plot-background);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  padding: var(--eqs-space-6);
}

.eqs-bar-list {
  display: grid;
  gap: var(--eqs-space-4);
  margin-top: var(--eqs-space-6);
}

.eqs-bar-row {
  display: grid;
  gap: var(--eqs-space-2);
}

.eqs-bar-label {
  align-items: center;
  color: var(--eqs-color-text-muted);
  display: flex;
  font-size: 14px;
  justify-content: space-between;
}

.eqs-bar-track {
  background: var(--eqs-color-surface);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-pill);
  height: 12px;
  overflow: hidden;
}

.eqs-bar-fill {
  background: var(--eqs-color-accent);
  border-radius: var(--eqs-radius-pill);
  display: block;
  height: 100%;
}

.eqs-legend-dot {
  border-radius: 50%;
  display: inline-block;
  height: 10px;
  width: 10px;
}

.eqs-action-list,
.eqs-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.eqs-action-item,
.eqs-timeline-item {
  border-bottom: 1px solid var(--eqs-color-border);
  padding: var(--eqs-space-4) 0;
}

.eqs-action-item:last-child,
.eqs-timeline-item:last-child {
  border-bottom: 0;
}

.eqs-action-title,
.eqs-timeline-title {
  color: var(--eqs-color-text);
  font-weight: 700;
}

.eqs-action-meta,
.eqs-timeline-meta {
  color: var(--eqs-color-text-muted);
  font-size: 14px;
}

.eqs-stat-row {
  border-bottom: 1px solid var(--eqs-color-border);
  padding: var(--eqs-space-3) 0;
}

.eqs-stat-row:last-child {
  border-bottom: 0;
}

.eqs-footer {
  border-top: 1px solid var(--eqs-color-border);
  color: var(--eqs-color-text-muted);
  font-size: 14px;
  margin-top: var(--eqs-space-12);
  padding-top: var(--eqs-space-6);
}

.eqs-slide-frame {
  aspect-ratio: 16 / 9;
  background: var(--eqs-color-surface-raised);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  box-shadow: var(--eqs-shadow-md);
  display: grid;
  font-family: var(--eqs-font-slide);
  gap: var(--eqs-space-4);
  overflow: hidden;
  padding: var(--eqs-space-6);
  position: relative;
}

.eqs-slide-title {
  color: var(--eqs-slide-dark);
  font-family: var(--eqs-font-slide);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
  margin: 0;
}

[data-theme="dark"] .eqs-slide-title {
  color: var(--eqs-color-text);
}

.eqs-slide-body {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-slide);
  font-size: 12px;
  line-height: 1.15;
  max-width: 56ch;
}

.eqs-slide-number {
  bottom: var(--eqs-space-4);
  color: var(--eqs-color-text-muted);
  font-size: 10px;
  position: absolute;
  right: var(--eqs-space-4);
}

.eqs-process {
  display: grid;
  gap: var(--eqs-space-3);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: var(--eqs-space-4);
}

.eqs-process-step {
  background: var(--eqs-slide-peach);
  border: 2px solid var(--eqs-slide-orange);
  border-radius: var(--eqs-radius-lg);
  color: var(--eqs-slide-dark);
  font-size: 12px;
  font-weight: 700;
  min-height: 72px;
  padding: var(--eqs-space-3);
}

.eqs-process-step-active {
  background: var(--eqs-slide-orange);
  color: #ffffff;
}

.eqs-progress-tracker {
  align-items: center;
  display: grid;
  gap: var(--eqs-space-2);
  grid-template-columns: repeat(6, 1fr);
  margin-top: var(--eqs-space-4);
}

.eqs-progress-dot {
  background: var(--eqs-slide-light-grey);
  border-radius: var(--eqs-radius-pill);
  height: 8px;
}

.eqs-progress-dot-active {
  background: var(--eqs-slide-orange-alt);
}

.eqs-image-grid {
  display: grid;
  gap: var(--eqs-space-3);
  grid-template-columns: repeat(3, 1fr);
}

.eqs-image-placeholder {
  align-items: center;
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, rgba(244, 101, 36, 0.12), rgba(255, 174, 136, 0.18)),
    var(--eqs-color-surface-alt);
  border: 1px dashed var(--eqs-slide-mid-grey);
  border-radius: var(--eqs-radius-lg);
  color: var(--eqs-color-text-muted);
  display: flex;
  font-size: 12px;
  justify-content: center;
  text-align: center;
}

.eqs-deck-body {
  background: var(--eqs-color-surface-alt);
}

.eqs-deck-topbar {
  align-items: center;
  background: var(--eqs-color-surface);
  border-bottom: 1px solid var(--eqs-color-border);
  color: var(--eqs-color-text-muted);
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  padding: var(--eqs-space-3) var(--eqs-space-6);
  position: sticky;
  top: 0;
  z-index: 10;
}

.eqs-deck {
  display: grid;
  gap: var(--eqs-space-8);
  margin: 0 auto;
  max-width: 1200px;
  padding: var(--eqs-space-6);
}

.eqs-deck-slide {
  aspect-ratio: 16 / 9;
  background: var(--eqs-color-surface-raised);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  box-shadow: var(--eqs-shadow-md);
  display: grid;
  overflow: hidden;
  padding: var(--eqs-space-8);
  position: relative;
}

.eqs-deck-slide-content {
  align-content: start;
  display: grid;
  gap: var(--eqs-space-4);
  min-height: 0;
}

.eqs-deck-slide-visual .eqs-deck-slide-content,
.eqs-deck-slide-ask .eqs-deck-slide-content {
  gap: var(--eqs-space-4);
}

.eqs-deck-slide-title {
  background:
    radial-gradient(circle at 88% 20%, rgba(244, 101, 36, 0.18), transparent 28%),
    var(--eqs-color-surface-raised);
}

.eqs-deck-title {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-slide);
  font-size: clamp(26px, 3.35vw, 42px);
  line-height: 1.04;
  margin: 0;
  max-width: 1040px;
}

.eqs-deck-subtitle,
.eqs-deck-body-copy {
  color: var(--eqs-color-text-muted);
  font-family: var(--eqs-font-slide);
  font-size: clamp(16px, 1.7vw, 22px);
  line-height: 1.25;
  margin: 0;
  max-width: 900px;
}

.eqs-deck-metric-grid {
  display: grid;
  gap: var(--eqs-space-4);
  grid-template-columns: repeat(3, 1fr);
}

.eqs-deck-metric {
  background: var(--eqs-color-surface);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  padding: var(--eqs-space-4);
}

.eqs-deck-metric .eqs-metric-value {
  font-size: clamp(30px, 3.4vw, 42px);
}

.eqs-deck-table {
  background: var(--eqs-color-surface);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  font-size: 14px;
  line-height: 1.2;
  overflow: hidden;
}

.eqs-deck-table th,
.eqs-deck-table td {
  padding: 10px 12px;
}

.eqs-deck-two-column {
  display: grid;
  gap: var(--eqs-space-4);
  grid-template-columns: 1fr 1fr;
}

.eqs-deck-list {
  display: grid;
  gap: var(--eqs-space-3);
  list-style: none;
  margin: 0;
  padding: 0;
}

.eqs-deck-list li {
  align-items: center;
  display: flex;
  gap: var(--eqs-space-3);
}

.eqs-deck-owner {
  color: var(--eqs-color-text);
  font-size: 16px;
  margin: 0;
}

.eqs-slide-svg,
.eqs-flywheel {
  height: min(390px, 43vw);
  justify-self: center;
  max-width: 720px;
  width: 100%;
}

.eqs-slide-svg {
  color: var(--eqs-color-text);
}

.eqs-flywheel-ring {
  fill: none;
  stroke: var(--eqs-color-accent);
  stroke-dasharray: 18 12;
  stroke-width: 12;
}

.eqs-flywheel-center {
  fill: var(--eqs-color-accent);
}

.eqs-flywheel-node {
  fill: var(--eqs-color-surface);
  stroke: var(--eqs-color-accent);
  stroke-width: 4;
}

.eqs-flywheel-center-label,
.eqs-flywheel-center-subtitle,
.eqs-flywheel-number,
.eqs-flywheel-label {
  font-family: var(--eqs-font-slide);
}

.eqs-flywheel-center-label {
  fill: #ffffff;
  font-size: 24px;
  font-weight: 800;
}

.eqs-flywheel-center-subtitle {
  fill: #ffffff;
  font-size: 14px;
}

.eqs-flywheel-number {
  fill: var(--eqs-color-accent);
  font-size: 18px;
  font-weight: 800;
}

.eqs-flywheel-label {
  fill: var(--eqs-color-text);
  font-size: 15px;
  font-weight: 700;
}

.eqs-svg-node-metric,
.eqs-svg-panel-title,
.eqs-svg-legend-text {
  font-family: var(--eqs-font-slide);
}

.eqs-svg-node-metric {
  fill: var(--eqs-color-accent);
  font-size: 11px;
  font-weight: 700;
}

.eqs-svg-panel-title {
  fill: var(--eqs-color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.eqs-svg-legend-text {
  fill: var(--eqs-color-text-muted);
  font-size: 11px;
}

.eqs-ask-layout {
  align-items: center;
  display: grid;
  gap: var(--eqs-space-6);
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
}

.eqs-ask-statement {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-slide);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 var(--eqs-space-4);
}

.eqs-ask-card-stack {
  display: grid;
  gap: var(--eqs-space-4);
}

.eqs-ask-card {
  background: var(--eqs-color-surface);
  border: 1px solid var(--eqs-color-border);
  border-radius: var(--eqs-radius-lg);
  padding: var(--eqs-space-3);
}

.eqs-ask-card p {
  color: var(--eqs-color-text);
  font-family: var(--eqs-font-slide);
  font-size: 14px;
  line-height: 1.25;
  margin: var(--eqs-space-2) 0 0;
}

@media print {
  .eqs-deck-body {
    background: #ffffff;
  }

  .eqs-deck-topbar {
    display: none;
  }

  .eqs-deck {
    display: block;
    max-width: none;
    padding: 0;
  }

  .eqs-deck-slide {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    break-after: page;
    height: 100vh;
    margin: 0;
    page-break-after: always;
    width: 100vw;
  }
}

@media (max-width: 700px) {
  .eqs-process,
  .eqs-progress-tracker,
  .eqs-image-grid,
  .eqs-deck-metric-grid,
  .eqs-deck-two-column {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .eqs-page-header,
  .eqs-section-header,
  .eqs-toolbar,
  .eqs-card-header,
  .eqs-action-item,
  .eqs-timeline-item,
  .eqs-footer {
    display: grid;
  }

  .eqs-split {
    grid-template-columns: 1fr;
  }
}

.eqs-focus-ring:focus-visible,
.eqs-button:focus-visible,
a:focus-visible {
  outline: 3px solid var(--eqs-color-focus);
  outline-offset: 3px;
}
