/* toukenai.com 统一设计系统 — 7 页拼接样式去重合并（元素级手写/类级合并/作用域保留），每类唯一定义 */
/* ===== 基础重置与排版（手写规范，避免跨页串味） ===== */
body{margin:0;padding-top:70px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
  line-height:1.6;color:var(--text-dark);background:var(--bg-light);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:'kern','liga';}
img{max-width:100%;display:block;}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-dark);line-height:1.25;font-weight:700;text-wrap:balance;}
h1{font-size:clamp(2rem,5vw,3rem);}
h2{font-size:clamp(1.6rem,3.5vw,2.2rem);}
h3{font-size:clamp(1.25rem,2.5vw,1.5rem);}
h4{font-size:1.1rem;font-weight:600;}
p{margin:0 0 1rem;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px;}
::selection{background:rgba(26,155,138,.2);}
/* 通用内容容器：仅负责居中限宽，不强制文本对齐 */
.container{max-width:1200px;width:100%;margin:0 auto;padding:0 1.25rem;}
/* 404 搜索框（原缺失，补规范样式） */
.search-form{display:flex;gap:.5rem;max-width:480px;margin:1.5rem auto;}
.search-form input[type=search]{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;font-size:1rem;}
.search-form button{padding:.75rem 1.25rem;border:none;border-radius:10px;background:var(--primary);color:#fff;font-weight:600;}
.suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;max-width:640px;margin:0 auto;}
.suggestion-icon{padding:.6rem .9rem;border:1px solid var(--border);border-radius:8px;text-align:center;font-size:.9rem;}

:root{--primary:#1A9B8A; --primary-light:#2ABBA8; --accent:#F5A066; --bg:#F0F8F8; --card:#ffffff; --text:#1a1a1a; --text-light:#94a3b8; --border:#e2e8f0; --primary-dark:#0D3B5C; --primary-gradient:linear-gradient(135deg,#1A9B8A 0%,#0D3B5C 100%); --bg-light:#f0f4f8; --bg-primary:#fff; --bg-white:#fff; --text-dark:#1a1a2e; --text-primary:#1a1a2e; --text-secondary:#64748b; --text-muted:#6b7280; --text-gray:#94a3b8; --white:#fff; --shadow:0 4px 20px rgba(13,59,92,.1); --shadow-hover:0 8px 30px rgba(13,59,92,.15); --radius:14px; --bg-card:#1e293b;}
*{box-sizing:border-box; margin:0; padding:0;}
p{color:var(--text-light); font-size:1.05em; line-height:1.7; margin-bottom:32px;}
a{display:inline-flex; align-items:center;}
h1{font-size:1.5em; color:var(--primary); margin-bottom:12px; font-weight:700;}
nav{max-width:1200px; margin:0 auto; padding:0.85rem 1.25rem; display:flex; justify-content:space-between; align-items:center;}
img{max-width:100%; height:auto;}
.btn{display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1.6rem; border-radius:10px; font-size:0.95em; font-weight:600; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; cursor:pointer; border:none; min-height:44px;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:84px;}
.logo{display:flex; align-items:center; gap:.75rem; margin-bottom:2rem; text-decoration:none; color:var(--primary); font-weight:700; font-size:1.1em;}
.code{font-size:clamp(96px, 18vw, 160px); font-weight:800; line-height:1; background:var(--primary-gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:16px; letter-spacing:-0.05em;}
.hero{background:linear-gradient(180deg, var(--bg-light) 0%, var(--white) 100%); padding:80px 24px 60px; text-align:center; min-height:50vh; display:flex; align-items:center;}
footer{margin-top:40px; color:var(--white); font-size:0.85em; background:var(--text-dark); padding:4rem 2rem 2rem;}
header{position:fixed; top:0; left:0; right:0; background:rgba(255,255,255,.95); backdrop-filter:blur(12px) saturate(160%); z-index:1000; border-bottom:1px solid rgba(26,155,138,.1); padding-top:env(safe-area-inset-top); -webkit-backdrop-filter:blur(12px) saturate(160%); box-shadow:0 1px 3px rgba(15,23,42,.05);}
.stats{display:flex; gap:3rem; margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(26,155,138,0.2);}
.ux-btn{width:48px; height:48px; border-radius:50%; background:var(--primary); color:#fff; border:none; box-shadow:0 4px 12px rgba(0,0,0,.15); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.25rem; transition:all .3s cubic-bezier(.4,0,.2,1);}
.hero p{font-size:1.2rem; color:var(--text-secondary); max-width:700px; margin:0 auto;}
.metric{text-align:center; display:flex; flex-direction:column; gap:2px;}
.actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:32px;}
footer a{color:var(--primary); text-decoration:none;}
.hero h1{font-size:3rem; font-weight:800; line-height:1.2; margin-bottom:1rem; background:var(--primary-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; letter-spacing:-.01em;}
.section{padding:6rem 2rem;}
.step-num{position:absolute; top:-12px; left:1.5rem; background:var(--primary-gradient); color:white; padding:.25rem .75rem; border-radius:20px; font-size:.75rem; font-weight:700;}
.faq-list{display:flex; flex-direction:column; gap:12px; max-width:800px; margin:0 auto;}
.faq-item{background:var(--bg-white); border-radius:var(--radius); border:1px solid var(--border); overflow:hidden; padding:1rem 1.5rem; cursor:pointer; transition:all 0.2s;}
.cat-tool{background:#fce7f3; color:#be185d;}
.cat-case{background:#dcfce7; color:#166534;}
.news-tag{background:rgba(26,155,138,.1); color:var(--primary);}
.case-tag{position:absolute; top:12px; left:12px; background:rgba(26, 155, 138, 0.95); color:var(--white); font-size:0.7rem; font-weight:700; padding:4px 10px; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.case-sub{font-size:0.72rem; color:var(--text-light); margin:0; font-weight:500;}
.why-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:1.5rem;}
.why-card{background:rgba(255,255,255,0.1); backdrop-filter:blur(10px); border-radius:12px; padding:2rem 1.5rem; text-align:center; border:1px solid rgba(255,255,255,0.1); transition:all .3s cubic-bezier(.4,0,.2,1);}
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem;}
.svc-card{background:var(--white); border:2px solid rgba(26,155,138,.1); border-radius:16px; padding:2rem; transition:all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; box-shadow:var(--shadow);}
.svc-icon{font-size:2em; margin-bottom:12px;}
.svc-desc{color:var(--text-secondary); font-size:.9em; line-height:1.7;}
html, body{touch-action:manipulation; height:100%; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; background:linear-gradient(180deg, #f0f4f8 0%, #ffffff 100%); color:var(--text); -webkit-font-smoothing:antialiased;}
.logo-mark{width:36px; height:36px; background:var(--primary-gradient); border-radius:10px; display:flex; align-items:center; justify-content:center; color:white; font-size:18px; font-weight:800; letter-spacing:-0.5px;}
.skip-link{position:absolute; top:-40px; left:0; background:var(--primary); color:#fff; padding:8px 16px; z-index:9999; text-decoration:none; border-radius:0 0 4px 0;}
header nav{max-width:1200px; margin:0 auto; padding:.85rem 1.25rem; display:flex; justify-content:space-between; align-items:center;}
.logo-icon{width:40px; height:40px; background:var(--primary-gradient); border-radius:8px; display:flex; align-items:center; justify-content:center; color:white; font-weight:bold; font-size:1.2rem;}
.logo-text{font-size:1.25rem; font-weight:700; color:var(--text-dark); line-height:40px;}
.nav-links{display:flex; align-items:center; gap:1.25rem; list-style:none;}
.cred-card{background:var(--bg-light); border-radius:12px; padding:1.5rem; display:flex; align-items:center; gap:1rem; border:2px solid transparent; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow);}
.step-card{background:var(--white); border:2px solid rgba(26,155,138,0.1); border-radius:12px; padding:1.5rem; position:relative; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow);}
.step-desc{color:var(--text-gray); font-size:.9rem;}
.news-list{display:flex; flex-direction:column; gap:.75rem;}
.news-item{display:flex; align-items:center; gap:.75rem; padding:.75rem 0; border-bottom:1px solid var(--border); flex-wrap:wrap;}
.news-date{color:var(--text-light); font-size:.85rem; font-family:monospace; min-width:95px;}
.news-text{color:var(--text-secondary); flex:1; min-width:200px;}
.hero-desc{color:var(--text-secondary); margin-bottom:1.6rem; font-size:1.05rem;}
.wc-banner{padding:1.5rem 2rem; background:var(--bg-light);}
.case-body{padding:1rem 1rem 0.9rem; display:flex; flex-direction:column; gap:0.5rem; flex:1;}
.case-link{display:inline-block; color:#1A9B8A; font-size:0.75rem; font-weight:700; text-decoration:none; margin-top:auto; padding:4px 0; transition:color 0.2s;}
.stat-item{text-align:center;}
.fde-intro{background:var(--bg-light); border-radius:16px; padding:2.5rem; margin-bottom:3rem; border-left:4px solid var(--primary); box-shadow:var(--shadow);}
.team-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.5rem; max-width:1200px; margin:0 auto;}
.team-card{background:#f0f4f8; border-radius:12px; padding:2rem 1.5rem; text-align:center; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow);}
.team-role{color:#1A9B8A; font-size:0.9rem; font-weight:600; margin-bottom:1rem;}
.btn-promo{background:#fff; color:#1A9B8A; padding:0.875rem 1.75rem; border-radius:8px; font-weight:700; text-decoration:none; transition:all 0.2s;}
.svc-title{font-size:1.1em; font-weight:700; color:var(--primary); margin-bottom:8px;}
.ux-toolbar{position:fixed; bottom:24px; right:24px; display:flex; flex-direction:column; gap:12px; z-index:9998;}
.about-text{max-width:780px; margin:0 auto; color:var(--text-secondary); font-size:1rem;}
.creds-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; max-width:900px; margin:0 auto;}
.cred-badge{width:50px; height:50px; background:var(--primary-gradient); border-radius:10px; display:flex; align-items:center; justify-content:center; color:white; font-size:1.25rem; flex-shrink:0;}
.value-card{background:var(--white); border:2px solid rgba(26,155,138,.1); border-radius:12px; padding:2rem; text-align:center; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow);}
.value-icon{width:60px; height:60px; background:rgba(26,155,138,.1); border-radius:12px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:1.5rem; color:var(--primary);}
.mobile-nav{display:none; position:fixed; top:0; right:-280px; width:280px; height:100%; background:var(--bg-white); z-index:160; transition:right .3s; overflow-y:auto; box-shadow:-2px 0 12px rgba(0,0,0,.15);}
.sticky-cta{display:none; position:fixed; bottom:0; left:0; right:0; background:linear-gradient(135deg, #1A9B8A 0%, #0D3B5C 100%); color:#fff; padding:12px 16px; z-index:9997; box-shadow:0 -4px 12px rgba(0,0,0,0.15);}
.steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;}
.step-title{font-size:1.1rem; font-weight:700; color:var(--primary-dark); margin:.5rem 0;}
.news-title{color:var(--text-dark); text-decoration:none; flex:1; min-width:200px; font-weight:500;}
.case-image{position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; background:var(--bg-light);}
.case-title{font-size:1.05rem; font-weight:800; color:var(--primary-dark); margin:0; letter-spacing:0.5px;}
.metric-num{font-size:1.4rem; font-weight:800; line-height:1; background:linear-gradient(135deg, #1A9B8A 0%, #0D3B5C 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.stat-label{color:var(--text-gray); font-size:0.9rem;}
.why-number{font-size:2rem; font-weight:800; color:var(--primary); margin-bottom:1rem;}
.why-card p{font-size:0.9rem; color:rgba(255,255,255,0.8); line-height:1.6;}
.team-creds{list-style:none; padding:0; text-align:left;}
.faq-answer{padding-top:0.75rem; color:#4a5568; line-height:1.7;}
.promo-icon{font-size:3rem;}
.hero-promo{color:#1A9B8A; font-weight:600; background:rgba(26,155,138,0.1); padding:0.5rem 1rem; border-radius:6px; display:inline-block; margin-bottom:1.5rem;}
.btn-primary{background:var(--primary-gradient); color:var(--white); box-shadow:var(--shadow);}
.suggestions{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:20px; text-align:left;}
.nav-links a{display:inline-flex; align-items:center; text-decoration:none; color:var(--text-secondary); font-weight:500; transition:color .2s; padding:0 .75rem; border-radius:999px; line-height:40px;}
.section-sub{text-align:center; color:var(--text-gray); font-size:1.1rem; margin-bottom:3rem;}
.cred-card p{color:var(--text-gray); font-size:.82rem;}
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:900px; margin:0 auto;}
.contact-box{background:var(--primary-gradient); border-radius:var(--radius); padding:4rem 2rem; text-align:center; color:white; max-width:800px; margin:0 auto;}
.menu-toggle{display:none; flex-direction:column; justify-content:center; align-items:center; width:40px; height:40px; background:none; border:none; cursor:pointer; padding:6px; z-index:200;}
.cta-buttons{display:flex; gap:1rem; flex-wrap:wrap;}
.cat-install{background:#e0f2fe; color:#0369a1;}
.hero-visual{display:flex; justify-content:center; align-items:center;}
.stat-number{font-size:2.5rem; font-weight:800; color:var(--primary);}
.fde-section{padding:6rem 2rem; background:var(--white);}
.fde-intro p{color:var(--text-gray); line-height:1.8;}
.step-number{position:absolute; top:-12px; left:1.5rem; background:var(--primary-gradient); color:white; padding:0.25rem 0.75rem; border-radius:20px; font-size:0.75rem; font-weight:700;}
.step-card p{color:var(--text-gray); font-size:0.9rem;}
.why-section{padding:6rem 2rem; background:linear-gradient(135deg, var(--primary-dark) 0%, #0D3B5C 100%); color:var(--white);}
.why-card h4{font-size:1.1rem; margin-bottom:0.75rem;}
.team-avatar{font-size:4rem; margin-bottom:1rem;}
.faq-section{padding:4rem 2rem; background:linear-gradient(180deg, #f0f4f8 0%, #e2e8f0 100%);}
.ux-btn:hover{transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.2);}
.ux-btn-theme{position:relative;}
.nav-external{color:#1A9B8A!important; font-weight:600!important; display:inline-flex; align-items:center; gap:4px;}
.about-text p{margin-bottom:14px; line-height:1.8;}
.cred-card h4{color:var(--text-dark); font-size:.95rem; margin-bottom:2px;}
.value-card p{color:var(--text-gray); font-size:.9rem; line-height:1.6;}
.cat-advanced{background:#fef3c7; color:#92400e;}
.content-card{background:var(--bg-white); border-radius:16px; padding:2rem; box-shadow:var(--shadow); margin-bottom:1.5rem; border:2px solid rgba(26,155,138,.1); position:relative; overflow:hidden;}
.contact-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.5rem; max-width:1200px; margin:0 auto;}
.contact-card{background:#fff; border-radius:12px; padding:2rem 1.5rem; text-align:center; border:2px solid transparent; transition:all .3s cubic-bezier(.4,0,.2,1); position:relative; box-shadow:0 4px 6px -1px rgba(0,0,0,0.08);}
.contact-icon{font-size:2.5rem; margin-bottom:1rem;}
.contact-hint{font-size:0.85rem; color:#718096; margin-top:0.5rem;}
.nav-ext-icon{width:11px; height:11px; opacity:0.55; margin-left:1px; transform:translateY(-1px);}
.hero-tagline{font-size:1.35rem; font-weight:600; color:var(--text-dark); margin-bottom:1.5rem; padding-left:0.9rem; border-left:4px solid var(--primary);}
.case-metrics{display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; padding:0.6rem 0; border-top:1px solid rgba(13,59,92,0.08); border-bottom:1px solid rgba(13,59,92,0.08); margin:0.2rem 0;}
.metric-label{font-size:0.6rem; color:var(--text-light); font-weight:500;}
.fde-intro h3{color:var(--primary-dark); font-size:1.25rem; margin-bottom:1rem;}
.ability-card{background:var(--white); border:2px solid rgba(26,155,138,0.1); border-radius:12px; padding:2rem; text-align:center; transition:all .3s cubic-bezier(.4,0,.2,1);}
.ability-icon{width:60px; height:60px; background:var(--primary-gradient); border-radius:12px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; color:white; font-size:1.5rem;}
.step-card h4{color:var(--primary-dark); margin:0.5rem 0 0.5rem; font-size:1.1rem;}
.service-card{background:var(--white); border-radius:16px; padding:2.5rem; box-shadow:var(--shadow); transition:all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;}
.service-icon{width:60px; height:60px; background:rgba(26,155,138,0.1); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; color:var(--primary); font-size:1.5rem;}
.service-link{color:var(--primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:0.5rem;}
.team-section{padding:4rem 2rem; background:#fff;}
.team-card h4{color:#0D3B5C; font-size:1.2rem; margin-bottom:0.5rem;}
.promo-banner{background:linear-gradient(135deg, #1A9B8A 0%, #0D3B5C 100%); padding:2.5rem 2rem; color:#fff;}
.btn-secondary{background:rgba(26,155,138,.08); color:var(--primary); border:2px solid rgba(26,155,138,.2);}
.suggestions a{color:var(--primary); text-decoration:none; padding:8px 12px; border-radius:8px; transition:background 0.2s; display:flex; align-items:center; gap:8px; font-size:0.95em;}
footer a:hover{color:var(--accent);}
.section-title{font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:700; color:var(--text-dark); text-align:center; margin-bottom:1rem; letter-spacing:-.015em;}
.about-text h3{color:var(--primary); font-size:1.3rem; margin:2rem 0 1rem; font-weight:700;}
.about-text ul{margin:8px 0 16px 20px;}
.about-text li{margin-bottom:8px; line-height:1.7;}
.value-card h4{color:var(--text-dark); margin-bottom:.5rem;}
.contact-box p{opacity:.9; margin-bottom:1.5rem; font-size:1.1rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:2rem; text-align:center; color:rgba(255,255,255,.5); font-size:.9rem;}
.mobile-nav-hd{display:flex; justify-content:space-between; align-items:center; padding:1rem 1.25rem; border-bottom:1px solid var(--border);}
.cat-xinchuang{background:#fee2e2; color:#b91c1c;}
.contact-badge{position:absolute; top:-10px; right:16px; background:#1A9B8A; color:#fff; padding:4px 12px; border-radius:12px; font-size:0.75rem; font-weight:700;}
.hero-subtitle{font-size:1.2rem; color:var(--text-secondary); margin-bottom:1.25rem;}
.logo-showcase{width:100%; max-width:420px; min-height:480px; background:var(--white); border-radius:20px; box-shadow:var(--shadow-hover); display:flex; flex-direction:column; overflow:hidden; margin-left:auto;}
.wc-banner-btn{display:inline-flex; align-items:center; gap:0.5rem; padding:1rem 2rem; background:var(--white); color:#0D3B5C; font-weight:700; font-size:1.05rem; border-radius:10px; text-decoration:none; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:0 4px 16px rgba(0,0,0,0.15); white-space:nowrap; flex-shrink:0;}
.fde-abilities{display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; margin-bottom:3rem;}
.process-steps{display:grid; grid-template-columns:repeat(4, 1fr); gap:1.5rem;}
.services-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem;}
.team-creds li{padding:0.3rem 0; color:#4a5568; font-size:0.9rem;}
.promo-content{flex:1; min-width:280px;}
.suggestions h2{font-size:0.85em; color:var(--text-light); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:12px; font-weight:600;}
.suggestions ul{list-style:none; display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:8px;}
body.theme-dark{--bg-light:#0f172a; --bg-white:#1e293b; --text-dark:#f1f5f9; --text-gray:#cbd5e1; --text-light:#94a3b8; --border:#334155; --shadow:0 4px 6px -1px rgba(0,0,0,0.3); background:var(--bg-light); color:var(--text-dark); --bg-primary:#0f172a; --bg-card:#1e293b; --text-primary:#f1f5f9; --text-secondary:#cbd5e1; --white:#0f172a;}
.contact-box h2{font-size:1.8rem; margin-bottom:1rem;}
.footer-content{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem;}
.footer-brand p{color:rgba(255,255,255,.7); line-height:1.7;}
.footer-links a{color:rgba(255,255,255,.7); text-decoration:none; transition:color .3s;}
.mobile-overlay{display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); z-index:150;}
.content-card p{color:var(--text-secondary); margin-bottom:.75rem;}
.contact-card p{color:#4a5568; line-height:1.6;}
.contact-card a{color:#1A9B8A; text-decoration:none; font-weight:600; word-break:break-all;}
.hero-container{max-width:1200px; margin:0 auto; padding:1rem 2rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.wc-banner-text{flex:1;}
.case-image img{width:100%; height:100%; object-fit:cover; display:block;}
.section-header{text-align:center; margin-bottom:4rem;}
.ability-card p{color:var(--text-gray); font-size:0.9rem;}
.service-card p{color:var(--text-gray); margin-bottom:1.5rem; line-height:1.7;}
.why-card:hover{background:rgba(255,255,255,0.15); transform:translateY(-4px);}
.faq-item:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08);}
.sticky-cta-btn{background:#fff; color:#1A9B8A; padding:8px 16px; border-radius:6px; text-decoration:none; font-weight:700; font-size:0.9rem; white-space:nowrap;}
.svc-card:hover{border-color:var(--primary); transform:translateY(-4px); box-shadow:var(--shadow);}
.skip-link:focus{top:0;}
.hero .container{max-width:1200px; margin:0 auto;}
.cred-card:hover{border-color:var(--primary); background:var(--white); box-shadow:var(--shadow);}
.footer-links h4{color:var(--white); margin-bottom:1rem; font-size:1rem;}
.footer-links ul{list-style:none;}
.footer-links li{margin-bottom:.5rem;}
.step-card:hover{border-color:var(--primary); box-shadow:var(--shadow);}
.content-card h2{font-size:1.4rem; margin-bottom:1rem; color:var(--text-dark); padding-bottom:.75rem; border-bottom:2px solid var(--primary);}
.contact-card h4{color:#0D3B5C; font-size:1.15rem; margin-bottom:0.75rem;}
.content-card ul{margin:.75rem 0 .75rem 1.5rem; color:var(--text-secondary);}
.content-card li{margin-bottom:.4rem;}
.hero-content h1{font-size:3rem; font-weight:800; line-height:1.2; margin-bottom:1rem; background:var(--primary-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.case-link:hover{color:#0D3B5C;}
.ability-card h4{color:var(--text-dark); margin-bottom:0.5rem;}
.service-card h3{font-size:1.25rem; color:var(--text-dark); margin-bottom:1rem;}
.credential-card{background:var(--bg-light); border-radius:12px; padding:1.5rem; display:flex; align-items:center; gap:1rem; border:2px solid transparent; transition:all .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow);}
.author-bio-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin-bottom:2.5rem;}
.author-bio-card{background:#ffffff; border:1px solid #e2e8f0; border-radius:16px; padding:2rem 1.5rem; text-align:center; box-shadow:0 4px 16px rgba(15, 23, 42, 0.06); transition:transform 0.25s ease, box-shadow 0.25s ease;}
.author-bio-icon{font-size:2.5rem; margin-bottom:0.75rem;}
.contact-section{padding:4rem 2rem; background:linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%);}
.team-card:hover{transform:translateY(-4px); box-shadow:0 10px 20px -5px rgba(26,155,138,0.15);}
.testimonial-cta{text-align:center; margin-top:1.5rem;}
.promo-container{max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap;}
.promo-content p{opacity:0.95; line-height:1.5;}
.btn-promo:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.2);}
.sticky-cta-text{flex:1; font-size:0.9rem; font-weight:600;}
.value-card:hover{border-color:var(--primary); transform:translateY(-4px); box-shadow:var(--shadow);}
.contact-box .btn{display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1.6rem; border-radius:10px; font-weight:600; text-decoration:none; transition:transform .15s,box-shadow .15s; min-height:44px; background:rgba(255,255,255,.15); color:#fff; border:2px solid rgba(255,255,255,.7);}
.footer-container{max-width:1200px; margin:0 auto;}
.menu-toggle span{display:block; width:22px; height:2px; background:var(--text-dark); margin:3px 0; border-radius:2px; transition:all .3s cubic-bezier(.4,0,.2,1);}
.mobile-nav-close{background:none; border:none; font-size:1.5rem; cursor:pointer; color:var(--text-dark); padding:4px; line-height:1;}
.mobile-nav-links{list-style:none; padding:.5rem 0; margin:0;}
.faq-item details{padding:18px 22px;}
.faq-item summary{font-weight:600; font-size:1em; color:var(--primary); cursor:pointer; list-style:none; padding:0.5rem 0; display:flex; align-items:center; justify-content:space-between;}
.news-title:hover{color:var(--primary); text-decoration:underline;}
.wc-banner-text p{font-size:1rem; color:rgba(255,255,255,0.85); margin:0;}
.section-header p{color:var(--text-gray); font-size:1.1rem; max-width:600px; margin:0 auto;}
.services-section{padding:6rem 2rem; background:var(--bg-light);}
.credentials-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem;}
.credential-badge{width:50px; height:50px; background:var(--primary-gradient); border-radius:10px; display:flex; align-items:center; justify-content:center; color:white; font-size:1.25rem; flex-shrink:0;}
.testimonial-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.5rem; max-width:1200px; margin:0 auto 2rem;}
.testimonial-card{background:#f0f4f8; border-left:4px solid #1A9B8A; border-radius:8px; padding:1.5rem; margin:0; box-shadow:var(--shadow); transition:all .3s cubic-bezier(.4,0,.2,1);}
.promo-content h3{font-size:1.5rem; margin-bottom:0.5rem;}
.sticky-cta-inner{display:flex; align-items:center; gap:12px; max-width:600px; margin:0 auto;}
.svc-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--primary-gradient); transform:scaleX(0); transition:transform .3s;}
.btn-primary:hover{background:var(--primary-light); transform:translateY(-1px); box-shadow:0 14px 28px rgba(13,59,92,.18);}
.about-text strong{color:var(--text-primary);}
.mobile-nav.active{right:0;}
.contact-wechat-qr{display:flex; justify-content:center; margin:0.5rem 0 1rem;}
.nav-links a:hover{color:var(--primary); background:rgba(26,155,138,.06);}
.wc-banner-text h2{font-size:1.6rem; font-weight:800; color:var(--white); margin-bottom:0.5rem; letter-spacing:0.5px;}
.section-container{max-width:1200px; margin:0 auto;}
.section-header h2{font-size:2.5rem; font-weight:700; color:var(--text-dark); margin-bottom:1rem; letter-spacing:-.015em;}
.credential-info p{color:var(--text-gray); font-size:0.85rem;}
.author-bio-card p{color:var(--text-muted); font-size:0.95rem; margin:0; line-height:1.55;}
.faq-answer strong{color:#0D3B5C;}
.testimonial-cta p{color:#4a5568; margin-bottom:1rem;}
.ux-btn-back-to-top{opacity:0; visibility:hidden;}
.footer-brand .logo{margin-bottom:1rem;}
.mobile-nav-hd span{font-weight:600; color:var(--primary); font-size:1rem;}
.mobile-nav-links a{display:block; padding:.75rem 1.25rem; color:var(--text-dark); text-decoration:none; font-size:.95rem; border-bottom:1px solid var(--border); transition:background .2s;}
.faq-item details p{margin-top:10px; color:var(--text-secondary); font-size:.9em; line-height:1.7;}
.news-cat,.news-tag{padding:.15rem .5rem; border-radius:4px; font-size:.75rem; font-weight:600; min-width:40px; text-align:center;}
.contact-card:hover{border-color:var(--primary); transform:translateY(-4px); box-shadow:0 10px 20px -5px rgba(0,0,0,0.12);}
.nav-external:hover{color:#0D3B5C !important;}
.ability-card:hover{border-color:var(--primary); transform:translateY(-4px); box-shadow:var(--shadow);}
.service-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-hover);}
.credential-info h4{color:var(--text-dark); font-size:1rem; margin-bottom:0.25rem;}
.author-bio-section{padding:6rem 2rem; background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);}
.author-bio-card h4{font-size:1.15rem; font-weight:600; color:var(--text-dark); margin:0 0 0.5rem 0;}
.testimonial-card p{color:#4a5568; line-height:1.7; font-style:italic; margin-bottom:1rem;}
.btn-secondary:hover{border-color:var(--accent); color:var(--white); background:rgba(26,155,138,.15);}
.suggestions a:hover{background:var(--bg);}
.wc-banner-container{max-width:1200px; margin:0 auto; background:linear-gradient(135deg, #0D3B5C 0%, #1A9B8A 100%); border-radius:16px; padding:2.5rem 3rem; text-align:center; display:flex; align-items:center; justify-content:space-between; gap:2rem; box-shadow:0 8px 32px rgba(13,59,92,0.25); position:relative; overflow:hidden;}
.wc-banner-btn:hover{transform:translateY(-2px); box-shadow:0 8px 30px rgba(245,197,24,0.5) !important;}
.credentials-section{padding:6rem 2rem; background:var(--white);}
.testimonial-section{padding:4rem 2rem; background:#fff;}
.footer-links a:hover{color:var(--primary);}
body.theme-dark .hero{background:linear-gradient(180deg,#0f172a 0%,#1e293b 100%);}
.news-item:last-child{border-bottom:none;}
.content-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--primary-gradient); transform:scaleX(0); transition:transform .3s;}
.contact-card a:hover{text-decoration:underline;}
.service-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--primary-gradient); transform:scaleX(0); transition:transform 0.3s;}
.suggestions a::before{content:"→"; color:var(--accent); font-weight:700;}
body.theme-dark header{background:rgba(15,23,42,.95); border-bottom-color:#334155;}
body.theme-dark footer{background:#0a0f1a;}
.mobile-overlay.active{display:block;}
.contact-card-featured{border:2px solid #1A9B8A; transform:scale(1.02); position:relative;}
.contact-wechat-qr img{border-radius:8px; background:#fff; padding:6px; box-shadow:0 2px 8px rgba(0,0,0,0.08); transition:transform 0.2s;}
.credential-card:hover{border-color:var(--primary); background:var(--white); box-shadow:var(--shadow);}
.author-bio-card:hover{transform:translateY(-4px); box-shadow:0 12px 32px rgba(15, 23, 42, 0.12);}
.author-bio-commitment{max-width:880px; margin:0 auto; text-align:center; padding-top:1.5rem; border-top:1px dashed #cbd5e1;}
.testimonial-card cite{display:block; font-style:normal; color:#0D3B5C; font-weight:600;}
.sticky-cta-text small{display:block; font-size:0.75rem; font-weight:400; opacity:0.9;}
.contact-box .btn:hover{background:rgba(255,255,255,.25);}
body.theme-dark .ux-btn{background:var(--primary);}
input, textarea, select{font-size:16px; -webkit-appearance:none; appearance:none;}
.svc-card:hover::before{transform:scaleX(1);}
.ux-btn-back-to-top.show{opacity:1; visibility:visible;}
.footer-brand .logo-text{color:var(--white);}
.author-bio-commitment p{color:var(--text); line-height:1.7; margin:0 0 0.75rem 0;}
.faq-item summary::after{content:"+"; font-size:1.5rem; color:#1A9B8A; transition:transform 0.2s;}
.mobile-nav-links a:hover{background:var(--bg-light);}
.faq-item summary::marker{content:none;}
body.theme-dark .faq-item{background:#1e293b; border-color:#334155;}
body.theme-dark .svc-card{background:#1e293b; border-color:#334155;}
body.theme-dark .cred-card{background:#1e293b;}
body.theme-dark .step-card{background:#1e293b; border-color:#334155;}
body.theme-dark .about-text{color:var(--text-secondary);}
body.theme-dark .value-card{background:#1e293b; border-color:#334155;}
.mobile-nav-links .mnav-ext{color:var(--primary);}
.content-card:hover::before{transform:scaleX(1);}
.service-card:hover::before{transform:scaleX(1);}
.testimonial-card cite span{display:block; color:#718096; font-weight:400; font-size:0.85rem; margin-top:0.25rem;}
body.theme-dark .contact-box{background:linear-gradient(135deg,#1e293b,#0f172a);}
.contact-wechat-qr img:hover{transform:scale(1.05);}
.wc-banner-container::before{content:""; position:absolute; top:-40%; right:-10%; width:300px; height:300px; background:rgba(255,255,255,0.05); border-radius:50%;}
body.theme-dark .cred-card h4{color:var(--text-primary);}
body.theme-dark .content-card{background:#1e293b; border-color:#334155;}
body.theme-dark .contact-card{background:#1e293b; border-color:#334155;}
.author-bio-commitment .muted{color:var(--text-muted); font-size:0.9rem;}
body.theme-dark .promo-banner{background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);}
body.theme-dark .section-title{color:var(--white);}
body.theme-dark .value-card h4{color:var(--text-primary);}
.why-section .section-header p{color:rgba(255,255,255,0.8);}
.faq-item[open] summary::after{content:"−";}
.why-section .section-header h2{color:var(--white);}
body.theme-dark .contact-section{background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);}
body.theme-dark .author-bio-card{background:#1e293b; border-color:#334155;}
.nav-external:hover .nav-ext-icon{opacity:1;}
body.theme-dark .about-text strong{color:var(--text-primary);}
body.theme-dark .author-bio-card p{color:#94a3b8;}
a, button, input, textarea, select{-webkit-tap-highlight-color:transparent;}
.author-bio-section .section-header{text-align:center; margin-bottom:3rem;}
body.theme-dark .author-bio-section{background:linear-gradient(180deg, #0f172a 0%, #1e293b 100%);}
body.theme-dark .author-bio-card h4{color:#f1f5f9;}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.menu-toggle.active span:nth-child(2){opacity:0;}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.author-bio-section .section-header p{color:var(--text-muted); font-size:1.05rem; max-width:720px; margin:0 auto;}
.nav-links a:hover,.nav-links a.active{color:var(--primary); background:rgba(26,155,138,.08);}
.author-bio-section .section-header h2{font-size:2.5rem; font-weight:700; color:var(--text-dark); margin-bottom:0.75rem;}
body.theme-dark .author-bio-commitment{border-top-color:#334155;}
body.theme-dark .contact-wechat-qr img{background:#f1f5f9;}
body.theme-dark .ux-btn-theme .icon-sun{opacity:1; transform:rotate(0deg);}
.nav-links a:hover, .nav-links a.active{color:var(--primary); background:rgba(26,155,138,0.08);}
body.theme-dark .ux-btn-theme .icon-moon{opacity:0; transform:rotate(180deg);}
body.theme-dark .author-bio-commitment p{color:#cbd5e1;}
.faq-item summary::-webkit-details-marker{display:none;}
body:not(.theme-dark) .ux-btn-theme .icon-sun{opacity:0; transform:rotate(180deg);}
.container, .main-content, .section-container{max-width:1100px;}
body:not(.theme-dark) .ux-btn-theme .icon-moon{opacity:1; transform:rotate(0deg);}
.ux-btn-theme .icon-sun,.ux-btn-theme .icon-moon{position:absolute; transition:opacity .3s,transform .3s;}
.btn, .btn-back, .cta-btn, .wc-banner-btn, .home-btn{border-radius:10px;}
body.theme-dark .author-bio-section .section-header p{color:#94a3b8;}
body.theme-dark header,
        body.theme-dark footer{background:var(--bg-white); border-color:var(--border);}
body.theme-dark .author-bio-section .section-header h2{color:#f1f5f9;}
.ux-btn-theme .icon-sun,
        .ux-btn-theme .icon-moon{position:absolute; transition:opacity 0.3s, transform 0.3s;}
a, .btn, button, input[type=button], input[type=submit]{min-height:44px; min-width:44px;}
.btn, .btn-back, .cta-btn, .wc-banner-btn, .home-btn, .cat-tab, .suggestion-card{min-height:44px; min-width:44px;}

body.theme-dark .contact-card,
        body.theme-dark .service-card,
        body.theme-dark .why-card,
        body.theme-dark .credential-card{background:#1e293b; border-color:#334155;}
body.theme-dark .contact-card, body.theme-dark .service-card,
body.theme-dark .why-card, body.theme-dark .credential-card,
body.theme-dark .team-card, body.theme-dark .faq-item,
body.theme-dark .testimonial-card{background:#1e293b; border-color:#334155;}
@media (max-width: 1024px){
.stats{justify-content:center;}
.hero-tagline{padding-left:0; border-left:none; border-bottom:4px solid var(--primary); padding-bottom:1rem;}
.hero-container{grid-template-columns:1fr; text-align:center;}
.footer-content{grid-template-columns:repeat(2, 1fr);}
.hero-content h1{font-size:2.5rem;}
.process-steps,
            .why-grid{grid-template-columns:repeat(2, 1fr);}
.fde-abilities,
            .services-grid,
            .credentials-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width: 480px){
p{font-size:0.95em;}
h1{font-size:1.25em;}
.btn{width:100%; justify-content:center;}
.code{font-size:96px;}
.hero{padding-top:60px;}
.actions{flex-direction:column;}
.page-hero p{font-size:1rem;}
.page-hero h1{font-size:1.6rem;}
.section-title{font-size:1.2rem;}
.hero-content h1{font-size:1.5rem;}
.sticky-cta-text small{font-size:0.72rem;}
.nav-links a, .nav-bar a{font-size:0.9rem; padding:0.45rem 0.6rem;}
.hero-visual, .logo-showcase{display:none;}
.content-card, .contact-card, .faq-item, .card{padding:1.1rem;}
.cta-buttons, .page-header-actions, .hero-links{flex-direction:column;}
.btn, .btn-back, .cta-btn, .wc-banner-btn, .home-btn{width:100%; justify-content:center;}
.page-hero p, .hero-desc, .about-text p, .content-card p{line-height:1.5;}
.site-header-inner, .header-inner, .container, .main-content, .section-container{padding-left:1rem; padding-right:1rem;}
}
@media (max-width: 600px){
.author-bio-section{padding:4rem 1.25rem;}
.author-bio-section .section-header h2{font-size:1.85rem;}
}
@media (max-width: 640px){
.ux-btn{width:42px; height:42px; font-size:1.1rem;}
.ux-toolbar{bottom:16px; right:16px;}
.hero-content h1{font-size:1.8rem;}
.container, .section{padding:2rem 1rem;}
}
@media (max-width: 768px){
.stats{flex-direction:column; gap:1.5rem;}
.case-sub{font-size:0.62rem;}
.wc-banner{padding:1rem;}
.nav-links{display:none !important;}
.case-body{padding:0.7rem 0.7rem 0.6rem; gap:0.3rem;}
.case-link{font-size:0.65rem;}
.case-image{aspect-ratio:16 / 10;}
.case-title{font-size:0.9rem;}
.metric-num{font-size:1.1rem;}
.sticky-cta{display:block;}
.cta-buttons{flex-direction:column;}
.menu-toggle{display:block;}
.case-metrics{gap:4px; padding:0.4rem 0;}
.metric-label{font-size:0.5rem;}
.wc-banner-btn{padding:0.85rem 1.5rem; font-size:0.95rem; width:100%; justify-content:center; min-height:44px;}
.logo-showcase{width:100%; max-width:none; min-height:380px; padding:0.5rem; gap:8px; border-radius:16px;}
.footer-content{grid-template-columns:1fr;}
.hero-content h1{font-size:2rem;}
.wc-banner-text p{font-size:0.9rem; line-height:1.5;}
.wc-banner-text h2{font-size:1.15rem; line-height:1.35; word-break:break-word;}
.logo-showcase-icon{width:120px; height:120px; font-size:3rem;}
.wc-banner-container{flex-direction:column; text-align:center; padding:1.25rem 1rem; gap:1rem;}
.wc-banner-container::before{display:none;}
.fde-abilities,
            .services-grid,
            .credentials-grid,
            .process-steps,
            .why-grid{grid-template-columns:1fr;}
}
@media (max-width: 900px){
.author-bio-grid{grid-template-columns:1fr; gap:1rem;}
}
@media (prefers-color-scheme: dark){
a{color:var(--primary);}
:root{--bg:#0f172a; --bg-card:#1e293b; --text:#f1f5f9; --text-light:#94a3b8; --border:#334155; --primary:#1A9B8A; --accent:#00d4d4; --primary-dark:#0D3B5C;}
.faq-item{background:var(--bg-white);}
.skip-link{background:var(--primary); position:absolute; top:-40px; left:0; color:#fff; padding:8px 16px; z-index:9999; text-decoration:none; border-radius:0 0 4px 0; font-weight:600;}
nav, header{background:rgba(15, 20, 25, 0.96);}
.hero-promo{background:rgba(26,155,138,0.15);}
.faq-section{background:linear-gradient(180deg, var(--bg-light) 0%, var(--bg-white) 100%);}
.promo-banner{color:var(--text-dark);}
.skip-link:focus{top:0;}
.promo-content p{color:#cbd5e1;}
.stat-number, .case-title{color:var(--accent);}
.team-card, .testimonial-card{background:var(--bg-light);}
.team-section, .testimonial-section{background:var(--bg-white);}
.hero h1, .hero p, h2, h3, h4, p, .stat-label{color:var(--text);}
.card, .faq-item details, .case-card, .service-card{background:var(--bg-card); border-color:var(--border);}
}
@media (prefers-reduced-motion: reduce){
*, *::before, *::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
@media(max-width:1024px){
.svc-grid{grid-template-columns:1fr;}
.steps-grid{grid-template-columns:repeat(2,1fr);}
.contact-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
.hero h1{font-size:1.8rem;}
.section{padding:3rem 1rem;}
.steps-grid{grid-template-columns:1fr;}
.contact-box{padding:2rem 1rem;}
.footer-content{grid-template-columns:1fr;}
.creds-grid,.values-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
.nav-links{display:none!important;}
.sticky-cta{display:block; position:fixed; bottom:0; left:0; right:0; background:var(--primary); color:#fff; padding:12px 16px; z-index:9999; text-align:center;}
.menu-toggle{display:flex;}
.sticky-cta-btn{background:#fff; color:var(--primary); padding:8px 20px; border-radius:8px; text-decoration:none; font-weight:700; font-size:.9rem;}
.sticky-cta-text{font-size:.9rem; font-weight:600;}
.sticky-cta-inner{display:flex; align-items:center; justify-content:space-between; max-width:600px; margin:0 auto;}
.sticky-cta-text small{display:block; font-size:.75rem; opacity:.8; font-weight:400;}
}

/* 微调：修复 header 内 .logo 横排对齐（移除竖排上下文遗留的 margin-bottom:2rem） */
header .logo{margin:0;}
.testimonial-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-hover); border-left-color:var(--primary-light);}


/* ============================================================
   视觉升级 - 高端精致化
   ============================================================ */

/* 设计变量优化 */
:root {
  --shadow-sm: 0 1px 3px rgba(13, 59, 92, 0.06), 0 1px 2px rgba(13, 59, 92, 0.04);
  --shadow-md: 0 4px 16px rgba(13, 59, 92, 0.08), 0 2px 6px rgba(13, 59, 92, 0.04);
  --shadow-lg: 0 12px 40px rgba(13, 59, 92, 0.12), 0 4px 12px rgba(13, 59, 92, 0.06);
  --shadow-xl: 0 20px 60px rgba(13, 59, 92, 0.15), 0 8px 20px rgba(13, 59, 92, 0.08);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
}

/* 导航栏质感增强 */
header {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(26, 155, 138, 0.08) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03), 0 4px 20px rgba(15, 23, 42, 0.03) !important;
}

.nav-links a {
  position: relative;
  transition: color 0.25s ease, background-color 0.25s ease;
}
.nav-links a:hover {
  color: var(--primary) !important;
  background: rgba(26, 155, 138, 0.06);
}

/* 按钮精致化 */
.btn {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}
.btn:hover::before {
  left: 100%;
}

.btn-primary {
  background: linear-gradient(135deg, #1A9B8A 0%, #0D3B5C 100%);
  box-shadow: var(--shadow-md);
  letter-spacing: 0.01em;
}
.btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-lg) !important;
  background: linear-gradient(135deg, #2ABBA8 0%, #1A5276 100%);
}

.btn-secondary {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-weight: 600;
}
.btn-secondary:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
  border-color: var(--primary) !important;
  background: rgba(26, 155, 138, 0.08) !important;
}

/* 卡片质感全面升级 */
.svc-card,
.value-card,
.step-card,
.cred-card,
.team-card,
.ability-card,
.service-card,
.contact-card,
.faq-item {
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.svc-card {
  border: 1px solid rgba(26, 155, 138, 0.08) !important;
  box-shadow: var(--shadow-sm) !important;
  background: #fff;
  position: relative;
}
.svc-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary) 0%, var(--primary-light) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: 16px 16px 0 0;
}
.svc-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-xl) !important;
  border-color: rgba(26, 155, 138, 0.2) !important;
}
.svc-card:hover::before {
  opacity: 1;
}

.value-card,
.ability-card,
.service-card {
  border: 1px solid rgba(26, 155, 138, 0.08) !important;
  box-shadow: var(--shadow-sm) !important;
}
.value-card:hover,
.ability-card:hover,
.service-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: rgba(26, 155, 138, 0.18) !important;
}

.step-card {
  border: 1px solid rgba(26, 155, 138, 0.08) !important;
  box-shadow: var(--shadow-sm) !important;
}
.step-card:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: rgba(26, 155, 138, 0.2) !important;
  transform: translateY(-2px);
}

.cred-card {
  border: 1px solid rgba(26, 155, 138, 0.06) !important;
  box-shadow: var(--shadow-sm) !important;
}
.cred-card:hover {
  border-color: rgba(26, 155, 138, 0.15) !important;
  background: #fff !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
}

.team-card {
  border: 1px solid rgba(26, 155, 138, 0.06) !important;
  box-shadow: var(--shadow-sm) !important;
}
.team-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
}

.faq-item {
  border: 1px solid rgba(26, 155, 138, 0.08) !important;
  box-shadow: none !important;
}
.faq-item:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: rgba(26, 155, 138, 0.15) !important;
  transform: translateY(-1px);
}

/* Hero 区质感 */
.hero {
  background: linear-gradient(180deg, rgba(240, 244, 248, 0.8) 0%, #ffffff 100%) !important;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(26, 155, 138, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(13, 59, 92, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

.hero-promo {
  background: rgba(26, 155, 138, 0.08) !important;
  border: 1px solid rgba(26, 155, 138, 0.15);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.hero-content h1 {
  letter-spacing: -0.02em !important;
}

/* 分区优化 */
.section {
  position: relative;
}

.section-header {
  margin-bottom: 3.5rem !important;
}

.section-header h2 {
  letter-spacing: -0.01em;
  position: relative;
  display: inline-block;
}

/* 为什么选择我们 - 深色卡片质感 */
.why-card {
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.why-card:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}

/* Footer 精致化 */
footer {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f172a 100%) !important;
  position: relative;
}
footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(26, 155, 138, 0.3), transparent);
}

footer a:hover {
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

/* 文字排版优化 */
h2 {
  letter-spacing: -0.01em;
}

p {
  line-height: 1.75 !important;
}

/* 标签/徽标精致化 */
.step-num {
  box-shadow: 0 2px 8px rgba(26, 155, 138, 0.25) !important;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.case-tag {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 入场动效 - 渐入上移 */
.svc-card,
.value-card,
.step-card,
.cred-card,
.team-card,
.ability-card,
.service-card,
.contact-card,
.why-card,
.faq-item,
.section-header {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.svc-card:nth-child(1) { animation-delay: 0.05s; }
.svc-card:nth-child(2) { animation-delay: 0.1s; }
.value-card:nth-child(1) { animation-delay: 0.05s; }
.value-card:nth-child(2) { animation-delay: 0.1s; }
.value-card:nth-child(3) { animation-delay: 0.15s; }
.step-card:nth-child(1) { animation-delay: 0.05s; }
.step-card:nth-child(2) { animation-delay: 0.1s; }
.step-card:nth-child(3) { animation-delay: 0.15s; }
.step-card:nth-child(4) { animation-delay: 0.2s; }
.cred-card:nth-child(1) { animation-delay: 0.05s; }
.cred-card:nth-child(2) { animation-delay: 0.1s; }
.cred-card:nth-child(3) { animation-delay: 0.15s; }
.team-card:nth-child(1) { animation-delay: 0.05s; }
.team-card:nth-child(2) { animation-delay: 0.1s; }
.team-card:nth-child(3) { animation-delay: 0.15s; }
.why-card:nth-child(1) { animation-delay: 0.05s; }
.why-card:nth-child(2) { animation-delay: 0.1s; }
.why-card:nth-child(3) { animation-delay: 0.15s; }
.why-card:nth-child(4) { animation-delay: 0.2s; }
.why-card:nth-child(5) { animation-delay: 0.25s; }

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 减弱动画偏好 */
@media (prefers-reduced-motion: reduce) {
  .svc-card,
  .value-card,
  .step-card,
  .cred-card,
  .team-card,
  .ability-card,
  .service-card,
  .contact-card,
  .why-card,
  .faq-item,
  .section-header {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .btn::before {
    display: none;
  }
  .svc-card::before {
    display: none;
  }
}

/* 暗色模式优化 */
@media (prefers-color-scheme: dark) {
  .svc-card,
  .value-card,
  .step-card,
  .cred-card,
  .ability-card,
  .service-card,
  .contact-card,
  .faq-item {
    background: var(--bg-card) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
  }
  header {
    background: rgba(15, 23, 42, 0.85) !important;
  }
}


/* ============================================================
   第二轮微调 - 细节质感提升
   ============================================================ */

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #1A9B8A 0%, #0D3B5C 100%);
  border-radius: 10px;
  border: 2px solid #f1f5f9;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #2ABBA8 0%, #1A5276 100%);
}

/* Firefox 滚动条 */
* {
  scrollbar-width: thin;
  scrollbar-color: #1A9B8A #f1f5f9;
}

/* 文字选中色 */
::selection {
  background: rgba(26, 155, 138, 0.2);
  color: #0D3B5C;
}
::-moz-selection {
  background: rgba(26, 155, 138, 0.2);
  color: #0D3B5C;
}

/* 按钮 active 按压缩放 */
.btn:active {
  transform: scale(0.97) !important;
  transition: transform 0.1s ease !important;
}
.btn-primary:active {
  box-shadow: var(--shadow-sm) !important;
}

/* 导航链接下划线动效 */
.nav-links a {
  position: relative;
}
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #1A9B8A, #0D3B5C);
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateX(-50%);
}
.nav-links a:hover::after,
.nav-links a.active::after {
  width: calc(100% - 1.5rem);
}

/* 输入框 focus 光晕 */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
textarea {
  transition: all 0.25s ease;
  outline: none;
}
input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  border-color: rgba(26, 155, 138, 0.4) !important;
  box-shadow: 0 0 0 4px rgba(26, 155, 138, 0.12) !important;
}

/* 暗色模式下的滚动条 */
@media (prefers-color-scheme: dark) {
  ::-webkit-scrollbar-track {
    background: #1e293b;
  }
  ::-webkit-scrollbar-thumb {
    border-color: #1e293b;
  }
  * {
    scrollbar-color: #1A9B8A #1e293b;
  }
  ::selection {
    background: rgba(26, 155, 138, 0.3);
    color: #f1f5f9;
  }
  ::-moz-selection {
    background: rgba(26, 155, 138, 0.3);
    color: #f1f5f9;
  }
}
