/* The original scroll presentation, with one chapter per application menu item. */
.ch-promo-page { --muted: #b0bfb8; --faint: #8c9f96; }
.ch-scale-heading, .ch-security-heading, .ch-requirements-heading { align-items: start; gap: 42px; margin-bottom: 42px; }
.ch-scale-heading h2, .ch-security-heading h2, .ch-documentation-copy h2, .ch-license-promo-copy h2 { font-size: clamp(38px, 4vw, 70px); line-height: 1.04; }
.ch-scale-heading > p, .ch-security-heading > p, .ch-requirements-heading > p { align-self: start; padding-top: 42px; font-size: 16px; line-height: 1.7; }
.ch-story-heading h2 { font-size: clamp(40px, 4.2vw, 72px); line-height: 1.04; }
.ch-hero-scroll.is-enhanced .ch-hero-chapters button { min-height: 38px; font-size: 12px; }
.ch-hero-scroll.is-enhanced .ch-hero-chapters button b { display: inline; }
.ch-hero-scroll.is-enhanced .ch-hero-chapters { gap: 14px; flex-wrap: wrap; }
.ch-promo-page .ch-scale-note { font-size: 13px; }
.ch-promo-page .ch-scale-path p { font-size: 14px; line-height: 1.65; }
.ch-documentation-core { grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: start; margin-top: 76px; }
.ch-documentation-examples { min-width: 0; padding-top: 32px; }
.ch-documentation-flow { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; font-size: 14px; color: var(--text); }
.ch-documentation-flow > span { max-width: 34%; }
.ch-documentation-flow small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.ch-documentation-flow i { color: var(--teal); font-style: normal; }
.ch-documentation-flow-hub { display: flex; flex-direction: column; align-items: center; gap: 8px; font-weight: 750; }
.ch-documentation-previews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; perspective: 1400px; }
.ch-promo-page .ch-document-preview { margin: 0; border-radius: 12px; transform: rotateY(-3deg) rotateX(2deg); }
.ch-document-preview img { display: block; aspect-ratio: 1.4; object-fit: contain; background: #192139; }
.ch-promo-page .ch-document-preview figcaption { position: static; display: grid; gap: 10px; padding: 13px; border: 0; border-radius: 0; background: transparent; font-size: 13px; }
.ch-document-preview strong { color: var(--text); font-size: 14px; line-height: 1.5; }
.ch-documentation-export-note { margin: 24px 0 18px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.ch-documentation-promises li { font-size: 14px; line-height: 1.5; }
.ch-promo-page .ch-engineer-note { padding: 66px 0; background: linear-gradient(115deg, #172d24, #10221b); }
.ch-engineer-note-grid { gap: 32px; }
.ch-engineer-note-grid > img { width: 90px; height: 90px; }
.ch-engineer-note h2 { font-size: clamp(30px, 3vw, 44px); }
.ch-promo-page .ch-operations { margin-top: 0; padding: 72px 0; background: radial-gradient(ellipse at 90% 10%, #5ddbc414, transparent 65%), #14271f; color: var(--text); }
.ch-operations-grid { gap: 54px; }
.ch-operations-heading h2 { font-size: clamp(34px, 3.3vw, 54px); }
.ch-operations .ch-eyebrow { color: var(--teal); }
.ch-promo-page .ch-operations-heading p:last-child, .ch-promo-page .ch-operation-cards p { color: var(--muted); font-size: 15px; }
.ch-operation-cards { align-self: start; }
.ch-operation-cards article { min-height: 210px; padding: 24px 20px; border-color: var(--line-bright); }
.ch-operation-cards h3 { margin-top: 34px; font-size: 20px; }
.ch-operation-cards span { color: var(--teal); }
.ch-security-trust { padding: 80px 0 72px; }
.ch-security-pillars article { min-height: 210px; padding: 24px; }
.ch-security-pillars h3 { margin-top: 32px; font-size: 20px; }
.ch-security-pillars p { font-size: 15px; line-height: 1.65; }
.ch-promo-page .ch-requirements { padding: 68px 0; background: linear-gradient(135deg, #172e25, #10211b); color: var(--text); }
.ch-promo-page .ch-requirements h2, .ch-promo-page .ch-requirements h3 { color: var(--text); }
.ch-requirements-heading h2 { font-size: clamp(34px, 3.4vw, 54px); }
.ch-promo-page .ch-requirements-heading > p, .ch-promo-page .ch-requirements-grid p { color: var(--muted); }
.ch-promo-page .ch-requirements-grid { border-color: var(--line-bright); }
.ch-promo-page .ch-requirements-grid article { min-height: 190px; padding: 22px; border-color: var(--line-bright); }
.ch-requirements-grid h3 { margin-top: 28px; font-size: 20px; }
.ch-requirements-grid p { font-size: 15px; }
.ch-license-promo { min-height: 0; padding-block: 80px 54px; gap: 64px; align-items: start; }
.ch-license-process { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--teal); font-size: 14px; line-height: 1.8; }
.ch-free-offer { padding: 34px; border: 1px solid #5ddbc47a; border-radius: 20px; background: radial-gradient(ellipse at 100% 0, #5ddbc424, transparent 72%), #142b22; box-shadow: 0 24px 60px #0003; }
.ch-free-price { margin: 28px 0 12px; color: var(--teal); font-size: 18px; }
.ch-free-price strong { font-size: 88px; line-height: 1; letter-spacing: -.07em; }
.ch-free-offer h3 { margin-bottom: 14px; font-size: 30px; }
.ch-free-offer > p:not(.ch-free-price) { color: var(--muted); font-size: 15px; line-height: 1.7; }
.ch-free-offer .ch-free-requirements { font-size: 13px; }
.ch-free-offer .ch-button { margin-top: 14px; }
.ch-prices { padding-top: 28px; padding-bottom: 76px; }
.ch-prices .ch-section-heading h2 { font-size: clamp(32px, 3.2vw, 48px); }
.ch-edition-pricing { padding: 28px; border: 1px solid var(--line-bright); border-radius: 16px; background: #12251d; }
.ch-edition-pricing table { width: 100%; border-collapse: collapse; text-align: left; font-size: 16px; }
.ch-edition-pricing th, .ch-edition-pricing td { padding: 16px 12px; border-bottom: 1px solid var(--line); }
.ch-edition-pricing thead { color: var(--muted); font-size: 13px; }
.ch-edition-pricing td { color: var(--teal); }
.ch-edition-pricing p { margin: 20px 12px; color: var(--muted); font-size: 14px; }
.ch-edition-pricing > a { margin: 0 12px; }
.ch-price-request { display: block; margin: 0 12px 22px; color: var(--teal); font-size: 28px; }
.ch-edition-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 12px; padding: 0; list-style: none; }
.ch-edition-options li { padding: 9px 14px; border: 1px solid var(--line-bright); border-radius: 8px; color: var(--text); font-size: 14px; }
.ch-sample-download { display: block; margin: 0 0 24px; font-size: 14px; }
.ch-download-finish { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 42px; padding: 28px; border-top: 1px solid var(--line-bright); }
.ch-download-finish strong { display: block; color: var(--text); font-size: 22px; }
.ch-download-finish p { margin: 8px 0; color: var(--muted); font-size: 15px; }
.ch-download-finish small { color: var(--teal); font-size: 13px; }
.ch-story-heading { margin-bottom: 44px; align-items: start; }
.ch-story-heading > p:last-child { align-self: start; padding-top: 56px; }
.ch-telling.is-enhanced, .ch-telling-step { grid-template-columns: minmax(0, 520px) minmax(0, 1fr); gap: clamp(36px, 3vw, 72px); }
.ch-telling.is-enhanced .ch-telling-step { min-height: 0; padding: 32px 0 48px; }
.ch-telling-copy h3 { font-size: clamp(32px, 2.8vw, 50px); }
.ch-scroll-title-track > .ch-scroll-title-group { position: sticky; top: var(--scroll-pin-top, 102px); }
.ch-scroll-title-group h2, .ch-scroll-title-group h3 { margin: 0 0 20px; }
.ch-scroll-title-group p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.ch-telling-views { margin-top: 24px; }
.ch-telling-view { padding: 26px 0 54px; }
.ch-telling.is-enhanced .ch-telling-view { min-height: clamp(330px, 36svh, 430px); }
.ch-telling-view h4 { font-size: clamp(26px, 2vw, 34px); line-height: 1.15; }
.ch-telling-view p { font-size: 16px; line-height: 1.75; }
.ch-story-note { margin: 12px 0; border-top: 1px solid var(--line); }
.ch-story-note summary { padding: 14px 24px 10px 0; color: var(--text); font-size: 15px; line-height: 1.5; font-weight: 650; cursor: pointer; }
.ch-story-note p { margin: 0 0 18px; font-size: 15px; }
.ch-story-note img { margin-top: 16px; border: 1px solid var(--line-bright); border-radius: 10px; }
.ch-story-source { margin: 18px 0 0; color: var(--faint); font-size: 13px; }
.ch-story-anchor { display: block; scroll-margin-top: 110px; }
.ch-telling.is-enhanced .ch-telling-stage { background: #10201a; border-radius: 16px; }
.ch-telling.is-enhanced .ch-telling-panels { position: relative; display: block; }
.ch-telling.is-enhanced .ch-telling-panel { position: absolute; inset: 0; }
.ch-telling.is-enhanced .ch-telling-panel.is-active { position: relative; inset: auto; }
.ch-telling.is-enhanced .ch-telling-panel { opacity: 0; transition: opacity var(--media-transition-duration) var(--media-transition-ease); }
.ch-telling.is-enhanced .ch-telling-panel.is-active { opacity: 1; }
.ch-telling.is-enhanced .ch-telling-panel.is-leaving { visibility: visible; }
.ch-telling.is-enhanced .ch-telling-panel.is-leaving .ch-overview-frame.is-active { visibility: visible; }
.ch-telling.is-enhanced .ch-overview-frames { background: radial-gradient(ellipse at 40% 30%, #294b3f44, transparent 80%), #0c1814; }
.ch-telling.is-enhanced .ch-overview-frame { opacity: 0; transition: opacity var(--media-transition-duration) var(--media-transition-ease); }
.ch-telling.is-enhanced .ch-telling-art { background: transparent; }
.ch-telling-top { min-height: 46px; padding: 12px 16px; font-size: 13px; }
.ch-telling-top select { display: none; }
.ch-telling-art { height: calc(var(--story-image-height, 500px) + 24px); padding: 12px; overflow: hidden; background: radial-gradient(ellipse at 40% 30%, #294b3f44, transparent 80%), #0c1814; }
.ch-story-screen { position: relative; width: min(100%, calc(var(--story-image-height, 500px) * var(--story-image-ratio))); min-width: 0; }
.ch-telling-art .ch-story-screen > img { display: block; width: 100%; height: auto; max-height: var(--story-image-height, 500px); object-fit: contain; border: 1px solid #40575a; border-radius: 6px; cursor: zoom-in; }
.ch-telling-panel figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 10px 16px; font-size: 13px; }
.ch-overview-frame figcaption strong { margin: 0; font-size: 13px; line-height: 1.4; }
.ch-story-zoom { flex: 0 0 auto; display: inline-flex; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--line-bright); border-radius: 8px; background: #10251d; color: var(--teal); font: inherit; font-size: 12px; cursor: pointer; }
.ch-story-zoom:hover { color: var(--text); border-color: var(--teal); }
.ch-overview-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 16px 10px; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ch-overview-controls button { width: 40px; height: 36px; border: 1px solid var(--line-bright); border-radius: 8px; background: transparent; color: var(--text); cursor: pointer; }
.ch-overview-groups { display: flex; gap: 6px; padding: 6px 16px 10px; }
.ch-overview-groups button { flex: 1; min-width: 0; min-height: 36px; border: 1px solid var(--line); border-radius: 7px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
.ch-overview-groups button[aria-current="true"] { border-color: var(--teal); color: var(--teal); background: #5ddbc40d; }
.ch-telling-nav { position: relative; display: flex; gap: 6px; padding: 10px 12px; overflow-x: auto; scrollbar-width: thin; }
.ch-telling-nav a { flex: 0 0 auto; min-height: 38px; padding: 8px 10px; font-size: 12px; white-space: nowrap; }
.ch-telling-nav-label { display: inline; }
.ch-telling.is-enhanced .ch-overview-frame.is-leaving { z-index: 1; visibility: visible; opacity: 0; transition: opacity var(--media-transition-duration) var(--media-transition-ease); }
.ch-telling.is-enhanced .ch-overview-frame.is-active { opacity: 1; }
.ch-telling.is-enhanced .ch-overview-frame.is-active .ch-story-screen > img { animation: ch-image-reveal-ltr var(--media-transition-duration) var(--media-transition-ease) both; }
[data-story-drag] { touch-action: pan-y; }
.ch-story-hotspot { width: 26px; height: 26px; font-size: 12px; box-shadow: 0 0 0 4px #f4913f33, 0 4px 12px #0006; animation: none; }
.ch-story-point-report-export { left: 88%; top: 16.5%; }
.ch-story-point-folder-auto { left: 29.87%; top: 21.71%; }
.ch-story-point-rename-preview { left: 61%; top: 66%; }
.ch-story-point-config-export { left: 27%; top: 34.5%; }
.ch-story-point-network-port { left: 62.8%; top: 75.1%; }
.ch-story-screen .ch-hotspot-card { left: 12px; right: auto; top: 12px; bottom: auto; width: min(340px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow-y: auto; padding: 16px; font-size: 14px; }
.ch-story-screen .ch-hotspot-card strong { padding-right: 28px; font-size: 15px; }
.ch-story-screen .ch-hotspot-card p { font-size: 14px; }
.ch-story-workflow { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 28px 0; padding: 0; list-style: none; }
.ch-story-workflow::before { position: absolute; top: 11px; left: 12.5%; right: 12.5%; height: 2px; background: linear-gradient(90deg, var(--teal) calc(var(--journal-progress, 0) * 100%), var(--line-bright) 0); content: ""; }
.ch-story-workflow::after { position: absolute; top: 6px; left: calc(12.5% + var(--journal-progress, 0) * 75%); width: 12px; height: 12px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px #f4913f22; transform: translateX(-50%); content: ""; }
.ch-story-workflow li { min-width: 0; }
.ch-story-workflow button { position: relative; width: 100%; min-height: 76px; padding: 30px 0 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; line-height: 1.4; cursor: pointer; }
.ch-story-workflow button span { display: block; margin-bottom: 4px; color: var(--teal); font-size: 11px; }
.ch-story-workflow .is-current button { color: var(--orange); }
.ch-story-workflow .is-passed button { color: var(--text); }
@media (max-width: 1100px) {
  .ch-documentation-core { grid-template-columns: 1fr; gap: 28px; }
  .ch-documentation-examples { padding-top: 0; }
  .ch-scale-heading > p, .ch-security-heading > p, .ch-requirements-heading > p { padding-top: 0; }
  .ch-telling.is-enhanced, .ch-telling-step { grid-template-columns: .85fr 1.15fr; gap: 30px; }
}
@media (max-width: 700px) {
  .ch-story-heading > p:last-child { padding-top: 0; }
  .ch-telling.is-enhanced { display: block; }
  .ch-telling.is-enhanced .ch-telling-stage { position: sticky; top: var(--story-header, 84px); z-index: 10; margin-bottom: 24px; box-shadow: 0 -16px 0 var(--bg), 0 16px 30px #08110f; }
  .ch-telling.is-enhanced .ch-telling-step { padding: 20px 0 40px; }
  .ch-telling-copy h3 { font-size: 32px; }
  .ch-telling .ch-scroll-title-track > .ch-scroll-title-group { top: var(--story-copy-top, 420px); }
  .ch-scroll-title-group p { font-size: 15px; line-height: 1.65; }
  .ch-telling-top { min-height: 38px; padding: 6px 10px; gap: 8px; }
  .ch-telling-top > span:first-child, .ch-telling-top strong { display: none; }
  .ch-telling-top select { display: block; width: min(75%, 240px); min-height: 32px; padding: 4px 26px 4px 8px; border: 1px solid var(--line-bright); border-radius: 6px; background: #142920; color: var(--teal); font: inherit; }
  .ch-telling-art { height: calc(var(--story-image-height, 160px) + 16px); padding: 8px; }
  .ch-telling-panel figcaption { min-height: 38px; padding: 4px 10px; }
  .ch-overview-frame figcaption strong { font-size: 11px; }
  .ch-overview-frame figcaption strong { display: none; }
  .ch-telling-panel figcaption { justify-content: flex-end; }
  .ch-story-zoom { padding: 7px 8px; font-size: 11px; }
  .ch-overview-controls { min-height: 36px; padding: 2px 10px 6px; }
  .ch-overview-controls button { width: 42px; height: 32px; }
  .ch-overview-groups { gap: 4px; padding: 2px 10px 4px; }
  .ch-overview-groups button { min-height: 32px; font-size: 11px; }
  .ch-telling-nav { display: none; }
  .ch-telling.is-enhanced .ch-telling-view { min-height: 0; padding: 22px 0 54px; }
  .ch-telling-view p { font-size: 15px; line-height: 1.7; }
  .ch-telling-view h4 { font-size: 27px; }
  .ch-story-source { font-size: 12px; }
  .ch-story-hotspot { width: 24px; height: 24px; }
  .ch-documentation-previews { grid-template-columns: 1fr; gap: 22px; }
  .ch-documentation-flow { gap: 8px; font-size: 12px; }
  .ch-documentation-flow small { font-size: 11px; }
  .ch-documentation-flow-hub img { width: 32px; height: 32px; }
  .ch-promo-page .ch-engineer-note, .ch-promo-page .ch-operations, .ch-security-trust, .ch-promo-page .ch-requirements { padding: 54px 0; }
  .ch-operation-cards { grid-template-columns: 1fr; }
  .ch-operation-cards article { min-height: 160px; border-bottom: 1px solid var(--line); }
  .ch-license-promo { padding-top: 60px; gap: 28px; }
  .ch-free-offer { padding: 24px; }
  .ch-edition-pricing { padding: 18px 12px; }
  .ch-download-finish { align-items: start; flex-direction: column; padding: 24px 0; }
  .ch-scale-heading h2, .ch-security-heading h2, .ch-documentation-copy h2, .ch-license-promo-copy h2, .ch-story-heading h2 { font-size: 38px; }
}
