/* 康护邦官网 v3 动效层 — 叠加在 styles.css + v2.css 之后 */
:root { --ease-out: cubic-bezier(.22, 1, .36, 1); --ease-spring: cubic-bezier(.34, 1.56, .64, 1); }

/* ---------- 滚动进场（IntersectionObserver 加 .in） ---------- */
.v3 .v3r {
  opacity: 0;
  transition: opacity .9s var(--ease-out), transform 1s var(--ease-out), clip-path 1.2s var(--ease-out), box-shadow .35s, border-color .35s, background-color .35s;
  transition-delay: calc(var(--si, 0) * 90ms);
}
.v3 .v3r[data-r="up"] { transform: translate3d(0, 44px, 0); }
.v3 .v3r[data-r="left"] { transform: translate3d(-48px, 0, 0); }
.v3 .v3r[data-r="scale"] { transform: scale(.9) translate3d(0, 30px, 0); }
.v3 .v3r[data-r="wipe"] { opacity: 1; clip-path: inset(14% 10% 14% 10% round 28px); }
.v3 .v3r[data-r="wipe"] img { transform: scale(1.22); transition: transform 1.6s var(--ease-out); }
.v3 .v3r.in { opacity: 1; transform: none; }
.v3 .v3r[data-r="wipe"].in { clip-path: inset(0 0 0 0 round 24px); }
.v3 .v3r[data-r="wipe"].in img { transform: scale(1); }
.v3 .chips .v3r { transform: translate3d(0, 16px, 0) scale(.85); transition-delay: calc(var(--si, 0) * 60ms); }
.v3 .chips .v3r.in { transform: none; }
/* 进场结束后去掉错峰延迟，避免悬停反应变慢 */
.v3 .v3r.v3-done { transition-delay: 0s !important; }

/* ---------- 首页 Hero ---------- */
.v3 .hero__img {
  transition: none;
  transform: scale(1.06);
  animation: v3kb 28s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes v3kb {
  0% { transform: scale(1.06) translate3d(0, 0, 0); }
  100% { transform: scale(1.2) translate3d(-2.5%, -1.5%, 0); }
}
.v3 .hero__media { will-change: transform; }
.hero__fx { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero__fx .orb { position: absolute; border-radius: 50%; will-change: transform; }
.hero__fx .orb--a { width: 62vw; height: 62vw; left: -18vw; bottom: -38vw; background: radial-gradient(circle, rgba(31, 154, 138, .55), transparent 62%); animation: v3orbA 16s ease-in-out infinite alternate; }
.hero__fx .orb--b { width: 46vw; height: 46vw; left: 22vw; top: -26vw; background: radial-gradient(circle, rgba(27, 127, 168, .5), transparent 62%); animation: v3orbB 19s ease-in-out infinite alternate; }
.hero__fx .orb--c { width: 30vw; height: 30vw; right: 6vw; bottom: 4vw; background: radial-gradient(circle, rgba(143, 224, 210, .22), transparent 65%); animation: v3orbA 13s ease-in-out infinite alternate-reverse; }
@keyframes v3orbA { 0% { transform: translate3d(0, 0, 0) scale(1); } 100% { transform: translate3d(12vw, -6vw, 0) scale(1.18); } }
@keyframes v3orbB { 0% { transform: translate3d(0, 0, 0) scale(1); } 100% { transform: translate3d(-10vw, 8vw, 0) scale(.85); } }
.hero__fx .sweep {
  position: absolute; top: -20%; bottom: -20%; left: 0; width: 26%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .13) 45%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .13) 55%, transparent);
  transform: translate3d(-150%, 0, 0) skewX(-18deg);
  animation: v3sweep 9s var(--ease-out) 2.2s infinite;
}
@keyframes v3sweep { 0% { transform: translate3d(-150%, 0, 0) skewX(-18deg); } 45%, 100% { transform: translate3d(520%, 0, 0) skewX(-18deg); } }

/* 进场顺序：玻璃品牌卡 → 标题逐字 → 正文 → 按钮（JS 接管前先藏好，避免首帧闪现） */
.v3:not(.v3-ready) .hero .reveal, .v3:not(.v3-ready) .page-hero .reveal { opacity: 0; }
.v3 .v3-intro { opacity: 0; transform: translate3d(0, 30px, 0); filter: blur(10px); transition: none; }
.v3-ready .v3-intro {
  opacity: 1; transform: none; filter: none;
  transition: opacity 1s var(--ease-out), transform 1.1s var(--ease-out), filter 1s var(--ease-out);
}
.v3-ready .hero .brand-lockup.v3-intro { transition-delay: .15s; }
.v3-ready .hero__lead.v3-intro { transition-delay: 1.3s; }
.v3-ready .hero__actions.v3-intro { transition-delay: 1.5s; }
.v3-ready .page-hero .eyebrow.v3-intro { transition-delay: .1s; }
.v3-ready .page-hero p.v3-intro { transition-delay: .7s; }
.v3-ready .page-hero p.v3-intro + p.v3-intro { transition-delay: .85s; }
.v3-ready .page-hero p.v3-intro + p.v3-intro + p.v3-intro { transition-delay: 1s; }
.v3 .hero__title.v3-intro, .v3 .page-hero h1.v3-intro { opacity: 1; transform: none; filter: none; }
.v3 h1 .ch {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, .55em, 0) rotate(6deg);
  filter: blur(8px);
  transition: opacity .8s var(--ease-out), transform .9s var(--ease-out), filter .8s var(--ease-out);
  transition-delay: calc(.35s + var(--i) * 45ms);
}
.v3-ready h1 .ch { opacity: 1; transform: none; filter: none; }
.v3 .hero__title .ch { text-shadow: 0 2px 24px rgba(0, 20, 30, .25); }

/* 漂浮玻璃品牌卡 */
.v3 .hero .glass-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,255,255,.2), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.32);
  box-shadow: 0 18px 40px -16px rgba(0, 20, 30, .5), inset 0 1px 0 rgba(255,255,255,.35);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  animation: v3float 6s ease-in-out 1.4s infinite;
}
.v3 .hero .glass-card::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.45) 50%, transparent 65%);
  transform: translateX(-120%);
  animation: v3cardshine 6s ease-in-out 1.8s infinite;
}
@keyframes v3float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
@keyframes v3cardshine { 0% { transform: translateX(-120%); } 35%, 100% { transform: translateX(120%); } }
.v3 .hero__scroll { animation: floatY 2.4s ease-in-out infinite, v3fadeIn 1s 2.2s both; }
.v3 .hero__scroll::after { background: none; position: relative; }
.v3 .hero__scroll::before {
  content: ''; position: absolute; left: 50%; bottom: 20px; width: 4px; height: 7px; margin-left: -2px;
  border-radius: 2px; background: #fff; animation: v3wheel 1.8s ease-in-out infinite;
}
@keyframes v3wheel { 0% { transform: translateY(-8px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(4px); opacity: 0; } }
@keyframes v3fadeIn { from { opacity: 0; } }

/* ---------- 导航与进度条 ---------- */
.v3 .nav { transition: background .45s var(--ease-out), box-shadow .45s, height .45s var(--ease-out), color .3s, backdrop-filter .45s; }
.v3 .nav.is-solid { height: 62px; }
.v3 .progress { height: 3px; box-shadow: 0 0 12px rgba(31, 154, 138, .7); border-radius: 0 3px 3px 0; }

/* ---------- 按钮：流光 + 磁吸 + 按压 + 水波纹 ---------- */
.v3 .btn, .v3 .nav__cta {
  position: relative; overflow: hidden; isolation: isolate;
  transition: transform .3s var(--ease-out), translate .35s var(--ease-out), box-shadow .3s, background .3s, border-color .3s;
}
.v3 .btn:active, .v3 .nav__cta:active { transform: scale(.95); transition-duration: .1s; }
.v3 .btn--primary::before, .v3 .btn--solid::before, .v3 .nav__cta::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform: translateX(-130%) skewX(-20deg);
  animation: v3shimmer 3.8s ease-in-out infinite;
}
.v3 body[data-page="home"] .nav:not(.is-solid) .nav__cta::before { opacity: .5; }
@keyframes v3shimmer { 0%, 30% { transform: translateX(-130%) skewX(-20deg); } 70%, 100% { transform: translateX(330%) skewX(-20deg); } }
.v3 .btn--primary:hover, .v3 .btn--solid:hover { box-shadow: 0 18px 36px -12px rgba(27, 127, 168, .85), 0 0 0 4px rgba(27, 127, 168, .14); }
.v3 .btn--line:hover, .v3 .btn--ghost:hover { box-shadow: 0 12px 26px -12px rgba(27, 127, 168, .45); }
.ripple {
  position: absolute; border-radius: 50%; pointer-events: none; z-index: -1;
  background: radial-gradient(circle, rgba(255,255,255,.55) 0, rgba(255,255,255,.2) 40%, transparent 70%);
  transform: scale(0); animation: v3ripple .7s var(--ease-out) forwards;
}
.btn--line .ripple { background: radial-gradient(circle, rgba(27,127,168,.25), transparent 70%); }
@keyframes v3ripple { to { transform: scale(1); opacity: 0; } }

/* ---------- 卡片：悬浮抬升 + 跟随光斑 + 聚光描边 ---------- */
.v3-card { position: relative; isolation: isolate; overflow: hidden; }
.v3 .v3-card { transition: transform .9s var(--ease-out), box-shadow .45s var(--ease-out), border-color .35s, opacity .9s var(--ease-out); transition-delay: calc(var(--si, 0) * 90ms); }
.v3 .v3-card.v3-done { transition-duration: .5s, .45s, .35s, .9s; }
.v3-glow {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2;
  opacity: 0; transition: opacity .4s;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%), rgba(27, 127, 168, .11), transparent 60%);
}
.v3-glow::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px;
  background: radial-gradient(220px circle at var(--mx, 50%) var(--my, 0%), rgba(27, 127, 168, .85), rgba(31, 154, 138, .35) 40%, transparent 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.svc--hi .v3-glow, .compare__col--new .v3-glow, .region__points .v3-glow {
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .22), transparent 60%);
}
.svc--hi .v3-glow::after, .compare__col--new .v3-glow::after, .region__points .v3-glow::after {
  background: radial-gradient(220px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .9), transparent 70%);
}
.v3-card.is-hover .v3-glow { opacity: 1; }
.v3 .v3-card.is-hover:not(.svc):not(.stat) { transform: translateY(-5px); box-shadow: 0 2px 6px rgba(16,42,60,.05), 0 26px 50px -22px rgba(16,42,60,.28); }
.v3 .svc { transform-style: preserve-3d; will-change: transform; }
.v3 .svc.is-hover { box-shadow: 0 2px 6px rgba(16,42,60,.06), 0 40px 70px -30px rgba(16,42,60,.4); transition: transform .12s linear, box-shadow .4s; }
.v3 .svc--hi.is-hover { box-shadow: 0 40px 70px -26px rgba(27, 127, 168, .8); }
.v3 .svc .svc__ico { transition: transform .5s var(--ease-spring); }
.v3 .svc.is-hover .svc__ico { transform: translateZ(30px) scale(1.08) rotate(-6deg); }
.v3 .stat.is-hover { background: #F7FBFD; }

/* ---------- 数字统计：滚动计数 + 下划线生长 ---------- */
.v3 .stat { position: relative; }
.v3 .stat > b { position: relative; }
.v3 .stat > small::before {
  content: ''; display: block; width: 36px; height: 3px; border-radius: 3px; margin: 0 auto .65rem;
  background: var(--grad); transform: scaleX(0); transition: transform 1.1s var(--ease-out) .35s;
}
.v3 .stat.in > small::before { transform: scaleX(1); }
.v3 .stat.v3r[data-r="up"] { transform: translate3d(0, 24px, 0) scale(.96); }
.v3 .stat.v3r.in { transform: none; }

/* ---------- 跑马灯 ---------- */
.v3-marquee .marquee__viewport {
  -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.v3-marquee .marquee__track.is-ready { animation-duration: calc(var(--marquee-duration, 36s) * .85); }
.v3-marquee span { transition: color .3s; }
.v3-marquee:hover span { color: var(--brand); }

/* ---------- 手机样机漂浮 ---------- */
.v3 .device-photo { animation: v3phone 6s ease-in-out infinite; }
.v3 .wx-entry__visual img { animation: v3phone 6.5s ease-in-out 1.2s infinite; }
@keyframes v3phone { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-16px) rotate(-1deg); } }
.v3 .device-stage__glow, .v3 .wx-entry__visual::before { animation: v3pulse 6s ease-in-out infinite; }
.v3 .wx-entry__visual { position: relative; }
.v3 .wx-entry__visual::before {
  content: ''; position: absolute; left: 10%; right: 10%; top: 20%; bottom: 10%; z-index: -1; border-radius: 50%;
  background: radial-gradient(circle, rgba(27, 127, 168, .3), transparent 70%); filter: blur(20px);
}
@keyframes v3pulse { 0%, 100% { transform: scale(.88); opacity: .7; } 50% { transform: scale(1.12); opacity: 1; } }

/* ---------- FAQ ---------- */
.v3 .faq details { overflow: hidden; transition: border-color .3s, box-shadow .3s, transform .3s var(--ease-out); }
.v3 .faq details:hover { transform: translateY(-2px); border-color: #CFE2EC; }
.v3 .faq summary::after { transition: transform .45s var(--ease-spring), background-color .3s; }
.v3 .faq details.is-closing summary::after { transform: rotate(0); background-color: var(--brand-50); }

/* ---------- 对比：描线对勾 / 叉号 ---------- */
.v3 .compare__col li::before { display: none; }
.v3 .compare__col li { padding-left: 2.2rem; }
.compare__col .mk {
  position: absolute; left: 0; top: 50%; width: 22px; height: 22px; margin-top: -11px;
  fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; overflow: visible;
}
.compare__col .mk circle { stroke-dasharray: 66; stroke-dashoffset: 66; transition: stroke-dashoffset .8s var(--ease-out); transition-delay: calc(.35s + var(--li) * .22s); }
.compare__col .mk path { stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .5s var(--ease-out); transition-delay: calc(.7s + var(--li) * .22s); }
.compare__col .mk path + path { transition-delay: calc(.85s + var(--li) * .22s); }
.compare__col--old .mk { stroke: #A0ACB8; }
.compare__col--old .mk circle { fill: #F3F5F8; stroke: #D5DCE3; }
.compare__col--new .mk { stroke: #fff; }
.compare__col--new .mk circle { fill: rgba(255,255,255,.16); stroke: rgba(255,255,255,.55); }
.compare__col--new .mk path { stroke-width: 2.6; }
.compare__col.in .mk circle, .compare__col.in .mk path { stroke-dashoffset: 0; }
.v3 .compare__col li { transition: opacity .6s, transform .6s var(--ease-out); transition-delay: calc(.3s + var(--li) * .22s); }
.v3 .compare__col:not(.in) li { opacity: 0; transform: translateX(-10px); }

/* ---------- 底部 CTA：流动渐变 ---------- */
.v3 .cta-band {
  background: linear-gradient(120deg, #135F80, #1B7FA8, #1F9A8A, #1A8C9E, #156E93);
  background-size: 320% 320%;
  animation: v3grad 14s ease-in-out infinite;
}
.v3 .cta-band::before, .v3 .cta-band::after {
  content: ''; position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
}
.v3 .cta-band::before { width: 520px; height: 520px; top: -260px; right: -120px; background: radial-gradient(circle, rgba(143, 224, 210, .45), transparent 65%); animation: v3orbB 12s ease-in-out infinite alternate; }
.v3 .cta-band::after { width: 460px; height: 460px; bottom: -240px; left: -120px; background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 65%); animation: v3orbA 15s ease-in-out infinite alternate; }
.v3 .cta-band > * { position: relative; z-index: 1; }
@keyframes v3grad { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.v3 .cta-band .qr-slot__box { animation: v3float 5s ease-in-out infinite; }

/* ---------- 服务区域视差 ---------- */
.v3 .region__bg img { transform: scale(1.18); will-change: transform; }

/* ---------- 内页：流动渐变网格头图 ---------- */
.page-hero .mesh { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.page-hero .mesh span { position: absolute; border-radius: 50%; filter: blur(40px); opacity: .85; will-change: transform; }
.page-hero .mesh span:nth-child(1) { width: 520px; height: 520px; left: -140px; top: -200px; background: rgba(27, 127, 168, .32); animation: v3mesh1 14s ease-in-out infinite alternate; }
.page-hero .mesh span:nth-child(2) { width: 460px; height: 460px; right: -80px; top: -140px; background: rgba(31, 154, 138, .3); animation: v3mesh2 17s ease-in-out infinite alternate; }
.page-hero .mesh span:nth-child(3) { width: 380px; height: 380px; left: 40%; bottom: -220px; background: rgba(143, 224, 210, .4); animation: v3mesh3 12s ease-in-out infinite alternate; }
.page-hero .mesh span:nth-child(4) { width: 300px; height: 300px; left: 18%; top: 20%; background: rgba(120, 190, 230, .25); animation: v3mesh2 19s ease-in-out infinite alternate-reverse; }
@keyframes v3mesh1 { to { transform: translate3d(260px, 120px, 0) scale(1.25); } }
@keyframes v3mesh2 { to { transform: translate3d(-240px, 140px, 0) scale(.8); } }
@keyframes v3mesh3 { to { transform: translate3d(-200px, -90px, 0) scale(1.3); } }
.page-hero__inner { position: relative; z-index: 1; }
.v3 .page-hero::after { animation: v3spin 60s linear infinite; z-index: 0; }
@keyframes v3spin { to { transform: rotate(360deg); } }
.v3 .content h2::before { transform-origin: top; transform: scaleY(0); transition: transform .8s var(--ease-out) .25s; }
.v3 .content h2.in::before { transform: scaleY(1); }

/* ---------- 触屏：关掉悬停类效果，保留进场与循环动效 ---------- */
@media (hover: none) {
  .v3-glow { display: none; }
}
@media (max-width: 720px) {
  .hero__fx .orb--a { width: 120vw; height: 120vw; left: -40vw; bottom: -60vw; }
  .hero__fx .orb--b { width: 90vw; height: 90vw; left: 20vw; top: -40vw; }
  .page-hero .mesh span { filter: blur(30px); }
  .v3 .v3r[data-r="left"] { transform: translate3d(0, 36px, 0); }
}

/* ---------- 减少动态效果：全部静止、直接显示 ---------- */
@media (prefers-reduced-motion: reduce) {
  .v3 *, .v3 *::before, .v3 *::after { animation: none !important; transition: none !important; }
  .v3 .v3r, .v3 .v3-intro, .v3 h1 .ch, .v3 .compare__col li { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
  .v3 .v3r img { transform: none !important; }
  .compare__col .mk circle, .compare__col .mk path { stroke-dashoffset: 0 !important; }
  .hero__fx, .page-hero .mesh { display: none; }
  .v3 .stat > small::before { transform: none; }
}

/* 离开视口的循环动效暂停，省电省帧 */
.v3-paused, .v3-paused *, .v3-paused::before, .v3-paused::after, .v3-paused *::before, .v3-paused *::after { animation-play-state: paused !important; }

/* ======================================================================
   v3.1 — 四项服务 + 排版细节打磨
   ====================================================================== */
/* 中文断行：标题均衡换行、段落避免末行孤字、标点不出现在行首 */
body { line-break: strict; word-break: normal; overflow-wrap: break-word; }
h1, h2, h3, .section__title, .region__title, .cta-band h2, .page-hero h1, .point__title, .faq summary { text-wrap: balance; }
p, li, dd, .section__lead, .hero__lead { text-wrap: pretty; }

/* 四张服务卡：桌面 4 列、平板 2×2、手机单列；卡片等高，要点区底部对齐 */
.services__grid { grid-template-columns: 1fr; gap: 1.25rem; align-items: stretch; }
@media (min-width: 640px) { .services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1180px) { .services__grid { grid-template-columns: repeat(4, 1fr); gap: 1.1rem; } }
.svc { display: flex; flex-direction: column; height: 100%; }
.svc ul { margin-top: auto; }
.svc p { flex: 0 0 auto; }
@media (min-width: 1180px) {
  .svc { padding: 1.75rem 1.5rem 1.6rem; }
  .svc h3 { font-size: 1.28rem; }
  .svc p { font-size: 0.94rem; }
  .svc__no { top: 1.45rem; right: 1.4rem; }
}

/* 排版打磨：均衡换行（短段落 / 居中导语 / 小字说明） */
.section__head--center .section__lead, .cta-band > p, .page-hero p, .stat small, .svc li,
.feature-list span, .wx-entry__steps span, .info-card p, .qr-slot__hint, .cta-band__legal, .region__lead { text-wrap: balance; }
.nw { white-space: nowrap; }

/* 区块节奏：同底色相邻区块不叠加两份留白 */
.section:not(.section--sand):not(.region) + .section:not(.section--sand) { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.section--sand + .section--sand { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
/* 灰底区块原来左右留白加了两次（手机上卡片比别的区块窄） */
.section--sand { padding-inline: 0; }

/* 服务卡：用 subgrid 让图标、标题、正文、要点四行在同一排卡片里对齐 */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 640px) {
    .services__grid { grid-auto-rows: auto; row-gap: 0; }
    .services__grid > .svc { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; margin-bottom: 1.25rem; }
    .services__grid > .svc ul { margin-top: 0; align-self: start; }
    .services__grid > .svc p { align-self: start; }
  }
}

/* 左右两栏区块统一比例与间距（小程序区、微信入口区、规范区、为什么区） */
@media (min-width: 960px) {
  .product__layout, .wx-entry { grid-template-columns: 1.1fr 0.9fr; gap: 4rem; }
}
@media (min-width: 900px) {
  .why__grid, .std__grid { gap: 4rem; }
}

/* 三张信息卡（关于我们·技术能力）桌面改三列，不再剩一张孤卡 */
@media (min-width: 900px) {
  .info-cards:has(> .info-card:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
}
.info-cards > .info-card { height: 100%; }

/* 联系我们：三步卡铺满正文宽度 */
.content .cta-band__steps { max-width: none !important; }

/* 手机：内页头图文字与下方白卡里的正文左对齐 */
@media (max-width: 720px) {
  .page-hero { padding-inline: 2rem; }
  .content { width: calc(100% - 1.5rem); padding-inline: 1.25rem; }
}
/* 窄卡片里的要点按自然断行（均衡换行会把「不」之类单字甩到行尾） */
.svc li { text-wrap: pretty; }
