/* ============================================================
   CtoH 营到家官网样式
   1. 全局变量和基础样式  2. 导航及首屏  3. 内容模块
   4. 动效  5. 响应式布局
   桌面稿1920px；移动最小稿1468px。小于1468px保留布局并横向滚动。
   修改品牌色、内容宽度、字号可从下方变量开始。
   ============================================================ */
:root {
  --blue: #1b55bb;
  --blue-text: #235eab;
  --orange: #ff6900;
  --green: #6cc148;
  --body-text: #252525;
  --muted: #929292;
  --content-width: 1440px;
  --min-layout-width: 1468px;
  /* 1468稿首屏边距52px，1920稿边距240px，中间宽度平滑插值。 */
  --hero-inset: clamp(52px, calc(52px + (100vw - 1468px) * 0.415929), 240px);
  --header-height: clamp(78px, 149.76px, 150px);
  --section-space: clamp(45px, 78.72px, 80px);
  --heading-size: clamp(27px, 49.92px, 50px);
  --body-size: clamp(14px, 24px, 24px);
  --ease: cubic-bezier(.2, .7, .3, 1);
}
* { box-sizing: border-box; }
html { min-width: var(--min-layout-width); scroll-behavior: smooth; scroll-padding-top: var(--header-height); }
body { min-width: var(--min-layout-width); margin: 0; overflow-x: auto; color: var(--body-text); background: #fff; font: var(--body-size)/1.55 "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
figure, h1, h2, h3, h4, p { margin: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #eda446; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(var(--content-width), calc(100% - 24px)); margin-inline: auto; }
.section { padding-block: var(--section-space); scroll-margin-top: calc(var(--header-height) + 16px); }
.section-title { color: var(--blue-text); text-align: center; font-size: var(--heading-size); font-weight: 700; line-height: 1.3; }
.section-subtitle { margin-top: 8px; color: var(--muted); font-size: clamp(13px, 24px, 24px); text-align: center; line-height: 1.7; }
.title-orange { color: var(--orange); }
.section-blue { background-color: var(--blue); color: white; }
.section-blue .section-title, .section-blue .section-subtitle { color: white; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -100px; background: white; color: var(--blue); padding: 12px 20px; border-radius: 5px; }
.skip-link:focus { top: 12px; }

/* ---------- 导航与首屏 ---------- */
.site-header { min-width: var(--min-layout-width); position: fixed; inset: 0 0 auto; z-index: 50; height: var(--header-height); color: var(--blue-text); transition: height .35s, background .35s, box-shadow .35s; }
.header-inner { width: calc(100% - 2 * var(--hero-inset)); max-width: 1440px; height: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: clamp(9px, 11.52px, 12px); white-space: nowrap; }
.brand img { width: clamp(74px, 120.96px, 121px); flex-shrink: 0; }
.brand span { font-size: clamp(16px, 32.064px, 32px); letter-spacing: -1px; }
.primary-nav { display: flex; align-items: center; gap: clamp(22px, 48px, 48px); }
.primary-nav a { position: relative; padding: 12px 0; white-space: nowrap; font-size: clamp(12px, 18.048px, 18px); }
.primary-nav a::after { content: ""; position: absolute; bottom: 4px; inset-inline: 0; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.primary-nav a:hover::after, .primary-nav a.is-active::after { transform: scaleX(1); }
.site-header.is-scrolled { height: 78px; background: rgb(255 255 255 / 95%); backdrop-filter: blur(16px); box-shadow: 0 1px 15px #173b6614; }
.site-header.is-scrolled .brand img { width: 80px; }
.site-header.is-scrolled .brand span { font-size: 20px; }
.menu-toggle { display: none; }
.hero { position: relative; min-height: 510px; height: min(908.001px, 908px); overflow: hidden; color: #174f9b; }
.hero-background { position: absolute; inset: 0; background: #93b8e4 url("assets/hero-background.webp") center / cover no-repeat; animation: hero-background-enter 1.8s var(--ease) both; }
.hero-inner { width: calc(100% - 2 * var(--hero-inset)); max-width: 1440px; height: 100%; position: relative; }
.hero-content { padding-top: clamp(160px, 240px, 240px); max-width: 66%; }
.hero-eyebrow { font-size: clamp(26px, 57.984px, 58px); line-height: 1.35; font-weight: 400; }
.hero h1 { font-size: clamp(27px, 60px, 60px); letter-spacing: -1px; line-height: 1.32; white-space: nowrap; font-weight: 800; }
.hero-lead { margin-top: clamp(14px, 21.12px, 22px); font-size: clamp(16px, 29.952px, 30px); font-weight: 600; }
.hero-description { font-size: clamp(11px, 19.968px, 20px); margin-top: 4px; white-space: nowrap; }
.hero-tags { display: flex; gap: clamp(12px, 30.72px, 31px); margin-top: clamp(23px, 44.16px, 44px); }
.hero-tags a { background: var(--blue); color: white; padding: clamp(6px, 8.64px, 9px) clamp(12px, 21.12px, 21px); border-radius: 7px; font-size: clamp(12px, 19.968px, 20px); transition: transform .3s, background .3s; white-space: nowrap; }
.hero-tags a:hover { background: #0f459e; transform: translateY(-3px); }
.hero-actions { display: flex; gap: clamp(26px, 51.84px, 52px); margin-top: clamp(34px, 78.72px, 79px); }
.button { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-width: clamp(135px, 176.064px, 176px); min-height: 29px; font-size: clamp(12px, 19.968px, 20px); line-height: 1.25; padding: 5px 24px; border-radius: 50px; border: 1px solid #d9d5c4; color: #8d8d7c; transition: transform .3s, box-shadow .3s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 6px 16px #153f6520; }
.button-peach { background: linear-gradient(#ffc0a3, #ffe8d1); }
.button-silver { background: linear-gradient(#fff, #f4f4e9 40%, #c8caca); }
.scroll-cue { position: absolute; bottom: 19px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; color: #225594; font-size: 10px; letter-spacing: 3px; opacity: .65; }
.scroll-cue i { display: block; width: 7px; height: 7px; margin-top: 7px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); animation: scroll-cue 2s infinite; }

/* ---------- 减重困扰与套餐矩阵 ---------- */
.pitfalls { background: #feffff; padding-bottom: clamp(45px, 88.32px, 90px); }
.pitfall-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(28px, 57.6px, 58px) 24px; width: 75%; margin: clamp(25px, 49.92px, 50px) auto 0; }
.pitfall img { width: 100%; aspect-ratio: 1.5; object-fit: cover; border-radius: 8px; transition: transform .45s var(--ease); }
.pitfall:hover img { transform: translateY(-5px); }
.pitfall figcaption { text-align: center; font-size: clamp(11px, 19.968px, 20px); color: #7f7f7f; margin-top: clamp(12px, 25.92px, 26px); white-space: nowrap; }
.products { background-image: url("assets/matrix-background.webp"); background-size: cover; background-position: center; }
.table-scroll { margin-top: clamp(25px, 49.92px, 50px); overflow-x: auto; }
.product-table { border-collapse: collapse; table-layout: fixed; width: 100%; color: white; font-size: clamp(12px, 24px, 24px); }
.product-table th, .product-table td { border: 1px solid #ffffff79; padding: clamp(12px, 23.04px, 23px) clamp(10px, 44.16px, 44px); vertical-align: top; font-weight: 400; text-align: left; }
.product-table th:first-child { width: 13%; padding-inline: 18px; text-align: center; }
.product-table thead { background: linear-gradient(90deg, #e8a440, #ffe5a6, #e8a440); color: #181818; }
.product-table thead th { font-weight: 700; text-align: center; padding-block: 20px; }
.product-table small { display: block; font-weight: 400; }
.table-prices td { padding: 20px 12px; text-align: center; }
.table-prices td a { display: inline-flex; flex-direction: column; align-items: center; margin: 0 3px; }
.table-prices small { display: inline-block; background: #fff; color: var(--blue); border-radius: 12px; padding: 0 8px; font-size: clamp(9px, 14.4px, 14px); font-weight: 600; }
.table-prices b { font-size: clamp(27px, 57.984px, 58px); line-height: 1.2; letter-spacing: -2px; }
.table-prices em { font-style: normal; display: inline-flex; background: white; color: var(--blue); border-radius: 50%; width: 22px; height: 22px; font-size: 15px; align-items: center; justify-content: center; margin-right: 3px; vertical-align: middle; letter-spacing: 0; }
.table-prices a:hover { opacity: .8; }

/* ---------- 三组套餐 ---------- */
.plans { padding-top: 35px; padding-bottom: 30px; }
.plan-group { margin-bottom: clamp(35px, 51.84px, 52px); scroll-margin-top: 98px; }
.plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(25px, 49.92px, 50px); margin-top: 25px; }
.plan-card { background: #fff; box-shadow: 0 4px 20px #54281a20; border: 1px solid #f6efea; border-radius: 11px; padding: clamp(24px, 40.32px, 40px); display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.plan-card:hover { transform: translateY(-4px); box-shadow: 0 9px 25px #54281a25; }
.plan-card header { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 24px; }
.plan-card header > h3 { min-width: 0; overflow-wrap: anywhere; }
.plan-card h3 { font-size: clamp(18px, 32.064px, 32px); font-weight: 700; line-height: 1.4; }
.price { color: var(--orange); font-size: clamp(32px, 59.52px, 60px); font-weight: 700; line-height: 1; letter-spacing: -1.5px; white-space: nowrap; }
.price span { display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; background: var(--orange); color: white; border-radius: 50%; font-size: 14px; margin-right: 2px; vertical-align: middle; letter-spacing: 0; }
.check-list { list-style: none; padding: 0; margin: 0; font-size: clamp(13px, 19.968px, 20px); }
.check-list li { position: relative; padding-left: 23px; margin-bottom: 12px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #171717; color: white; font-size: 11px; line-height: 16px; text-align: center; }
.plan-suitable, .plan-extra { font-size: clamp(12px, 19.968px, 20px); margin-top: 14px; }
.plan-suitable { margin-top: auto; padding-top: 25px; }
.plan-cta { align-self: center; margin-top: 17px; }
.day-benefits { width: 94%; margin: 20px auto 30px; font-size: clamp(13px, 19.968px, 20px); }
.day-benefits h3 { color: var(--blue-text); font-size: clamp(19px, 32.064px, 32px); margin-bottom: 12px; }
.day-benefits ul { list-style: none; padding: 0; margin: 0; }
.day-benefits li { margin: 12px 0; position: relative; padding-left: 25px; }
.day-benefits li::before { content: ""; position: absolute; width: 12px; height: 12px; border: 4px solid var(--blue-text); border-radius: 50%; top: 6px; left: 0; }
.plan-promise { color: var(--blue-text); text-align: center; font-weight: 700; font-size: clamp(15px, 27.84px, 28px); }

/* ---------- 品牌理念与六项保障 ---------- */
.brand-panel { background: white; color: #303030; border-radius: 8px; padding: clamp(25px, 65.28px, 65px); margin-top: 42px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 55px; align-items: center; }
.brand-panel h3 { font-size: clamp(20px, 32.064px, 32px); color: var(--blue-text); }
.panel-description { color: #9b9b9b; font-size: clamp(12px, 19.968px, 20px); margin-bottom: 22px; }
.brand-panel .check-list li::before { background: var(--blue-text); }
.brand-images { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.brand-images img { width: 100%; border-radius: 7px; }
.guarantee { padding-bottom: clamp(65px, 138.24px, 138px); }
.guarantee-grid { width: 84%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px 40px; margin: 60px auto 0; }
.guarantee-card { background: linear-gradient(105deg, #f7f5ff, #f2fbfd); border: 2px solid #e5e5ef; border-radius: 35px; text-align: center; padding: clamp(25px, 44.16px, 44px) 20px; }
.guarantee-card img { margin: 0 auto 22px; height: clamp(65px, 119.04px, 119px); width: auto; object-fit: contain; }
.guarantee-card h3 { font-size: clamp(21px, 34.56px, 35px); }
.guarantee-card p { color: #b4bcc1; font-size: clamp(14px, 25.92px, 26px); margin-top: 14px; line-height: 1.8; }

/* ---------- 效果稳定与专业团队 ---------- */
.stability { padding-block: 45px; }
.result-image { width: 100%; border-radius: 22px; margin-top: 22px; }
.stability-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 25px; }
.stability-grid article { background: #fff; color: #111; text-align: center; border-radius: 4px; padding: 15px 7px; position: relative; }
.stability-grid article::before { content: ""; position: absolute; left: calc(50% - 10px); top: -10px; width: 20px; height: 20px; transform: rotate(45deg); background: white; }
.stability-grid h3 { font-size: clamp(18px, 32.064px, 32px); position: relative; }
.stability-grid p { color: #686868; font-size: clamp(13px, 25.92px, 26px); line-height: 1.25; margin-top: 5px; }
.team { position: relative; background-image: url("assets/team-background.webp"); background-size: cover; background-position: center; min-height: min(1682.88px, 1683px); padding-top: clamp(65px, 115.2px, 116px); padding-bottom: 55px; }
.team .section-subtitle { line-height: 2; margin-top: 20px; }
.team-portraits-space { height: clamp(300px, 700.8px, 701px); }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 17px; width: 78%; margin-inline: auto; }
.team-card { display: flex; align-items: center; gap: 20px; background: #ffffffdf; color: #111; border-radius: 24px; padding: 28px 40px; }
.team-card img { width: clamp(60px, 94.08px, 94px); border-radius: 8px; }
.team-card h3 { font-size: clamp(23px, 39.936px, 40px); line-height: 1.3; }
.team-card p { color: #626262; font-size: clamp(16px, 27.84px, 28px); white-space: nowrap; }
.team-note { text-align: center; margin-top: 28px; font-size: clamp(14px, 25.92px, 26px); }

/* ---------- 十步闭环流程 ---------- */
.process-section { background: linear-gradient(110deg, #eef0ff, #eaf6ff); }
.process-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 35px; }
.process-column { --stage-color: var(--green); }
.stage-orange { --stage-color: var(--orange); }
.process-column > h3 { color: var(--stage-color); font-size: clamp(19px, 39.936px, 40px); text-align: center; line-height: 1.4; white-space: nowrap; }
.stage-label { display: flex; justify-content: center; align-items: center; gap: 25px; color: var(--stage-color); font-size: clamp(23px, 39.936px, 40px); font-weight: 700; margin-top: 20px; }
.stage-label::before, .stage-label::after { content: ""; height: 1px; width: 26%; background: currentColor; opacity: .7; }
.process-column ol { padding: 0; margin: 25px 0 0; list-style: none; display: grid; gap: 38px; }
.process-step { display: flex; border-radius: 110px; background: white; padding-right: 10px; overflow: hidden; }
.process-icon { width: 26%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--stage-color); }
.process-icon img { width: 67%; max-height: 105px; object-fit: contain; }
.step-copy { flex: 1; position: relative; padding: 18px 8px 18px 20px; border: 5px solid var(--stage-color); border-left: none; border-radius: 0 100px 100px 0; margin: 7px 0; }
.step-time { position: absolute; right: -4px; top: -9px; color: white; background: var(--stage-color); font-size: clamp(14px, 27.84px, 28px); line-height: 1.3; padding: 3px 16px; border-radius: 30px; }
.step-copy h4 { font-size: clamp(19px, 36.864px, 37px); line-height: 1.3; margin-right: 30px; }
.step-copy p { color: #4f4f4f; font-size: clamp(13px, 27.84px, 28px); line-height: 1.35; }
.process-note { font-size: clamp(12px, 24px, 24px); text-align: center; margin-top: 40px; }

/* ---------- 七维管理：底图保留原始几何轮廓，文字可编辑 ---------- */
.dimension-wheel { width: min(1158px, 83%); aspect-ratio: 1158/1132; position: relative; margin: 65px auto 0; }
.wheel-background { position: absolute; inset: 0; width: 100%; height: 100%; }
.wheel-center { position: absolute; left: 35%; right: 35%; top: 42%; text-align: center; color: var(--orange); font-size: clamp(26px, 61.44px, 62px); font-weight: 300; line-height: 1.4; }
.dimension { position: absolute; width: 22%; height: 25%; color: white; }
.dimension-number { position: absolute; font-size: clamp(22px, 48px, 48px); line-height: 1; font-weight: 300; }
.dimension img { position: absolute; width: 42%; height: 42%; object-fit: contain; }
.dimension h3 { font-size: clamp(15px, 32.064px, 32px); line-height: 1.3; }
.dimension p { font-size: clamp(12px, 24px, 24px); line-height: 1.4; }
.dimension-1 { left: 55%; top: 5%; }.dimension-1 .dimension-number { top: 0; left: 0; }.dimension-1 img { right: -30%; top: 27%; }.dimension-1 div { position: absolute; top: 47%; width: 87%; }
.dimension-2 { left: 73%; top: 29%; }.dimension-2 .dimension-number { right: 20%; top: 0; }.dimension-2 img { right: -10%; bottom: -20%; }.dimension-2 div { position: absolute; top: 38%; }
.dimension-3 { left: 67%; top: 62%; }.dimension-3 .dimension-number { right: -15%; top: 15%; }.dimension-3 img { bottom: -18%; left: 20%; }.dimension-3 div { position: absolute; top: 15%; width: 80%; }
.dimension-4 { left: 41%; top: 78%; }.dimension-4 .dimension-number { right: -1%; bottom: 24%; }.dimension-4 img { left: -30%; bottom: 20%; }.dimension-4 div { width: 83%; }
.dimension-5 { left: 18%; top: 71%; }.dimension-5 .dimension-number { left: 20%; bottom: 30%; }.dimension-5 img { left: -60%; top: -30%; }.dimension-5 div { width: 90%; position: absolute; top: -10%;}
.dimension-6 { left: 10%; top: 37%; }.dimension-6 .dimension-number { left: -30%; bottom: 30%; }.dimension-6 img { left: -15%; top: -45%; }.dimension-6 div { position: absolute; width: 80%; }
.dimension-7 { left: 29%; top: 7%; }.dimension-7 .dimension-number { left: -50%; top: 33%; }.dimension-7 img { right: 13%; top: -18%; }.dimension-7 div { position: absolute; top: 39%; width: 80%; }

/* ---------- 改善主题、APP与页脚 ---------- */
.outcomes { background: #f7f9fc; padding-bottom: 85px; }
.outcome-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; margin-top: 100px; }
.outcome-card { border: 1px solid #c5c5c5; text-align: center; padding: 80px 10px 14px; position: relative; }
.outcome-card img { width: 58%; position: absolute; left: 21%; top: 0; transform: translateY(-50%); }
.outcome-card h3 { color: var(--blue-text); font-size: clamp(15px, 27.84px, 28px); }
.outcome-card p { color: #949494; font-size: clamp(11px, 19.968px, 20px); line-height: 1.3; }
.app-section { background: #fffcf8 url("assets/app-background.webp") center / cover no-repeat; min-height: min(1420.8px, 1420px); }
.app-features { display: grid; gap: clamp(24px, 62.4px, 62px); width: 46%; margin-top: clamp(105px, 211.2px, 211px); padding-left: 3.5%; }
.app-feature { background: #fffafa; border-radius: 100px; padding: 24px 33px; display: flex; align-items: center; gap: 25px; box-shadow: 0 6px 20px #63432b29; }
.app-feature img { width: 18%; height: clamp(60px, 96px, 96px); flex-shrink: 0; object-fit: contain; }
.app-feature h3 { color: var(--orange); font-size: clamp(20px, 34.56px, 35px); }
.app-feature p { font-size: clamp(11px, 19.968px, 20px); color: #969696; line-height: 1.3; }
.contact-banner { background: var(--orange); text-align: center; color: white; padding-block: clamp(50px, 99.84px, 100px); }
.contact-banner h2 { font-size: clamp(27px, 49.92px, 50px); line-height: 1.5; }
.contact-banner p { font-size: clamp(13px, 25.92px, 26px); margin: 8px 0 14px; }
.contact-banner .button { color: #8b8b83; font-size: clamp(14px, 27.84px, 28px); }
.site-footer { background: var(--blue); color: #9ab4e0; padding-block: clamp(45px, 69.12px, 70px); font-size: clamp(12px, 19.968px, 20px); scroll-margin-top: 90px; }
.footer-grid { display: grid; grid-template-columns: 2fr .7fr 1.6fr 1.6fr; gap: 60px; }
.footer-brand { color: white; margin-bottom: 38px; }
.footer-brand img { width: 75px; }
.footer-brand span { font-size: clamp(13px, 22.08px, 22px); letter-spacing: 0; }
.site-footer h3 { color: white; font-size: clamp(14px, 22.08px, 22px); margin-bottom: 20px; }
.site-footer a:not(.brand):not(.inline-link) { display: block; margin-bottom: 6px; }
.site-footer p { line-height: 1.8; }
.site-footer a:hover { color: white; }
.back-to-top { position: fixed; right: 24px; bottom: 24px; z-index: 40; border: 1px solid #ffffffb3; border-radius: 50%; width: 44px; height: 44px; font-size: 23px; background: var(--blue); color: white; box-shadow: 0 4px 16px #14346930; transition: transform .25s; }
.back-to-top:hover { transform: translateY(-3px); }

/* ---------- 入场与滚动渐显，关闭JS仍可阅读全部内容 ---------- */
.hero-enter { animation: hero-enter 1.15s var(--ease) both; }
.hero-content > :nth-child(2) { animation-delay: .15s; }
.hero-content > :nth-child(3) { animation-delay: .3s; }
.hero-content > :nth-child(4) { animation-delay: .4s; }
.hero-content > :nth-child(5) { animation-delay: .55s; }
.hero-content > :nth-child(6) { animation-delay: .7s; }
.js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes hero-enter { from { opacity: 0; transform: translateY(25px); } to { opacity: 1; transform: none; } }
@keyframes hero-background-enter { from { opacity: .6; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@keyframes scroll-cue { 50% { transform: translateY(5px) rotate(45deg); } }


/* ---------- 1468px 最小稿到 1920px 桌面稿 ----------
   原移动稿宽1468px，高15630px。其字体、卡片与栏目没有变为手机单列。
   不设置 800px / 1200px 断点；宽度不足1468时横向滚动。
   首屏、团队、APP在较窄布局中使用移动稿对应的原始切图。
   ----------------------------------------------------- */
@media (max-width: 1919px) {
  .hero { height: 909px; }
  .hero-background { background-image: url("assets/hero-background-min.webp"); background-position: right top; }
  .hero-content { max-width: 70%; }
  .products { background-image: none; }
  .process-column > h3 { font-size: 36px; }
  .team { background-image: url("assets/team-background-min.webp"); }
  .app-section { background-image: url("assets/app-background-min.webp"); min-height: 1417px; }
}
/* 最小宽度以内仍按1468px画布排版：不缩字号、不隐藏导航、不改列数。 */
@media (max-width: 1468px) {
  :root { --hero-inset: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}
