:root { --ink:#1f2030; --muted:#666779; --line:#e6e5ec; --soft:#f7f7fb; --lavender:#f1efff; --purple:#5d46f5; --purple-dark:#4933dd; --paper:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(31,32,48,.08); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.nav-wrap { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:48px; width:min(1200px,calc(100% - 48px)); min-height:68px; margin:0 auto; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:19px; font-weight:780; white-space:nowrap; }
.brand-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:8px; background:var(--purple); color:white; font-size:12px; }
.nav-wrap nav { display:flex; justify-content:center; gap:40px; font-size:14px; }
.nav-wrap nav a:hover,footer nav a:hover { color:var(--purple); }
.nav-cta,.primary-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:0 23px; border-radius:8px; background:var(--purple); color:white; font-weight:700; transition:background .2s,transform .2s; }
.nav-cta:hover,.primary-button:hover { background:var(--purple-dark); transform:translateY(-2px); }
.hero { padding:80px 24px 0; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#faf9ff 100%); text-align:center; }
.hero-copy { max-width:850px; margin:0 auto; }
.breadcrumb { margin:0 0 22px; color:#8b8997; font-size:13px; }
h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(48px,5vw,72px); font-weight:500; line-height:1.08; }
.hero-lead { max-width:720px; margin:24px auto 28px; color:var(--muted); font-size:18px; line-height:1.8; }
.hero-copy .primary-button { min-width:130px; }
.free-note { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:13px; color:#92909d; font-size:12px; }
.free-note i { width:6px; height:6px; border-radius:50%; background:#61b982; }
.hero-art { position:relative; width:min(1120px,100%); aspect-ratio:2.05/1; margin:58px auto 0; border:1px solid #e0ddea; border-radius:8px 8px 0 0; background:#e9e5d8; box-shadow:0 30px 80px rgba(50,39,119,.14); overflow:hidden; }
.hero-art::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 10px rgba(255,255,255,.18); pointer-events:none; }
.hero-art img { width:100%; height:100%; object-fit:cover; object-position:center; }
.section { padding:112px 24px; }
.section-title { max-width:900px; margin:0 auto 72px; text-align:center; }
.section-title > span,.closing > div > span { color:var(--purple); font-size:12px; font-weight:800; }
.section-title h2 { margin:13px 0 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,4vw,56px); font-weight:500; line-height:1.18; }
.section-title p { max-width:650px; margin:20px auto 0; color:var(--muted); font-size:17px; line-height:1.75; }
.capabilities { background:white; }
.feature { display:grid; grid-template-columns:minmax(320px,.88fr) minmax(480px,1.12fr); gap:76px; align-items:center; width:min(1120px,100%); margin:0 auto 116px; }
.feature:last-child { margin-bottom:0; }
.feature.reverse .feature-copy { order:2; }
.feature.reverse .feature-art { order:1; }
.feature-index { color:var(--purple); font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace; }
.feature h3 { margin:18px 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(30px,3vw,42px); font-weight:500; line-height:1.25; }
.feature p { margin:0; color:var(--muted); font-size:16px; line-height:1.85; }
.text-link { display:inline-flex; align-items:center; gap:12px; margin-top:27px; color:var(--purple); font-weight:750; }
.feature-art { position:relative; aspect-ratio:1.35/1; margin:0; padding:20px; border-radius:8px; overflow:hidden; }
.feature-art::before { content:""; position:absolute; inset:0; opacity:.7; background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.8),transparent 35%); }
.feature-art img { position:relative; width:100%; height:100%; border-radius:6px; object-fit:cover; box-shadow:0 16px 38px rgba(49,45,71,.18); }
.wash-green { background:#e7efe8; }
.wash-rose { background:#f3e7ea; }
.wash-gold { background:#f2ecd6; }
.advantages { padding:110px 24px; background:var(--soft); }
.advantage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:min(1120px,100%); margin:0 auto; }
.advantage-grid article { min-height:300px; padding:32px; border:1px solid var(--line); border-radius:8px; background:white; }
.advantage-icon { position:relative; display:block; width:54px; height:54px; margin-bottom:46px; border-radius:50%; background:var(--lavender); }
.advantage-icon::before,.advantage-icon::after { content:""; position:absolute; }
.time::before { inset:13px; border:2px solid var(--purple); border-radius:50%; }
.time::after { left:26px; top:20px; width:10px; height:7px; border-left:2px solid var(--purple); border-bottom:2px solid var(--purple); }
.growth::before { left:14px; bottom:14px; width:27px; height:22px; border-left:2px solid var(--purple); border-bottom:2px solid var(--purple); }
.growth::after { left:20px; top:18px; width:21px; height:13px; border-top:2px solid var(--purple); border-right:2px solid var(--purple); transform:skewY(-28deg); }
.quality::before { inset:13px; border:2px solid var(--purple); transform:rotate(45deg); }
.quality::after { left:22px; top:17px; width:9px; height:15px; border-right:2px solid var(--purple); border-bottom:2px solid var(--purple); transform:rotate(40deg); }
.advantage-grid h3 { margin:0 0 14px; font-size:21px; }
.advantage-grid p { margin:0; color:var(--muted); font-size:15px; line-height:1.78; }
.workflow { background:white; }
.step-list { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:min(1120px,100%); margin:0 auto; padding:0; list-style:none; }
.step-list li { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:white; }
.step-number { display:grid; width:42px; height:42px; place-items:center; margin:28px 28px 0; border-radius:50%; background:var(--purple); color:white; font-weight:800; }
.step-list li > div:nth-child(2) { padding:22px 28px 28px; }
.step-list h3 { margin:0 0 12px; font-size:20px; line-height:1.45; }
.step-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.step-list figure { order:-1; aspect-ratio:1.5/1; margin:0; overflow:hidden; background:#eee; }
.step-list figure img { width:100%; height:100%; object-fit:cover; }
.center-action { margin-top:42px; text-align:center; }
.faq { background:var(--soft); }
.faq .section-title { margin-bottom:52px; }
.faq-list { width:min(900px,100%); margin:0 auto; border-top:1px solid #d7d6df; }
.faq-list details { border-bottom:1px solid #d7d6df; }
.faq-list summary { display:flex; min-height:78px; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:18px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary i { position:relative; flex:0 0 22px; width:22px; height:22px; }
.faq-list summary i::before,.faq-list summary i::after { content:""; position:absolute; left:4px; top:10px; width:14px; height:2px; background:var(--purple); transition:transform .2s; }
.faq-list summary i::after { transform:rotate(90deg); }
.faq-list details[open] summary i::after { transform:rotate(0); }
.faq-list details p { max-width:760px; margin:-4px 54px 25px 0; color:var(--muted); line-height:1.8; }
.closing { display:grid; grid-template-columns:.86fr 1.14fr; align-items:center; min-height:480px; background:#242035; color:white; overflow:hidden; }
.closing > div { padding:70px 7vw; }
.closing h2 { margin:15px 0 20px; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,4vw,58px); font-weight:500; line-height:1.14; }
.closing p { margin:0 0 28px; color:#c8c3d8; line-height:1.75; }
.primary-button.light { background:white; color:var(--purple); }
.closing figure { height:100%; min-height:480px; margin:0; }
.closing figure img { width:100%; height:100%; object-fit:cover; }
footer { display:grid; grid-template-columns:auto 1fr auto auto; gap:34px; align-items:center; min-height:110px; padding:24px max(24px,calc((100vw - 1120px)/2)); color:#777685; background:white; }
footer p { margin:0; font-size:13px; }
footer nav { display:flex; gap:24px; font-size:13px; }
footer small { white-space:nowrap; }
@media (max-width:900px) {
  .nav-wrap { grid-template-columns:1fr auto; }
  .nav-wrap nav { display:none; }
  .hero { padding-top:64px; }
  .feature { grid-template-columns:1fr; gap:36px; margin-bottom:82px; }
  .feature-copy,.feature.reverse .feature-copy { order:1; }
  .feature-art,.feature.reverse .feature-art { order:2; }
  .advantage-grid,.step-list { grid-template-columns:1fr; }
  .advantage-grid article { min-height:0; }
  .advantage-icon { margin-bottom:30px; }
  .step-list { max-width:600px; }
  .closing { grid-template-columns:1fr; }
  .closing figure { min-height:380px; }
  footer { grid-template-columns:1fr auto; }
  footer p,footer nav { display:none; }
}
@media (max-width:560px) {
  .nav-wrap { width:calc(100% - 32px); min-height:62px; }
  .brand { font-size:16px; }
  .brand-mark { width:30px; height:30px; }
  .nav-cta { min-height:38px; padding:0 13px; font-size:12px; }
  .hero { padding:52px 18px 0; }
  h1 { font-size:44px; }
  .hero-lead { font-size:16px; }
  .hero-art { aspect-ratio:1.35/1; margin-top:42px; }
  .section,.advantages { padding:76px 18px; }
  .section-title { margin-bottom:48px; }
  .section-title h2 { font-size:36px; }
  .section-title p { font-size:15px; }
  .feature { gap:28px; margin-bottom:70px; }
  .feature h3 { font-size:30px; }
  .feature-art { padding:12px; }
  .advantage-grid,.step-list { gap:16px; }
  .faq-list summary { min-height:72px; font-size:16px; }
  .closing > div { padding:70px 22px; }
  .closing figure { min-height:270px; }
  footer { min-height:92px; padding:20px 18px; }
  footer small { font-size:10px; }
}
