/* ====================================================================
   DMC Group — Design System  (light · navy + gold + plum from logo)
   ==================================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --navy-900:#0f1d33; --navy-800:#16294a; --navy-700:#1e3556; --navy-600:#2a4570;
  --gold:#d6a52b; --gold-600:#bd8c1c; --gold-700:#9a7016; --gold-100:#f7eed2; --gold-50:#fbf6e8;
  --plum:#8b4b9f; --plum-600:#7a3f8d; --plum-100:#f1e7f4; --plum-50:#f8f3fa;
  --bg:#ffffff; --bg-soft:#f7f8fb; --bg-warm:#faf8f3; --bg-navy:#0f1d33;
  --ink:#15233b; --ink-2:#525f73; --ink-3:#8c97a8;
  --border:#e7eaf1; --border-2:#eef1f6; --white:#ffffff;
  --brand-grad: linear-gradient(120deg, #e0a92e 0%, #c9794f 48%, #8b4b9f 100%);
  --gold-grad: linear-gradient(120deg, #e6b53a 0%, #c89020 100%);
  --font-heading: 'Playfair Display', 'Songti SC', 'Noto Serif SC', Georgia, serif;
  --font-body: 'Inter', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', system-ui, sans-serif;
  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --shadow-sm:0 1px 2px rgba(15,29,51,.06), 0 1px 3px rgba(15,29,51,.05);
  --shadow-md:0 6px 20px rgba(15,29,51,.07), 0 2px 6px rgba(15,29,51,.05);
  --shadow-lg:0 24px 60px rgba(15,29,51,.12), 0 8px 24px rgba(15,29,51,.07);
  --ease:cubic-bezier(.22,1,.36,1);
  --container: min(1180px, 92vw);
  --section-pad: clamp(4rem, 8vw, 7rem);
  --slate-50:#f7f8fb; --slate-100:#eef1f6; --slate-200:#e7eaf1; --slate-300:#cfd6e2;
  --slate-400:#aab3c2; --slate-500:#8c97a8; --slate-600:#525f73;
  --gold-400:#e6b53a; --gold-500:#bd8c1c;
  --text-primary:#15233b; --text-secondary:#525f73; --text-light:#8c97a8;
  --ease-out:cubic-bezier(.22,1,.36,1);
}

html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body { font-family:var(--font-body); color:var(--ink); background:var(--bg); line-height:1.7; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; }
::selection { background:var(--gold-100); color:var(--navy-800); }
.container { width:var(--container); margin:0 auto; }

h1,h2,h3,h4,h5 { font-family:var(--font-heading); font-weight:600; line-height:1.18; color:var(--navy-800); letter-spacing:-.01em; }
h1 { font-size:clamp(2.3rem, 4.6vw, 3.6rem); }
h2 { font-size:clamp(1.9rem, 3.2vw, 2.7rem); }
h3 { font-size:clamp(1.35rem, 2vw, 1.75rem); }
h4 { font-size:1.18rem; }
body[data-lang="zh"] h1, body[data-lang="zh"] h2, body[data-lang="zh"] h3, body[data-lang="zh"] h4, body[data-lang="zh"] h5 { font-family:var(--font-body); font-weight:700; letter-spacing:0; }
.accent { color:var(--gold-600); }
.accent-grad { background:var(--brand-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

.section-label { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--font-body); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-700); margin-bottom:1rem; }
.section-label::before { content:""; width:26px; height:2px; border-radius:2px; background:var(--brand-grad); }
.section-header { max-width:680px; margin:0 auto 3.2rem; text-align:center; }
.section-header .section-label { justify-content:center; }
.section-title { margin-bottom:1rem; }
.section-desc { color:var(--ink-2); font-size:1.05rem; line-height:1.8; }
.section-header .section-desc { margin:0 auto; }

.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.85rem 1.6rem; border-radius:var(--r-pill); font-weight:600; font-size:.96rem; letter-spacing:.01em; border:1.5px solid transparent; transition:all .25s var(--ease); cursor:pointer; }
.btn svg { width:18px; height:18px; transition:transform .25s var(--ease); }
.btn:hover svg { transform:translateX(3px); }
.btn-primary { background:var(--navy-800); color:#fff; box-shadow:0 6px 18px rgba(15,29,51,.18); }
.btn-primary:hover { background:var(--navy-900); transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,29,51,.24); }
.btn-gold { background:var(--gold-grad); color:var(--navy-900); box-shadow:0 8px 20px rgba(214,165,43,.32); }
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(214,165,43,.42); }
.btn-outline { background:transparent; color:var(--navy-800); border-color:var(--border); }
.btn-outline:hover { border-color:var(--navy-800); background:var(--navy-800); color:#fff; }
.btn-ghost { background:#fff; color:var(--navy-800); border-color:var(--border); box-shadow:var(--shadow-sm); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold-700); }

.site-header { position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(255,255,255,.82); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid transparent; transition:all .35s var(--ease); }
.site-header.scrolled { border-bottom-color:var(--border); box-shadow:0 4px 24px rgba(15,29,51,.06); background:rgba(255,255,255,.94); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:76px; }
.logo { display:flex; align-items:center; gap:.7rem; font-family:var(--font-heading); font-size:1.4rem; font-weight:700; color:var(--navy-800); letter-spacing:-.02em; }
body[data-lang="zh"] .logo { font-family:var(--font-body); }
.logo-mark { width:46px; height:46px; display:grid; place-items:center; }
.logo-mark img { width:100%; height:100%; object-fit:contain; }
.nav-links { display:flex; align-items:center; gap:.35rem; }
.nav-links > a { position:relative; padding:.55rem .9rem; font-size:.95rem; font-weight:500; color:var(--ink-2); border-radius:var(--r-pill); transition:color .2s var(--ease); }
.nav-links > a::after { content:""; position:absolute; left:.9rem; right:.9rem; bottom:.32rem; height:2px; background:var(--brand-grad); border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.nav-links > a:hover { color:var(--navy-800); }
.nav-links > a:hover::after, .nav-links > a.active::after { transform:scaleX(1); }
.nav-links > a.active { color:var(--navy-800); }
.nav-right { display:flex; align-items:center; gap:1rem; }
.lang-toggle { display:flex; align-items:center; border:1px solid var(--border); border-radius:var(--r-pill); overflow:hidden; background:#fff; }
.lang-toggle a { padding:.34rem .7rem; font-size:.82rem; font-weight:600; color:var(--ink-3); transition:all .2s var(--ease); }
.lang-toggle a.active { background:var(--navy-800); color:#fff; }
.nav-cta { padding:.6rem 1.25rem !important; background:var(--navy-800); color:#fff !important; border-radius:var(--r-pill); font-weight:600; box-shadow:0 4px 14px rgba(15,29,51,.16); transition:all .25s var(--ease); }
.nav-cta::after { display:none; }
.nav-cta:hover { background:var(--gold-grad); color:var(--navy-900) !important; transform:translateY(-1px); }
.menu-toggle { display:none; flex-direction:column; gap:5px; width:42px; height:42px; align-items:center; justify-content:center; background:none; border:1px solid var(--border); border-radius:10px; }
.menu-toggle span { width:20px; height:2px; background:var(--navy-800); border-radius:2px; transition:all .3s var(--ease); }

.hero { position:relative; padding:calc(76px + clamp(3rem,6vw,5.5rem)) 0 var(--section-pad); overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; background: radial-gradient(60% 70% at 85% 8%, rgba(139,75,159,.10), transparent 60%), radial-gradient(55% 65% at 8% 30%, rgba(214,165,43,.12), transparent 60%), linear-gradient(180deg, #fbfaf6 0%, #ffffff 60%); }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.5; background-image:linear-gradient(rgba(15,29,51,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(15,29,51,.04) 1px, transparent 1px); background-size:54px 54px; -webkit-mask-image:radial-gradient(70% 60% at 50% 35%, #000, transparent 80%); mask-image:radial-gradient(70% 60% at 50% 35%, #000, transparent 80%); }
.hero-inner { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:.55rem; padding:.45rem 1rem; border-radius:var(--r-pill); background:#fff; border:1px solid var(--border); box-shadow:var(--shadow-sm); font-size:.8rem; font-weight:600; color:var(--navy-700); letter-spacing:.02em; margin-bottom:1.6rem; }
.hero-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(214,165,43,.18); }
.hero h1 { font-size:clamp(2.5rem, 5vw, 4rem); line-height:1.08; margin-bottom:1.4rem; }
.hero h1 .accent-grad { display:inline-block; }
.hero-text > p { font-size:1.12rem; color:var(--ink-2); max-width:34rem; margin-bottom:2.2rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.9rem; }
.hero-visual { position:relative; }
.hero-card { position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--r-xl); padding:2.2rem; box-shadow:var(--shadow-lg); }
.hero-card::before { content:""; position:absolute; inset:0; border-radius:var(--r-xl); padding:1.5px; background:var(--brand-grad); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.5; pointer-events:none; }
.hero-card h4 { font-family:var(--font-body); font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-3); font-weight:700; margin-bottom:1.5rem; }
.stat-row { display:grid; grid-template-columns:1fr 1fr; gap:1.6rem 1.2rem; }
.stat-num { font-family:var(--font-heading); font-size:2.3rem; font-weight:700; color:var(--navy-800); line-height:1; letter-spacing:-.02em; }
body[data-lang="zh"] .stat-num { font-family:var(--font-body); }
.stat-num .gold { color:var(--gold-600); }
.stat-label { font-size:.86rem; color:var(--ink-2); margin-top:.4rem; }
.hero-float { position:absolute; right:-14px; top:-22px; background:#fff; border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow-md); padding:.7rem 1rem; display:flex; align-items:center; gap:.6rem; font-size:.85rem; font-weight:600; color:var(--navy-700); }
.hero-float svg { width:18px; height:18px; color:var(--gold-600); }

.creds { padding:2.2rem 0; border-top:1px solid var(--border-2); border-bottom:1px solid var(--border-2); background:var(--bg-soft); }
.creds-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.cred { display:flex; align-items:center; gap:.85rem; padding:.4rem .2rem; }
.cred-ic { flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:#fff; border:1px solid var(--border); color:var(--gold-600); box-shadow:var(--shadow-sm); }
.cred-ic svg { width:22px; height:22px; }
.cred span { font-size:.92rem; font-weight:600; color:var(--navy-700); line-height:1.35; }

.clients-section { padding:var(--section-pad) 0 calc(var(--section-pad) - 1rem); }
.clients-section .section-label { display:flex; justify-content:center; }
.clients-track-wrapper { overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.clients-track { display:flex; align-items:center; gap:3.5rem; width:max-content; animation:marquee 38s linear infinite; }
.clients-track-wrapper:hover .clients-track { animation-play-state:paused; }
.client-logo { flex:0 0 auto; height:46px; display:grid; place-items:center; }
.client-logo img { max-height:46px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.55; transition:all .3s var(--ease); }
.client-logo img:hover { filter:grayscale(0); opacity:1; }
@keyframes marquee { to { transform:translateX(-50%); } }

.services-section { padding:var(--section-pad) 0; background:var(--bg-soft); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.service-card { position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem 1.8rem; transition:all .3s var(--ease); overflow:hidden; }
.service-card::after { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:var(--brand-grad); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.service-card:hover { border-color:transparent; box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.service-card:hover::after { transform:scaleX(1); }
.service-icon { width:54px; height:54px; border-radius:14px; display:grid; place-items:center; margin-bottom:1.3rem; background:var(--gold-50); color:var(--gold-700); border:1px solid var(--gold-100); transition:all .3s var(--ease); }
.service-icon svg { width:26px; height:26px; }
.service-card:hover .service-icon { background:var(--navy-800); color:#fff; border-color:var(--navy-800); }
.service-card h4 { margin-bottom:.6rem; }
.service-card p { color:var(--ink-2); font-size:.96rem; margin-bottom:1.1rem; }
.service-link { display:inline-flex; align-items:center; gap:.35rem; font-size:.9rem; font-weight:600; color:var(--gold-700); }
.service-link svg { width:16px; height:16px; transition:transform .25s var(--ease); }
.service-card:hover .service-link svg { transform:translateX(4px); }

.latest-articles { padding:var(--section-pad) 0; }
.articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.article-card { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:all .3s var(--ease); display:flex; flex-direction:column; }
.article-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:transparent; }
.article-card-image { aspect-ratio:16/10; background:var(--bg-soft); overflow:hidden; display:grid; place-items:center; color:var(--ink-3); font-size:2rem; }
.article-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.article-card:hover .article-card-image img { transform:scale(1.05); }
.article-card-body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.article-card-date { font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--plum-600); margin-bottom:.6rem; }
.article-card-title { font-size:1.12rem; line-height:1.35; margin-bottom:.7rem; }
.article-card-title a:hover { color:var(--gold-700); }
.article-card-excerpt { font-size:.92rem; color:var(--ink-2); margin-bottom:1rem; flex:1; }
.article-card-link { font-size:.88rem; font-weight:600; color:var(--gold-700); display:inline-flex; align-items:center; gap:.35rem; }
.article-card-link svg { width:15px; height:15px; }

.why-section { padding:var(--section-pad) 0; background:var(--bg-navy); color:#cdd6e4; position:relative; overflow:hidden; }
.why-section::before { content:""; position:absolute; right:-10%; top:-20%; width:55%; height:140%; background:radial-gradient(circle, rgba(139,75,159,.22), transparent 60%); }
.why-section::after { content:""; position:absolute; left:-15%; bottom:-30%; width:55%; height:120%; background:radial-gradient(circle, rgba(214,165,43,.16), transparent 60%); }
.why-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; position:relative; }
.why-section .section-label { color:var(--gold); }
.why-section h2, .why-text h2 { color:#fff; }
.why-text > p { color:#aeb9cb; font-size:1.05rem; margin-top:1rem; }
.why-features { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.why-feature { display:flex; gap:1rem; padding:1.4rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:var(--r); transition:all .3s var(--ease); }
.why-feature:hover { background:rgba(255,255,255,.07); border-color:rgba(214,165,43,.4); transform:translateY(-3px); }
.why-feature-icon { flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--brand-grad); color:#fff; }
.why-feature-icon svg { width:22px; height:22px; }
.why-feature h4 { color:#fff; font-size:1.05rem; margin-bottom:.35rem; }
.why-feature p { color:#9fabbe; font-size:.9rem; line-height:1.6; }

.global-section { padding:var(--section-pad) 0; background:var(--bg-warm); }
.global-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; margin-top:.5rem; }
.geo-card { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:1.6rem 1.3rem; text-align:center; transition:all .3s var(--ease); }
.geo-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); border-color:var(--gold-100); }
.geo-flag { width:40px; height:30px; border-radius:6px; object-fit:cover; margin:0 auto 1rem; box-shadow:var(--shadow-sm); }
.geo-card h4 { font-size:1.05rem; margin-bottom:.3rem; }
.geo-tag { font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.geo-card.hq .geo-tag { color:var(--gold-700); }
.geo-card.hq { border-color:var(--gold-100); background:var(--gold-50); }

.tst-section { padding:var(--section-pad) 0; }
.tst-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.tst-card { position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem 1.8rem; transition:all .3s var(--ease); }
.tst-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.tst-stars { display:flex; gap:.2rem; color:var(--gold); margin-bottom:1rem; }
.tst-stars svg { width:16px; height:16px; fill:var(--gold); }
.tst-card p { color:var(--ink); font-size:1rem; line-height:1.75; margin-bottom:1.3rem; }
.tst-name { font-size:.88rem; font-weight:600; color:var(--navy-700); padding-top:1rem; border-top:1px solid var(--border-2); }

.faq-section { padding:var(--section-pad) 0; background:var(--bg-soft); }
.faq-wrap { max-width:780px; margin:0 auto; }
.faq-item { background:#fff; border:1px solid var(--border); border-radius:var(--r); margin-bottom:.9rem; overflow:hidden; transition:box-shadow .25s var(--ease); }
.faq-item.open { box-shadow:var(--shadow-md); }
.faq-q { width:100%; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.3rem 1.5rem; background:none; border:none; font-size:1.05rem; font-weight:600; color:var(--navy-800); font-family:var(--font-body); }
.faq-q svg { flex:0 0 auto; width:20px; height:20px; color:var(--gold-600); transition:transform .3s var(--ease); }
.faq-item.open .faq-q svg { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.faq-a-inner { padding:0 1.5rem 1.4rem; color:var(--ink-2); font-size:.98rem; line-height:1.8; }

.cta-section { padding:0 0 var(--section-pad); }
.cta-card { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; background:var(--navy-800); border-radius:var(--r-xl); padding:clamp(2.2rem,5vw,3.5rem); }
.cta-card::before { content:""; position:absolute; right:-5%; top:-40%; width:45%; height:180%; background:radial-gradient(circle, rgba(139,75,159,.35), transparent 60%); }
.cta-card::after { content:""; position:absolute; left:-10%; bottom:-60%; width:45%; height:180%; background:radial-gradient(circle, rgba(214,165,43,.28), transparent 60%); }
.cta-card > div { position:relative; }
.cta-card h2 { color:#fff; margin-bottom:.5rem; }
.cta-card p { color:#b9c3d4; font-size:1.05rem; }
.cta-card .btn { position:relative; }

.site-footer { background:var(--navy-900); color:#9fabbe; padding:clamp(3.5rem,6vw,5rem) 0 2rem; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand .logo { color:#fff; margin-bottom:1.1rem; }
.footer-brand p { font-size:.92rem; line-height:1.75; max-width:24rem; }
.footer-col h5 { color:#fff; font-family:var(--font-body); font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin-bottom:1.2rem; }
.footer-col ul li { margin-bottom:.7rem; }
.footer-col ul a { font-size:.93rem; color:#9fabbe; transition:color .2s var(--ease); }
.footer-col ul a:hover { color:var(--gold); }
.footer-contact li { display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.9rem; font-size:.92rem; }
.footer-contact svg { flex:0 0 auto; width:18px; height:18px; color:var(--gold); margin-top:.15rem; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; padding-top:1.6rem; font-size:.85rem; color:#7a869b; }

.page-hero { position:relative; padding:calc(76px + clamp(2.5rem,5vw,4rem)) 0 clamp(2.5rem,5vw,4rem); overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 80% at 80% 0%, rgba(139,75,159,.10), transparent 60%), radial-gradient(50% 70% at 5% 20%, rgba(214,165,43,.12), transparent 60%), linear-gradient(180deg, #fbfaf6, #fff); }
.breadcrumb { display:flex; align-items:center; gap:.5rem; font-size:.86rem; color:var(--ink-3); margin-bottom:1.2rem; }
.breadcrumb a:hover { color:var(--gold-700); }
.page-hero h1 { margin-bottom:.8rem; }
.page-hero > .container > p { font-size:1.1rem; color:var(--ink-2); max-width:40rem; }

.about-content { padding:var(--section-pad) 0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; margin-bottom:4rem; }
.about-grid.reverse .about-image { order:2; }
.about-image { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--border); aspect-ratio:4/3; background:var(--bg-soft); }
.about-image-img { width:100%; height:100%; object-fit:cover; }
.about-image-placeholder { width:100%; height:100%; display:grid; place-items:center; color:var(--gold-700); background:linear-gradient(135deg, var(--gold-50), var(--plum-50)); }
.about-image-placeholder svg { width:64px; height:64px; }
.about-grid p { color:var(--ink-2); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.value-card { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem 1.8rem; text-align:center; transition:all .3s var(--ease); }
.value-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.value-icon { width:60px; height:60px; margin:0 auto 1.2rem; border-radius:16px; display:grid; place-items:center; background:var(--brand-grad); color:#fff; }
.value-icon svg { width:28px; height:28px; }
.value-card h4 { margin-bottom:.6rem; }
.value-card p { color:var(--ink-2); font-size:.95rem; }

.services-list { padding:var(--section-pad) 0; }
.service-detail { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4rem); align-items:center; padding:3rem 0; border-bottom:1px solid var(--border-2); scroll-margin-top:100px; }
.service-detail:last-child { border-bottom:none; }
.service-detail.reverse .service-detail-visual { order:-1; }
.service-detail .service-icon { margin-bottom:1.3rem; }
.service-detail h3 { margin-bottom:1rem; }
.service-detail-content > p { color:var(--ink-2); margin-bottom:1.4rem; }
.svc-includes-label { font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.9rem; }
.service-detail ul { display:grid; gap:.75rem; margin-bottom:1.6rem; }
.service-detail ul li { display:flex; gap:.7rem; align-items:flex-start; font-size:.96rem; color:var(--ink); }
.service-detail ul li svg { flex:0 0 auto; width:20px; height:20px; color:#fff; background:var(--gold-grad); border-radius:50%; padding:3px; margin-top:.15rem; }
.service-detail-visual { aspect-ratio:1/1; border-radius:var(--r-xl); display:grid; place-items:center; background:linear-gradient(140deg, var(--gold-50), var(--plum-50)); border:1px solid var(--border); position:relative; overflow:hidden; }
.service-detail-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(15,29,51,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(15,29,51,.05) 1px, transparent 1px); background-size:32px 32px; opacity:.5; }
.service-detail-visual-icon { position:relative; width:96px; height:96px; border-radius:24px; display:grid; place-items:center; background:#fff; box-shadow:var(--shadow-lg); color:var(--gold-700); }
.service-detail-visual-icon svg { width:46px; height:46px; }

.contact-section { padding:var(--section-pad) 0; }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.contact-info > p { color:var(--ink-2); margin:.8rem 0 2rem; }
.contact-methods { display:grid; gap:1.2rem; }
.contact-method { display:flex; gap:1rem; align-items:flex-start; padding:1.2rem; background:#fff; border:1px solid var(--border); border-radius:var(--r); transition:all .3s var(--ease); }
.contact-method:hover { box-shadow:var(--shadow-md); border-color:var(--gold-100); }
.contact-method-icon { flex:0 0 auto; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--gold-50); color:var(--gold-700); border:1px solid var(--gold-100); }
.contact-method-icon svg { width:22px; height:22px; }
.contact-method h4 { font-size:1rem; margin-bottom:.2rem; }
.contact-method p { font-size:.94rem; color:var(--ink-2); }
.contact-form { background:#fff; border:1px solid var(--border); border-radius:var(--r-xl); padding:clamp(1.8rem,3vw,2.6rem); box-shadow:var(--shadow-md); }
.contact-form h3 { margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-group { margin-bottom:1.1rem; }
.form-group label { display:block; font-size:.85rem; font-weight:600; color:var(--navy-700); margin-bottom:.45rem; }
.form-group label .opt { color:var(--ink-3); font-weight:400; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:.8rem 1rem; border:1.5px solid var(--border); border-radius:var(--r-sm); font-family:inherit; font-size:.96rem; color:var(--ink); background:#fff; transition:all .2s var(--ease); }
.form-group textarea { min-height:130px; resize:vertical; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(214,165,43,.14); }
.contact-map { padding:0 0 var(--section-pad); }
.map-card { border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow-sm); height:340px; }
.map-card iframe { width:100%; height:100%; border:0; display:block; filter:grayscale(.25); }

.admin-empty { text-align:center; padding:4rem 1rem; }
.admin-empty-icon { color:var(--ink-3); margin-bottom:1rem; display:flex; justify-content:center; }
.admin-empty-icon svg { width:48px; height:48px; }

.fade-up { opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.fade-up.visible { opacity:1; transform:none; }
.stagger > .fade-up:nth-child(2) { transition-delay:.08s; }
.stagger > .fade-up:nth-child(3) { transition-delay:.16s; }
.stagger > .fade-up:nth-child(4) { transition-delay:.24s; }
.stagger > .fade-up:nth-child(5) { transition-delay:.32s; }
.stagger > .fade-up:nth-child(6) { transition-delay:.40s; }
@media (prefers-reduced-motion:reduce) { * { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; } .fade-up { opacity:1; transform:none; } }

@media (max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-visual { max-width:480px; }
  .why-inner { grid-template-columns:1fr; gap:2.5rem; }
  .creds-grid { grid-template-columns:1fr 1fr; gap:1.4rem; }
  .global-grid { grid-template-columns:repeat(3,1fr); }
  .services-grid, .articles-grid, .tst-grid, .values-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) {
  .menu-toggle { display:flex; }
  .nav-links { position:fixed; top:76px; left:0; right:0; flex-direction:column; align-items:stretch; gap:.2rem; background:#fff; border-bottom:1px solid var(--border); padding:1rem 6vw 1.5rem; transform:translateY(-130%); opacity:0; pointer-events:none; transition:all .35s var(--ease); box-shadow:var(--shadow-lg); }
  .nav-links.open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-links > a { padding:.85rem .5rem; font-size:1.02rem; }
  .nav-links > a::after { display:none; }
  .nav-cta { text-align:center; margin-top:.5rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media (max-width:620px) {
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { justify-content:center; }
  .stat-row { gap:1.3rem 1rem; }
  .creds-grid { grid-template-columns:1fr; }
  .services-grid, .articles-grid, .tst-grid, .values-grid, .why-features, .global-grid { grid-template-columns:1fr; }
  .about-grid, .about-grid.reverse, .service-detail, .service-detail.reverse, .contact-grid, .form-row { grid-template-columns:1fr; }
  .about-grid.reverse .about-image, .service-detail.reverse .service-detail-visual { order:0; }
  .service-detail-visual { max-width:320px; }
  .footer-grid { grid-template-columns:1fr; }
  .cta-card { flex-direction:column; align-items:flex-start; text-align:left; }
}

/* ====================================================================
   HEADER GLOBAL DROPDOWN + hero badge fix (added)
   ==================================================================== */
.hero-float { top:auto; bottom:-20px; left:24px; right:auto; z-index:3; }

.nav-dropdown { position:relative; }
.nav-drop-toggle { display:inline-flex; align-items:center; gap:.4rem; background:none; border:none; font-family:var(--font-body); font-size:.95rem; font-weight:500; color:var(--ink-2); padding:.55rem .9rem; border-radius:var(--r-pill); cursor:pointer; transition:color .2s var(--ease); }
.nav-drop-toggle > svg:first-child { width:17px; height:17px; color:var(--gold-600); }
.nav-drop-toggle .chev, .nav-drop-toggle > svg:last-child { width:15px; height:15px; transition:transform .25s var(--ease); }
.nav-drop-toggle:hover { color:var(--navy-800); }
.nav-dropdown:hover .nav-drop-toggle > svg:last-child,
.nav-dropdown.open .nav-drop-toggle > svg:last-child { transform:rotate(180deg); }
.nav-drop-menu { position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(8px); min-width:264px; background:#fff; border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow-lg); padding:.55rem; opacity:0; visibility:hidden; transition:opacity .22s var(--ease), transform .22s var(--ease); z-index:300; }
.nav-dropdown:hover .nav-drop-menu, .nav-dropdown.open .nav-drop-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.nav-drop-head { font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); padding:.45rem .7rem .55rem; }
.geo-link { display:flex; align-items:center; gap:.7rem; padding:.6rem .7rem; border-radius:var(--r-sm); transition:background .18s var(--ease); }
.geo-link:hover { background:var(--bg-soft); }
.geo-link-flag { width:26px; height:19px; border-radius:3px; object-fit:cover; box-shadow:var(--shadow-sm); flex:0 0 auto; }
.geo-link-name { font-size:.92rem; font-weight:600; color:var(--navy-700); flex:1; }
.geo-link-tag { font-size:.64rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--gold-700); background:var(--gold-50); border:1px solid var(--gold-100); padding:.16rem .5rem; border-radius:var(--r-pill); }
.geo-link-ext { color:var(--ink-3); display:flex; align-items:center; }
.geo-link.is-soon { opacity:.45; cursor:default; pointer-events:none; }

@media (max-width:860px) {
  .nav-dropdown { width:100%; }
  .nav-drop-toggle { width:100%; justify-content:flex-start; font-size:1.02rem; padding:.85rem .5rem; }
  .nav-drop-toggle > svg:last-child { margin-left:auto; }
  .nav-drop-menu { position:static; transform:none !important; opacity:1; visibility:visible; box-shadow:none; border:none; padding:.2rem 0 .4rem .6rem; min-width:0; }
  .nav-drop-head { padding-left:.5rem; }
}

/* --- Contact form: status, honeypot, turnstile (added) --- */
.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cf-turnstile { margin:0 0 1rem; }
.form-status { margin-top:1rem; padding:.85rem 1.1rem; border-radius:var(--r-sm); font-size:.92rem; font-weight:500; line-height:1.5; display:none; }
.form-status.show { display:block; }
.form-status.ok { background:#ecfdf3; border:1px solid #abefc6; color:#067647; }
.form-status.err { background:#fef3f2; border:1px solid #fecdca; color:#b42318; }
.contact-form .btn[disabled] { opacity:.65; cursor:not-allowed; transform:none; }

/* --- WeChat (公众号) article badge --- */
.article-card-image { position:relative; }
.wechat-badge { position:absolute; top:.7rem; left:.7rem; display:inline-flex; align-items:center; gap:.3rem; padding:.28rem .62rem; border-radius:var(--r-pill); background:#07c160; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.02em; box-shadow:var(--shadow-sm); z-index:2; }
.wechat-badge svg { width:13px; height:13px; }
.article-card.is-wechat .article-card-link { color:#07943f; }

/* ====================================================================
   TRUSTED-BY — regional map with color logo pins (replaces marquee)
   ==================================================================== */
.trust-map-section { padding:var(--section-pad) 0; background:linear-gradient(180deg,#fff, var(--bg-soft)); }
.trust-map { position:relative; width:100%; max-width:1000px; margin:1rem auto 0; aspect-ratio:1000/460; }
.trust-map-bg { position:absolute; inset:0; width:100%; height:100%; }
.hub-pulse { transform-box:fill-box; transform-origin:center; animation:hubPulse 2.6s ease-out infinite; }
@keyframes hubPulse { 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(6); opacity:0; } }
.trust-hub-label { position:absolute; transform:translate(-50%, 16px); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-700); background:#fff; border:1px solid var(--gold-100); padding:.22rem .65rem; border-radius:var(--r-pill); box-shadow:var(--shadow-sm); white-space:nowrap; z-index:3; }

.cmark { position:absolute; transform:translate(-50%,-50%); z-index:2; }
.cmark-card { display:grid; place-items:center; min-width:124px; padding:.85rem 1.3rem; background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-md); transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease); }
.cmark-card img { height:44px; width:auto; max-width:168px; object-fit:contain; opacity:.9; transition:opacity .25s var(--ease); }
.cmark:hover { z-index:5; }
.cmark:hover .cmark-card { transform:translateY(-5px) scale(1.07); border-color:var(--gold); box-shadow:0 16px 40px rgba(214,165,43,.42), 0 0 0 4px rgba(214,165,43,.12); }
.cmark:hover .cmark-card img { opacity:1; }

@media (prefers-reduced-motion:reduce) { .hub-pulse { animation:none; } }

@media (max-width:768px) {
  .trust-map { aspect-ratio:auto; display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; align-items:center; }
  .trust-map-bg, .trust-hub-label { display:none; }
  .cmark { position:static !important; transform:none !important; }
  .cmark-card { min-width:0; padding:.6rem .9rem; }
  .cmark-card img { height:34px; }
}

/* ====================================================================
   SEO LANDING — richer blocks (EP page: stats, key facts, eligibility)
   ==================================================================== */
.lp-stats { display:flex; flex-wrap:wrap; gap:2.2rem; margin-top:2rem; }
.lp-stat-num { font-family:var(--font-heading); font-size:1.9rem; font-weight:700; color:var(--gold-700); line-height:1; }
body[data-lang="zh"] .lp-stat-num { font-family:var(--font-body); }
.lp-stat-label { font-size:.84rem; color:var(--ink-2); margin-top:.35rem; }

.lp-keyfacts { background:#fff; border:1px solid var(--border); border-radius:var(--r-xl); box-shadow:var(--shadow-lg); padding:1.8rem; align-self:start; position:relative; overflow:hidden; }
.lp-keyfacts::before { content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:var(--brand-grad); }
.lp-keyfacts-head { display:flex; align-items:center; gap:.5rem; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-700); margin-bottom:1.1rem; }
.lp-keyfacts-head svg { width:18px; height:18px; }
.lp-fact { display:flex; gap:.9rem; align-items:center; padding:.75rem 0; border-bottom:1px solid var(--border-2); }
.lp-fact:last-of-type { border-bottom:none; }
.lp-fact-ic { flex:0 0 auto; width:42px; height:42px; border-radius:11px; display:grid; place-items:center; background:var(--gold-50); color:var(--gold-700); border:1px solid var(--gold-100); }
.lp-fact-ic svg { width:20px; height:20px; }
.lp-fact-label { font-size:.8rem; color:var(--ink-2); }
.lp-fact-val { font-size:1.05rem; font-weight:700; color:var(--navy-800); }
.lp-fact-note { font-size:.73rem; color:var(--ink-3); margin-top:1rem; line-height:1.5; }

.lp-elig-section { padding:0 0 var(--section-pad); }
.lp-elig { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:1.6rem; flex-wrap:wrap; background:linear-gradient(120deg, var(--gold-50), var(--plum-50)); border:1px solid var(--gold-100); border-radius:var(--r-xl); padding:clamp(1.8rem,4vw,2.8rem); }
.lp-elig-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-700); margin-bottom:.6rem; }
.lp-elig-eyebrow svg { width:18px; height:18px; }
.lp-elig h2 { margin-bottom:.5rem; }
.lp-elig p { color:var(--ink-2); max-width:46rem; }
.lp-elig .btn { flex:0 0 auto; }

.lp-quote { max-width:760px; margin:0 auto; text-align:center; }
.lp-quote-mark { color:var(--gold); opacity:.5; display:inline-flex; }
.lp-quote-mark svg { width:34px; height:34px; }
.lp-quote p { font-family:var(--font-heading); font-size:1.4rem; line-height:1.5; color:var(--navy-800); margin:1rem 0 1.2rem; }
body[data-lang="zh"] .lp-quote p { font-family:var(--font-body); }
.lp-quote-name { font-size:.9rem; font-weight:600; color:var(--ink-2); }

@media (max-width:620px) { .lp-stats { gap:1.4rem; } .lp-elig { flex-direction:column; align-items:flex-start; } }

/* ===== Audit / Moores Rowland partner section ===== */
.partner-section{padding:var(--section-pad) 0;}
.partner-card{display:flex;gap:2.4rem;align-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:2.4rem;box-shadow:0 6px 24px rgba(22,41,74,.06);flex-wrap:wrap;}
.partner-logo{flex:0 0 240px;max-width:240px;}
.partner-logo img{width:100%;height:auto;display:block;}
.partner-body{flex:1;min-width:280px;}
.partner-body .lp-stats{margin-top:1.4rem;}
@media(max-width:760px){.partner-card{padding:1.6rem;gap:1.4rem;}.partner-logo{flex:0 0 180px;}}
.partner-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.partner-tag{display:inline-flex;align-items:center;padding:.45rem .95rem;border-radius:999px;background:var(--gold-100,#f6efda);color:var(--navy-800,#16294a);font-size:.86rem;font-weight:600;border:1px solid var(--border);}
