/* Flyward homepage (2026-10 redesign, plan B). Scoped under .fw-home; loaded only on the two front pages (see functions.php). */
.fw-home {
  --fwh-bg: #05060a;
  --fwh-line: rgba(255, 255, 255, .09);
  --fwh-line2: rgba(255, 255, 255, .16);
  --fwh-text: #f3f5f9;
  --fwh-muted: rgba(226, 232, 245, .66);
  --fwh-dim: rgba(226, 232, 245, .44);
  --fwh-a1: #74c4f6;
  --fwh-a2: #5596f8;
  --fwh-a3: #a1d0f3;
  --fwh-grad: linear-gradient(90deg, #74c4f6 0%, #5596f8 51%, #a1d0f3 99%);
  --fwh-sans: var(--fw-sans, "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif);
  --fwh-display: var(--fw-display, "Manrope", "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif);
  --fwh-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  background: var(--fwh-bg);
  color: var(--fwh-text);
  font-family: var(--fwh-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
/* the Elementor container that holds the [flyward_home] shortcode: no padding or gap, so the hero sits flush under the header */
body .e-con:has(> .elementor-widget-shortcode .fw-home) { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; padding: 0; }
.fw-home *, .fw-home *::before, .fw-home *::after { box-sizing: border-box; }
.fw-home h1, .fw-home h2, .fw-home h3, .fw-home h4, .fw-home p, .fw-home ul, .fw-home li { margin: 0; padding: 0; }
.fw-home a { color: inherit; text-decoration: none; }
.fw-home a:hover { color: inherit; }
.fw-home img { display: block; max-width: 100%; height: auto; }
.fwh-wrap { width: min(1280px, calc(100% - 160px)); margin: 0 auto; }
/* background-clip:text only paints inside the box; pad the box so descenders (g, y, p) of tight headlines are not cut off */
.fwh-grad { background: var(--fwh-grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .14em; margin-bottom: -.14em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.fwh-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 600 12.5px/1 var(--fwh-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--fwh-a3); }
.fwh-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--fwh-a1); box-shadow: 0 0 12px var(--fwh-a1); }
.fw-home .fwh-h2 { font: 700 48px/1.12 var(--fwh-display); letter-spacing: -.025em; color: var(--fwh-text); }
.fw-home .fwh-lead { font: 400 18px/1.7 var(--fwh-sans); color: var(--fwh-muted); }
.fwh-btn { display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 26px; border-radius: 999px; font: 600 15px/1 var(--fwh-sans); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.fwh-btn svg { width: 16px; height: 16px; transition: transform .2s ease; }
.fwh-btn:hover svg { transform: translateX(3px); }
.fw-home .fwh-btn--pri { background: #fff; color: #05060a; }
.fw-home .fwh-btn--pri:hover { background: #e8f2fc; color: #05060a; }
.fw-home .fwh-btn--sec { border: 1px solid var(--fwh-line2); color: #fff; background: rgba(255, 255, 255, .04); backdrop-filter: blur(8px); }
.fw-home .fwh-btn--sec:hover { border-color: rgba(116, 196, 246, .55); color: #fff; }
.fwh-link { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1 var(--fwh-sans); color: #fff; }
.fwh-link svg { width: 15px; height: 15px; color: var(--fwh-a1); transition: transform .2s ease; }
.fwh-link:hover svg { transform: translateX(3px); }

/* ---------- hero ---------- */
.fwh-hero { position: relative; height: clamp(720px, 100vh, 1000px); overflow: hidden; background: var(--fwh-bg); }
.fwh-hero__bg { position: absolute; inset: 0; }
.fw-home .fwh-hero__bg img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 60% 50%; transform: scale(1.02); }
.fwh-hero__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5, 6, 10, .92) 0%, rgba(5, 6, 10, .70) 34%, rgba(5, 6, 10, .18) 66%, rgba(5, 6, 10, .10) 100%), linear-gradient(180deg, rgba(5, 6, 10, .55) 0%, rgba(5, 6, 10, 0) 22%, rgba(5, 6, 10, 0) 62%, #05060a 100%); }
.fwh-hero__in { position: relative; z-index: 2; padding-top: clamp(170px, 26vh, 250px); }
.fw-home .fwh-h1 { font: 700 66px/1.06 var(--fwh-display); letter-spacing: -.024em; margin: 26px 0 28px; color: #fff; }
.fwh-h1 > span { display: block; }
.fwh-nb { display: inline-block; }
.fw-home h1, .fw-home h2, .fw-home h3 { text-wrap: balance; }
.fw-home .fwh-big { text-wrap: pretty; }
.fw-home .fwh-sub { max-width: 600px; font: 400 20px/1.6 var(--fwh-sans); color: rgba(236, 240, 250, .78); }
.fwh-ctas { display: flex; gap: 14px; margin-top: 40px; flex-wrap: wrap; }
.fwh-idx { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; border-top: 1px solid rgba(255, 255, 255, .12); background: rgba(5, 6, 10, .42); backdrop-filter: blur(14px); }
.fwh-idx .fwh-wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.fwh-idx a { display: block; padding: 26px 28px 30px; border-left: 1px solid rgba(255, 255, 255, .08); transition: background .2s ease; }
.fwh-idx a:first-child { border-left: 0; padding-left: 0; }
.fwh-idx a:hover { background: rgba(116, 196, 246, .05); }
.fwh-idx b { display: block; font: 600 12px/1 var(--fwh-mono); color: var(--fwh-a1); letter-spacing: .06em; margin-bottom: 12px; }
.fwh-idx strong { display: block; font: 600 16px/1.3 var(--fwh-sans); margin-bottom: 6px; color: #fff; }
.fwh-idx small { display: block; font: 400 14px/1.5 var(--fwh-sans); color: var(--fwh-dim); }

/* ---------- statement ---------- */
.fwh-stmt { padding: 150px 0 120px; }
.fw-home .fwh-big { margin-top: 30px; max-width: 1120px; font: 600 44px/1.28 var(--fwh-display); letter-spacing: -.022em; color: rgba(226, 232, 245, .42); }
.fwh-big em { font-style: normal; color: #fff; }
.fwh-aud { margin-top: 84px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--fwh-line); }
.fwh-aud div { padding: 26px 28px 0 0; }
.fwh-aud b { display: block; font: 600 12px/1 var(--fwh-mono); color: var(--fwh-dim); letter-spacing: .06em; margin-bottom: 14px; }
.fwh-aud span { font: 600 19px/1.35 var(--fwh-sans); }

/* ---------- stack (3D layers drawn by fw3d.js; the poster shows until WebGL is running) ---------- */
.fwh-stack-sec { padding: 110px 0 120px; border-top: 1px solid var(--fwh-line); background: radial-gradient(900px 500px at 26% 58%, rgba(85, 150, 248, .10), transparent 70%); }
.fwh-stack-sec .fwh-head { max-width: 760px; }
.fwh-stack-sec .fwh-h2 { margin: 22px 0 20px; }
.fwh-stack-grid { display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 60px; margin-top: 70px; align-items: center; }
.fwh-stack3d { position: relative; height: 720px; background: url(img/stack-poster.webp) center / contain no-repeat; }
.fwh-stack3d.is-live { background: none; }
.fw-home[lang="zh-CN"] .fwh-stack3d:not(.is-live) { background-image: url(img/stack-poster-zh.webp); }
.fwh-stack3d__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.fwh-lab { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 10px; font: 600 12px/1 var(--fwh-mono); letter-spacing: .08em; color: var(--fwh-dim); white-space: nowrap; pointer-events: none; opacity: 0; transition: color .3s ease, opacity .4s ease; }
.fwh-lab::before { content: ""; width: 26px; height: 1px; background: rgba(116, 196, 246, .5); }
.fwh-stack3d.is-live .fwh-lab { opacity: 1; }
.fwh-lab.is-hot { color: var(--fwh-a3); }
.fwh-layers { border-top: 1px solid var(--fwh-line); }
.fwh-layer { display: grid; grid-template-columns: 56px 1fr 24px; gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--fwh-line); align-items: start; transition: background .25s ease; }
.fwh-layer b { font: 600 13px/1.6 var(--fwh-mono); color: var(--fwh-a1); }
.fw-home .fwh-layer h3 { font: 650 21px/1.3 var(--fwh-display); letter-spacing: -.01em; margin-bottom: 6px; color: #fff; }
.fw-home .fwh-layer p { font: 400 15px/1.6 var(--fwh-sans); color: var(--fwh-muted); }
.fwh-layer i { font-style: normal; display: inline-block; margin-left: 10px; padding: 4px 8px; border: 1px solid var(--fwh-line2); border-radius: 999px; font: 600 10.5px/1 var(--fwh-sans); letter-spacing: .12em; color: var(--fwh-dim); vertical-align: 3px; }
.fwh-layer svg { width: 20px; height: 20px; color: var(--fwh-dim); margin-top: 4px; transition: transform .2s ease, color .2s ease; }
.fwh-layer.is-hot { background: linear-gradient(90deg, rgba(116, 196, 246, .07), transparent 70%); }
.fwh-layer.is-hot svg { color: var(--fwh-a1); }
.fwh-layer:hover svg { transform: translateX(3px); }

/* ---------- product rows ---------- */
.fwh-prod { padding: 120px 0; border-top: 1px solid var(--fwh-line); }
.fwh-row { display: grid; grid-template-columns: 7fr 5fr; gap: 84px; align-items: center; }
.fwh-row + .fwh-row { margin-top: 150px; }
.fwh-row--rev { grid-template-columns: 5fr 7fr; }
.fwh-row--rev .fwh-shot { order: 2; }
.fwh-shot { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--fwh-line2); background: #0b0e14; aspect-ratio: 16 / 10; box-shadow: 0 50px 120px rgba(0, 0, 0, .55); }
.fw-home .fwh-shot > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fwh-shot > svg { width: 100%; height: 100%; display: block; }
.fwh-shot--3d { background: url(img/auto-poster.webp) center / cover no-repeat, radial-gradient(700px 400px at 50% 30%, #0c1a33 0%, #070b16 50%, #05070d 80%); }
.fwh-shot--3d.is-live { background: radial-gradient(700px 400px at 50% 30%, #0c1a33 0%, #070b16 50%, #05070d 80%); }
.fwh-auto3d { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.fwh-cap { position: absolute; left: 16px; bottom: 16px; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 8px; background: rgba(5, 6, 10, .62); backdrop-filter: blur(10px); font: 500 12px/1 var(--fwh-mono); letter-spacing: .03em; color: var(--fwh-a3); border: 1px solid var(--fwh-line); }
.fwh-cap::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #43e08a; box-shadow: 0 0 10px #43e08a; }
.fwh-cap--top { top: 16px; bottom: auto; }
.fwh-corner { position: absolute; z-index: 2; width: 22px; height: 22px; border: 1.5px solid rgba(161, 208, 243, .8); }
.fwh-corner--l { left: 14px; top: 14px; border-right: 0; border-bottom: 0; }
.fwh-corner--r { right: 14px; top: 14px; border-left: 0; border-bottom: 0; }
.fwh-pip { position: absolute; z-index: 2; right: 18px; width: 36%; border-radius: 10px; overflow: hidden; border: 1px solid rgba(161, 208, 243, .4); box-shadow: 0 24px 60px rgba(0, 0, 0, .65); background: #05060a; }
.fwh-pip--tr { top: 56px; }
.fwh-pip--br { bottom: 18px; width: 34%; }
.fw-home .fwh-pip img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.fwh-pip .fwh-cap { position: static; margin: 0; border: 0; border-radius: 0; border-top: 1px solid var(--fwh-line); background: rgba(5, 6, 10, .85); padding: 9px 11px; font-size: 11px; }
.fwh-txt .fwh-num { display: flex; align-items: center; gap: 14px; font: 600 13px/1 var(--fwh-mono); color: var(--fwh-a1); letter-spacing: .06em; }
.fwh-txt .fwh-num::after { content: ""; flex: 1; height: 1px; background: var(--fwh-line); }
.fwh-nm { margin-top: 20px; font: 600 13px/1 var(--fwh-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--fwh-dim); }
.fw-home .fwh-txt h3 { margin: 14px 0 18px; font: 700 38px/1.15 var(--fwh-display); letter-spacing: -.025em; color: #fff; }
.fw-home .fwh-txt p { font: 400 17px/1.7 var(--fwh-sans); color: var(--fwh-muted); }
.fwh-caps { margin: 28px 0 34px; border-top: 1px solid var(--fwh-line); list-style: none; }
.fw-home .fwh-caps li { list-style: none; display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--fwh-line); font: 500 15.5px/1.4 var(--fwh-sans); color: #fff; }
.fwh-caps li::before { content: ""; flex: none; width: 8px; height: 8px; border: 1.5px solid var(--fwh-a1); transform: rotate(45deg); }

/* line-art animation */
.fwh-art .m { stroke-dasharray: 520; stroke-dashoffset: 520; transition: stroke-dashoffset 1.6s ease; transition-delay: calc(var(--i) * 70ms); }
.is-in .fwh-art .m { stroke-dashoffset: 0; }
.fwh-art .pulse { transform-box: fill-box; transform-origin: center; animation: fwh-pulse 2.6s ease-in-out infinite; }
@keyframes fwh-pulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }

/* ---------- aircraft ---------- */
.fwh-air { padding: 120px 0; border-top: 1px solid var(--fwh-line); }
.fwh-air .fwh-top { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.fwh-air .fwh-h2 { max-width: 820px; margin-top: 22px; }
.fwh-air .fwh-top p { max-width: 420px; }
.fwh-grid-ac { margin-top: 60px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--fwh-line); border-left: 1px solid var(--fwh-line); }
.fwh-grid-ac div { height: 168px; border-right: 1px solid var(--fwh-line); border-bottom: 1px solid var(--fwh-line); display: flex; flex-direction: column; justify-content: space-between; padding: 24px; transition: background .2s ease; }
.fwh-grid-ac div:hover { background: rgba(116, 196, 246, .04); }
.fw-home .fwh-grid-ac img { height: 48px; width: auto; max-width: 120px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); opacity: .9; align-self: flex-start; }
.fwh-grid-ac span { font: 500 15px/1.35 var(--fwh-sans); color: rgba(236, 240, 250, .86); }
.fwh-uses { margin-top: 56px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.fwh-uses em { font-style: normal; font: 600 12px/1 var(--fwh-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--fwh-dim); margin-right: 12px; }
.fwh-uses span { padding: 11px 16px; border-radius: 999px; border: 1px solid var(--fwh-line2); font: 500 14px/1 var(--fwh-sans); color: rgba(236, 240, 250, .86); }

/* ---------- partners ---------- */
.fwh-partners { border-top: 1px solid var(--fwh-line); border-bottom: 1px solid var(--fwh-line); }
.fwh-partners .fwh-wrap { display: flex; align-items: center; gap: 70px; height: 130px; }
.fwh-partners em { font-style: normal; font: 600 12px/1 var(--fwh-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--fwh-dim); }
.fw-home .fwh-partners img { height: 60px; width: auto; filter: grayscale(1) brightness(1.6); opacity: .75; }

/* ---------- insights ---------- */
.fwh-ins { padding: 120px 0; }
.fwh-ins .fwh-top { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.fwh-ins .fwh-h2 { margin-top: 22px; }
.fwh-cards { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.fwh-card .fwh-im { aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; border: 1px solid var(--fwh-line); }
.fw-home .fwh-card .fwh-im img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fw-home .fwh-card:hover .fwh-im img { transform: scale(1.03); }
.fwh-card .fwh-meta { margin-top: 22px; font: 600 12px/1 var(--fwh-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--fwh-dim); }
.fw-home .fwh-card h3 { margin-top: 12px; font: 650 21px/1.35 var(--fwh-display); letter-spacing: -.012em; color: #fff; }

/* ---------- cta ---------- */
.fwh-cta { position: relative; margin: 0 auto 120px; width: min(1280px, calc(100% - 160px)); border-radius: 28px; overflow: hidden; border: 1px solid var(--fwh-line2); padding: 96px 80px; background: radial-gradient(700px 360px at 85% 0%, rgba(85, 150, 248, .28), transparent 70%), radial-gradient(600px 300px at 10% 120%, rgba(116, 196, 246, .16), transparent 70%), #080b13; }
.fwh-cta::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 48px), repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 48px); -webkit-mask: radial-gradient(800px 400px at 80% 20%, #000, transparent 75%); mask: radial-gradient(800px 400px at 80% 20%, #000, transparent 75%); }
.fwh-cta > * { position: relative; }
.fw-home .fwh-cta h2 { margin-top: 22px; font: 700 54px/1.1 var(--fwh-display); letter-spacing: -.03em; max-width: 760px; color: #fff; }
.fwh-cta .fwh-lead { margin-top: 20px; max-width: 560px; }

/* ---------- zh tweaks ---------- */
.fw-home[lang="zh-CN"] .fwh-h1 { letter-spacing: 0; font-size: 62px; line-height: 1.18; }
.fw-home[lang="zh-CN"] .fwh-big { letter-spacing: 0; font-size: 40px; line-height: 1.5; }
.fw-home[lang="zh-CN"] .fwh-h2, .fw-home[lang="zh-CN"] .fwh-txt h3, .fw-home[lang="zh-CN"] .fwh-cta h2 { letter-spacing: 0; }
.fw-home[lang="zh-CN"] .fwh-eyebrow { letter-spacing: .12em; }
.fw-home[lang="zh-CN"] .fwh-stack-sec .fwh-head { max-width: 920px; }
.fw-home[lang="zh-CN"] .fwh-lead, .fw-home[lang="zh-CN"] .fwh-txt p, .fw-home[lang="zh-CN"] .fwh-layer p { line-height: 1.85; }

/* ---------- narrow desktop 1200–1359 ---------- */
@media (max-width: 1359px) {
  .fwh-stack-grid { grid-template-columns: 540px minmax(0, 1fr); gap: 44px; }
  .fwh-stack3d { height: 660px; }
  .fwh-row { gap: 64px; }
}

/* ---------- tablet 768–1199 ---------- */
@media (max-width: 1199px) {
  .fwh-wrap, .fwh-cta { width: calc(100% - 64px); }
  .fw-home .fwh-h1 { font-size: 54px; }
  .fw-home[lang="zh-CN"] .fwh-h1 { font-size: min(62px, 6.2vw); }
  .fwh-hero__shade { background: linear-gradient(90deg, rgba(5, 6, 10, .94) 0%, rgba(5, 6, 10, .74) 45%, rgba(5, 6, 10, .28) 78%, rgba(5, 6, 10, .16) 100%), linear-gradient(180deg, rgba(5, 6, 10, .55) 0%, rgba(5, 6, 10, 0) 22%, rgba(5, 6, 10, 0) 62%, #05060a 100%); }
  .fwh-idx a { padding: 22px 18px 24px; }
  /* landscape tablets keep two columns, just tighter */
  .fwh-stack-grid { grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 36px; margin-top: 56px; }
  .fwh-stack3d { height: 560px; }
  .fwh-row { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 44px; }
  .fwh-row--rev { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .fwh-row + .fwh-row { margin-top: 120px; }
  .fw-home .fwh-txt h3 { font-size: 30px; }
  .fw-home .fwh-txt p { font-size: 16px; }
  .fwh-caps { margin: 22px 0 28px; }
  .fw-home .fwh-caps li { padding: 12px 0; font-size: 15px; }
  .fwh-grid-ac div { height: 150px; padding: 18px; }
  .fwh-air .fwh-top { flex-direction: column; align-items: start; gap: 16px; }
  .fwh-cta { padding: 72px 48px; }
}

/* ---------- portrait tablet 768–899: single column ---------- */
@media (max-width: 899px) {
  .fwh-stack-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .fwh-stack3d { width: 600px; max-width: 100%; height: 720px; margin: 0 auto; }
  .fwh-row, .fwh-row--rev { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .fwh-row--rev .fwh-shot { order: 0; }
  .fwh-row + .fwh-row { margin-top: 110px; }
  .fwh-txt { max-width: 640px; }
  .fw-home .fwh-txt h3 { font-size: 32px; }
}

/* ---------- phone ≤767 ---------- */
@media (max-width: 767px) {
  .fwh-wrap, .fwh-cta { width: calc(100% - 40px); }
  .fwh-hero { height: auto; }
  .fw-home .fwh-hero__bg img { object-position: 50% 50%; transform: none; }
  .fwh-hero__shade { background: linear-gradient(180deg, rgba(5, 6, 10, .55) 0%, rgba(5, 6, 10, .35) 30%, rgba(5, 6, 10, .88) 62%, #05060a 100%); }
  .fwh-hero__in { padding-top: 300px; }
  .fw-home .fwh-h1, .fw-home[lang="zh-CN"] .fwh-h1 { font-size: 38px; line-height: 1.12; margin: 18px 0; }
  .fw-home[lang="zh-CN"] .fwh-h1 { font-size: 34px; line-height: 1.3; }
  .fw-home .fwh-sub { font-size: 16.5px; }
  .fwh-ctas { flex-direction: column; gap: 10px; margin-top: 28px; }
  .fwh-ctas .fwh-btn { justify-content: center; }
  .fwh-idx { position: relative; margin-top: 44px; background: transparent; backdrop-filter: none; }
  .fwh-idx .fwh-wrap { grid-template-columns: 1fr 1fr; }
  .fwh-idx a { padding: 20px 14px 22px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .08); }
  .fwh-idx a:nth-child(2n) { padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .08); }
  .fwh-idx strong { font-size: 15px; }
  .fwh-idx small { font-size: 13px; }
  .fwh-stmt { padding: 84px 0 70px; }
  .fw-home .fwh-big, .fw-home[lang="zh-CN"] .fwh-big { font-size: 26px; line-height: 1.4; }
  .fwh-aud { grid-template-columns: 1fr 1fr; margin-top: 48px; }
  .fwh-aud div { padding: 20px 12px 18px 0; }
  .fwh-aud span { font-size: 16px; }
  .fw-home .fwh-h2 { font-size: 31px; }
  .fw-home .fwh-lead { font-size: 16px; }
  .fwh-stack-sec { padding: 80px 0; }
  .fwh-stack-grid { gap: 20px; margin-top: 30px; }
  .fwh-stack3d { width: 100%; height: 420px; background-image: url(img/stack-poster-m.webp); }
  .fw-home[lang="zh-CN"] .fwh-stack3d:not(.is-live) { background-image: url(img/stack-poster-m-zh.webp); }
  .fwh-lab { display: none; }
  .fwh-layer { grid-template-columns: 40px 1fr; padding: 20px 0; }
  .fwh-layer svg { display: none; }
  .fw-home .fwh-layer h3 { font-size: 18px; }
  .fw-home .fwh-layer p { font-size: 14.5px; }
  .fwh-prod { padding: 80px 0; }
  .fwh-row, .fwh-row--rev { gap: 28px; }
  .fwh-row + .fwh-row { margin-top: 84px; }
  .fw-home .fwh-txt h3 { font-size: 28px; }
  .fw-home .fwh-txt p { font-size: 16px; }
  .fwh-cap--top { display: none; }
  .fwh-pip, .fwh-pip--br { width: 44%; right: 12px; }
  .fwh-pip--br { bottom: 12px; }
  .fwh-pip .fwh-cap { display: none; }
  .fwh-air { padding: 80px 0; }
  .fwh-grid-ac { grid-template-columns: 1fr 1fr; margin-top: 36px; }
  .fwh-grid-ac div { height: 70px; padding: 0 14px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; }
  .fw-home .fwh-grid-ac img { height: 24px; max-width: 46px; flex: none; align-self: center; }
  .fwh-grid-ac span { font-size: 13px; }
  .fwh-uses { gap: 8px; }
  .fwh-uses em { width: 100%; margin-bottom: 6px; }
  .fwh-uses span { font-size: 13px; padding: 9px 13px; }
  .fwh-partners .fwh-wrap { height: auto; padding: 26px 0; gap: 22px; }
  .fw-home .fwh-partners img { height: 30px; }
  .fwh-ins { padding: 80px 0; }
  .fwh-ins .fwh-top { flex-direction: column; align-items: start; gap: 18px; }
  .fwh-cards { grid-template-columns: 1fr; gap: 34px; margin-top: 34px; }
  .fwh-cta { margin-bottom: 80px; padding: 48px 24px; border-radius: 20px; }
  .fw-home .fwh-cta h2 { font-size: 32px; }
  .fwh-cta .fwh-ctas { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .fwh-art .pulse { animation: none; }
  .fwh-art .m { transition: none; stroke-dashoffset: 0; }
}
