:root {
  --red: #c73532;
  --red-deep: #8d201d;
  --red-dark: #651714;
  --rose: #f1b5b0;
  --ink: #111313;
  --muted: #646969;
  --line: #dedddd;
  --soft: #f5f4f3;
  --cream: #fbf8f4;
  --footer: #081b1b;
  --white: #ffffff;
  --shadow: 0 22px 60px rgba(26, 16, 13, .12);
  --container: min(1220px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--white);
  font-family: "Source Han Sans SC", "Noto Sans CJK SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.25; }
h1 { font-size: clamp(40px, 4.6vw, 72px); letter-spacing: -.04em; }
h2 { font-size: clamp(30px, 3.2vw, 48px); letter-spacing: -.03em; }
h3 { font-size: 24px; }
p { color: var(--muted); }
.container { width: var(--container); margin-inline: auto; }
.section { padding: 110px 0; }
.section--soft { background: var(--soft); }
.section--dark { color: var(--white); background: #0f1111; }
.section--red { color: var(--white); background: linear-gradient(125deg, #cb3b38 0%, #a42522 70%, #7f1e1b 100%); }
.section-heading { max-width: 800px; margin-bottom: 52px; }
.section-heading--split { display: grid; grid-template-columns: .9fr 1.1fr; max-width: none; gap: 80px; align-items: end; }
.section-heading h2 { margin-bottom: 12px; }
.section-heading p { margin: 0; font-size: 18px; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--red);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
}
.eyebrow::before { content: ""; width: 42px; height: 2px; background: currentColor; }
.section--dark .eyebrow, .section--red .eyebrow { color: #ffd6d2; }
.btn {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border: 1px solid transparent;
  font-size: 17px;
  font-weight: 700;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.btn:hover { transform: translateY(-3px); }
.btn--primary { color: var(--white); background: linear-gradient(135deg, #d34440, #a82320); box-shadow: 0 12px 28px rgba(169, 35, 32, .25); }
.btn--primary:hover { box-shadow: 0 18px 36px rgba(169, 35, 32, .35); }
.btn--light { color: var(--red-deep); background: var(--white); }
.text-link { display: inline-flex; gap: 16px; align-items: center; color: var(--red); font-size: 17px; font-weight: 700; }
.text-link span { display: grid; width: 34px; height: 34px; place-items: center; color: var(--white); background: var(--red); transition: transform .25s ease; }
.text-link:hover span { transform: translateX(5px); }

.topbar { color: #f5d8d5; background: #801e1b; font-size: 16px; }
.topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-header { position: sticky; z-index: 100; top: 0; background: rgba(255, 255, 255, .97); box-shadow: 0 1px 0 rgba(0,0,0,.07); backdrop-filter: blur(14px); }
.nav-shell { min-height: 82px; display: flex; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 13px; flex: 0 0 auto; }
.brand__logo { display: block; max-width: none; object-fit: contain; }
.brand__logo--header { width: 182px; height: 42px; }
.brand__logo--footer { width: 207px; height: 48px; }
.brand__mark { position: relative; display: inline-block; width: 46px; height: 40px; transform: rotate(-35deg); }
.brand__mark i { position: absolute; display: block; width: 28px; height: 17px; border: 8px solid currentColor; border-radius: 22px; }
.brand__mark i:first-child { top: 0; left: 0; }
.brand__mark i:last-child { right: 0; bottom: 0; }
.brand span:last-child { display: grid; }
.brand b { font-size: 22px; line-height: 1.1; }
.brand small { color: var(--muted); font-size: 16px; letter-spacing: .24em; }
.primary-nav { display: flex; align-items: stretch; justify-content: center; align-self: stretch; margin-left: auto; }
.primary-nav a { position: relative; display: flex; align-items: center; padding: 0 16px; font-size: 16px; font-weight: 600; white-space: nowrap; }
.primary-nav a::after { content: ""; position: absolute; right: 16px; bottom: 0; left: 16px; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
.primary-nav a:hover::after, .primary-nav a.is-active::after { transform: scaleX(1); }
.nav-cta { min-height: 82px; display: grid; place-items: center; margin-left: 18px; padding: 0 25px; color: var(--white); background: linear-gradient(135deg, #d33f3b, #9e2522); font-weight: 700; }
.nav-toggle { display: none; margin-left: auto; padding: 8px; border: 0; background: transparent; }
.nav-toggle span { display: block; width: 27px; height: 2px; margin: 6px 0; background: var(--ink); }

.hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; color: var(--white); background: #2e1f1b; }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero::after { display: none; }
.hero__content { position: relative; z-index: 2; top: -16px; max-width: none; padding: 90px 0 120px; }
.hero__content h1, .hero__content p { max-width: 720px; }
.hero h1 { margin-bottom: 24px; font-size: 56px; }
.hero p { max-width: 650px; margin-bottom: 34px; color: #f1e8e3; font-size: 20px; }
.hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-pixels { display: none; }
.hero-pixels i { background: var(--white); }
.hero-pixels i:nth-child(3), .hero-pixels i:nth-child(6), .hero-pixels i:nth-child(11) { background: transparent; }
.hero-pixels i:nth-child(8), .hero-pixels i:nth-child(10) { background: var(--red); }
.hero-metric { position: absolute; z-index: 3; right: 5vw; bottom: 30px; display: flex; gap: 34px; }
.hero-metric div { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.55); }
.hero-metric b { display: block; font-size: 28px; }
.hero-metric span { color: #eaded8; }

.intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: end; }
.intro-grid__content > p { font-size: 18px; }
.intro-grid__content > .text-link { margin-top: 10px; }
.intro-grid__media { position: relative; }
.intro-grid__media img { width: 100%; aspect-ratio: 1.15; object-fit: cover; box-shadow: var(--shadow); }
.intro-grid__media::before { content: ""; position: absolute; z-index: -1; top: -22px; right: -22px; width: 58%; height: 48%; background: #f1d7d4; }
.point-list { display: grid; gap: 15px; margin: 30px 0; }
.point-list div { display: flex; gap: 14px; align-items: flex-start; color: var(--muted); }
.point-list span { display: grid; flex: 0 0 25px; height: 25px; place-items: center; color: var(--red); border: 1px solid var(--rose); border-radius: 50%; font-size: 16px; }
.point-list__check { flex: 0 0 25px; width: 25px; height: 25px; object-fit: contain; }

.metric-band { position: relative; overflow: hidden; padding: 92px 0; background: #101010 url("../images/red-back.png") center bottom / cover no-repeat; }
.metric-band::after { display: none; }
.metric-head { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; margin-bottom: 50px; align-items: end; }
.metric-head h2 { max-width: 360px; margin: 0; }
.metric-head p { color: #b7baba; font-size: 18px; }
.metric-head--solo { display: block; }
.metric-head--solo h2 { max-width: none; white-space: nowrap; }
.metrics { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); }
.metric { min-height: 165px; padding: 8px 52px; border-left: 1px solid rgba(255,255,255,.45); }
.metric:first-child { padding-left: 0; border-left: 0; }
.metric span { color: #dbdada; }
.metric b { display: block; margin: 6px 0 9px; font-size: 48px; line-height: 1; }
.metric p { color: #aeb0b0; }

.feature-stack { display: grid; gap: 90px; }
.feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 82px; align-items: center; }
.feature-row--reverse .feature-row__image { order: 2; }
.feature-row__image img { width: 100%; aspect-ratio: 1.2; object-fit: cover; box-shadow: var(--shadow); }
.feature-row__icon { display: block; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 50%; object-fit: contain; }
.feature-row h3 { font-size: 32px; }
.feature-row p { font-size: 18px; }

.why-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.55); border-left: 1px solid rgba(255,255,255,.55); }
.why-card { min-height: 260px; padding: 42px; border-right: 1px solid rgba(255,255,255,.55); border-bottom: 1px solid rgba(255,255,255,.55); transition: background .25s ease, transform .25s ease; }
.why-card:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }
.why-card span { font-size: 32px; }
.why-card h3 { margin: 22px 0 12px; }
.why-card p { color: #f3d9d7; }

.process-strip { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; }
.process-step { min-height: 410px; padding: 34px 26px; color: var(--ink); background: #fbe8e6; transition: flex .35s ease, transform .3s ease; }
.process-step:nth-child(2) { background: #eea6a1; }
.process-step:nth-child(3) { color: var(--white); background: #df5652; }
.process-step:nth-child(4) { color: var(--white); background: #bd3e37; }
.process-step:nth-child(5) { color: var(--white); background: #8d2721; }
.process-step:hover { transform: translateY(-8px); }
.process-step b { display: block; margin-bottom: 100px; font-size: 66px; font-weight: 400; line-height: 1; }
.process-step h3 { font-size: 24px; }
.process-step p { color: inherit; opacity: .8; }

.business-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.business-card { min-height: 320px; display: flex; flex-direction: column; padding: 30px; background: #f3f3f3; border-bottom: 3px solid transparent; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.business-card:hover { transform: translateY(-8px); border-color: var(--red); background: var(--white); box-shadow: var(--shadow); }
.business-card__no { font-weight: 800; }
.business-card h3 { margin: 36px 0 18px; }
.business-card a { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: auto; color: var(--red); font-weight: 700; }
.business-card a span { display: grid; width: 30px; height: 30px; place-items: center; color: var(--white); background: var(--red); }

.solution-ribbon { display: grid; grid-template-columns: repeat(6, minmax(240px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; }
.solution-ribbon article { min-height: 420px; padding: 34px 28px; color: var(--white); background: #f2c8c4; scroll-snap-align: start; }
.solution-ribbon article:nth-child(2) { color: var(--ink); background: #eeaaa5; }
.solution-ribbon article:nth-child(3) { background: #df5652; }
.solution-ribbon article:nth-child(4) { background: #c83b35; }
.solution-ribbon article:nth-child(5) { background: #a52d28; }
.solution-ribbon article:nth-child(6) { background: #79231f; }
.solution-ribbon b { display: block; margin-bottom: 80px; font-size: 60px; font-weight: 400; }
.solution-ribbon p { color: inherit; opacity: .85; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.news-card { position: relative; overflow: hidden; background: var(--soft); transition: transform .25s ease, box-shadow .25s ease; }
.news-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.news-card__visual { min-height: 180px; display: flex; align-items: flex-end; justify-content: space-between; padding: 26px; color: var(--white); background: linear-gradient(135deg, #211715, #8a2925); }
.news-card__visual span { font-weight: 700; letter-spacing: .18em; }
.news-card__visual b { font-size: 30px; }
.news-card--featured .news-card__visual { background: linear-gradient(135deg, #d44743, #8b221e); }
.news-card__body { padding: 30px; }
.news-card time { color: #8b8e8e; }
.news-card h3 { margin: 14px 0; }
.news-card h3 a:hover { color: var(--red); }

body[data-page="home"] .eyebrow { font-size: 20px; }
body[data-page="home"] .section-heading--solo { display: block; max-width: none; }
body[data-page="home"] .section-heading--solo h2,
body[data-page="home"] .section-heading--nowrap h2 { white-space: nowrap; }
body[data-page="home"] .section-heading--nowrap { max-width: none; }
.news-grid--compact .news-card__visual {
  min-height: 76px;
  height: 76px;
  align-items: center;
  padding: 0 26px;
  background: linear-gradient(135deg, #d44743, #8b221e);
}
.news-grid--compact .news-card__visual span,
.news-grid--compact .news-card__visual b { font-size: 20px; line-height: 1; }
.news-grid--compact .news-card__visual span { letter-spacing: .06em; }
.news-grid--compact .news-card h3,
.news-grid--compact .news-card__body > p {
  position: relative;
  overflow: hidden;
}
.news-grid--compact .news-card h3 { height: 60px; }
.news-grid--compact .news-card__body > p { height: 56px; }
.news-grid--compact .news-card h3.is-truncated::after,
.news-grid--compact .news-card__body > p.is-truncated::after {
  content: "...";
  position: absolute;
  right: 0;
  bottom: 0;
  padding-left: 6px;
  background: var(--soft);
}
.news-grid--compact .news-card h3.is-truncated::after { line-height: 30px; }
.news-grid--compact .news-card__body > p.is-truncated::after { line-height: 28px; }

.page-hero { position: relative; min-height: 430px; display: grid; align-items: center; overflow: hidden; color: var(--white); background: #1a1110; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,8,8,.88), rgba(106,28,24,.62)); }
.page-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .48; }
.page-hero .container { position: relative; z-index: 1; max-width: 1220px; }
.page-hero h1 { max-width: 820px; margin-bottom: 16px; }
.page-hero p { max-width: 720px; color: #eee3de; font-size: 19px; }
body[data-page="tax"] .tax-eyebrow { font-size: 20px; }
body[data-page="about"] .about-eyebrow { font-size: 20px; }
body[data-page="business"] .page-hero .eyebrow,
body[data-page="business"] .service-feature__content > .eyebrow { font-size: 20px; }
body[data-page="solutions"] .page-hero .eyebrow,
body[data-page="solutions"] .section-heading--split > div > .eyebrow { font-size: 20px; }
body[data-page="knowledge"] .page-hero .eyebrow,
body[data-page="knowledge"] .knowledge-heading .eyebrow { font-size: 20px; }
body[data-page="policies"] .page-hero .eyebrow,
body[data-page="policies"] .section-heading--split > div > .eyebrow { font-size: 20px; }
body[data-page="contact"] .page-hero .eyebrow,
body[data-page="contact"] .section-heading--split > div > .eyebrow { font-size: 20px; }
body[data-page="contact"] .section-heading--split { grid-template-columns: 1fr; }
body[data-page="knowledge"] .knowledge-heading { max-width: none; }
body[data-page="knowledge"] .knowledge-heading h2 { white-space: nowrap; }
body[data-page="solutions"] .solutions-hero__line { display: block; }
body[data-page="about"] .about-heading--wide { max-width: none; }
body[data-page="about"] .about-title--nowrap { white-space: nowrap; }
@media (min-width: 501px) {
  body[data-page="about"] .page-hero h1 { font-size: 56px; }
  body[data-page="tax"] .page-hero h1 { font-size: 56px; }
  body[data-page="business"] .page-hero h1 { font-size: 56px; }
  body[data-page="solutions"] .page-hero h1 { max-width: none; font-size: 56px; }
  body[data-page="knowledge"] .page-hero h1 { font-size: 56px; }
  body[data-page="contact"] .page-hero h1 { font-size: 56px; }
  body[data-page="contact"] .section-heading--split h2 { white-space: nowrap; }
  body[data-page="solutions"] .solutions-hero__line { white-space: nowrap; }
  body[data-page="solutions"] .section-heading--split h2 { white-space: nowrap; }
}
@media (min-width: 861px) {
  body[data-page="tax"] .tax-intro-title { white-space: nowrap; }
}

.service-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px; }
.service-feature--reverse .service-feature__image { order: 2; }
.service-feature__image img { width: 100%; aspect-ratio: 1.15; object-fit: cover; box-shadow: var(--shadow); }
.service-feature__content { position: relative; padding: 42px 0; }
.service-feature__no { position: absolute; top: -20px; right: 0; color: #f0d2cf; font-size: 100px; font-weight: 800; line-height: 1; }
.service-feature__content h2 { position: relative; }
.service-feature__content p { font-size: 18px; }

.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.solution-card { min-height: 440px; display: flex; flex-direction: column; padding: 34px; border: 1px solid #e3d5d3; background: var(--white); transition: transform .25s ease, background .25s ease, color .25s ease; }
.solution-card:hover { color: var(--white); background: var(--red); transform: translateY(-7px); }
.solution-card > span { color: var(--red); font-size: 50px; line-height: 1; }
.solution-card:hover > span { color: #ffd3cf; }
.solution-card h3 { margin: 45px 0 26px; }
.solution-card p { margin-bottom: 20px; }
.solution-card p b { display: block; margin-bottom: 6px; color: var(--ink); }
.solution-card:hover p, .solution-card:hover p b { color: #fff0ed; }
.solution-card a { margin-top: auto; color: var(--red); font-weight: 700; }
.solution-card:hover a { color: var(--white); }

.detail-hero { padding: 90px 0; background: var(--cream); }
.detail-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.detail-hero h1 { font-size: 48px; }
.detail-hero p { margin-top: -14px; font-size: 19px; }
.detail-hero img { width: 100%; aspect-ratio: 1.2; object-fit: cover; box-shadow: var(--shadow); }
.article-narrow { max-width: none; }
.article-narrow p { font-size: 18px; line-height: 2; }
body[data-page="business"] [data-business-detail] .eyebrow { font-size: 20px; }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.check-item { display: flex; gap: 16px; min-height: 96px; align-items: center; padding: 24px; background: var(--white); }
body[data-page="tax"] .check-item { align-items: center; }
.check-item span { display: grid; flex: 0 0 28px; height: 28px; place-items: center; color: var(--white); background: var(--red); border-radius: 50%; }
.check-item__icon { flex: 0 0 28px; width: 28px; height: 28px; object-fit: contain; }
.check-item p { margin: 0; color: var(--ink); }
.category-table { border-top: 1px solid var(--line); }
.category-row { display: grid; grid-template-columns: .32fr .68fr; gap: 40px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.category-row h3, .category-row p { margin: 0; }
.value-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 46px; color: var(--white); background: rgba(255,255,255,.3); }
.value-panel > div { padding: 34px; background: #181a1a; }
.value-panel span { color: #efaaa5; font-weight: 700; }
.value-panel p { margin: 10px 0 0; color: #d8dada; }
.value-panel__note { grid-column: 1 / -1; background: var(--red-deep) !important; }

.article-detail { padding: 100px 0 110px; }
.article-detail__inner { max-width: 1220px; }
.article-detail__head > .eyebrow { font-size: 20px; }
.article-detail__head h1 { max-width: 1000px; margin: 10px 0 28px; font-size: 42px; }
.article-detail__head time { color: #858888; }
.article-summary { margin: 42px 0 52px; padding: 30px 38px; border-left: 6px solid var(--red); background: #f1f2f2; color: #686c6c; font-size: 18px; }
.article-body { max-width: 1100px; }
.article-body p { margin-bottom: 30px; color: #5f6464; font-size: 18px; line-height: 2.05; }
.article-body h2 { margin: 54px 0 22px; font-size: 26px; }
.article-source { padding-top: 20px; border-top: 1px solid var(--line); }
.article-source a { color: var(--red); text-decoration: underline; }
.article-disclaimer { color: #8b5c57 !important; }
.article-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin: 70px 0 100px; }
.article-pager a:last-child { text-align: right; }
.article-pager span { display: block; margin-bottom: 6px; color: var(--muted); }
.article-pager a:hover { color: var(--red); }
.more-news h2 { font-size: 28px; }
.more-news > div { display: grid; grid-template-columns: 1fr 1fr; gap: 0 70px; }
.more-news a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px dashed #c8caca; }
.more-news a:hover { color: var(--red); }
.more-news time { color: #8c8f8f; white-space: nowrap; }

/* 列表翻页（资讯/知识列表，超过一页时出现） */
.article-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 54px; }
.article-pagination .page-btn,
.article-pagination .page-num {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 16px;
  border: 1px solid var(--line); background: var(--white);
  color: var(--ink); font-size: 16px; text-decoration: none; transition: .2s;
}
.article-pagination .page-btn:hover,
.article-pagination .page-num:hover { border-color: var(--red); color: var(--red); }
.article-pagination .page-num.is-current { border-color: var(--red); background: var(--red); color: var(--white); font-weight: 600; }
.article-pagination .page-btn.is-disabled { color: #b8bcbc; border-color: #ececec; cursor: default; }
.article-pagination .page-total { margin-left: 14px; color: var(--muted); font-size: 15px; }

.privacy-page { padding: 80px 0 110px; background: #f1f4fa; }
.privacy-card { width: min(800px, calc(100% - 32px)); margin-inline: auto; padding: 70px 64px; border: 1px solid #dfe4ef; border-radius: 24px; background: var(--white); box-shadow: 0 12px 36px rgba(37, 51, 77, .06); }
.privacy-card h1 { margin-bottom: 35px; padding-bottom: 24px; border-bottom: 4px solid var(--red); font-size: 48px; }
.privacy-card h2 { margin-top: 34px; font-size: 26px; }
.privacy-card p, .privacy-card li { color: #34405a; font-size: 18px; line-height: 2; }
.privacy-card ol { padding-left: 26px; }
.privacy-card__back { display: inline-block; margin-top: 28px; color: var(--red); font-size: 18px; }

.contact-section { background: var(--white); }
.contact-methods { padding: 52px 0 56px; background: #eef4f3; }
.contact-methods__heading { margin-bottom: 36px; }
.contact-methods__heading .eyebrow { font-size: 20px; }
.contact-methods__heading h2 { margin-bottom: 0; }
.contact-methods__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.contact-methods__card { min-height: 200px; padding: 42px 40px 36px; background: var(--white); border-top: 6px solid var(--red); }
.contact-methods__card h3 { margin-bottom: 24px; font-size: 28px; }
.contact-methods__card p { margin-bottom: 0; color: var(--muted); font-size: 18px; line-height: 1.85; }
.contact-methods__card a { color: inherit; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; box-shadow: 0 16px 50px rgba(22, 22, 22, .08); }
.contact-panel { padding: 62px; background: var(--cream); }
.contact-panel h2 { margin-bottom: 18px; }
.contact-panel > p { font-size: 17px; }
.contact-panel > .eyebrow { font-size: 20px; }
.contact-photo { min-height: 760px; }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.consult-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px; margin-top: 30px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.consult-form label { display: grid; gap: 8px; color: var(--ink); font-weight: 700; }
.consult-form input, .consult-form select, .consult-form textarea { width: 100%; min-height: 52px; padding: 12px 15px; border: 1px solid #d7d9d8; border-radius: 0; color: var(--ink); background: var(--white); font-size: 16px; outline: none; transition: border-color .2s, box-shadow .2s; }
.consult-form textarea { resize: vertical; }
.consult-form input:focus, .consult-form select:focus, .consult-form textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(199,53,50,.12); }
.privacy-check { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 12px !important; font-weight: 400 !important; }
.privacy-check input { width: 24px; min-height: 24px; margin: 0; accent-color: var(--red); }
.privacy-check a { color: #335dcc; text-decoration: underline; }
.form-actions { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 18px; }
.consult-form > :not(.privacy-check):not(.form-actions) { grid-column: 1 / -1; }
.privacy-check { grid-column: 1; }
.form-actions { grid-column: 2; align-self: start; margin-top: 8px; }
.form-status { color: var(--muted); font-size: 16px; }
.form-status.is-error { color: #a31e1b; }
.form-status.is-success { color: #2d6d52; }

.site-footer { padding-top: 72px; color: #c7cece; background: #111111; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .8fr .9fr 1.2fr; gap: 60px; }
.brand--footer { color: var(--white); }
.brand--footer small { color: #9cadad; }
.footer-brand-block > p { margin: 37px 0 0; }
.footer-grid h3 { color: var(--white); }
.footer-grid a:not(.brand) { display: block; margin-bottom: 10px; color: #b8c1c1; font-size: 16px; }
.footer-grid a:hover { color: var(--white); }
.footer-grid p { color: #9eaaaa; font-size: 16px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 55px; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.14); color: #98a5a5; font-size: 16px; }
.footer-bottom a { color: #cfd7d7; }
.footer-bottom__links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.footer-bottom__links em { font-style: normal; color: #98a5a5; }
.footer-bottom__links a:hover { color: #fff; }

/* 表单提交成功弹窗 */
body.modal-open { overflow: hidden; }
.consult-modal { position: fixed; inset: 0; z-index: 95; display: flex; align-items: center; justify-content: center; padding: 24px; }
.consult-modal[hidden] { display: none; }
.consult-modal__backdrop { position: absolute; inset: 0; background: rgba(12,24,24,.58); }
.consult-modal__dialog { position: relative; width: min(430px, 100%); background: #fff; border-radius: 18px; padding: 36px 30px 30px; text-align: center; box-shadow: 0 30px 80px rgba(0,0,0,.26); animation: consultModalIn .28s cubic-bezier(.2,.8,.3,1); }
.consult-modal__icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 16px; border-radius: 50%; background: #eaf4ee; color: #2d6d52; font-size: 27px; line-height: 1; }
.consult-modal__dialog h2 { margin: 0 0 12px; font-size: 24px; color: #1c2b2b; }
.consult-modal__dialog p { margin: 0 0 24px; color: #5b6b6b; font-size: 16px; line-height: 1.85; }
.consult-modal__dialog a { color: #a31e1b; }
.consult-modal__ok { min-width: 140px; }
@keyframes consultModalIn { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }

.reveal { opacity: 0; transform: translateY(34px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.75,.25,1); }
.reveal--delay { transition-delay: .12s; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .topbar { display: none; }
  .nav-shell { min-height: 72px; }
  .nav-cta { display: none; }
  .primary-nav a { padding: 0 10px; }
  .business-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-panel { padding: 46px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  :root { --container: min(100% - 36px, 720px); }
  .section { padding: 82px 0; }
  .nav-toggle { display: block; }
  .primary-nav { position: absolute; top: 100%; right: 0; bottom: auto; left: 0; height: calc(100vh - 72px); display: grid; align-content: start; padding: 18px; background: var(--white); transform: translateX(100%); transition: transform .28s ease; overflow-y: auto; box-shadow: 0 18px 40px rgba(0,0,0,.12); }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav a { min-height: 56px; justify-content: center; border-bottom: 1px solid var(--line); }
  .primary-nav a::after { display: none; }
  .hero { min-height: 650px; }
  .hero-metric { display: none; }
  .intro-grid, .feature-row, .service-feature, .detail-hero__grid, .contact-grid { grid-template-columns: 1fr; gap: 44px; }
  .contact-methods { padding: 82px 0; }
  .contact-methods__heading { margin-bottom: 52px; }
  .contact-methods__grid { grid-template-columns: 1fr; }
  .intro-grid__media { order: -1; }
  .feature-row--reverse .feature-row__image, .service-feature--reverse .service-feature__image { order: 0; }
  .metric-head, .section-heading--split { grid-template-columns: 1fr; gap: 20px; }
  body[data-page="home"] .metric-head--solo h2,
  body[data-page="home"] .section-heading--solo h2,
  body[data-page="home"] .section-heading--nowrap h2 { white-space: normal; }
  body[data-page="about"] .about-title--nowrap { white-space: normal; }
  body[data-page="knowledge"] .knowledge-heading h2 { white-space: normal; }
  .process-strip { grid-template-columns: repeat(5, minmax(235px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; }
  .process-step { scroll-snap-align: start; }
  .process-step b { margin-bottom: 70px; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-card:last-child { grid-column: 1 / -1; }
  .service-feature__no { top: 0; }
  .contact-photo { min-height: 480px; order: -1; }
}

@media (max-width: 500px) {
  :root { --container: calc(100% - 28px); }
  body { font-size: 16px; }
  h1 { font-size: 40px; }
  h2 { font-size: 30px; }
  h3 { font-size: 24px; }
  .section { padding: 66px 0; }
  .brand b { font-size: 19px; }
  .brand small { font-size: 16px; letter-spacing: .1em; }
  .brand__mark { width: 40px; height: 35px; }
  .nav-shell { min-height: 68px; }
  .primary-nav { top: 100%; height: calc(100vh - 68px); }
  .hero { min-height: 610px; }
  .hero__image { object-position: 67% center; }
  .hero::after { background: linear-gradient(90deg, rgba(20, 11, 9, .93), rgba(25, 12, 10, .6)); }
  .hero__content { padding: 78px 0 120px; }
  .hero h1 { font-size: 40px; }
  .hero p { font-size: 17px; }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .hero__actions .btn { width: 100%; }
  .intro-grid, .feature-row, .service-feature, .detail-hero__grid { gap: 30px; }
  .intro-grid__content > p, .feature-row p, .service-feature__content p, .detail-hero p { font-size: 16px; }
  .intro-grid__media::before { right: -8px; top: -10px; }
  .metrics { grid-template-columns: 1fr; }
  .metric { padding: 26px 0; border-top: 1px solid rgba(255,255,255,.35); border-left: 0; }
  .metric:first-child { border-top: 0; }
  .feature-row__icon { margin-bottom: 12px; }
  .feature-row h3 { font-size: 26px; }
  .why-grid { grid-template-columns: 1fr; }
  .why-card { min-height: 230px; padding: 30px; }
  .business-grid, .solution-grid, .news-grid, .check-grid { grid-template-columns: 1fr; }
  .news-card:last-child { grid-column: auto; }
  .business-card { min-height: 285px; }
  .page-hero { min-height: 390px; }
  .page-hero h1 { font-size: 40px; }
  .service-feature { margin-bottom: 70px; }
  .service-feature__content { padding: 22px 0; }
  .service-feature__no { font-size: 70px; }
  .detail-hero { padding: 66px 0; }
  .detail-hero h1 { font-size: 34px; }
  .category-row { grid-template-columns: 1fr; gap: 8px; }
  .value-panel { grid-template-columns: 1fr; }
  .value-panel__note { grid-column: auto; }
  .article-detail { padding: 70px 0; }
  .article-detail__head h1 { font-size: 42px; }
  .article-summary { margin: 30px 0 40px; padding: 24px; }
  .article-body p { font-size: 16px; line-height: 1.95; }
  .article-pager { grid-template-columns: 1fr; gap: 24px; margin: 50px 0 70px; }
  .article-pager a:last-child { text-align: left; }
  .article-pagination { margin-top: 36px; gap: 8px; }
  .article-pagination .page-btn,
  .article-pagination .page-num { min-width: 38px; height: 38px; padding: 0 12px; font-size: 15px; }
  .article-pagination .page-total { width: 100%; margin: 6px 0 0; text-align: center; }
  .more-news > div { grid-template-columns: 1fr; }
  .more-news a { display: grid; }
  .privacy-page { padding: 42px 0 66px; }
  .privacy-card { padding: 38px 24px; border-radius: 18px; }
  .privacy-card h1 { font-size: 38px; }
  .privacy-card p, .privacy-card li { font-size: 16px; }
  .contact-panel { padding: 34px 22px; }
  .contact-methods { padding: 66px 0; }
  .contact-methods__heading { margin-bottom: 46px; }
  .contact-methods__card { min-height: 0; padding: 34px 28px; border-top-width: 5px; }
  .contact-photo { min-height: 350px; }
  .form-row { grid-template-columns: 1fr; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions .btn { width: 100%; }
  .consult-form { grid-template-columns: 1fr; }
  .privacy-check,
  .form-actions { grid-column: 1 / -1; }
  .form-actions { margin-top: 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
