feat(content): deepen Bain differentiation across product, solution and service pages

- Replace decorative numbering and side-stripe borders with structured copy
- Add scenario positioning, capability metrics and verifiable dimensions
- Refine service timelines, deliverables and case-study narratives
- Update content constants to support CMS seeding
This commit is contained in:
张翔
2026-07-08 14:46:51 +08:00
parent f4b98fb730
commit 7f36211342
22 changed files with 601 additions and 497 deletions
@@ -186,17 +186,6 @@ export function ProductValueSection({ product }: ProductValueSectionProps) {
transition={{ duration: 0.85, ease: [0.22, 1, 0.36, 1] as const }}
className="max-w-3xl mx-auto text-center mb-20"
>
<motion.span
initial={{ opacity: 0, x: -20 }}
whileInView={{ opacity: 1, x: 0 }}
viewport={{ once: true }}
transition={{ delay: 0.15, duration: 0.5 }}
className="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-brand-soft text-brand text-sm font-bold tracking-wider uppercase mb-5"
>
<Zap className="w-4 h-4" />
</motion.span>
<h2 className="text-3xl md:text-4xl lg:text-5xl font-bold tracking-tight text-ink mb-5">
<span className="relative inline-block">
{product.title}
@@ -387,9 +376,6 @@ export function ProductValueSection({ product }: ProductValueSectionProps) {
className="mt-24"
>
<div className="text-center mb-14">
<span className="inline-block mb-4 text-sm font-bold text-brand tracking-wider uppercase">
</span>
<h3 className="text-2xl md:text-3xl font-bold tracking-tight text-ink">
</h3>
@@ -65,7 +65,7 @@ export function DetailTrustSection({
caseStudies = [],
dataProofs = [],
certifications = [],
accentColor = '#C41E3A',
accentColor: _accentColor = '#C41E3A',
}: DetailTrustSectionProps) {
const hasContent = caseStudies.length > 0 || dataProofs.length > 0 || certifications.length > 0;
if (!hasContent) return null;
@@ -85,9 +85,6 @@ export function DetailTrustSection({
transition={DESIGN_SYSTEM.effects.scroll.fadeInUp.transition}
className="text-center mb-12"
>
<span className="inline-block mb-3 text-sm font-semibold text-brand tracking-wider uppercase">
</span>
<h2 className={`${DESIGN_SYSTEM.typography.section.title} text-ink`}>
</h2>
@@ -135,9 +132,6 @@ export function DetailTrustSection({
transition={DESIGN_SYSTEM.effects.scroll.fadeInUp.transition}
className="text-center mb-12"
>
<span className="inline-block mb-3 text-sm font-semibold tracking-wider uppercase" style={{ color: accentColor }}>
</span>
<h2 className={`${DESIGN_SYSTEM.typography.section.title} text-ink`}>
</h2>
+2 -6
View File
@@ -25,10 +25,8 @@ export function ServiceValueSection({ service }: ServiceValueSectionProps) {
<section className="relative bg-white py-24 lg:py-32 overflow-hidden">
<div className="container-wide relative">
<SectionHeader
badge="专业服务"
title={`为什么选择我们的${service.title}`}
subtitle={service.overview}
icon={Zap}
/>
<div className="mt-16">
@@ -159,10 +157,8 @@ export function ServiceValueSection({ service }: ServiceValueSectionProps) {
}}
className="relative flex gap-6 group"
>
<div className="relative z-10 shrink-0">
<div className="w-16 h-16 rounded-full bg-white border-4 border-brand flex items-center justify-center shadow-md group-hover:scale-110 transition-transform duration-300">
<span className="text-lg font-bold text-brand">{String(index + 1).padStart(2, '0')}</span>
</div>
<div className="relative z-10 shrink-0 w-16 flex justify-center">
<div className="w-4 h-4 rounded-full bg-brand group-hover:scale-110 transition-transform duration-300" />
</div>
<TiltCard
-2
View File
@@ -20,14 +20,12 @@ export function SolutionValueSection({ solution }: SolutionValueSectionProps) {
<section className="relative bg-white py-24 lg:py-32 overflow-hidden">
<div className="container-wide relative">
<SectionHeader
badge="解决方案"
title={
<>
<span className="text-brand">{solution.industry}</span>
</>
}
subtitle={solution.description}
icon={Lightbulb}
/>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-10 mt-16">