@charset "UTF-8";
/* ============================================================
   尊出行 · 官网
   设计基准：1920px 画布 / 1400px 内容容器 / 深色 + 香槟金
   字体：HarmonyOS Sans SC（华为终端有限公司，免费商用）
   ============================================================ */

/* ---------- 字体 ----------
   自托管 woff2，已按本站实际用字子集化（原字体 7.8MB/字重 → 约 92KB）
   仅含 index.html / about.html / legal/agreement.html 出现的字符。
   若以后新增文案出现生僻字，需重新生成子集（见 assets/fonts/README.txt）。
   HarmonyOS Sans 许可：不得修改字体、不得单独再分发字体文件、
   须保留版权声明。详见 assets/fonts/LICENSE-HarmonyOS-Sans.txt        */
@font-face{
  font-family:"HarmonyOS Sans SC";
  src:url("../fonts/HarmonyOSSansSC-300.woff2") format("woff2");
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"HarmonyOS Sans SC";
  src:url("../fonts/HarmonyOSSansSC-400.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"HarmonyOS Sans SC";
  src:url("../fonts/HarmonyOSSansSC-500.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"HarmonyOS Sans SC";
  src:url("../fonts/HarmonyOSSansSC-700.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}

/* ---------- 设计令牌 ---------- */
:root{
  /* 底色 */
  --bg:          #0D0D10;   /* 页面主底色 */
  --bg-deep:     #08080A;   /* 车型区等更深分区 */
  --bg-commit:   #0F0F13;   /* 服务承诺分区 */
  /* 卡片底 —— 各区块底色不同，均为设计稿实测值 */
  --panel:        #101014;  /* 主营业务卡 / 统计卡 / 二维码卡 */
  --panel-fleet:  #141418;  /* 车型展示卡 */
  --panel-scene:  #101015;  /* 服务场景格 */
  --panel-hi:     #202026;  /* 卡片 hover（设计稿高亮态） */
  --panel-hi-scene:#1D1D24; /* 服务场景格 hover */

  /* 香槟金 */
  --gold:        #D8C08A;
  --gold-lt:     #E4CC96;
  --gold-dk:     #C6A86C;

  /* 文字 */
  --tx:          #F8F8F8;
  --tx-2:        #D8D8D8;
  --tx-3:        #9A9AA3;
  --tx-4:        #6E6E78;

  /* 描边 */
  --line:        rgba(255,255,255,.075);
  --line-2:      rgba(255,255,255,.13);
  --line-gold:   rgba(216,192,138,.34);

  /* 尺寸 */
  --wrap:        1400px;    /* 内容容器 */
  --wrap-hdr:    1670px;    /* 导航容器（更宽） */
  --hdr-h:       73px;   /* 实测：logo 内容 y11–61.5 居中推算 */
  --r:           2px;

  /* 字体 */
  --ff: "HarmonyOS Sans SC","PingFang SC","Source Han Sans SC","Noto Sans SC",
        "Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* 西文同样走 HarmonyOS Sans，字形与中文统一（其拉丁部分为华为自绘） */
  --ff-lat: var(--ff);
}

/* ---------- 基础 ---------- */
*,*::before,*::after{ box-sizing:border-box; }

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

body{
  margin:0;
  background:var(--bg);
  color:var(--tx-2);
  font-family:var(--ff);
  font-size:17px;
  line-height:1.85;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

h1,h2,h3,p,dl,dd,figure{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
img{ max-width:100%; display:block; border:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

.sprite{ position:absolute; width:0; height:0; overflow:hidden; }

/* 图标统一描边风格 */
svg use{ fill:none; stroke:currentColor; stroke-width:1.15;
        stroke-linecap:round; stroke-linejoin:round; }

/* ---------- 通用容器 / 排版 ---------- */
.wrap{ width:min(var(--wrap), 100% - 80px); margin-inline:auto; }

.eyebrow{
  font-family:var(--ff-lat);
  font-size:14px; line-height:1;
  letter-spacing:.34em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:52px;
}

.h2{
  font-size:66px;
  line-height:1.14;
  font-weight:700;
  letter-spacing:.25em;
  color:var(--tx);
  text-indent:.25em;          /* 抵消末字右侧字距，保持视觉居中 */
}
.h2--left{ text-indent:0; }

/* 金色分隔线：细线 + 中心菱形 */
.divider{
  position:relative;
  width:89px; height:9px;
  margin:34px auto 0;
  background:
    linear-gradient(90deg, transparent, var(--line-gold) 28%, var(--line-gold) 72%, transparent)
    center / 100% 1px no-repeat;
}
.divider::after{
  content:"";
  position:absolute; inset:0; margin:auto;
  width:7px; height:7px;
  background:var(--gold);
  transform:rotate(45deg);
}
.divider--left{ margin-left:0; }

/* 两侧短线（hero 眉标 / 车型说明） */
.rule{
  display:inline-block; vertical-align:middle;
  width:80px; height:1px;
  background:linear-gradient(90deg,transparent 2%,var(--gold));
  opacity:.62;
  margin-right:22px;
}
.rule:last-child{
  margin-right:0; margin-left:22px;
  background:linear-gradient(270deg,transparent 2%,var(--gold));
}

/* 章节公共头 */
.sec{ position:relative; padding:150px 0; }
.sec-head{ text-align:center; margin-bottom:78px; }
.sec-head__sub{
  margin-top:41px;
  font-size:21px; line-height:1.5;
  color:var(--tx-3);
  letter-spacing:.24em; text-indent:.24em;
}

/* 通用按钮：金线描边 */
.btn-gold{
  display:inline-block;
  padding:19px 62px;
  border:1px solid var(--line-gold);
  color:var(--gold);
  font-size:19px;
  letter-spacing:.24em;
  text-indent:.24em;
  transition:background .45s, color .45s, border-color .45s;
}
.btn-gold:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#1A1508;
}

/* 滚动淡入 —— 只有 <html class="has-reveal"> 时才隐藏，
   这样 JS 未执行 / 执行失败时内容依然可见 */
.has-reveal .reveal{ opacity:0; transform:translateY(26px);
         transition:opacity .9s cubic-bezier(.22,.61,.36,1),
                    transform .9s cubic-bezier(.22,.61,.36,1); }
.has-reveal .reveal.is-in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.09s }
.reveal[data-d="2"]{ transition-delay:.18s }
.reveal[data-d="3"]{ transition-delay:.27s }
.reveal[data-d="4"]{ transition-delay:.36s }
.reveal[data-d="5"]{ transition-delay:.45s }

/* ============================================================
   顶部导航
   ============================================================ */
.hdr{
  position:fixed; inset:0 0 auto; z-index:90;
  height:var(--hdr-h);
  transition:background .4s, backdrop-filter .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.hdr__in{
  width:100%;
  padding-inline:106px 177px;      /* 设计稿左右留白不对称，实测值 */
  height:100%;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.hdr__brand{ display:flex; align-items:center; gap:23px; flex:none; }
.hdr__maextro{ height:55px; width:auto; }
/* 品牌名文字（原为 logo-hexing 图片）：常驻白色 */
.hdr__name{
  font-size:30px; line-height:1; font-weight:700;
  letter-spacing:.12em;
  color:#fff;
  white-space:nowrap;
}

.nav{ display:flex; align-items:center; gap:56px; }
.nav__a{
  position:relative;
  font-size:16px; line-height:1;
  letter-spacing:.1em;
  color:rgba(255,255,255,.86);
  padding:6px 0;
  transition:color .3s;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.nav__a::after{
  content:""; position:absolute; left:50%; bottom:-4px;
  width:0; height:2px; background:var(--gold);
  transform:translateX(-50%);
  transition:width .35s cubic-bezier(.22,.61,.36,1);
}
.nav__a:hover{ color:var(--gold-lt); }
.nav__a:hover::after,
.nav__a.is-active::after{ width:100%; }
.nav__a.is-active{ color:var(--gold); }

/* 滚动后：实底 + 深色 logo */
.hdr.is-solid{
  background:rgba(10,10,13,.9);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom-color:var(--line);
}
.hdr.is-solid .nav__a{ color:var(--tx-2); text-shadow:none; }
.hdr.is-solid .nav__a:hover,
.hdr.is-solid .nav__a.is-active{ color:var(--gold); }
/* 汉堡按钮 */
.burger{ display:none; width:26px; height:18px; position:relative; flex:none; }
.burger span{
  position:absolute; left:0; width:100%; height:1.6px;
  background:var(--tx); border-radius:2px;
  transition:transform .35s, opacity .3s, background .3s;
}
.burger span:nth-child(1){ top:0 }
.burger span:nth-child(2){ top:8px }
.burger span:nth-child(3){ top:16px }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(8px) rotate(45deg) }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0 }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-8px) rotate(-45deg) }

.nav-mask{
  position:fixed; inset:0; z-index:80;
  background:rgba(5,5,8,.6);
  backdrop-filter:blur(3px);
}

/* ============================================================
   首屏
   ============================================================ */
.hero{
  position:relative;
  min-height:1080px; height:100vh; max-height:1080px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  text-align:center;
}
.hero__bg{
  position:absolute; inset:0;
  /* 设计稿导出的 hero 背景原图，1920x1080 与首屏尺寸一致 */
  background:url("../img/hero-bg.jpg") center / cover no-repeat;
  will-change:transform;
}
/* 实测：hero 图正好铺满 0–1080，无叠加；底部暗场由下一分区的渐变承担 */
.hero__veil{ position:absolute; inset:0; }
/* padding-top 让文字块整体略低于几何中心（对齐设计稿的视觉重心） */
.hero__in{ position:relative; z-index:2; width:min(var(--wrap),100% - 80px); padding-top:46px; }

.hero__eyebrow{
  font-size:20px; line-height:1; letter-spacing:.3em;
  color:var(--gold); margin-bottom:44px;
  display:flex; align-items:center; justify-content:center;
}
.hero__eyebrow i{ font-style:normal; margin:0 .5em; opacity:.75; font-size:.85em; }
.hero__eyebrow .rule{ width:80px; margin-right:26px; }
.hero__eyebrow .rule:last-child{ margin-left:26px; margin-right:0; }

.hero__title{
  font-size:132px; line-height:1;
  font-weight:700;
  letter-spacing:.32em;
  text-indent:.32em;
  color:#fff;
  text-shadow:0 4px 40px rgba(0,0,0,.45);
}
/* 设计稿实测：西文行几乎铺满容器，字距极宽 */
.hero__latin{
  margin-top:52px;
  font-family:var(--ff-lat);
  font-size:20px; line-height:1;
  letter-spacing:.9em; text-indent:.9em;
  color:rgba(255,255,255,.74);
}
.hero__slogan{
  margin-top:66px;
  font-size:38px; line-height:1;
  letter-spacing:.14em;
  color:#fff;
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.hero__slogan i{ font-style:normal; margin:0 .55em; opacity:.8; }
.hero__dash{
  width:70px; height:1px; background:rgba(255,255,255,.55);
  margin:0 32px;
}
.hero__slogan em{ font-style:normal; color:var(--gold-lt); }

.hero__sub{
  margin-top:34px;
  font-size:22px; line-height:1; letter-spacing:.2em; text-indent:.2em;
  color:rgba(255,255,255,.72);
}
/* 设计稿实测按钮 320×89 */
.hero__in .btn-gold{
  margin-top:74px;
  width:320px; height:89px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0;
  font-size:20px;
}

.hero__scroll{
  position:absolute; left:50%; bottom:36px; z-index:2;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:12px;
  font-family:var(--ff-lat);
  font-size:13px; letter-spacing:.34em; text-indent:.34em;
  color:rgba(255,255,255,.55);
}
.hero__scroll i{
  width:1px; height:44px;
  background:linear-gradient(180deg,var(--gold),transparent);
  animation:scrollDot 2.1s ease-in-out infinite;
}
@keyframes scrollDot{
  0%,100%{ transform:scaleY(.42); opacity:.4; transform-origin:top }
  50%    { transform:scaleY(1);   opacity:1;  transform-origin:top }
}

/* ============================================================
   品牌简述
   ============================================================ */
.sec--brand{ padding-top:157px; padding-bottom:95px;
  background:linear-gradient(180deg, #2D2E31 0, var(--bg) 400px); }
.brand__top{
  display:grid;
  /* 设计稿实测：两栏各 700px、无间隙，右栏正文自 x960.5 起 */
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:start;
}
/* 右栏起点对齐左侧 H2（而非 eyebrow），设计稿实测偏移 73px */
.brand__right{ padding-top:80px; }
.brand__left .h2{ margin-top:0; }

.pills{ margin-top:46px; display:flex; flex-wrap:wrap; gap:16px 18px; }
.pills li{
  padding:15px 30px;
  border:1px solid var(--line-gold);
  border-radius:999px;
  font-size:18px; line-height:1;
  color:var(--gold-lt);
  letter-spacing:.08em;
  white-space:nowrap;
}

.brand__lead{
  font-size:29px; line-height:1.5;
  color:var(--tx);
  letter-spacing:.03em;
  margin-bottom:34px;
}
.brand__body{
  font-size:27px; line-height:2.11;
  color:var(--tx-3);
  letter-spacing:.02em;
}
/* 正文里的白色强调（设计稿实测 #FFFFFF，正文灰为 #A1A1A1） */
.hl{ color:#fff; }
/* 破折号：HarmonyOS Sans 的 U+2014 左右各留 2.25px 空白，
   两个连排会在中间露出缺口；设计稿里是一条连续长线，
   这里收紧字距把缺口补上（视觉上合并为一条） */
.em-dash{ letter-spacing:-.18em; }

.stats{
  margin-top:96px;
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}
.stats li{
  padding:74px 40px 70px;
  text-align:center;
  border-left:1px solid var(--line);
}
.stats li:first-child{ border-left:0; }
.stats b{
  display:block;
  font-size:44px; line-height:1.2; font-weight:700;
  letter-spacing:.1em; text-indent:.1em;
  color:var(--gold);
}
.stats span{
  display:block; margin-top:30px;
  font-size:19px; line-height:1; letter-spacing:.12em;
  color:var(--tx-3);
}

/* ============================================================
   主营业务
   ============================================================ */
.sec--services{ padding-bottom:79px; }
.cards{
  display:grid; grid-template-columns:repeat(var(--cols,4),1fr);
  gap:38px;
}
.card{
  position:relative;
  padding:62px 31px 72px;
  background:var(--panel);
  border:1px solid var(--line-2);
  transition:background .45s, border-color .45s, transform .45s;
}
.card:hover{ background:var(--panel-hi); border-color:var(--line-gold); transform:translateY(-4px); }

.card__no{
  font-family:var(--ff-lat);
  font-size:27px; line-height:1;
  letter-spacing:.04em;
  color:var(--gold);
}
.card__ico{
  display:block; margin:56px 0 0;
  width:50px; height:50px;
}
.card__ico svg{ width:100%; height:100%; }
.card__t{
  margin-top:64px;
  font-size:33px; line-height:1.3; font-weight:500;
  letter-spacing:.05em;
  color:var(--tx);
}
.card__d{
  margin-top:30px;
  font-size:18px; line-height:1.9;
  color:var(--tx-3);
}

/* ============================================================
   车型展示
   ============================================================ */
.sec--fleet{ background:var(--bg-deep); padding-bottom:134px; }

.rule-cap{
  display:flex; align-items:center; justify-content:center;
  gap:26px;
  margin:-14px 0 62px;
  font-size:24px; line-height:1.5; letter-spacing:.06em;
  color:var(--tx-2);
  text-align:center;
}
.rule-cap .rule{ width:110px; flex:none; }

.fleet{ display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.fleet__i{
  background:var(--panel-fleet);
  border:1px solid var(--line);
  overflow:hidden;
  transition:border-color .45s, transform .45s;
}
.fleet__i:hover{ border-color:var(--line-gold); transform:translateY(-4px); }
.fleet__pic{ aspect-ratio:443/250; overflow:hidden; background:#0A0A0C; }
.fleet__pic img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
.fleet__i:hover .fleet__pic img{ transform:scale(1.045); }
.fleet__b{ padding:38px 31px 50px; }
.fleet__t{
  font-size:34px; line-height:1.25; font-weight:500;
  letter-spacing:.02em; color:var(--tx);
}
.fleet__k{
  margin-top:24px;
  font-size:20px; line-height:1.4; letter-spacing:.06em;
  color:var(--gold);
}
.fleet__d{
  margin-top:34px;
  font-size:18px; line-height:2.1;
  color:var(--tx-3);
}

/* ============================================================
   服务承诺
   ============================================================ */
.sec--commit{
  background:var(--bg-commit);
  padding:120px 0 268px;
  overflow:hidden;
}
.commit__bg{
  position:absolute; inset:0;
  background:url("../img/commit-bg.jpg") center 42% / cover no-repeat;
  filter:grayscale(.36) brightness(.42) contrast(1.12) saturate(.72);
}
.commit__veil{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg,
      var(--bg) 0%, rgba(15,15,19,.46) 15%,
      rgba(15,15,19,.40) 74%, var(--bg-commit) 100%),
    linear-gradient(105deg, rgba(13,13,16,.40) 0%, rgba(13,13,16,.18) 46%, rgba(13,13,16,.44) 100%);
}
.sec--commit .wrap{ position:relative; z-index:2; }
.sec--commit .sec-head{ margin-bottom:66px; }

.promises{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:34px;
  width:min(1150px,100%);
  margin-inline:auto;
}
.promise{
  padding:76px 40px 80px;
  text-align:center;
  background:rgba(20,20,25,.5);
  border:1px solid var(--line-gold);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:background .45s;
}
.promise:hover{ background:rgba(28,28,35,.62); }
.promise__ico{
  display:block; width:60px; height:60px;
  margin:0 auto;
}
.promise__ico svg{ width:100%; height:100%; }
.promise__t{
  margin-top:44px;
  font-size:32px; line-height:1.4; font-weight:500;
  letter-spacing:.05em; color:var(--tx);
}
.promise__d{
  margin-top:28px;
  font-size:19px; line-height:1.6; letter-spacing:.06em;
  color:var(--tx-3);
}

/* ============================================================
   服务场景
   ============================================================ */
.sec--scenes{ padding-bottom:24px; }
.scenes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.scene{
  padding:56px 32px 52px;
  text-align:center;
  background:var(--panel-scene);
  /* 设计稿实测网格线为暖色 #302C25（金色低透明），不是中性白 */
  border-right:1px solid rgba(216,192,138,.15);
  border-bottom:1px solid rgba(216,192,138,.15);
  transition:background .45s;
}
.scene:hover{ background:var(--panel-hi-scene); }
.scene__ico{
  display:block; height:48px; width:auto;
  margin:0 auto;
}
.scene__ico svg{ width:100%; height:100%; }
.scene__t{
  margin-top:38px;
  font-size:26px; line-height:1.4; font-weight:500;
  letter-spacing:.08em; color:var(--tx);
}
.scene__d{
  margin-top:16px;
  font-size:18px; line-height:1.5; letter-spacing:.05em;
  color:var(--tx-3);
}
.scenes__cap{
  margin-top:60px;
  text-align:center;
  font-size:21px; line-height:1.6; letter-spacing:.05em;
  color:var(--tx-3);
}
.scenes__cap em{ font-style:normal; color:var(--gold); }

/* ============================================================
   服务流程
   ============================================================ */
.sec--process{ padding-bottom:137px; }
/* 实测：6 个圆底中心等距 261px，首尾与容器两边齐平 → space-between + 固定 89px */
.steps{
  display:flex; align-items:flex-start; justify-content:space-between;
}
.step{
  position:relative;
  flex:0 0 auto; width:89px;
  text-align:center;
}
/* 步骤之间的连接线 + 箭头（弹性占位，任意宽度下自动分配） */
.steps__link{ position:relative; flex:1 1 auto; height:89px; }
.steps__link::before{
  content:""; position:absolute; top:44px; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, var(--line-gold), rgba(216,192,138,.18));
}
.steps__link::after{
  content:""; position:absolute; top:40px; right:12px;
  width:7px; height:7px;
  border-top:1px solid var(--line-gold);
  border-right:1px solid var(--line-gold);
  transform:rotate(45deg);
}
/* 图标 PNG 已自带 #2B2A2B 圆形底，无需再用 CSS 画 */
.step__ico{
  position:relative; z-index:2;
  display:block; width:89px; height:89px;
  margin:0 auto;
}
.step__ico svg{ width:28px; height:28px; }

.step__t, .step__d{ white-space:nowrap; }   /* 窄于文字宽度，允许溢入间隔而不换行 */
.step__t{
  margin-top:30px;
  font-size:24px; line-height:1.4; font-weight:500;
  letter-spacing:.06em; color:var(--tx);
}
.step__d{
  margin-top:12px;
  font-size:16px; line-height:1.72; letter-spacing:.03em;
  color:var(--tx-3);
}

/* ============================================================
   联系我们
   ============================================================ */
.sec--contact{ padding-top:198px; padding-bottom:130px; }
.sec--contact .divider{ margin-top:59px; }
.contact__grid{
  display:grid;
  grid-template-columns:1fr 1.02fr;
  gap:80px;
  align-items:start;
}
.contact__lead{
  margin-top:64px;
  font-size:24px; line-height:1.67; letter-spacing:.02em;
  color:var(--tx-2);
}
.contact__dl{ margin-top:47px; }
.contact__dl > div{
  display:flex; align-items:baseline; gap:26px;
  padding:22px 0;
}
.contact__dl dt{
  flex:none; width:96px;
  font-size:22px; line-height:1.6; letter-spacing:.06em;
  color:var(--tx);
}
.contact__dl dd{
  font-size:22px; line-height:1.6; letter-spacing:.02em;
  color:var(--tx-3);
}

.contact__r{ display:flex; flex-direction:column; gap:34px; }
.qrs{ display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.qr{
  padding:30px 22px 26px;
  text-align:center;
  border:1px solid var(--line);
  transition:border-color .45s;
}
.qr:hover{ border-color:var(--line-gold); }
/* 二维码固定为正方形：aspect-ratio 兜底，object-fit 保证换图也不会被拉伸 */
.qr img{
  width:100%; max-width:266px; margin:0 auto;
  aspect-ratio:1 / 1; object-fit:contain;
  background:#fff; padding:0;
}
.qr figcaption{ margin-top:24px; }
.qr figcaption b{
  display:block;
  font-size:22px; font-weight:500; line-height:1.4; letter-spacing:.06em;
  color:var(--tx);
}
.qr figcaption span{
  display:block; margin-top:10px;
  font-size:16px; line-height:1.4; letter-spacing:.04em;
  color:var(--tx-3);
}

.hotline{
  display:flex; align-items:center; gap:26px;
  padding:30px 38px;
  background:linear-gradient(90deg, rgba(216,192,138,.09), rgba(216,192,138,.02));
  border:1px solid var(--line-gold);
}
.hotline__ico{
  flex:none; width:47px; height:47px;
}
.hotline__ico svg{ width:100%; height:100%; }
.hotline__k{
  font-size:18px; line-height:1.4; letter-spacing:.06em;
  color:var(--tx-3);
}
.hotline__n{
  display:block; margin-top:4px;
  font-family:var(--ff-lat);
  font-size:40px; line-height:1.2; font-weight:300;
  letter-spacing:.1em;
  color:var(--gold-lt);
  transition:color .3s;
}
.hotline__n:hover{ color:#fff; }

/* ============================================================
   内页（关于我们 / 用户协议）
   ============================================================ */
.pg-hero{
  position:relative;
  padding:210px 0 120px;
  overflow:hidden;
  text-align:center;
}
.pg-hero__bg{
  position:absolute; inset:0;
  background:url("../img/commit-bg.jpg") center 38% / cover no-repeat;
  filter:grayscale(.42) brightness(.44) contrast(1.08) saturate(.7);
}
.pg-hero__veil{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(13,13,16,.72) 0%, rgba(13,13,16,.52) 42%,
                    rgba(13,13,16,.66) 76%, var(--bg) 100%);
}
.pg-hero__in{ position:relative; z-index:2; }
.pg-hero__t{
  font-size:66px; line-height:1.14; font-weight:700;
  letter-spacing:.25em; text-indent:.25em;
  color:var(--tx);
}
.pg-hero__s{
  margin-top:26px;
  font-size:21px; line-height:1.5;
  letter-spacing:.24em; text-indent:.24em;
  color:var(--tx-3);
}

/* 内页导航常驻实底（页头是深色，浅色 logo 会看不见） */
.pg .hdr{
  background:rgba(10,10,13,.88);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom-color:var(--line);
}
.pg .hdr .nav__a{ color:var(--tx-2); text-shadow:none; }
.pg .hdr .nav__a:hover,
.pg .hdr .nav__a.is-active{ color:var(--gold); }
.pg .hdr 
.lnk{ color:var(--gold); border-bottom:1px solid var(--line-gold); transition:color .3s; }
.lnk:hover{ color:var(--gold-lt); }

/* 长文排版（用户协议等） */
.legal{ padding:150px 0 120px; }
.legal__t{
  font-size:44px; line-height:1.3; font-weight:700;
  letter-spacing:.12em; color:var(--tx);
}
.legal__meta{
  margin-top:22px; padding-bottom:34px;
  border-bottom:1px solid var(--line);
  font-size:16px; line-height:2; color:var(--tx-3);
}
.legal__body{ margin-top:44px; max-width:960px; }
.legal__body h2{
  margin:52px 0 18px;
  font-size:26px; line-height:1.5; font-weight:500;
  letter-spacing:.06em; color:var(--tx);
}
.legal__body h3{
  margin:34px 0 12px;
  font-size:20px; line-height:1.5; font-weight:500; color:var(--tx-2);
}
.legal__body p{ margin:0 0 16px; font-size:17px; line-height:2; color:var(--tx-3); }
.legal__body li{ position:relative; padding-left:20px; margin-bottom:10px;
                 font-size:17px; line-height:2; color:var(--tx-3); }
.legal__body li::before{
  content:""; position:absolute; left:2px; top:.85em;
  width:5px; height:5px; border-radius:50%; background:var(--gold); opacity:.7;
}
.legal__body strong{ color:var(--tx); font-weight:700; }

/* ============================================================
   页脚
   ============================================================ */
.ftr{
  padding:18px 0 26px;
  border-top:1px solid var(--line);
  text-align:center;
}
.ftr p{ font-size:17px; line-height:2.8; letter-spacing:.04em; color:var(--tx-4); }
.ftr__1 a{ color:var(--tx-3); border-bottom:1px solid transparent; transition:.3s; }
.ftr__1 a:hover{ color:var(--gold); border-bottom-color:var(--line-gold); }
.ftr__3{ color:var(--tx-3); }
.ftr__2 a{ color:inherit; transition:.3s; }
.ftr__2 a:hover{ color:var(--gold); }
.ftr__badge{ display:inline-block; vertical-align:-3px; margin:0 3px 0 5px; }

/* 焦点可见性 */
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ============================================================
   响应式
   ============================================================ */

/* 1600 及以下：整体等比收一点 */
@media (max-width:1600px){
  .wrap{ width:min(1240px, 100% - 72px); }
  .hdr__in{ padding-inline:72px 100px; }
  .hero__title{ font-size:126px; }
  .h2{ font-size:64px; }
  .sec-head__sub{ font-size:23px; }
  .brand__lead{ font-size:26px; }
  .brand__body{ font-size:23px; }
  .cards{ gap:30px; }
  .fleet{ gap:30px; }
}

/* 1366 及以下 */
@media (max-width:1366px){
  .wrap{ width:min(1120px, 100% - 64px); }
  .hdr__in{ padding-inline:48px 64px; }
  .hero__title{ font-size:110px; }
  .h2{ font-size:56px; }
  .sec{ padding:120px 0; }
  .steps{ gap:16px; }
  .step__t{ font-size:21px; }
  .steps__link::after{ display:none; }
}

/* 平板：1024 及以下 */
@media (max-width:1024px){
  :root{ --hdr-h:70px; }
  .wrap{ width:calc(100% - 48px); }
  .hdr__in{ padding-inline:24px; }

  /* 导航转为抽屉 */
  .burger{ display:block; }
  .nav{
    position:fixed; top:var(--hdr-h); right:0; z-index:85;
    width:min(320px, 82vw);
    height:calc(100dvh - var(--hdr-h));
    flex-direction:column; align-items:stretch; gap:0;
    padding:24px 0;
    background:rgba(12,12,15,.98);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-left:1px solid var(--line);
    transform:translateX(100%);
    transition:transform .42s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;
  }
  .nav.is-open{ transform:none; }
  .nav__a{
    padding:20px 32px;
    font-size:17px;
    border-bottom:1px solid var(--line);
    text-shadow:none;
  }
  .nav__a::after{ display:none; }
  .nav__a.is-active{ color:var(--gold); background:rgba(216,192,138,.06); }

  /* 首屏 */
  .hero{ min-height:640px; height:auto; padding:150px 0 120px; }
  /* 窄屏下 16:9 的 108% 铺不满，改用 cover；西文行允许折行 */
  .hero__bg{ background-size:cover; background-position:54% 50%; }
  .hero__title{ font-size:76px; letter-spacing:.2em; text-indent:.2em; }
  .hero__latin{ font-size:14px; letter-spacing:.3em; }
  .hero__slogan{ font-size:22px; margin-top:44px; }
  .hero__dash{ width:40px; margin:0 18px; }
  .hero__sub{ font-size:17px; }
  .hero__eyebrow{ font-size:15px; }
  .hero__eyebrow .rule{ width:44px; }
  .hero__in .btn-gold{ margin-top:48px; padding:16px 46px; font-size:17px; }

  /* 网格降列 */
  .brand__top{ grid-template-columns:1fr; gap:52px; }
  .sec--brand{ padding-top:110px; }
  .h2{ font-size:44px; }
  .h2--left{ text-indent:0; }
  .sec-head__sub{ font-size:19px; margin-top:20px; }
  .sec-head{ margin-bottom:52px; }
  .sec{ padding:96px 0; }

  .pills li{ font-size:16px; padding:13px 24px; }
  .brand__lead{ font-size:22px; }
  .brand__body{ font-size:19px; }
  .stats{ margin-top:60px; }
  .stats li{ padding:38px 20px 36px; }
  .stats b{ font-size:30px; }
  .stats span{ font-size:16px; }

  .cards{ grid-template-columns:repeat(2,1fr); gap:24px; }
  .card{ padding:28px 26px 32px; }
  .card__t{ font-size:24px; margin-top:32px; }
  .card__ico{ margin-top:32px; width:38px; height:38px; }
  .card__d{ font-size:16px; }

  .rule-cap{ font-size:18px; margin-bottom:44px; }
  .rule-cap .rule{ width:56px; }
  .fleet{ grid-template-columns:1fr; gap:24px; }
  .fleet__t{ font-size:26px; }
  .fleet__b{ padding:28px 26px 32px; }

  .sec--commit{ padding:90px 0 96px; }
  .promises{ grid-template-columns:1fr; gap:24px; }
  .promise{ padding:40px 28px 44px; }
  .promise__t{ font-size:24px; }
  .promise__ico{ width:52px; height:52px; }

  .scenes{ grid-template-columns:repeat(2,1fr); }
  .scene{ padding:40px 22px 38px; }
  .scene__t{ font-size:21px; margin-top:28px; }
  .scene__ico{ width:40px; height:40px; }
  .scenes__cap{ font-size:17px; margin-top:44px; }

  .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px 18px; }
  .step{ width:auto; }
  .steps__link{ display:none; }
  .step__t, .step__d{ white-space:normal; }
  .step__t{ font-size:20px; margin-top:22px; }
  .step__d{ font-size:15px; }

  .pg-hero{ padding:150px 0 90px; }
  .pg-hero__t{ font-size:44px; }
  .pg-hero__s{ font-size:17px; }
  .legal{ padding:110px 0 90px; }
  .legal__t{ font-size:32px; }
  .legal__body h2{ font-size:22px; }
  .legal__body p,.legal__body li{ font-size:16px; line-height:1.95; }
  .contact__grid{ grid-template-columns:1fr; gap:56px; }
  .contact__lead{ font-size:19px; margin-top:34px; }
  .contact__dl > div{ padding:16px 0; }
  .contact__dl dt,.contact__dl dd{ font-size:17px; }
  .contact__dl dt{ width:80px; }
  .qrs{ gap:24px; }
  .qr{ padding:24px 16px 22px; }
  .qr figcaption b{ font-size:18px; }
  .qr figcaption span{ font-size:14px; }
  .hotline{ padding:24px 26px; gap:20px; }
  .hotline__n{ font-size:30px; }
  .sec--contact{ padding-bottom:90px; }
  .ftr{ padding:44px 0 50px; }
  .ftr p{ font-size:14px; }
}

/* 手机：640 及以下 */
@media (max-width:640px){
  body{ font-size:16px; }
  .wrap{ width:calc(100% - 36px); }

  .hdr__in{ padding-inline:18px; }
  .hdr__maextro{ height:40px; }
  .hdr__name{ font-size:22px; letter-spacing:.08em; }
  .hdr__brand{ gap:16px; }
  
  .hero{ padding:130px 0 100px; }
  /* hero 内容容器与 .wrap 保持一致，否则窄屏下西文行会溢出 */
  .hero__in{ width:calc(100% - 36px); padding-top:0; }
  .hero__title{ font-size:52px; letter-spacing:.16em; text-indent:.16em; }
  .hero__latin{ font-size:10px; letter-spacing:.13em; text-indent:.13em; line-height:1.9; }
  .hero__slogan{ font-size:17px; margin-top:34px; letter-spacing:.08em; }
  .hero__dash{ display:none; }
  .hero__slogan em{ display:block; width:100%; margin-top:12px; }
  .hero__sub{ font-size:15px; }
  .hero__eyebrow{ font-size:13px; }
  .hero__eyebrow .rule{ display:none; }
  .hero__scroll{ display:none; }

  .h2{ font-size:34px; letter-spacing:.08em; }
  .eyebrow{ font-size:12px; margin-bottom:16px; }
  .sec-head__sub{ font-size:16px; }
  .divider{ margin-top:24px; }
  .sec{ padding:72px 0; }

  .pills{ gap:10px; margin-top:32px; }
  .pills li{ font-size:14px; padding:11px 18px; }
  .brand__lead{ font-size:19px; }
  .brand__body{ font-size:16px; line-height:1.8; }
  .stats{ grid-template-columns:1fr; margin-top:44px; }
  .stats li{ border-left:0; border-top:1px solid var(--line); padding:28px 20px; }
  .stats li:first-child{ border-top:0; }
  .stats b{ font-size:26px; }

  .cards{ grid-template-columns:1fr; }
  .card{ padding:26px 22px 28px; }
  .card__t{ font-size:21px; }
  .card__d{ font-size:15px; }

  .rule-cap{ font-size:15px; gap:12px; }
  .rule-cap .rule{ width:30px; }
  .fleet__t{ font-size:22px; }
  .fleet__k,.fleet__d{ font-size:15px; }

  .promise{ padding:34px 22px 36px; }
  .promise__t{ font-size:20px; }
  .promise__d{ font-size:15px; }

  .scenes{ grid-template-columns:1fr; }
  .scene{ padding:34px 20px 32px; }
  .pg-hero{ padding:130px 0 72px; }
  .pg-hero__t{ font-size:34px; }
  .pg-hero__s{ font-size:15px; line-height:1.7; }
  .legal{ padding:90px 0 70px; }
  .legal__t{ font-size:26px; }
  .scene__t{ font-size:19px; }

  .steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:32px 14px; }
  .step__t{ font-size:18px; }
  .step__ico{ width:52px; height:52px; }
  .step__ico svg{ width:24px; height:24px; }

  .contact__lead{ font-size:16px; }
  .contact__dl dt,.contact__dl dd{ font-size:15px; }
  .contact__dl dt{ width:72px; }
  .contact__dl > div{ gap:14px; }
  .qrs{ grid-template-columns:1fr; }
  .hotline{ flex-direction:column; text-align:center; gap:12px; }
  .hotline__n{ font-size:26px; }
}

/* 动效降级 */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal, .has-reveal .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .hero__scroll i{ animation:none; }
  *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
