@import url("./industry-scene.css");
/* Published content reuses the existing visual system while allowing variable counts. */
.cms-integration-support-image { display: block; margin-top: 16px; overflow: hidden; border-radius: 24px; }
.cms-integration-support-image > img { display: block; width: 100%; height: auto; }
.cms-section { scroll-margin-top: 105px; overflow-wrap: anywhere; }
.cms-section [hidden] { display: none !important; }
.cms-empty { padding: 36px 24px; border: 1px dashed #bccbdd; border-radius: 16px; color: var(--muted); text-align: center; font-size: 14px; }
.cms-section .section-index { line-height: 1.6; }
.cms-section .section-heading:has(> div:only-child) { grid-template-columns: 1fr; }
.cms-section .section-heading:has(> div:only-child) > div { max-width: 900px; }
.cms-section .hero-actions:empty, .cms-section .about-actions:empty { display: none; }
.cms-section-actions { display: flex; justify-content: flex-end; margin-top: 28px; }
.cms-hero .hero-copy h2 { margin: 24px 0; font-size: clamp(42px, 5.4vw, 72px); line-height: 1.12; letter-spacing: -.05em; }
.cms-hero .hero-copy h2 em { color: var(--accent); font-style: normal; }
.cms-hero-media { display: block; width: 100%; min-width: 0; overflow: hidden; border-radius: 28px; }
.cms-hero-media > img { display: block; width: 100%; height: clamp(260px, 36vw, 520px); object-fit: cover; }
.cms-hero-media video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.cms-hero .hero-inner.cms-hero-copy-only { grid-template-columns: 1fr; min-height: 510px; }
.cms-hero-copy-only .hero-copy { max-width: 960px; }
.cms-theme-light.hero, .cms-theme-muted.hero { color: var(--ink); background: var(--surface); }
.cms-theme-muted.hero { background: var(--surface-muted); }
.cms-theme-light .hero-copy > p, .cms-theme-muted .hero-copy > p,
.cms-theme-light .hero-features, .cms-theme-muted .hero-features,
.cms-theme-light .capability-copy p, .cms-theme-muted .capability-copy p { color: var(--muted); }
.cms-theme-light .eyebrow, .cms-theme-muted .eyebrow { color: var(--accent); }
.cms-theme-light .capability-strip, .cms-theme-muted .capability-strip { border-color: var(--line); }
.cms-theme-light .capability-strip > div span, .cms-theme-muted .capability-strip > div span { color: var(--muted); }
.cms-theme-dark .section-heading > p, .cms-theme-dark .section-index, .cms-theme-dark > .container > .cms-empty { color: var(--night-muted); }
.cms-theme-dark .pipeline, .cms-theme-dark .flat-card, .cms-theme-dark .flight-core-card,
.cms-theme-dark .flight-module-card, .cms-theme-dark .integration-support { color: var(--ink); }
.cms-theme-dark .annotation-steps p { color: var(--night-muted); }
.cms-theme-light .flight-layer-stack article, .cms-theme-muted .flight-layer-stack article { color: var(--ink); border-color: var(--line); background: #eaf1fa; }
.cms-theme-light .flight-layer-stack p, .cms-theme-muted .flight-layer-stack p { color: var(--muted); }
.cms-section .product-showcase { min-height: 410px; }
.cms-section .product-tabs { margin-bottom: 20px; }
.cms-section .product-tabs button { overflow-wrap: anywhere; text-align: left; }
.cms-product-image { position: relative; z-index: 1; display: block; width: 100%; max-height: 270px; min-height: 150px; margin: 20px auto; object-fit: contain; border-radius: 16px; }
.cms-section .product-copy, .cms-section .model-card, .cms-section .model-meta > div { min-width: 0; }
.cms-section .model-meta strong { overflow-wrap: anywhere; }
.cms-section .cms-grid-flow { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
.cms-item-image { display: block; width: 100%; max-height: 230px; margin-top: 20px; object-fit: cover; border-radius: 14px; }
.cms-section .solution-grid { grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.cms-section .solution-grid.cms-solution-list { grid-template-columns: 1fr; }
.cms-solution-list .solution-card { min-height: 260px; }
.cms-solution-list .solution-copy { max-width: 800px; }
.cms-card-index { align-self: flex-start; font: 12px/1.5 ui-monospace,monospace; color: #c7d9ef; }
.cms-section .solution-copy { margin-top: auto; }
.cms-section .capability-layout { align-items: start; }
.cms-section .capability-cards { min-width: 0; }
.cms-section .capability-card h3, .cms-section .solution-card h3 { color: #fff; }
.cms-news-grid .news-content { min-width: 0; }
.cms-news-cover { display: block; width: 100%; height: 290px; object-fit: cover; }
.cms-news-grid .news-main:only-child { grid-column: 1/-1; grid-row: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
.cms-news-grid .news-main:only-child .cms-news-cover { height: 100%; min-height: 290px; }
.cms-news-grid .news-meta { flex-wrap: wrap; }
.cms-section.clients { padding-block: 75px; }
.cms-section.clients .section-heading { margin-bottom: 36px; }
.cms-partner-logo { display: block; width: 155px; height: 62px; object-fit: contain; }
.cms-partner-name { display: block; max-width: 180px; padding: 12px; color: #355272; text-align: center; font-size: 15px; font-weight: 600; }
.cms-section .client-card a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
[data-cms-client-wall][data-speed="slow"] .client-track { animation-duration: 85s; }
[data-cms-client-wall][data-speed="normal"] .client-track { animation-duration: 58s; }
[data-cms-client-wall][data-speed="fast"] .client-track { animation-duration: 32s; }
.cms-section .cms-feature-grid, .cms-section .cms-workflow { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
.cms-feature-grid .annotation-chips { margin-bottom: 0; }
.cms-feature-grid .flight-module-card { display: block; }
.cms-feature-grid .flight-module-card h3 { margin-top: 28px; }
.cms-flight-hover-card { position:relative;isolation:isolate;overflow:hidden; }
.cms-flight-hover-card > .cms-flight-hover-image { position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity .35s ease,transform .6s ease;pointer-events:none; }
.cms-flight-hover-card.has-hover-image::after { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#071a3040,#071a30c7 55%,#071a30ed);opacity:0;transition:opacity .35s ease;pointer-events:none; }
.cms-flight-hover-card > .cms-flight-hover-copy { display:block;position:relative;width:100%; }
.cms-flight-hover-card h3,.cms-flight-hover-card p,.cms-flight-hover-card .section-index,.cms-flight-hover-card .text-link { transition:color .3s ease; }
.cms-flight-hover-card.has-hover-image:is(:hover,:focus-within) > .cms-flight-hover-image { opacity:1;transform:scale(1); }
.cms-flight-hover-card.has-hover-image:is(:hover,:focus-within)::after { opacity:1; }
.cms-section .cms-flight-hover-card.has-hover-image:is(:hover,:focus-within) :is(h3,p,.text-link) { color:#fff; }
.cms-section .cms-flight-hover-card.has-hover-image:is(:hover,:focus-within) .section-index { color:#c1dcff; }
.cms-flight-hover-card.has-hover-image:is(:hover,:focus-within) .annotation-chips span { color:#fff;background:#ffffff1c;border-color:#ffffff40; }
.cms-flight-hover-card:focus-visible { outline:3px solid #2f7df6;outline-offset:4px; }
@media(hover:none) {
  .cms-flight-hover-card.has-hover-image > .cms-flight-hover-image { opacity:1;transform:none; }
  .cms-flight-hover-card.has-hover-image::after { opacity:1; }
  .cms-section .cms-flight-hover-card.has-hover-image :is(h3,p,.text-link) { color:#fff; }
  .cms-section .cms-flight-hover-card.has-hover-image .section-index { color:#c1dcff; }
  .cms-flight-hover-card.has-hover-image .annotation-chips span { color:#fff;background:#ffffff1c;border-color:#ffffff40; }
}
@media(prefers-reduced-motion:reduce) {
  .cms-flight-hover-card,.cms-flight-hover-card > .cms-flight-hover-image,.cms-flight-hover-card::after,.cms-flight-hover-card h3,.cms-flight-hover-card p,.cms-flight-hover-card .section-index,.cms-flight-hover-card .text-link { transition:none; }
}
.cms-workflow article { min-width: 0; }
.cms-format-list { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.cms-format-list span { padding: 16px 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font-size: 15px; }
.cms-one-column { grid-template-columns: 1fr; }
.cms-company-description { min-width: 0; line-height: 1.9; color: var(--muted); }
.cms-company-description > :first-child { margin-top: 0; }
.cms-company-description .about-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.cms-company-values { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 20px; margin-top: 50px; }
.cms-company-values article { padding: 32px; }
.cms-company-values h2 { font-size: 23px; margin: 0 0 18px; }
.cms-company-values p { color: var(--muted); font-size: 14px; line-height: 1.9; }
.cms-history { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 30px; }
.cms-history article { padding: 24px 0; border-top: 2px solid var(--accent); }
.cms-history time { color: var(--accent); font: 15px/1.5 ui-monospace,monospace; }
.cms-history h3 { font-size: 21px; line-height: 1.5; }
.cms-history p { color: var(--muted); line-height: 1.8; font-size: 14px; }
.cms-qualifications { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 25px; }
.cms-qualifications figure { margin: 0; padding: 25px; border-radius: 20px; background: var(--surface-muted); }
.cms-qualifications img { width: 100%; height: 260px; object-fit: contain; }
.cms-qualifications figcaption { margin-top: 20px; text-align: center; font-size: 14px; }
@media (max-width: 820px) {
  .cms-section .capability-strip > div { flex-wrap: wrap; justify-content: flex-start; }
  .cms-hero .hero-inner { min-height: 0; grid-template-columns: minmax(0,1fr); }
  .cms-section .product-showcase { grid-template-columns: minmax(0,1fr); }
  .cms-section .product-copy { padding: 32px; }
  .cms-section .capability-layout { grid-template-columns: minmax(0,1fr); }
  .cms-news-grid .news-main:only-child { grid-template-columns: 1fr; }
  .cms-section .company-story { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 560px) {
  .cms-hero .hero-copy h2 { font-size: 42px; }
  .cms-hero-media > img { height: 250px; }
  .cms-section .cms-grid-flow, .cms-section .cms-feature-grid, .cms-section .cms-workflow,
  .cms-section .solution-grid, .cms-company-values, .cms-history, .cms-qualifications { grid-template-columns: minmax(0,1fr); }
  .cms-section .pipeline article { border-right: 0; border-bottom: 1px solid var(--line); }
  .cms-section .pipeline article::after { display: none; }
  .cms-section .integration-support { align-items: flex-start; flex-direction: column; }
  .cms-section .product-copy { padding: 26px; }
  .cms-section .product-copy h3 { font-size: 29px; }
  .cms-section .model-card { padding: 24px; }
  .cms-section .model-meta { grid-template-columns: 1fr; }
  .cms-section .product-points { grid-template-columns: 1fr; }
  .cms-section .flight-layer-stack article { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .cms-news-cover { height: 230px; }
  .cms-section .company-photo { height: 300px; }
  .cms-section .hero-actions { align-items: stretch; flex-direction: column; }
  .cms-section .hero-actions .button { justify-content: center; }
}

/* 产品历程：自动行高容纳长文案，小屏切换纵向时间轴。 */
.cms-history-section { background: linear-gradient(180deg,#fff,#f2f7fd); }
.cms-product-history { overflow-x:auto; padding:12px 4px 28px; scrollbar-width:thin; scrollbar-color:#9bb7d8 #edf3fa; }
.cms-product-history:focus-visible { outline:2px solid var(--accent); outline-offset:6px; border-radius:12px; }
.cms-product-timeline { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(270px,1fr); grid-template-rows:auto 56px auto; list-style:none; margin:0; padding:0; }
.cms-product-timeline > li { display:grid; grid-template-rows:subgrid; grid-row:1 / 4; min-width:0; padding:0 14px; }
.cms-milestone-copy { grid-row:1; align-self:end; padding:26px; background:#fff; border:1px solid #e1eaf5; border-radius:18px; box-shadow:0 10px 32px #0d315a08; }
.cms-milestone-copy h3 { margin:0 0 10px; font-size:20px; line-height:1.5; color:var(--ink); overflow-wrap:anywhere; }
.cms-milestone-copy p { margin:0; font-size:14px; line-height:1.9; color:var(--muted); overflow-wrap:anywhere; }
.cms-milestone-dot { grid-row:2; position:relative; align-self:center; justify-self:center; width:12px; height:12px; border-radius:50%; background:#2f7df6; box-shadow:0 0 0 6px #e6effc; }
.cms-milestone-dot::before { content:''; position:absolute; top:5px; left:calc(-1 * (100vw - 280px) / 6); width:calc((100vw - 280px) / 3); height:2px; background:#bfd5ef; z-index:-1; }
.cms-product-timeline { isolation:isolate; }
.cms-milestone-icon { grid-row:1; align-self:end; justify-self:start; margin:0 0 24px 38px; width:60px; height:60px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,#edf5ff,#daeaff); color:#2476da; font:600 18px/1 ui-monospace,monospace; }
.cms-milestone-copy { padding-top:104px; }
.cms-milestone-icon img { width:48px; height:48px; object-fit:contain; }
.cms-product-timeline time { grid-row:3; text-align:center; align-self:start; padding-top:4px; color:#366494; font:600 14px/1.6 ui-monospace,monospace; }
.cms-product-timeline > li:nth-child(even) .cms-milestone-copy { grid-row:3; align-self:start; }
.cms-product-timeline > li:nth-child(even) .cms-milestone-icon { grid-row:3; align-self:start; margin-top:24px; }
.cms-product-timeline > li:nth-child(odd) .cms-milestone-icon { align-self:start; margin-top:24px; }
.cms-product-timeline > li:nth-child(even) time { grid-row:1; align-self:end; padding:0 0 4px; }
@media(max-width:700px) {
 .cms-product-history { overflow:visible; padding:8px 0; }
 .cms-product-timeline { display:block; }
 .cms-product-timeline > li { position:relative; display:flex; flex-direction:column; padding:0 0 30px 32px; }
 .cms-product-timeline > li:last-child { padding-bottom:0; }
 .cms-product-timeline > li::before { content:''; position:absolute; top:10px; bottom:-10px; left:5px; width:2px; background:#bfd5ef; }
 .cms-product-timeline > li:last-child::before { bottom:0; }
 .cms-milestone-dot { position:absolute; left:0; top:6px; }
 .cms-milestone-dot::before { display:none; }
 .cms-product-timeline time,.cms-product-timeline > li:nth-child(even) time { order:-1; align-self:auto; text-align:left; padding:0 0 14px; }
 .cms-milestone-copy,.cms-product-timeline > li:nth-child(even) .cms-milestone-copy { width:100%; align-self:auto; padding:98px 22px 22px; }
 .cms-milestone-icon,.cms-product-timeline > li:nth-child(even) .cms-milestone-icon,.cms-product-timeline > li:nth-child(odd) .cms-milestone-icon { position:absolute; top:47px; left:54px; margin:0; }
 .cms-milestone-copy h3 { font-size:18px; }
}
.cms-product-timeline .cms-milestone-copy,.cms-product-timeline .cms-milestone-icon { grid-column:1; }

.cms-product-timeline .cms-milestone-copy { padding:26px; }
.cms-product-timeline .cms-milestone-copy .cms-milestone-icon { position:static; margin:0 0 18px; }
@media(max-width:700px) { .cms-product-timeline .cms-milestone-copy { padding:22px; } }

.cms-product-timeline > li::after { content:""; grid-row:2; grid-column:1; align-self:center; height:2px; background:#bfd5ef; margin:0 -14px; z-index:-1; }
.cms-product-timeline .cms-milestone-dot { grid-column:1; }
.cms-milestone-dot::before { display:none; }
@media(max-width:700px) { .cms-product-timeline > li::after { display:none; } }

/* Shared rich text keeps editor formatting within cards and dialogs. */
.cms-rich-text { min-width:0; max-width:100%; color:inherit; font-size:inherit; line-height:1.9; overflow-wrap:anywhere; }
.cms-rich-text > :first-child { margin-top:0; }
.cms-rich-text > :last-child { margin-bottom:0; }
.cms-rich-text p { margin:0 0 .8em; font-size:inherit; line-height:inherit; }
.cms-rich-text ul,.cms-rich-text ol { padding-left:1.5em; margin:.8em 0; }
.cms-rich-text li { margin:.3em 0; }
.cms-rich-text blockquote { margin:1em 0; padding:.5em 1em; border-left:3px solid var(--accent); background:#7d9ecb0d; }
.cms-rich-text img { max-width:100%; height:auto; }
.cms-rich-text pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.cms-milestone-copy .cms-rich-text,.cms-news-list-copy .cms-rich-text,.solution-copy .cms-rich-text { font-size:14px; }
.contact-dialog-copy #contact-dialog-description { margin-top:20px; color:#9fb0c5; font-size:14px; }
.cms-section .page-hero-inner > .cms-rich-text,.cms-content-hero .page-hero-inner > .cms-rich-text { color:#aabbd1; max-width:540px; }


/* Flight platform: display media and compact architecture cards. */
.cms-display-video { pointer-events:none!important; user-select:none; }
.cms-display-video::-webkit-media-controls { display:none!important; }
.cms-flight-media { background:#071629; border:1px solid #ffffff24; box-shadow:0 22px 60px #0003; }
.cms-flight-media > img { height:auto; aspect-ratio:auto; object-fit:cover; }
picture.cms-hero-media { background:transparent; border:0; box-shadow:none; }
picture.cms-hero-media > img { height:auto; aspect-ratio:auto; object-fit:cover; }
.cms-flight-architecture-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cms-flight-architecture-grid article { min-width:0; padding:24px; border:1px solid #d2e2f5; border-radius:18px; background:linear-gradient(135deg,#fff,#f7faff); box-shadow:0 8px 24px #153e6a06; overflow-wrap:anywhere; }
.cms-flight-architecture-title { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.cms-flight-architecture-title h3 { min-width:0; margin:0; color:#173c68; font-size:18px; line-height:1.5; letter-spacing:0; }
.cms-flight-architecture-icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:12px; color:#1678ed; background:#e8f2ff; }
.cms-flight-architecture-icon svg,.cms-flight-architecture-icon img { width:25px; height:25px; object-fit:contain; }
.cms-flight-architecture-icon svg { stroke:currentColor; fill:none; stroke-width:1.8; }
.cms-flight-architecture-grid p,.cms-flight-architecture-grid .cms-rich-text { margin:0; color:#61738b; font-size:14px; line-height:1.8; }
.cms-flight-architecture-grid .cms-flight-stack { margin:0 0 5px; color:#294c78; font-weight:500; }
.cms-flight-architecture-features { margin-top:22px; padding:20px 28px; border:1px solid #c8def8; border-radius:14px; background:linear-gradient(100deg,#e5f1ff,#f3f8ff); color:#225c9b; text-align:center; font-size:14px; font-weight:600; line-height:1.8; }
.cms-flight-architecture-features p { margin:0; }
@media(max-width:1000px) { .cms-flight-architecture-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .cms-flight-architecture-grid { grid-template-columns:1fr; gap:14px; } .cms-flight-architecture-grid article { padding:22px; } .cms-flight-architecture-features { padding:18px; text-align:left; } }

.cms-section .model-card { justify-content:center; }
.cms-product-image { max-height:none; margin:0; }
.cms-section .product-showcase:has(.cms-product-image) { grid-template-columns:1fr 1fr; }
.cms-section .model-card:has(.cms-product-image) { padding:0; min-height:0; background:transparent; }
.cms-section .model-card:has(.cms-product-image)::before { content:none; }
.cms-section .model-card .cms-product-image { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; object-fit:cover; border-radius:0; }
@media(max-width:820px) {
  .cms-section .product-showcase:has(.cms-product-image) { grid-template-columns:minmax(0,1fr); }
  .cms-section .model-card:has(.cms-product-image) { padding:0; aspect-ratio:16 / 9; }
}


.cms-advantages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}.cms-advantage{position:relative;display:flex;flex-direction:column;min-height:355px;padding:30px 26px 24px;background:white;border-radius:16px;box-shadow:1px 3px 0 #dce1ea;color:#102540}.cms-advantage>small{position:absolute;top:20px;right:22px;color:#8b9fbd;font-size:11px}.cms-advantage h3{font-size:34px;color:#2444c5;line-height:1.3;margin:0 0 8px}.cms-advantage>p{font-size:14px;color:#6c7e9d;margin:0}.cms-advantage-media{position:relative;width:min(100%,176px);height:176px;margin:18px auto 30px;display:flex;align-items:center;justify-content:center}.cms-advantage-media img{width:100%;height:100%;object-fit:cover;border-radius:6px}.cms-advantage-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:4px}.cms-advantage-badge{position:absolute;top:0;left:0;background:#2863ef;color:white;padding:4px 9px;font-size:11px;border-radius:5px}.cms-advantage-tag{margin-top:auto;align-self:flex-start;background:#e0edff;color:#3578ff;padding:5px 12px;border-radius:12px;font-size:13px}@media(max-width:1000px){.cms-advantages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cms-advantages{grid-template-columns:1fr}.cms-advantage{min-height:320px}}

.cms-annotation-item-bg{position:relative;isolation:isolate;overflow:hidden}
.cms-section .cms-annotation-item-bg h3,.cms-section .cms-annotation-item-bg p,.cms-section .cms-annotation-item-bg .text-link{color:#fff}
.cms-section .cms-annotation-item-bg .section-index{color:#bedaff}

.cms-annotation-step,.cms-format-item{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;padding:20px}.cms-annotation-item-bg{background:#102540;min-height:160px;color:white}.cms-annotation-item-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cms-annotation-item-bg:after{content:'';position:absolute;inset:0;background:#091b34a8;z-index:-1}.cms-annotation-item-copy{position:relative}.cms-annotation-item-bg h3,.cms-annotation-item-bg p{color:white}.cms-annotation-item-bg b{color:#bedaff}.cms-format-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}.cms-format-item{border:1px solid #d5e0ef;display:flex;align-items:center;justify-content:center}.cms-format-item h3{font-size:15px;margin:0}

/* Full-width task flow, with transparent nodes and larger illustrations. */
.cms-flight-diagram { margin-bottom:32px;padding:16px 0;color:#102540; }
.cms-flight-diagram-scroll { width:100%;overflow-x:auto; }
.cms-flight-diagram-map { position:relative;aspect-ratio:1000/560;width:100%;min-width:680px; }
.cms-flight-diagram-map>svg { position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.cms-flight-diagram-map g>path { fill:none;stroke:#3988ec;stroke-width:1.6;stroke-dasharray:5 5;stroke-linejoin:round; }
.cms-flight-diagram-map text { text-anchor:middle;font:15px/1.6 sans-serif;fill:#46668c;stroke:#e8eff7;stroke-width:7px;paint-order:stroke;stroke-linejoin:round; }
.cms-diagram-node { box-sizing:border-box;position:absolute;transform:translate(-50%,-50%);width:20%;height:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0; }
.cms-diagram-node img { display:block;flex:0 0 auto;width:100%;height:calc(100% - 34px);object-fit:contain;min-height:0; }
.cms-diagram-node h4 { flex-shrink:0;font-size:16px;line-height:1.5;color:#173b68;margin:10px 0 0;text-align:center;font-weight:600;overflow-wrap:anywhere; }
.cms-diagram-icon { display:grid;place-items:center;width:55%;max-height:70%;min-height:0;flex-shrink:1;aspect-ratio:1;color:#307fdf; }
.cms-diagram-icon svg { width:90%;height:90%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
@media(max-width:600px) { .cms-flight-diagram { padding:8px 0; }.cms-diagram-node h4 { font-size:13px;margin-top:6px; } }

.cms-algorithm-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cms-algorithm-card{position:relative;overflow:hidden;border:1px solid #1c394e;border-radius:16px;background:#10182f;color:#c7dbff}.cms-algorithm-card>img{display:block;width:100%;aspect-ratio:532/350;object-fit:cover}.cms-algorithm-copy{padding:22px}.cms-algorithm-copy small{position:absolute;top:18px;left:18px;border:1px solid #5ce1f477;border-radius:20px;padding:4px 12px;background:#071b2ac9;color:#8cecff}.cms-algorithm-copy h3{color:white;font-size:22px;margin:0 0 5px}.cms-algorithm-copy p{font-size:14px;line-height:1.9;color:#bdd1f6}.cms-algorithm-copy .cms-algorithm-subtitle,.cms-algorithm-copy .text-link{color:#5ae4ff}.cms-algorithm-copy .cms-algorithm-subtitle{margin-top:0;letter-spacing:2px}@media(max-width:700px){.cms-algorithm-cards{grid-template-columns:1fr}}
