:root {
  --air-ink: #181d26;
  --air-body: #333840;
  --air-muted: #41454d;
  --air-line: #dddddd;
  --air-line-strong: #9297a0;
  --air-canvas: #ffffff;
  --air-soft: #f8fafc;
  --air-strong: #e0e2e6;
  --air-coral: #aa2d00;
  --air-forest: #0a2e0e;
  --air-cream: #f5e9d4;
  --air-peach: #fcab79;
  --air-mint: #a8d8c4;
  --air-yellow: #f4d35e;
  --air-link: #1b61c9;
  --bg: var(--air-canvas);
  --card: var(--air-canvas);
  --surface: var(--air-canvas);
  --surface-soft: var(--air-soft);
  --text: var(--air-ink);
  --muted: var(--air-muted);
  --line: var(--air-line);
  --border: var(--air-line);
  --accent: var(--air-ink);
  --accent-2: var(--air-ink);
  --primary: var(--air-ink);
  --primary-dark: #0d1218;
  --primary-soft: var(--air-soft);
  --blue: var(--air-link);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius: 12px;
  --content: 1280px;
  --bg-primary: var(--air-soft);
  --bg-secondary: var(--air-canvas);
  --bg-card: var(--air-canvas);
  --bg-card-hover: var(--air-soft);
  --bg-input: var(--air-canvas);
  --text-primary: var(--air-ink);
  --text-secondary: var(--air-body);
  --text-muted: var(--air-muted);
  --text-color: var(--air-ink);
  --accent-color: var(--air-ink);
  --input-bg: var(--air-canvas);
  --border-color: var(--air-line);
  --border-focus: #458fff;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-glow: none;
}

html { scroll-padding-top: 80px; }

body {
  color: var(--air-body) !important;
  background: var(--air-canvas) !important;
  background-image: none !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 14px;
  line-height: 1.5;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.display-title,
.hero-title {
  color: var(--air-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-weight: 400 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  letter-spacing: 0 !important;
}

p, li, td, th, label, input, textarea, select { color: inherit; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid #458fff !important;
  outline-offset: 3px;
}

.container,
.section-shell,
.nav-inner {
  width: min(1280px, calc(100% - 96px));
}

.site-header,
.site-nav,
body.relative > header.sticky {
  min-height: 64px;
  color: var(--air-ink) !important;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--air-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.header-content,
.nav-inner,
.site-header .nav {
  min-height: 64px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-header a,
.site-nav a,
body.relative > header.sticky a { color: var(--air-ink) !important; }

.nav-links { color: var(--air-ink) !important; }
.nav-links a { font-size: 14px; font-weight: 400 !important; }

.primary-btn,
.button-primary,
.btn-primary,
.button:not(.secondary):not(.button-secondary):not(.button-ghost):not(.button-danger):not(.button-success),
.nav-cta,
.submit-btn,
.btn-submit,
button[type="submit"] {
  min-height: 48px;
  padding: 12px 24px !important;
  color: #fff !important;
  background: var(--air-ink) !important;
  background-image: none !important;
  border: 1px solid var(--air-ink) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 16px;
  font-weight: 500 !important;
  transform: none !important;
}

.site-header .primary-btn,
.site-header .btn-primary,
.site-header .nav-cta,
.site-nav .primary-btn,
.site-nav .button-primary,
.site-nav .nav-cta,
body.relative > header.sticky .btn-primary { color: #fff !important; }

.primary-btn:active,
.button-primary:active,
.btn-primary:active,
.nav-cta:active,
.submit-btn:active,
button[type="submit"]:active { background: #0d1218 !important; }

.secondary-btn,
.ghost-btn,
.btn-ghost,
.button.secondary,
.button-secondary,
.button-ghost {
  min-height: 48px;
  padding: 12px 24px !important;
  color: var(--air-ink) !important;
  background: var(--air-canvas) !important;
  background-image: none !important;
  border: 1px solid var(--air-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 16px;
  font-weight: 500 !important;
  transform: none !important;
}

.primary-btn:hover,
.secondary-btn:hover,
.ghost-btn:hover,
.button:hover,
.btn-primary:hover,
.btn-ghost:hover,
.feature-card:hover,
.product-card:hover,
.process-grid li:hover,
.qr-item:hover,
.faq-category:hover,
.platform-badge:hover {
  transform: none !important;
  box-shadow: none !important;
}

.hero,
.page-hero,
.prose-hero {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  color: var(--air-body);
  background: var(--air-canvas) !important;
  background-image: none !important;
}

.hero h1,
.page-hero h1,
.prose-hero h1 {
  color: var(--air-ink) !important;
  font-size: clamp(40px, 4.2vw, 56px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.hero-grid > *,
.hero-text,
.hero-card,
.hero-actions { min-width: 0; max-width: 100%; }

.subtitle,
.lead,
.hero-lead,
.section-header p,
.section-head p { color: var(--air-body) !important; }

.section,
.content-section { padding-top: 96px !important; padding-bottom: 96px !important; }
.section.soft,
.section-tinted { background: var(--air-soft) !important; }

.pill,
.eyebrow,
.section-label,
.section-kicker {
  color: var(--air-link) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

.eyebrow::before { box-shadow: none !important; background: var(--air-link) !important; }

.hero-card,
.feature-card,
.plugin-card,
.blog-card,
.faq-category,
.faq-item,
.tool-card,
.info-card,
.product-card,
.process-grid li,
.card,
.content-card,
.qr-card,
.qr-item,
.illustration-frame,
.media-frame,
.legal-paper,
.calculator-card,
.hero-panel,
.desktop-promo {
  border: 1px solid var(--air-line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  background-image: none !important;
}

.hero-card,
.feature-card,
.plugin-card,
.tool-card,
.info-card,
.card,
.content-card,
.qr-card,
.qr-item,
.hero-panel { background-color: var(--air-soft) !important; }

.stack-item,
.keyword-tag,
.platform-badge,
.status-chip,
.secure-badge,
.tag {
  border-color: var(--air-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  background-image: none !important;
}

.desktop-promo {
  padding: 40px 48px !important;
  background: var(--air-soft) !important;
}

/* 首页桌面产品入口：以低饱和冷色区分产品，避免大面积暖黄色。 */
.desktop-promo--whaler {
  background: #eef4fb !important;
  border-color: #d5e1ef !important;
}

.desktop-promo--harness {
  background: #edf6f2 !important;
  border-color: #d3e4dc !important;
}

/* FAQ 条目需要完整的四周留白；原页面仅为左侧强调线预留了空间。 */
#faq .faq-category {
  padding: 32px !important;
}

#faq .faq-list {
  gap: 16px;
}

#faq .faq-item {
  padding: 20px 22px !important;
  border-left: 3px solid var(--air-ink) !important;
  background: var(--air-canvas) !important;
}

#faq .faq-question {
  margin-bottom: 12px;
  line-height: 1.55;
}

#faq .faq-answer {
  line-height: 1.75;
}

.recommend-card,
.final-cta,
.cta-card {
  color: #fff !important;
  background: var(--air-forest) !important;
  background-image: none !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.recommend-card h2,
.recommend-card h3,
.final-cta h2,
.cta-card h2 { color: #fff !important; }

.platforms-section,
.features-section { background-image: none !important; }
.platforms-section__orb,
.bg-decoration,
.bg-blob { display: none !important; }

table { border-color: var(--air-line) !important; }
th, td { border-color: var(--air-line) !important; }

input,
textarea,
select {
  color: var(--air-ink) !important;
  background: var(--air-canvas) !important;
  border: 1px solid var(--air-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.site-footer,
footer {
  color: var(--air-body);
  background: var(--air-canvas) !important;
  background-image: none !important;
  border-top: 1px solid var(--air-line);
  box-shadow: none !important;
}

/* 推广大使及后台：保留状态语义，仅统一品牌层。 */
body[data-page] .hero { min-height: 0; }
body[data-page] .hero h1 span { color: var(--air-ink) !important; -webkit-text-fill-color: currentColor !important; }
body[data-page] .calculator-result { background: var(--air-coral) !important; }
body[data-page] .product-card-main { border-color: var(--air-line) !important; }
body[data-page] .step-icon { color: #fff !important; background: var(--air-ink) !important; border-radius: 10px !important; }

/* 清言插件页保留一个深色品牌舞台，其余组件采用克制的编辑式语言。 */
body.relative { background: var(--air-ink) !important; color: #fff !important; }
body.relative > header.sticky { color: var(--air-ink) !important; }
body.relative > section:first-of-type { background: var(--air-ink) !important; }
body.relative .display-title,
body.relative > section:first-of-type h1 { color: #fff !important; }
body.relative .doc-card-3d { transform: none !important; }
body.relative .doc-preview { border-radius: 10px !important; box-shadow: none !important; }
body.relative .glass,
body.relative .feature-card { border-radius: 10px !important; box-shadow: none !important; }
body.relative .fixed.inset-0 { opacity: 0 !important; }

/* 功能表单页面。 */
body[data-airtable-page="feedback"],
body[data-airtable-page="procurement"] {
  background: var(--air-soft) !important;
  overflow-x: hidden;
}
body[data-airtable-page="feedback"] > .container,
body[data-airtable-page="procurement"] .main-container,
body[data-airtable-page="procurement"] .form-card,
body[data-airtable-page="procurement"] .info-card {
  border: 1px solid var(--air-line) !important;
  border-radius: 12px !important;
  background: var(--air-canvas) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body[data-airtable-page="feedback"] .header h1,
body[data-airtable-page="procurement"] h1 { color: var(--air-ink) !important; -webkit-text-fill-color: currentColor !important; }
body[data-airtable-page="feedback"] .btn-submit { color: #fff !important; background: var(--air-ink) !important; }
body[data-airtable-page="procurement"] .hero-title,
body[data-airtable-page="procurement"] .hero-desc,
body[data-airtable-page="procurement"] .hero-stats,
body[data-airtable-page="procurement"] .hero-stat,
body[data-airtable-page="procurement"] .progress-section,
body[data-airtable-page="procurement"] .form-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
body[data-airtable-page="procurement"] .hero-desc { color: var(--air-body) !important; }
body[data-airtable-page="procurement"] .hero-stat-value {
  color: var(--air-ink) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}
body[data-airtable-page="procurement"] .hero-stat-label { color: var(--air-muted) !important; }
body[data-airtable-page="procurement"] .form-section,
body[data-airtable-page="procurement"] .section-card,
body[data-airtable-page="procurement"] .option-card,
body[data-airtable-page="procurement"] .form-group {
  opacity: 1 !important;
  filter: none !important;
}
body[data-airtable-page="procurement"] .section-title,
body[data-airtable-page="procurement"] .option-text,
body[data-airtable-page="procurement"] .form-label { color: var(--air-ink) !important; }
body[data-airtable-page="procurement"] .section-desc,
body[data-airtable-page="procurement"] .form-hint { color: var(--air-muted) !important; }

@media (max-width: 900px) {
  .container,
  .section-shell,
  .nav-inner { width: min(calc(100% - 48px), 760px); }
  .section,
  .content-section { padding-top: 72px !important; padding-bottom: 72px !important; }
}

@media (max-width: 640px) {
  .container,
  .section-shell,
  .nav-inner {
    width: calc(100vw - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .hero,
  .page-hero,
  .prose-hero { padding-top: 64px !important; padding-bottom: 64px !important; }
  .section,
  .content-section { padding-top: 64px !important; padding-bottom: 64px !important; }
  .desktop-promo { padding: 28px 20px !important; }
  #faq .faq-category { padding: 20px !important; }
  #faq .faq-item { padding: 18px 16px !important; }
  .primary-btn,
  .secondary-btn,
  .ghost-btn,
  .button,
  .btn-primary,
  .btn-ghost { min-height: 48px; }
  .hero-actions { width: 100%; gap: 12px !important; }
  .hero-actions > a,
  .hero-actions > button { width: 100%; flex: 1 1 100%; }
  .brand img:not(.brand-logo) { width: min(160px, 46vw) !important; height: auto !important; object-fit: contain; }
  .brand .brand-logo { width: 40px !important; height: 40px !important; object-fit: contain; }
  .site-header .primary-btn,
  .site-header .btn-primary,
  .site-header .nav-cta { min-height: 44px; padding: 10px 14px !important; font-size: 14px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) !important; width: 100%; }
  .hero h1,
  .page-hero h1,
  .prose-hero h1 { font-size: 34px !important; overflow-wrap: anywhere !important; }
  .hero p,
  .page-hero p,
  .prose-hero p { max-width: 100%; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
