/* ==========================================================================
   nanhu web theme · base.css
   设计变量 / 基础重置 / 排版 / 通用组件 / 响应式基础
   ========================================================================== */

:root {
  /* 品牌 */
  --Original: #fa541c;
  --gradient1: linear-gradient(180deg, #ff6830 0%, #fa541c 64%, #d22c00 100%);
  --gradient2: linear-gradient(180deg, #fa541c, #d22c00);
  --btn-orange: #e56721;
  --btn-orange-hover: #cf5915;
  --nav-register: #f47a20;
  --nav-register-hover: #fa8c16;
  /* 文本 */
  --txtcl: #181818;
  --txtdesc: rgba(0, 0, 0, 0.65);
  --muted: #8a9297;
  --heading: #29313a;
  /* 面 / 线 */
  --peach: #fff1e5;
  --line-soft: #eef0f4;
  --line-peach: #f2decb;
  /* 尺寸 */
  --navheight: 80px;
  --maxwidth: 1240px;
  --radius: 12px;
  --radius-pill: 40px;
  /* 字体 */
  --font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
    "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: var(--font-family);
  font-size: 14px;
  line-height: 1.6;
  color: #333333;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font-family: inherit; border: 0; background: none; cursor: pointer; }
img { max-width: 100%; border: 0; vertical-align: middle; }
svg { display: block; }
input, select, textarea { font-family: inherit; font-size: inherit; }

/* ============================ 布局壳 ============================ */
.cloud-shell {
  width: min(var(--maxwidth), calc(100% - 64px));
  margin-left: auto;
  margin-right: auto;
}

.cloud-section { padding-block: 84px; }

/* ============================ 通用排版 ============================ */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--btn-orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.76px;
  text-transform: uppercase;
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 34px;
}

.section-heading h2 {
  margin-top: 10px;
  font-size: 42px;
  line-height: 1.28;
  letter-spacing: -1.89px;
  font-weight: 650;
  color: var(--heading);
}

.section-heading > p {
  max-width: 380px;
  color: var(--txtdesc);
  font-size: 14.5px;
  line-height: 1.95;
}

/* ============================ 滚动进场 ============================ */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ============================ 响应式基础 ============================ */
@media (max-width: 1100px) {
  .cloud-shell { width: calc(100% - 48px); }
}

@media (max-width: 820px) {
  .cloud-shell { width: calc(100% - 40px); }
  .cloud-section { padding-block: 64px; }
  .section-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 26px;
  }
  .section-heading h2 { font-size: 30px; letter-spacing: -1px; }
  .section-heading > p { max-width: none; }
}

@media (max-width: 540px) {
  .section-heading h2 { font-size: 26px; }
}
