/* ============================================================
   ys-v8.css — v8 基准页全量样式（来源：v8-baseline-home.html <style> 逐行移植）
   加载顺序：style.css → ys-main.css → ys-v3.css → 本文件（最后覆盖）
   字号阶梯（8 档硬规则）：82/52/44/34/26/20/15/12
   对齐规则：章节头三件套居中（seclabel/h2/lead），列表与长文左对齐
   动效：h1/vline 揭示 + 章节入场 + 数字滚动 + #pg；opacity:0 均带 IO 检测 + 1.5s 兜底
   ============================================================ */
:root{
  --r900:#080807; --r800:#131110; --r700:#0C0B0A; --r600:#A32A1C; --r500:#C0332A;
  --paper:#F7F2E7; --paper2:#EDE6D4; --ink:#1A1613; --body:#4E463C;
  --gold:#C6A15B; --line:#DCD3C0; --lineD:rgba(198,161,91,.30);
  --serif:"Noto Serif CJK SC","Songti SC",serif;
  --sans:"Noto Sans CJK SC","Microsoft YaHei",sans-serif;
}
.wrap{width:1320px;margin:0 auto;padding:0 40px;}
.dark{background:var(--r800);color:#F5EFE0;}

/* ---------- S1 首屏 ---------- */
.topbar{background:var(--r900);color:#D8C9AE;font-size:12px;letter-spacing:.05em;}
.topbar .wrap{height:40px;display:flex;align-items:center;justify-content:space-between;}
.topbar b{font-weight:400;color:#E8DCC3;}
.S1{background:var(--r800);color:#F5EFE0;position:relative;overflow:hidden;padding-bottom:0;}
.S1 .vline{position:absolute;right:360px;top:132px;bottom:96px;width:1px;background:rgba(198,161,91,.45);transform-origin:top;}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(198,161,91,.26);position:relative;z-index:2;}
.brand{display:flex;align-items:center;gap:13px;}
.seal{width:52px;height:52px;object-fit:contain;display:block;}
/* v10：品牌两行同宽 —— 容器宽度由英文行决定（max-content），
   中文 5 字用 flex space-between 在该宽度内分散对齐；英文末字后的字距用负 margin 抵消，
   保证中文右缘与英文视觉右缘严格对齐 */
.brand-txt{display:flex;flex-direction:column;width:max-content;max-width:100%;}
.brand .cn{display:flex;justify-content:space-between;
  font-family:var(--serif);font-size:20px;letter-spacing:0;line-height:1.12;}
.brand .en{font-size:12px;letter-spacing:.28em;color:#B49C7E;margin:4px -.28em 0 0;line-height:1;}
.menu{display:flex;gap:34px;font-size:15px;color:#E3D5BC;}
.menu span{position:relative;padding-bottom:6px;cursor:pointer;}
.menu span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,.72,.24,1);}
.menu span:hover::after{transform:scaleX(1);}
.menu span.on{color:#fff;}
.menu span.on::after{transform:scaleX(1);}
.nav-entry{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 18px;
  font-size:12px;letter-spacing:.14em;color:#EFE3CC;border:1px solid rgba(198,161,91,.62);
  transition:background .32s,border-color .32s,color .32s;white-space:nowrap;}
.nav-entry .ext{font-size:12px;color:var(--gold);transition:color .32s;}
.nav-entry:hover{background:rgba(198,161,91,.14);border-color:var(--gold);}
.nav-entry:hover .ext{color:#F5EFE0;}

.S1body{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:104px 0 72px;}
.S1left{grid-column:1/9;display:flex;flex-direction:column;}
.eyebrow{font-size:12px;letter-spacing:.26em;color:#C0A886;margin-bottom:26px;white-space:nowrap;}
h1{font-family:var(--serif);font-size:82px;line-height:1.1;letter-spacing:-.015em;font-weight:700;color:#F5EFE0;}
h1 em{font-style:normal;color:var(--gold);}
.sub{margin-top:26px;font-size:15px;line-height:1.95;color:#DCCDB4;max-width:620px;}

/* —— 按钮体系：金线双框 + 上浮填充 —— */
.btns{margin-top:48px;display:flex;gap:22px;align-items:center;}
.btn1{position:relative;display:inline-flex;align-items:center;gap:20px;height:58px;
  padding:0 34px 0 40px;font-size:15px;letter-spacing:.2em;color:#EFE3CC;
  border:1px solid rgba(198,161,91,.72);background:transparent;overflow:hidden;isolation:isolate;
  transition:color .48s cubic-bezier(.16,.72,.24,1),border-color .48s cubic-bezier(.16,.72,.24,1);}
.btn1::after{content:"";position:absolute;inset:4px;border:1px solid rgba(198,161,91,.20);pointer-events:none;}
.btn1 .f{position:absolute;inset:0;background:var(--gold);transform:translateY(101%);
  transform-origin:bottom;transition:transform .48s cubic-bezier(.16,.72,.24,1);z-index:-1;}
.btn1 span{position:relative;z-index:1;}
.btn1 .ar{position:relative;z-index:1;font-style:normal;font-size:15px;color:var(--gold);letter-spacing:0;
  transition:transform .48s cubic-bezier(.16,.72,.24,1),color .48s cubic-bezier(.16,.72,.24,1);}
.btn1:hover{color:#0C0B0A;border-color:var(--gold);}
.btn1:hover .f{transform:translateY(0);}
.btn1:hover .ar{transform:translateX(8px);color:#0C0B0A;}
.btn2{position:relative;display:inline-flex;align-items:center;padding:19px 2px 18px;
  font-size:15px;letter-spacing:.18em;color:#BFAD92;text-decoration:none;
  border-bottom:1px solid rgba(198,161,91,.26);
  transition:color .32s,border-color .32s,letter-spacing .32s;}
.btn2:hover{color:var(--gold);border-color:var(--gold);letter-spacing:.22em;}
.btns-note{font-size:12px;color:#B49C7E;margin-left:24px;letter-spacing:.04em;white-space:nowrap;}

.S1right{grid-column:10/13;position:relative;z-index:2;padding-top:34px;}
.gauge-hd{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.22em;color:#A08A68;padding-bottom:14px;border-bottom:1px solid rgba(198,161,91,.38);}
.gauge{position:relative;padding:17px 0 19px 56px;border-bottom:1px solid rgba(198,161,91,.2);}
.gauge.last{border-bottom:none;}
.gauge::before{content:"";position:absolute;left:26px;top:20px;bottom:12px;width:1px;background:rgba(198,161,91,.45);transition:background .3s;}
.gauge:hover::before{background:var(--gold);}
.gauge.last::before{bottom:0;}
.s1-foot{margin-top:18px;padding:0 0 0 56px;font-size:12px;line-height:1.7;color:#8A7A62;}
.gauge .gi{position:absolute;left:0;top:20px;font-size:12px;letter-spacing:.14em;color:#8E7C60;}
.gauge .n{font-family:var(--serif);font-size:44px;line-height:1;color:#F5EFE0;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.gauge .n i{font-style:normal;font-size:15px;color:var(--gold);margin-left:5px;letter-spacing:.02em;}
.gauge .l{font-size:12px;letter-spacing:.14em;color:#A08A68;margin-top:11px;}

.strip{border-top:1px solid rgba(198,161,91,.26);}
.S1 > .wrap > .strip{width:calc(100% + 80px);margin:0 -40px;}
.S1 > .wrap > .strip > .wrap{width:auto;max-width:none;padding:0 40px;}
.strip .wrap{height:76px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.06em;color:#C0A886;}
.strip em{font-style:normal;color:#EFE3CC;margin-right:10px;letter-spacing:.18em;}
.strip-right{display:inline-flex;align-items:center;gap:18px;}
.strip-entry{font-size:12px;letter-spacing:.08em;color:#C0A886;transition:color .24s;}
.strip-entry:hover{color:var(--gold);}

/* ---------- 通用纸白章节 ---------- */
.sec{padding:96px 0;}
.sec.paper2{background:var(--paper2);}
.seclabel{display:flex;align-items:center;gap:14px;margin-bottom:30px;}
.seclabel .num{font-size:12px;letter-spacing:.18em;color:var(--r600);}
.seclabel .cn{font-size:12px;letter-spacing:.2em;color:#6B6155;}
.seclabel .ln{flex:1;height:1px;background:var(--line);}
h2{font-family:var(--serif);font-size:52px;line-height:1.24;letter-spacing:-.01em;font-weight:700;color:var(--ink);}
h2 em{font-style:normal;color:var(--r600);}
.lead{margin-top:20px;font-size:15px;line-height:1.9;color:var(--body);max-width:760px;}
.lead-note{margin-top:14px;font-size:15px;line-height:1.8;color:#6B6155;max-width:760px;}

/* S2 五类采购 */
.ixg{margin-top:2px;border-top:1px solid var(--line);}
.ix{display:grid;grid-template-columns:88px minmax(0,1fr) 168px;gap:32px;align-items:start;
  padding:32px 0 30px;border-bottom:1px solid var(--line);position:relative;}
.ix::before{content:"";position:absolute;left:0;top:32px;bottom:30px;width:2px;background:var(--gold);
  transform:scaleY(0);transform-origin:top;transition:transform .32s cubic-bezier(.16,.72,.24,1);}
.ix:hover::before{transform:scaleY(1);}
.ix .no{font-family:var(--serif);font-size:34px;color:#B9A277;width:88px;padding-top:2px;
  font-variant-numeric:tabular-nums;transition:color .32s;line-height:1.3;}
.ix:hover .no{color:var(--r600);}
.ix h3{font-family:var(--serif);font-size:26px;line-height:1.3;color:var(--ink);
  display:inline-block;position:relative;transition:color .32s;}
.ix h3::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .44s cubic-bezier(.16,.72,.24,1);}
.ix:hover h3::after{transform:scaleX(1);}
.ix p{font-size:15px;line-height:1.95;color:#4E463C;margin-top:10px;max-width:620px;}
.ix .tg{font-size:12px;letter-spacing:.08em;color:#7A7064;text-align:right;padding-top:0;line-height:1.7;}
.note{margin-top:20px;font-size:12px;color:#8A8175;letter-spacing:.02em;line-height:1.7;}
/* 开标大厅入口条（纸白区，横向三段） */
.hallin{margin-top:40px;display:flex;align-items:center;gap:40px;border:1px solid rgba(198,161,91,.42);padding:22px 28px;}
.hallin .hl{flex:0 0 auto;display:flex;align-items:center;gap:12px;}
.hallin .k{font-size:12px;letter-spacing:.2em;color:#A08A68;}
.hallin .t{font-family:var(--serif);font-size:20px;letter-spacing:.02em;color:var(--ink);}
.hallin p{flex:1 1 auto;font-size:12px;line-height:1.85;color:#6E6255;margin:0;}
.hallin .hb{flex:0 0 auto;position:relative;display:inline-flex;align-items:center;gap:14px;padding:13px 26px;
  font-size:12px;letter-spacing:.16em;color:var(--ink);border:1px solid rgba(198,161,91,.6);
  text-decoration:none;overflow:hidden;isolation:isolate;
  transition:color .44s cubic-bezier(.2,.7,.2,1),border-color .44s cubic-bezier(.2,.7,.2,1);}
.hallin .hb .f{position:absolute;inset:0;background:rgba(198,161,91,.15);transform:translateY(101%);
  transform-origin:bottom;transition:transform .48s cubic-bezier(.16,.72,.24,1);z-index:-1;}
.hallin .hb span,.hallin .hb i{position:relative;z-index:1;}
.hallin .hb i{font-style:normal;color:#A08A68;transition:transform .44s cubic-bezier(.2,.7,.2,1),color .44s;}
.hallin .hb:hover{border-color:var(--gold);color:var(--r900);}
.hallin .hb:hover .f{transform:translateY(0);}
.hallin .hb:hover i{transform:translate(4px,-4px);color:var(--r600);}

/* S3 四段流程 深色带 */
.S3{background:var(--r700);color:#F5EFE0;padding:88px 0 96px;}
.S3 .seclabel .cn{color:#C9B79A;}
.S3 .seclabel .num{color:var(--gold);}
.S3 .seclabel .ln{background:rgba(198,161,91,.3);}
.S3 h2{color:#F5EFE0;}
.S3 h2 em{color:var(--gold);}
.S3 .lead{color:#D9CAB2;}
.steps{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.step{padding:0 32px;border-left:1px solid rgba(198,161,91,.28);}
.step:first-child{padding-left:0;border-left:none;}
.step .k{font-size:12px;letter-spacing:.22em;color:#B49C7E;}
.step .t{font-family:var(--serif);font-size:26px;color:#F5EFE0;margin-top:12px;}
.step ul{margin-top:20px;list-style:none;}
.step li{font-size:12px;line-height:2.05;color:#DFD1B8;padding-left:14px;position:relative;}
.step li:before{content:"";position:absolute;left:0;top:.95em;width:6px;height:1px;background:var(--gold);}
.step .out{margin-top:20px;font-size:12px;color:#B49C7E;letter-spacing:.04em;border-top:1px dashed rgba(198,161,91,.3);padding-top:12px;}

/* S4 合规 */
.dual{margin-top:52px;display:grid;grid-template-columns:1.25fr 1fr;gap:0;}
.colL{padding-right:56px;border-right:1px solid var(--line);}
.colR{padding-left:56px;}
.sub-h{font-size:12px;letter-spacing:.18em;color:#6B6155;margin-bottom:22px;}
.law{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);}
.law span:first-child{font-family:var(--serif);font-size:15px;color:var(--ink);}
.law span:last-child{font-size:12px;color:#8A8175;letter-spacing:.06em;}
.risk{margin-bottom:24px;}
.risk h4{font-size:15px;color:var(--r600);letter-spacing:.06em;margin-bottom:8px;}
.risk p{font-size:12px;line-height:1.85;color:var(--body);}
.trace{margin-top:28px;padding:18px 20px;background:var(--paper2);font-size:12px;line-height:1.9;color:var(--body);}

/* S5 质量体系 */
.qgrid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.qcard{background:transparent;border:1px solid var(--line);padding:28px 26px;}
.qcard .qn{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.14em;}
.qcard .q{font-family:var(--serif);font-size:20px;color:var(--ink);margin-top:14px;}
.qcard p{margin-top:12px;font-size:12px;line-height:1.9;color:var(--body);}
.flowline{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fl{padding:22px 20px;border-left:1px solid var(--line);}
.fl:first-child{border-left:none;}
.fl .s{font-size:12px;letter-spacing:.16em;color:#6B6155;}
.fl .s.hot{color:var(--r600);}
.fl .n{font-family:var(--serif);font-size:20px;margin-top:8px;}
.fl .d{font-size:12px;color:#8A8175;margin-top:6px;line-height:1.7;}

/* S6 资质 */
.certs{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cert{display:flex;flex-direction:column;justify-content:center;position:relative;
  border:1px solid rgba(198,161,91,.26);background:var(--r800);padding:22px 20px 20px;min-height:112px;
  transition:border-color .28s;}
.cert:hover{border-color:rgba(198,161,91,.55);}
.cert .cn{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:.16em;}
.cert .nm{font-family:var(--serif);font-size:15px;line-height:1.6;color:#F5EFE0;margin-top:12px;}

/* S7 公示 */
.notices{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.nc{border:none;border-right:1px solid var(--line);background:transparent;}
.nc:last-child{border-right:none;}
.nc .hd{display:flex;justify-content:space-between;align-items:center;padding:15px 22px 13px 0;border-bottom:1px solid var(--line);}
.nc .hd b{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);}
.nc .hd a{font-size:12px;color:#8A8175;letter-spacing:.06em;transition:color .22s;}
.nc .hd a:hover{color:var(--r600);}
.nc ul{list-style:none;padding:0 22px 0 0;}
.nc li{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px dotted var(--line);}
.nc li:last-child{border-bottom:none;}
.nc li .dt{font-size:12px;color:#8A8175;white-space:nowrap;letter-spacing:.04em;}
.nc li .tt{font-size:12px;line-height:1.65;color:var(--body);transition:color .22s;}
.nc li:hover .tt{color:var(--r600);}
.nc .empty{padding:16px 22px 16px 0;font-size:12px;color:#8A8175;line-height:1.8;}

/* S8 政策与动态 */
.pnews{margin-top:48px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;}
.pn .hd{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--line);}
.pn .hd b{font-family:var(--serif);font-size:20px;color:var(--ink);}
.pn .hd a{font-size:12px;color:#8A8175;transition:color .22s;}
.pn .hd a:hover{color:var(--r600);}
.plist{margin-top:6px;}
.pitem{display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);}
.pitem .src{font-size:12px;color:#8A8175;letter-spacing:.08em;white-space:nowrap;}
.pitem .tt{font-size:15px;color:var(--body);line-height:1.65;}
.pitem .tt a{color:var(--body);transition:color .22s;}
.pitem .tt a:hover{color:var(--r600);}
.pitem .dt{font-size:12px;color:#8A8175;margin-left:auto;white-space:nowrap;}
.syncnote{font-size:12px;letter-spacing:.1em;color:#8A8175;margin-left:auto;margin-right:14px;}

/* S9 服务对象 + 页脚 */
.S9{background:var(--r800);color:#F5EFE0;padding:84px 0 0;position:relative;overflow:hidden;}
.S9 .seclabel .cn{color:#C9B79A;}
.S9 .seclabel .num{color:var(--gold);}
.S9 .seclabel .ln{background:rgba(198,161,91,.3);}
.S9 h2{color:#F5EFE0;}
.S9 h2 em{color:var(--gold);}
.aud{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative;z-index:2;}
.au{border-top:1px solid rgba(198,161,91,.32);padding-top:22px;}
.au .t{font-family:var(--serif);font-size:20px;color:#F5EFE0;}
.au p{font-size:12px;line-height:1.9;color:#D3C3A8;margin-top:10px;}
.footer{margin-top:56px;border-top:1px solid rgba(198,161,91,.32);position:relative;z-index:2;}
.fcols{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:40px;padding:48px 0 40px;}
.fb .cn{font-family:var(--serif);font-size:20px;color:#F5EFE0;letter-spacing:.08em;}
.fb .en{font-size:12px;letter-spacing:.26em;color:#B49C7E;margin-top:6px;}
.fb p{font-size:12px;line-height:1.9;color:#C9B79A;margin-top:16px;}
.fcol .h{font-size:12px;letter-spacing:.18em;color:#B49C7E;margin-bottom:16px;}
.fcol a{display:block;font-size:12px;color:#D8C9AE;line-height:2.1;transition:color .22s;}
.fcol a:hover{color:#fff;}
.fcol a .ext{font-size:12px;color:var(--gold);margin-left:4px;}
.fbot{border-top:1px solid rgba(198,161,91,.2);}
.fbot .wrap{height:64px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#B49C7E;letter-spacing:.04em;}

/* 深色区柔光（静态单层，无循环） */
.S1::before,.S3::before,.S9::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(56% 44% at 78% 18%,rgba(198,161,91,.085),transparent 66%);}
/* 材质：3% 噪点 */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.03;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");}

/* 阅读进度 */
#pg{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:99;}

/* ============ 动效（收敛五类） ============ */
/* H1 揭示：opacity + 10px 位移（有 IO 兜底，见脚本 1.5s forceIn） */
@keyframes h1In{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.ys-anim h1{animation:h1In .9s cubic-bezier(.16,.72,.24,1) .1s both;}
@keyframes vlineIn{from{transform:scaleY(0);}to{transform:scaleY(1);}}
.ys-anim .S1 .vline{animation:vlineIn .9s cubic-bezier(.16,.72,.24,1) .1s both;}
.ys-anim .seclabel .ln{transform:scaleX(.18);transform-origin:left;}
.ys-anim .is-in .seclabel .ln{transform:scaleX(1);transition:transform .72s cubic-bezier(.16,.72,.24,1) .18s;}
.ys-anim .sec > .wrap{opacity:0;}
.ys-anim .S3 > .wrap,.ys-anim .S9 > .wrap{opacity:0;transform:translateY(10px);}
.ys-anim .is-in > .wrap{opacity:1;transform:none;
  transition:opacity .5s cubic-bezier(.16,.72,.24,1),transform .5s cubic-bezier(.16,.72,.24,1);}
.ys-anim .ix{opacity:0;}
.ys-anim .is-in .ix{opacity:1;transition:opacity .4s cubic-bezier(.16,.72,.24,1);}
.ys-anim .is-in .ix:nth-child(1){transition-delay:0s;}
.ys-anim .is-in .ix:nth-child(2){transition-delay:.07s;}
.ys-anim .is-in .ix:nth-child(3){transition-delay:.14s;}
.ys-anim .is-in .ix:nth-child(4){transition-delay:.16s;}
.ys-anim .is-in .ix:nth-child(5){transition-delay:.16s;}
.ys-anim .cert{opacity:0;}
.ys-anim .is-in .cert{opacity:1;transition:opacity .4s cubic-bezier(.16,.72,.24,1);}
.ys-anim .is-in .cert:nth-child(1){transition-delay:0s;}
.ys-anim .is-in .cert:nth-child(2){transition-delay:.06s;}
.ys-anim .is-in .cert:nth-child(3){transition-delay:.12s;}
.ys-anim .is-in .cert:nth-child(4){transition-delay:.16s;}
.ys-anim .is-in .cert:nth-child(5){transition-delay:.16s;}
.ys-anim .is-in .cert:nth-child(6){transition-delay:.16s;}
.ys-anim .is-in .cert:nth-child(7){transition-delay:.16s;}
.ys-anim .is-in .cert:nth-child(8){transition-delay:.16s;}

/* 375 */
@media (max-width:760px){
  .wrap{width:100%;padding:0 20px;}
  .topbar .wrap{height:auto;padding:10px 20px;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;}
  .nav{height:auto;padding:14px 0;flex-wrap:wrap;align-items:center;gap:12px 14px;}
  .brand{flex:1 1 100%;}
  .menu{flex:1 1 auto;gap:14px;font-size:12px;flex-wrap:wrap;}
  .menu span.hm{display:none;}
  .nav-entry{margin-left:auto;flex:0 0 auto;width:auto;padding:0 14px;height:34px;text-align:left;}
  .S1 .vline{display:none;}
  .S1body{display:block;padding:44px 0 36px;}
  html,body{overflow-x:hidden;}
  .S1body,.S1left,.S1right{width:100%;max-width:100%;}
  h1{font-size:26px;line-height:1.3;}
  .eyebrow{white-space:normal;line-height:1.7;}
  .sub,.lead{max-width:calc(100vw - 40px);width:calc(100vw - 40px);}
  .sub{font-size:15px;line-height:1.85;margin-top:16px;}
  .btns{flex-direction:column;gap:14px;margin-top:28px;align-items:stretch;}
  .btn1{justify-content:center;width:100%;}
  .btn2{justify-content:center;}
  .btns-note{margin-left:0;text-align:center;}
  .S1right{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-top:0;}
  .gauge-hd{display:none;}
  .gauge{padding:14px 0 16px 46px;}
  .gauge::before{left:22px;top:16px;}
  .gauge .gi{left:0;top:16px;}
  .gauge .n{font-size:26px;}
  .strip .wrap{height:auto;padding:16px 20px;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;line-height:1.7;}
  .S1 > .wrap > .strip{width:calc(100% + 40px);margin:0 -20px;}
  .S1 > .wrap > .strip > .wrap{padding:0 20px;}
  .sec{padding:56px 0;}
  h2{font-size:26px;line-height:1.3;}
  .lead{font-size:15px;margin-top:14px;}
  .ix{grid-template-columns:44px 1fr;gap:6px 14px;padding:22px 0;}
  .ix .tg{display:none;}
  .ix .no{font-size:20px;width:44px;padding-top:4px;}
  .ix h3{font-size:20px;}
  .ix p{font-size:12px;margin-top:8px;}
  .ix::before{display:none;}
  .S3{padding:56px 0 60px;}
  .steps{grid-template-columns:1fr;gap:32px;margin-top:36px;}
  .step{padding:0;border-left:none;border-top:1px solid rgba(198,161,91,.28);padding-top:20px;}
  .step:first-child{border-top:none;padding-top:0;}
  .dual{grid-template-columns:1fr;gap:36px;}
  .colL{padding-right:0;border-right:none;}
  .colR{padding-left:0;border-top:1px solid var(--line);padding-top:28px;}
  .qgrid{grid-template-columns:1fr;gap:16px;}
  .flowline{grid-template-columns:1fr 1fr;}
  .fl{border-top:1px solid var(--line);}
  .certs{grid-template-columns:1fr 1fr;gap:10px;}
  .cert{min-height:auto;padding:15px 14px 13px;}
  .cert .nm{font-size:15px;line-height:1.55;}
  .notices{border-top:none;}
  .nc{border-right:none;border-bottom:1px solid var(--line);}
  .nc .hd{padding-left:0;}
  .nc ul{padding-right:0;}
  .pnews{grid-template-columns:1fr;gap:32px;}
  .pitem .tt{font-size:12px;}
  .syncnote{display:none;}
  .S9{padding:56px 0 0;}
  .aud{grid-template-columns:1fr;gap:24px;margin-top:28px;}
  .fcols{grid-template-columns:1fr 1fr;gap:28px;padding:32px 0;}
  .fbot .wrap{height:auto;padding:16px 0;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.7;}
  #pg{display:none;}
  .hallin{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 18px;}
  .hallin .hl{gap:10px;}
  .hallin .t{font-size:20px;}
  .hallin .hb{width:100%;justify-content:center;}
}
.brk{display:none;}
@media (max-width:760px){
  .brk{display:inline;}
  .fb{grid-column:1/3;}
}

/* reduce 守卫 */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .ys-anim h1{animation:none!important;}
  .ys-anim .S1 .vline{animation:none!important;transform:scaleY(1);}
  .ys-anim .sec > .wrap,.ys-anim .S3 > .wrap,.ys-anim .S9 > .wrap,
  .ys-anim .ix,.ys-anim .cert{opacity:1!important;transform:none!important;transition:none!important;}
  .ys-anim .seclabel .ln{transform:none!important;}
  .btn1,.btn2,.nc li .tt,.nc .hd a,.fcol a{transition:none!important;}
}

/* ===== v8 排版统一：章节头居中 + 卡片居中 ===== */
.seclabel{justify-content:center;}
.seclabel .num{margin-right:2px;}
.seclabel .ln{flex:0 0 72px;}
h2{text-align:center;max-width:1040px;text-wrap:balance;margin-left:auto;margin-right:auto;}
.lead{text-align:center;margin-left:auto;margin-right:auto;max-width:800px;}
.lead-note{text-align:center;margin-left:auto;margin-right:auto;}
.note{text-align:center;}
.dat > *{text-align:center;}
.cert{text-align:center;}
.cert .cn{justify-content:center;}
.hallin{text-align:left;}
.hallin .hl{justify-content:flex-start;}
.step .k,.step .t{text-align:left;}

/* S9 seclabel/h2 深色覆盖（v8 基准页以内联样式实现，此处集中化） */
.S9 .seclabel{justify-content:center;}

/* ============ 关于我们页（v8-baseline-about.html 385-443 行移植） ============ */
/* 页头 hero：复用 base 的 section.S1（深色 + nav + glow），正文块为 .abh */
.S1 .abh{padding-top:72px;padding-bottom:6px;}
.S1 .abh h1{font-family:var(--serif);font-size:52px;line-height:1.3;letter-spacing:.01em;margin:0 0 26px;font-weight:700;}
.S1 .abh h1 em{font-style:normal;color:var(--gold);}
.S1 .abh .sub{font-size:15px;line-height:1.95;color:#B7A992;letter-spacing:.02em;max-width:780px;}
.S1 .abh .seclabel .ln{background:rgba(198,161,91,.3);}
.S1 .abh .seclabel .cn{color:#C9B79A;}
.S1 .abh .seclabel .num{color:var(--gold);}

.abmain{background:var(--paper);color:var(--ink);padding:96px 0;}
.abgrid{display:grid;grid-template-columns:264px 1fr;gap:64px;align-items:start;margin-top:44px;}
.abmeta{border-top:1px solid var(--line);}
.abmeta .m{padding:17px 0;border-bottom:1px solid var(--line);}
.abmeta .k{display:block;font-size:12px;letter-spacing:.18em;color:#8A8175;margin-bottom:7px;}
.abmeta .v{display:block;font-size:15px;line-height:1.85;color:var(--ink);}
.abtext{max-width:820px;}
.abtext p.tw{font-size:15px;line-height:2.15;color:var(--body);margin:0 0 26px;text-align:justify;text-justify:inter-ideograph;}
.abtext p.tw:first-of-type{font-size:15px;color:var(--ink);}
.abtext p.tw:last-of-type{margin-bottom:0;}
.ch{display:inline-block;opacity:0;transform:translateY(9px);
  transition:opacity .28s ease,transform .28s ease;}
.tw.on .ch{opacity:1;transform:none;}
.abstats{margin-top:66px;padding-top:42px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);}
.abstats .s{padding:2px 0 2px 28px;border-left:1px solid var(--line);}
.abstats .s:first-child{border-left:0;padding-left:0;}
.abstats .n{font-family:var(--serif);font-size:44px;line-height:1;color:var(--ink);letter-spacing:.01em;}
.abstats .n i{font-style:normal;font-size:15px;color:var(--r600);margin-left:3px;}
.abstats .l{font-size:12px;color:#8A8175;margin-top:10px;letter-spacing:.05em;line-height:1.7;}
.abq{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px;}
.abq .q{background:var(--paper);min-height:112px;padding:20px 18px;display:flex;flex-direction:column;justify-content:center;
  transition:background .28s;}
.abq .q:hover{background:#FCF8EF;}
.abq .qn{font-size:12px;letter-spacing:.18em;color:#B9A277;margin-bottom:11px;}
.abq .qt{font-size:15px;line-height:1.55;color:var(--ink);letter-spacing:.01em;}
.abnote{font-size:12px;line-height:1.9;color:#8A8175;margin:18px 0 0;max-width:820px;}
/* 无 aud 内容的 S9（关于页页脚贴底） */
.S9 > .wrap > .footer:first-child{margin-top:0;}
.S9.onlyfoot{padding-top:0;}

@media (max-width:760px){
  .S1 .abh{padding-top:56px;}
  .S1 .abh h1{font-size:26px;line-height:1.42;}
  .S1 .abh .sub{font-size:15px;}
  .abmain{padding:56px 0;}
  .abgrid{grid-template-columns:1fr;gap:30px;margin-top:30px;}
  .abmeta{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
  .abtext p.tw{font-size:15px;line-height:2.05;}
  .abstats{margin-top:44px;padding-top:30px;grid-template-columns:1fr 1fr;gap:26px 0;}
  .abstats .s{padding-left:18px;}
  .abstats .s:nth-child(odd){border-left:0;padding-left:0;}
  .abstats .n{font-size:34px;}
  .abq{grid-template-columns:1fr 1fr;}
  .abq .q{min-height:104px;padding:16px 14px;}
  .abq .qt{font-size:15px;}
  .abnote{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .ch{opacity:1;transform:none;transition:none;}
}

/* ============ 内页 v8 归一段（§7 规格 × §2.1 八档阶梯） ============ */
/* 面包屑：11→12px（阶梯最小档） */
.crumb .wrap{font-size:12px;color:#8E7D62;letter-spacing:.14em;}
.crumb a{color:#8E7D62;}
/* 内页页头 H1：56→52px（阶梯章节档，§2.1「内页 H1 同用 52」） */
.ph-left h1{font-size:52px;line-height:1.3;letter-spacing:.01em;}
.ph-left .lead{max-width:760px;text-align:left;margin-left:0;margin-right:0;}
.svc-obj .h{font-size:12px;color:#8A8175;}
.svc-obj p{font-size:15px;line-height:1.95;}
/* T1 流程时间线 */
.tl-l .k{font-size:12px;letter-spacing:.18em;}
.tl-l .t{font-size:26px;}
.tl-r li{font-size:15px;line-height:1.95;}
.tl-r .out{font-size:12px;}
/* FAQ 手风琴（details/summary 纯 CSS，v8 §7.2） */
.faq{margin-top:44px;}
details.faq-item{display:block;border-top:1px solid var(--line);padding:0;}
details.faq-item:last-of-type{border-bottom:1px solid var(--line);}
details.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:22px 0;font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--ink);}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary::after{content:"+";font-family:var(--sans);font-size:20px;color:#B9A277;font-weight:400;flex:0 0 auto;transition:transform .28s;}
details.faq-item[open] summary::after{transform:rotate(45deg);}
details.faq-item .faq-a{font-size:15px;line-height:1.9;color:var(--body);padding:0 0 22px;max-width:760px;}
/* CTA 带 */
.cta-l{font-size:20px;}
.cta-phone{font-size:15px;}
.cta-btn{font-size:12px;}
/* 列表页：筛选 / 行 72px / 分页 */
.filters input{font-size:15px;}
.btn-solid{font-size:15px;}
.btn-text{font-size:12px;}
.lh{font-size:12px;letter-spacing:.14em;}
.lr{min-height:72px;}
.l-title{font-size:15px;}
.l-title a{color:var(--ink);}
.l-empty{font-size:15px;}
.pager ul li{font-size:15px;}
.pager ul li span,.pager ul li a{padding:8px 14px;border:1px solid var(--line);border-radius:0;}
.pager ul li.active span{color:var(--ink);background:var(--gold);border-color:var(--gold);}
.pager ul li a:hover{color:var(--ink);border-color:var(--gold);}
/* 详情页：标题 44（40 越档归 H3 档）/ 正文 15 / meta 12 */
.article-head h1{font-size:44px;line-height:1.3;}
.p-meta{font-size:12px;}
.p-article{font-size:15px;line-height:1.95;}
.p-article h2,.p-article h3,.p-article h4{font-size:26px;}
.p-article table{font-size:15px;}
.p-notice{font-size:15px;}
.p-related .h{font-size:20px;}
.p-prevnext a{font-size:15px;}
.p-back{font-size:15px;}
/* 相关阅读沿用全局 .pitem（12/15/12） */
/* 政策列表来源标签（与首页 S8 .pitem .src 同视觉） */
.l-title .src{font-size:12px;color:var(--r600);letter-spacing:.08em;white-space:nowrap;border:1px solid rgba(140,28,19,.28);padding:2px 7px;margin-right:12px;vertical-align:2px;}
.l-title a{color:var(--ink);}

/* ============ v8.1 业主返修（2026-11-12） ============ */
/* 1.2 首屏左右不留白：hero 内容区全宽，仅留 64px 内距 */
.S1 > .wrap{width:100%;max-width:none;padding:0;}
.S1body{padding:64px 64px 38px;}
/* v9 第四轮：H1 两行行距加大（1.16 → 1.26），首屏高度用内距压缩抵消 */
.S1 h1{line-height:1.26;}
.S1 > .wrap > .strip .wrap{height:60px;}
.S1 .vline{display:none;}
/* 1.4 「从业记录」不再被细线压住：竖线改为右列左边框（在文字外侧） */
.S1right{border-left:1px solid rgba(198,161,91,.24);padding-left:36px;}
/* 1.5 「联系我们」按钮文字居中 */
.btn2{justify-content:center;min-width:132px;padding:19px 26px 18px;text-align:center;}
/* 底部 strip：删掉「依据」后仍两端对齐，字号 15 */
.S1 > .wrap > .strip{width:100%;margin:0;}
.S1 > .wrap > .strip > .wrap{padding:0 64px;}
.strip .wrap,.strip em,.strip-entry{font-size:15px;}

/* 5. 章节标签去掉横线（含深底区块） */
.seclabel .ln,.S3 .seclabel .ln,.S9 .seclabel .ln,.ys-anim .seclabel .ln{display:none;}
.seclabel{gap:16px;margin-bottom:26px;}
/* 6. 小字整体上调一档：标签 12→15 / 章节标签主字 20 */
.seclabel .num{font-size:15px;}
.seclabel .cn{font-size:20px;letter-spacing:.16em;}
.gauge-hd{font-size:15px;letter-spacing:.18em;}
.gauge .gi{font-size:15px;}
.gauge .l{font-size:15px;letter-spacing:.1em;}
.s1-foot{font-size:15px;}
.note,.lead-note,.abnote{font-size:15px;line-height:1.95;}
.sub-h{font-size:20px;letter-spacing:.16em;}
.cert .cn{font-size:15px;}
.lh{font-size:15px;}
.l-date{font-size:15px;}
.list-count{font-size:15px;}
.p-meta{font-size:15px;}
.contact-rows .t{font-size:15px;}
.pager ul li{font-size:15px;}

/* 2. 内页主标题统一居中（列表 / 详情 / 关于 / 联系 / 文章页） */
.list-title-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;text-align:center;}
.list-title-row .list-count{position:absolute;right:0;bottom:8px;}
.list-title-row h2{text-align:center;}
.article-head .wrap{text-align:center;}
.article-head .p-meta{justify-content:center;}
.abh h1{text-align:center;}
.abh .sub{text-align:center;margin-left:auto;margin-right:auto;}
.abh .seclabel{justify-content:center;margin-bottom:30px!important;}
.pagehead .ph-grid,.ph-grid{grid-template-columns:1fr!important;gap:36px;}
.pagehead .ph-left,.pagehead .ph-right{grid-column:1/-1;}
.ph-left h1{text-align:center;}
.svc-obj .h{font-size:15px;letter-spacing:.1em;}
.ph-left .lead{text-align:center;margin-left:auto;margin-right:auto;}
.ph-right{border-top:1px solid var(--line);padding-top:28px;}
.ph-right .svc-obj{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;}
.ph-right .svc-obj p{text-align:left;}
.pagehead .wrap>h1{text-align:center;font-size:52px;line-height:1.3;color:var(--ink);letter-spacing:.01em;}
.pagehead .wrap>h1 em{color:var(--r600);}
.pagehead .wrap>p,.pagehead .wrap>p.lead{text-align:center;margin-left:auto;margin-right:auto;color:var(--body);}
/* 关于页左侧信息栏标签（原 12px 偏小） */
.abmeta .k{font-size:15px;letter-spacing:.1em;}
.abmeta .v,.abmeta p{font-size:15px;}

/* 7. 间距收紧（章节 96→72 / 内页页头 72→52 / CTA 带 96→76 / 关于页与联系页块间距） */
.sec{padding:72px 0;}
.pagehead{padding:52px 0 32px;}
.btn-text{font-size:15px;}
.btn-text:hover{color:var(--ink);}
.ctaband .wrap{height:76px;}
.cta-l{font-size:26px;letter-spacing:.02em;}
.cta-phone{font-size:20px;}
.cta-btn{font-size:15px;padding:12px 24px;}
.abq{margin-top:28px;}
.abstats{margin-top:44px;}
.contact-rows{margin-top:28px;}
.contact-rows li{padding:14px 0;}

/* 3. 资质凭证：证书照片图卡（图位 3:4，无图自动降级为名称牌） */
.abq .q{display:block;background:var(--paper);padding:0;min-height:0;}
.abq .ph{position:relative;aspect-ratio:3/4;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;}
.abq .ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.abq .q:hover .ph img{transform:scale(1.03);}
.abq .qb{padding:18px 18px 20px;}
.abq .qn{display:block;margin-bottom:9px;font-size:15px;}
.abq .qt{font-size:15px;}
.abq .q.nophoto{padding:22px 18px;min-height:132px;display:flex;flex-direction:column;justify-content:center;}
.abq .q.nophoto .ph{display:none;}

/* 4. 联系页地图卡（免 key 高德瓦片拼图：5×3 瓦片，定位广州市天河区柯木塱南路 9 号） */
.mapcard{margin-top:32px;border:1px solid var(--line);background:var(--paper2);}
.mapbox{position:relative;overflow:hidden;height:340px;background:#EFEBE2;}
.mapbox .tiles{position:absolute;left:50%;top:50%;width:1280px;height:768px;
  transform:translate(-538.1px,-487.7px);transform-origin:0 0;}
.mapbox .t{position:absolute;width:256px;height:256px;display:block;filter:grayscale(.28) sepia(.06) contrast(.97) brightness(1.02);}
.mapbox .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;pointer-events:none;}
.mapbox .pin i{display:block;width:22px;height:22px;border-radius:50%;background:var(--r600);border:3px solid #fff;
  box-shadow:0 2px 12px rgba(0,0,0,.34);position:relative;}
.mapbox .pin b{display:block;margin-top:7px;background:#fff;border:1px solid var(--line);padding:3px 9px;
  font-size:12px;font-weight:400;letter-spacing:.06em;color:var(--ink);white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.14);}
.mapbox .pin i::after{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;
  border:1px solid rgba(140,28,19,.35);border-radius:50%;animation:pinPulse 2.6s ease-out infinite;}
@keyframes pinPulse{0%{transform:scale(.5);opacity:.9}70%{transform:scale(1.15);opacity:0}100%{opacity:0}}
.mapcard .mf{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--line);font-size:15px;color:var(--body);}
.mapcard .mf a{color:var(--r600);white-space:nowrap;}
.mapcard .mf a:hover{color:var(--gold);}
/* 联系页正文（CMS 内容）行距收紧 */
.contact-body p{margin:0 0 10px;line-height:1.9;}
.contact-body p:last-child{margin-bottom:0;}

@media (max-width:1100px){
  .S1body{padding:88px 40px 56px;}
  .S1 > .wrap > .strip > .wrap{padding:0 40px;}
  .list-title-row .list-count{position:static;bottom:auto;}
  .ph-grid{gap:32px;}
  .ph-right .svc-obj{grid-template-columns:1fr;gap:10px;}
}
@media (max-width:760px){
  .S1body{padding:44px 20px 32px;}
  .S1 > .wrap > .strip > .wrap{padding:0 20px;}
  .S1right{border-left:none;padding-left:0;}
  .seclabel .cn{font-size:15px;}
  .abq{grid-template-columns:1fr 1fr;}
  .mapbox{height:240px;}
  .mapcard .mf{flex-direction:column;align-items:flex-start;gap:8px;}
  .ctaband .wrap{height:auto;padding:24px 0;}
}

/* ============ v8.2 业主二次返修（2026-11-12 第二轮 20 条） ============ */
/* 7·8 全站随屏自适应：内容与页脚同宽，不再固定 1320 */
.wrap{width:100%;max-width:1600px;margin:0 auto;padding:0 64px;}
/* 1 删除内页底部 CTA 带（全站，所有模板一处收口） */
.ctaband{display:none!important;}
/* 15 删除列表「共 N 条在库记录」 */
.list-count{display:none!important;}
/* 2 列表搜索行整体居中（输入框 + 查询 + 重置 作为一组居中） */
.filters{display:flex;justify-content:center;align-items:center;gap:12px;}
.filters .f-input{grid-column:auto;flex:0 1 640px;max-width:640px;width:100%;}
.filters .btn-solid,.filters .btn-text{grid-column:auto;white-space:nowrap;}
/* 19 联系页删掉标题区块后，正文与页头之间留白 */
.contact-main{padding-top:28px;}
/* 列表页：标题与搜索行间距收紧 */
.listsec{padding-top:24px;}
.listsec .filters{margin-top:0;}
.S1 .sub .nw{white-space:nowrap;}

/* 5·10 页头：logo 居左 / 导航真居中 / 右侧入口（含开标大厅）+ 不再压框 */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-right:8px;}
.brand{justify-self:start;}
.menu{justify-self:center;gap:30px;}
.nav-right{justify-self:end;display:flex;align-items:center;gap:10px;padding-right:12px;}
.nav-right .nav-entry{margin-left:0;flex:0 0 auto;height:34px;padding:0 14px;white-space:nowrap;}
.nav-right .nav-entry.ghost{border-color:rgba(198,161,91,.45);color:#DCCDB4;}
.nav-right .nav-entry.ghost:hover{color:#F5EFE0;border-color:var(--gold);}

/* 18 内页章节标签与标题居中（其他页面同理） */
.sec .seclabel{justify-content:center;}
.sec h2{margin-left:auto;margin-right:auto;text-align:center;}

/* 3 资质凭证：只留证书照片，编号与名称文字全部去掉；控制最大宽度避免卡片过大 */
.abq{max-width:1120px;margin-left:auto;margin-right:auto;}
.abq .qb{display:none!important;}
.abq .q{background:transparent;}
.abq .ph{border-bottom:0;aspect-ratio:3/4;}
.abq .q.nophoto{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;
  background:#F8F3E8;border:1px dashed rgba(198,161,91,.5);padding:0;}
.abq .q.nophoto::after{content:"证书照片";font-size:12px;letter-spacing:.22em;color:#A99B84;}

/* 17 服务流程：横屏四段 + 箭头 + 逐段入场（不再竖排一条条） */
.flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;border-top:1px solid var(--line);}
.flow .fl{position:relative;padding:34px 26px 30px;border-right:1px solid var(--line);}
.flow .fl:last-child{border-right:0;}
.flow .fl-no{font-size:15px;letter-spacing:.26em;color:var(--r600);}
.flow .fl-t{font-family:var(--serif);font-size:26px;color:var(--ink);margin:12px 0 18px;line-height:1.3;}
.flow .fl ul{list-style:none;padding:0;margin:0;}
.flow .fl li{position:relative;padding-left:14px;font-size:15px;line-height:1.9;color:var(--body);}
.flow .fl li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--gold);}
.flow .fl-out{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);font-size:15px;color:var(--r600);}
.flow .fl::after{content:"→";position:absolute;right:-9px;top:38px;width:18px;text-align:center;
  font-size:15px;color:var(--gold);background:var(--paper);z-index:2;}
.flow .fl:last-child::after{display:none;}
.paper2 .flow .fl::after{background:var(--paper2);}
.ys-anim .flow .fl{transform:translateY(16px);transition:transform .68s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * .1s);}
.ys-anim section.is-in .flow .fl{transform:none;}

/* 12 首屏公司资质轮播（有照片显示照片，无照片显示名称牌） */
/* margin-top:auto 已删除：改由 .plats 的上下 auto 平分剩余空间（按钮组居中），证书条仍自然贴底；
   ≤760 的 block 布局下 auto 本就不生效，行为不变 */
.certsbar{padding-top:30px;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.certs-track{display:flex;gap:14px;width:max-content;animation:certScroll 46s linear infinite;}
.certsbar:hover .certs-track{animation-play-state:paused;}
.certs-item{flex:0 0 auto;width:104px;}
.certs-item .cph{aspect-ratio:3/4;background:#fff;border:1px solid rgba(255,255,255,.14);overflow:hidden;}
.certs-item img{display:block;width:100%;height:100%;object-fit:cover;}
.certs-item .cnm{margin-top:8px;font-size:12px;line-height:1.6;color:#B9A88C;letter-spacing:.04em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.certs-item.nophoto .cph{display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px dashed rgba(198,161,91,.42);}
.certs-item.nophoto .cph::after{content:"证书";font-size:12px;color:#8E7E66;letter-spacing:.2em;}
@keyframes certScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.certs-track{animation:none;}}

/* 11·13 首页首屏文案：副文案不人为断行、H1 两行严格左对齐（仅首页，内页页头仍居中） */
.S1 .S1left h1{text-align:left;text-indent:0;}
.S1 .abh h1,.S1 .ph-left h1{text-align:center;}
/* v9 第四轮：副文案整段居中（H1 仍左对齐，两行各自居中） */
.S1 .S1left .sub{max-width:none;text-align:center;}

/* 14·16 页脚：三列（外部系统已并入页头）、换新 logo、中文与英文基准分散对齐 */
.fcols{grid-template-columns:1.7fr 1fr 1fr;gap:56px;}
.fb img{width:auto;height:54px;object-fit:contain;margin-bottom:12px;}
.fb .cn{display:inline-block;width:160px;text-align:justify;text-align-last:justify;letter-spacing:0;}
.fb .en{display:inline-block;width:160px;letter-spacing:.24em;}

@media (max-width:1400px){
  .nav-right .nav-entry{height:32px;padding:0 12px;font-size:12px;}
  .menu{gap:22px;}
}
@media (max-width:1180px){
  .nav{grid-template-columns:auto 1fr auto;gap:12px;}
  .flow{grid-template-columns:1fr 1fr;}
  .flow .fl:nth-child(2){border-right:0;}
  .flow .fl::after{display:none;}
}
@media (max-width:1100px){
  .wrap{padding:0 40px;}
  .nav-right{gap:6px;padding-right:4px;}
}
@media (max-width:760px){
  .wrap{padding:0 20px;}
  /* 移动端页头恢复横排换行（v8.2 的三区 grid 仅在桌面生效） */
  .nav{display:flex;height:auto;padding:14px 0;flex-wrap:wrap;align-items:center;gap:12px 14px;}
  .brand{justify-self:auto;}
  .menu{justify-self:auto;flex:1 1 auto;gap:14px;font-size:12px;flex-wrap:wrap;}
  .menu span.hm{display:none;}
  .nav-right{width:100%;justify-content:flex-start;gap:10px;padding-right:0;margin-top:2px;}
  .nav-right .nav-entry{height:34px;padding:0 14px;font-size:12px;}
  .flow{grid-template-columns:1fr;}
  .flow .fl{border-right:0;border-bottom:1px solid var(--line);}
  .certs-item{width:84px;}
  .fb .cn,.fb .en{width:auto;}
}

/* ============ v8.3 业主三次返修（2026-11-12 第三轮 13 条） ============ */
/* 5·10 章节标签：删掉 01/02 等数字编号（其他同理），章节名改金色发光字放大展示（大于副标题） */
.seclabel{gap:0;margin-bottom:26px;}
.seclabel .num{display:none!important;}
.seclabel .cn{font-size:22px;line-height:1.55;letter-spacing:.28em;color:var(--gold);
  text-shadow:0 0 20px rgba(198,161,91,.55),0 0 3px rgba(198,161,91,.35);}
.S1 .abh .seclabel .cn,.S3 .seclabel .cn,.S9 .seclabel .cn{color:var(--gold);}

/* 3 页头两个入口：等宽等高、文字居中（开标大厅 / 投标人入口） */
.nav-right{gap:12px;}
.nav-right .nav-entry{width:132px;height:38px;padding:0 10px;justify-content:center;}
.nav-right .nav-entry .ext{width:13px;display:inline-block;text-align:center;}

/* 6·7 章节标题与流程四段入场动画（section 进入视口触发，四段依次浮现） */
.ys-anim .sec h2{opacity:0;transform:translateY(26px);clip-path:inset(0 0 100% 0);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),clip-path 1s cubic-bezier(.2,.7,.2,1);}
.ys-anim section.is-in h2{opacity:1;transform:none;clip-path:inset(0 -8% -16% -8%);}
.ys-anim .flow .fl{opacity:0;transform:translateY(30px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * .14s);}
.ys-anim .flow .fl li{opacity:0;transform:translateX(-12px);transition:opacity .55s ease,transform .55s ease;}
.ys-anim section.is-in .flow .fl{opacity:1;transform:none;}
.ys-anim section.is-in .flow .fl li{opacity:1;transform:none;}
.ys-anim section.is-in .flow .fl li:nth-child(1){transition-delay:calc(var(--i,0) * .14s + .14s);}
.ys-anim section.is-in .flow .fl li:nth-child(2){transition-delay:calc(var(--i,0) * .14s + .22s);}
.ys-anim section.is-in .flow .fl li:nth-child(3){transition-delay:calc(var(--i,0) * .14s + .30s);}
.ys-anim section.is-in .flow .fl li:nth-child(4){transition-delay:calc(var(--i,0) * .14s + .38s);}
.ys-anim section.is-in .flow .fl li:nth-child(5){transition-delay:calc(var(--i,0) * .14s + .46s);}
.ys-anim .flow .fl-out{opacity:0;transition:opacity .6s ease;}
.ys-anim section.is-in .flow .fl-out{opacity:1;transition-delay:calc(var(--i,0) * .14s + .54s);}

/* 8 关于页：正文右侧补一列「公司图片」竖排淡入轮播 */
.abgrid{grid-template-columns:264px minmax(0,1fr) 268px;gap:48px;}
.abside{align-self:stretch;}
.abside .hd{font-size:12px;letter-spacing:.24em;color:#8A8175;margin-bottom:12px;}
.abslider{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);background:#F8F3E8;}
.abslider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  animation:abFade 19.2s linear infinite;}
.abslider img:nth-child(1){animation-delay:0s;}
.abslider img:nth-child(2){animation-delay:-14.4s;}
.abslider img:nth-child(3){animation-delay:-9.6s;}
.abslider img:nth-child(4){animation-delay:-4.8s;}
.abslider .ph2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;letter-spacing:.24em;color:#A99B84;}
@keyframes abFade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .abslider img{animation:none;opacity:1;}
  .abslider img:not(:first-child){display:none;}
}

/* 9 关于页数字条（10 年 / 1,000+ / 50 亿+ / 500+）已删除，此处兜底 */
.abstats{display:none!important;}

/* 1 证书：6 张横版原件 → 3 列 2 行，横版卡不裁切（contain）；缺图时占位牌写证书名称 */
.abq{grid-template-columns:repeat(3,1fr);gap:18px;background:transparent;}
.abq .ph{aspect-ratio:4/3;background:#fff;border:1px solid var(--line);}
.abq .ph img{display:block;width:100%;height:100%;object-fit:contain;}
.abq .q.nophoto{aspect-ratio:4/3;}
.abq .q.nophoto::after{content:attr(data-name);font-size:13px;line-height:1.8;letter-spacing:.14em;
  color:#8E7C60;text-align:center;padding:0 14px;}
/* v8.5 第 6 条：证书墙所有卡片严格等宽等高——宽 = --ciw，图片区高 = --ciw × 0.712（横版证书比例），
   图片铺满不裁切；单图与正本+副本双联图同一尺寸，名称居中于证书下方 */
.certs-item{--ciw:172px;width:var(--ciw);text-align:center;}
.certs-item .cph{aspect-ratio:auto;height:calc(var(--ciw) * .712);background:transparent;display:block;overflow:hidden;}
.certs-item .cph img{display:block;width:100%;height:100%;object-fit:cover;}
.certs-item.multi{width:calc(var(--ciw) * 2 + 2px);}
.certs-item.nophoto{width:var(--ciw);}
.certs-item .cnm{-webkit-line-clamp:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;}
.certs-item.nophoto .cph{aspect-ratio:4/3;}
.certs-item.nophoto .cph::after{content:attr(data-name);font-size:11px;letter-spacing:.06em;
  color:#8E7C60;text-align:center;padding:0 6px;}

/* 13 页脚：四列铺满整宽、品牌块不再贴边、中文与英文各占一行 */
.fcols{grid-template-columns:1.55fr .85fr .85fr 1fr;gap:44px;align-items:start;padding:56px 0 44px;}
.fb{padding-left:22px;}
.fb img{margin-bottom:16px;}
.fb .cn{display:block;width:170px;text-align:justify;text-align-last:justify;letter-spacing:0;}
.fb .en{display:block;width:170px;margin-top:7px;}

/* v8.4 第 3 条：首屏 H1 第二行缩进 2 字，起点落在第一行「开」字下方（字距 -.015em，故 2em 略收紧）
   缩进后第二行会超出标题盒 ~33px，允许其溢出到 gutter（不换行、不与右侧计量条重叠） */
.S1 .S1left h1 .l1,.S1 .S1left h1 .l2{display:block;}
.S1 .S1left h1 .l2{padding-left:calc(2em - .03em);white-space:nowrap;}

/* 11 首屏撑满一屏：内容垂直居中、底部品类条贴视口底（仅首页含 .S1body，关于页不受影响） */
.S1:has(.S1body){min-height:100vh;display:flex;flex-direction:column;}
.S1:has(.S1body) > .wrap{flex:1;display:flex;flex-direction:column;}
.S1 .S1body{flex:1;align-content:center;}

/* 11 地图铺满：瓦片改为 7×5（1792×1280），偏移量按同一地理锚点换算，pin 仍对准柯木塱南路 9 号 */
.mapbox{background:#E6E0D2;}
.mapbox .tiles{width:1792px;height:1280px;transform:translate(-794.1px,-743.7px);}

@media (max-width:1400px){
  .nav-right .nav-entry{width:122px;}
}
@media (max-width:1280px){
  .abgrid{grid-template-columns:240px minmax(0,1fr);gap:40px;}
  .abside{display:none;}
}
@media (max-width:1180px){
  .fcols{grid-template-columns:1.4fr .8fr .8fr;gap:36px;}
  .fb{grid-column:1/-1;padding-left:0;margin-bottom:6px;}
}
@media (max-width:1100px){
  .nav-right .nav-entry{width:116px;height:34px;}
}
@media (max-width:760px){
  .seclabel .cn{font-size:16px;letter-spacing:.2em;}
  .nav-right .nav-entry{width:auto;flex:1 1 0;}
  .fb .cn,.fb .en{width:auto;}
  .abq{grid-template-columns:1fr 1fr;gap:12px;}
  .certs-item{--ciw:104px;}
  .S1:has(.S1body){min-height:auto;}
  .fblogo{min-height:88px;}
  .fb .fblogo img{height:52px;}
  .fb .fblogo .cn{font-size:19px;}
  .fb .fbinfo{min-height:0;margin-top:12px;}
}

/* ===== v8.4（业主第三轮返修）=====
   4 关于页：「资质凭证」区块删除，改为「总经理致辞」（原文照搬 docx，逐字渐显）
   5 关于页右侧：公司实景加长、两张一组轮播
   2 页脚：竖排组合 logo 放大，与右侧公司信息块等高 */
/* 页头内距：v8.1 的 `.S1 > .wrap{padding:0}` 是为首页首屏全宽，同时把页头导航也清零，
   导致 logo 贴到视口左缘 0px（过左）。这里只给 .nav 补左右内距，和 .S1body / 页脚内容同一条左缘。
   注意不能加在 .wrap 上：首页首屏 .S1body 与页头 nav 同属一个 section.S1.inner-head > .wrap，
   加在 wrap 会让首屏正文整体右移 64px。 */
.S1.inner-head > .wrap > .nav{padding-left:64px;padding-right:64px;}
@media (max-width:1200px) and (min-width:761px){ .S1.inner-head > .wrap > .nav{padding-left:40px;padding-right:40px;} }
@media (max-width:760px){ .S1.inner-head > .wrap > .nav{padding-left:20px;padding-right:20px;} }

.abgrid{align-items:stretch;}
.abside{display:flex;flex-direction:column;}
.abside .abslider{flex:1;min-height:580px;aspect-ratio:auto;border:1px solid var(--line);background:#F8F3E8;}
.abslider .aslide{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr;gap:10px;padding:10px;
  opacity:0;transition:opacity .9s ease;}
.abslider .aslide.on{opacity:1;}
.abslider .aph{position:relative;overflow:hidden;background:var(--paper2);display:flex;align-items:center;justify-content:center;}
.abslider .aph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;animation:none;}
.abslider .aph .ph2{position:static;inset:auto;font-size:12px;letter-spacing:.22em;color:#A2937A;}

/* 总经理致辞 */
.seclabel.gm{margin-top:76px;}
.gmspeech{max-width:980px;margin:0 auto;}
.gmspeech p{font-size:15px;line-height:2.05;color:var(--ink2);margin:0 0 16px;text-align:justify;text-indent:2em;}

/* ===== v9（业主第四轮）：首屏四个业务平台入口 =====
   等宽等高（grid 四列同宽 + 固定高度）、文字水平垂直居中、单行不换行不溢出；
   页头原「开标大厅 / 投标人入口」两个按钮已移除。 */
/* v9 第六轮：按钮间距加大（14→22，组宽 620→690）、悬浮/按下/光扫动效、桌面上浮入场 */
.plats{margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;width:100%;max-width:690px;}
.plat{position:relative;display:flex;align-items:center;justify-content:center;
  height:56px;padding:0 10px;
  font-size:15px;letter-spacing:.08em;line-height:1;
  color:#F3E8D2;background:rgba(198,161,91,.18);border:1px solid rgba(198,161,91,.62);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:background .35s ease,border-color .35s ease,color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;}
/* 光扫：静止时整体移出左侧，hover 时横穿一次 */
.plat::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,243,220,.20) 45%,
    rgba(255,243,220,.04) 62%,transparent 100%);
  transform:translateX(-120%);transition:transform .8s cubic-bezier(.22,1,.36,1);}
.plat:hover{background:rgba(198,161,91,.34);border-color:var(--gold);color:#FFF9EC;
  transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.36);}
.plat:hover::after{transform:translateX(120%);}
.plat:active{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.3);}
.plat:focus-visible{outline:1px solid var(--gold);outline-offset:3px;}
/* 入场：桌面且未开启「减少动态效果」时，四按钮依次上浮淡入（用独立 translate 属性，
   不与 hover 的 transform 抢同一属性） */
@keyframes platIn{from{opacity:0;translate:0 14px;}to{opacity:1;translate:0 0;}}
@media (min-width:1201px) and (prefers-reduced-motion:no-preference){
  .plats .plat{animation:platIn .62s cubic-bezier(.22,1,.36,1) both;}
  .plats .plat:nth-child(1){animation-delay:.04s;}
  .plats .plat:nth-child(2){animation-delay:.12s;}
  .plats .plat:nth-child(3){animation-delay:.2s;}
  .plats .plat:nth-child(4){animation-delay:.28s;}
}
@media (prefers-reduced-motion:reduce){
  .plats .plat,.plat::after{transition:none;animation:none;}
  .plat:hover,.plat:active{transform:none;}
}

@media (max-width:1200px){
  /* 平板及以下：恢复「固定上距 + 证书条贴底」，避免剩余空间过大把按钮推得过远 */
  .plats{margin:38px auto 0;}
  .certsbar{margin-top:auto;}
}
@media (max-width:880px){
  .plats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none;}
  .plat{height:50px;font-size:14px;}
}
@media (max-width:400px){
  .plats{gap:12px;}
  .plat{height:48px;font-size:13px;letter-spacing:.04em;padding:0 6px;}
}
/* 逐字 span 是 inline-block，会继承 text-indent 使每个字多出 2 字宽度 —— 必须清零 */
.gmspeech .ch,.abtext .ch{text-indent:0;}
.gmspeech p.gm-to{text-indent:0;margin-bottom:24px;color:var(--ink);letter-spacing:.02em;}
.gmspeech p.gm-last{margin-bottom:0;}
.gm-sign{margin-top:36px;text-align:right;font-size:15px;line-height:2;color:var(--ink2);letter-spacing:.04em;}
.gm-sign div:last-child{margin-top:2px;}

/* 页脚竖排 logo（图标 / 中文 / 英文），与公司信息块等高 */
.fb{display:flex;flex-direction:column;}
.fblogo{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:118px;}
.fblogo img{display:block;height:68px;width:auto;object-fit:contain;margin:0;}
/* 图标、中文、英文三行居中对齐；letter-spacing 会在末字后留空隙，用 padding-left 等量补偿才真正视觉居中 */
.fb .fblogo .cn{display:block;width:auto;font-family:var(--serif);font-size:30px;line-height:1;
  letter-spacing:.16em;padding-left:.16em;color:#F5EFE0;text-align:center;text-align-last:auto;white-space:nowrap;}
.fb .fblogo .en{display:block;width:auto;font-size:10.5px;line-height:1;margin-top:0;letter-spacing:.34em;
  padding-left:.34em;color:var(--gold);white-space:nowrap;text-align:center;}
.fb .fbinfo{display:flex;flex-direction:column;justify-content:flex-end;min-height:118px;margin:16px 0 0;
  font-size:12px;line-height:1.9;color:#C9B79A;}

@media (max-width:1360px) and (min-width:1201px){
  /* 1280 笔记本：标题列变窄，缩进后第二行会贴到右侧计量条，字号略降 4px 让 2 字缩进仍成立 */
  .S1 .S1left h1{font-size:78px;}
}
@media (max-width:1200px) and (min-width:761px){
  /* 平板/小屏：取消 2 字缩进，并降字号避免第二行折行（≤760 沿用原移动端 26px） */
  .S1 .S1left h1{font-size:64px;line-height:1.26;}
  .S1 .S1left h1 .l2{padding-left:0;white-space:normal;}
}
@media (max-width:760px){
  .S1 .S1left h1 .l2{padding-left:0;white-space:normal;}
  .S1 .S1left h1{line-height:1.3;}
}
@media (max-width:1080px){
  .abside .abslider{min-height:420px;}
}
@media (max-width:760px){
  .fblogo{min-height:88px;}
  .fb .fblogo img{height:50px;}
  .fb .fblogo .cn{font-size:20px;}
  .fb .fblogo .en{font-size:9px;letter-spacing:.26em;}
  .fb .fbinfo{min-height:0;margin-top:12px;}
  .seclabel.gm{margin-top:52px;}
  .gmspeech p{font-size:14px;line-height:1.95;text-indent:2em;}
  .abside{display:none;}
}
