/* Shared product-interface typography
   Keeps every illustrative dashboard legible at real browser sizes. */
:root {
  --ui-text: #141722;
  --ui-secondary: #5f6675;
  --ui-tertiary: #767d8c;
  --ui-label-size: clamp(.68rem, .62rem + .12vw, .78rem);
  --ui-body-size: clamp(.76rem, .7rem + .13vw, .88rem);
  --ui-meta-size: clamp(.66rem, .62rem + .1vw, .74rem);
}

:where(.governed-view, .demo-window, .suite-frame) {
  color: var(--ui-text);
  font-variant-numeric: tabular-nums;
  text-rendering: optimizeLegibility;
}

.demo-window[data-swipe-ready="true"],
.suite-frame[data-swipe-ready="true"] {
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

/* Evidence / reconciled dashboard */
.restored-data .gv-top {
  align-items: center;
  font-size: var(--ui-body-size);
}

.restored-data .gv-top b { font-weight: 650; }
.restored-data .gv-top span { color: var(--ui-secondary); }

.restored-data .governed-view::before {
  font-size: var(--ui-label-size);
  font-weight: 550;
  letter-spacing: .1em;
}

.restored-data .governed-view > small {
  font-size: var(--ui-label-size);
  color: var(--ui-tertiary);
  font-weight: 550;
}

.restored-data .governed-view > strong {
  font-size: clamp(3.4rem, 5vw, 5.35rem);
  line-height: .95;
}

.restored-data .governed-view > p {
  font-size: var(--ui-body-size);
  line-height: 1.45;
  color: var(--ui-secondary);
}

.restored-data .governed-view dl div {
  padding: .9rem 0;
  font-size: var(--ui-body-size);
}

.restored-data .governed-view dt { color: var(--ui-secondary); }
.restored-data .governed-view dd { color: var(--ui-text); font-weight: 600; }

.restored-data .gv-rule { padding: 1rem 1.1rem; }
.restored-data .gv-rule b,
.restored-data .gv-rule span { font-size: var(--ui-body-size); line-height: 1.4; }
.restored-data .gv-rule b { font-weight: 650; }
.restored-data .gv-rule span { margin-top: .25rem; color: var(--ui-secondary); }

/* Decision demonstration */
.demo-topbar,
.demo-human,
.demo-trail > div { font-size: var(--ui-meta-size); }

.demo-panel small,
.demo-answer small,
.demo-outcome small,
.demo-learning span,
.demo-chip { font-size: var(--ui-label-size); }

.demo-metrics span,
.demo-ring span,
.demo-learning em,
.demo-citations span { font-size: var(--ui-meta-size); line-height: 1.45; }

.demo-answer p,
.demo-outcome p { font-size: var(--ui-body-size); }

.demo-question { font-size: clamp(.9rem, .82rem + .2vw, 1.08rem); }
.demo-learning b { font-size: clamp(.84rem, .78rem + .15vw, .98rem); }

/* Dashboard builder and governed reporting */
.suite-bar { font-size: var(--ui-body-size); }
.suite-bar span { color: var(--ui-secondary); }
.suite-bar em { font-size: var(--ui-label-size); font-weight: 550; }

.builder-tools small,
.builder-canvas small,
.report-steps small,
.report-workspace small,
.widget small,
.report-pages small {
  color: var(--ui-tertiary);
  font-size: var(--ui-label-size);
  font-weight: 550;
}

.builder-tools button { font-size: var(--ui-body-size); }
.builder-filter span,
.builder-foot,
.report-approval,
.suite-disclaimer { font-size: var(--ui-meta-size); }

.widget > span,
.widget li,
.report-steps > div,
.report-pages p,
.report-pages li {
  font-size: var(--ui-body-size);
  line-height: 1.45;
}

.report-steps b { font-size: var(--ui-body-size); }
.report-pages .cover span,
.report-pages .cover b,
.report-source,
.report-note,
.report-kpis span { font-size: var(--ui-meta-size); line-height: 1.45; }

.report-kpis b { font-size: clamp(1.05rem, .95rem + .25vw, 1.3rem); }

/* Connected-source modules are compact, but never cryptic. */
.restored-data .source-stack article b { font-size: clamp(.66rem, .62rem + .1vw, .74rem); }
.restored-data .source-stack article span { font-size: clamp(.56rem, .53rem + .08vw, .64rem); color: var(--ui-secondary); }
.restored-data .source-stack article strong { font-size: clamp(.54rem, .51rem + .08vw, .61rem); color: #4d5566; }
.restored-data .source-foot { font-size: clamp(.52rem, .5rem + .06vw, .58rem); }

@media (max-width: 600px) {
  :root {
    --ui-label-size: .68rem;
    --ui-body-size: .8rem;
    --ui-meta-size: .69rem;
  }

  .restored-data .governed-view > strong { font-size: clamp(3.25rem, 17vw, 4.5rem); }
}

/* Product-stage navigator — replaces the document-list treatment */
.product-demo .demo-tabs {
  position: relative;
  display: grid;
  gap: .4rem;
  margin-top: 2.25rem;
  padding: .45rem;
  border: 1px solid rgba(87, 96, 130, .14);
  border-radius: 1rem;
  background: rgba(255,255,255,.38);
  box-shadow: inset 0 1px rgba(255,255,255,.72);
}

.product-demo .demo-tabs::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  bottom: 1.25rem;
  left: 1.55rem;
  width: 1px;
  background: linear-gradient(#bfc7ff, #5364ff, #bfc7ff);
  opacity: .55;
}

.product-demo .demo-tabs button,
.product-demo .demo-tabs button[aria-selected="true"] {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr) 1.5rem;
  gap: .65rem;
  align-items: center;
  min-height: 3.45rem;
  padding: .55rem .7rem .55rem .35rem;
  border: 1px solid transparent;
  border-radius: .72rem;
  color: #686f7f;
  background: transparent;
  font-size: clamp(.86rem, .8rem + .16vw, 1rem);
  font-weight: 500;
  letter-spacing: -.012em;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s ease;
}

.product-demo .demo-tabs button span {
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #cfd4e0;
  border-radius: 50%;
  color: #6e7585;
  background: #f4f5f9;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.product-demo .demo-tabs button::after {
  content: "→";
  justify-self: end;
  color: #a1a7b4;
  font-size: 1rem;
  opacity: 0;
  transform: translateX(-.25rem);
  transition: opacity .2s ease, transform .2s ease;
}

.product-demo .demo-tabs button:hover {
  color: var(--ui-text);
  background: rgba(255,255,255,.52);
}

.product-demo .demo-tabs button[aria-selected="true"] {
  color: var(--ui-text);
  border-color: rgba(79, 94, 255, .16);
  background: rgba(255,255,255,.94);
  box-shadow: 0 .55rem 1.5rem rgba(42, 51, 102, .09);
  transform: translateX(.18rem);
}

.product-demo .demo-tabs button[aria-selected="true"] span {
  color: #fff;
  border-color: #4a5cff;
  background: #4a5cff;
  box-shadow: 0 0 0 .28rem rgba(74,92,255,.1);
}

.product-demo .demo-tabs button[aria-selected="true"]::after {
  color: #4a5cff;
  opacity: 1;
  transform: none;
}

.product-demo .demo-tabs button:focus-visible {
  outline: 2px solid #4a5cff;
  outline-offset: 2px;
}

@media (max-width: 1100px) and (min-width: 701px) {
  .product-demo .demo-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-demo .demo-tabs::before { display: none; }
  .product-demo .demo-tabs button,
  .product-demo .demo-tabs button[aria-selected="true"] {
    grid-template-columns: 2rem minmax(0, 1fr);
    transform: none;
  }

  .product-demo .demo-tabs button::after { display: none; }
}

@media (max-width: 430px) {
  .product-demo .demo-tabs button,
  .product-demo .demo-tabs button[aria-selected="true"] {
    grid-template-columns: 2.1rem minmax(0, 1fr) 1rem;
    font-size: .86rem;
  }
}

/* Standardised dashboard workflow switch */
.suite-motion .suite-switch {
  display: inline-grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .4rem;
  width: 100%;
  margin: 3rem 0 1.1rem;
  padding: .4rem;
  border: 1px solid rgba(87, 96, 130, .14);
  border-radius: .95rem;
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 1px rgba(255,255,255,.75);
}

.suite-motion .suite-switch button,
.suite-motion .suite-switch button[aria-selected="true"] {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 1.1rem;
  gap: .6rem;
  align-items: center;
  min-height: 3.35rem;
  padding: .5rem .7rem .5rem .4rem;
  border: 1px solid transparent;
  border-radius: .68rem;
  color: #697080;
  background: transparent;
  font-size: clamp(.82rem, .77rem + .14vw, .96rem);
  font-weight: 500;
  letter-spacing: -.01em;
  text-align: left;
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.suite-motion .suite-switch button span {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid #cfd4e0;
  border-radius: 50%;
  color: #6e7585;
  background: #f4f5f9;
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.suite-motion .suite-switch button::after {
  content: "→";
  justify-self: end;
  color: #a1a7b4;
  opacity: 0;
  transform: translateX(-.2rem);
  transition: opacity .2s ease, transform .2s ease;
}

.suite-motion .suite-switch button:hover {
  color: var(--ui-text);
  background: rgba(255,255,255,.6);
}

.suite-motion .suite-switch button[aria-selected="true"] {
  color: var(--ui-text);
  border-color: rgba(79,94,255,.16);
  background: rgba(255,255,255,.96);
  box-shadow: 0 .5rem 1.35rem rgba(42,51,102,.08);
}

.suite-motion .suite-switch button[aria-selected="true"] span {
  color: #fff;
  border-color: #4a5cff;
  background: #4a5cff;
  box-shadow: 0 0 0 .25rem rgba(74,92,255,.1);
}

.suite-motion .suite-switch button[aria-selected="true"]::after {
  color: #4a5cff;
  opacity: 1;
  transform: none;
}

.suite-motion .suite-switch button:focus-visible {
  outline: 2px solid #4a5cff;
  outline-offset: 2px;
}

@media (max-width: 600px) {
  .suite-motion .suite-switch {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 2.25rem;
  }
}

/* High-value portfolio views */
.insight-workspace {
  min-height: 632px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(145deg, #fff 55%, #f5f6ff);
}

.insight-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
}

.insight-head small,
.insight-workspace article small {
  display: block;
  color: var(--ui-tertiary);
  font-size: var(--ui-label-size);
  font-weight: 550;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.insight-head h3 {
  max-width: 16ch;
  margin: .5rem 0 0;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .98;
}

.insight-head > span {
  flex: none;
  padding: .65rem .9rem;
  border: 1px solid #d8dcff;
  border-radius: 999px;
  color: #4052ee;
  background: #f0f2ff;
  font-size: var(--ui-meta-size);
  font-weight: 600;
}

.intervention-grid,
.capacity-layout,
.learning-layout {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 1rem;
  margin-top: 2rem;
}

.intervention-lead,
.capacity-map,
.learning-curve {
  min-height: 350px;
  padding: 1.5rem;
  border: 1px solid #dfe2eb;
  border-radius: 1.1rem;
  background: #11131a;
  color: #fff;
  box-shadow: 0 1.2rem 3rem rgba(25,30,54,.12);
}

.intervention-lead small,
.learning-curve small { color: #aab3ff !important; }
.intervention-lead h4 { margin: 2.6rem 0 .2rem; font-size: 1.2rem; font-weight: 500; }
.intervention-lead > strong { display: block; color: #ff759d; font-size: clamp(4rem, 7vw, 6rem); letter-spacing: -.07em; }
.intervention-lead p,
.learning-curve p { color: #bcc1cd; font-size: var(--ui-body-size); line-height: 1.5; }
.intervention-lead > div { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #343741; font-size: var(--ui-meta-size); }
.intervention-lead > div span { color: #aeb3bf; }

.intervention-list { display: grid; gap: .7rem; }
.intervention-list article {
  display: grid;
  grid-template-columns: .7rem 1fr auto;
  gap: .85rem;
  align-items: center;
  padding: 1.2rem;
  border: 1px solid #dfe2eb;
  border-radius: .9rem;
  background: rgba(255,255,255,.9);
}
.intervention-list i { width: .55rem; height: .55rem; border-radius: 50%; background: #6576ff; box-shadow: 0 0 0 .32rem rgba(101,118,255,.1); }
.intervention-list i.critical { background: #e94c79; box-shadow: 0 0 0 .32rem rgba(233,76,121,.1); }
.intervention-list i.watch { background: #f0a326; box-shadow: 0 0 0 .32rem rgba(240,163,38,.1); }
.intervention-list b,
.intervention-list span { display: block; }
.intervention-list b { font-size: var(--ui-body-size); }
.intervention-list span { margin-top: .3rem; color: var(--ui-secondary); font-size: var(--ui-meta-size); }
.intervention-list strong { color: #4052ee; font-size: var(--ui-meta-size); }

.capacity-map { position: relative; overflow: hidden; background: #151824; }
.capacity-map::before { content: ""; position: absolute; inset: 0; opacity: .2; background: linear-gradient(#6676ff 1px, transparent 1px),linear-gradient(90deg,#6676ff 1px,transparent 1px); background-size: 2rem 2rem; }
.map-labels,.map-teams { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: .5rem; }
.map-labels span,.map-teams span { padding: .55rem .65rem; border: 1px solid #3b4050; border-radius: .55rem; color: #dfe2ec; background: #202431; font-size: var(--ui-meta-size); }
.map-lines { position: relative; z-index: 1; display: grid; place-items: center; min-height: 220px; }
.map-lines b { padding: 1rem; border: 1px solid #7583ff; border-radius: .8rem; color: #fff; background: #4a5cff; font-size: var(--ui-body-size); box-shadow: 0 0 2rem rgba(74,92,255,.35); }
.map-lines i { position: absolute; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg,#596cff, #a9b1ff, #596cff); }
.map-lines i:nth-child(1){transform:rotate(14deg)}.map-lines i:nth-child(2){transform:rotate(-12deg)}.map-lines i:nth-child(3){transform:rotate(0)}
.capacity-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; }
.capacity-stats article { min-width: 0; padding: 1.25rem; border: 1px solid #dfe2eb; border-radius: .9rem; background: #fff; }
.capacity-stats strong { display: block; margin: 3rem 0 .7rem; font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.06em; }
.capacity-stats span { color: var(--ui-secondary); font-size: var(--ui-meta-size); line-height: 1.4; }

.curve-score { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: end; gap: .4rem .65rem; margin-top: 2.6rem; }
.curve-score strong { font-size: clamp(4rem, 7vw, 6rem); letter-spacing: -.07em; line-height: .8; }
.curve-score span { color: #bdfad7; font-size: var(--ui-meta-size); }
.curve-score em { grid-column: 1 / -1; color: #aeb3bf; font-size: var(--ui-meta-size); font-style: normal; }
.curve-track { position: relative; height: .4rem; margin: 2rem 0; border-radius: 99px; background: #343845; }
.curve-track i,.curve-track b { position: absolute; top: 50%; width: .8rem; height: .8rem; border-radius: 50%; transform: translate(-50%,-50%); }
.curve-track i { left: 68%; background: #bdfad7; }.curve-track b { left: 78%; background: #aab3ff; }
.learning-rules { display: grid; gap: .65rem; }
.learning-rules article { padding: 1.1rem 1.2rem; border: 1px solid #dfe2eb; border-radius: .85rem; background: #fff; }
.learning-rules article span,.learning-rules article b { display: block; }
.learning-rules article span { color: var(--ui-secondary); font-size: var(--ui-meta-size); }
.learning-rules article b { margin-top: .35rem; font-size: var(--ui-body-size); }
.learning-rules article.is-new { border-color: #cdd3ff; background: #f1f3ff; }
.learning-rules > div { margin-top: .2rem; padding: 1rem 1.2rem; border-left: 2px solid #4a5cff; }
.learning-rules > div small,.learning-rules > div strong { display: block; font-size: var(--ui-meta-size); }
.learning-rules > div small { color: var(--ui-secondary); }.learning-rules > div strong { margin-top: .35rem; }

.insight-foot { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem .15rem; border-top: 1px solid #dfe2eb; font-size: var(--ui-meta-size); }
.insight-foot span { color: var(--ui-secondary); }

@media (max-width: 1100px) {
  .suite-motion .suite-switch { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .capacity-stats { grid-template-columns: 1fr; }
  .capacity-stats strong { margin-top: 1rem; }
}

@media (max-width: 900px) {
  .intervention-grid,.capacity-layout,.learning-layout { grid-template-columns: 1fr; }
  .insight-workspace { min-height: 940px; }
}

@media (max-width: 600px) {
  .suite-motion .suite-switch { grid-template-columns: 1fr; }
  .insight-head,.insight-foot { display: block; }
  .insight-head > span { display: inline-block; margin-top: 1rem; }
  .insight-foot b { display: block; margin-top: .45rem; }
  .intervention-list article { grid-template-columns: .7rem 1fr; }
  .intervention-list strong { grid-column: 2; }
  .capacity-stats { grid-template-columns: 1fr; }
}

/* Chart.js presentation layer — one standard across every dashboard */
.standard-chart {
  min-width: 0;
  margin-top: 1rem;
}

.chart-plot {
  position: relative;
  width: 100%;
  height: 185px;
}

.chart-summary {
  margin: .65rem 0 0;
  color: var(--ui-secondary);
  font-size: .68rem;
  line-height: 1.45;
}

.widget .standard-chart { margin-top: .65rem; }
.widget .chart-plot { height: 82px; }
.widget .chart-summary { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.intervention-lead .standard-chart,
.capacity-map .standard-chart,
.learning-curve .standard-chart { margin-top: 1.4rem; }

.intervention-lead .chart-plot,
.capacity-map .chart-plot,
.learning-curve .chart-plot { height: 235px; }

.intervention-lead .chart-summary,
.capacity-map .chart-summary,
.learning-curve .chart-summary { color: #b8bdc9; }

.intervention-lead h4 {
  margin: .55rem 0 0;
  color: #fff;
  font-size: 1rem;
}

.capacity-map::before { display: none; }
.capacity-map > small { position: relative; z-index: 1; color: #aab3ff; }

@media (max-width: 600px) {
  .chart-plot { height: 210px; }
  .widget .chart-plot { height: 105px; }
}

/* Hero decision cockpit */
.hero .decision {
  position: relative;
  border: 1px solid rgba(111,125,255,.28);
  border-radius: 1.55rem;
  background: #10121a;
  box-shadow: 0 2.6rem 6rem rgba(28,34,70,.26), 0 0 0 1px rgba(255,255,255,.03) inset;
}

.hero .decision::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -20% -10% auto;
  height: 58%;
  pointer-events: none;
  background: radial-gradient(circle at 65% 45%,rgba(74,92,255,.2),transparent 58%);
}

.hero-cockpit { position: relative; z-index: 1; }
.cockpit-top,.cockpit-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cockpit-top { min-height: 3.4rem; padding: 0 1.35rem; border-bottom: 1px solid #303440; color: #9298a8; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.cockpit-top b { display: flex; align-items: center; gap: .5rem; color: #cbd0dd; font-weight: 500; }
.cockpit-top i { width: .42rem; height: .42rem; border-radius: 50%; background: #65e0a6; box-shadow: 0 0 0 .3rem rgba(101,224,166,.09),0 0 1rem rgba(101,224,166,.5); }
.cockpit-body { padding: clamp(1.25rem,2.4vw,2rem); }

.cockpit-alert { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cockpit-alert span,.cockpit-alert em { font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.cockpit-alert span { color: #aab3ff; }
.cockpit-alert em { padding: .4rem .55rem; border: 1px solid rgba(255,117,157,.28); border-radius: 999px; color: #ff8daf; background: rgba(223,71,118,.08); font-style: normal; }

.cockpit-body > h2 {
  max-width: 15ch;
  margin: 1rem 0 1.4rem;
  color: #f8f9fc;
  font-size: clamp(1.7rem,3vw,3rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .98;
}

.cockpit-confidence { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items: center; }
.cockpit-confidence > div:not(.confidence-arrow) { padding: .85rem 1rem; border: 1px solid #353946; border-radius: .8rem; background: rgba(255,255,255,.025); }
.cockpit-confidence small { display: block; color: #8f95a5; font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.cockpit-confidence strong { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-top: .4rem; color: #e7e9f1; font-size: 1.55rem; }
.cockpit-confidence strong i { color: #9ba1b0; font-size: .65rem; font-style: normal; font-weight: 450; }
.cockpit-confidence .is-evidence { border-color: rgba(223,71,118,.36) !important; background: rgba(223,71,118,.07) !important; }
.cockpit-confidence .is-evidence strong { color: #ff8daf; }
.cockpit-confidence .is-evidence strong i { color: #ff8daf; }
.confidence-arrow { color: #7e88ff; font-size: 1.2rem; }

.hero-chart { position: relative; height: 105px; margin: .7rem 0 .3rem; }
.cockpit-consequence { display: grid; grid-template-columns: repeat(3,1fr); gap: .55rem; }
.cockpit-consequence article { min-width: 0; padding: .8rem; border: 1px solid #303440; border-radius: .7rem; background: #171a24; }
.cockpit-consequence small,.cockpit-consequence b,.cockpit-consequence span { display: block; }
.cockpit-consequence small { color: #858c9c; font-size: .54rem; letter-spacing: .07em; text-transform: uppercase; }
.cockpit-consequence b { margin-top: .5rem; color: #f1f2f7; font-size: 1rem; }
.cockpit-consequence span { margin-top: .25rem; overflow: hidden; color: #9ba1af; font-size: .58rem; line-height: 1.3; text-overflow: ellipsis; }

.cockpit-call { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: .7rem; padding: .9rem 1rem; border: 1px solid rgba(74,92,255,.3); border-radius: .75rem; background: linear-gradient(100deg,rgba(74,92,255,.14),rgba(74,92,255,.04)); }
.cockpit-call small,.cockpit-call b { display: block; }
.cockpit-call small { color: #aab3ff; font-size: .56rem; letter-spacing: .09em; text-transform: uppercase; }
.cockpit-call b { margin-top: .3rem; color: #f0f2f8; font-size: .76rem; }
.cockpit-call > span { flex: none; color: #aeb3c1; font-size: .64rem; }

.cockpit-foot { min-height: 3rem; padding: 0 1.35rem; border-top: 1px solid #303440; color: #8f95a4; font-size: .58rem; }
.cockpit-foot b { color: #b9c0ff; font-weight: 550; }

@media (max-width: 1100px) and (min-width: 901px) {
  .cockpit-body { padding: 1.2rem; }
  .cockpit-body > h2 { font-size: clamp(1.5rem,2.5vw,2.2rem); }
  .hero-chart { height: 90px; }
  .cockpit-consequence span { display: none; }
}

@media (max-width: 600px) {
  .cockpit-alert,.cockpit-call,.cockpit-foot { align-items: flex-start; flex-direction: column; }
  .cockpit-alert em { display: none; }
  .cockpit-confidence { grid-template-columns: 1fr; }
  .confidence-arrow { transform: rotate(90deg); justify-self: center; line-height: .6; }
  .cockpit-consequence { grid-template-columns: 1fr; }
  .cockpit-consequence span { white-space: normal; }
  .cockpit-foot { padding-block: .8rem; }
}

/* Executive hero carousel — five governed questions, one consistent interface */
.hero-carousel { overflow: hidden; }
.hero-dashboard-track {
  display: flex;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
}
.hero-dashboard-track::-webkit-scrollbar { display: none; }
.hero-dashboard-track:focus-visible { outline: 2px solid #7e88ff; outline-offset: -3px; }
.hero-dashboard-slide {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.hero-dashboard-slide .cockpit-body { flex: 1; }

.executive-body > h2 { max-width: 18ch; }
.executive-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .55rem;
}
.executive-metrics article {
  min-width: 0;
  padding: .8rem;
  border: 1px solid #303440;
  border-radius: .7rem;
  background: rgba(255,255,255,.025);
}
.executive-metrics small,.executive-metrics b,.executive-metrics span { display: block; }
.executive-metrics small { color: #858c9c; font-size: .54rem; letter-spacing: .07em; text-transform: uppercase; }
.executive-metrics b { margin-top: .45rem; color: #f1f2f7; font-size: 1.25rem; letter-spacing: -.035em; }
.executive-metrics span { margin-top: .25rem; color: #9ba1af; font-size: .58rem; line-height: 1.3; }
.executive-metrics .is-risk { border-color: rgba(223,71,118,.34); background: rgba(223,71,118,.065); }
.executive-metrics .is-risk b { color: #ff8daf; }
.hero-chart-tall { height: 140px; margin-top: .8rem; }
.status-watch { border-color: rgba(240,163,38,.3) !important; color: #ffc56d !important; background: rgba(240,163,38,.08) !important; }
.status-ai { border-color: rgba(126,136,255,.4) !important; color: #b9c0ff !important; background: rgba(74,92,255,.12) !important; }
.cockpit-call--risk { border-color: rgba(223,71,118,.3); background: linear-gradient(100deg,rgba(223,71,118,.12),rgba(223,71,118,.025)); }

.hero-carousel-nav {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: .75rem;
  min-height: 3.6rem;
  padding: .55rem 1rem;
  border-bottom: 1px solid #303440;
  background: rgba(10,12,18,.82);
}
.hero-carousel-arrow {
  display: grid;
  width: 2rem;
  height: 2rem;
  padding: 0;
  place-items: center;
  border: 1px solid #3b4050;
  border-radius: 50%;
  color: #e8eaf2;
  background: #171a24;
  font: inherit;
  cursor: pointer;
  transition: border-color .2s ease,background .2s ease,transform .2s ease;
}
.hero-carousel-arrow:hover { border-color: #7e88ff; background: #222638; transform: translateY(-1px); }
.hero-carousel-arrow:focus-visible,.hero-carousel-dots button:focus-visible { outline: 2px solid #aab3ff; outline-offset: 2px; }
.hero-carousel-dots { display: flex; align-items: center; gap: .5rem; }
.hero-carousel-dots button {
  width: .65rem;
  height: .65rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #494e5d;
  cursor: pointer;
  transition: width .25s ease,background .25s ease,box-shadow .25s ease;
}
.hero-carousel-dots button[aria-selected="true"] { width: 1.8rem; background: #7180ff; box-shadow: 0 0 1rem rgba(113,128,255,.5); }
.hero-carousel-dots button span { display: block; width: 100%; height: 100%; }
.hero-carousel-label { justify-self: start; color: #a9afbd; font-size: .62rem; letter-spacing: .035em; }

@media (max-width: 1100px) and (min-width: 901px) {
  .hero-chart-tall { height: 118px; }
  .executive-metrics span { display: none; }
  .hero-carousel-label { display: none; }
}

@media (max-width: 600px) {
  .hero-dashboard-track { scroll-behavior: auto; }
  .executive-body > h2 { font-size: clamp(1.7rem,8.5vw,2.45rem); }
  .executive-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .executive-metrics article { padding: .65rem .55rem; }
  .executive-metrics b { font-size: 1rem; }
  .executive-metrics span { display: none; }
  .hero-chart-tall { height: 175px; }
  .hero-carousel-nav { grid-template-columns: auto 1fr auto; }
  .hero-carousel-dots { justify-content: center; }
  .hero-carousel-label { display: none; }
  .cockpit-call--risk { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-dashboard-track { scroll-behavior: auto; }
  .hero-carousel-arrow,.hero-carousel-dots button { transition: none; }
}

/* Shared dashboard navigator — identical controls across every product surface */
.dashboard-switcher-shell {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr) auto;
  align-items: center;
  gap: .8rem;
  min-height: 3.6rem;
  padding: .55rem 1rem;
  border-bottom: 1px solid #303440;
  background: #0d0f17;
}

.dashboard-switcher-arrow {
  display: grid;
  width: 2rem;
  height: 2rem;
  padding: 0;
  place-items: center;
  border: 1px solid #3b4050;
  border-radius: 50%;
  color: #e8eaf2;
  background: #171a24;
  font: inherit;
  cursor: pointer;
  transition: border-color .2s ease,background .2s ease,transform .2s ease;
}
.dashboard-switcher-arrow:hover { border-color: #7e88ff; background: #222638; transform: translateY(-1px); }
.dashboard-switcher-arrow:focus-visible { outline: 2px solid #aab3ff; outline-offset: 2px; }
.dashboard-switcher-label { justify-self: start; color: #a9afbd; font-size: .62rem; letter-spacing: .035em; }

.product-demo .dashboard-switcher-shell .demo-tabs,
.suite-motion .dashboard-switcher-shell .suite-switch {
  position: static;
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: .5rem;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.product-demo .dashboard-switcher-shell .demo-tabs::before { display: none; }

.product-demo .dashboard-switcher-shell .demo-tabs button,
.product-demo .dashboard-switcher-shell .demo-tabs button[aria-selected="true"],
.suite-motion .dashboard-switcher-shell .suite-switch button,
.suite-motion .dashboard-switcher-shell .suite-switch button[aria-selected="true"] {
  display: block;
  width: .65rem;
  min-width: .65rem;
  height: .65rem;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  color: transparent;
  background: #494e5d;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  text-indent: -999px;
  transform: none;
  transition: width .25s ease,background .25s ease,box-shadow .25s ease;
}
.product-demo .dashboard-switcher-shell .demo-tabs button span,
.suite-motion .dashboard-switcher-shell .suite-switch button span,
.product-demo .dashboard-switcher-shell .demo-tabs button::after,
.suite-motion .dashboard-switcher-shell .suite-switch button::after { display: none; }

.product-demo .dashboard-switcher-shell .demo-tabs button[aria-selected="true"],
.suite-motion .dashboard-switcher-shell .suite-switch button[aria-selected="true"] {
  width: 1.8rem;
  background: #7180ff;
  box-shadow: 0 0 1rem rgba(113,128,255,.5);
}
.product-demo .dashboard-switcher-shell .demo-tabs button:focus-visible,
.suite-motion .dashboard-switcher-shell .suite-switch button:focus-visible { outline: 2px solid #aab3ff; outline-offset: 3px; }

.demo-window.has-dashboard-switcher { min-height: 668px; }
.suite-frame.has-dashboard-switcher { min-height: 748px; }
.suite-frame.has-dashboard-switcher .suite-panel { inset: 3.6rem 0 0; }

@media (max-width: 900px) {
  .suite-frame.has-dashboard-switcher { min-height: 1058px; }
}

@media (max-width: 700px) {
  .demo-window.has-dashboard-switcher { min-height: 658px; }
}

@media (max-width: 600px) {
  .dashboard-switcher-shell { grid-template-columns: auto 1fr auto; gap: .6rem; padding-inline: .75rem; }
  .dashboard-switcher-shell .dashboard-switcher-dots { justify-content: center; }
  .dashboard-switcher-label { display: none; }
  .suite-frame.has-dashboard-switcher { min-height: 1408px; }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-switcher-arrow,
  .product-demo .dashboard-switcher-shell .demo-tabs button,
  .suite-motion .dashboard-switcher-shell .suite-switch button { transition: none; }
}

/* Breathing room between the portfolio narrative and its working surface */
.suite-motion-head { padding-bottom: clamp(3.5rem, 6vw, 5.75rem); }

@media (max-width: 600px) {
  .suite-motion-head { padding-bottom: 2.75rem; }
}
