/* 送水通公司官网 2026-10 刷新 · 首页（只在首页加载；令牌来自 refresh-shell.css；色值只用品牌标准色） */
.rf-home { color:var(--rf-text); overflow-x:clip; }
.rf-home .container { width:var(--sst-wide); margin-inline:auto; }
.rf-home h1, .rf-home h2, .rf-home h3, .rf-home h4, .rf-home h5 { letter-spacing:0; }
.rf-home svg { flex-shrink:0; }

/* ---------- 通用：板块、标题、图标、卡片、链接 ---------- */
.rf-section { position:relative; padding-block:clamp(64px,7vw,128px); }
.rf-band { background:linear-gradient(180deg,rgba(234,242,255,.6) 0%,rgba(234,242,255,.28) 100%); }
.rf-heading { max-width:880px; margin:0 auto clamp(32px,3.6vw,64px); text-align:center; }
.rf-heading::before { content:""; display:block; width:24px; height:4px; margin:0 auto 16px; border-radius:var(--rf-r-pill); background:var(--rf-grad); }
.rf-heading h2 { margin:0; color:var(--rf-ink); font-size:var(--rf-fs-h2); font-weight:700; line-height:1.3; }
.rf-subheading { margin:0 0 clamp(24px,2.4vw,32px); color:var(--rf-ink); font-size:clamp(20px,.6vw + 14px,28px); font-weight:700; line-height:1.4; text-align:center; }

.rf-icon { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:var(--rf-r-sm); background:var(--rf-grad); color:#fff; box-shadow:0 6px 14px rgba(22,119,255,.24); flex-shrink:0; }
.rf-icon svg { width:20px; height:20px; }
.rf-icon-lg { width:48px; height:48px; }
.rf-icon-lg svg { width:24px; height:24px; }
.rf-icon-white { background:rgba(255,255,255,.18); box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); }

.rf-card {
    background:#fff; border:1px solid var(--rf-line); border-radius:var(--rf-r-lg); box-shadow:var(--rf-shadow-sm);
    transition:transform .3s var(--rf-ease),box-shadow .3s var(--rf-ease),border-color .3s;
}
.rf-card:hover, a.rf-card:focus-visible { transform:translateY(-4px); box-shadow:var(--rf-shadow-lg); border-color:var(--rf-line-blue); }
.rf-home a { text-decoration:none; }
.rf-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--rf-blue); font-size:15px; font-weight:600; transition:gap .2s var(--rf-ease),color .2s; }
.rf-link svg { width:16px; height:16px; }
.rf-link:hover, a:hover > .rf-link, a:hover .rf-link { gap:12px; }
.rf-link-muted { display:inline-flex; align-items:center; min-height:44px; color:var(--rf-text-3); font-size:14px; transition:color .2s; }
.rf-link-muted:hover { color:var(--rf-blue); }
.rf-center-link { display:flex; justify-content:center; margin-top:clamp(32px,3vw,48px); }
.rf-badge { display:inline-flex; align-items:center; padding:0 8px; border-radius:var(--rf-r-pill); background:rgba(255,163,26,.18); color:var(--rf-ink); font-size:12px; font-style:normal; font-weight:600; line-height:1.9; }

/* ---------- 1 首屏 ---------- */
.rf-hero {
    position:relative; overflow:hidden; margin-top:calc(var(--rf-header-h) * -1); padding-top:var(--rf-header-h);
    background:
        radial-gradient(56% 64% at 76% 42%,rgba(105,177,255,.26) 0%,rgba(105,177,255,0) 70%),
        radial-gradient(40% 50% at 6% 4%,rgba(234,242,255,.95) 0%,rgba(234,242,255,0) 70%),
        linear-gradient(180deg,rgba(234,242,255,.85) 0%,rgba(234,242,255,.35) 62%,#FFFFFF 100%);
}
.rf-hero-inner {
    display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,64px);
    min-height:clamp(560px,calc(100svh - var(--rf-header-h) - 64px),920px); padding-block:clamp(48px,5vw,96px);
}
.rf-hero-title { margin:0; color:var(--rf-ink); font-size:clamp(40px,3vw + 16px,88px); font-weight:800; line-height:1.16; }
.rf-hero-line { display:block; }
.rf-hero-accent { background:linear-gradient(90deg,#1677FF 0%,#4096FF 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rf-hero-lead { max-width:32em; margin:24px 0 0; text-wrap:balance; word-break:keep-all; color:var(--rf-text-2); font-size:clamp(16px,.5vw + 11px,22px); line-height:1.85; }
.rf-hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:clamp(32px,3vw,48px); }
.rf-hero-copy > * { animation:rf-rise .6s var(--rf-ease) both; }
.rf-hero-copy > :nth-child(2) { animation-delay:.08s; }
.rf-hero-copy > :nth-child(3) { animation-delay:.16s; }

.rf-hero-art { position:relative; width:100%; max-width:min(100%,clamp(520px,40vw,900px)); aspect-ratio:1 / 1; justify-self:center; }
.rf-hero-stage { position:absolute; inset:0; pointer-events:none; }
.rf-orb {
    position:absolute; inset:9% 9% 15%; border-radius:50%;
    background:radial-gradient(circle at 34% 28%,#FFFFFF 0%,rgba(234,242,255,.95) 28%,rgba(182,210,255,.7) 66%,rgba(105,177,255,.5) 100%);
    box-shadow:inset 0 -24px 64px rgba(22,119,255,.14),inset 0 16px 32px rgba(255,255,255,.7),0 40px 96px rgba(22,119,255,.16);
}
.rf-ripple { position:absolute; left:50%; bottom:5%; border:1.5px solid rgba(22,119,255,.26); border-radius:50%; translate:-50% 50%; animation:rf-ripple 6s var(--rf-ease) infinite; }
.rf-ripple-1 { width:40%; height:8%; }
.rf-ripple-2 { width:60%; height:12%; opacity:.62; animation-delay:.6s; }
.rf-ripple-3 { width:82%; height:16%; opacity:.34; animation-delay:1.2s; }
.rf-drop { position:absolute; width:16px; height:16px; border-radius:50% 0 50% 50%; background:var(--rf-grad); rotate:-45deg; opacity:.85; box-shadow:0 6px 12px rgba(22,119,255,.24); animation:rf-float-sm 5s ease-in-out infinite; }
.rf-drop-1 { top:12%; left:20%; }
.rf-drop-2 { top:8%; right:22%; width:10px; height:10px; opacity:.6; animation-delay:-1.6s; }
.rf-drop-3 { top:58%; right:6%; width:12px; height:12px; opacity:.7; animation-delay:-3.2s; }
.rf-mascot {
    position:absolute; left:0; right:0; bottom:7%; margin:0 auto; width:auto; height:82%; max-width:none;
    filter:drop-shadow(0 24px 32px rgba(21,28,46,.16)); animation:rf-pop .8s var(--rf-ease) .1s both,rf-float 6s ease-in-out 1s infinite;
}
.rf-chips { margin:0; padding:0; list-style:none; }
.rf-chip {
    position:absolute; display:flex; align-items:center; gap:12px; padding:8px 24px 8px 8px;
    border:1px solid rgba(255,255,255,.9); border-radius:var(--rf-r); background:rgba(255,255,255,.88);
    -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:var(--rf-shadow-lg);
    color:var(--rf-ink); font-size:clamp(14px,.4vw + 10px,18px); font-weight:700; white-space:nowrap;
    animation:rf-chip-in .6s var(--rf-ease) calc(.3s + var(--rf-i,0) * 80ms) both,rf-float-sm 6s ease-in-out calc(var(--rf-i,0) * -2s) infinite;
}
.rf-chip-1 { top:20%; left:-2%; }
.rf-chip-2 { top:46%; right:0; }
.rf-chip-3 { bottom:14%; left:4%; }

/* ---------- 2 滚动能力条 ---------- */
.rf-ticker {
    position:relative; overflow:hidden; padding-block:16px; border-block:1px solid var(--rf-line); background:rgba(255,255,255,.8);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.rf-ticker:focus-visible { outline-offset:-3px; }
.rf-ticker-track { display:flex; width:max-content; animation:rf-marquee 48s linear infinite; }
.rf-ticker:hover .rf-ticker-track, .rf-ticker:focus .rf-ticker-track { animation-play-state:paused; }
.rf-ticker-list { display:flex; gap:48px; margin:0; padding:0 48px 0 0; list-style:none; }
.rf-ticker-list li { display:flex; align-items:center; gap:12px; color:var(--rf-text-2); font-size:16px; font-weight:600; white-space:nowrap; }
.rf-ticker .rf-icon { width:32px; height:32px; border-radius:8px; background:var(--rf-tint); color:var(--rf-blue); box-shadow:none; }
.rf-ticker .rf-icon svg { width:18px; height:18px; }

/* ---------- 3 产品 ---------- */
.rf-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2vw,32px); }
.rf-product { display:flex; flex-direction:column; min-width:0; padding:clamp(24px,2.4vw,32px); overflow:hidden; }
.rf-product-head { display:flex; align-items:center; gap:16px; }
.rf-product-head h3 { margin:0; color:var(--rf-ink); font-size:clamp(20px,.5vw + 15px,26px); font-weight:700; line-height:1.4; }
.rf-product p { margin:12px 0 0; color:var(--rf-text-2); font-size:16px; line-height:1.75; }
.rf-product-media { position:relative; display:block; margin-top:24px; overflow:hidden; border-radius:var(--rf-r); background:linear-gradient(160deg,rgba(234,242,255,.95) 0%,rgba(182,210,255,.45) 100%); }
.rf-media-scene { aspect-ratio:1264 / 848; }
.rf-media-scene img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--rf-ease); }
.rf-product:hover .rf-media-scene img { transform:scale(1.04); }
.rf-media-phones { display:flex; justify-content:center; gap:6%; aspect-ratio:1264 / 848; padding-top:6%; }
.rf-media-phone { width:31%; max-width:220px; transition:transform .5s var(--rf-ease); }
.rf-media-phone:nth-child(2) { margin-top:7%; }
.rf-product:hover .rf-media-phone { transform:translateY(-8px); }
.rf-product:hover .rf-media-phone:nth-child(2) { transition-delay:.06s; }
.rf-product-links { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:16px; }
.rf-product-sm { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:24px; padding-bottom:0; }
.rf-product-body { display:flex; flex-direction:column; padding-bottom:clamp(24px,2.4vw,32px); }
.rf-media-single { display:flex; justify-content:center; align-self:end; height:clamp(200px,15vw,320px); margin-top:0; padding-top:24px; border-radius:var(--rf-r) var(--rf-r) 0 0; }
.rf-media-single .iphone-frame { width:min(64%,200px); flex-shrink:0; transition:transform .5s var(--rf-ease); }
.rf-product:hover .rf-media-single .iphone-frame { transform:translateY(-8px); }
.rf-pill-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin-top:clamp(24px,2.4vw,32px); }
.rf-pill-row > span { color:var(--rf-text-3); font-size:14px; margin-right:4px; }
.rf-pill-row a {
    display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 16px; border:1px solid var(--rf-line); border-radius:var(--rf-r-pill);
    background:#fff; color:var(--rf-text); font-size:15px; font-weight:500; transition:border-color .2s,color .2s,background-color .2s,transform .2s var(--rf-ease);
}
.rf-pill-row a svg { width:14px; height:14px; color:var(--rf-blue); }
.rf-pill-row a small { color:var(--rf-text-3); font-size:12px; }
.rf-pill-row a:hover { border-color:var(--rf-blue); background:var(--rf-ice); color:var(--rf-blue); transform:translateY(-1px); }

/* ---------- 4 三端页签 ---------- */
.rf-tablist {
    display:flex; gap:4px; width:max-content; max-width:100%; margin:0 auto clamp(24px,3vw,48px); padding:4px;
    border:1px solid var(--rf-line); border-radius:var(--rf-r-pill); background:#fff; box-shadow:var(--rf-shadow-sm);
    overflow-x:auto; scrollbar-width:none;
}
.rf-tablist::-webkit-scrollbar { display:none; }
.rf-tablist [role=tab] {
    display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 24px; border:0; border-radius:var(--rf-r-pill);
    background:transparent; color:var(--rf-text-2); font:inherit; font-size:16px; font-weight:600; white-space:nowrap; cursor:pointer;
    transition:background-color .2s,color .2s,box-shadow .2s;
}
.rf-tablist [role=tab] svg { width:18px; height:18px; }
.rf-tablist [role=tab]:hover { background:var(--rf-tint); color:var(--rf-blue); }
.rf-tablist [role=tab][aria-selected=true] { background:var(--rf-grad); color:#fff; box-shadow:var(--rf-shadow-btn); }
html:not(.js) .rf-tablist, html:not(.js) .rf-sol-menu { display:none; }
html.js [data-sst-product-tabs] [data-sst-panel]:not(.is-active), [data-sst-product-tabs] [data-sst-panel][hidden] { display:none; }
html:not(.js) [data-sst-product-tabs] [data-sst-panel] + [data-sst-panel] { margin-top:clamp(24px,3vw,48px); }
.rf-tab-panel {
    padding:clamp(24px,3vw,48px); border:1px solid var(--rf-line); border-radius:var(--rf-r-lg); background:#fff; box-shadow:var(--rf-shadow);
    animation:rf-fade .4s var(--rf-ease);
}
.rf-consumer.consumer-showcase { padding:0; background:none; }
.rf-consumer .consumer-heading { margin-bottom:clamp(24px,2.4vw,32px); }
.rf-consumer .consumer-eyebrow { color:var(--rf-blue); font-weight:600; }
.rf-consumer .consumer-heading h3 { margin:0 0 8px; color:var(--rf-ink); font-size:clamp(24px,.8vw + 16px,32px); font-weight:700; line-height:1.35; }
.rf-consumer .consumer-heading p { color:var(--rf-text-2); }
.rf-consumer .consumer-heading-link { gap:8px; min-height:44px; padding:8px 24px; border:1px solid var(--rf-mist); border-radius:var(--rf-r-pill); color:var(--rf-blue); font-weight:600; text-decoration:none; transition:background-color .2s,border-color .2s; }
.rf-consumer .consumer-heading-link:hover { background:var(--rf-ice); border-color:var(--rf-blue); text-decoration:none; }
.rf-consumer .consumer-screen-grid { padding:clamp(24px,2.4vw,32px); border:0; border-radius:var(--rf-r); background:linear-gradient(180deg,rgba(234,242,255,.7) 0%,rgba(234,242,255,.25) 100%); box-shadow:none; }
.rf-consumer .consumer-feature-heading > span { color:var(--rf-blue); font-weight:600; }
.rf-consumer .consumer-feature-heading h3 { color:var(--rf-ink); font-weight:700; }
.rf-consumer .consumer-screen { transition:transform .4s var(--rf-ease); }
.rf-consumer .consumer-screen:hover { transform:translateY(-6px); }
.rf-consumer .consumer-feature .consumer-feature-copy, .rf-consumer .consumer-service-strip p, .rf-consumer .consumer-section-foot { color:var(--rf-text-2); }
.rf-consumer .consumer-service-strip { border-color:var(--rf-line); }
.rf-consumer .consumer-service-strip > div + div { border-color:var(--rf-line); }
.rf-consumer .consumer-service-icon { border-radius:var(--rf-r-sm); background:var(--rf-grad); color:#fff; }
.rf-consumer .consumer-service-strip h3 { color:var(--rf-ink); }
.rf-consumer-note { margin:16px 0 0; color:var(--rf-text-3); font-size:14px; line-height:1.8; }
.rf-terminal { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(24px,4vw,64px); }
.rf-terminal-copy h3 { margin:0; color:var(--rf-ink); font-size:clamp(24px,.8vw + 16px,32px); font-weight:700; line-height:1.35; }
.rf-terminal-copy p { margin:16px 0 32px; color:var(--rf-text-2); font-size:var(--rf-fs-lead); line-height:1.85; }
.rf-terminal-stage {
    position:relative; display:block; height:clamp(360px,30vw,560px); overflow:hidden; border-radius:var(--rf-r);
    background:radial-gradient(60% 70% at 60% 40%,rgba(105,177,255,.32) 0%,rgba(105,177,255,0) 70%),linear-gradient(160deg,rgba(234,242,255,.95) 0%,rgba(182,210,255,.4) 100%);
}
.rf-terminal-phone { position:absolute; bottom:-18%; left:50%; width:min(34%,240px); transition:transform .5s var(--rf-ease); }
.rf-terminal-phone-back { left:22%; bottom:-24%; width:min(30%,210px); rotate:-8deg; opacity:.9; filter:saturate(.85); }
.rf-terminal-stage:hover .rf-terminal-phone { transform:translateY(-10px); }
.rf-terminal-stage:hover .rf-terminal-phone-back { transform:translateY(-4px); }

/* ---------- 5 能力 + 步骤卡 ---------- */
.rf-cap-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.86fr) minmax(0,1fr); align-items:stretch; gap:clamp(16px,2.4vw,32px); }
.rf-cap-col { display:grid; grid-auto-rows:1fr; gap:clamp(12px,1.2vw,24px); }
.rf-cap { display:flex; align-items:flex-start; gap:16px; padding:clamp(24px,1.8vw,32px); color:inherit; }
.rf-cap h3 { margin:0 0 8px; color:var(--rf-ink); font-size:var(--rf-fs-h3); font-weight:700; line-height:1.45; }
.rf-cap p { margin:0; color:var(--rf-text-2); font-size:14px; line-height:1.8; }
.rf-cap-figure { position:relative; align-self:center; margin:0; }
.rf-cap-figure::before { content:""; position:absolute; inset:8% 4%; z-index:-1; border-radius:50%; background:radial-gradient(circle,rgba(105,177,255,.32) 0%,rgba(105,177,255,0) 70%); }
.rf-cap-figure img { display:block; width:100%; height:auto; border-radius:var(--rf-r-lg); }
.rf-flow { margin-top:clamp(48px,6vw,96px); }
.rf-steps { --rf-gap:clamp(16px,2vw,32px); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--rf-gap); margin:0; padding:0; list-style:none; }
.rf-steps-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rf-steps > li { position:relative; min-width:0; }
.rf-steps > li:not(:last-child)::after {
    content:""; position:absolute; top:clamp(42px,3.2vw,52px); right:calc(var(--rf-gap) * -1); width:var(--rf-gap);
    border-top:2px dashed var(--rf-mist); pointer-events:none;
}
.rf-step { position:relative; display:flex; flex-direction:column; height:100%; padding:clamp(24px,2vw,32px); color:inherit; }
.rf-step-no {
    display:inline-grid; place-items:center; width:40px; height:40px; border-radius:var(--rf-r-sm); background:var(--rf-grad);
    color:#fff; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; box-shadow:var(--rf-shadow-btn); flex-shrink:0;
}
.rf-step h3, .rf-step h4 { margin:24px 0 8px; color:var(--rf-ink); font-size:var(--rf-fs-h3); font-weight:700; line-height:1.45; }
.rf-step p { margin:0; color:var(--rf-text-2); font-size:14px; line-height:1.8; }
.rf-step-icon { position:absolute; top:clamp(24px,2vw,32px); right:clamp(24px,2vw,32px); color:var(--rf-mist); transition:color .3s; }
.rf-step-icon svg { width:28px; height:28px; }
a.rf-step:hover .rf-step-icon { color:var(--rf-blue); }
.rf-steps-4 .rf-step h3 { margin-top:auto; padding-top:32px; }

/* ---------- 6 解决方案 ---------- */
.rf-sol-menu { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(8px,1vw,16px); margin-bottom:clamp(16px,1.6vw,24px); }
.rf-sol-menu [role=tab] {
    display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-height:44px; padding:16px 24px;
    border:1px solid var(--rf-line); border-radius:var(--rf-r); background:#fff; color:var(--rf-ink); font:inherit; text-align:left; cursor:pointer;
    transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s var(--rf-ease);
}
.rf-sol-menu [role=tab]:hover { border-color:var(--rf-line-blue); box-shadow:var(--rf-shadow); transform:translateY(-2px); }
.rf-sol-label { display:flex; align-items:center; gap:8px; font-size:17px; font-weight:700; line-height:1.5; }
.rf-label-mobile { display:none; }
.rf-sol-menu small { color:var(--rf-text-3); font-size:13px; line-height:1.6; }
.rf-sol-menu [role=tab][aria-selected=true] { border-color:transparent; background:var(--rf-grad); color:#fff; box-shadow:var(--rf-shadow-btn); }
.rf-sol-menu [role=tab][aria-selected=true] small { color:rgba(255,255,255,.82); }
.rf-sol-menu [role=tab][aria-selected=true] .rf-badge { background:rgba(255,255,255,.22); color:#fff; }
.rf-sol-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,64px); padding:clamp(24px,3.2vw,48px); animation:rf-fade .4s var(--rf-ease); }
.rf-sol-panel:hover { transform:none; }
.rf-sol-copy > .rf-badge { margin-bottom:12px; }
.rf-sol-copy h3 { margin:0; color:var(--rf-ink); font-size:clamp(24px,1vw + 16px,34px); font-weight:700; line-height:1.4; }
.rf-sol-copy h3 span { display:block; }
.rf-sol-copy h3 span + span { color:var(--rf-blue); }
.rf-sol-copy > p { margin:16px 0 24px; color:var(--rf-text-2); font-size:16px; line-height:1.85; }
.rf-sol-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.rf-sol-copy li { padding:16px; border-radius:var(--rf-r-sm); background:rgba(234,242,255,.6); }
.rf-sol-copy li h4 { margin:0 0 4px; color:var(--rf-ink); font-size:16px; font-weight:700; }
.rf-sol-copy li p { margin:0; color:var(--rf-text-2); font-size:14px; line-height:1.75; }
.rf-sol-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.rf-sol-picture { margin:0; overflow:hidden; border-radius:var(--rf-r); aspect-ratio:3 / 2; background:var(--rf-ice); }
.rf-sol-picture img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--rf-ease); }
.rf-sol-panel:hover .rf-sol-picture img { transform:scale(1.03); }
.rf-factory { padding:clamp(24px,2.4vw,32px); border-radius:var(--rf-r); background:linear-gradient(160deg,rgba(234,242,255,.95) 0%,rgba(182,210,255,.35) 100%); }
.rf-factory > h4 { margin:0; color:var(--rf-ink); font-size:var(--rf-fs-h3); font-weight:700; }
.rf-factory > p { margin:4px 0 24px; color:var(--rf-text-3); font-size:14px; }
.rf-factory ol { display:grid; gap:24px; margin:0; padding:0; list-style:none; }
.rf-factory li { position:relative; display:flex; align-items:center; gap:16px; padding:16px; border-radius:var(--rf-r-sm); background:#fff; box-shadow:var(--rf-shadow-sm); }
.rf-factory li:not(:last-child)::after { content:""; position:absolute; left:35px; top:100%; height:24px; border-left:2px dashed var(--rf-mist); }
.rf-factory h5 { margin:0 0 4px; color:var(--rf-ink); font-size:16px; font-weight:700; }
.rf-factory li p { margin:0; color:var(--rf-text-2); font-size:14px; }

/* ---------- 7 落地服务 ---------- */
.rf-service-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3.2fr); align-items:stretch; gap:clamp(16px,2vw,32px); }
.rf-service-intro {
    position:relative; display:flex; flex-direction:column; gap:12px; overflow:hidden; padding:clamp(24px,2.4vw,32px);
    border-radius:var(--rf-r-lg); background:var(--rf-grad); color:#fff; box-shadow:var(--rf-shadow-lg);
    transition:transform .3s var(--rf-ease),box-shadow .3s var(--rf-ease);
}
.rf-service-intro::after { content:""; position:absolute; right:-30%; bottom:-30%; width:80%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 70%); pointer-events:none; }
.rf-service-intro:hover { transform:translateY(-4px); box-shadow:0 32px 64px rgba(22,119,255,.24); }
.rf-service-intro h3 { margin:12px 0 0; color:#fff; font-size:clamp(20px,.6vw + 15px,26px); font-weight:700; }
.rf-service-intro p { margin:0; color:rgba(255,255,255,.86); font-size:15px; line-height:1.85; }
.rf-service-more { display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:16px; color:#fff; font-weight:600; transition:gap .2s var(--rf-ease); }
.rf-service-more svg { width:16px; height:16px; }
.rf-service-intro:hover .rf-service-more { gap:12px; }

/* ---------- 8 资讯 ---------- */
.rf-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,32px); }
.rf-news-card { overflow:hidden; }
.rf-news-card > a { display:flex; flex-direction:column; height:100%; color:inherit; }
.rf-news-cover { aspect-ratio:16 / 10; overflow:hidden; background:var(--rf-ice); }
.rf-news-cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--rf-ease); }
.rf-news-card:hover .rf-news-cover img { transform:scale(1.05); }
.rf-news-body { display:flex; flex:1; flex-direction:column; gap:8px; padding:clamp(24px,1.8vw,32px); }
.rf-news-body time { color:var(--rf-text-3); font-size:13px; font-variant-numeric:tabular-nums; }
.rf-news-body h3 { display:-webkit-box; margin:0; overflow:hidden; color:var(--rf-ink); font-size:var(--rf-fs-h3); font-weight:700; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; transition:color .2s; }
.rf-news-card:hover h3 { color:var(--rf-blue); }
.rf-news-body p { display:-webkit-box; margin:0; overflow:hidden; color:var(--rf-text-2); font-size:14px; line-height:1.8; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.rf-news-body .rf-link { margin-top:auto; }

/* ---------- 滚动进场（JS 加 html.rf-motion 才隐藏；只动 opacity 与 translate，只播一次） ---------- */
.rf-home [data-rf-reveal] {
    transition:opacity .3s ease-out calc(var(--rf-i,0) * 80ms),translate .3s ease-out calc(var(--rf-i,0) * 80ms),
        transform .3s var(--rf-ease),box-shadow .3s var(--rf-ease),border-color .3s;
}
html.rf-motion .rf-home [data-rf-reveal]:not(.rf-in) { opacity:0; translate:0 20px; }

@keyframes rf-rise { from { opacity:0; translate:0 20px; } to { opacity:1; translate:none; } }
@keyframes rf-pop { from { opacity:0; scale:.94; } to { opacity:1; scale:1; } }
@keyframes rf-chip-in { from { opacity:0; translate:0 16px; } to { opacity:1; translate:none; } }
@keyframes rf-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-14px); } }
@keyframes rf-float-sm { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes rf-ripple { 0%,100% { scale:1; } 50% { scale:1.06; } }
@keyframes rf-marquee { to { transform:translateX(-50%); } }
@keyframes rf-fade { from { opacity:0; } to { opacity:1; } }

/* ---------- 响应式 ---------- */
@media (max-width:1180px) {
    .rf-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rf-steps-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rf-steps > li:not(:last-child)::after { display:none; }
    .rf-cap-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rf-cap-figure { display:none; }
    .rf-service-layout { grid-template-columns:1fr; }
}
@media (max-width:960px) {
    .rf-hero-inner { grid-template-columns:1fr; min-height:0; text-align:center; padding-block:48px 32px; }
    .rf-hero-lead { margin-inline:auto; }
    .rf-hero-actions { justify-content:center; }
    .rf-hero-art { max-width:520px; }
    .rf-product-grid { grid-template-columns:1fr; }
    .rf-sol-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rf-sol-panel, .rf-terminal { grid-template-columns:1fr; }
    .rf-news-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:780px) {
    .rf-section { padding-block:64px; }
    .rf-hero-art { max-width:none; aspect-ratio:auto; display:flex; flex-direction:column; align-items:center; }
    .rf-hero-stage { inset:0 0 72px; }
    .rf-orb { inset:6% 14% 10%; }
    .rf-mascot { position:relative; bottom:auto; height:auto; width:56vw; max-width:280px; margin:8px auto 24px; }
    .rf-chips { position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
    .rf-chip { position:static; gap:8px; padding:4px 12px 4px 4px; border-color:var(--rf-line); border-radius:var(--rf-r-pill); font-size:13px; box-shadow:var(--rf-shadow-sm); animation:rf-chip-in .6s var(--rf-ease) calc(.3s + var(--rf-i,0) * 80ms) both; }
    .rf-chip .rf-icon { width:24px; height:24px; border-radius:var(--rf-r-pill); box-shadow:none; }
    .rf-chip .rf-icon svg { width:14px; height:14px; }
    .rf-drop-3 { display:none; }
    .rf-ticker { overflow-x:auto; scrollbar-width:none; -webkit-mask-image:none; mask-image:none; }
    .rf-ticker::-webkit-scrollbar { display:none; }
    .rf-ticker-track { animation:none; padding-inline:16px; }
    .rf-ticker-list[aria-hidden] { display:none; }
    .rf-ticker-list { gap:24px; padding:0; }
    .rf-product-sm { grid-template-columns:1fr; }
    .rf-product-body { padding-bottom:0; }
    .rf-media-single { justify-self:center; width:100%; height:240px; }
    .rf-product-links { flex-wrap:wrap; }
    .rf-tablist { width:100%; justify-content:flex-start; }
    .rf-tablist [role=tab] { flex:1 0 auto; justify-content:center; padding-inline:16px; font-size:15px; }
    .rf-tab-panel { padding:16px; }
    .rf-terminal-stage { height:360px; }
    .rf-terminal-phone { width:44%; }
    .rf-terminal-phone-back { width:38%; left:12%; }
    .rf-cap-layout, .rf-steps, .rf-steps-4 { grid-template-columns:1fr; }
    .rf-steps > li:not(:last-child)::after { display:block; top:100%; left:clamp(39px,4vw,52px); right:auto; width:0; height:var(--rf-gap); border-top:0; border-left:2px dashed var(--rf-mist); }
    .rf-sol-menu [role=tab] { padding:12px 16px; }
    .rf-label-desktop { display:none; }
    .rf-label-mobile { display:inline; }
    .rf-sol-label { font-size:15px; flex-wrap:wrap; }
    .rf-sol-menu small { font-size:12px; }
    .rf-sol-copy ul { grid-template-columns:1fr; }
    .rf-news-grid { grid-template-columns:1fr; }
}

/* ---------- 减少动效：关浮动、滚动、位移，只留渐显 ---------- */
@media (prefers-reduced-motion:reduce) {
    .rf-hero-copy > *, .rf-mascot, .rf-chip, .rf-drop, .rf-ripple { animation:rf-fade .4s ease-out both; }
    .rf-ticker { overflow-x:auto; scrollbar-width:thin; }
    .rf-ticker-track { animation:none; }
    .rf-ticker-list[aria-hidden] { display:none; }
    .rf-home [data-rf-reveal] { transition:opacity .3s ease-out; }
    html.rf-motion .rf-home [data-rf-reveal]:not(.rf-in) { translate:none; }
    .rf-card:hover, a.rf-card:focus-visible, .rf-service-intro:hover, .rf-sol-menu [role=tab]:hover, .rf-pill-row a:hover { transform:none; }
    .rf-product:hover .rf-media-phone, .rf-product:hover .rf-media-single .iphone-frame, .rf-terminal-stage:hover .rf-terminal-phone,
    .rf-terminal-stage:hover .rf-terminal-phone-back, .rf-consumer .consumer-screen:hover { transform:none; }
    .rf-product:hover .rf-media-scene img, .rf-sol-panel:hover .rf-sol-picture img, .rf-news-card:hover .rf-news-cover img { transform:none; }
}
