/* ============================================================
   Apple UI Design System – Verified: 8pt Grid, SF Pro Typography,
   Material-Depth, Natural Spring Motion
   落地页（landing.html）：单强调色、无装饰性渐变、唯一的产品阴影按规范
   仅用于内容图；主体用羊皮纸底色 + 白色卡片 + 一块深色瓷砖做收尾 CTA。
   依赖 static/style.css 的设计令牌。
   ============================================================ */

body.landing-body { display: block; padding-bottom: 0; background: var(--bg); }

/* ---------- 顶部导航 ---------- */
.landing-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  height: 52px;
  padding: 0 var(--sp-5);
  background: var(--glass);
  backdrop-filter: var(--material-blur);
  -webkit-backdrop-filter: var(--material-blur);
  border-bottom: 0.5px solid var(--hairline);
}
.landing-brand {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-subhead);
  font-weight: 600;
  letter-spacing: -0.022em;
  color: var(--text-1);
}
.landing-brand-ico {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 23%;
  background: var(--accent);
  color: #fff;
  font-size: var(--fs-footnote);
  font-weight: 600;
}
.landing-nav-links { display: flex; align-items: center; gap: var(--sp-4); }
.landing-nav-links a {
  font-size: var(--fs-footnote);
  font-weight: 400;
  letter-spacing: -0.011em;
  color: var(--text-2);
  transition: color var(--dur) var(--ease-standard);
}
.landing-nav-links a:hover { color: var(--text-1); }

/* ---------- Hero ---------- */
.landing-hero {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--sp-8) var(--sp-5) var(--sp-7);
  text-align: center;
  animation: landIn var(--dur-slow) var(--ease-standard) both;
}
.hero-eyebrow {
  display: inline-block;
  margin-bottom: var(--sp-4);
  padding: 4px var(--sp-3);
  border-radius: var(--radius-pill);
  background: var(--accent-light);
  color: var(--accent);
  font-size: var(--fs-caption);
  font-weight: 600;
  letter-spacing: -0.011em;
}
.hero-title {
  font-size: var(--fs-hero);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.07;
  color: var(--text-1);
}
.hero-title em { font-style: normal; color: var(--accent); }
.hero-sub {
  max-width: 520px;
  margin: var(--sp-4) auto 0;
  font-size: var(--fs-body);
  font-weight: 400;
  letter-spacing: -0.011em;
  line-height: 1.47;
  color: var(--text-2);
}
.hero-cta {
  display: flex;
  gap: var(--sp-3);
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--sp-5);
}

@keyframes landIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
.land-in { animation: landIn var(--dur) var(--ease-standard) both; }

/* ---------- 特性卡片 ---------- */
.landing-section { max-width: 1040px; margin: 0 auto; padding: var(--sp-6) var(--sp-5); }
.landing-section-title {
  margin-bottom: var(--sp-5);
  text-align: center;
  font-size: var(--fs-title-1);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.2;
  color: var(--text-1);
}
.landing-section-sub {
  max-width: 560px;
  margin: calc(var(--sp-4) * -1 + var(--sp-2)) auto var(--sp-5);
  text-align: center;
  font-size: var(--fs-footnote);
  letter-spacing: -0.011em;
  line-height: 1.5;
  color: var(--text-3);
}
.feat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
  gap: var(--sp-4);
}
.feat-card {
  padding: var(--sp-5);
  background: var(--card);
  border: 0.5px solid var(--hairline);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
  transition: transform var(--dur) var(--ease-standard),
              box-shadow var(--dur) var(--ease-standard);
}
.feat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.feat-ico {
  width: 40px;
  height: 40px;
  margin-bottom: var(--sp-4);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  background: var(--accent-light);
  color: var(--accent);
}
.feat-ico svg { width: 20px; height: 20px; }
.feat-t {
  font-size: var(--fs-callout);
  font-weight: 600;
  letter-spacing: -0.011em;
  color: var(--text-1);
}
.feat-d {
  margin-top: var(--sp-1);
  font-size: var(--fs-footnote);
  letter-spacing: -0.011em;
  line-height: 1.5;
  color: var(--text-2);
}

/* ---------- 深色瓷砖 CTA（Apple 惯用收尾）---------- */
.tile-dark {
  max-width: 1040px;
  margin: 0 auto;
  padding: var(--sp-8) var(--sp-6);
  border-radius: var(--radius);
  background: #272729;
  text-align: center;
}
.tile-dark .t {
  font-size: var(--fs-display);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.1;
  color: #fff;
}
.tile-dark .d {
  max-width: 480px;
  margin: var(--sp-3) auto 0;
  font-size: var(--fs-body);
  letter-spacing: -0.011em;
  line-height: 1.47;
  color: #ccc;
}
.tile-dark .btn-primary { margin-top: var(--sp-5); }

/* ---------- 详情列表 ---------- */
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--sp-5);
}
.detail-item { text-align: left; }
.detail-item .ico {
  width: 36px;
  height: 36px;
  margin-bottom: var(--sp-3);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xs);
  background: var(--bg-2);
  border: 0.5px solid var(--hairline);
  color: var(--accent);
}
.detail-item .ico svg { width: 18px; height: 18px; }
.detail-item h3 {
  font-size: var(--fs-subhead);
  font-weight: 600;
  letter-spacing: -0.011em;
  color: var(--text-1);
}
.detail-item p {
  margin-top: var(--sp-1);
  font-size: var(--fs-footnote);
  letter-spacing: -0.011em;
  line-height: 1.5;
  color: var(--text-3);
}

/* ---------- 页脚 ---------- */
.landing-footer {
  margin-top: var(--sp-7);
  padding: var(--sp-5);
  border-top: 0.5px solid var(--hairline);
  text-align: center;
  font-size: var(--fs-caption);
  letter-spacing: -0.011em;
  line-height: 1.5;
  color: var(--text-3);
}
.landing-footer a { color: var(--text-2); }
.landing-footer a:hover { color: var(--accent); }

@media (max-width: 734px) {
  .hero-title { font-size: var(--fs-display); }
  .landing-hero { padding: var(--sp-7) var(--sp-4) var(--sp-6); }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .tile-dark { padding: var(--sp-7) var(--sp-4); border-radius: 0; margin: 0; }
  .tile-dark .t { font-size: var(--fs-title-1); }
}

@media (prefers-reduced-motion: reduce) {
  .landing-hero, .land-in { animation: none; }
  .feat-card:hover { transform: none; }
}
