/* ===== 长泉工作室官网共享样式 ===== */
/* 纯黑画布 + Notion 式排版：系统黑体、正常字距、圆角细边。人/AI 空心线描字保留 */
:root{
  --bg:#000000; --bg-2:#0a0a0a;
  --panel:rgba(255,255,255,.03);
  --line:rgba(255,255,255,.14); --line-soft:rgba(255,255,255,.07);
  --ink:#ffffff; --body:rgba(255,255,255,.78); --muted:rgba(255,255,255,.55); --dim:rgba(255,255,255,.34);
  --sans:ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Helvetica,Arial,sans-serif;
  --radius:6px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans); color:var(--body); background:var(--bg);
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
::selection{background:#ffffff; color:#000000;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1060px; margin:0 auto; padding:0 32px; position:relative; z-index:2;}
h1,h2,h3,h4{color:var(--ink);}

/* 极淡网格底纹 */
.grid-bg{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 78%);
}

/* ---------- 画布舞台（首页单屏） ---------- */
.stage{position:relative; min-height:100vh; display:flex; flex-direction:column; overflow:hidden;}
#flow-canvas{position:absolute; inset:0; width:100%; height:100%; z-index:1;}
.stage-center{position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 24px;}
.stage-center h1{font-weight:700; font-size:clamp(38px,6.4vw,84px); line-height:1.3; letter-spacing:0;}
.stage-sub{margin-top:34px; font-size:21px; font-weight:500; letter-spacing:3px; color:rgba(255,255,255,.85);}
.stage-bottom{position:relative; z-index:2; display:flex; justify-content:center; flex-wrap:wrap; gap:46px; padding:0 24px 48px;}
.stage-bottom a{display:flex; align-items:baseline; gap:9px; font-size:14px; color:var(--muted); transition:color .15s;}
.stage-bottom a i{font-style:normal; font-size:12px; color:var(--dim); transition:color .15s;}
.stage-bottom a:hover, .stage-bottom a:hover i{color:#fff;}
.stage-legal{position:relative; z-index:2; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:18px 44px; border-top:1px solid var(--line-soft); font-size:12px; color:var(--dim);}
.stage-legal a{color:var(--dim); transition:color .15s;}
.stage-legal a:hover{color:#fff;}
@media(max-width:640px){
  .stage-bottom{flex-direction:column; align-items:center; gap:16px; padding-bottom:32px;}
  .stage-legal{justify-content:center; text-align:center; padding:16px 24px;}
}

/* 入场渐显 */
@keyframes fadeup{from{opacity:0; transform:translateY(14px);}to{opacity:1; transform:none;}}
.fade{animation:fadeup .9s cubic-bezier(.2,.6,.2,1) both;}
.fade.f2{animation-delay:.12s;} .fade.f3{animation-delay:.24s;}
.fade.f4{animation-delay:.42s;} .fade.f5{animation-delay:.55s;}

/* 子页返回标记（无导航，随页首滚动） */
.back-home{position:absolute; top:28px; left:32px; z-index:100; font-size:13px; color:var(--dim); transition:color .15s;}
.back-home:hover{color:#fff;}

/* ---------- 按钮（Notion 式圆角） ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 22px; font-size:14px; font-weight:500;
  border-radius:var(--radius); transition:background .15s, border-color .15s, color .15s;
}
.btn-primary{color:#000; background:#fff;}
.btn-primary:hover{background:rgba(255,255,255,.82);}
.btn-ghost{color:var(--body); box-shadow:inset 0 0 0 1px var(--line);}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4); color:#fff;}

/* ---------- 子页 Hero ---------- */
.page-hero{position:relative; padding:128px 0 80px; overflow:hidden;}
.page-hero h1{margin:18px 0 18px; font-weight:700; font-size:clamp(32px,4.8vw,52px); line-height:1.3;}
.page-hero p.sub{max-width:720px; font-size:16.5px; color:var(--muted);}
.page-hero .actions{margin-top:30px; display:flex; gap:14px; flex-wrap:wrap;}
.crumb{font-size:13px; color:var(--dim); display:block;}
.crumb a{color:var(--muted); border-bottom:1px solid var(--line-soft); transition:color .15s, border-color .15s;}
.crumb a:hover{color:#fff; border-color:#fff;}
@media(max-width:760px){ .page-hero{padding:100px 0 56px;} }

/* ---------- 区块通用 ---------- */
section{padding:84px 0; position:relative; z-index:2;}
.sec-head{margin-bottom:44px;}
.sec-tag{font-size:13px; color:var(--dim);}
.sec-head h2{margin-top:10px; font-size:clamp(24px,3.2vw,32px); font-weight:700; line-height:1.35;}
.sec-head .lead{margin-top:12px; max-width:680px; color:var(--muted); font-size:15.5px;}
@media(max-width:760px){ section{padding:56px 0;} }

/* ---------- 卡片通用 ---------- */
.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:960px){ .feature-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:640px){ .feature-grid{grid-template-columns:1fr;} }
.f-card{border:1px solid var(--line-soft); border-radius:var(--radius); padding:26px 24px; background:var(--panel); transition:background .15s, border-color .15s;}
.f-card:hover{background:rgba(255,255,255,.05); border-color:var(--line);}
.f-card .idx{font-size:12px; color:var(--dim); display:block; margin-bottom:10px;}
.f-card h4{font-size:16px; margin-bottom:8px; font-weight:600;}
.f-card p{font-size:14px; color:var(--muted);}
.f-card ul{list-style:none; margin-top:6px;}
.f-card li{font-size:13.5px; color:var(--muted); padding:4px 0 4px 16px; position:relative;}
.f-card li::before{content:"›"; position:absolute; left:0; color:var(--dim);}
.tags{margin-top:24px; display:flex; flex-wrap:wrap; gap:8px;}
.tag{font-size:12.5px; color:var(--muted); border:1px solid var(--line-soft); border-radius:var(--radius); padding:4px 12px;}

/* ---------- 首页协议卡（备用，保持同族） ---------- */
.method-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
@media(max-width:760px){ .method-grid{grid-template-columns:1fr;} }
.m-card{border:1px solid var(--line-soft); border-radius:var(--radius); padding:28px 26px; background:var(--panel); transition:background .15s, border-color .15s;}
.m-card:hover{background:rgba(255,255,255,.05); border-color:var(--line);}
.m-card h4{font-size:16px; margin-bottom:8px; display:flex; align-items:baseline; gap:10px; font-weight:600;}
.m-card h4 .idx{font-size:12px; color:var(--dim); font-weight:400;}
.m-card p{font-size:14px; color:var(--muted);}

/* ---------- 四流核验（业务三） ---------- */
.flow-sec{background:var(--bg-2); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.flow-wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center;}
@media(max-width:960px){ .flow-wrap{grid-template-columns:1fr; gap:36px;} }
.flow-points{display:flex; flex-direction:column; gap:0;}
.f-point{padding:20px 0 20px 28px; border-left:1px solid var(--line-soft); position:relative; transition:border-color .2s;}
.f-point::before{content:""; position:absolute; left:-4px; top:29px; width:7px; height:7px; border-radius:50%; background:var(--dim); transition:background .2s;}
.f-point:hover{border-left-color:rgba(255,255,255,.5);}
.f-point:hover::before{background:#fff;}
.f-point h4{font-size:15.5px; font-weight:600;}
.f-point h4 .mono{font-size:12px; color:var(--dim); margin-right:10px; font-weight:400;}
.f-point p{font-size:13.5px; color:var(--muted); margin-top:3px;}
.flow-svg-box{position:relative; border:1px solid var(--line-soft); border-radius:var(--radius); background:#030303; padding:20px;}
.flow-svg-box .box-tag{position:absolute; top:14px; left:18px; font-size:11px; color:var(--dim);}
.stream{stroke-dasharray:6 8; animation:stream 1.2s linear infinite;}
@keyframes stream{to{stroke-dashoffset:-14;}}
.node-pulse{animation:npulse 2s ease-in-out infinite; transform-origin:center; transform-box:fill-box;}
@keyframes npulse{0%,100%{opacity:.35; transform:scale(1);}50%{opacity:1; transform:scale(1.35);}}

/* ---------- 改造架构（业务三） ---------- */
.arch{border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; background:var(--panel);}
.arch-row{display:grid; grid-template-columns:56px 210px 1fr; align-items:center; gap:18px; padding:18px 26px; border-bottom:1px solid var(--line-soft); transition:background .15s;}
.arch-row:hover{background:rgba(255,255,255,.04);}
.arch-row:last-child{border-bottom:none;}
.arch-row .n{color:var(--dim); font-size:13px;}
.arch-row .t{font-weight:600; font-size:15px;}
.arch-row .d{font-size:13.5px; color:var(--muted);}
@media(max-width:640px){ .arch-row{grid-template-columns:36px 1fr;} .arch-row .d{grid-column:2;} }

/* ---------- 价值双栏（业务三） ---------- */
.value-split{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:760px){ .value-split{grid-template-columns:1fr;} }
.v-card{padding:28px 26px; border:1px solid var(--line-soft); border-radius:var(--radius); background:var(--panel);}
.v-card.main{border-color:var(--line); background:rgba(255,255,255,.05);}
.v-card .v-tag{font-size:12px; color:var(--dim); margin-bottom:10px;}
.v-card h4{font-size:17px; margin-bottom:10px; font-weight:600;}
.v-card p{font-size:14px; color:var(--muted);}

/* ---------- 先例（业务三） ---------- */
.case-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:760px){ .case-grid{grid-template-columns:1fr;} }
.case-card{border:1px solid var(--line-soft); border-radius:var(--radius); padding:30px 26px; background:var(--panel); transition:background .15s, border-color .15s;}
.case-card:hover{background:rgba(255,255,255,.05); border-color:var(--line);}
.case-card .c-tag{font-size:12px; color:var(--dim); margin-bottom:12px;}
.case-card h4{font-size:17px; font-weight:600; margin-bottom:6px;}
.case-card .big{font-size:24px; font-weight:700; line-height:1.35; margin:14px 0 8px; color:#fff;}
.case-card p{font-size:14px; color:var(--muted);}
.case-card .meta{margin-top:14px; font-size:12.5px; color:var(--dim); border-top:1px dashed var(--line-soft); padding-top:12px;}

/* ---------- 证明条 ---------- */
.proof{
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  padding:26px 6px; font-size:15px; color:var(--muted);
}
.proof strong{color:#fff; font-weight:600;}
.proof .scan{display:none;}

/* ---------- 业务互链 ---------- */
.next-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:640px){ .next-grid{grid-template-columns:1fr;} }
.next-card{border:1px solid var(--line-soft); border-radius:var(--radius); padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--panel); transition:background .15s, border-color .15s;}
.next-card:hover{background:rgba(255,255,255,.05); border-color:var(--line);}
.next-card .s{font-size:12px; color:var(--dim);}
.next-card .t{font-size:15px; font-weight:600; margin-top:4px;}
.next-card .arr{color:var(--dim); font-size:20px; flex:none; transition:transform .15s, color .15s;}
.next-card:hover .arr{transform:translateX(4px); color:#fff;}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line-soft); background:#000; padding:44px 0 36px; font-size:13px; color:var(--dim); position:relative; z-index:2;}
.foot-inner{display:flex; align-items:flex-start; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.foot-brand{display:flex; align-items:center; gap:12px; font-size:14px; color:var(--ink); font-weight:600;}
.foot-note{margin-top:10px; max-width:560px; line-height:1.8; font-size:12.5px;}
.foot-right{text-align:right; line-height:2;}
footer a{color:var(--dim); transition:color .15s;}
footer a:hover{color:#fff;}
@media(max-width:760px){ .foot-right{text-align:left;} }

/* ---------- 滚动入场 ---------- */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);}
.reveal.in{opacity:1; transform:none;}
.reveal.d1{transition-delay:.07s;} .reveal.d2{transition-delay:.14s;} .reveal.d3{transition-delay:.21s;}
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} *{animation:none!important;} }

/* ---------- 长泉观点：栏目列表 ---------- */
.op-list{display:flex; flex-direction:column; gap:16px;}
.op-card{border:1px solid var(--line-soft); border-radius:var(--radius); padding:24px 26px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--panel); transition:background .15s, border-color .15s;}
.op-card:hover{background:rgba(255,255,255,.05); border-color:var(--line);}
.op-card .s{font-size:12px; color:var(--dim); letter-spacing:1px;}
.op-card .t{font-size:17px; font-weight:600; margin-top:6px; color:var(--ink); line-height:1.5;}
.op-card .d{font-size:13.5px; color:var(--muted); margin-top:6px; line-height:1.7;}
.op-card .arr{color:var(--dim); font-size:20px; flex:none; transition:transform .15s, color .15s;}
.op-card:hover .arr{transform:translateX(4px); color:#fff;}

/* ---------- 长泉观点：文章阅读页 ---------- */
.article-hero{padding:110px 0 30px;}
.article-hero h1{font-size:clamp(26px,3.6vw,40px);}
.article-meta{margin-top:22px; font-size:13px; color:var(--dim); letter-spacing:1px;}
.article-body{max-width:760px; margin:0 auto; padding:10px 32px 90px; position:relative; z-index:2;}
.article-body p{margin:22px 0; font-size:16.5px; line-height:1.95; color:var(--body);}
.article-body strong{color:#fff; font-weight:600;}
.article-body h2{margin:54px 0 20px; font-size:22px; font-weight:700; padding-left:14px; border-left:3px solid #fff; line-height:1.4;}
.article-body h3{margin:42px 0 16px; font-size:18px; font-weight:650; line-height:1.5;}
.article-body a{color:#fff; text-decoration:underline; text-decoration-color:var(--dim); text-underline-offset:3px;}
.article-body ol{margin:18px 0 28px; padding-left:24px; color:var(--body);}
.article-body li{margin:10px 0; padding-left:4px; font-size:15px; line-height:1.8;}
.article-body hr{border:0; border-top:1px solid var(--line-soft); margin:54px 0 38px;}
.article-table-wrap{margin:28px 0; overflow-x:auto; border:1px solid var(--line-soft); border-radius:var(--radius);}
.article-table-wrap table{width:100%; min-width:640px; border-collapse:collapse; background:var(--panel); font-size:14px;}
.article-table-wrap th,.article-table-wrap td{padding:13px 14px; border-bottom:1px solid var(--line-soft); text-align:right; color:var(--body); white-space:nowrap;}
.article-table-wrap th:first-child,.article-table-wrap td:first-child{text-align:left;}
.article-table-wrap th{color:var(--ink); font-weight:600; background:rgba(255,255,255,.035);}
.article-table-wrap tbody tr:last-child td{border-bottom:0;}
.article-body blockquote{margin:26px 0; padding:18px 22px; background:var(--panel); border:1px solid var(--line-soft); border-left:3px solid #fff; border-radius:var(--radius);}
.article-body blockquote p{margin:8px 0; font-size:15.5px; color:var(--ink);}
.article-fig{margin:34px 0; background:#fff; border-radius:var(--radius); padding:14px; border:1px solid var(--line-soft);}
.article-fig img{display:block; width:100%; height:auto; border-radius:calc(var(--radius) - 6px);}
.article-fig figcaption{margin-top:10px; text-align:center; font-size:13px; color:#666; line-height:1.6;}
@media(max-width:760px){ .article-hero{padding:92px 0 24px;} .article-body{padding:6px 24px 64px;} .article-fig{padding:8px;} .article-table-wrap{margin-left:-8px;margin-right:-8px;} }
