/**
 * GEO官网 - Portal风格设计系统
 * 暖色调、居中布局、圆角按钮、大留白
 */

/* ===== 全局色彩变量 ===== */
:root {
  --color-bg-warm: #faf8f5;
  --color-bg-warm-alt: #f5f0eb;
  --color-bg-white: #ffffff;
  --color-text-heading: #1a1a1a;
  --color-text-body: #6b6b6b;
  --color-text-muted: #9a9a9a;
  --color-accent: #c8553a;
  --color-accent-hover: #b04530;
  --color-border: #e8e4df;
  --color-card-bg: #ffffff;
  --color-dark-section: #1a1a1a;
}

/* ===== 暖色背景 ===== */
.bg-warm { background-color: var(--color-bg-warm); }
.bg-warm-alt { background-color: var(--color-bg-warm-alt); }

/* ===== 标题排版 ===== */
.heading-display {
  font-weight: 700;
  color: var(--color-text-heading);
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.heading-section {
  font-weight: 700;
  color: var(--color-text-heading);
  letter-spacing: -0.01em;
  line-height: 1.25;
}

/* ===== 正文排版 ===== */
.text-body {
  color: var(--color-text-body);
  line-height: 1.7;
}

.text-muted-warm {
  color: var(--color-text-muted);
}

/* ===== 小标签 ===== */
.label-tag {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  background: var(--color-bg-warm-alt);
  padding: 4px 14px;
  border-radius: 999px;
}

/* ===== 按钮 - Portal风格 ===== */
.btn-portal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 999px;
  transition: all 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}

.btn-portal-dark {
  background-color: var(--color-text-heading);
  color: #fff;
  border: 1px solid var(--color-text-heading);
}
.btn-portal-dark:hover {
  background-color: #333;
  border-color: #333;
}

.btn-portal-accent {
  background-color: var(--color-accent);
  color: #fff;
  border: 1px solid var(--color-accent);
}
.btn-portal-accent:hover {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
}

.btn-portal-outline {
  background-color: transparent;
  color: var(--color-text-heading);
  border: 1px solid var(--color-border);
}
.btn-portal-outline:hover {
  border-color: var(--color-text-heading);
}

.btn-portal-ghost {
  background: transparent;
  color: var(--color-text-body);
  border: none;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.btn-portal-ghost:hover {
  color: var(--color-text-heading);
}

/* ===== 卡片 ===== */
.card-portal {
  background: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.card-portal:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.06);
  transform: translateY(-2px);
}

/* ===== 产品截图容器 ===== */
.screenshot-frame {
  background: var(--color-bg-warm-alt);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.screenshot-frame img,
.screenshot-frame .screenshot-inner {
  border-radius: 10px;
  overflow: hidden;
}

/* ===== 分割线 ===== */
.divider-warm {
  border-color: var(--color-border);
}

/* ===== 特性网格图标 ===== */
.feature-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-accent);
}

/* ===== 步骤编号 ===== */
.step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}

/* ===== 暗色区块 ===== */
.section-dark {
  background: var(--color-dark-section);
  color: #fff;
}
.section-dark .text-body {
  color: #a0a0a0;
}

/* ===== 动画 ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
  animation: fadeInUp 0.6s ease forwards;
}

/* ===== 响应式微调 ===== */
@media (max-width: 768px) {
  .heading-display {
    font-size: 28px !important;
  }
  .btn-portal {
    padding: 10px 22px;
    font-size: 13px;
  }
}