/* ============================================================
   LDP FLY 官网 — 华为风样式
   浅色为主 · 左对齐大标题 · 满幅大图 · 大留白 · 单色强调
   ============================================================ */
:root{
  --bg:#ffffff;
  --bg2:#f5f5f7;
  --bg3:#ececed;
  --ink:#0d1117;
  --ink2:#5a6472;
  --ink3:#8b939e;
  --line:rgba(13,17,23,.10);
  --line2:rgba(13,17,23,.18);
  --acc:#0b74d1;
  --dark:#05070c;
  --maxw:1200px;
  --r:20px;
  --cjk:"PingFang SC","HarmonyOS_Sans_SC_Regular","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--cjk);
  line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
[id]{scroll-margin-top:96px}

/* ---------- 顶栏：压在首屏上透明，滚过转实底 ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:90;transition:.3s;border-bottom:1px solid transparent}
.hd.solid{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom-color:var(--line)}
.hd-in{display:flex;align-items:center;gap:18px;height:72px;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.hd .logo{display:flex;align-items:center;gap:10px}
.hd .logo img{height:30px}
.hd .logo b{font-size:16px;letter-spacing:.02em;color:#fff;transition:.3s}
.hd .logo i{font-style:normal;font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.6);transition:.3s}
.hd.solid .logo b{color:var(--ink)}
.hd.solid .logo i{color:var(--ink3)}
.hd nav{margin-left:auto;display:flex;gap:34px;font-size:14.5px}
.hd nav a{color:rgba(255,255,255,.86);transition:.2s}
.hd nav a:hover{color:#fff}
.hd.solid nav a{color:var(--ink2)}
.hd.solid nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;
  font-size:14.5px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-p{background:var(--acc);color:#fff}
.btn-p:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-w{border-color:rgba(255,255,255,.45);color:#fff}
.btn-w:hover{background:rgba(255,255,255,.16)}
.btn-g{border-color:var(--line2);color:var(--ink)}
.btn-g:hover{background:var(--bg2)}
.btn-lg{height:52px;padding:0 30px;font-size:15.5px}


/* 顶栏压在深色段上：透明 + 浅字 */
.hd.on-dark{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.hd.on-dark .logo i{color:rgba(255,255,255,.6)}
.hd.on-dark nav a{color:rgba(255,255,255,.86)}
.hd.on-dark nav a:hover{color:#fff}

/* ---------- 首屏 ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,7,12,.72) 0%,rgba(5,7,12,.22) 34%,rgba(5,7,12,.66) 74%,rgba(5,7,12,.95) 100%)}
.hero-in{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px 96px}
.eyebrow{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hero h1{font-size:clamp(40px,7vw,96px);line-height:1.06;letter-spacing:-.035em;font-weight:800;margin:18px 0 0}
.hero h1 em{font-style:normal;color:#7fc4ff}
.hero .lead{max-width:620px;margin:26px 0 0;font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.78)}
.hero .cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero .meta{margin-top:26px;font-size:13px;color:rgba(255,255,255,.5)}

/* ---------- 通用章节 ---------- */
.sec{padding:150px 0}
.sec.tight{padding:110px 0}
.sec.soft{background:var(--bg2)}
.sec .eyebrow{color:var(--acc)}
.h2{font-size:clamp(30px,4.4vw,62px);line-height:1.12;letter-spacing:-.035em;font-weight:800;margin:16px 0 0}
.lead{color:var(--ink2);font-size:clamp(15px,1.5vw,17.5px);max-width:760px;margin:24px 0 0}
.lead b{color:var(--ink);font-weight:650}

/* 数字行 */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:72px 0 0}
.nums>div{padding-top:24px;border-top:1px solid var(--line2)}
.nums b{display:block;font-size:clamp(30px,4vw,54px);line-height:1;letter-spacing:-.04em;font-weight:800;
  font-variant-numeric:tabular-nums}
.nums b small{font-size:.4em;font-weight:600;color:var(--ink2);margin-left:5px;letter-spacing:0}
.nums span{display:block;margin-top:12px;color:var(--ink3);font-size:13.5px}

/* 不对称图文行 */
.row{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:74px 0;border-top:1px solid var(--line)}
.row:last-child{border-bottom:1px solid var(--line)}
.row.rev .pic{order:2}
.row .pic{border-radius:var(--r);overflow:hidden;background:var(--bg3)}
.row .pic img{width:100%;display:block}
.row .txt .idx{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.14em}
.row .txt h3{margin:14px 0 0;font-size:clamp(22px,2.6vw,34px);line-height:1.22;letter-spacing:-.03em;font-weight:800}
.row .txt p{margin:18px 0 0;color:var(--ink2);font-size:16px}
.row .txt .links{margin-top:24px;display:flex;gap:22px;flex-wrap:wrap;font-size:14.5px}
.row .txt .links a{color:var(--acc);font-weight:600;border-bottom:1px solid transparent;transition:.2s}
.row .txt .links a:hover{border-bottom-color:var(--acc)}


/* ---------- 宣言段：滚动缩放巨字（钉一屏，滚轮推进放大） ---------- */
.manifesto{position:relative;height:230vh;background:var(--dark)}
.mf-stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mf-stick::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 62% at 50% 44%, rgba(58,160,255,.22), transparent 72%)}
.mf-in{position:relative;z-index:1;width:100%;padding:0 2vw;display:flex;align-items:center;justify-content:center}
.mf-en,.mf-p{position:absolute;left:50%;transform:translateX(-50%);z-index:2;text-align:center;width:100%}
.mf-en{top:12vh;font-family:var(--mono);font-size:12px;letter-spacing:.36em;color:rgba(255,255,255,.5)}
.mf-p{bottom:12vh;color:rgba(255,255,255,.7);font-size:clamp(14px,1.5vw,16.5px);line-height:1.9}

.mf-h{font-size:clamp(48px,13.6vw,228px);line-height:1.03;letter-spacing:-.05em;font-weight:800;
  margin:0;white-space:nowrap;transform-origin:50% 52%;backface-visibility:hidden;
  will-change:transform;position:relative;
  background-image:url("../img/opt/sky.webp");
  background-repeat:no-repeat;background-size:150% auto;background-position:50% 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent}
.mf-h em{color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .mf-h,.mf-h em{color:#fff;-webkit-text-fill-color:#fff}
}
@media (hover:none){
  .mf-h{background-size:cover;background-position:center}
}
@media (max-width:640px){
  .manifesto{height:190vh}
  .mf-h{font-size:19vw}
  .mf-p{font-size:13px;padding:0 24px}
}
/* ---------- 生态与数据 ---------- */
.eco{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px}
.eco>div{padding:30px 26px;border-radius:var(--r);background:var(--bg2)}
.eco b{display:block;font-size:16px;font-weight:750;letter-spacing:-.01em}
.eco span{display:block;margin-top:9px;color:var(--ink3);font-size:13.5px}
@media (max-width:1024px){ .eco{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .eco{grid-template-columns:1fr} .manifesto{padding:120px 0} }

/* ---------- 满幅深色段 ---------- */
.bleed{width:100vw;margin-left:calc(50% - 50vw)}
.dark{background:var(--dark);color:#fff;padding:150px 0}
.dark .eyebrow{color:#7fc4ff}
.dark .h2{color:#fff}
.dark .lead{color:rgba(255,255,255,.72)}
.dark .lead b{color:#fff}
.dark-shot{margin-top:76px;border-radius:var(--r);overflow:hidden;box-shadow:0 60px 140px -50px rgba(0,0,0,.9)}
.dark-shot img{width:100%}
.dark-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px}
.dark-stats>div{padding-top:24px;border-top:1px solid rgba(255,255,255,.22)}
.dark-stats b{display:block;font-size:clamp(24px,3vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1}
.dark-stats span{display:block;margin-top:12px;color:rgba(255,255,255,.55);font-size:13.5px}


/* ---------- 荣誉列表（深色段内） ---------- */
.dark .cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.honors-title{font-size:clamp(22px,2.5vw,32px);font-weight:800;letter-spacing:-.03em;margin:16px 0 0;color:#fff}
.honors{display:grid;grid-template-columns:1fr 1fr;gap:0 52px;margin-top:46px;
  border-top:1px solid rgba(255,255,255,.20)}
.honors>div{position:relative;padding:22px 0 22px 26px;border-bottom:1px solid rgba(255,255,255,.12);
  font-size:15px;line-height:1.7;color:rgba(255,255,255,.82)}
.honors>div::before{content:"";position:absolute;left:2px;top:31px;width:8px;height:8px;border-radius:2px;background:#7fc4ff}
.honors b{color:#7fc4ff;font-weight:700;margin-right:9px;font-variant-numeric:tabular-nums}
@media (max-width:1024px){ .honors{grid-template-columns:1fr;gap:0} }

/* ---------- 入口列表 ---------- */
.entries{margin-top:64px;border-top:1px solid var(--line)}
.entry{display:flex;align-items:center;gap:24px;padding:30px 4px;border-bottom:1px solid var(--line);transition:.22s}
.entry:hover{padding-left:14px;background:var(--bg2)}
.entry .n{font-family:var(--mono);font-size:12px;color:var(--ink3);width:34px;flex:none}
.entry .t{font-size:clamp(17px,1.8vw,22px);font-weight:700;letter-spacing:-.02em;flex:none;min-width:190px}
.entry .d{color:var(--ink2);font-size:14.5px}
.entry .go{margin-left:auto;color:var(--acc);font-weight:600;font-size:14.5px;flex:none}

/* ---------- 团队 ---------- */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:64px}
.member{padding:34px 28px;border-radius:var(--r);background:var(--bg2);transition:.25s}
.member:hover{background:var(--bg3);transform:translateY(-4px)}
.member img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin-bottom:18px}
.member h4{margin:0;font-size:18px;font-weight:750;letter-spacing:-.01em}
.member .role{margin-top:8px;color:var(--ink2);font-size:14px;line-height:1.7}
.member .mail{margin-top:10px;color:var(--ink3);font-size:13px;font-family:var(--mono)}

/* ---------- 联系 ---------- */
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:64px;max-width:820px}
.ccard{padding:40px 34px;border-radius:var(--r);border:1px solid var(--line)}
.ccard i{font-size:22px;color:var(--acc)}
.ccard h4{margin:16px 0 0;font-size:16px;font-weight:700}
.ccard p{margin:8px 0 0;font-size:22px;font-weight:750;letter-spacing:-.02em;font-family:var(--mono)}

/* ---------- 公告条 ---------- */
.notice{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden}
.notice-in{display:flex;gap:60px;white-space:nowrap;padding:15px 0;font-size:13.5px;color:var(--ink2);
  animation:slide 34s linear infinite}
.notice-in span b{color:var(--acc);font-weight:700;margin-right:8px}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- 页脚 ---------- */
.ft{background:var(--dark);color:rgba(255,255,255,.6);padding:80px 0 48px;font-size:13.5px}
.ft .brandrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ft .brandrow img{height:26px}
.ft .brandrow b{color:#fff;font-size:15px;font-weight:700}
.ft .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:52px}
.ft .cols h5{margin:0 0 16px;color:#fff;font-size:13px;font-weight:650;letter-spacing:.06em}
.ft .cols a{display:block;margin:10px 0;color:rgba(255,255,255,.6);transition:.2s}
.ft .cols a:hover{color:#fff}
.ft .end{margin-top:52px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;gap:24px;flex-wrap:wrap;align-items:center;color:rgba(255,255,255,.45)}
.ft .end .to{margin-left:auto}


/* ---------- 页脚备案 ---------- */
.ft .beian{display:flex;flex-wrap:wrap;gap:9px 24px;align-items:center;margin-top:14px;font-size:12.5px}
.ft .beian a{color:rgba(255,255,255,.5);transition:.2s;display:inline-flex;align-items:center;gap:7px}
.ft .beian a:hover{color:rgba(255,255,255,.85)}
.ft .beian img{height:16px;width:auto;display:block}

/* ---------- 入场 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .nums{grid-template-columns:1fr 1fr;gap:24px}
  .dark-stats{grid-template-columns:1fr;gap:24px}
  .row{grid-template-columns:1fr;gap:30px;padding:56px 0}
  .row.rev .pic{order:0}
  .team{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr}
  .ft .cols{grid-template-columns:1fr 1fr}
  .hd nav{display:none}
  .sec{padding:104px 0}
  .sec.tight{padding:84px 0}
}
@media (max-width:640px){
  .nums{grid-template-columns:1fr;gap:20px}
  .team{grid-template-columns:1fr}
  .ft .cols{grid-template-columns:1fr}
  .wrap,.hd-in,.hero-in{padding:0 20px}
  .entry{flex-wrap:wrap;gap:8px}
  .entry .t{min-width:auto}
  .entry .go{margin-left:0}
}
