body.qz-stage-solution-page > .pb-header {
  position: sticky;
  top: 0;
}

body.qz-stage-solution-page {
  height: auto;
  min-height: 100vh;
  overflow: visible;
}

.stage-solution-page {
  --ink: #171d2d;
  --muted: #64748b;
  --line: #e6ebf6;
  --soft: #f8f9fc;
  --display-size: 3rem;
  --heading-size: 2.25rem;
  --card-size: 1.25rem;
  --section-space: 5rem;
  --page-gutter: 2.5rem;
  --grid-gap: 1.5rem;
  --card-padding: 1.5rem;
  color: var(--ink);
  background: #fff;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

.stage-solution-page,
.stage-solution-page *,
.stage-solution-page *::before,
.stage-solution-page *::after { box-sizing: border-box; }
.stage-solution-page button,
.stage-solution-page input,
.stage-solution-page select,
.stage-solution-page textarea { font: inherit; }
.stage-solution-page button { cursor: pointer; border: 0; }
.stage-solution-page a { color: inherit; text-decoration: none; }
.stage-solution-page img { display: block; max-width: 100%; height: auto; }
.stage-solution-page a,
.stage-solution-page button { -webkit-tap-highlight-color: transparent; }
.stage-solution-page button:focus-visible,
.stage-solution-page a:focus-visible,
.stage-solution-page input:focus-visible,
.stage-solution-page select:focus-visible,
.stage-solution-page textarea:focus-visible { outline: 3px solid #8bb9ff; outline-offset: 4px; }
.stage-solution-page h1,
.stage-solution-page h2,
.stage-solution-page h3,
.stage-solution-page h4,
.stage-solution-page p { margin: 0; letter-spacing: 0; }
.stage-solution-page h1,
.stage-solution-page h2,
.stage-solution-page h3,
.stage-solution-page h4 { font-weight: 700; line-height: 1.3; }
.stage-solution-page h2 { font-size: var(--heading-size); }
.stage-solution-page h3 { font-size: var(--card-size); }
.stage-solution-page .container { width: min(1200px, calc(100% - var(--page-gutter) * 2)); margin-inline: auto; }
.stage-solution-page .description { margin-top: .75rem; color: var(--muted); font-size: 1rem; }
.stage-solution-page .section-top { margin-bottom: 2rem; }
.stage-solution-page .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .5rem 1.75rem;
  border-radius: 8rem;
  color: #fff;
  background: var(--blue);
  font-size: 1rem;
  line-height: 1.5;
  white-space: nowrap;
  transition: transform .18s, box-shadow .18s;
}
.stage-solution-page .pill:hover { transform: translateY(-2px); box-shadow: 0 6px 18px #1a5bff24; }
.stage-solution-page .text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  color: var(--blue);
  background: none;
  font-size: .875rem;
  line-height: 1.75;
}
.stage-solution-page .text-link:hover { text-decoration: underline; }
.stage-solution-page dialog {
  margin: auto;
  width: 35rem;
  max-width: calc(100vw - 2.5rem);
  max-height: calc(100dvh - 2.5rem);
  padding: 2rem;
  overflow: auto;
  border: 1px solid #e3eafa;
  border-radius: 1.25rem;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 2rem 7rem #12265930;
}
.stage-solution-page dialog::backdrop { background: #07133077; backdrop-filter: blur(5px); }
.stage-solution-page .dialog-close {
  float: right;
  min-height: 44px;
  margin: 0 0 .75rem 1rem;
  padding: .5rem 1rem;
  border-radius: .5rem;
  color: #5c6a82;
  background: #f0f4fc;
  font-size: .875rem;
}
.stage-solution-page dialog h2 { clear: both; margin-bottom: 1rem; font-size: 1.75rem; }
.stage-solution-page dialog p { color: var(--muted); font-size: 1rem; }

@media (max-width: 1199px) {
  .stage-solution-page {
    --display-size: 2.5rem;
    --heading-size: 2rem;
    --section-space: 4rem;
    --page-gutter: 2rem;
    --grid-gap: 1.25rem;
  }
}

@media (max-width: 767px) {
  .stage-solution-page {
    --display-size: 2rem;
    --heading-size: 1.75rem;
    --card-size: 1.125rem;
    --section-space: 3rem;
    --page-gutter: 1.25rem;
    --grid-gap: 1rem;
    --card-padding: 1.25rem;
  }
  .stage-solution-page dialog { padding: 1.25rem; }
  .stage-solution-page dialog h2 { font-size: 1.5rem; }
}

.stage-solution-page .capabilities-section { padding-block: 48px; background: #f7f9fc; }
.stage-solution-page .capabilities-section[hidden] { display: none; }
.stage-solution-page .capabilities-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.stage-solution-page .capabilities-heading h2 { margin: 0; }
.stage-solution-page .capabilities-heading span { color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.stage-solution-page .capabilities-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:stretch; gap:10px; margin:0; padding:0; list-style:none; }
.stage-solution-page .capability-filter-bar { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:start; gap:6px; padding:8px; margin-bottom:16px; background:#fff; border-radius:8px; }
.stage-solution-page .capability-filters { position:relative; display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.stage-solution-page .capability-filters button { flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; height:30px; max-width:100%; padding:0 10px; border:0; border-radius:999px; background:color-mix(in srgb,var(--capability-color) 9%,white); color:var(--capability-color); font-size:12px; font-weight:600; cursor:pointer; }
.stage-solution-page .capability-filters button[hidden], .stage-solution-page #capability-filters-toggle[hidden] { display:none; }
.stage-solution-page .capability-filters button.is-active { color:#fff; background:var(--capability-color); }
.stage-solution-page .capability-filters button > * { color:inherit; }
.stage-solution-page .capability-filters button > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stage-solution-page .capability-filters button b { padding:1px 4px; border-radius:999px; background:#ffffff40; font-size:11px; }
.stage-solution-page #capability-filters-toggle { width:30px; height:30px; display:grid; place-items:center; padding:0; border:0; border-radius:6px; background:#edf3ff; color:var(--blue); font-size:20px; cursor:pointer; }
.stage-solution-page .capability-description { margin:0 0 14px; font-size:13px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere; }
.stage-solution-page .capability-item { position:relative; display:flex; flex-direction:column; gap:4px; min-width:0; height:auto; padding:8px 10px; border:1px solid #edf1f7; border-radius:8px; background:#fff; }
.stage-solution-page .capability-icon { position:relative; flex:0 0 26px; width:26px; height:26px; border-radius:6px; background:color-mix(in srgb,var(--capability-color) 10%,white); color:var(--capability-color); font-size:19px; line-height:26px; text-align:center; }
.stage-solution-page .capability-icon img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; border-radius:inherit; }
.stage-solution-page .capability-copy { min-width:0; width:100%; overflow-wrap:anywhere; }
.stage-solution-page .capability-badge { position:absolute; top:11px; left:44px; right:30px; color:var(--capability-color); font-size:11px; line-height:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stage-solution-page .capability-copy h3 { margin:0 0 3px; color:var(--ink); font-size:14px; font-weight:700; line-height:20px; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.stage-solution-page .capability-copy p { margin:0; color:var(--muted); font-size:12px; line-height:18px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.stage-solution-page .capability-expand { position:absolute; top:7px; right:4px; display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--capability-color); font-size:18px; cursor:pointer; }
.stage-solution-page .capability-item.is-expanded { height:auto; }
.stage-solution-page .capability-item.is-expanded h3, .stage-solution-page .capability-item.is-expanded p { display:block; overflow:visible; }
.stage-solution-page .capability-item.is-expanded .capability-badge { position:static; display:block; white-space:normal; overflow:visible; margin-bottom:4px; }
.stage-solution-page .capability-filters button:focus-visible, .stage-solution-page .capability-expand:focus-visible, .stage-solution-page #capability-filters-toggle:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
@media(max-width:767px) {
  .stage-solution-page .capabilities-section { padding-block:32px; }
  .stage-solution-page .capabilities-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .stage-solution-page .capability-item { height:auto; padding:7px; gap:4px; }
  .stage-solution-page .capability-icon { width:26px; height:26px; flex-basis:26px; line-height:26px; font-size:19px; }
  .stage-solution-page .capability-badge { top:12px; left:37px; right:28px; font-size:10px; line-height:16px; }
  .stage-solution-page .capability-copy h3 { font-size:12px; line-height:18px; }
  .stage-solution-page .capability-copy p { font-size:11px; line-height:16px; }
}

@media (prefers-reduced-motion: reduce) {
  .stage-solution-page,
  .stage-solution-page *,
  .stage-solution-page *::before,
  .stage-solution-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
