/* Production /{locale}/solutions — per-industry layout, typography, spacing */

.solution-page-body {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.solution-page-body .page-stack-section {
  margin-top: 0;
}

.solution-page-body .tech-console,
.solution-page-body .solution-block {
  margin-top: 0;
}

/* Inner doc: tighter sub-blocks, product-like titles */
.solution-page-body .sol-section-title,
.solution-page-body .page-stack-section .section-title {
  font-size: clamp(24px, 3.4vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.solution-page-body .section-kicker {
  font-size: 12px;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

.solution-page-body .section-copy,
.solution-page-body .solution-doc__lead {
  font-size: 16px;
  line-height: 1.72;
}

.solution-doc {
  display: grid;
  gap: 36px;
}

.solution-doc__lead {
  margin: 0;
  color: var(--muted);
  max-width: 72ch;
}

.solution-doc__block {
  margin: 0;
}

.solution-page-body .solution-doc__block > .section-title {
  margin-bottom: 20px;
}

.solution-page-body .solution-doc__block > .section-kicker + .section-title {
  margin-top: 0;
}

.solution-page-body .solution-doc__block .section-title + .section-copy {
  margin-top: 14px;
  margin-bottom: 22px;
}

.solution-page-body .solution-doc__list {
  margin: 14px 0 0;
  padding-left: 1.2em;
  display: grid;
  gap: 12px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--text);
}

.solution-doc__copy {
  max-width: 65ch;
  margin-top: 12px;
}

.solution-doc__grid {
  margin-top: 14px;
}

.solution-doc__grid .feature-card h3 {
  font-size: 17px;
}

.solution-doc__grid .feature-card p {
  font-size: 14px;
  line-height: 1.65;
}

/* One live panel per page — metrics sit above canvas, not a duplicate KPI strip */
.solution-page-body .tech-console .tech-console__status {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* No developer-style // PANEL · labels on solution pages */
.solution-page-body .sol-viz-panel .tech-panel__title,
.solution-page-body .sol-live-panel .tech-panel__title {
  display: none;
}

.sol-log-panel__label {
  flex-shrink: 0;
  margin: 0 0 14px;
  padding: 4px 2px 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--muted);
}

.solution-page-body .sol-log-panel {
  padding: 16px 14px 12px;
  overflow: visible;
}

.solution-page-body .sol-log-panel .tech-log {
  padding-top: 4px;
}

.sol-doc--fragment {
  display: block;
}

.sol-proto-block .sol-viz-panel,
.sol-proto-block .sol-log-panel {
  margin-top: 18px;
}

.sol-live-grid {
  align-items: stretch;
}

/* Standalone log under proto block — hug rows, do not stretch with viz */
.solution-page-body .sol-proto-block__stage > .sol-log-panel {
  align-self: start;
  height: auto;
  min-height: 0;
}

.solution-page-body .sol-proto-block__stage > .sol-log-panel .tech-log {
  flex: 0 0 auto;
  min-height: 0;
  max-height: 300px;
  padding-bottom: 10px;
}

.solution-page-body .sol-proto-block__stage > .sol-log-panel {
  max-width: 100%;
}

/* Solution hero: full-stage canvas, vertically centered motion (no caption strip) */
body[data-solution] .page-visual-card .visual-stage[data-viz-chrome="minimal"] {
  min-height: 268px;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body[data-solution] .visual-stage[data-viz-chrome="minimal"] canvas.tech-hero-viz__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sol-scenarios.vk-scenarios {
  margin-top: 0;
}

.sol-scenarios .vk-scenarios__copy h3 {
  font-size: clamp(18px, 2.4vw, 24px);
  margin: 8px 0 10px;
}

.vk-scenarios__viz--static {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 20px 18px;
  background: linear-gradient(165deg, rgba(10, 22, 40, 0.94), rgba(14, 32, 56, 0.88));
  border-radius: var(--radius-md);
  border: 1px solid rgba(22, 119, 255, 0.16);
}

.sol-arch-panel {
  padding: 24px 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel);
}

.sol-arch-panel .solution-doc__block {
  margin: 0;
}

.solution-page-body .sol-stack--intel .section-title {
  font-size: clamp(24px, 3.4vw, 38px);
}

.sol-metrics-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
  gap: 12px;
}

.sol-metrics-row .tech-metric strong {
  font-size: clamp(22px, 2.8vw, 30px);
}

.sol-metrics-row .tech-metric span {
  font-size: 12px;
  color: var(--muted);
}

.sol-proto-block .sol-proto-viz {
  margin-top: 18px;
}

.sol-finance-globe .sol-split-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.sol-compare {
  padding: 0;
}

.sol-latency-table {
  margin-top: 16px;
  font-size: 14px;
}

.sol-latency-table strong {
  color: var(--accent-2);
}

.tech-console__grid--3,
.sol-proto-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.tech-console__grid--1 {
  display: grid;
  grid-template-columns: 1fr;
}

@media (max-width: 900px) {
  .solution-page-body {
    gap: 44px;
  }

  .sol-metrics-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sol-finance-globe .sol-split-cards,
  .tech-console__grid--3,
  .sol-proto-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sol-pipeline__node {
    animation: none;
  }
}

/* Scenario tabs + doc blocks — readable line spacing, no clipped copy */
.solution-page-body .section-header .section-copy,
.solution-page-body .tech-console__head .section-copy {
  line-height: 1.72;
  max-width: 72ch;
}

.solution-page-body .tech-console__head .section-title + .section-copy {
  margin-top: 14px;
}

/* Web solution posture cards — dark-theme scene-row text on white panels */
.solution-page-body .posture-grid .scene-row {
  color: var(--muted);
}

.solution-page-body .posture-grid .scene-row b {
  color: var(--text);
  font-weight: 700;
}

/* Intel bottom row: equal-height panels, scrub stats vertically centered */
.solution-page-body .intel-block .intel-layout--bottom {
  align-items: stretch;
}

.solution-page-body .intel-block .intel-layout--bottom > .tech-panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.solution-page-body .intel-block .intel-layout--bottom .scrub-grid {
  flex: 1;
  align-content: center;
  padding: 16px 0 20px;
}

.solution-page-body .intel-block .intel-layout--bottom .tech-panel--log {
  min-height: 100%;
}

.solution-page-body .intel-block .intel-layout--bottom .tech-panel--log .tech-log {
  flex: 1 1 auto;
  min-height: 220px;
}

/* Live panel split: match column heights (viz + log) */
.solution-page-body .sol-live-grid {
  align-items: stretch;
}

.solution-page-body .sol-live-grid .sol-viz-panel,
.solution-page-body .sol-live-grid .sol-log-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.solution-page-body .sol-live-grid .sol-viz-panel .tech-panel__body {
  flex: 1 1 auto;
  min-height: 280px;
}

.solution-page-body .sol-live-grid .sol-log-panel {
  align-self: stretch;
  min-height: 100%;
}

.solution-page-body .sol-live-grid .sol-log-panel .tech-log {
  flex: 1 1 auto;
  min-height: 220px;
  max-height: none;
}

.solution-page-body .vk-scenarios__copy {
  min-width: 0;
}

.solution-page-body .vk-scenarios__desc {
  font-size: 15px;
  line-height: 1.72;
  max-width: 40rem;
}

.solution-page-body .vk-scenarios__stage {
  padding: 28px 18px 40px;
}

.solution-page-body .vk-scenarios__tab {
  line-height: 1.35;
}

.solution-page-body .vk-scenarios__viz--static {
  min-height: 0;
  padding: 22px 18px 24px;
}

.solution-page-body .vk-scenarios__viz--static .vk-scenarios__nodes {
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 520px) {
  .solution-page-body .vk-scenarios__viz--static .vk-scenarios__nodes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.solution-page-body .vk-scenarios__flow {
  text-align: left;
  padding-inline: 4px;
}

.solution-page-body .feature-card h3,
.solution-page-body .feature-card p {
  overflow: visible;
}

.solution-page-body .tech-panel__body,
.solution-page-body .tech-code pre {
  overflow-x: auto;
}

.solution-page-body .intel-table {
  font-size: 14px;
  line-height: 1.5;
}

.solution-page-body .intel-table th,
.solution-page-body .intel-table td {
  padding: 10px 12px;
  vertical-align: top;
}

/* Solution SDK + live panels — light header, dark stage (like product scenarios) */
/* No dev-style Live / 实时 pill on solution pages */
.solution-page-body .tech-console__status {
  display: none;
}

.solution-page-body .sol-console__intro,
.solution-page-body .sol-sdk-section__intro,
.solution-page-body .sol-live-panel__head {
  margin-bottom: 0;
}

.solution-page-body .sol-live-panel__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 0;
}

.solution-page-body .sol-console__stage,
.solution-page-body .sol-sdk-section__stage,
.solution-page-body .sol-live-panel__stage {
  margin-top: var(--page-stack, 40px);
  padding: 24px 20px 32px;
  border-radius: var(--radius-md);
  background: #050507;
  color: #e4e4e7;
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.solution-page-body .sol-proto-block__stage .sol-proto-grid,
.solution-page-body .sol-proto-block__stage .sol-viz-panel,
.solution-page-body .sol-proto-block__stage .sol-log-panel,
.solution-page-body .sol-finance-globe__stage .sol-viz-panel,
.solution-page-body .sol-finance-globe__stage .sol-split-cards,
.solution-page-body .sol-chain-shield__stage .sol-viz-panel {
  margin-top: 18px;
}

.solution-page-body .sol-proto-block__stage .sol-proto-grid:first-child,
.solution-page-body .sol-finance-globe__stage .sol-viz-panel:first-child,
.solution-page-body .sol-chain-shield__stage .sol-viz-panel:first-child {
  margin-top: 0;
}

.solution-page-body .sol-sdk-section__stage .sdk-tabs button {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
}

.solution-page-body .sol-sdk-section__stage .sdk-tabs button.is-on {
  background: rgba(59, 130, 246, 0.18);
  color: #bfdbfe;
}

.solution-page-body .sol-sdk-section .tech-code[hidden] {
  display: none !important;
}

.solution-page-body .sol-stack--caps {
  position: relative;
  z-index: 1;
}

.solution-page-body .sol-stack--caps .solution-doc__grid {
  margin-top: 0;
}

.solution-page-body .tech-console > .tech-console__head {
  margin-bottom: var(--page-stack, 40px);
}

.solution-page-body .tech-console > .tech-console__head .section-kicker {
  margin-bottom: 12px;
}
