/* ============================================================
   中工信融 · 外贸独立站设计系统 v4
   蓝色工业 B2B 主题：深邃蓝 + 电光蓝，大留白、强层次、轻动效
   保留全部历史类名，仅做视觉升级与类名扩充
   ============================================================ */
:root{
  /* v19 企业主色：深湛蓝 #0663b5（rgb 6,99,181）+ 活力橙 #ff6a1a */
  --blue-900:#031c36; --blue-800:#042a4e; --blue-700:#054277; --blue-600:#0663b5;
  --blue-500:#0f74c9; --blue-400:#2b8fe0; --blue-300:#5aa9e6; --blue-200:#93c6f0;
  --sky:#e9f2fc; --sky-2:#d9e9fa;
  --ink:#0f2033; --muted:#5a6c82; --line:#dbe7f3; --line-2:#eaf1f8;
  --bg:#f6f9fc; --white:#fff;
  --gold:#ff6a1a; --ok:#1f9d5b;
  --maxw:1240px;
  --shadow-sm:0 2px 10px rgba(6,32,60,.06);
  --shadow:0 12px 32px rgba(6,32,60,.10);
  --shadow-lg:0 26px 64px rgba(6,32,60,.16);
  --r:14px;
  /* 旧变量别名，保证历史内联样式仍可用 */
  --navy:#054277; --navy2:#0663b5; --steel:#5a6c82; --accent:#ff6a1a;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue","Microsoft YaHei",Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue-400);text-decoration:none;transition:.18s}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ===== Header ===== */
.site-header{
  background:rgba(3,28,54,.93);backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  position:sticky;top:0;z-index:80;border-bottom:1px solid rgba(255,255,255,.10);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:18px}
.logo{
  color:#fff;font-weight:800;font-size:20px;letter-spacing:.01em;display:flex;align-items:center;gap:9px;white-space:nowrap;
}
.logo span{color:var(--gold)}
.logo-mark{
  width:30px;height:30px;border-radius:9px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--blue-300),var(--blue-500));
  display:grid;place-items:center;font-size:15px;box-shadow:0 6px 16px rgba(26,115,199,.4);
}
.logo-img{max-height:34px;width:auto;display:block;border-radius:8px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{
  color:#cfe1f5;font-size:14.5px;font-weight:500;padding:9px 13px;border-radius:8px;position:relative;white-space:nowrap;
}
.nav a:hover{color:#fff;background:rgba(255,255,255,.09)}
.nav a.active{color:#fff;background:rgba(255,255,255,.13)}
.nav a.active::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;border-radius:2px;background:var(--gold)}
.header-actions{display:flex;align-items:center;gap:10px}
.langsel{
  background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.22);
  border-radius:9px;padding:8px 11px;font-size:13px;font-family:inherit;cursor:pointer;
}
.langsel option{color:var(--ink)}
.langsel:focus{outline:2px solid var(--gold)}

/* ===== 顶部工具条（联系方式 / 自媒体 / 搜索 / 语言） ===== */
.topbar{background:linear-gradient(90deg,#031f3d,#052c55 55%,#0a3a6e);border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:81}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding-top:6px;padding-bottom:6px}
.topbar-contact{display:flex;align-items:center;gap:20px;font-size:13px;flex-wrap:wrap}
.topbar-contact a{color:#bcd2e8;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:.2s;white-space:nowrap}
.topbar-contact a:hover{color:#fff}
.topbar-contact .tb-ic{width:13px;height:13px;display:inline-flex}
.topbar-contact .tb-ic svg{width:100%;height:100%;fill:var(--gold)}
.topbar-right{display:flex;align-items:center;gap:12px}
.topbar-social{display:flex;align-items:center;gap:6px}
.topbar-social a{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#bcd2e8;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);transition:.2s;
}
.topbar-social a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.topbar-social svg{width:13px;height:13px;fill:currentColor}
.topbar .hd-search{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.topbar .hd-search input{width:158px;padding:6px 10px;font-size:12.5px}
.topbar .hd-search button{padding:6px 10px;font-size:13px}
.topbar .langsel{padding:6px 9px;font-size:12.5px;border-radius:8px}
@media(max-width:1180px){ .topbar .hd-search input{width:118px} .topbar-contact{gap:14px;font-size:12.5px} }
@media(max-width:960px){
  .topbar-contact{display:none}
  .topbar .hd-search{display:none}
  .topbar .langsel{display:none}
  .topbar-in{justify-content:center;min-height:40px}
}

/* ===== 移动端汉堡 ===== */
.hamburger{
  display:none;width:42px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);cursor:pointer;position:relative;flex:0 0 auto;
}
.hamburger i{position:absolute;left:11px;right:11px;height:2px;background:#fff;border-radius:2px;transition:.25s}
.hamburger i:nth-child(1){top:12px}
.hamburger i:nth-child(2){top:18px}
.hamburger i:nth-child(3){top:24px}
.site-header.open .hamburger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-header.open .hamburger i:nth-child(2){opacity:0}
.site-header.open .hamburger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-mask{display:none;position:fixed;inset:70px 0 0;background:var(--blue-900);z-index:70;padding:20px 22px 40px;overflow-y:auto}
.site-header.open + .nav-mask{display:block}
.nav-mask a.nav-link{
  display:block;color:#fff;font-size:18px;font-weight:600;padding:14px 6px;border-bottom:1px solid rgba(255,255,255,.10);
}
.nav-mask .mm-lang{margin-top:18px}
.nav-mask .langsel{width:100%;background:rgba(255,255,255,.10)}
.nav-mask .btn{margin-top:16px;width:100%;text-align:center}

/* ===== Buttons ===== */
.btn{
  display:inline-block;background:linear-gradient(135deg,var(--blue-500),var(--blue-300));
  color:#fff;padding:13px 24px;border-radius:10px;font-weight:600;font-size:15px;
  transition:.2s;box-shadow:0 8px 20px rgba(18,85,143,.28);border:0;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,85,143,.36);color:#fff}
.btn.accent{background:linear-gradient(135deg,#ff6a1a,#ff8f4d);color:#fff;box-shadow:0 8px 20px rgba(255,106,26,.34)}
.btn.accent:hover{color:#fff;filter:brightness(1.05)}
.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--blue-400);box-shadow:none}
.btn.ghost:hover{background:var(--sky);border-color:var(--blue-300);color:var(--blue-500)}
.btn-sm{font-size:13px;padding:7px 13px;border-radius:8px;box-shadow:none}
.btn-sm:hover{box-shadow:none}
.btn.danger{background:#c0392b;box-shadow:none}
.btn.danger:hover{background:#a93226}

/* ===== Hero ===== */
.hero{
  position:relative;color:#fff;padding:104px 0 86px;overflow:hidden;
  background:linear-gradient(120deg,var(--blue-900) 0%,var(--blue-700) 55%,var(--blue-500) 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 420px at 78% 12%,rgba(43,143,224,.38),transparent 60%),
             radial-gradient(700px 360px at 8% 88%,rgba(255,106,26,.16),transparent 60%);
}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 85%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 85%);
}
.hero .wrap{position:relative;z-index:2}
.hero .eyebrow{color:#ffb37a}
.hero h1{color:#fff;font-size:clamp(30px,4.4vw,54px);max-width:820px;font-weight:800}
.hero p{font-size:clamp(15px,1.5vw,18.5px);color:#cfe3fa;max-width:660px;margin:20px 0 32px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hero-btn-outline{background:rgba(255,255,255,.10);border:1.5px solid rgba(255,255,255,.45);color:#fff}
.hero-btn-outline:hover{background:rgba(255,255,255,.18);color:#fff}
.hero-stats{display:flex;gap:38px;flex-wrap:wrap;margin-top:52px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);position:relative;z-index:2}
.hero-stats .hs b{display:block;font-size:27px;font-weight:800;color:#fff;line-height:1.2}
.hero-stats .hs span{font-size:13px;color:#a9c6e6}

/* ===== Section ===== */
.section{padding:76px 0}
.section.alt{background:var(--white);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.eyebrow{
  color:var(--blue-400);font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  font-size:12.5px;margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.section h2{font-size:clamp(24px,2.6vw,34px);color:var(--blue-800);margin-bottom:10px;font-weight:800}
.section>.wrap>p.note{max-width:720px;font-size:15.5px}

/* ===== Grid / Card ===== */
.grid{display:grid;gap:24px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:.25s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--blue-200)}
.card .thumb{
  height:170px;background:linear-gradient(135deg,#e3eefb,#cfdef1);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;
}
.card .body{padding:20px;flex:1;display:flex;flex-direction:column}
.card h3{font-size:17.5px;margin-bottom:8px;color:var(--blue-800)}
.card h3:hover{color:var(--blue-400)}
.card .meta{color:var(--muted);font-size:12.5px;margin-bottom:10px;letter-spacing:.02em}
.card p{color:var(--muted);font-size:14.5px;flex:1}
.more{color:var(--blue-400);font-weight:700;font-size:13.5px;margin-top:12px;display:inline-flex;align-items:center;gap:5px}
.more::after{content:"→";transition:.2s}
.card:hover .more::after{transform:translateX(4px)}
.tag{
  display:inline-block;background:var(--sky);color:var(--blue-500);font-size:12.5px;padding:6px 13px;
  border-radius:22px;margin:2px 6px 2px 0;cursor:pointer;border:1px solid transparent;transition:.18s;
}
.tag:hover{background:var(--sky-2)}
.tag.on{background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff;box-shadow:0 6px 16px rgba(26,115,199,.3)}

/* ===== Cert strip ===== */
.certstrip{
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center;
  padding:24px 0;background:var(--white);border-bottom:1px solid var(--line-2);
}
.certstrip .badge{
  border:1px solid var(--line);border-radius:10px;padding:11px 20px;font-weight:700;
  color:var(--blue-600);font-size:13.5px;background:linear-gradient(180deg,#fff,var(--sky));
}
.certstrip a.badge{text-decoration:none}

/* ===== Detail page ===== */
.detail-hero{
  background:linear-gradient(120deg,var(--blue-800),var(--blue-500));color:#fff;padding:52px 0 46px;position:relative;overflow:hidden;
}
.detail-hero::after{
  content:"";position:absolute;inset:0;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);
  background-size:56px 56px;
}
.detail-hero .wrap{position:relative;z-index:2}
.detail-hero h1{color:#fff;font-size:clamp(26px,3vw,38px);font-weight:800}
.detail-hero p{color:#cfe3fa;margin-top:10px;font-size:16px;max-width:760px}
.breadcrumb{padding:0 0 12px;color:#a9c6e6;font-size:13.5px}
.breadcrumb a{color:#fff}
.detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start}
.detail-grid.wide{grid-template-columns:1fr 1fr}
.lead{font-size:16.5px;color:var(--muted);margin:14px 0}
.kpi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}
.kpi{background:linear-gradient(180deg,var(--white),var(--sky));border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi span{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.kpi b{font-size:16px;color:var(--blue-700)}
.spec-table{width:100%;border-collapse:collapse;margin:18px 0;border-radius:10px;overflow:hidden}
.spec-table td{border:1px solid var(--line);padding:11px 14px;font-size:14px}
.spec-table td:first-child{background:var(--sky);font-weight:600;width:34%;color:var(--blue-700)}
.spec-table td.spec-full{background:#fff;font-weight:400;color:var(--ink);width:auto}

/* ===== Gallery / Media ===== */
.ph{height:186px;background:linear-gradient(135deg,#eaf2fb,#dbe8f6);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.card:hover .ph img{transform:scale(1.05)}
.ph .thumb{width:100%;height:100%}
.gal-main{height:340px;background:var(--sky);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;align-items:center;justify-content:center}
.gal-main img{width:100%;height:100%;object-fit:cover}
.gal-thumbs{display:flex;gap:9px;margin-top:11px;flex-wrap:wrap}
.gth{width:78px;height:60px;border:1px solid var(--line);border-radius:9px;overflow:hidden;cursor:pointer;opacity:.72;flex:0 0 auto;transition:.2s}
.gth:hover{opacity:1}
.gth.on{opacity:1;border:2px solid var(--gold)}
.gth img{width:100%;height:100%;object-fit:cover}
.vwrap{position:relative;width:100%;padding-top:56.25%;background:#031c36}
.vwrap .vf,.vwrap video,.vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vwrap video{object-fit:cover}
.video-card{margin-bottom:24px}

/* ===== Rich text ===== */
.rich{margin-top:28px;font-size:15.5px}
.rich h2{font-size:21px;margin:26px 0 12px;color:var(--blue-800)}
.rich h3{font-size:17.5px;margin:20px 0 9px;color:var(--blue-700)}
.rich p{margin-bottom:13px}
.rich ul,.rich ol{margin:0 0 16px 24px}
.rich li{margin-bottom:6px}
.rich img{max-width:100%;border-radius:10px;margin:12px 0}
.rich blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid var(--gold);background:#fff8ec;border-radius:0 10px 10px 0}
.rich table{width:100%;border-collapse:collapse;margin:14px 0}
.rich td,.rich th{border:1px solid var(--line);padding:10px 13px;font-size:14px}
.rich th{background:var(--sky);color:var(--blue-700)}

/* ===== FAQ ===== */
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-item summary{padding:16px 20px;cursor:pointer;font-weight:700;color:var(--blue-800);font-size:16px;list-style:none;display:flex;align-items:center;gap:10px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:"＋";color:var(--blue-400);font-weight:800}
.faq-item[open] summary::before{content:"－"}
.faq-item summary:hover{background:var(--sky)}
.faq-a{padding:0 20px 18px}

/* ===== Forms ===== */
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;margin-bottom:7px;font-size:14px;color:var(--blue-800)}
.field input,.field select,.field textarea{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;
  font-family:inherit;background:var(--white);transition:.18s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-300);box-shadow:0 0 0 3px rgba(43,143,224,.16)}
.field textarea{min-height:120px}
.note{font-size:13.5px;color:var(--muted)}

/* ===== Pager（前后台共用） ===== */
.pager{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between;
  margin-top:26px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:12px;
}
.pager .pg-info{font-size:13.5px;color:var(--muted)}
.pager .pg-size{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}
.pager .pg-size select{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}
.pager .pg-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pg-btn{
  min-width:36px;height:34px;padding:0 11px;border:1px solid var(--line);background:#fff;border-radius:9px;
  font-size:13.5px;color:var(--blue-600);cursor:pointer;transition:.18s;font-weight:600;
}
.pg-btn:hover{background:var(--sky);border-color:var(--blue-200)}
.pg-btn.cur{background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff;border-color:transparent}
.pg-btn[disabled]{opacity:.42;cursor:not-allowed}
.pg-ellipsis{color:var(--muted);padding:0 2px}

/* ===== 批量工具条 ===== */
.bulkbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:11px 14px;
  background:var(--sky);border:1px solid var(--sky-2);border-radius:12px;
}
.bulkbar .cnt{font-size:13.5px;color:var(--blue-700);font-weight:600}
.bulkbar select,.bulkbar input[type=text]{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:#fff}
input[type=checkbox].ck{width:16px;height:16px;cursor:pointer;accent-color:var(--blue-400)}

/* ===== Admin ===== */
.admin-body{background:#eef3f9}
.login-box{
  max-width:400px;margin:110px auto;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:38px;box-shadow:var(--shadow-lg);
}
.login-box h2{margin-bottom:20px;text-align:center;color:var(--blue-800)}
.admin-layout{display:flex;min-height:100vh}
/* v40.1：侧边栏 = 固定视口高 + 菜单区独立滚动 + 退出按钮常驻底部，
   修复「菜单底部几项滚不到 / 看不到」的问题 */
.sidebar{width:232px;background:linear-gradient(180deg,var(--blue-900),var(--blue-700));color:#fff;padding:0;flex:0 0 auto;position:sticky;top:0;height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}
.side-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
.side-scroll::-webkit-scrollbar{width:8px}
.side-scroll::-webkit-scrollbar-track{background:transparent}
.side-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:8px}
.side-scroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
.sidebar .brand{
  padding:20px;font-weight:800;font-size:17px;border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:8px;display:flex;align-items:center;gap:9px;line-height:1.35;
}
.sidebar .brand .logo-mark{width:28px;height:28px;font-size:14px}
.sidebar a{
  display:block;color:#bfd8f2;padding:11px 20px;font-size:14px;border-left:3px solid transparent;transition:.18s;
}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.11);color:#fff;border-left-color:var(--gold)}
.admin-main{flex:1;padding:26px 32px;overflow-x:hidden}
.admin-main h2{margin-bottom:18px;color:var(--blue-800)}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.stat{
  background:linear-gradient(160deg,#fff,var(--sky));border:1px solid var(--line);border-radius:14px;
  padding:18px;box-shadow:var(--shadow-sm);
}
.stat .n{font-size:27px;font-weight:800;color:var(--blue-600)}
.stat .t{color:var(--muted);font-size:13px}
.table-admin{width:100%;background:#fff;border-collapse:collapse;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.table-admin th,.table-admin td{border:1px solid var(--line-2);padding:11px 13px;font-size:13.5px;text-align:left}
.table-admin th{background:var(--sky);color:var(--blue-700);font-weight:700;white-space:nowrap}
.table-admin tr:hover td{background:#fafcfe}
.toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.pill{display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600}
.pill.new{background:#e5f1ff;color:#1c6fd6}
.pill.doing{background:#fff2dc;color:#c07a12}
.pill.done{background:#e3f7ec;color:var(--ok)}
.pill.ok{background:#e3f7ec;color:var(--ok)}
.ops{white-space:nowrap}
.ops .btn{margin-right:5px}

/* ===== Modal ===== */
.modal-mask{position:fixed;inset:0;background:rgba(4,24,47,.62);display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(3px)}
.modal{
  background:#fff;border-radius:18px;padding:28px;width:560px;max-width:94vw;max-height:88vh;overflow:auto;
  box-shadow:var(--shadow-lg);
}
.modal.wide{width:900px}
.modal h3{margin-bottom:16px;color:var(--blue-800);font-size:19px}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.modal .field label{font-size:13px}

/* ===== Rich editor / upload ===== */
.rte-bar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--sky);padding:7px}
.rte-btn{background:#fff;border:1px solid var(--line);border-radius:7px;min-width:32px;height:30px;font-size:12.5px;cursor:pointer;color:var(--blue-600);line-height:1}
.rte-btn:hover{background:var(--sky-2)}
.rte-btn.on{background:var(--blue-500);color:#fff}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 5px}
.rte-tip{font-size:11.5px;color:var(--muted)}
.rte-box{border:1px solid var(--line);border-radius:0 0 10px 10px;padding:15px;background:#fff;outline:none}
.rte-box h2{font-size:19px;margin:14px 0 8px}
.rte-box h3{font-size:16px;margin:12px 0 6px}
.rte-box p{margin:0 0 10px}
.rte-box ul,.rte-box ol{margin:0 0 10px 22px}
.rte-box blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid var(--gold);background:#fff8ec}
.rte-box img{max-width:100%;border-radius:8px;margin:6px 0}
.rte-src{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;font-family:Consolas,Monaco,monospace;font-size:12.5px}
.rte-status{font-size:12px;color:var(--ok);margin-top:6px;min-height:16px}
.rte-host{margin-bottom:4px}
.img-row{display:flex;gap:8px}
.img-row input{flex:1}
.img-prev{margin-top:9px}
.img-prev img{max-height:150px;border-radius:9px;border:1px solid var(--line)}
.img-prev video{width:100%;max-height:210px;border-radius:9px}
.imgs-box{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:9px;min-height:56px;padding:9px;border:1px dashed var(--line);border-radius:11px;background:#fbfdff;align-items:center}
.img-thumb{position:relative;width:86px;height:66px}
.img-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.img-thumb .thumb{width:100%;height:100%;font-size:11px}
.img-thumb .del{position:absolute;top:-7px;right:-7px;width:21px;height:21px;line-height:19px;text-align:center;background:#c0392b;color:#fff;border-radius:50%;cursor:pointer;font-size:13px}
.row-btns{display:flex;gap:8px;flex-wrap:wrap}
.lang-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:12px}
.ltab{padding:7px 13px;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;font-size:13px;cursor:pointer;background:var(--sky);color:var(--muted)}
.ltab.on{background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff;border-color:transparent}
.ckb-row{display:flex;flex-wrap:wrap;gap:10px}
.ckb{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:14px}

/* ===== Footer ===== */
.site-footer{
  background:linear-gradient(180deg,var(--blue-900),var(--blue-800));color:#a9c6e6;padding:52px 0 30px;font-size:14.5px;
  position:relative;
}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--blue-300),var(--gold))}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:26px}
.site-footer h4{color:#fff;margin-bottom:14px;font-size:15.5px}
.site-footer p{color:#a9c6e6}
.site-footer a{color:#a9c6e6}
.site-footer a:hover{color:#fff}
.site-footer .cols>div>p{line-height:1.9}

/* ============================================================
   主题配色（后台「模板管理」切换 body[data-theme] 即生效）
   ============================================================ */
body[data-theme="dark"]{
  --blue-900:#05080d; --blue-800:#0a1017; --blue-700:#101a24;
  --blue-600:#1f7fd6; --blue-500:#3d97e4; --blue-400:#57a9ee; --blue-300:#7bbcf3;
  --sky:#141d27; --sky-2:#1c2733;
  --bg:#080c11; --white:#0d141c; --ink:#e8eff7; --muted:#9fb2c6;
  --line:#1f2b37; --line-2:#182230;
}
body[data-theme="dark"] .card .thumb{background:linear-gradient(135deg,#16212c,#1f2f3d);color:#7d93a8}
body[data-theme="dark"] .hamburger,.site-header{background:rgba(5,8,13,.94)}
body[data-theme="light"]{
  --bg:#fafdff; --white:#ffffff; --sky:#f2f8fd; --sky-2:#e8f1fa;
  --ink:#12202e; --muted:#5b6f84; --line:#e0ebf6; --line-2:#eef5fb;
}
body[data-theme="gold"] .hero{background:linear-gradient(120deg,#04203a 0%,#054277 52%,#c2571a 100%)}
body[data-theme="gold"] .logo span{color:#ff8a45}
body[data-theme="gold"] .eyebrow{color:#ff8a45}
body[data-theme="gold"] .btn.accent{background:linear-gradient(135deg,#f05e12,#ff9a55)}

/* ============================================================
   Hero 布局变体（后台可切换）
   ============================================================ */
.hero-inner{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
.hero-visual{display:none}
.hv-card{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px;
  backdrop-filter:blur(6px);box-shadow:var(--shadow-lg);
}
.hv-card .thumb{border-radius:12px;height:220px;background:linear-gradient(135deg,#123a5f,#1f5f92);color:#a9c6e6}
.hv-body{padding:13px 8px 3px}
.hv-body b{display:block;color:#fff;font-size:16.5px}
.hv-body span{display:block;color:#a9c6e6;font-size:13px;margin-top:2px}
body[data-hero="b"] .hero-inner{grid-template-columns:1.08fr .92fr}
body[data-hero="b"] .hero-visual{display:block}
body[data-hero="c"] .hero-copy{text-align:center}
body[data-hero="c"] .hero-copy h1,body[data-hero="c"] .hero-copy p{margin-left:auto;margin-right:auto}
body[data-hero="c"] .hero-copy .cta-row{justify-content:center}
body[data-hero="c"] .hero-copy .eyebrow{justify-content:center}

/* ============================================================
   列表卡片样式变体
   ============================================================ */
body[data-list="b"] .card{flex-direction:row}
body[data-list="b"] .card .ph{flex:0 0 38%;width:38%;height:auto;min-height:152px}
body[data-list="b"] .card .body{padding:18px 18px}
body[data-list="c"] .card{position:relative;min-height:300px;justify-content:flex-end}
body[data-list="c"] .card .ph{position:absolute;inset:0;height:100%;width:100%;z-index:0}
body[data-list="c"] .card .body{
  position:relative;z-index:1;width:100%;
  background:linear-gradient(to top,rgba(4,24,47,.94) 30%,rgba(4,24,47,.55) 70%,transparent);
  color:#dce9f6;padding-top:34px;
}
body[data-list="c"] .card .body h3{color:#fff}
body[data-list="c"] .card .body p{color:#bcd4ea}
body[data-list="c"] .card .body .meta{color:#8fb2d6}
body[data-list="c"] .card .body .more{color:#fff}

/* ============================================================
   导航样式变体
   ============================================================ */
body[data-nav="b"] .site-header{background:#fff;border-bottom:1px solid var(--line)}
body[data-nav="b"] .logo{color:var(--blue-800)}
body[data-nav="b"] .nav a{color:#33475c}
body[data-nav="b"] .nav a:hover{background:var(--sky);color:var(--blue-500)}
body[data-nav="b"] .nav a.active{background:var(--sky);color:var(--blue-500)}
body[data-nav="b"] .langsel{background:var(--sky);color:var(--blue-700);border-color:var(--line)}
body[data-nav="b"] .hamburger{background:var(--sky);border-color:var(--line)}
body[data-nav="b"] .hamburger i{background:var(--blue-700)}

/* ============================================================
   首页新区块
   ============================================================ */
.why-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px 20px;transition:.25s;
}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--blue-200)}
.why-ic{
  display:grid;place-items:center;width:52px;height:52px;border-radius:14px;margin-bottom:15px;font-size:24px;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-300));box-shadow:0 8px 18px rgba(26,115,199,.28);
}
.why-card b{display:block;font-size:16.5px;color:var(--blue-800);margin-bottom:6px}
.why-card p{font-size:14px;color:var(--muted)}
.cta-band{
  background:linear-gradient(120deg,var(--blue-800),var(--blue-500));color:#fff;padding:78px 0;text-align:center;
  position:relative;overflow:hidden;
}
.cta-band::after{
  content:"";position:absolute;inset:0;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);
  background-size:56px 56px;
}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{color:#fff;font-size:clamp(24px,2.8vw,34px);margin-bottom:12px}
.cta-band p{color:#cfe3fa;max-width:660px;margin:0 auto 28px;font-size:16.5px}
.cta-band .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   后台：侧边栏改良 / 顶栏 / 模板卡片 / 表单分区
   ============================================================ */
.side-user{display:flex;align-items:center;gap:10px;padding:12px 20px 14px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:8px}
.su-av{width:32px;height:32px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:14px;background:linear-gradient(135deg,var(--blue-300),var(--blue-500))}
.su-txt{min-width:0}
.su-txt b{display:block;font-size:13.5px;color:#fff;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.su-txt i{font-style:normal;font-size:11.5px;color:#8fb2d6}
.side-search{padding:0 14px 12px}
.side-search input{width:100%;padding:8px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:12.5px}
.side-search input::placeholder{color:#7fa0c4}
.side-group{
  display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;
  padding:16px 20px 9px;margin-top:4px;position:relative;
  color:#dce9f7;font-size:13.5px;font-weight:700;letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.sidebar .side-group::after{
  content:"";position:absolute;left:0;top:12px;bottom:9px;width:3px;
  border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--gold),rgba(255,106,26,.15));
}
.side-group .arrow{font-size:10px;color:#7fa0c4;transition:.2s}
.side-group.closed .arrow{transform:rotate(-90deg)}
.side-items a{padding-left:26px}
.side-logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;color:#ffb4b4;flex:0 0 auto}
.mbadge{float:right;background:rgba(255,255,255,.14);color:#cfe0f0;border-radius:20px;font-size:11px;padding:1px 7px;font-weight:600}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.tb-left{font-size:14px;color:var(--muted)}
.tb-left b{color:var(--blue-700)}
.tb-right{display:flex;gap:8px;flex-wrap:wrap}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.tpl-card{background:var(--white);border:2px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:.2s}
.tpl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tpl-card.on{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(43,143,224,.18)}
.tpl-swatch{height:80px}
.tpl-mock{height:80px;position:relative;background:linear-gradient(120deg,var(--sky),var(--sky-2))}
.tpl-mock::before{content:"";position:absolute;left:8%;right:8%;top:26%;height:9px;border-radius:4px;background:var(--blue-400);opacity:.5}
.tpl-mock::after{content:"";position:absolute;left:8%;width:42%;top:48%;height:6px;border-radius:4px;background:var(--blue-300);opacity:.4}
.tpl-mock.hero-b::after{width:34%}
.tpl-mock.hero-c::before{left:22%;right:22%}
.tpl-mock.hero-c::after{left:34%;width:32%}
.tpl-mock.list-b::before{left:6%;width:36%;top:18%;height:58%}
.tpl-mock.list-b::after{left:48%;width:40%;top:26%;height:7px}
.tpl-mock.list-c::before{left:6%;right:6%;top:12%;height:64%}
.tpl-mock.list-c::after{left:6%;right:6%;top:56%;height:14px;opacity:.75}
.tpl-mock.nav-a::before{left:6%;right:6%;top:32%;height:8px}
.tpl-mock.nav-b::before{left:6%;right:6%;top:16%;height:5px}
.tpl-mock.nav-b::after{left:6%;right:6%;top:44%;height:8px}
.tpl-body{padding:11px 13px}
.tpl-body b{display:block;font-size:14px;color:var(--blue-800)}
.tpl-body span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.frm-section{margin:22px 0 12px;padding-bottom:8px;border-bottom:1px dashed var(--line);font-weight:700;color:var(--blue-700);font-size:14px}
.ro-box{padding:10px 12px;background:var(--sky);border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:14px}

/* ============================================================
   顶栏搜索框
   ============================================================ */
.hd-search{display:flex;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:9px;overflow:hidden;flex:0 0 auto}
.hd-search input{width:156px;padding:8px 11px;background:transparent;border:0;color:#fff;font-size:13px;outline:none;font-family:inherit}
.hd-search input::placeholder{color:#9fbedd}
.hd-search button{background:transparent;border:0;color:#cfe1f5;padding:8px 11px;cursor:pointer;font-size:14px}
.hd-search button:hover{color:#fff}
body[data-nav="b"] .hd-search{background:var(--sky);border-color:var(--line)}
body[data-nav="b"] .hd-search input{color:var(--ink)}
body[data-nav="b"] .hd-search input::placeholder{color:#8ba3ba}
body[data-nav="b"] .hd-search button{color:var(--blue-500)}
.search-big{display:flex;gap:10px;max-width:580px;margin-top:18px}
.search-big input{flex:1;padding:15px 17px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:15.5px;outline:none;font-family:inherit}
.search-big input::placeholder{color:#a9c6e6}
.search-big input:focus{border-color:var(--gold);background:rgba(255,255,255,.18)}
.search-big button{padding:15px 24px;border-radius:12px;border:0;background:var(--gold);color:#3a2406;font-weight:800;cursor:pointer;font-size:16px}
.search-big button:hover{filter:brightness(1.06)}

/* ============================================================
   导航下拉菜单
   ============================================================ */
.nav-item{position:relative;display:flex;align-items:center}
.nav-dd{
  display:none;position:absolute;top:100%;left:0;min-width:220px;z-index:90;
  background:var(--white);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow-lg);
}
.nav-item:hover .nav-dd,.nav-dd:hover{display:block}
.nav-dd a{display:block;color:var(--ink);padding:9px 12px;border-radius:8px;font-size:13.5px;white-space:nowrap}
.nav-dd a:hover{background:var(--sky);color:var(--blue-500)}
.nav-dd .dd-more{color:var(--blue-400);font-weight:700;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}
.mask-dd{padding:2px 0 8px 20px}
.mask-dd a{display:block;color:#a9c6e6;font-size:14px;font-weight:500;padding:6px 4px}
.mask-dd a:hover{color:#fff}

/* ============================================================
   栏目 Banner（后台可为每个栏目单独配图）
   ============================================================ */
.detail-hero.has-banner{padding:98px 0 86px;box-shadow:inset 0 -70px 90px -40px rgba(0,0,0,.5)}
.detail-hero.has-banner h1,.detail-hero.has-banner p,.detail-hero.has-banner .breadcrumb{text-shadow:0 3px 14px rgba(0,0,0,.5)}

/* ============================================================
   首页观感强化
   ============================================================ */
.hero-copy h1{letter-spacing:-.022em}
.hero-copy p{font-size:clamp(15px,1.6vw,19px);line-height:1.75}
.certstrip .badge{display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm)}
.certstrip .badge::before{content:"✔";color:var(--ok);font-weight:800}
.section h2+.note{font-size:16px;color:var(--muted)}
.grid.c3 .card .body h3{font-size:18px}

/* ===== Responsive ===== */
@media(max-width:1180px){ .nav a{padding:9px 10px;font-size:14px} }
@media(max-width:960px){
  .grid.c3,.grid.c4{grid-template-columns:repeat(2,1fr)}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .detail-grid,.detail-grid.wide{grid-template-columns:1fr}
  .gal-main{height:250px}
  .stat-cards{grid-template-columns:repeat(2,1fr)}
  .sidebar{width:190px}
  .admin-main{padding:22px 18px}
}
@media(max-width:860px){
  .hamburger{display:block}
  .nav{display:none}
  .hamburger-wrap{display:block}
  .hero{padding:76px 0 64px}
  .hero-stats{gap:26px;margin-top:38px}
  .section{padding:56px 0}
  .login-box{margin:60px auto}
  .admin-layout{flex-direction:column}
  .sidebar{width:100%;max-height:none;height:auto;position:static;display:flex;flex-wrap:wrap;gap:0;overflow:visible}
  .side-scroll{flex:none;overflow:visible;padding-bottom:0}
  .sidebar .brand{width:100%}
  .sidebar a{padding:10px 14px;font-size:13px}
  .side-group{width:100%}
}
@media(max-width:620px){
  .grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}
  .hero-stats .hs b{font-size:22px}
  .kpi-row{grid-template-columns:1fr}
  .gal-main{height:200px}
  .stat-cards{grid-template-columns:repeat(2,1fr)}
  .certstrip{gap:10px}
  .certstrip .badge{padding:9px 14px;font-size:12.5px}
  .pager{justify-content:center}
}

/* ===== 新区块的移动端适配 ===== */
@media(max-width:860px){
  body[data-hero="b"] .hero-inner{grid-template-columns:1fr}
  body[data-hero="b"] .hero-visual{display:none}
  body[data-list="b"] .card{flex-direction:column}
  body[data-list="b"] .card .ph{width:100%;flex:none;height:172px}
  .cta-band{padding:54px 0}
  .hv-card .thumb{height:180px}
}
@media(max-width:620px){
  body[data-list="c"] .card{min-height:250px}
  .tpl-grid{grid-template-columns:1fr}
  .why-card{padding:20px 16px}
}
@media(max-width:960px){ .hd-search input{width:120px} }
@media(max-width:620px){
  .hd-search input{width:96px;font-size:12.5px}
  .search-big{flex-direction:column}
  .search-big button{width:100%}
}

/* ===== 模板库 / CSS 编辑器 / 待校对提示 ===== */
.tpl-grid-lg{grid-template-columns:repeat(auto-fill,minmax(242px,1fr))}
.tpl-grid-lg .tpl-swatch{height:88px}
.tpl-grid-lg .tpl-body b{font-size:14.5px}
.css-editor{
  width:100%;min-height:260px;font-family:Consolas,Monaco,"Courier New",monospace;
  font-size:12.5px;line-height:1.65;padding:13px;border:1px solid var(--line);
  border-radius:10px;background:#0e1722;color:#d7e5f3;outline:none;resize:vertical;
}
.css-editor:focus{border-color:var(--blue-300);box-shadow:0 0 0 3px rgba(43,143,224,.18)}
.mt-note{background:#fff7e8;border:1px solid #f0d9ad;color:#8a6320;padding:9px 13px;border-radius:9px;font-size:13px;margin-bottom:12px}

/* steel / teal 主题（模板库使用） */
body[data-theme="steel"]{
  --blue-900:#1b262f; --blue-800:#22303b; --blue-700:#2a3a47;
  --blue-600:#3d566b; --blue-500:#5b8db8; --blue-400:#7aa7cc; --blue-300:#a3c4de;
  --sky:#eef2f6; --sky-2:#e2e9f0; --bg:#f2f5f8;
}
body[data-theme="steel"] .hero{background:linear-gradient(120deg,#1b262f,#2a3a47 55%,#5b8db8)}
body[data-theme="teal"]{
  --blue-900:#062b34; --blue-800:#0a3a46; --blue-700:#0f4d5c;
  --blue-600:#146e82; --blue-500:#1e9db4; --blue-400:#35b5c9; --blue-300:#6fd0de;
  --sky:#e9f6f8; --sky-2:#daf0f3; --bg:#f4fafb;
}
body[data-theme="teal"] .hero{background:linear-gradient(120deg,#062b34,#0f4d5c 55%,#1e9db4)}

/* ===== 弹窗全屏 / 编辑器全屏 / 翻译进度 / 栏目关闭 ===== */
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.modal-head h3{margin:0;color:var(--blue-800);font-size:19px}
.modal-full-btn{background:#fff;border:1px solid var(--line);border-radius:9px;width:34px;height:31px;cursor:pointer;font-size:15px;color:var(--blue-600);flex:0 0 auto}
.modal-full-btn:hover{background:var(--sky)}
.modal-full-btn.on{background:var(--blue-500);color:#fff;border-color:transparent}
.modal.full{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;padding:24px}
.modal.full .rte-box{min-height:calc(100vh - 320px)}
.rte-full{position:fixed;inset:0;z-index:1500;background:#fff;padding:20px;overflow:auto}
.rte-full .rte-bar{position:sticky;top:0;z-index:2}
.rte-full .rte-box{min-height:calc(100vh - 150px)}
.ltab-btn{margin-left:auto;background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff;border:0;border-radius:8px;padding:6px 12px;font-size:12.5px;cursor:pointer;font-weight:600;font-family:inherit}
.ltab-btn:hover{filter:brightness(1.06)}
.ltab-btn:disabled{opacity:.62;cursor:default}
.tr-prog{padding:11px 14px;background:var(--sky);border:1px solid var(--line);border-radius:9px;font-size:13.5px;margin-top:12px;color:var(--blue-700)}
.section-closed{background:#fff6f6;border-bottom:1px solid #f2d4d4;padding:20px 0;color:#a33}
.section-closed b{display:block;font-size:16px;margin-bottom:4px}
.section-closed p{margin-bottom:12px;font-size:14px}

/* ============================================================
   v9 视觉强化：更大气的前台（层级 / 留白 / 动效）
   ============================================================ */
.modal-close-btn{
  background:#fff;border:1px solid var(--line);border-radius:9px;width:34px;height:31px;
  cursor:pointer;font-size:19px;line-height:1;color:#7d8fa3;flex:0 0 auto;font-family:inherit;
}
.modal-close-btn:hover{background:#fdecec;border-color:#f2c4c4;color:#c0392b}

.hero{padding:128px 0 100px}
.hero h1{font-size:clamp(32px,4.8vw,58px);text-shadow:0 4px 30px rgba(0,0,0,.25)}
.hero::before{
  background:radial-gradient(1000px 480px at 80% 8%,rgba(43,143,224,.45),transparent 62%),
             radial-gradient(760px 420px at 6% 90%,rgba(255,106,26,.20),transparent 62%),
             radial-gradient(420px 260px at 42% 42%,rgba(255,255,255,.10),transparent 70%);
}
.hero-stats .hs{position:relative;padding-right:42px}
.hero-stats .hs:not(:last-child)::after{
  content:"";position:absolute;right:20px;top:8px;bottom:4px;width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.30),transparent);
}
.hero-stats .hs b{
  font-size:33px;background:linear-gradient(180deg,#ffffff 20%,#b7d9ff 90%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.section{padding:96px 0}
.section h2{font-size:clamp(26px,2.9vw,38px);letter-spacing:-.02em}
.eyebrow{font-size:13px;letter-spacing:.18em}
.card{border-radius:16px}
.card .body{padding:22px}
.card h3{font-size:18.5px}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:0;border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,var(--blue-400),var(--gold));opacity:0;transition:.28s;pointer-events:none;
}
.card{position:relative}
.card:hover::after{top:0;height:4px;opacity:1}
.cta-band{padding:96px 0}
.cta-band::before{
  content:"";position:absolute;width:560px;height:560px;border-radius:50%;top:-200px;right:-140px;
  background:radial-gradient(circle,rgba(255,106,26,.28),transparent 66%);pointer-events:none;
}
.site-footer{padding:64px 0 34px}
.site-footer .cols{gap:34px}
.site-footer h4{position:relative;padding-bottom:10px;margin-bottom:16px}
.site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;border-radius:2px;background:var(--gold)}

/* 滚动浮现动效（front.js 自动添加 .reveal） */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.7,.35,1),transform .7s cubic-bezier(.22,.7,.35,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media(max-width:860px){
  .hero{padding:84px 0 66px}
  .section{padding:60px 0}
  .hero-stats .hs{padding-right:26px}
  .hero-stats .hs:not(:last-child)::after{right:12px}
  .cta-band{padding:60px 0}
}

/* ===== v11：仪表盘可点击卡片 / 文字超链接 / 页面样式编辑 ===== */
.stat.lk{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.stat.lk:hover{transform:translateY(-2px);border-color:var(--blue-600);box-shadow:0 8px 20px rgba(18,85,143,.14)}
.stat.lk:hover .t{color:var(--blue-600)}
#main .note a{color:var(--blue-600);font-weight:600;text-decoration:none;border-bottom:1px dashed rgba(18,85,143,.45);cursor:pointer}
#main .note a:hover{color:var(--blue-700);border-bottom-style:solid}
.q-st-sel{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12.5px;color:var(--ink,#333);cursor:pointer}
.q-st-sel:hover{border-color:var(--blue-600)}

/* ============================================================
   v13 · 集团尊享模板（对标高端外贸集团站的大气感）
   主题：帝王黑金（imperial）· Hero：G 全屏影院 · 列表：D 画廊大图 · 导航：C 透明浮层
   ============================================================ */

/* ---- 帝王黑金主题 ---- */
body[data-theme="imperial"]{
  --blue-900:#07090d; --blue-800:#0b0f16; --blue-700:#12181f;
  --blue-600:#c9a35c; --blue-500:#d9b878; --blue-400:#e3c27e; --blue-300:#edd49a;
  --sky:#12161e; --sky-2:#1a2029;
  --bg:#090c11; --white:#0e131b; --ink:#ece7db; --muted:#a89d87;
  --line:#262e3b; --line-2:#1a212c;
  --gold:#c9a35c;
}
body[data-theme="imperial"] .hero{
  background:linear-gradient(125deg,#07090d 0%,#0e1520 45%,#241c0e 78%,#43331a 100%);
}
body[data-theme="imperial"] .hero::before{
  background:radial-gradient(1000px 480px at 80% 10%,rgba(201,163,92,.22),transparent 62%),
             radial-gradient(760px 380px at 6% 90%,rgba(201,163,92,.10),transparent 60%);
}
body[data-theme="imperial"] .logo span{color:#e3c27e}
body[data-theme="imperial"] .logo-mark{background:linear-gradient(135deg,#c9a35c,#7a5f2c);box-shadow:0 6px 16px rgba(201,163,92,.35)}
body[data-theme="imperial"] .eyebrow{color:#d9b878}
body[data-theme="imperial"] .eyebrow::before{background:#c9a35c}
body[data-theme="imperial"] .btn.accent{background:linear-gradient(135deg,#a87c33,#e3c27e);color:#161006}
body[data-theme="imperial"] .card .thumb{background:linear-gradient(135deg,#161c26,#2a2f1a);color:#a89d87}
body[data-theme="imperial"] .site-footer{background:linear-gradient(180deg,#07090d,#0b0f16)}
body[data-theme="imperial"] .site-footer::before{background:linear-gradient(90deg,#c9a35c,#5a4a28,#c9a35c)}

/* —— 主题 · 绛红（中国红 + 暖金，浅色底）—— */
body[data-theme="crimson"]{
  --blue-900:#3d0a0f; --blue-800:#5c1016; --blue-700:#7c1a22;
  --blue-600:#9e222b; --blue-500:#b93540; --blue-400:#d05a63; --blue-300:#e88f96;
  --sky:#fbeeed; --sky-2:#f7dedf; --bg:#fdf7f7; --gold:#c0392b;
}
body[data-theme="crimson"] .hero{background:linear-gradient(120deg,#3d0a0f,#7c1a22 55%,#c0392b)}
body[data-theme="crimson"] .logo span{color:#e88f96}
body[data-theme="crimson"] .eyebrow{color:#b93540}
body[data-theme="crimson"] .eyebrow::before{background:#c0392b}

/* —— 主题 · 熔岩橙（炭黑底 + 烈焰橙，深色系）—— */
body[data-theme="ember"]{
  --blue-900:#120d09; --blue-800:#1c1410; --blue-700:#26190f;
  --blue-600:#e8590c; --blue-500:#f2762e; --blue-400:#f79458; --blue-300:#fbb27f;
  --sky:#1a1511; --sky-2:#241c15;
  --bg:#0d0b09; --white:#141110; --ink:#f3ece5; --muted:#b3a396;
  --line:#2b241e; --line-2:#211a14; --gold:#f2762e;
}
body[data-theme="ember"] .hero{background:linear-gradient(125deg,#120d09 0%,#26190f 45%,#5c2a08 78%,#b8470a 100%)}
body[data-theme="ember"] .logo span{color:#f79458}
body[data-theme="ember"] .eyebrow{color:#f2762e}
body[data-theme="ember"] .eyebrow::before{background:#f2762e}
body[data-theme="ember"] .card .thumb{background:linear-gradient(135deg,#1c1410,#2b1c10);color:#b3a396}
body[data-theme="ember"] .site-footer{background:linear-gradient(180deg,#0d0b09,#141110)}
body[data-theme="ember"] .site-footer::before{background:linear-gradient(90deg,#e8590c,#7a3405,#e8590c)}

/* —— 主题 · 翡翠绿（深绿 + 琥珀点缀，浅色底）—— */
body[data-theme="forest"]{
  --blue-900:#0c2214; --blue-800:#123620; --blue-700:#1a4a2c;
  --blue-600:#236e40; --blue-500:#2f9155; --blue-400:#57b078; --blue-300:#8ecfa6;
  --sky:#ebf6ef; --sky-2:#daf0e3; --bg:#f5fbf7; --gold:#e8a33d;
}
body[data-theme="forest"] .hero{background:linear-gradient(120deg,#0c2214,#1a4a2c 55%,#2f9155)}
body[data-theme="forest"] .logo span{color:#57b078}
body[data-theme="forest"] .eyebrow{color:#2f9155}
body[data-theme="forest"] .eyebrow::before{background:#e8a33d}

/* —— 主题 · 皇家紫（深紫 + 亮紫点缀，浅色底）—— */
body[data-theme="violet"]{
  --blue-900:#1c0f33; --blue-800:#2a1650; --blue-700:#3a1f6e;
  --blue-600:#4f2f96; --blue-500:#6a47c4; --blue-400:#8f6ed8; --blue-300:#b79be8;
  --sky:#f3effc; --sky-2:#e7e0f8; --bg:#f9f7fd; --gold:#8f6ed8;
}
body[data-theme="violet"] .hero{background:linear-gradient(120deg,#1c0f33,#3a1f6e 55%,#6a47c4)}
body[data-theme="violet"] .logo span{color:#8f6ed8}
body[data-theme="violet"] .eyebrow{color:#6a47c4}
body[data-theme="violet"] .eyebrow::before{background:#8f6ed8}

/* —— 主题 · 海洋青（深海青 + 珊瑚点缀，浅色底）—— */
body[data-theme="ocean"]{
  --blue-900:#04222e; --blue-800:#063345; --blue-700:#084a61;
  --blue-600:#0c688a; --blue-500:#1289ad; --blue-400:#35b0c9; --blue-300:#7fd0e0;
  --sky:#eaf6f9; --sky-2:#d9eef4; --bg:#f4fafc; --gold:#ef7d54;
}
body[data-theme="ocean"] .hero{background:linear-gradient(120deg,#04222e,#084a61 55%,#1289ad)}
body[data-theme="ocean"] .logo span{color:#35b0c9}
body[data-theme="ocean"] .eyebrow{color:#1289ad}
body[data-theme="ocean"] .eyebrow::before{background:#ef7d54}

/* —— 主题 · 落日红橙（暖调红橙渐变，浅暖底）—— */
body[data-theme="sunset"]{
  --blue-900:#2b0f0a; --blue-800:#4a1a10; --blue-700:#6b2816;
  --blue-600:#9c3d1c; --blue-500:#c85a24; --blue-400:#e8813f; --blue-300:#f5ab74;
  --sky:#fdefe8; --sky-2:#fbe3d5; --bg:#fdf8f4; --gold:#e86a2a;
}
body[data-theme="sunset"] .hero{background:linear-gradient(120deg,#2b0f0a,#6b2816 50%,#c85a24)}
body[data-theme="sunset"] .logo span{color:#e8813f}
body[data-theme="sunset"] .eyebrow{color:#c85a24}
body[data-theme="sunset"] .eyebrow::before{background:#e86a2a}
body[data-theme="imperial"] .section.alt{background:#0e131b}
body[data-theme="imperial"] .tag.on{background:linear-gradient(135deg,#a87c33,#e3c27e);color:#161006;border-color:transparent}
body[data-theme="imperial"] .spec-table th{background:var(--sky)}

/* ---- Hero G · 集团全屏影院大字 ---- */
body[data-hero="g"] .hero{
  min-height:88vh;display:flex;flex-direction:column;justify-content:center;
  background-size:170% 170%;animation:wbGrandShift 22s ease-in-out infinite alternate;
  padding:150px 0 110px;
}
@keyframes wbGrandShift{
  0%{background-position:0% 30%}
  100%{background-position:100% 70%}
}
body[data-hero="g"] .hero-inner{grid-template-columns:1fr}
body[data-hero="g"] .hero-visual{display:none}
body[data-hero="g"] .hero-copy{text-align:center;max-width:980px;margin:0 auto;width:100%}
body[data-hero="g"] .hero-copy h1{font-size:clamp(32px,4.8vw,60px);letter-spacing:.01em;margin:0 auto;max-width:980px}
body[data-hero="g"] .hero-copy p{margin-left:auto;margin-right:auto;max-width:760px;font-size:clamp(15px,1.6vw,19px)}
body[data-hero="g"] .hero-copy .cta-row{justify-content:center;margin-top:36px}
body[data-hero="g"] .hero-copy .cta-row .btn{padding:15px 34px;font-size:15.5px}
body[data-hero="g"] .hero-copy .eyebrow{justify-content:center;letter-spacing:.5em;text-transform:uppercase;font-size:12.5px}
body[data-hero="g"] .hero-copy .eyebrow::before{display:none}
body[data-hero="g"] .hero-stats{
  max-width:900px;margin:44px auto 0;display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;text-align:center;border-top:1px solid rgba(255,255,255,.38);
  border-bottom:1px solid rgba(255,255,255,.20);padding:24px 0 8px;
}
body[data-theme="imperial"][data-hero="g"] .hero-stats{
  border-top-color:rgba(201,163,92,.45);border-bottom-color:rgba(201,163,92,.25);
}
body[data-hero="g"] .hero-stats .hs{border-left:1px solid rgba(255,255,255,.12);padding:0 8px 16px}
body[data-hero="g"] .hero-stats .hs:first-child{border-left:0}
body[data-hero="g"] .hero-stats .hs b{font-size:clamp(26px,3vw,40px);font-weight:800;color:#fff}
body[data-hero="g"] .hero-stats .hs span{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(236,231,219,.75)}
@media(max-width:760px){
  body[data-hero="g"] .hero-stats{grid-template-columns:repeat(2,1fr);row-gap:8px}
  body[data-hero="g"] .hero-stats .hs:nth-child(3){border-left:0}
}

/* ============================================================
   Hero / Banner 视觉样式 d–l（后台「模板管理」切换；与轮播图可叠加）
   同一套站可自由组合：主页轮播(data-hero=g 隐藏 inner) 或直接落静态 Hero
   ============================================================ */
/* d · 斜切分区：底部斜切，文字压在左侧亮区 */
body[data-hero="d"] .hero{clip-path:polygon(0 0,100% 0,100% 86%,0 100%);padding-bottom:120px}
body[data-hero="d"] .hero-copy h1{max-width:760px}
body[data-hero="d"] .hero-copy .eyebrow{background:rgba(255,255,255,.14);padding:6px 14px;border-radius:999px;display:inline-flex}

/* e · 满幅图覆盖：整屏大图 + 左右分栏，右侧浮动数据卡 */
body[data-hero="e"] .hero{position:relative;min-height:78vh;display:flex;align-items:center}
body[data-hero="e"] .hero-inner{grid-template-columns:1.15fr .85fr;align-items:center}
body[data-hero="e"] .hero-visual{display:block}
body[data-hero="e"] .hv-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
body[data-hero="e"] .hero-stats{position:absolute;left:0;right:0;bottom:26px;max-width:1100px;margin:0 auto;
  background:rgba(4,18,36,.55);backdrop-filter:blur(8px);border-radius:16px;padding:18px 26px}

/* f · 极简细线：居中、超细描边、大量留白 */
body[data-hero="f"] .hero{background:var(--bg);color:var(--ink);padding:120px 0 90px}
body[data-hero="f"] .hero::before,body[data-hero="f"] .hero::after{display:none}
body[data-hero="f"] .hero-inner{grid-template-columns:1fr}
body[data-hero="f"] .hero-copy{text-align:center;max-width:840px;margin:0 auto}
body[data-hero="f"] .hero-copy h1,body[data-hero="f"] .hero-copy p{margin-left:auto;margin-right:auto;color:var(--ink)}
body[data-hero="f"] .hero-copy .eyebrow{justify-content:center;color:var(--muted);letter-spacing:.4em}
body[data-hero="f"] .hero-copy .eyebrow::before{display:none}
body[data-hero="f"] .hero-copy h1{font-weight:800}
body[data-hero="f"] .hero-copy .cta-row{justify-content:center;margin-top:30px}
body[data-hero="f"] .btn.accent{background:var(--blue-600);color:#fff}
body[data-hero="f"] .hero-visual{display:none}
body[data-hero="f"] .hero-stats{border-top:1px solid var(--line);color:var(--muted)}
body[data-hero="f"] .hero-stats .hs b{color:var(--ink)}
body[data-hero="f"] .hero-stats .hs span{color:var(--muted)}

/* h · 影院暗调：深黑渐变 + 暗角，大号居中，强对比 */
body[data-hero="h"] .hero{background:radial-gradient(120% 120% at 50% 0%,#13243a 0%,#070d16 70%);min-height:84vh;display:flex;flex-direction:column;justify-content:center}
body[data-hero="h"] .hero::before{background:radial-gradient(80% 60% at 50% 30%,transparent 40%,rgba(0,0,0,.55));mix-blend-mode:multiply}
body[data-hero="h"] .hero-inner{grid-template-columns:1fr}
body[data-hero="h"] .hero-copy{text-align:center;max-width:900px;margin:0 auto}
body[data-hero="h"] .hero-copy h1,body[data-hero="h"] .hero-copy p{margin-left:auto;margin-right:auto}
body[data-hero="h"] .hero-copy .eyebrow{justify-content:center;color:#7fe0c0;letter-spacing:.3em}
body[data-hero="h"] .hero-copy .cta-row{justify-content:center}
body[data-hero="h"] .hero-visual{display:none}
body[data-hero="h"] .hero-stats{max-width:760px;margin:40px auto 0;border-top:1px solid rgba(255,255,255,.18)}

/* i · 图文左右交错：图在右、文字左，视觉块压住边界 */
body[data-hero="i"] .hero-inner{grid-template-columns:.9fr 1.1fr;align-items:center}
body[data-hero="i"] .hero-visual{display:block;order:2}
body[data-hero="i"] .hero-copy{order:1}
body[data-hero="i"] .hv-card{margin-left:-40px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
body[data-hero="i"] .hero-stats{border-top:1px solid rgba(255,255,255,.18)}

/* j · 编辑式大号：超大标题 + 上规线，报纸头条感 */
body[data-hero="j"] .hero{background:linear-gradient(160deg,#06223f,#0a3a66 60%,#0e4f86);padding:120px 0 96px}
body[data-hero="j"] .hero-inner{grid-template-columns:1fr}
body[data-hero="j"] .hero-copy{max-width:980px}
body[data-hero="j"] .hero-copy .eyebrow{border-top:3px solid var(--gold,#ff6a1a);padding-top:12px;letter-spacing:.3em;text-transform:uppercase;font-size:13px}
body[data-hero="j"] .hero-copy h1{font-size:clamp(36px,5.4vw,72px);line-height:1.05;font-weight:900;letter-spacing:-.01em}
body[data-hero="j"] .hero-copy p{font-size:clamp(16px,1.7vw,20px);max-width:680px;margin-top:22px}
body[data-hero="j"] .hero-visual{display:none}
body[data-hero="j"] .hero-stats{border-top:1px solid rgba(255,255,255,.2)}

/* k · 层叠卡：背后层叠展示卡，前景文字 */
body[data-hero="k"] .hero{position:relative;overflow:hidden}
body[data-hero="k"] .hero-inner{grid-template-columns:1fr 1fr;align-items:center}
body[data-hero="k"] .hero-visual{display:block;position:relative}
body[data-hero="k"] .hv-card{position:relative;z-index:2}
body[data-hero="k"] .hero-visual::before{content:"";position:absolute;right:18px;top:18px;width:84%;height:84%;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:18px;transform:rotate(4deg)}
body[data-hero="k"] .hero-visual::after{content:"";position:absolute;right:34px;top:34px;width:78%;height:78%;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:18px;transform:rotate(-3deg)}

/* l · 渐变流体：明亮双色流体背景 + 深色文字，活力现代 */
body[data-hero="l"] .hero{
  background:
    radial-gradient(60% 80% at 12% 20%,rgba(255,176,64,.55),transparent 60%),
    radial-gradient(55% 75% at 88% 30%,rgba(31,151,212,.55),transparent 60%),
    radial-gradient(70% 90% at 50% 100%,rgba(0,184,148,.5),transparent 60%),
    linear-gradient(135deg,#eaf4ff,#f6fbff);
  color:#0d2438;position:relative;overflow:hidden}
body[data-hero="l"] .hero::before,body[data-hero="l"] .hero::after{display:none}
body[data-hero="l"] .hero-inner{grid-template-columns:1fr}
body[data-hero="l"] .hero-copy{text-align:center;max-width:860px;margin:0 auto}
body[data-hero="l"] .hero-copy h1,body[data-hero="l"] .hero-copy p{margin-left:auto;margin-right:auto;color:#0d2438}
body[data-hero="l"] .hero-copy h1{font-weight:900;font-size:clamp(34px,4.8vw,62px)}
body[data-hero="l"] .hero-copy .eyebrow{justify-content:center;color:#0a6e8c;background:rgba(255,255,255,.6);padding:6px 16px;border-radius:999px;display:inline-flex}
body[data-hero="l"] .hero-copy .cta-row{justify-content:center;margin-top:30px}
body[data-hero="l"] .btn.accent{background:linear-gradient(135deg,#1f97d4,#00b894);color:#fff;border:0}
body[data-hero="l"] .btn.hero-btn-outline{border-color:rgba(13,36,56,.35);color:#0d2438}
body[data-hero="l"] .hero-visual{display:none}
body[data-hero="l"] .hero-stats{color:#0d2438;border-top:1px solid rgba(13,36,56,.18)}
body[data-hero="l"] .hero-stats .hs b{color:#0d2438}
body[data-hero="l"] .hero-stats .hs span{color:#3a5a72}

/* ---- 列表 D · 画廊大图（无边框画廊卡 + 悬停缓放 + 金色扫线） ---- */
body[data-list="d"] .grid{gap:24px}
body[data-list="d"] .card{
  border:0;border-radius:0;box-shadow:0 12px 30px rgba(2,10,20,.10);
  overflow:hidden;
}
body[data-list="d"] .card .ph{height:252px;border-radius:0;overflow:hidden}
body[data-list="d"] .card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1)}
body[data-list="d"] .card:hover .ph img{transform:scale(1.08)}
body[data-list="d"] .card .body{padding:24px 24px 26px;position:relative}
body[data-list="d"] .card .body::before{
  content:"";position:absolute;top:0;left:24px;width:46px;height:3px;
  background:linear-gradient(90deg,var(--acc,var(--blue-600,#2b8fe0)),rgba(43,143,224,.2));
  transition:width .5s cubic-bezier(.2,.6,.2,1);
}
body[data-theme="imperial"][data-list="d"] .card .body::before{background:linear-gradient(90deg,var(--gold),rgba(201,163,92,.25))}
body[data-list="d"] .card:hover .body::before{width:calc(100% - 48px)}
body[data-list="d"] .card .body h3{font-size:18.5px;letter-spacing:.01em}
body[data-list="d"] .card .body .more{letter-spacing:.2em;text-transform:uppercase;font-size:12px}
body[data-list="d"] .card .more::before{content:"+ "}
body[data-list="d"] .card .more::after{content:" +"}
@media(max-width:760px){body[data-list="d"] .card .ph{height:200px}}

/* ---- 导航 C · 高级浮层导航（企业蓝玻璃，v17 重配色） ----
   深蓝渐变玻璃 + 顶部亮蓝细节线 + 下划线滑入；滚动后加深更沉稳
   v21c：顶栏（联系方式/自媒体）并入浮层整体，滚动后顶栏上滑收起、导航吸顶 */
body[data-nav="c"]{padding-top:116px}
body[data-nav="c"] .topbar{
  position:fixed;top:0;left:0;right:0;z-index:81;
  border-bottom:0;background:linear-gradient(90deg,rgba(3,24,48,.96),rgba(5,38,74,.94) 55%,rgba(8,52,100,.92));
  transform:translateY(0);transition:transform .35s ease;
}
body[data-nav="c"] .topbar.scrolled{transform:translateY(-100%)}
body[data-nav="c"] .site-header{
  position:fixed;top:42px;left:0;right:0;
  background:linear-gradient(180deg,rgba(6,99,181,.94) 0%,rgba(4,42,88,.92) 100%);
  backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);
  border-bottom:1px solid rgba(120,180,235,.25);box-shadow:0 4px 24px rgba(3,26,52,.25);
  transition:background .4s ease,box-shadow .4s ease,border-color .4s ease,top .35s ease;
}
body[data-nav="c"] .site-header.scrolled{top:0}
/* 顶部 2px 品牌双色线：主蓝 → 活力橙（导航两色的标志性搭配） */
body[data-nav="c"] .site-header::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#2b8fe0,#0663b5 34%,#ff6a1a 72%,#ffb37a);
}
body[data-nav="c"] .site-header.scrolled{
  background:linear-gradient(180deg,rgba(4,48,92,.97),rgba(3,34,72,.96));
  border-bottom-color:rgba(255,138,69,.45);
  box-shadow:0 12px 34px rgba(3,22,46,.42);
}
body[data-nav="c"] .logo{letter-spacing:.02em}
body[data-nav="c"] .logo b{background:linear-gradient(90deg,#fff,#bcdcf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body[data-nav="c"] .nav a{
  position:relative;color:rgba(255,255,255,.92);font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;font-size:13px;
  padding:10px 14px;border-radius:0;background:none;transition:color .3s ease;
}
/* 当前项 / 悬停：橙色滑入下划线，与品牌橙呼应 */
body[data-nav="c"] .nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2.5px;
  background:linear-gradient(90deg,#ff6a1a,#ffb37a);
  transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.6,.2,1);
}
body[data-nav="c"] .nav a:hover{background:none;color:#fff}
body[data-nav="c"] .nav a:hover::after,body[data-nav="c"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="c"] .nav a.active{background:none;color:#fff}
body[data-nav="c"] .hd-search input{
  background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff;
}
body[data-nav="c"] .hd-search input::placeholder{color:rgba(255,255,255,.6)}
body[data-nav="c"] .langsel{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);color:#fff}
body[data-nav="c"] .langsel option{color:#1a2430}
body[data-nav="c"] .hamburger i{background:#fff}
/* 浮层导航的下拉菜单：保持白底深字（上一版菜单文字继承白色导致看不见） */
body[data-nav="c"] .nav-dd{
  background:#fff;border-color:rgba(18,85,143,.16);border-radius:12px;
  box-shadow:0 16px 38px rgba(6,28,56,.24);
}
body[data-nav="c"] .nav-dd a{
  color:#22384f;font-weight:500;letter-spacing:normal;text-transform:none;font-size:13.5px;
}
body[data-nav="c"] .nav-dd a:hover{background:#e8f2fc;color:#054277}
body[data-nav="c"] .nav-dd .dd-more{color:#1d6fb8;border-top-color:rgba(18,85,143,.14)}
body[data-nav="c"] .nav-mask .nav-link,body[data-nav="c"] .nav-mask a{color:#eaf3fc}

/* ---- 双拼导航色系 D-T（v21e）----
   每套 = 导航主色 × 动作色，悬停/选中时动作色生效；风格各异（整块翻转 / 胶囊 / 方角 / 线感 / 竖条 / 顶条）。
   下拉菜单逐套显式配色（--nav-dd-*），杜绝白底浅字看不清的问题。 */

/* —— 逐套变量 —— */
body[data-nav="d"]{--nav-bg:#063a6e;--nav-act:#ff6a1a;--nav-act-ink:#fff;--nav-tb:#042a52;--nav-dd-bg:#fff;--nav-dd-ink:#22384f;--nav-dd-hbg:#ff6a1a;--nav-dd-hink:#fff;--nav-dd-line:rgba(6,58,110,.15)}
body[data-nav="e"]{--nav-bg:#0a4d8c;--nav-act:#ffb400;--nav-act-ink:#0a2c52;--nav-tb:#083a6b;--nav-dd-bg:#fdf8ec;--nav-dd-ink:#3a2c14;--nav-dd-hbg:#ffb400;--nav-dd-hink:#3a2503;--nav-dd-line:rgba(217,164,20,.35)}
body[data-nav="f"]{--nav-bg:#0b2545;--nav-act:#00b894;--nav-act-ink:#fff;--nav-tb:#071a33;--nav-dd-bg:#0b2545;--nav-dd-ink:#cfe0f0;--nav-dd-hbg:rgba(0,184,148,.16);--nav-dd-hink:#00d9ae;--nav-dd-line:rgba(0,184,148,.28)}
body[data-nav="g"]{--nav-bg:#132b52;--nav-act:#e84c3d;--nav-act-ink:#fff;--nav-tb:#0c1e3b;--nav-dd-bg:#fff;--nav-dd-ink:#3a1f24;--nav-dd-hbg:#fdecea;--nav-dd-hink:#c0392b;--nav-dd-line:rgba(232,76,61,.20)}
body[data-nav="h"]{--nav-bg:#171a21;--nav-act:#ff7a1a;--nav-act-ink:#fff;--nav-tb:#101318;--nav-hink:#ff9a4d;--nav-dd-bg:#fff;--nav-dd-ink:#1f232b;--nav-dd-hbg:#fff1e6;--nav-dd-hink:#d95f00;--nav-dd-line:rgba(255,122,26,.20)}
body[data-nav="j"]{--nav-bg:#7a1f2b;--nav-act:#d9b36c;--nav-act-ink:#35101a;--nav-tb:#5f1622;--nav-dd-bg:#fbf5ea;--nav-dd-ink:#4a2c35;--nav-dd-hbg:#d9b36c;--nav-dd-hink:#35101a;--nav-dd-line:rgba(217,179,108,.40)}
body[data-nav="k"]{--nav-bg:#14532d;--nav-act:#facc15;--nav-act-ink:#14351f;--nav-tb:#0e3d21;--nav-dd-bg:#fff;--nav-dd-ink:#14351f;--nav-dd-hbg:#facc15;--nav-dd-hink:#14351f;--nav-dd-line:rgba(250,204,21,.35)}
body[data-nav="m"]{--nav-bg:#41295a;--nav-act:#2dd4bf;--nav-act-ink:#06302a;--nav-tb:#2f1e44;--nav-hink:#5eead4;--nav-dd-bg:#fff;--nav-dd-ink:#2f2444;--nav-dd-hbg:#ccfbf1;--nav-dd-hink:#0f766e;--nav-dd-line:rgba(45,212,191,.32)}
body[data-nav="n"]{--nav-bg:#0f2b4c;--nav-act:#38bdf8;--nav-act-ink:#062744;--nav-tb:#0a2038;--nav-dd-bg:#fff;--nav-dd-ink:#12314f;--nav-dd-hbg:#38bdf8;--nav-dd-hink:#062744;--nav-dd-line:rgba(56,189,248,.32)}
body[data-nav="p"]{--nav-bg:#264653;--nav-act:#e9c46a;--nav-act-ink:#2b2416;--nav-tb:#1b2f39;--nav-hink:#e9c46a;--nav-dd-bg:#fff;--nav-dd-ink:#2c3a40;--nav-dd-hbg:#faf0d7;--nav-dd-hink:#9a7413;--nav-dd-line:rgba(233,196,106,.38)}
body[data-nav="q"]{--nav-bg:#222831;--nav-act:#84cc16;--nav-act-ink:#1a2503;--nav-tb:#191d23;--nav-dd-bg:#fff;--nav-dd-ink:#222831;--nav-dd-hbg:#84cc16;--nav-dd-hink:#1a2503;--nav-dd-line:rgba(132,204,22,.32)}
body[data-nav="r"]{--nav-bg:#101d42;--nav-act:#8b5cf6;--nav-act-ink:#fff;--nav-tb:#0b1530;--nav-hink:#a78bfa;--nav-dd-bg:#fff;--nav-dd-ink:#1c2447;--nav-dd-hbg:#f1e9ff;--nav-dd-hink:#6d3fd4;--nav-dd-line:rgba(139,92,246,.25)}
body[data-nav="s"]{--nav-bg:#0f766e;--nav-act:#fb923c;--nav-act-ink:#fff;--nav-tb:#0a5751;--nav-dd-bg:#fff;--nav-dd-ink:#0c4f4a;--nav-dd-hbg:#fb923c;--nav-dd-hink:#fff;--nav-dd-line:rgba(251,146,60,.28)}
body[data-nav="t"]{--nav-bg:#003153;--nav-act:#7dd3fc;--nav-act-ink:#052c42;--nav-tb:#002239;--nav-dd-bg:#02293b;--nav-dd-ink:#cfe9f7;--nav-dd-hbg:rgba(125,211,252,.14);--nav-dd-hink:#7dd3fc;--nav-dd-line:rgba(125,211,252,.22)}

/* —— 公共骨架（实色导航 + 同系顶栏）—— */
body[data-nav="d"] .site-header,body[data-nav="e"] .site-header,
body[data-nav="f"] .site-header,body[data-nav="g"] .site-header,
body[data-nav="h"] .site-header,body[data-nav="j"] .site-header,
body[data-nav="k"] .site-header,body[data-nav="m"] .site-header,
body[data-nav="n"] .site-header,body[data-nav="p"] .site-header,
body[data-nav="q"] .site-header,body[data-nav="r"] .site-header,
body[data-nav="s"] .site-header,body[data-nav="t"] .site-header{
  background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none;
}
body[data-nav="d"] .topbar,body[data-nav="e"] .topbar,
body[data-nav="f"] .topbar,body[data-nav="g"] .topbar,
body[data-nav="h"] .topbar,body[data-nav="j"] .topbar,
body[data-nav="k"] .topbar,body[data-nav="m"] .topbar,
body[data-nav="n"] .topbar,body[data-nav="p"] .topbar,
body[data-nav="q"] .topbar,body[data-nav="r"] .topbar,
body[data-nav="s"] .topbar,body[data-nav="t"] .topbar{background:var(--nav-tb)}

/* —— 下拉菜单：逐套配色（白底深字 / 深底浅字随主题），彻底解决看不清 —— */
body[data-nav="d"] .nav-dd,body[data-nav="e"] .nav-dd,
body[data-nav="f"] .nav-dd,body[data-nav="g"] .nav-dd,
body[data-nav="h"] .nav-dd,body[data-nav="j"] .nav-dd,
body[data-nav="k"] .nav-dd,body[data-nav="m"] .nav-dd,
body[data-nav="n"] .nav-dd,body[data-nav="p"] .nav-dd,
body[data-nav="q"] .nav-dd,body[data-nav="r"] .nav-dd,
body[data-nav="s"] .nav-dd,body[data-nav="t"] .nav-dd{
  background:var(--nav-dd-bg);border-color:var(--nav-dd-line);
}
body[data-nav="d"] .nav-dd a,body[data-nav="e"] .nav-dd a,
body[data-nav="f"] .nav-dd a,body[data-nav="g"] .nav-dd a,
body[data-nav="h"] .nav-dd a,body[data-nav="j"] .nav-dd a,
body[data-nav="k"] .nav-dd a,body[data-nav="m"] .nav-dd a,
body[data-nav="n"] .nav-dd a,body[data-nav="p"] .nav-dd a,
body[data-nav="q"] .nav-dd a,body[data-nav="r"] .nav-dd a,
body[data-nav="s"] .nav-dd a,body[data-nav="t"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="d"] .nav-dd a:hover,body[data-nav="e"] .nav-dd a:hover,
body[data-nav="f"] .nav-dd a:hover,body[data-nav="g"] .nav-dd a:hover,
body[data-nav="h"] .nav-dd a:hover,body[data-nav="j"] .nav-dd a:hover,
body[data-nav="k"] .nav-dd a:hover,body[data-nav="m"] .nav-dd a:hover,
body[data-nav="n"] .nav-dd a:hover,body[data-nav="p"] .nav-dd a:hover,
body[data-nav="q"] .nav-dd a:hover,body[data-nav="r"] .nav-dd a:hover,
body[data-nav="s"] .nav-dd a:hover,body[data-nav="t"] .nav-dd a:hover{
  background:var(--nav-dd-hbg);color:var(--nav-dd-hink);
}
body[data-nav="d"] .nav-dd .dd-more,body[data-nav="e"] .nav-dd .dd-more,
body[data-nav="f"] .nav-dd .dd-more,body[data-nav="g"] .nav-dd .dd-more,
body[data-nav="h"] .nav-dd .dd-more,body[data-nav="j"] .nav-dd .dd-more,
body[data-nav="k"] .nav-dd .dd-more,body[data-nav="m"] .nav-dd .dd-more,
body[data-nav="n"] .nav-dd .dd-more,body[data-nav="p"] .nav-dd .dd-more,
body[data-nav="q"] .nav-dd .dd-more,body[data-nav="r"] .nav-dd .dd-more,
body[data-nav="s"] .nav-dd .dd-more,body[data-nav="t"] .nav-dd .dd-more{
  color:var(--nav-act);border-top-color:var(--nav-dd-line);
}
body[data-nav="f"] .nav-dd,body[data-nav="t"] .nav-dd{box-shadow:0 16px 38px rgba(0,10,20,.45)}

/* —— 悬停风格 A · 整块翻转（d 蓝、e 金、j 酒红、n 天蓝、s 杏橙）—— */
body[data-nav="d"] .nav a,body[data-nav="e"] .nav a,
body[data-nav="j"] .nav a,body[data-nav="n"] .nav a,
body[data-nav="s"] .nav a,body[data-nav="k"] .nav a,
body[data-nav="q"] .nav a,body[data-nav="t"] .nav a{color:#dbe8f6;border-radius:8px}
body[data-nav="d"] .nav a:hover,body[data-nav="e"] .nav a:hover,
body[data-nav="j"] .nav a:hover,body[data-nav="n"] .nav a:hover,
body[data-nav="s"] .nav a:hover,body[data-nav="k"] .nav a:hover,
body[data-nav="q"] .nav a:hover,body[data-nav="t"] .nav a:hover,
body[data-nav="d"] .nav a.active,body[data-nav="e"] .nav a.active,
body[data-nav="j"] .nav a.active,body[data-nav="n"] .nav a.active,
body[data-nav="s"] .nav a.active,body[data-nav="k"] .nav a.active,
body[data-nav="q"] .nav a.active,body[data-nav="t"] .nav a.active{
  background:var(--nav-act);color:var(--nav-act-ink);
}
/* 胶囊（k 绿黄 / q 青柠）、方角（n 天蓝）、冷硬小圆角（t 冰蓝） */
body[data-nav="k"] .nav a,body[data-nav="q"] .nav a{border-radius:999px}
body[data-nav="n"] .nav a{border-radius:0}
body[data-nav="t"] .nav a{border-radius:2px}
/* 翻转组：选中态底线与色块同色（隐身），避免默认金线叠在动作色块上 */
body[data-nav="d"] .nav a.active::after,body[data-nav="e"] .nav a.active::after,
body[data-nav="j"] .nav a.active::after,body[data-nav="n"] .nav a.active::after,
body[data-nav="s"] .nav a.active::after,body[data-nav="k"] .nav a.active::after,
body[data-nav="q"] .nav a.active::after,body[data-nav="t"] .nav a.active::after{background:var(--nav-act)}
/* m 竖条风格：禁用默认底部金线（竖条用 ::before 表达） */
body[data-nav="m"] .nav a.active::after,body[data-nav="m"] .nav a:hover::after{display:none}

/* —— 悬停风格 B · 线感：文字变动作色 + 底部粗条滑入（h 工业黑×橙焰）—— */
body[data-nav="h"] .nav a{color:#c9ced8;border-radius:6px;position:relative}
body[data-nav="h"] .nav a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:2px;
  background:var(--nav-act);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
body[data-nav="h"] .nav a:hover{background:rgba(255,255,255,.06);color:var(--nav-hink)}
body[data-nav="h"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="h"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="h"] .nav a.active::after{transform:scaleX(1)}

/* —— 悬停风格 C · 中线展开 + 文字变色（p 板岩×姜黄）—— */
body[data-nav="p"] .nav a{color:#d7e2e6;border-radius:6px;position:relative}
body[data-nav="p"] .nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;
  background:var(--nav-act);transform:scaleX(0);transform-origin:center;transition:transform .3s ease;
}
body[data-nav="p"] .nav a:hover{background:none;color:var(--nav-hink)}
body[data-nav="p"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="p"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="p"] .nav a.active::after{transform:scaleX(1)}

/* —— 悬停风格 D · 左侧竖条（m 深紫×薄荷）—— */
body[data-nav="m"] .nav a{color:#ded4ee;border-radius:6px;position:relative;padding-left:20px}
body[data-nav="m"] .nav a::before{
  content:"";position:absolute;left:8px;top:50%;width:3px;height:58%;border-radius:2px;
  background:var(--nav-act);transform:translateY(-50%) scaleY(0);transition:transform .25s ease;
}
body[data-nav="m"] .nav a:hover{background:rgba(255,255,255,.07);color:var(--nav-hink)}
body[data-nav="m"] .nav a:hover::before{transform:translateY(-50%) scaleY(1)}
body[data-nav="m"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="m"] .nav a.active::before{transform:translateY(-50%) scaleY(1)}

/* —— 悬停风格 E · 顶部光条下压（r 午夜蓝×紫罗兰）—— */
body[data-nav="r"] .nav a{color:#cfd6f2;border-radius:6px;position:relative}
body[data-nav="r"] .nav a::after{
  content:"";position:absolute;left:12px;right:12px;top:2px;height:2px;border-radius:2px;
  background:var(--nav-act);transform:scaleX(0);transform-origin:center;transition:transform .3s ease;
}
body[data-nav="r"] .nav a:hover{background:rgba(255,255,255,.06);color:var(--nav-hink)}
body[data-nav="r"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="r"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="r"] .nav a.active::after{transform:scaleX(1)}

/* —— 公共细节：顶栏图标 / 语言下拉聚焦跟随动作色 —— */
body[data-nav="d"] .topbar-social a:hover,body[data-nav="e"] .topbar-social a:hover,
body[data-nav="f"] .topbar-social a:hover,body[data-nav="g"] .topbar-social a:hover,
body[data-nav="h"] .topbar-social a:hover,body[data-nav="j"] .topbar-social a:hover,
body[data-nav="k"] .topbar-social a:hover,body[data-nav="m"] .topbar-social a:hover,
body[data-nav="n"] .topbar-social a:hover,body[data-nav="p"] .topbar-social a:hover,
body[data-nav="q"] .topbar-social a:hover,body[data-nav="r"] .topbar-social a:hover,
body[data-nav="s"] .topbar-social a:hover,body[data-nav="t"] .topbar-social a:hover{
  background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink);
}
body[data-nav="d"] .langsel:focus,body[data-nav="e"] .langsel:focus,
body[data-nav="f"] .langsel:focus,body[data-nav="g"] .langsel:focus,
body[data-nav="h"] .langsel:focus,body[data-nav="j"] .langsel:focus,
body[data-nav="k"] .langsel:focus,body[data-nav="m"] .langsel:focus,
body[data-nav="n"] .langsel:focus,body[data-nav="p"] .langsel:focus,
body[data-nav="q"] .langsel:focus,body[data-nav="r"] .langsel:focus,
body[data-nav="s"] .langsel:focus,body[data-nav="t"] .langsel:focus{outline-color:var(--nav-act)}

/* ============================================================
   v21f · 下拉菜单对比度根治 + 新增 5 套非蓝黑双拼导航
   ============================================================
   【根治】翻转组的 ".nav a" 浅色字规则写在下拉配色之后且特异性相同，
   会把下拉面板内的链接染成浅色（奶白底浅字看不清）。
   此处以更高特异性做出最终裁决：下拉链接永远用各主题的下拉配色。
   （f/t 为深色下拉由 --nav-dd-* 决定，其余为浅色下拉深字） */
body[data-nav] .nav .nav-dd a:not(.dd-more){color:var(--nav-dd-ink,#22384f)}
body[data-nav] .nav .nav-dd a:not(.dd-more):hover{background:var(--nav-dd-hbg,#f1f6fb);color:var(--nav-dd-hink,#0663b5)}

/* —— u · 中国红×暖金（整块翻转）：正红导航，悬停变暖金，象牙白下拉 —— */
body[data-nav="u"]{--nav-bg:#9e1b1b;--nav-act:#f2c14e;--nav-act-ink:#3a2404;--nav-tb:#7c1212;
  --nav-dd-bg:#fdf6e8;--nav-dd-ink:#4a2424;--nav-dd-hbg:#f2c14e;--nav-dd-hink:#3a2404;--nav-dd-line:rgba(158,27,27,.22)}
body[data-nav="u"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="u"] .topbar{background:var(--nav-tb)}
body[data-nav="u"] .nav a{color:#f6dede;border-radius:8px}
body[data-nav="u"] .nav a:hover,body[data-nav="u"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="u"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="u"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="u"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="u"] .langsel:focus{outline-color:var(--nav-act)}

/* —— v · 烈焰橙×炭黑（整块翻转）：亮橙导航白字，悬停翻炭黑，纯白下拉 —— */
body[data-nav="v"]{--nav-bg:#d9560b;--nav-act:#23201c;--nav-act-ink:#ffffff;--nav-tb:#b8470a;
  --nav-dd-bg:#ffffff;--nav-dd-ink:#3a2416;--nav-dd-hbg:#23201c;--nav-dd-hink:#ffffff;--nav-dd-line:rgba(217,86,11,.25)}
body[data-nav="v"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="v"] .topbar{background:var(--nav-tb)}
body[data-nav="v"] .nav a{color:#ffe9d8;border-radius:6px}
body[data-nav="v"] .nav a:hover,body[data-nav="v"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="v"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="v"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="v"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="v"] .langsel:focus{outline-color:var(--nav-act)}

/* —— w · 黄绿×墨绿（胶囊翻转）：明快黄绿导航深字，悬停翻墨绿，白底绿字下拉 —— */
body[data-nav="w"]{--nav-bg:#7fb800;--nav-act:#2f4d0a;--nav-act-ink:#eaf5d0;--nav-tb:#6ea000;
  --nav-dd-bg:#ffffff;--nav-dd-ink:#23400b;--nav-dd-hbg:#7fb800;--nav-dd-hink:#ffffff;--nav-dd-line:rgba(127,184,0,.35)}
body[data-nav="w"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="w"] .topbar{background:var(--nav-tb)}
body[data-nav="w"] .nav a{color:#21300a;border-radius:999px}
body[data-nav="w"] .nav a:hover,body[data-nav="w"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="w"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="w"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="w"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="w"] .langsel:focus{outline-color:var(--nav-act)}

/* —— x · 芒果黄×墨青（中线展开）：琥珀黄导航深字，悬停文字变墨青+中线展开，米白下拉 —— */
body[data-nav="x"]{--nav-bg:#f0a500;--nav-act:#14343d;--nav-hink:#14343d;--nav-tb:#d99400;
  --nav-dd-bg:#fffdf4;--nav-dd-ink:#4a3608;--nav-dd-hbg:#f0a500;--nav-dd-hink:#3d2b00;--nav-dd-line:rgba(240,165,0,.4)}
body[data-nav="x"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="x"] .topbar{background:var(--nav-tb)}
body[data-nav="x"] .nav a{color:#3d2b00;border-radius:6px;position:relative}
body[data-nav="x"] .nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;
  background:var(--nav-act);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
body[data-nav="x"] .nav a:hover{background:rgba(255,255,255,.30);color:var(--nav-hink)}
body[data-nav="x"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="x"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="x"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="x"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="x"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:#fff}
body[data-nav="x"] .langsel:focus{outline-color:var(--nav-act)}

/* —— y · 素雅白×砖红（底线滑入）：浅色导航深字（外贸极简风），悬停文字砖红+底线，白下拉 —— */
body[data-nav="y"]{--nav-bg:#f7f8fa;--nav-act:#c0392b;--nav-hink:#c0392b;--nav-tb:#eceff3;
  --nav-dd-bg:#ffffff;--nav-dd-ink:#333d49;--nav-dd-hbg:#fdeeec;--nav-dd-hink:#c0392b;--nav-dd-line:#e3e7ee}
body[data-nav="y"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:1px solid #e3e7ee;box-shadow:0 2px 14px rgba(30,40,60,.08)}
body[data-nav="y"] .topbar{background:var(--nav-tb);border-bottom:1px solid #e0e4ea}
body[data-nav="y"] .topbar-contact a,body[data-nav="y"] .topbar-social a{color:#4a5563}
body[data-nav="y"] .langsel{background:#fff;color:#333d49;border-color:#c6ccd6}
body[data-nav="y"] .topbar-contact,body[data-nav="y"] .topbar-social{color:#4a5563}
body[data-nav="y"] .nav a{color:#26313e;border-radius:6px;position:relative}
body[data-nav="y"] .nav a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:2px;
  background:var(--nav-act);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
body[data-nav="y"] .nav a:hover{background:#eef1f5;color:var(--nav-hink)}
body[data-nav="y"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="y"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="y"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="y"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line);box-shadow:0 14px 34px rgba(30,40,60,.14)}
body[data-nav="y"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:#fff}
body[data-nav="y"] .langsel:focus{outline-color:var(--nav-act)}

/* ---- 列表 E · 四列产品墙（v21c） ----
   每行 4 个产品卡；双拼翻转：悬停整卡变导航主色、标题/按钮变动作色 */
body[data-list="e"] .grid.c3,body[data-list="e"] .grid.c4{grid-template-columns:repeat(4,1fr);gap:20px}
body[data-list="e"] .card{
  border:1px solid var(--line);border-top:3px solid var(--blue-600,#2b8fe0);
  border-radius:10px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
body[data-list="e"] .card .ph{height:188px;border-radius:0;background:#f2f7fc}
body[data-list="e"] .card .body{padding:18px 18px 20px}
body[data-list="e"] .card .body h3{font-size:16.5px}
body[data-list="e"] .card:hover{
  background:var(--nav-bg,#063a6e);border-color:var(--nav-bg,#063a6e);
  border-top-color:var(--nav-act,#ff6a1a);
  box-shadow:0 16px 34px rgba(2,20,40,.20);transform:translateY(-4px);
}
body[data-list="e"] .card:hover h3{color:var(--nav-act,#ffb37a)}
body[data-list="e"] .card:hover p,body[data-list="e"] .card:hover .meta{color:rgba(255,255,255,.82)}
body[data-list="e"] .card:hover .more{color:var(--nav-act,#ffb37a);border-color:transparent}
@media(max-width:1180px){body[data-list="e"] .grid.c3,body[data-list="e"] .grid.c4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){body[data-list="e"] .grid.c3,body[data-list="e"] .grid.c4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body[data-list="e"] .grid.c3,body[data-list="e"] .grid.c4{grid-template-columns:1fr}}

/* ============================================================
   v21f · 列表样式 F-J：多排版节奏（拒绝堆积木，板块间有呼吸与差异）
   ============================================================ */

/* —— F · 编号目录式：无卡片框，顶部粗色条 + 大序号，杂志目录质感 —— */
body[data-list="f"] .grid.c3,body[data-list="f"] .grid.c4{gap:34px 28px}
body[data-list="f"] .card{
  background:transparent;border:none;border-top:4px solid var(--blue-600,#0663b5);border-radius:0;
  padding-top:18px;box-shadow:none;counter-increment:wb-idx;
}
body[data-list="f"] .grid{counter-reset:wb-idx}
body[data-list="f"] .card .ph{height:172px;border-radius:0;overflow:hidden;background:var(--sky)}
body[data-list="f"] .card .ph img{transition:transform .8s cubic-bezier(.2,.6,.2,1)}
body[data-list="f"] .card:hover .ph img{transform:scale(1.06)}
body[data-list="f"] .card .body{padding:16px 2px 0;position:relative}
body[data-list="f"] .card .body::before{
  content:"0" counter(wb-idx);position:absolute;right:0;top:8px;
  font-size:40px;font-weight:800;line-height:1;letter-spacing:-.02em;
  color:var(--sky-2,#d9e9fa);transition:color .3s ease;
}
body[data-list="f"] .card .body h3{font-size:17.5px;letter-spacing:.01em;max-width:78%}
body[data-list="f"] .card .body p{font-size:13.5px}
body[data-list="f"] .card .more{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
body[data-list="f"] .card:hover{border-top-color:var(--gold,#ff6a1a)}
body[data-list="f"] .card:hover .body::before{color:var(--gold,#ff6a1a)}
@media(max-width:560px){body[data-list="f"] .card .body::before{font-size:30px;top:0}}

/* —— G · 焦点拼贴：首卡放大跨两格全图展示，其余紧凑小卡，版面有主次 —— */
body[data-list="g"] .grid.c3,body[data-list="g"] .grid.c4{gap:22px}
body[data-list="g"] .card{
  border:none;border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);
}
body[data-list="g"] .card:first-child{
  grid-column:span 2;grid-row:span 2;position:relative;min-height:440px;justify-content:flex-end;
}
body[data-list="g"] .card .ph{height:196px;border-radius:0;background:#f2f7fc}
body[data-list="g"] .card .body{padding:20px 22px 24px}
body[data-list="g"] .card:first-child .ph{position:absolute;inset:0;height:100%;width:100%;z-index:0}
body[data-list="g"] .card:first-child .body{
  position:relative;z-index:1;padding:150px 28px 30px 28px;
  background:linear-gradient(180deg,transparent 0%,rgba(4,26,50,.28) 30%,rgba(4,26,50,.88) 100%);
}
body[data-list="g"] .card:first-child .body h3{color:#fff;font-size:24px;letter-spacing:.01em}
body[data-list="g"] .card:first-child .body p{color:#cfe2f4}
body[data-list="g"] .card:first-child .body .meta{color:#9dbddc}
body[data-list="g"] .card:first-child .body .more{color:#fff;border-color:rgba(255,255,255,.5)}
body[data-list="g"] .card .body h3{font-size:16.5px}
body[data-list="g"] .card:hover .ph img{transform:scale(1.05)}
body[data-list="g"] .card .ph img{transition:transform .8s ease}
@media(max-width:860px){
  body[data-list="g"] .card:first-child{grid-column:span 2;grid-row:auto;min-height:320px}
  body[data-list="g"] .card:first-child .body{padding:110px 20px 24px 20px}
}
@media(max-width:560px){
  body[data-list="g"] .card:first-child{grid-column:span 1;min-height:280px}
}

/* —— H · 浮岛式：大图在上，信息面板悬浮压图，层次轻盈 —— */
body[data-list="h"] .grid.c3,body[data-list="h"] .grid.c4{gap:34px 26px}
body[data-list="h"] .card{
  border:none;border-radius:14px;background:transparent;box-shadow:none;
}
body[data-list="h"] .card .ph{
  height:230px;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(6,32,60,.16);
}
body[data-list="h"] .card .ph img{transition:transform .8s ease}
body[data-list="h"] .card .body{
  margin:-44px 16px 0;padding:26px 20px 22px;position:relative;border-radius:12px;
  background:#fff;box-shadow:0 10px 28px rgba(6,32,60,.12);border-top:3px solid var(--blue-500,#0f74c9);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
body[data-list="h"] .card .body h3{font-size:17px}
body[data-list="h"] .card:hover .ph img{transform:scale(1.07)}
body[data-list="h"] .card:hover .body{
  transform:translateY(-6px);border-top-color:var(--gold,#ff6a1a);
  box-shadow:0 20px 44px rgba(6,32,60,.18);
}
@media(max-width:560px){body[data-list="h"] .card .ph{height:190px}}

/* —— I · 底部滑出：整卡全图，信息默认只露标题条，悬停信息板自底滑出 —— */
body[data-list="i"] .grid.c3,body[data-list="i"] .grid.c4{gap:24px}
body[data-list="i"] .card{
  position:relative;min-height:320px;justify-content:flex-end;overflow:hidden;
  border:none;border-radius:12px;background:#0a1c30;box-shadow:var(--shadow-sm);
}
body[data-list="i"] .card .ph{position:absolute;inset:0;height:100%;width:100%;z-index:0;border-radius:0}
body[data-list="i"] .card .ph img{transition:transform .9s ease}
body[data-list="i"] .card .body{
  position:relative;z-index:1;padding:64px 20px 0;margin:0;border-radius:0;
  background:linear-gradient(180deg,transparent,rgba(5,16,28,.55) 24%,rgba(5,16,28,.92) 100%);
  transform:translateY(calc(100% - 62px));transition:transform .38s cubic-bezier(.25,.7,.3,1);
}
body[data-list="i"] .card .body h3{color:#fff;font-size:17px;min-height:40px}
body[data-list="i"] .card .body p{color:#c9dcf0;font-size:13.5px;opacity:0;transition:opacity .3s ease .08s}
body[data-list="i"] .card .body .meta{color:#8fb2d6}
body[data-list="i"] .card .body .more{color:#fff;border-color:rgba(255,255,255,.45)}
body[data-list="i"] .card:hover .body,body[data-list="i"] .card:focus-within .body{transform:translateY(0)}
body[data-list="i"] .card:hover p{opacity:1}
body[data-list="i"] .card:hover .ph img{transform:scale(1.06)}
@media(max-width:560px){body[data-list="i"] .card{min-height:270px}}

/* —— J · 双色节奏：奇偶卡蓝/橙交替侧色条与图注条，形成序列韵律 —— */
body[data-list="j"] .grid.c3,body[data-list="j"] .grid.c4{gap:26px}
body[data-list="j"] .card{
  border:none;border-radius:12px;background:#fff;overflow:hidden;
  border-left:5px solid var(--blue-600,#0663b5);box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease;
}
body[data-list="j"] .card:nth-child(even){border-left-color:var(--gold,#ff6a1a)}
body[data-list="j"] .card .ph{height:190px;border-radius:0;background:#f2f7fc;position:relative}
body[data-list="j"] .card .ph::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:5px;
  background:var(--blue-600,#0663b5);
}
body[data-list="j"] .card:nth-child(even) .ph::after{background:var(--gold,#ff6a1a)}
body[data-list="j"] .card .body{padding:18px 20px 22px}
body[data-list="j"] .card .body h3{font-size:16.5px}
body[data-list="j"] .card:nth-child(odd) .more{color:var(--blue-600,#0663b5)}
body[data-list="j"] .card:nth-child(even) .more{color:var(--gold,#ff6a1a)}
body[data-list="j"] .card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,32,60,.16)}

/* ============================================================
   列表 K–T · 差异化排版（同一网格内卡片各不相同，拒绝"堆积木"）
   每套都以 nth-child 制造节奏：错落 / 正反交替 / 焦点大卡 / 斑马色条 / 阶梯错位 …
   ============================================================ */
/* K · 杂志错落：卡片高度与图比例交替，标题对齐左右穿插 */
body[data-list="k"] .grid.c3,body[data-list="k"] .grid.c4{gap:30px 24px}
body[data-list="k"] .card{border-radius:0;border:0;border-bottom:2px solid var(--line);padding-bottom:8px}
body[data-list="k"] .card .ph{height:150px}
body[data-list="k"] .card:nth-child(3n+1) .ph{height:230px}
body[data-list="k"] .card:nth-child(3n+1){border-bottom-color:var(--blue-500)}
body[data-list="k"] .card:nth-child(3n+1) .body{padding:18px 0}
body[data-list="k"] .card:nth-child(even) .body{text-align:right;align-items:flex-end}
body[data-list="k"] .card:nth-child(even) h3{order:-1}
body[data-list="k"] .card:nth-child(3n+1) h3{font-size:22px}
body[data-list="k"] .card:nth-child(3n+1) .more::after{content:" ↗"}
body[data-list="k"] .card:hover{border-bottom-color:var(--gold,#ff6a1a);transform:none}

/* L · 双行节奏：奇偶卡片正反交替（偶卡左图右文，奇卡上图下文） */
body[data-list="l"] .grid.c3,body[data-list="l"] .grid.c4{gap:26px}
body[data-list="l"] .card:nth-child(even){flex-direction:row;align-items:stretch}
body[data-list="l"] .card:nth-child(even) .ph{flex:0 0 42%;width:42%;height:auto;min-height:170px}
body[data-list="l"] .card:nth-child(even) .body{padding:20px 20px;justify-content:center}
body[data-list="l"] .card:nth-child(even):hover{transform:translateY(-5px)}
body[data-list="l"] .card:nth-child(odd):hover{transform:translateY(-5px)}
body[data-list="l"] .card .ph{height:180px}

/* M · 焦点大卡：首卡跨两列满铺大图，其余紧凑小卡（主次分明） */
body[data-list="m"] .grid.c3,body[data-list="m"] .grid.c4{gap:22px}
body[data-list="m"] .card{border-radius:0}
body[data-list="m"] .card .ph{height:188px}
body[data-list="m"] .card:first-child{grid-column:span 2;grid-row:span 2}
body[data-list="m"] .card:first-child .ph{position:absolute;inset:0;height:100%;width:100%;z-index:0}
body[data-list="m"] .card:first-child .body{position:relative;z-index:1;margin-top:auto;width:100%;
  background:linear-gradient(to top,rgba(4,24,47,.94),transparent);color:#fff;padding:40px 24px 24px}
body[data-list="m"] .card:first-child .body h3{color:#fff;font-size:24px}
body[data-list="m"] .card:first-child .body p,body[data-list="m"] .card:first-child .body .meta{color:#cfe2f4}
body[data-list="m"] .card:first-child .body .more{color:#fff;border-color:rgba(255,255,255,.5)}
body[data-list="m"] .card:first-child{min-height:300px}
body[data-list="m"] .card:nth-child(3n) .ph{background:linear-gradient(135deg,var(--sky),var(--blue-100))}

/* N · 斑马色条：奇偶卡片左右色条与底纹交替 */
body[data-list="n"] .grid.c3,body[data-list="n"] .grid.c4{gap:24px}
body[data-list="n"] .card{border-radius:0;border-left:4px solid var(--blue-500)}
body[data-list="n"] .card:nth-child(even){border-left-color:var(--gold,#ff6a1a)}
body[data-list="n"] .card:nth-child(odd) .body{background:linear-gradient(180deg,var(--sky),transparent)}
body[data-list="n"] .card:nth-child(even) .body{background:linear-gradient(180deg,#fff6ee,transparent)}
body[data-list="n"] .card .ph{height:178px}
body[data-list="n"] .card:hover{transform:translateX(4px)}

/* O · 阶梯错位：偶卡整体下沉，制造错落节奏 */
body[data-list="o"] .grid.c3,body[data-list="o"] .grid.c4{gap:24px 22px;align-items:start}
body[data-list="o"] .card .ph{height:172px;border-radius:14px}
body[data-list="o"] .card{border-radius:14px}
body[data-list="o"] .card:nth-child(even){margin-top:34px}
body[data-list="o"] .card:nth-child(3n+1) .ph{height:210px}
body[data-list="o"] .card:nth-child(3n+1) h3{font-size:19px}
body[data-list="o"] .card:hover{transform:translateY(-6px)}
@media(max-width:760px){body[data-list="o"] .card:nth-child(even){margin-top:0}}

/* P · 角标裁切：奇偶卡片斜角色块交替，强化分类感 */
body[data-list="p"] .grid.c3,body[data-list="p"] .grid.c4{gap:22px}
body[data-list="p"] .card{border-radius:0;overflow:hidden}
body[data-list="p"] .card .ph{height:184px}
body[data-list="p"] .card .ph::after{content:"";position:absolute;top:0;right:0;border-width:0 46px 46px 0;
  border-style:solid;border-color:transparent var(--blue-500) transparent transparent;transition:.25s}
body[data-list="p"] .card:nth-child(even) .ph::after{border-right-color:var(--gold,#ff6a1a)}
body[data-list="p"] .card:hover .ph::after{border-right-color:var(--blue-700)}
body[data-list="p"] .card:nth-child(even):hover .ph::after{border-right-color:#c9530f}

/* Q · 圆角拼贴：奇偶圆角与尺度交替，柔和呼吸感 */
body[data-list="q"] .grid.c3,body[data-list="q"] .grid.c4{gap:26px}
body[data-list="q"] .card{border-radius:18px}
body[data-list="q"] .card .ph{height:172px;border-radius:18px 18px 0 0}
body[data-list="q"] .card:nth-child(3n+1){transform:scale(1.0);box-shadow:0 14px 34px rgba(6,32,60,.14)}
body[data-list="q"] .card:nth-child(3n+1) .ph{height:206px}
body[data-list="q"] .card:nth-child(even){border-radius:6px}
body[data-list="q"] .card:nth-child(even) .ph{border-radius:6px 6px 0 0}
body[data-list="q"] .card:hover{transform:translateY(-6px)}

/* R · 描边镂空：奇偶卡片"实心/镂空"交替，轻重对比 */
body[data-list="r"] .grid.c3,body[data-list="r"] .grid.c4{gap:22px}
body[data-list="r"] .card{border-radius:0;border:1px solid var(--line);background:var(--white)}
body[data-list="r"] .card:nth-child(even){background:transparent;border:1.5px solid var(--blue-500);box-shadow:none}
body[data-list="r"] .card:nth-child(even) .ph{height:180px;background:var(--sky-2)}
body[data-list="r"] .card .ph{height:186px}
body[data-list="r"] .card:nth-child(even) h3{color:var(--blue-600)}
body[data-list="r"] .card:nth-child(even):hover{background:var(--sky);transform:translateY(-4px)}
body[data-list="r"] .card:nth-child(odd):hover{transform:translateY(-4px)}

/* S · 编号拼贴：大号序号水印，奇偶序号位置/尺度交替 */
body[data-list="s"] .grid.c3,body[data-list="s"] .grid.c4{gap:32px 26px}
body[data-list="s"] .grid{counter-reset:wb-s}
body[data-list="s"] .card{border:0;border-radius:0;padding-top:4px}
body[data-list="s"] .card .ph{height:168px}
body[data-list="s"] .card .body{position:relative;padding:16px 0 0}
body[data-list="s"] .card .body::before{content:counter(wb-s,decimal-leading-zero);counter-increment:wb-s;
  position:absolute;top:-34px;right:0;font-size:46px;font-weight:800;color:var(--blue-100);
  line-height:1;letter-spacing:-.02em;transition:.3s}
body[data-list="s"] .card:nth-child(even) .body::before{left:0;right:auto;color:#fbe6d4}
body[data-list="s"] .card:nth-child(3n+1) .body::before{font-size:62px;color:var(--blue-200)}
body[data-list="s"] .card:hover .body::before{color:var(--gold,#ff6a1a)}
body[data-list="s"] .card:hover{transform:none}
body[data-list="s"] .card .more{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}

/* T · 中轴镜像：偶卡正文右对齐、图注条反置，左右镜像呼应 */
body[data-list="t"] .grid.c3,body[data-list="t"] .grid.c4{gap:24px}
body[data-list="t"] .card{border-radius:12px;overflow:hidden}
body[data-list="t"] .card .ph{height:176px;position:relative}
body[data-list="t"] .card .ph::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:5px;background:var(--blue-500)}
body[data-list="t"] .card:nth-child(even){text-align:right}
body[data-list="t"] .card:nth-child(even) .body{align-items:flex-end}
body[data-list="t"] .card:nth-child(even) .ph::after{background:var(--gold,#ff6a1a);left:auto;right:0}
body[data-list="t"] .card:nth-child(even) .more{justify-content:flex-end;align-self:flex-end}
body[data-list="t"] .card:hover{transform:translateY(-5px)}
@media(max-width:560px){body[data-list="k"] .card:nth-child(even) .body,
  body[data-list="t"] .card:nth-child(even){text-align:left;align-items:flex-start}
  body[data-list="t"] .card:nth-child(even) .more{justify-content:flex-start;align-self:auto}}

/* ===== v14 · 内容标签（首页推荐 / 热门 / 新品 / 精品） ===== */
/* 前台卡片角标 */
.flag-row{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2}
.card .ph,.card .vwrap{position:relative}
.badge-flag{
  display:inline-block;padding:3px 10px;font-size:11.5px;font-weight:700;border-radius:3px;
  letter-spacing:.12em;color:#fff;background:rgba(7,11,17,.82);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(3px);
}
.badge-flag.hot{color:#ffd28a;border-color:rgba(255,106,26,.65)}
.badge-flag.new{color:#8df0bb;border-color:rgba(31,157,91,.65)}
.badge-flag.featured{color:#e9cd92;border-color:rgba(201,163,92,.7)}
/* 后台：标签勾选组 */
.tag-picks{display:flex;gap:9px;flex-wrap:wrap}
.tag-pick{padding:8px 14px;border:1px solid var(--line);border-radius:9px;cursor:pointer;user-select:none;font-size:14px}
.tag-pick.on{border-color:var(--blue-500);background:var(--sky);box-shadow:inset 0 0 0 1px var(--blue-500)}
.tag-pick input{accent-color:var(--blue-500);margin:0 2px 0 0}
/* 后台：列表标签列 */
.pill.tagpill{background:var(--sky);color:var(--blue-600);border:1px solid var(--line);font-weight:600}

/* ============================================================
   v15 · 首页轮播 Banner（后台「🖼 首页轮播图」上传，整张可点击）
   ============================================================ */
.hero.has-slides{min-height:76vh;padding:170px 0 34px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero.has-slides .hero-inner{display:none!important}
.hero.has-slides::before{display:none}
.hero.has-slides > .wrap{position:relative;z-index:2}
.hero-carousel{position:absolute;inset:0;z-index:0}
.hslide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease}
.hslide.on{opacity:1;visibility:visible}
.hslide-bg{position:absolute;inset:0;display:block;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 7s linear}
.hslide.on .hslide-bg{transform:scale(1)}
.hslide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,18,.30) 0%,rgba(4,10,18,.18) 45%,rgba(4,10,18,.52) 100%)}
.hslide-txt{position:absolute;left:0;right:0;top:34%;text-align:center;color:#fff;z-index:2;padding:0 20px}
.hslide-txt b{display:block;font-size:clamp(26px,4.2vw,54px);font-weight:800;letter-spacing:.02em;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.hslide-txt i{display:block;margin-top:14px;font-style:normal;font-size:clamp(14px,1.6vw,20px);letter-spacing:.08em;opacity:.94;text-shadow:0 1px 12px rgba(0,0,0,.45)}
/* v18 · 轮播按钮（后台「首页轮播图」的按钮文字字段，点击整卡跳转） */
.hslide-btn{display:inline-block;margin-top:26px;padding:13px 38px;border-radius:6px;font-weight:700;font-size:clamp(14px,1.4vw,17px);letter-spacing:.05em;background:linear-gradient(135deg,#ff6a1a,#ff8f4d);color:#fff;box-shadow:0 8px 26px rgba(255,106,26,.42);transition:transform .25s ease,box-shadow .25s ease}
.hslide:hover .hslide-btn{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,106,26,.5)}
.hslide-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;gap:9px;justify-content:center;z-index:3}
.hslide-dots i{width:30px;height:4px;border-radius:2px;background:rgba(255,255,255,.42);cursor:pointer;transition:background .3s,width .3s}
.hslide-dots i.on{background:#fff;width:42px}
.hero.has-slides .hero-stats{margin-top:30px;background:rgba(5,12,22,.38);backdrop-filter:blur(4px);padding:20px 18px 6px;border-radius:10px}
@media(max-width:760px){
  .hero.has-slides{min-height:62vh;padding:120px 0 26px}
  .hslide-txt b{font-size:24px}
  .hslide-txt i{font-size:13px}
  .hslide-btn{margin-top:16px;padding:10px 26px;font-size:13px}
}

/* ============================================================
   v16 · 集团官网企业蓝（corporate）精修 + 通栏图
   解决「不是纯黑就是纯白」：给分区块加蓝色调渐变与光影层次
   ============================================================ */
body[data-tpl="corporate"]{
  --band-overlay:linear-gradient(100deg,rgba(5,16,30,.88) 0%,rgba(8,24,44,.72) 45%,rgba(10,32,58,.45) 100%);
}
body[data-tpl="corporate"] .section{position:relative}
body[data-tpl="corporate"] .section.alt{
  background:linear-gradient(180deg,#f4f8fc 0%,#e9f1f9 100%);
}
body[data-tpl="corporate"] .section.alt::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(43,143,224,.25),transparent);
}
body[data-tpl="corporate"] .card{
  border:1px solid rgba(18,85,143,.10);
  box-shadow:0 6px 18px rgba(10,40,80,.07);
  transition:box-shadow .35s ease,transform .35s ease;
}
body[data-tpl="corporate"] .card:hover{
  box-shadow:0 18px 40px rgba(10,40,80,.14);transform:translateY(-3px);
}
body[data-tpl="corporate"] .eyebrow{color:var(--blue-600);letter-spacing:.35em}
body[data-tpl="corporate"] .cta-band{
  background:linear-gradient(120deg,#042a4e 0%,#054277 55%,#0663b5 100%);
  position:relative;overflow:hidden;
}
body[data-tpl="corporate"] .cta-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(720px 300px at 85% 15%,rgba(43,143,224,.35),transparent 60%);
}
body[data-tpl="corporate"] .site-footer::before{
  background:linear-gradient(90deg,var(--blue-600),rgba(43,143,224,.25),var(--blue-600));
}
body[data-tpl="corporate"] .why-card{
  background:#fff;border:1px solid rgba(18,85,143,.08);border-top:3px solid var(--blue-600);
  box-shadow:0 8px 22px rgba(10,40,80,.08);
}

/* ---- 通栏图（img-band）：全宽机械大图 + 深蓝叠加 + 居中文案 ---- */
.img-band{
  position:relative;min-height:340px;display:flex;align-items:center;
  background-size:cover;background-position:center;
  color:#fff;text-align:center;overflow:hidden;
}
.img-band::before{content:"";position:absolute;inset:0;background:var(--band-overlay,linear-gradient(100deg,rgba(5,16,30,.85),rgba(10,32,58,.5)))}
.img-band .wrap{position:relative;z-index:1;padding:64px 20px}
.img-band .eyebrow{color:#9fc8ee;justify-content:center}
.img-band h2{font-size:clamp(24px,3.2vw,40px);margin:10px 0 12px;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.img-band p{max-width:720px;margin:0 auto;font-size:16.5px;opacity:.94;line-height:1.9}
.img-band .band-kpi{display:flex;gap:0;justify-content:center;margin-top:30px;flex-wrap:wrap}
.img-band .band-kpi div{padding:0 34px;border-left:1px solid rgba(255,255,255,.22)}
.img-band .band-kpi div:first-child{border-left:0}
.img-band .band-kpi b{display:block;font-size:clamp(24px,2.6vw,34px);font-weight:800}
.img-band .band-kpi span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.82}
@media(max-width:760px){.img-band{min-height:280px}.img-band .band-kpi div{padding:0 16px}}

/* ===== v17 · 成品模板自带卡片结构（tplTpls）的差异化样式 ===== */
.card .g-line,.card .blue-line{display:block;width:44px;height:3px;margin-bottom:12px;border-radius:2px}
body[data-tpl="grand"] .card .g-line{background:linear-gradient(90deg,#c9a35c,rgba(201,163,92,.25))}
body[data-tpl="grand"] .card.card-grand h3{letter-spacing:.02em}
body[data-tpl="grand"] .card.card-grand .more{letter-spacing:.22em;text-transform:uppercase;font-size:12px}
body[data-tpl="corporate"] .card .blue-line{background:linear-gradient(90deg,#2b8fe0,rgba(43,143,224,.2))}
body[data-tpl="corporate"] .card.card-corp{border-top:3px solid rgba(43,143,224,.55)}
body[data-tpl="corporate"] .card.card-corp .more{font-weight:700}

/* ============================================================
   v19 · 集团化精修排版（整体感 / 连贯性 / 大气感）
   节奏：标题居中对称 · 卡片统一视觉语言 · 区块衔接呼应
   ============================================================ */

/* ---- 标题体系：eyebrow 金线对称居中 + 标题居中 + 描述居中 ---- */
.section>.wrap>.eyebrow{justify-content:center;gap:10px;letter-spacing:.3em}
.section>.wrap>.eyebrow::after{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.section>.wrap>h2{margin-left:auto;margin-right:auto;text-align:center;max-width:860px}
.section>.wrap>p.note{margin-left:auto;margin-right:auto;text-align:center}
.section>.wrap>.eyebrow+.note{margin-bottom:34px}
/* 详情页等内嵌结构保持左对齐（.detail-hero、.card 内不受影响） */

/* 首页“关于我们”正文与按钮整体居中（标题已居中，此处补正文与按钮） */
section.home-block[data-bid="about"] > .wrap > .rich{margin-left:auto;margin-right:auto;text-align:center}
section.home-block[data-bid="about"] > .wrap > .rich p{text-align:center}
section.home-block[data-bid="about"] > .wrap > p{text-align:center}

/* ---- 卡片统一视觉语言 ---- */
.card .more{color:var(--blue-400)}
.card:hover .more{color:var(--gold)}
.card .body{position:relative}
.card h3{letter-spacing:.01em}
.card p{line-height:1.75}
.grid{align-items:stretch}
.grid>.card{height:100%}

/* ---- 主按钮统一：加高加大更有分量 ---- */
.btn{padding:14px 30px;border-radius:11px;font-size:15.5px;letter-spacing:.02em}
.btn.ghost{padding:13px 26px}

/* ---- 区块衔接：通栏图上下品牌双色细线，与导航呼应 ---- */
.img-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--blue-400) 70%,transparent);z-index:2}
.img-band::before{content:"";position:absolute;inset:0;background:var(--band-overlay,linear-gradient(100deg,rgba(4,20,40,.86),rgba(6,42,80,.55)));z-index:0}
.img-band>.wrap{position:relative;z-index:1}

/* ---- Hero 与下一条内容衔接 ---- */
.hero::after{-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 92%)}
.hero .cta-row .btn{padding:15px 34px}

/* ---- 证书条升级为悬浮徽章带 ---- */
.certstrip{padding:30px 0}
.certstrip .badge{padding:13px 26px;border-radius:12px;font-size:14px;letter-spacing:.06em;box-shadow:var(--shadow-sm);transition:.2s}
.certstrip .badge:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--blue-200)}

/* ---- Footer 顶部线改蓝-橙-蓝双色呼应 ---- */
.site-footer::before{background:linear-gradient(90deg,var(--blue-400),var(--gold) 50%,var(--blue-400))}
.site-footer h4::after{background:var(--gold)}

/* ---- cta-band 橙色能量球 + 按钮呼应 ---- */
.cta-band::before{background:radial-gradient(circle,rgba(255,106,26,.30),transparent 66%)}
.cta-band .cta-row .btn.accent{padding:15px 38px}

/* ---- 数字带优化：分隔线渐隐更有呼吸感 ---- */
.hero-stats .hs:not(:last-child)::after{background:linear-gradient(180deg,transparent,rgba(255,255,255,.32),transparent)}

/* ---- why-card 顶部橙蓝渐变条（集团化统一装饰语言） ---- */
.why-card{border-top:3px solid var(--blue-400);position:relative;overflow:hidden}
.why-card::before{content:"";position:absolute;top:-3px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--blue-400));transition:width .45s cubic-bezier(.2,.6,.2,1)}
.why-card:hover::before{width:100%}

/* ---- 首页产品分类板块（F 编号目录 / 磁贴 / 标签 三套排列） ---- */
.home-cats{display:grid;gap:18px}
/* F · 编号目录式：左侧大序号 + 右侧标题下划线，杂志目录质感 */
.home-cats.f{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.home-cats.f .hcat{display:flex;align-items:baseline;gap:18px;padding:18px 6px;border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;transition:.2s}
.home-cats.f .hcat:nth-child(odd){border-right:1px solid var(--line);padding-right:24px}
.home-cats.f .hcat:nth-child(even){padding-left:24px}
.home-cats.f .hcat .idx{font-size:30px;font-weight:800;color:var(--blue-200);min-width:46px;transition:.25s}
.home-cats.f .hcat .ct{display:flex;flex-direction:column;gap:3px}
.home-cats.f .hcat .ct b{font-size:17px;color:var(--blue-800);position:relative}
.home-cats.f .hcat .ct b::after{content:"";position:absolute;left:0;bottom:-5px;width:26px;height:2px;background:var(--gold,#ff6a1a);transition:width .3s}
.home-cats.f .hcat .ct span{font-size:13px;color:var(--muted)}
.home-cats.f .hcat:hover .idx{color:var(--gold,#ff6a1a)}
.home-cats.f .hcat:hover .ct b::after{width:100%}
/* tiles · 磁贴式：图标圆角方块 + 名称，悬停抬升 */
.home-cats.tiles{grid-template-columns:repeat(4,1fr)}
.home-cats.tiles .hcat{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 14px;border:1px solid var(--line);
  border-radius:14px;text-align:center;text-decoration:none;color:inherit;background:var(--white);transition:.22s}
.home-cats.tiles .hcat .ic{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:26px;background:linear-gradient(135deg,var(--blue-500),var(--blue-300));color:#fff}
.home-cats.tiles .hcat:nth-child(3n) .ic{background:linear-gradient(135deg,var(--gold,#ff6a1a),#ffb37a)}
.home-cats.tiles .hcat b{font-size:15.5px;color:var(--blue-800)}
.home-cats.tiles .hcat:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(6,32,60,.14);border-color:var(--blue-200)}
/* chips · 标签式：胶囊横向排布 */
.home-cats.chips{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;gap:12px;padding-bottom:6px}
.home-cats.chips .hcat{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:1px solid var(--line);
  border-radius:999px;text-decoration:none;color:var(--blue-700);font-size:15px;white-space:nowrap;transition:.2s;background:var(--sky)}
.home-cats.chips .hcat:hover{border-color:var(--blue-500);background:var(--blue-500);color:#fff}
@media(max-width:760px){.home-cats.f{grid-template-columns:1fr}.home-cats.f .hcat:nth-child(odd){border-right:0;padding-right:6px}
  .home-cats.f .hcat:nth-child(even){padding-left:6px}.home-cats.tiles{grid-template-columns:repeat(2,1fr)}}

/* ---- 列表页 hero 高度统一 ---- */
.detail-hero{padding:64px 0 56px}
.detail-hero.has-banner{padding:120px 0 96px}

/* ---- 面包屑升级 ---- */
.breadcrumb a{opacity:.92}
.breadcrumb a:hover{opacity:1;text-decoration:underline}

/* ---- 移动端：标题居中自适应 ---- */
@media(max-width:760px){
  .section{padding:64px 0}
  .section>.wrap>.eyebrow{letter-spacing:.2em}
}

/* ============================================================
   v21h · 板块风格系统（每个板块可独立选择布局，互不雷同）
   机制：① 10 套通用布局模式作用于任意 .grid 板块；
        ② 分类 / 公司简介 / CTA / 数据条 / 详情页 各有专属变体；
        ③ 前台依 settings.sectionStyles 给板块加 data-sec-* 与布局类。
   ============================================================ */

/* 列数扩充 */
.grid.c5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1180px){.grid.c5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.grid.c5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.grid.c5{grid-template-columns:1fr}}

/* ---- 10 套通用布局模式（作用于任意 .grid 板块） ---- */
/* 1 横向列表：左图右文 */
.grid.lay-list{grid-template-columns:1fr;gap:16px}
.grid.lay-list>.card{flex-direction:row;align-items:stretch}
.grid.lay-list>.card>.ph,.grid.lay-list>.card>.thumb,.grid.lay-list>.card>.vwrap{flex:0 0 240px;width:240px;height:auto;min-height:168px}
.grid.lay-list>.card>.body{padding:18px 20px;justify-content:center}
.grid.lay-list>.card h3{font-size:19px}
/* 2 编号目录 */
.grid.lay-num{counter-reset:hnum;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.grid.lay-num>.card{flex-direction:row;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;padding:15px 6px;gap:16px}
.grid.lay-num>.card:hover{transform:none;background:var(--blue-50,#eef6ff);border-radius:var(--r)}
.grid.lay-num>.card::before{counter-increment:hnum;content:counter(hnum,decimal-leading-zero);font:800 30px/1 var(--font);color:var(--blue-200);min-width:52px;text-align:center}
.grid.lay-num>.card>.ph,.grid.lay-num>.card>.thumb{flex:0 0 116px;width:116px;height:80px;border-radius:8px}
.grid.lay-num>.card h3{font-size:18px}
.grid.lay-num>.card p{display:none}
.grid.lay-num>.card .more{margin-left:auto}
/* 3 横向滑动条 */
.grid.lay-strip{grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);grid-template-columns:none;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;gap:16px}
.grid.lay-strip>.card{scroll-snap-align:start}
.grid.lay-strip>.card>.ph,.grid.lay-strip>.card>.thumb{height:150px}
/* 4 焦点大卡：首张大跨两列 */
.grid.lay-feature>.card:first-child{grid-column:span 2}
.grid.lay-feature>.card:first-child>.ph,.grid.lay-feature>.card:first-child>.thumb{height:264px}
.grid.lay-feature>.card:first-child h3{font-size:22px}
/* 5 左右交替 */
.grid.lay-zebra{grid-template-columns:1fr;gap:22px}
.grid.lay-zebra>.card{flex-direction:row;align-items:center}
.grid.lay-zebra>.card:nth-child(even){flex-direction:row-reverse}
.grid.lay-zebra>.card>.ph,.grid.lay-zebra>.card>.thumb{flex:0 0 300px;width:300px;height:200px}
/* 6 瀑布错落 */
.grid.lay-masonry{display:block;columns:3;column-gap:24px}
.grid.lay-masonry>.card{display:inline-flex;width:100%;margin:0 0 24px;break-inside:avoid}
.grid.lay-masonry>.card>.ph,.grid.lay-masonry>.card>.thumb{height:auto;min-height:120px}
@media(max-width:860px){.grid.lay-masonry{columns:2}}
@media(max-width:560px){.grid.lay-masonry{columns:1}}
/* 7 紧凑小卡 */
.grid.lay-mini{grid-template-columns:repeat(5,1fr);gap:14px}
.grid.lay-mini>.card>.ph,.grid.lay-mini>.card>.thumb{height:120px}
.grid.lay-mini>.card>.body{padding:12px}
.grid.lay-mini>.card h3{font-size:14.5px;margin-bottom:4px}
.grid.lay-mini>.card p,.grid.lay-mini>.card .meta,.grid.lay-mini>.card .more{display:none}
@media(max-width:860px){.grid.lay-mini{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.grid.lay-mini{grid-template-columns:repeat(2,1fr)}}
/* 8 展示台：首张大图 + 缩略 */
.grid.lay-showcase{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.grid.lay-showcase>.card:first-child{grid-row:span 2}
.grid.lay-showcase>.card:first-child>.ph,.grid.lay-showcase>.card:first-child>.thumb{height:100%;min-height:330px}
.grid.lay-showcase>.card>.ph,.grid.lay-showcase>.card>.thumb{height:152px}
/* 9 时间线 */
.grid.lay-timeline{grid-template-columns:1fr;gap:0;position:relative}
.grid.lay-timeline::before{content:'';position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:var(--blue-200)}
.grid.lay-timeline>.card{flex-direction:row;align-items:flex-start;background:transparent;border:0;box-shadow:none;padding:0 0 22px 54px;position:relative}
.grid.lay-timeline>.card::before{content:'';position:absolute;left:11px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--blue-500);border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-200)}
.grid.lay-timeline>.card>.ph,.grid.lay-timeline>.card>.thumb{flex:0 0 118px;width:118px;height:86px;border-radius:8px}
.grid.lay-timeline>.card:hover{transform:none}
/* 10 拼贴大卡：首行整宽 + 下方两列 */
.grid.lay-banner{grid-template-columns:repeat(2,1fr);gap:16px}
.grid.lay-banner>.card:first-child{grid-column:1/-1}
.grid.lay-banner>.card:first-child>.ph,.grid.lay-banner>.card:first-child>.thumb{height:240px}
.grid.lay-banner>.card:first-child h3{font-size:22px}
@media(max-width:760px){.grid.lay-banner{grid-template-columns:1fr}}

/* ---- 首页产品分类：10 套排列（data-cats 控制） ---- */
.home-cats .hcat{display:block}
/* off 由 JS 隐藏整段；grid4 四列卡 */
.home-cats.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-cats.grid4 .hcat{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-sm);transition:.25s}
.home-cats.grid4 .hcat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue-200)}
.home-cats.grid4 .hcat .ic{font-size:26px;display:block;margin-bottom:8px}
/* carousel 横滑 */
.home-cats.carousel{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.home-cats.carousel .hcat{flex:0 0 200px;scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-sm)}
.home-cats.carousel .hcat .ic{font-size:26px;display:block;margin-bottom:8px}
/* mega 大网格带描述 */
.home-cats.mega{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-cats.mega .hcat{display:flex;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--blue-500);border-radius:10px;padding:16px}
.home-cats.mega .hcat .ic{font-size:28px}
.home-cats.mega .hcat .ct{display:flex;flex-direction:column}
/* dropdown 横排下拉感（圆角胶囊 + 分隔） */
.home-cats.dropdown{display:flex;flex-wrap:wrap;gap:12px}
.home-cats.dropdown .hcat{background:var(--blue-50,#eef6ff);border:1px solid var(--blue-200);border-radius:999px;padding:12px 22px;font-weight:600;color:var(--blue-700)}
.home-cats.dropdown .hcat:hover{background:var(--blue-500);color:#fff}
/* accordion 竖向手风琴感（带前置条） */
.home-cats.accordion{display:flex;flex-direction:column;gap:10px}
.home-cats.accordion .hcat{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:16px 18px;position:relative;overflow:hidden}
.home-cats.accordion .hcat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue-500)}
.home-cats.accordion .hcat .ic{font-size:24px}
.home-cats.accordion .hcat .ct{display:flex;flex-direction:column}
/* side 左侧分类 + 右侧产品（data-cats=side 由 JS 生成 .cats-side 结构） */
.home-cats.side .cats-side{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start}
.home-cats.side .cats-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:90px}
.home-cats.side .cats-nav a{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;transition:.2s}
.home-cats.side .cats-nav a:hover,.home-cats.side .cats-nav a.on{background:var(--blue-500);color:#fff;border-color:var(--blue-500)}
.home-cats.side .cats-prods .grid{margin-top:0}
@media(max-width:860px){.home-cats.side .cats-side{grid-template-columns:1fr}.home-cats.side .cats-nav{position:static;flex-direction:row;flex-wrap:wrap}.home-cats.side .cats-nav a{flex:1 1 140px}}
@media(max-width:760px){.home-cats.grid4,.home-cats.mega{grid-template-columns:repeat(2,1fr)}}

/* ---- 首页公司简介：6 套（body[data-sec-about=k]） ---- */
.about-wrap{display:grid;gap:30px;align-items:center}
body[data-sec-about="imgleft"] .about-wrap,body[data-sec-about="imgright"] .about-wrap{grid-template-columns:1fr 1fr}
body[data-sec-about="imgright"] .about-wrap .about-media{order:2}
body[data-sec-about="twocol"] .about-wrap{grid-template-columns:1.1fr .9fr}
body[data-sec-about="twocol"] .about-wrap .about-media{border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
body[data-sec-about="badges"] .about-wrap{grid-template-columns:1.4fr .6fr}
body[data-sec-about="badges"] .about-badges{display:grid;gap:12px}
body[data-sec-about="badges"] .about-badges div{background:var(--blue-50,#eef6ff);border:1px solid var(--blue-200);border-radius:12px;padding:16px;text-align:center}
body[data-sec-about="badges"] .about-badges b{display:block;font-size:22px;color:var(--blue-700)}
body[data-sec-about="timeline"] .about-wrap{display:block;position:relative;padding-left:30px}
body[data-sec-about="timeline"] .about-wrap::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--blue-200)}
body[data-sec-about="timeline"] .about-media{margin-top:18px;border-radius:12px;overflow:hidden}
.about-media img{width:100%;display:block;border-radius:14px}
@media(max-width:760px){body[data-sec-about] .about-wrap{grid-template-columns:1fr!important}.about-media{order:0!important}}

/* ---- CTA 横幅：10 套（body[data-sec-cta=k]） ---- */
body[data-sec-cta="split"] .cta-band{text-align:left}
body[data-sec-cta="split"] .cta-band .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}
body[data-sec-cta="split"] .cta-band .cta-row{justify-content:flex-start}
body[data-sec-cta="split"] .cta-band p{margin-left:0}
body[data-sec-cta="dark"] .cta-band{background:linear-gradient(120deg,#0a0d12,#1a2330)}
body[data-sec-cta="gradient"] .cta-band{background:linear-gradient(120deg,var(--blue-800),var(--gold,#ff6a1a))}
body[data-sec-cta="gradient"] .cta-band p{color:#fff}
body[data-sec-cta="image"] .cta-band{background:#042a4e url('assets/img/band-factory.png') center/cover no-repeat}
body[data-sec-cta="image"] .cta-band::before{content:'';position:absolute;inset:0;background:rgba(4,20,40,.66);z-index:1}
body[data-sec-cta="image"] .cta-band .wrap{z-index:3}
body[data-sec-cta="minimal"] .cta-band{background:var(--white);color:var(--ink);border-top:3px solid var(--blue-500)}
body[data-sec-cta="minimal"] .cta-band h2{color:var(--blue-800)}
body[data-sec-cta="minimal"] .cta-band p{color:var(--muted)}
body[data-sec-cta="minimal"] .cta-band .btn.accent{background:var(--blue-500);color:#fff}
body[data-sec-cta="pill"] .cta-band{border-radius:0}
body[data-sec-cta="pill"] .cta-band .wrap{background:rgba(255,255,255,.08);border-radius:26px;padding:34px}
body[data-sec-cta="accentbar"] .cta-band{padding-top:0}
body[data-sec-cta="accentbar"] .cta-band::before{content:'';display:block;height:8px;background:linear-gradient(90deg,var(--gold,#ff6a1a),var(--blue-400));position:absolute;top:0;left:0;right:0;z-index:4}
body[data-sec-cta="bubbles"] .cta-band::before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.1);top:-90px;right:-60px;z-index:1}
body[data-sec-cta="bubbles"] .cta-band::after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:2px solid rgba(255,255,255,.18);bottom:-70px;left:8%;z-index:1}
body[data-sec-cta="wide"] .cta-band{border-radius:0;padding:92px 0}
@media(max-width:760px){body[data-sec-cta="split"] .cta-band .wrap{grid-template-columns:1fr}}

/* ---- 数据条 / 证书条 / 图带：10 套（body[data-sec-stats=k]） ---- */
body[data-sec-stats="minimal"] .certstrip{display:none}
body[data-sec-stats="minimal"] .img-band{display:none}
body[data-sec-stats="dark"] .certstrip{background:#0b0f16;border-bottom:1px solid rgba(255,255,255,.08)}
body[data-sec-stats="dark"] .certstrip .badge{border-color:rgba(255,255,255,.18);color:#cfe3fa;background:transparent}
body[data-sec-stats="dark"] .img-band{background:linear-gradient(120deg,#0a0d12,#1a2330)}
body[data-sec-stats="gradient"] .certstrip{background:linear-gradient(120deg,var(--blue-800),var(--gold,#ff6a1a))}
body[data-sec-stats="gradient"] .certstrip .badge{border:0;color:#fff;background:rgba(255,255,255,.16)}
body[data-sec-stats="gradient"] .img-band{background:linear-gradient(120deg,var(--blue-800),var(--blue-400))}
body[data-sec-stats="pills"] .certstrip .badge{border-radius:999px}
body[data-sec-stats="grid4"] .img-band{display:none}
body[data-sec-stats="grid4"] .hero-stats{grid-template-columns:repeat(4,1fr)}
body[data-sec-stats="bubbles"] .img-band::before{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.1);right:-60px;bottom:-90px}
body[data-sec-stats="bubbles"] .img-band{overflow:hidden;position:relative}
body[data-sec-stats="band"] .certstrip{display:none}
body[data-sec-stats="band"] .img-band{min-height:240px}
body[data-sec-stats="band"] .img-band .band-kpi{grid-template-columns:repeat(3,1fr)}
body[data-sec-stats="inline"] .certstrip{display:none}
body[data-sec-stats="inline"] .hero-stats .hs{background:var(--blue-50,#eef6ff);border-radius:12px;padding:16px}
body[data-sec-stats="inline"] .hero-stats .hs b{color:var(--blue-700)}
body[data-sec-stats="hero"] .hero-stats .hs b{font-size:38px}
body[data-sec-stats="hero"] .hero-stats{gap:26px;padding-top:18px}

/* ---- 内页详情页：10 套（body[data-sec-detail=k]） ---- */
body[data-sec-detail="gallery-right"] .detail-grid{grid-template-columns:1fr 1.05fr}
body[data-sec-detail="gallery-right"] .detail-grid>div:first-child{order:2}
body[data-sec-detail="stacked"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="stacked"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="stacked"] .detail-grid>div:first-child .gal-main,.detail-grid>div:first-child .gal-main img{min-height:360px;object-fit:cover}
body[data-sec-detail="wide-hero"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="wide-hero"] .detail-grid>div:first-child{grid-column:1/-1;margin-bottom:8px}
body[data-sec-detail="wide-hero"] .detail-grid>div:first-child .gal-main{border-radius:18px;overflow:hidden}
body[data-sec-detail="twocol"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch}
body[data-sec-detail="twocol"] .detail-grid>div:first-child .gal-thumbs{display:none}
body[data-sec-detail="sticky-info"] .detail-grid{grid-template-columns:1.05fr 1fr}
body[data-sec-detail="sticky-info"] .detail-grid>div:last-child{position:sticky;top:96px}
body[data-sec-detail="compact"] .detail-grid{grid-template-columns:.8fr 1.2fr;gap:20px}
body[data-sec-detail="compact"] .detail-grid>div:first-child .gal-thumbs{display:none}
body[data-sec-detail="cards-below"] .detail-grid{display:block}
body[data-sec-detail="cards-below"] .detail-grid>div:first-child{margin-bottom:24px}
body[data-sec-detail="minimal"] .detail-grid{grid-template-columns:1fr;max-width:760px;margin:0 auto}
body[data-sec-detail="minimal"] .detail-grid>div:first-child{display:none}
body[data-sec-detail="cards"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="cards"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="cards"] .detail-grid>div:last-child{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);margin-top:16px}

/* ---- v49 新增：不裁切原图比例（object-fit:contain，保留完整比例） ---- */
body[data-sec-detail="fit-left"] .detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px}
body[data-sec-detail="fit-left"] .gal-main{height:auto;background:#fff;padding:12px;border:1px solid var(--line);border-radius:14px}
body[data-sec-detail="fit-left"] .gal-main img{object-fit:contain;width:100%;height:auto;max-height:540px}
body[data-sec-detail="fit-left"] .gal-thumbs{display:none}
body[data-sec-detail="fit-top"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="fit-top"] .detail-grid>div:first-child{grid-column:1/-1;margin-bottom:20px}
body[data-sec-detail="fit-top"] .gal-main{height:auto;background:#fff;padding:12px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center}
body[data-sec-detail="fit-top"] .gal-main img{object-fit:contain;width:100%;height:auto;max-height:560px}
body[data-sec-detail="fit-top"] .gal-thumbs{display:none}
body[data-sec-detail="fit-frame"] .detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:30px}
body[data-sec-detail="fit-frame"] .gal-main{height:auto;background:#fff;padding:16px;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 34px rgba(20,40,70,.12)}
body[data-sec-detail="fit-frame"] .gal-main img{object-fit:contain;width:100%;height:auto;max-height:540px}
body[data-sec-detail="fit-frame"] .gal-thumbs{display:none}

/* ---- v49 新增：一个产品多图展示（主图 + 缩略带 / 网格 / 九宫格） ---- */
body[data-sec-detail="multi-strip"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="multi-strip"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="multi-strip"] .gal-main{height:auto}
body[data-sec-detail="multi-strip"] .gal-main img{object-fit:contain;width:100%;height:auto;max-height:520px}
body[data-sec-detail="multi-strip"] .gal-thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:8px}
body[data-sec-detail="multi-strip"] .gth{width:104px;height:80px;flex:0 0 auto}
body[data-sec-detail="multi-grid"] .detail-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:22px}
body[data-sec-detail="multi-grid"] .gal-main{height:auto}
body[data-sec-detail="multi-grid"] .gal-main img{object-fit:contain;width:100%;height:auto;max-height:480px}
body[data-sec-detail="multi-grid"] .gal-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:0;align-content:start}
body[data-sec-detail="multi-grid"] .gal-thumbs .gth:first-child{display:none}
body[data-sec-detail="multi-grid"] .gth{width:100%;height:92px}
body[data-sec-detail="multi-all"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="multi-all"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="multi-all"] .gal-main{display:none}
body[data-sec-detail="multi-all"] .gal-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
body[data-sec-detail="multi-all"] .gth{width:100%;height:128px}
body[data-sec-detail="multi-all"] .gth img{object-fit:cover}

@media(max-width:760px){body[data-sec-detail] .detail-grid{grid-template-columns:1fr!important}body[data-sec-detail] .detail-grid>div:first-child{order:0!important;grid-column:auto!important}}

/* ---- 内页产品列表：左侧分类 + 右侧产品（data-sec-list=side） ---- */
.prod-side{display:none}
body[data-sec-list="side"] .prod-layout{grid-template-columns:220px 1fr;gap:24px;align-items:start}
body[data-sec-list="side"] .prod-side{display:block;position:sticky;top:90px}
body[data-sec-list="side"] .prod-side .ps-h{font-weight:700;color:var(--blue-800);margin-bottom:10px;font-size:14px;letter-spacing:.04em}
body[data-sec-list="side"] .prod-side a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;margin-bottom:8px;transition:.2s}
body[data-sec-list="side"] .prod-side a:hover,body[data-sec-list="side"] .prod-side a.on{background:var(--blue-500);color:#fff;border-color:var(--blue-500)}
body[data-sec-list="side"] .prod-side a .ic{font-size:18px}
@media(max-width:860px){body[data-sec-list="side"] .prod-layout{grid-template-columns:1fr}body[data-sec-list="side"] .prod-side{position:static;display:flex;flex-wrap:wrap;gap:8px}body[data-sec-list="side"] .prod-side a{margin:0;flex:1 1 130px}}

/* ============================================================
   可视化编辑器（?edit=1 进入）—— 仅编辑态生效，不影响前台/静态导出
   ============================================================ */
body.ve-on { padding-top: 46px; }
/* 让首页各板块在编辑态可被描边与定位 */
body.ve-on #home-root > .home-block { position: relative; }
body.ve-on #home-root > .home-block:hover { outline: 2px dashed rgba(43,108,176,.55); outline-offset: -2px; }
body.ve-on #home-root > .home-block.ve-sel { outline: 3px solid var(--blue-600,#2b6cb0); outline-offset: -3px; box-shadow: 0 0 0 9999px rgba(43,108,176,.05); }
body.ve-on #home-root > .home-block.ve-custom { background: rgba(43,108,176,.04); }

/* 顶部编辑栏 */
#ve-bar { position: fixed; top: 0; left: 0; right: 0; height: 46px; z-index: 10000;
  display: flex; align-items: center; justify-content: space-between; padding: 0 16px;
  background: linear-gradient(90deg,#1f3a5f,#2b6cb0); color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.25); font-size: 14px; }
#ve-bar .ve-bar-l b { margin-left: 4px; }
#ve-bar .ve-bar-c { opacity: .85; }
#ve-bar .ve-bar-r { display: flex; gap: 8px; }
.ve-btn { border: 0; border-radius: 8px; padding: 7px 12px; font-size: 13px; font-weight: 600;
  background: rgba(255,255,255,.16); color: #fff; cursor: pointer; transition: .15s; }
.ve-btn:hover { background: rgba(255,255,255,.3); }
.ve-btn.sm { display: inline-block; background: #eef3f9; color: #1f3a5f; padding: 8px 10px; }
.ve-btn.sm:hover { background: #dde8f4; }
.ve-btn.ve-done { background: #2ecc71; }
.ve-btn.ve-done:hover { background: #27c06a; }
.ve-btn.ve-del { background: #fdecea; color: #c0392b; }
.ve-btn.ve-go { background: #fff4e0; color: #b9760a; text-decoration: none; }
.ve-btn.ve-del:hover { background: #f9d6d2; }

/* 板块悬浮工具条 */
.ve-toolbar { position: absolute; top: 8px; right: 8px; z-index: 50; display: none; gap: 4px;
  background: #1f3a5f; padding: 5px; border-radius: 10px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
body.ve-on #home-root > .home-block:hover > .ve-toolbar,
body.ve-on #home-root > .home-block.ve-sel > .ve-toolbar { display: flex; }
.ve-tb { width: 30px; height: 30px; border: 0; border-radius: 7px; background: rgba(255,255,255,.14);
  color: #fff; font-size: 15px; cursor: pointer; transition: .15s; }
.ve-tb:hover { background: rgba(255,255,255,.34); }
.ve-tb-del:hover { background: #e74c3c; }

/* 右侧检查器 */
#ve-inspect { position: fixed; top: 46px; right: 0; bottom: 0; width: 330px; z-index: 9999;
  background: #fff; box-shadow: -4px 0 18px rgba(0,0,0,.12); transform: translateX(105%); transition: transform .2s;
  display: flex; flex-direction: column; font-size: 13px; color: #223; }
#ve-inspect.open { transform: translateX(0); }
.ve-insp-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px;
  background: #1f3a5f; color: #fff; font-weight: 700; }
.ve-x { border: 0; background: transparent; color: #fff; font-size: 20px; cursor: pointer; line-height: 1; }
#ve-insp-body { padding: 14px; overflow-y: auto; flex: 1; }
.ve-sec-t { font-weight: 700; color: #1f3a5f; margin: 14px 0 8px; font-size: 12.5px; letter-spacing: .03em; }
.ve-sec-t:first-child { margin-top: 0; }
.ve-fld { display: block; margin-bottom: 10px; }
.ve-fld > span { display: block; color: #667; margin-bottom: 4px; font-size: 12px; }
.ve-in { width: 100%; box-sizing: border-box; border: 1px solid #d7e0ea; border-radius: 8px; padding: 8px 10px;
  font-size: 13px; color: #223; font-family: inherit; }
.ve-in:focus { outline: none; border-color: #2b6cb0; box-shadow: 0 0 0 3px rgba(43,108,176,.15); }
textarea.ve-in { resize: vertical; }
.ve-tip { font-size: 11.5px; color: #8a97a6; line-height: 1.5; margin: 4px 0 2px; }
.ve-acts { display: flex; flex-wrap: wrap; gap: 6px; }
.ve-go { text-align: center; margin-top: 10px; }

/* 添加模块面板 */
#ve-palette { position: fixed; top: 46px; left: 0; bottom: 0; width: 300px; z-index: 9999;
  background: #fff; box-shadow: 4px 0 18px rgba(0,0,0,.12); transform: translateX(-105%); transition: transform .2s;
  padding: 14px; overflow-y: auto; }
#ve-palette.open { transform: translateX(0); }
.ve-pal-head { font-weight: 700; color: #1f3a5f; margin: 4px 0 8px; font-size: 12.5px; }
.ve-pal-head:not(:first-child) { margin-top: 16px; border-top: 1px solid #eef; padding-top: 14px; }
.ve-pal-item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  border: 1px solid #d7e0ea; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; background: #fafcff; transition: .15s; }
.ve-pal-item:hover { border-color: #2b6cb0; background: #eef4fb; }
.ve-pal-ic { font-size: 20px; }
.ve-pal-tx { display: flex; flex-direction: column; }
.ve-pal-tx b { color: #1f3a5f; }
.ve-pal-tx i { font-style: normal; color: #8a97a6; font-size: 11.5px; }

/* 编辑态：屏蔽首页内部链接跳转的视觉提示（hover 不变蓝） */
body.ve-on #home-root a { cursor: pointer; }

@media (max-width: 760px) {
  #ve-inspect { width: 86%; }
  #ve-palette { width: 86%; }
}

/* 编辑态：已隐藏 / 已删除板块显示为红色虚线占位，工具条常驻以便一键恢复 */
body.ve-on #home-root > .home-block.ve-hidden { outline: 2px dashed #c0392b; opacity: .55; min-height: 46px; }
body.ve-on #home-root > .home-block.ve-hidden > .ve-toolbar { display: flex; }

/* ============================================================
   页脚 10 套风格变体（后台 / 可视化编辑器「🦶 页脚风格」切换，data-foot=f1..f10）
   选择器刻意用 body 前缀把特异性抬到 (0,2,1)，压过 body[data-theme] 主题页脚色；
   本段位于文件末尾，同特异性后者胜。
   ============================================================ */
/* f1 经典深蓝四栏（默认基调，明确化） */
body .site-footer[data-foot="f1"]{background:linear-gradient(180deg,#10243f,#0c1c33);color:#a9c6e6}
body .site-footer[data-foot="f1"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f1"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:var(--gold)}
body .site-footer[data-foot="f1"]::before{background:linear-gradient(90deg,var(--gold),var(--blue-300),var(--gold))}
body .site-footer[data-foot="f1"] a{color:#a9c6e6}
body .site-footer[data-foot="f1"] a:hover{color:#fff}
body .site-footer[data-foot="f1"] p{color:#a9c6e6}
body .site-footer[data-foot="f1"] > .wrap:not(.cols){color:#7e90a3}

/* f2 浅色极简 */
body .site-footer[data-foot="f2"]{background:#f4f7fb;color:#3c4a59;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="f2"]::before{background:linear-gradient(90deg,#2b6cb0,#9ec3e8,#2b6cb0);height:2px}
body .site-footer[data-foot="f2"] h4{color:#1f3a5f;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f2"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#2b6cb0}
body .site-footer[data-foot="f2"] a{color:#2b6cb0}
body .site-footer[data-foot="f2"] a:hover{color:#1f3a5f}
body .site-footer[data-foot="f2"] p{color:#5b6b7c}
body .site-footer[data-foot="f2"] > .wrap:not(.cols){color:#8392a3;border-top:1px solid #e3e9f1;margin-top:18px;padding-top:16px}

/* f3 品牌渐变大CTA */
body .site-footer[data-foot="f3"]{background:linear-gradient(135deg,#1f3a5f,#2b6cb0);color:#dce8f5}
body .site-footer[data-foot="f3"]::before{background:linear-gradient(90deg,#ffd479,#fff,#ffd479);height:3px}
body .site-footer[data-foot="f3"] h4{color:#fff}
body .site-footer[data-foot="f3"] a{color:#cfe2f5}
body .site-footer[data-foot="f3"] a:hover{color:#fff}
body .site-footer[data-foot="f3"] p{color:#cfe2f5}
body .site-footer[data-foot="f3"] .cols{grid-template-columns:repeat(3,1fr)}
body .site-footer[data-foot="f3"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="f3"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="f3"] > .wrap:not(.cols){color:#bcd2e8;text-align:center}

/* f4 深林绿 */
body .site-footer[data-foot="f4"]{background:linear-gradient(180deg,#0f2a1d,#0a1f15);color:#bfe6cf}
body .site-footer[data-foot="f4"]::before{background:linear-gradient(90deg,#5fbf8a,#bfe6cf,#5fbf8a);height:3px}
body .site-footer[data-foot="f4"] h4{color:#eafff2;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f4"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#5fbf8a}
body .site-footer[data-foot="f4"] a{color:#a9e6c4}
body .site-footer[data-foot="f4"] a:hover{color:#eafff2}
body .site-footer[data-foot="f4"] p{color:#a9e6c4}
body .site-footer[data-foot="f4"] > .wrap:not(.cols){color:#7fae93}

/* f5 暖橙活力 */
body .site-footer[data-foot="f5"]{background:linear-gradient(180deg,#c2410c,#ea580c);color:#ffe9db}
body .site-footer[data-foot="f5"]::before{background:linear-gradient(90deg,#fff,#ffd0a8,#fff);height:3px}
body .site-footer[data-foot="f5"] h4{color:#fff}
body .site-footer[data-foot="f5"] a{color:#ffe1cc}
body .site-footer[data-foot="f5"] a:hover{color:#fff}
body .site-footer[data-foot="f5"] p{color:#ffe1cc}
body .site-footer[data-foot="f5"] > .wrap:not(.cols){color:#ffd9c2}

/* f6 紫罗兰现代 */
body .site-footer[data-foot="f6"]{background:linear-gradient(180deg,#1e1430,#2d1b4e);color:#d8c9f0}
body .site-footer[data-foot="f6"]::before{background:linear-gradient(90deg,#b794f6,#e9defb,#b794f6);height:3px}
body .site-footer[data-foot="f6"] h4{color:#f3e9ff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f6"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#b794f6}
body .site-footer[data-foot="f6"] a{color:#cbb8f0}
body .site-footer[data-foot="f6"] a:hover{color:#fff}
body .site-footer[data-foot="f6"] p{color:#cbb8f0}
body .site-footer[data-foot="f6"] > .wrap:not(.cols){color:#9a86c4}

/* f7 黑白高对比 */
body .site-footer[data-foot="f7"]{background:#0a0a0a;color:#e6e6e6}
body .site-footer[data-foot="f7"]::before{background:linear-gradient(90deg,#fff,#777,#fff);height:2px}
body .site-footer[data-foot="f7"] h4{color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:13.5px}
body .site-footer[data-foot="f7"] a{color:#e6e6e6}
body .site-footer[data-foot="f7"] a:hover{color:#fff;text-decoration:underline}
body .site-footer[data-foot="f7"] p{color:#bdbdbd}
body .site-footer[data-foot="f7"] > .wrap:not(.cols){color:#9a9a9a;border-top:1px solid #262626;margin-top:18px;padding-top:16px}

/* f8 大Logo三栏 */
body .site-footer[data-foot="f8"]{background:linear-gradient(180deg,#0f172a,#111c30);color:#aebfd4}
body .site-footer[data-foot="f8"]::before{background:linear-gradient(90deg,#38bdf8,#0ea5e9,#38bdf8);height:3px}
body .site-footer[data-foot="f8"] h4{color:#fff}
body .site-footer[data-foot="f8"] .cols{grid-template-columns:repeat(3,1fr)}
body .site-footer[data-foot="f8"] .cols>div:first-child{grid-column:1/-1;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}
body .site-footer[data-foot="f8"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="f8"] a{color:#aebfd4}
body .site-footer[data-foot="f8"] a:hover{color:#fff}
body .site-footer[data-foot="f8"] p{color:#aebfd4}
body .site-footer[data-foot="f8"] > .wrap:not(.cols){color:#8295ad}

/* f9 卡片网格 */
body .site-footer[data-foot="f9"]{background:linear-gradient(180deg,#0b1322,#0f1a2e);color:#c4d2e4}
body .site-footer[data-foot="f9"]::before{background:linear-gradient(90deg,#22d3ee,#0ea5e9,#22d3ee);height:3px}
body .site-footer[data-foot="f9"] h4{color:#7fe3f2}
body .site-footer[data-foot="f9"] .cols{gap:16px}
body .site-footer[data-foot="f9"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="f9"] a{color:#c4d2e4}
body .site-footer[data-foot="f9"] a:hover{color:#7fe3f2}
body .site-footer[data-foot="f9"] p{color:#9fb1c8}
body .site-footer[data-foot="f9"] > .wrap:not(.cols){color:#8295ad}

/* f10 居中描边（浅色） */
body .site-footer[data-foot="f10"]{background:#ffffff;color:#46566a;border-top:4px solid #2b6cb0;padding-top:40px}
body .site-footer[data-foot="f10"]::before{display:none}
body .site-footer[data-foot="f10"] .cols{display:block;text-align:center}
body .site-footer[data-foot="f10"] .cols>div{display:inline-block;vertical-align:top;margin:0 22px 18px;text-align:left;min-width:150px}
body .site-footer[data-foot="f10"] h4{color:#1f3a5f;position:relative;padding-bottom:8px}
body .site-footer[data-foot="f10"] h4::after{content:"";position:absolute;left:0;bottom:-4px;width:24px;height:3px;border-radius:3px;background:#2b6cb0}
body .site-footer[data-foot="f10"] a{color:#2b6cb0}
body .site-footer[data-foot="f10"] a:hover{color:#1f3a5f}
body .site-footer[data-foot="f10"] p{color:#5b6b7c}
body .site-footer[data-foot="f10"] > .wrap:not(.cols){color:#8392a3;text-align:center;border-top:1px solid #e6ecf3;margin-top:14px;padding-top:14px}

/* 页脚变体 · 移动端回落为两栏，避免三/四栏挤在一起 */
@media(max-width:760px){
  .site-footer[data-foot] .cols{grid-template-columns:1fr 1fr !important}
  .site-footer[data-foot="f10"] .cols>div{display:block;margin:0 0 14px;text-align:center}
  .site-footer[data-foot="f10"] h4::after{left:50%;transform:translateX(-50%)}
}

/* ---------- 内页/通用：点文字就地改（编辑态） ---------- */
body.ve-on [data-i18n]{ cursor:text; border-radius:4px; transition:.12s; }
body.ve-on [data-i18n]:hover{ outline:1px dashed rgba(43,108,176,.7); outline-offset:2px; background:rgba(43,108,176,.06); }
body.ve-on [data-i18n].ve-sel{ outline:2px solid var(--blue-600,#2b6cb0); outline-offset:2px; background:rgba(43,108,176,.1); }

/* 内联文字编辑气泡 */
#ve-inline{ position:fixed; z-index:10002; width:300px; background:#fff; border-radius:12px;
  box-shadow:0 10px 34px rgba(0,0,0,.28); padding:12px; font-size:13px; color:#223; }
#ve-inline .ve-inline-h{ font-weight:700; color:#1f3a5f; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
#ve-inline .ve-inline-lang{ margin-left:auto; font-size:11px; background:#eef3f9; color:#2b6cb0; padding:2px 8px; border-radius:20px; font-weight:600; }
#ve-inline .ve-inline-h code{ font-size:11px; background:#f1f5fa; color:#5b6b7c; padding:1px 6px; border-radius:5px; }
#ve-inline textarea.ve-in{ width:100%; box-sizing:border-box; }
#ve-inline .ve-inline-acts{ display:flex; gap:8px; margin-top:10px; }

/* 页脚风格选择面板 */
#ve-foot{ position:fixed; top:46px; left:0; bottom:0; width:320px; z-index:9999;
  background:#fff; box-shadow:4px 0 18px rgba(0,0,0,.12); transform:translateX(-105%); transition:transform .2s; padding:14px; overflow-y:auto; }
#ve-foot.open{ transform:translateX(0); }
.ve-foot-head{ font-weight:700; color:#1f3a5f; margin:0 0 10px; font-size:13px; }
.ve-foot-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; cursor:pointer;
  border:1px solid #d7e0ea; border-radius:10px; padding:9px 11px; margin-bottom:9px; background:#fafcff; transition:.15s; }
.ve-foot-item:hover{ border-color:#2b6cb0; background:#eef4fb; }
.ve-foot-item.active{ border-color:#2b6cb0; box-shadow:0 0 0 3px rgba(43,108,176,.18); }
.ve-foot-sw{ width:42px; height:42px; border-radius:8px; flex:0 0 auto; border:1px solid rgba(0,0,0,.08); }
.ve-foot-tx b{ color:#1f3a5f; }
.ve-foot-tx i{ font-style:normal; color:#8a97a6; font-size:11.5px; }
.ve-foot-tip{ font-size:11.5px; color:#8a97a6; line-height:1.5; margin-top:4px; }

/* ---------- 通用板块（导航/Banner/页脚/首页板块）悬停工具条 & 提示 ---------- */
body.ve-on .ve-chrome:hover > .ve-toolbar { display: flex; }
#ve-toast { position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%) translateY(14px);
  background: #1f3a5f; color: #fff; padding: 10px 18px; border-radius: 22px; font-size: 13.5px;
  box-shadow: 0 8px 24px rgba(0,0,0,.3); opacity: 0; pointer-events: none; transition: .22s; z-index: 10003; }
#ve-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- 板块导航面板（☰）与板块名称标签 ---------- */
#ve-map { position: fixed; top: 46px; left: 0; bottom: 0; width: 300px; z-index: 9999;
  background: #fff; box-shadow: 4px 0 18px rgba(0,0,0,.12); transform: translateX(-105%); transition: transform .2s; padding: 14px; overflow-y: auto; }
#ve-map.open { transform: translateX(0); }
.ve-map-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer;
  border: 1px solid #d7e0ea; border-radius: 9px; padding: 9px 12px; margin-bottom: 7px; background: #fafcff; transition: .15s; font-size: 13px; color: #1f3a5f; }
.ve-map-item:hover { border-color: #2b6cb0; background: #eef4fb; }
.ve-map-item.off { opacity: .5; }
.ve-map-item.off > span { text-decoration: line-through; }
.ve-map-eye { border: 0; background: #eef3f9; border-radius: 6px; cursor: pointer; padding: 3px 7px; font-size: 12px; }
.ve-map-eye:hover { background: #dde8f4; }
.ve-chip { position: absolute; top: 6px; left: 6px; z-index: 51; display: none; pointer-events: none;
  background: #1f3a5f; color: #fff; font-size: 11px; padding: 3px 9px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
body.ve-on .ve-chrome:hover > .ve-chip { display: block; }
body.ve-on .ve-chrome.ve-sel { outline: 3px solid var(--blue-600,#2b6cb0); outline-offset: -3px; }
/* 顶栏按钮更紧凑（按钮变多后防溢出） */
#ve-bar .ve-btn { padding: 6px 10px; font-size: 12.5px; }

/* 编辑器顶栏「页面切换」下拉（跨页可视化编辑入口） */
#ve-bar select.ve-page-sel { width: auto; padding: 6px 10px; font-size: 12.5px; font-weight: 600;
  border: 0; border-radius: 8px; cursor: pointer; outline: none; max-width: 170px; }
#ve-bar select.ve-page-sel option { background: #fff; color: #1f3a5f; }

/* 编辑态：内页全局板块悬停描边（与首页板块一致的可编辑视觉提示） */
body.ve-on .ve-chrome:hover { outline: 2px dashed rgba(43,108,176,.55); outline-offset: -2px; }

/* ============================================================
   内页整页模板（v22）：data-pstyle=p1..p20（settings.pageStyles 驱动）
   共享挂点：每套模板通过 --pk-1/--pk-2/--pk-bg/--pk-h1/--pk-h2/--pk-rad 变量
   染色；再各自叠加 3~6 条结构规则形成明显差异。本段位于文件末尾，优先级最高。
   ============================================================ */
body[data-pstyle]{background:var(--pk-bg)}
body[data-pstyle] .detail-hero{background:linear-gradient(118deg,var(--pk-h1) 0%,var(--pk-h2) 72%,var(--pk-1) 135%)}
body[data-pstyle] .detail-hero p{color:rgba(255,255,255,.85)}
body[data-pstyle] .detail-hero .breadcrumb{color:rgba(255,255,255,.7)}
body[data-pstyle] .eyebrow{color:var(--pk-1)}
body[data-pstyle] .section h2{color:var(--pk-h2)}
body[data-pstyle] .card{border-radius:var(--pk-rad)}
body[data-pstyle] .card .body h3{color:var(--pk-h2)}
body[data-pstyle] .btn:not(.ghost):not(.danger){background:linear-gradient(135deg,var(--pk-1),var(--pk-2));box-shadow:0 8px 20px rgba(0,0,0,.16)}
body[data-pstyle] .btn.accent{background:linear-gradient(135deg,var(--pk-1),var(--pk-2))}
body[data-pstyle] .tag.on{background:var(--pk-1);border-color:var(--pk-1);color:#fff}
body[data-pstyle] .prod-side a.on,body[data-pstyle] .prod-side a:hover{background:var(--pk-1);border-color:var(--pk-1)}
body[data-pstyle] .prod-side .ps-h{color:var(--pk-1)}
body[data-pstyle] .pk-top .prod-side,body[data-pstyle] .pk-hidecat .prod-side{display:none}
body[data-pstyle] .pk-top #prod-tabs{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:var(--pk-rad);padding:14px 16px;box-shadow:0 6px 18px rgba(0,0,0,.06);margin-bottom:22px}
/* 分类顶条模式：分类呈现为醒目卡片条（区别于默认小标签） */
body[data-pstyle] .pk-top #prod-tabs .tag{font-size:14px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--pk-2)}
body[data-pstyle] .detail-grid{border-radius:var(--pk-rad)}

/* p1 工业蓝：标题左侧竖条 + 卡片顶细线 */
body[data-pstyle="p1"] .section h2{border-left:6px solid var(--pk-1);padding-left:14px}
body[data-pstyle="p1"] .card{border-top:3px solid var(--pk-1)}
/* p2 暖橙：Hero 底部橙条 + 标题下渐变短线 */
body[data-pstyle="p2"] .detail-hero{border-bottom:6px solid var(--pk-1)}
body[data-pstyle="p2"] .section h2::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--pk-1),var(--pk-2));margin-top:8px}
/* p3 曜黑暗色：居中 Hero + 宽字距 + 暗色分区 */
body[data-pstyle="p3"]{color:#c7d4e3}
body[data-pstyle="p3"] .detail-hero{text-align:center}
body[data-pstyle="p3"] .detail-hero h1{letter-spacing:.14em;text-transform:uppercase}
body[data-pstyle="p3"] .section.alt{background:#131c2a}
body[data-pstyle="p3"] .card{border:1px solid #26344a}
/* p4 森林绿：圆角大卡 + 标题居中带装饰点 */
body[data-pstyle="p4"] .section h2{text-align:center}
body[data-pstyle="p4"] .section h2::after{content:"●";display:block;color:var(--pk-2);font-size:12px;margin-top:6px}
/* p5 酒红：衬线标题 + 细边框卡片（目录质感） */
body[data-pstyle="p5"] .section h2,body[data-pstyle="p5"] .site-footer h4{font-family:Georgia,'Times New Roman',serif}
body[data-pstyle="p5"] .section h2{border-bottom:3px double var(--pk-1);display:inline-block;padding-bottom:6px}
body[data-pstyle="p5"] .card{border:1px solid #e5d5d5;box-shadow:none}
/* p6 天青极简：白色 Hero 深色字 + 无阴影卡片 */
body[data-pstyle="p6"] .detail-hero{background:#f2f8fd}
body[data-pstyle="p6"] .detail-hero h1{color:#123a52}
body[data-pstyle="p6"] .detail-hero p,.detail-hero .breadcrumb{color:#5b7a90}
body[data-pstyle="p6"] .card{box-shadow:0 2px 10px rgba(20,60,90,.06)}
/* p7 紫罗兰：Hero 斜纹肌理 + 卡片顶部渐变条 */
body[data-pstyle="p7"] .detail-hero{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px),linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p7"] .card{border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--pk-1),var(--pk-2)) 1;border-top-left-radius:0;border-top-right-radius:0}
/* p8 沙漠金：字距标题 + 卡片左金边 */
body[data-pstyle="p8"] .section h2{letter-spacing:.06em;text-transform:uppercase;font-size:clamp(22px,2.2vw,28px)}
body[data-pstyle="p8"] .card{border-left:4px solid var(--pk-2)}
/* p9 石墨：分区通栏分隔线 + 大写标题 */
body[data-pstyle="p9"] .section{border-top:1px solid #dfe5e9}
body[data-pstyle="p9"] .section h2{text-transform:uppercase;letter-spacing:.08em}
/* p10 珊瑚：超大圆角 + 胶囊按钮 + 柔和 Hero 光斑 */
body[data-pstyle="p10"] .detail-hero{background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22) 0 180px,transparent 180px),linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p10"] .btn{border-radius:999px}
body[data-pstyle="p10"] .card{border-radius:24px}
/* p11 深海暗色：霓虹描边 Hero + 暗分区 */
body[data-pstyle="p11"]{color:#c3d3e8}
body[data-pstyle="p11"] .detail-hero{box-shadow:inset 0 -2px 0 var(--pk-1)}
body[data-pstyle="p11"] .section.alt{background:#111c30}
body[data-pstyle="p11"] .card{border:1px solid #1f3050}
body[data-pstyle="p11"] .btn:not(.ghost):not(.danger){box-shadow:0 0 18px rgba(56,189,248,.4)}
/* p12 翡翠：渐变文字标题 + 无边框柔影卡 */
body[data-pstyle="p12"] .section h2{background:linear-gradient(90deg,var(--pk-1),var(--pk-2));-webkit-background-clip:text;background-clip:text;color:transparent}
body[data-pstyle="p12"] .card{box-shadow:0 10px 26px rgba(10,168,122,.12);border:0}
/* p13 靛蓝：标题两侧长线（中轴对称） + 分区交替底色 */
body[data-pstyle="p13"] .section h2{display:flex;align-items:center;gap:16px;text-align:center;justify-content:center}
body[data-pstyle="p13"] .section h2::before,body[data-pstyle="p13"] .section h2::after{content:"";height:2px;flex:1;max-width:180px;background:linear-gradient(90deg,transparent,var(--pk-1))}
body[data-pstyle="p13"] .section h2::after{background:linear-gradient(90deg,var(--pk-1),transparent)}
/* p14 暖砂：纸张质感分区 + 圆点标记 */
body[data-pstyle="p14"] .section{position:relative}
body[data-pstyle="p14"] .section>.wrap::before{content:"";position:absolute;left:0;top:34px;width:10px;height:10px;border-radius:50%;background:var(--pk-1)}
body[data-pstyle="p14"] .section h2{padding-left:22px}
/* p15 蓝橙双拼：奇偶卡双色顶条 + Hero 中置双色分隔 */
body[data-pstyle="p15"] .card:nth-child(odd){border-top:4px solid var(--pk-1)}
body[data-pstyle="p15"] .card:nth-child(even){border-top:4px solid var(--pk-2)}
body[data-pstyle="p15"] .detail-hero{background:linear-gradient(100deg,var(--pk-h1) 55%,var(--pk-2) 55.2%)}
/* p16 玫瑰金：Hero 顶部柔光 + 卡片大圆角顶描边 */
body[data-pstyle="p16"] .detail-hero{background:radial-gradient(circle at 20% 0,rgba(255,255,255,.18) 0 220px,transparent 220px),linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p16"] .card{border-top:4px solid var(--pk-2);border-radius:20px}
/* p17 橄榄：模板印章式标题 + 直角卡片 */
body[data-pstyle="p17"] .section h2{text-transform:uppercase;border-bottom:5px solid var(--pk-1);display:inline-block;padding-bottom:4px}
body[data-pstyle="p17"] .card{border-radius:0;border:1.5px solid #d9ddcb}
/* p18 冰川：浅色 Hero 深字 + 超大圆角气泡卡 */
body[data-pstyle="p18"] .detail-hero{background:linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p18"] .detail-hero h1{color:#14405c}
body[data-pstyle="p18"] .detail-hero p,body[data-pstyle="p18"] .detail-hero .breadcrumb{color:#41708d}
body[data-pstyle="p18"] .card{border-radius:26px;box-shadow:0 14px 30px rgba(74,163,216,.14)}
/* p19 咖啡：手作圆角 + 标题下点线 */
body[data-pstyle="p19"] .section h2::after{content:"";display:block;width:100%;max-width:340px;height:2px;margin-top:10px;background:repeating-linear-gradient(90deg,var(--pk-1) 0 8px,transparent 8px 14px)}
/* p20 黑白杂志：纯黑 Hero 巨标题 + 直角黑白卡 */
body[data-pstyle="p20"] .detail-hero{background:#000}
body[data-pstyle="p20"] .detail-hero h1{font-weight:900;letter-spacing:.05em;text-transform:uppercase}
body[data-pstyle="p20"] .card{border-radius:0;border:2px solid #111;box-shadow:6px 6px 0 #111}
body[data-pstyle="p20"] .btn:not(.ghost):not(.danger){background:#111;border-radius:0}
body[data-pstyle="p20"] .section h2{font-weight:900;text-transform:uppercase;border-left:10px solid #111;padding-left:16px}

/* 整页模板 · 暗色系页脚衔接（p3/p11 页脚之上再加一层深色底） */
body[data-pstyle="p3"] .site-footer,body[data-pstyle="p11"] .site-footer{border-top:1px solid rgba(255,255,255,.08)}

/* 整页模板选择卡（🎨 本页风格面板顶部） */
.ve-pack-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ve-pack{ display:flex; align-items:center; gap:9px; border:1px solid #d7e0ea; border-radius:9px;
  background:#fafcff; padding:8px 9px; cursor:pointer; text-align:left; transition:.15s; font-size:12px; color:#223; }
.ve-pack:hover{ border-color:#2b6cb0; background:#eef4fb; }
.ve-pack.on{ border-color:#2b6cb0; box-shadow:0 0 0 3px rgba(43,108,176,.18); background:#eef4fb; }
.ve-pack i{ width:26px; height:26px; border-radius:7px; flex:0 0 auto; border:1px solid rgba(0,0,0,.08); }
.ve-pack span{ font-weight:600; color:#1f3a5f; line-height:1.3; }

/*GEN-START*/
/* ============================================================
   v23 风格族扩展（30 套/族）——由 tools/gen-styles.mjs 自动生成
   ============================================================ */
/* ---- 主题配色 T01..T19 ---- */
body[data-theme="T01"]{
  --blue-900:hsl(200,46%,13%); --blue-800:hsl(200,46%,17%); --blue-700:hsl(200,46%,25%);
  --blue-600:hsl(200,46%,34%); --blue-500:hsl(200,46%,44%); --blue-400:hsl(200,50%,55%); --blue-300:hsl(200,50%,67%);
  --sky:hsl(200,42%,95%); --sky-2:hsl(200,40%,91%); --bg:hsl(200,46%,97%);
}
body[data-theme="T01"] .hero{background:linear-gradient(120deg,hsl(200,46%,13%),hsl(200,46%,26%) 55%,hsl(200,46%,44%))}
body[data-theme="T02"]{
  --blue-900:hsl(187,52%,13%); --blue-800:hsl(187,52%,17%); --blue-700:hsl(187,52%,25%);
  --blue-600:hsl(187,52%,34%); --blue-500:hsl(187,52%,44%); --blue-400:hsl(187,56%,55%); --blue-300:hsl(187,56%,67%);
  --sky:hsl(187,42%,95%); --sky-2:hsl(187,40%,91%); --bg:hsl(187,46%,97%);
}
body[data-theme="T02"] .hero{background:linear-gradient(120deg,hsl(187,52%,13%),hsl(187,52%,26%) 55%,hsl(187,52%,44%))}
body[data-theme="T03"]{
  --blue-900:hsl(205,62%,13%); --blue-800:hsl(205,62%,17%); --blue-700:hsl(205,62%,25%);
  --blue-600:hsl(205,62%,34%); --blue-500:hsl(205,62%,44%); --blue-400:hsl(205,66%,55%); --blue-300:hsl(205,66%,67%);
  --sky:hsl(205,42%,95%); --sky-2:hsl(205,40%,91%); --bg:hsl(205,46%,97%);
}
body[data-theme="T03"] .hero{background:linear-gradient(120deg,hsl(205,62%,13%),hsl(205,62%,26%) 55%,hsl(205,62%,44%))}
body[data-theme="T04"]{
  --blue-900:hsl(226,44%,13%); --blue-800:hsl(226,44%,17%); --blue-700:hsl(226,44%,25%);
  --blue-600:hsl(226,44%,34%); --blue-500:hsl(226,44%,44%); --blue-400:hsl(226,48%,55%); --blue-300:hsl(226,48%,67%);
  --sky:hsl(226,42%,95%); --sky-2:hsl(226,40%,91%); --bg:hsl(226,46%,97%);
}
body[data-theme="T04"] .hero{background:linear-gradient(120deg,hsl(226,44%,13%),hsl(226,44%,26%) 55%,hsl(226,44%,44%))}
body[data-theme="T05"]{
  --blue-900:hsl(214,34%,13%); --blue-800:hsl(214,34%,17%); --blue-700:hsl(214,34%,25%);
  --blue-600:hsl(214,34%,34%); --blue-500:hsl(214,34%,44%); --blue-400:hsl(214,38%,55%); --blue-300:hsl(214,38%,67%);
  --sky:hsl(214,42%,95%); --sky-2:hsl(214,40%,91%); --bg:hsl(214,46%,97%);
}
body[data-theme="T05"] .hero{background:linear-gradient(120deg,hsl(214,34%,13%),hsl(214,34%,26%) 55%,hsl(214,34%,44%))}
body[data-theme="T06"]{
  --blue-900:hsl(210,22%,13%); --blue-800:hsl(210,22%,17%); --blue-700:hsl(210,22%,25%);
  --blue-600:hsl(210,22%,34%); --blue-500:hsl(210,22%,44%); --blue-400:hsl(210,26%,55%); --blue-300:hsl(210,26%,67%);
  --sky:hsl(210,42%,95%); --sky-2:hsl(210,40%,91%); --bg:hsl(210,46%,97%);
}
body[data-theme="T06"] .hero{background:linear-gradient(120deg,hsl(210,22%,13%),hsl(210,22%,26%) 55%,hsl(210,22%,44%))}
body[data-theme="T07"]{
  --blue-900:hsl(268,38%,13%); --blue-800:hsl(268,38%,17%); --blue-700:hsl(268,38%,25%);
  --blue-600:hsl(268,38%,34%); --blue-500:hsl(268,38%,44%); --blue-400:hsl(268,42%,55%); --blue-300:hsl(268,42%,67%);
  --sky:hsl(268,42%,95%); --sky-2:hsl(268,40%,91%); --bg:hsl(268,46%,97%);
}
body[data-theme="T07"] .hero{background:linear-gradient(120deg,hsl(268,38%,13%),hsl(268,38%,26%) 55%,hsl(268,38%,44%))}
body[data-theme="T08"]{
  --blue-900:hsl(292,34%,13%); --blue-800:hsl(292,34%,17%); --blue-700:hsl(292,34%,25%);
  --blue-600:hsl(292,34%,34%); --blue-500:hsl(292,34%,44%); --blue-400:hsl(292,38%,55%); --blue-300:hsl(292,38%,67%);
  --sky:hsl(292,42%,95%); --sky-2:hsl(292,40%,91%); --bg:hsl(292,46%,97%);
}
body[data-theme="T08"] .hero{background:linear-gradient(120deg,hsl(292,34%,13%),hsl(292,34%,26%) 55%,hsl(292,34%,44%))}
body[data-theme="T09"]{
  --blue-900:hsl(340,26%,13%); --blue-800:hsl(340,26%,17%); --blue-700:hsl(340,26%,25%);
  --blue-600:hsl(340,26%,34%); --blue-500:hsl(340,26%,44%); --blue-400:hsl(340,30%,55%); --blue-300:hsl(340,30%,67%);
  --sky:hsl(340,42%,95%); --sky-2:hsl(340,40%,91%); --bg:hsl(340,46%,97%);
}
body[data-theme="T09"] .hero{background:linear-gradient(120deg,hsl(340,26%,13%),hsl(340,26%,26%) 55%,hsl(340,26%,44%))}
body[data-theme="T10"]{
  --blue-900:hsl(352,42%,13%); --blue-800:hsl(352,42%,17%); --blue-700:hsl(352,42%,25%);
  --blue-600:hsl(352,42%,34%); --blue-500:hsl(352,42%,44%); --blue-400:hsl(352,46%,55%); --blue-300:hsl(352,46%,67%);
  --sky:hsl(352,42%,95%); --sky-2:hsl(352,40%,91%); --bg:hsl(352,46%,97%);
}
body[data-theme="T10"] .hero{background:linear-gradient(120deg,hsl(352,42%,13%),hsl(352,42%,26%) 55%,hsl(352,42%,44%))}
body[data-theme="T11"]{
  --blue-900:hsl(26,38%,13%); --blue-800:hsl(26,38%,17%); --blue-700:hsl(26,38%,25%);
  --blue-600:hsl(26,38%,34%); --blue-500:hsl(26,38%,44%); --blue-400:hsl(26,42%,55%); --blue-300:hsl(26,42%,67%);
  --sky:hsl(26,42%,95%); --sky-2:hsl(26,40%,91%); --bg:hsl(26,46%,97%);
}
body[data-theme="T11"] .hero{background:linear-gradient(120deg,hsl(26,38%,13%),hsl(26,38%,26%) 55%,hsl(26,38%,44%))}
body[data-theme="T12"]{
  --blue-900:hsl(18,34%,13%); --blue-800:hsl(18,34%,17%); --blue-700:hsl(18,34%,25%);
  --blue-600:hsl(18,34%,34%); --blue-500:hsl(18,34%,44%); --blue-400:hsl(18,38%,55%); --blue-300:hsl(18,38%,67%);
  --sky:hsl(18,42%,95%); --sky-2:hsl(18,40%,91%); --bg:hsl(18,46%,97%);
}
body[data-theme="T12"] .hero{background:linear-gradient(120deg,hsl(18,34%,13%),hsl(18,34%,26%) 55%,hsl(18,34%,44%))}
body[data-theme="T13"]{
  --blue-900:hsl(74,26%,13%); --blue-800:hsl(74,26%,17%); --blue-700:hsl(74,26%,25%);
  --blue-600:hsl(74,26%,34%); --blue-500:hsl(74,26%,44%); --blue-400:hsl(74,30%,55%); --blue-300:hsl(74,30%,67%);
  --sky:hsl(74,42%,95%); --sky-2:hsl(74,40%,91%); --bg:hsl(74,46%,97%);
}
body[data-theme="T13"] .hero{background:linear-gradient(120deg,hsl(74,26%,13%),hsl(74,26%,26%) 55%,hsl(74,26%,44%))}
body[data-theme="T14"]{
  --blue-900:hsl(128,26%,13%); --blue-800:hsl(128,26%,17%); --blue-700:hsl(128,26%,25%);
  --blue-600:hsl(128,26%,34%); --blue-500:hsl(128,26%,44%); --blue-400:hsl(128,30%,55%); --blue-300:hsl(128,30%,67%);
  --sky:hsl(128,42%,95%); --sky-2:hsl(128,40%,91%); --bg:hsl(128,46%,97%);
}
body[data-theme="T14"] .hero{background:linear-gradient(120deg,hsl(128,26%,13%),hsl(128,26%,26%) 55%,hsl(128,26%,44%))}
body[data-theme="T15"]{
  --blue-900:hsl(158,38%,13%); --blue-800:hsl(158,38%,17%); --blue-700:hsl(158,38%,25%);
  --blue-600:hsl(158,38%,34%); --blue-500:hsl(158,38%,44%); --blue-400:hsl(158,42%,55%); --blue-300:hsl(158,42%,67%);
  --sky:hsl(158,42%,95%); --sky-2:hsl(158,40%,91%); --bg:hsl(158,46%,97%);
}
body[data-theme="T15"] .hero{background:linear-gradient(120deg,hsl(158,38%,13%),hsl(158,38%,26%) 55%,hsl(158,38%,44%))}
body[data-theme="T16"]{
  --blue-900:hsl(168,44%,13%); --blue-800:hsl(168,44%,17%); --blue-700:hsl(168,44%,25%);
  --blue-600:hsl(168,44%,34%); --blue-500:hsl(168,44%,44%); --blue-400:hsl(168,48%,55%); --blue-300:hsl(168,48%,67%);
  --sky:hsl(168,42%,95%); --sky-2:hsl(168,40%,91%); --bg:hsl(168,46%,97%);
}
body[data-theme="T16"] .hero{background:linear-gradient(120deg,hsl(168,44%,13%),hsl(168,44%,26%) 55%,hsl(168,44%,44%))}
body[data-theme="T17"]{
  --blue-900:hsl(40,68%,13%); --blue-800:hsl(40,68%,17%); --blue-700:hsl(40,68%,25%);
  --blue-600:hsl(40,68%,34%); --blue-500:hsl(40,68%,44%); --blue-400:hsl(40,72%,55%); --blue-300:hsl(40,72%,67%);
  --sky:hsl(40,42%,95%); --sky-2:hsl(40,40%,91%); --bg:hsl(40,46%,97%);
}
body[data-theme="T17"] .hero{background:linear-gradient(120deg,hsl(40,68%,13%),hsl(40,68%,26%) 55%,hsl(40,68%,44%))}
body[data-theme="T18"]{
  --blue-900:hsl(50,58%,13%); --blue-800:hsl(50,58%,17%); --blue-700:hsl(50,58%,25%);
  --blue-600:hsl(50,58%,34%); --blue-500:hsl(50,58%,44%); --blue-400:hsl(50,62%,55%); --blue-300:hsl(50,62%,67%);
  --sky:hsl(50,42%,95%); --sky-2:hsl(50,40%,91%); --bg:hsl(50,46%,97%);
}
body[data-theme="T18"] .hero{background:linear-gradient(120deg,hsl(50,58%,13%),hsl(50,58%,26%) 55%,hsl(50,58%,44%))}
body[data-theme="T19"]{
  --blue-900:hsl(6,52%,13%); --blue-800:hsl(6,52%,17%); --blue-700:hsl(6,52%,25%);
  --blue-600:hsl(6,52%,34%); --blue-500:hsl(6,52%,44%); --blue-400:hsl(6,56%,55%); --blue-300:hsl(6,56%,67%);
  --sky:hsl(6,42%,95%); --sky-2:hsl(6,40%,91%); --bg:hsl(6,46%,97%);
}
body[data-theme="T19"] .hero{background:linear-gradient(120deg,hsl(6,52%,13%),hsl(6,52%,26%) 55%,hsl(6,52%,44%))}
/* ---- 导航 n20..n30 ---- */
body[data-nav="n20"]{--nav-bg:#155e75;--nav-act:#f59e0b;--nav-act-ink:#fff;--nav-tb:#0e4457;--nav-hink:#fbbf24;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#f59e0b;--nav-dd-hink:#2a1a02;--nav-dd-line:#f59e0b3d}
body[data-nav="n20"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n20"] .topbar{background:var(--nav-tb)}
body[data-nav="n20"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n20"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n20"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n20"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n20"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n20"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n20"] .nav a{color:#dbe8f6;border-radius:8px}
body[data-nav="n20"] .nav a:hover,body[data-nav="n20"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n20"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="n21"]{--nav-bg:#1e2a5a;--nav-act:#a3e635;--nav-act-ink:#1a2503;--nav-tb:#16204a;--nav-hink:#bef264;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#a3e635;--nav-dd-hink:#2a1a02;--nav-dd-line:#a3e6353d}
body[data-nav="n21"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n21"] .topbar{background:var(--nav-tb)}
body[data-nav="n21"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n21"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n21"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n21"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n21"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n21"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n21"] .nav a{color:#dbe8f6;border-radius:999px}
body[data-nav="n21"] .nav a:hover,body[data-nav="n21"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n21"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="n22"]{--nav-bg:#8a6a4f;--nav-act:#f5e0c3;--nav-act-ink:#4a3319;--nav-tb:#6f5239;--nav-hink:#f5e0c3;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#f5e0c3;--nav-dd-hink:#2a1a02;--nav-dd-line:#f5e0c33d}
body[data-nav="n22"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n22"] .topbar{background:var(--nav-tb)}
body[data-nav="n22"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n22"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n22"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n22"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n22"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n22"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n22"] .nav a{color:#c9ced8;border-radius:6px;position:relative}
body[data-nav="n22"] .nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:2px;background:var(--nav-act);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
body[data-nav="n22"] .nav a:hover{background:rgba(255,255,255,.06);color:var(--nav-hink)}
body[data-nav="n22"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="n22"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n22"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="n23"]{--nav-bg:#581c87;--nav-act:#f9a8d4;--nav-act-ink:#4a044e;--nav-tb:#4c1d95;--nav-hink:#f9a8d4;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#f9a8d4;--nav-dd-hink:#2a1a02;--nav-dd-line:#f9a8d43d}
body[data-nav="n23"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n23"] .topbar{background:var(--nav-tb)}
body[data-nav="n23"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n23"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n23"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n23"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n23"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n23"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n23"] .nav a{color:#ded4ee;border-radius:6px;position:relative;padding-left:20px}
body[data-nav="n23"] .nav a::before{content:"";position:absolute;left:8px;top:50%;width:3px;height:58%;border-radius:2px;background:var(--nav-act);transform:translateY(-50%) scaleY(0);transition:transform .25s ease}
body[data-nav="n23"] .nav a:hover{background:rgba(255,255,255,.07);color:var(--nav-hink)}
body[data-nav="n23"] .nav a:hover::before{transform:translateY(-50%) scaleY(1)}
body[data-nav="n23"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n23"] .nav a.active::before{transform:translateY(-50%) scaleY(1)}
body[data-nav="n23"] .nav a.active::after,body[data-nav="n23"] .nav a:hover::after{display:none}
body[data-nav="n24"]{--nav-bg:#1f2937;--nav-act:#7dd3fc;--nav-act-ink:#082f49;--nav-tb:#111827;--nav-hink:#bae6fd;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#7dd3fc;--nav-dd-hink:#2a1a02;--nav-dd-line:#7dd3fc3d}
body[data-nav="n24"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n24"] .topbar{background:var(--nav-tb)}
body[data-nav="n24"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n24"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n24"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n24"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n24"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n24"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n24"] .nav a{color:#d7e2e6;border-radius:6px;position:relative}
body[data-nav="n24"] .nav a::after{content:"";position:absolute;left:12px;right:12px;top:2px;height:2px;border-radius:2px;background:var(--nav-act);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
body[data-nav="n24"] .nav a:hover{background:none;color:var(--nav-hink)}
body[data-nav="n24"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="n24"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n24"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="n25"]{--nav-bg:#14532d;--nav-act:#fdba74;--nav-act-ink:#431407;--nav-tb:#0e3d21;--nav-hink:#fed7aa;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#fdba74;--nav-dd-hink:#2a1a02;--nav-dd-line:#fdba743d}
body[data-nav="n25"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n25"] .topbar{background:var(--nav-tb)}
body[data-nav="n25"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n25"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n25"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n25"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n25"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n25"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n25"] .nav a{color:#d7e2e6;border-radius:6px;position:relative}
body[data-nav="n25"] .nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;background:var(--nav-act);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
body[data-nav="n25"] .nav a:hover{background:none;color:var(--nav-hink)}
body[data-nav="n25"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="n25"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n25"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="n26"]{--nav-bg:#9f1239;--nav-act:#fef3c7;--nav-act-ink:#4c0519;--nav-tb:#7f1d2d;--nav-hink:#fef3c7;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#fef3c7;--nav-dd-hink:#2a1a02;--nav-dd-line:#fef3c73d}
body[data-nav="n26"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n26"] .topbar{background:var(--nav-tb)}
body[data-nav="n26"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n26"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n26"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n26"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n26"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n26"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n26"] .nav a{color:#dbe8f6;border-radius:0}
body[data-nav="n26"] .nav a:hover,body[data-nav="n26"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n26"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="n27"]{--nav-bg:#27272a;--nav-act:#fb7185;--nav-act-ink:#4c0519;--nav-tb:#18181b;--nav-hink:#fda4af;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#fb7185;--nav-dd-hink:#2a1a02;--nav-dd-line:#fb71853d}
body[data-nav="n27"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n27"] .topbar{background:var(--nav-tb)}
body[data-nav="n27"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n27"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n27"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n27"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n27"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n27"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n27"] .nav a{color:#dbe8f6;border-radius:8px}
body[data-nav="n27"] .nav a:hover,body[data-nav="n27"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n27"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="n28"]{--nav-bg:#312e81;--nav-act:#facc15;--nav-act-ink:#1c1917;--nav-tb:#252460;--nav-hink:#fde047;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#facc15;--nav-dd-hink:#2a1a02;--nav-dd-line:#facc153d}
body[data-nav="n28"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n28"] .topbar{background:var(--nav-tb)}
body[data-nav="n28"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n28"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n28"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n28"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n28"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n28"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n28"] .nav a{color:#dbe8f6;border-radius:999px}
body[data-nav="n28"] .nav a:hover,body[data-nav="n28"] .nav a.active{background:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n28"] .nav a.active::after{background:var(--nav-act)}
body[data-nav="n29"]{--nav-bg:#5c4033;--nav-act:#e7c98a;--nav-act-ink:#33221a;--nav-tb:#46302a;--nav-hink:#f3e2bd;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#e7c98a;--nav-dd-hink:#2a1a02;--nav-dd-line:#e7c98a3d}
body[data-nav="n29"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n29"] .topbar{background:var(--nav-tb)}
body[data-nav="n29"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n29"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n29"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n29"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n29"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n29"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n29"] .nav a{color:#c9ced8;border-radius:6px;position:relative}
body[data-nav="n29"] .nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:2px;background:var(--nav-act);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
body[data-nav="n29"] .nav a:hover{background:rgba(255,255,255,.06);color:var(--nav-hink)}
body[data-nav="n29"] .nav a:hover::after{transform:scaleX(1)}
body[data-nav="n29"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n29"] .nav a.active::after{transform:scaleX(1)}
body[data-nav="n30"]{--nav-bg:#09090b;--nav-act:#4ade80;--nav-act-ink:#052e16;--nav-tb:#0b0b0d;--nav-hink:#86efac;--nav-dd-bg:#ffffff;--nav-dd-ink:#253244;--nav-dd-hbg:#4ade80;--nav-dd-hink:#2a1a02;--nav-dd-line:#4ade803d}
body[data-nav="n30"] .site-header{background:var(--nav-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-nav="n30"] .topbar{background:var(--nav-tb)}
body[data-nav="n30"] .nav-dd{background:var(--nav-dd-bg);border-color:var(--nav-dd-line)}
body[data-nav="n30"] .nav-dd a{color:var(--nav-dd-ink)}
body[data-nav="n30"] .nav-dd a:hover{background:var(--nav-dd-hbg);color:var(--nav-dd-hink)}
body[data-nav="n30"] .nav-dd .dd-more{color:var(--nav-act);border-top-color:var(--nav-dd-line)}
body[data-nav="n30"] .topbar-social a:hover{background:var(--nav-act);border-color:var(--nav-act);color:var(--nav-act-ink)}
body[data-nav="n30"] .langsel:focus{outline-color:var(--nav-act)}
body[data-nav="n30"] .nav a{color:#ded4ee;border-radius:6px;position:relative;padding-left:20px}
body[data-nav="n30"] .nav a::before{content:"";position:absolute;left:8px;top:50%;width:3px;height:58%;border-radius:2px;background:var(--nav-act);transform:translateY(-50%) scaleY(0);transition:transform .25s ease}
body[data-nav="n30"] .nav a:hover{background:rgba(255,255,255,.07);color:var(--nav-hink)}
body[data-nav="n30"] .nav a:hover::before{transform:translateY(-50%) scaleY(1)}
body[data-nav="n30"] .nav a.active{background:none;color:var(--nav-hink)}
body[data-nav="n30"] .nav a.active::before{transform:translateY(-50%) scaleY(1)}
body[data-nav="n30"] .nav a.active::after,body[data-nav="n30"] .nav a:hover::after{display:none}
/* ---- 列表皮肤 u1..ua ---- */
body[data-list="u1"] .grid{background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,rgba(0,0,0,.03) 0 1px,transparent 1px 56px);padding:18px;border-radius:12px}
body[data-list="u1"] .card{box-shadow:none;border:1px solid var(--line)}
body[data-list="u2"] .card{border:0;border-left:5px solid var(--blue-500);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
body[data-list="u2"] .card .body{padding-left:20px}
body[data-list="u3"] .card .ph::after{content:"";position:absolute;inset:auto 0 0 0;height:56px;background:linear-gradient(180deg,transparent,#fff)}
body[data-list="u3"] .card{position:relative}
body[data-list="u3"] .card .body{margin-top:-30px;position:relative;z-index:1}
body[data-list="u4"] .grid{gap:0}
body[data-list="u4"] .card{border-radius:0;box-shadow:none}
body[data-list="u4"] .card+.card{border-left:1px solid rgba(255,255,255,.25)}
body[data-list="u5"] .card{transition:transform .25s}
body[data-list="u5"] .card:hover{transform:rotate(-1.2deg) scale(1.02)}
body[data-list="u6"] .card{border:1px solid var(--blue-300);outline:1px solid var(--blue-300);outline-offset:3px;border-radius:2px;box-shadow:none}
body[data-list="u7"] .card .body h3::before{content:counter(lst,decimal-leading-zero);counter-increment:lst;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--blue-500);color:#fff;font-size:13px;margin-right:9px;vertical-align:middle}
body[data-list="u7"] .grid{counter-reset:lst}
body[data-list="u8"] .card{flex-direction:column-reverse}
body[data-list="u8"] .card .body{order:0}
body[data-list="u8"] .card .ph{order:1}
body[data-list="u9"] .card{border-top:14px solid var(--blue-600);border-radius:4px}
body[data-list="u9"] .card .body{background:linear-gradient(180deg,var(--sky),#fff 60%)}
body[data-list="u10"] .grid{gap:34px}
body[data-list="u10"] .card{border:1px solid var(--line);border-radius:0;box-shadow:none;padding-bottom:8px}
body[data-list="u10"] .card .body{padding:24px 10px 14px}
/* ---- Hero m13..m30 ---- */
body[data-hero="m13"] .hero{background-image:radial-gradient(hsl(210,60%,74%) 1.5px,transparent 1.5px);background-size:22px 22px}
body[data-hero="m13"] .hero-copy h1{letter-spacing:.02em}
body[data-hero="m13"] .hero-copy .eyebrow{color:hsl(210,32%,52%)}
body[data-hero="m14"] .hero{background:linear-gradient(109deg,hsl(340,34%,12%) 58%,hsl(340,36%,52%) 58.2%)}
body[data-hero="m14"] .hero-copy h1{max-width:680px}
body[data-hero="m14"] .hero-copy .eyebrow{color:hsl(340,40%,72%)}
body[data-hero="m15"] .hero{border-radius:0 0 50% 50%/0 0 80px 80px;border-bottom:5px solid hsl(18,44%,52%)}
body[data-hero="m15"] .hero-inner{padding-bottom:40px}
body[data-hero="m15"] .hero-copy .eyebrow{color:hsl(18,48%,72%)}
body[data-hero="m16"] .hero-copy{border-left:5px solid hsl(158,48%,52%);padding-left:26px}
body[data-hero="m16"] .hero-copy h1{font-weight:800}
body[data-hero="m16"] .hero-copy .eyebrow{color:hsl(158,52%,72%)}
body[data-hero="m17"] .hero-inner{direction:rtl}
body[data-hero="m17"] .hero-copy{direction:ltr;text-align:right}
body[data-hero="m17"] .hero-copy .eyebrow{justify-content:flex-end;color:hsl(50,68%,52%)}
body[data-hero="m17"] .hero{border-top:4px solid hsl(50,68%,52%)}
body[data-hero="m18"] .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsl(36,72%,12%)cc,transparent 40%,hsl(36,78%,30%)99);pointer-events:none}
body[data-hero="m18"] .hero .hero-inner{position:relative;z-index:2}
body[data-hero="m18"] .hero{box-shadow:inset 0 -6px 0 hsl(36,78%,52%)}
body[data-hero="m19"] .hero{background-image:radial-gradient(hsl(258,60%,74%) 1.5px,transparent 1.5px);background-size:34px 34px}
body[data-hero="m19"] .hero-copy h1{letter-spacing:.02em}
body[data-hero="m19"] .hero-copy .eyebrow{color:hsl(258,44%,52%)}
body[data-hero="m20"] .hero{background:linear-gradient(118deg,hsl(194,34%,12%) 58%,hsl(194,36%,52%) 58.2%)}
body[data-hero="m20"] .hero-copy h1{max-width:680px}
body[data-hero="m20"] .hero-copy .eyebrow{color:hsl(194,40%,72%)}
body[data-hero="m21"] .hero{border-radius:0 0 50% 50%/0 0 94px 94px;border-bottom:5px solid hsl(12,36%,52%)}
body[data-hero="m21"] .hero-inner{padding-bottom:40px}
body[data-hero="m21"] .hero-copy .eyebrow{color:hsl(12,40%,72%)}
body[data-hero="m22"] .hero-copy{border-left:5px solid hsl(205,72%,52%);padding-left:26px}
body[data-hero="m22"] .hero-copy h1{font-weight:800}
body[data-hero="m22"] .hero-copy .eyebrow{color:hsl(205,76%,72%)}
body[data-hero="m23"] .hero-inner{direction:rtl}
body[data-hero="m23"] .hero-copy{direction:ltr;text-align:right}
body[data-hero="m23"] .hero-copy .eyebrow{justify-content:flex-end;color:hsl(210,32%,52%)}
body[data-hero="m23"] .hero{border-top:4px solid hsl(210,32%,52%)}
body[data-hero="m24"] .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsl(340,34%,12%)cc,transparent 40%,hsl(340,26%,30%)99);pointer-events:none}
body[data-hero="m24"] .hero .hero-inner{position:relative;z-index:2}
body[data-hero="m24"] .hero{box-shadow:inset 0 -6px 0 hsl(340,36%,52%)}
body[data-hero="m25"] .hero{background-image:radial-gradient(hsl(18,60%,74%) 1.5px,transparent 1.5px);background-size:22px 22px}
body[data-hero="m25"] .hero-copy h1{letter-spacing:.02em}
body[data-hero="m25"] .hero-copy .eyebrow{color:hsl(18,44%,52%)}
body[data-hero="m26"] .hero{background:linear-gradient(127deg,hsl(158,46%,12%) 58%,hsl(158,48%,52%) 58.2%)}
body[data-hero="m26"] .hero-copy h1{max-width:680px}
body[data-hero="m26"] .hero-copy .eyebrow{color:hsl(158,52%,72%)}
body[data-hero="m27"] .hero{border-radius:0 0 50% 50%/0 0 108px 108px;border-bottom:5px solid hsl(50,68%,52%)}
body[data-hero="m27"] .hero-inner{padding-bottom:40px}
body[data-hero="m27"] .hero-copy .eyebrow{color:hsl(50,72%,72%)}
body[data-hero="m28"] .hero-copy{border-left:5px solid hsl(36,78%,52%);padding-left:26px}
body[data-hero="m28"] .hero-copy h1{font-weight:800}
body[data-hero="m28"] .hero-copy .eyebrow{color:hsl(36,85%,72%)}
body[data-hero="m29"] .hero-inner{direction:rtl}
body[data-hero="m29"] .hero-copy{direction:ltr;text-align:right}
body[data-hero="m29"] .hero-copy .eyebrow{justify-content:flex-end;color:hsl(258,44%,52%)}
body[data-hero="m29"] .hero{border-top:4px solid hsl(258,44%,52%)}
body[data-hero="m30"] .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsl(194,34%,12%)cc,transparent 40%,hsl(194,26%,30%)99);pointer-events:none}
body[data-hero="m30"] .hero .hero-inner{position:relative;z-index:2}
body[data-hero="m30"] .hero{box-shadow:inset 0 -6px 0 hsl(194,36%,52%)}
/* ---- 页脚 g1..g20 ---- */
body .site-footer[data-foot="g1"]{background:linear-gradient(180deg,hsl(187,62%,13%),hsl(187,52%,20%));color:#b9cde4}
body .site-footer[data-foot="g1"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="g1"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:hsl(187,58%,52%)}
body .site-footer[data-foot="g1"]::before{background:linear-gradient(90deg,hsl(187,58%,52%),hsl(187,64%,68%),hsl(187,58%,52%))}
body .site-footer[data-foot="g1"] a{color:#b9cde4}body .site-footer[data-foot="g1"] a:hover{color:#fff}
body .site-footer[data-foot="g1"] p{color:#b9cde4}
body .site-footer[data-foot="g2"]{background:linear-gradient(180deg,hsl(214,40%,97%),hsl(214,36%,90%));color:#46566a;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="g2"] h4{color:hsl(214,34%,20%);position:relative;padding-bottom:10px}
body .site-footer[data-foot="g2"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;background:hsl(214,40%,52%)}
body .site-footer[data-foot="g2"]::before{background:linear-gradient(90deg,hsl(214,40%,52%),hsl(214,46%,68%),hsl(214,40%,52%));height:2px}
body .site-footer[data-foot="g2"] a{color:hsl(214,40%,52%)}body .site-footer[data-foot="g2"] a:hover{color:hsl(214,34%,20%)}
body .site-footer[data-foot="g2"] p{color:#5b6b7c}
body .site-footer[data-foot="g3"]{background:linear-gradient(135deg,hsl(292,44%,13%),hsl(292,40%,52%));color:#e2ecf7}
body .site-footer[data-foot="g3"]::before{background:linear-gradient(90deg,hsl(292,46%,68%),#fff,hsl(292,46%,68%));height:3px}
body .site-footer[data-foot="g3"] h4{color:#fff}
body .site-footer[data-foot="g3"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="g3"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="g3"] a{color:#d5e4f3}body .site-footer[data-foot="g3"] a:hover{color:#fff}
body .site-footer[data-foot="g3"] p{color:#d5e4f3}
body .site-footer[data-foot="g4"]{background:linear-gradient(180deg,hsl(26,48%,13%),hsl(26,38%,20%));color:#c4d2e4}
body .site-footer[data-foot="g4"]::before{background:linear-gradient(90deg,hsl(26,44%,52%),hsl(26,50%,68%),hsl(26,44%,52%));height:3px}
body .site-footer[data-foot="g4"] h4{color:hsl(26,50%,68%)}
body .site-footer[data-foot="g4"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="g4"] a{color:#c4d2e4}body .site-footer[data-foot="g4"] a:hover{color:hsl(26,50%,68%)}
body .site-footer[data-foot="g4"] p{color:#9fb1c8}
body .site-footer[data-foot="g5"]{background:linear-gradient(180deg,hsl(128,36%,13%),hsl(128,26%,20%));color:#b9cde4}
body .site-footer[data-foot="g5"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="g5"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:hsl(128,32%,52%)}
body .site-footer[data-foot="g5"]::before{background:linear-gradient(90deg,hsl(128,32%,52%),hsl(128,38%,68%),hsl(128,32%,52%))}
body .site-footer[data-foot="g5"] a{color:#b9cde4}body .site-footer[data-foot="g5"] a:hover{color:#fff}
body .site-footer[data-foot="g5"] p{color:#b9cde4}
body .site-footer[data-foot="g6"]{background:linear-gradient(180deg,hsl(40,40%,97%),hsl(40,36%,90%));color:#46566a;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="g6"] h4{color:hsl(40,68%,20%);position:relative;padding-bottom:10px}
body .site-footer[data-foot="g6"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;background:hsl(40,74%,52%)}
body .site-footer[data-foot="g6"]::before{background:linear-gradient(90deg,hsl(40,74%,52%),hsl(40,80%,68%),hsl(40,74%,52%));height:2px}
body .site-footer[data-foot="g6"] a{color:hsl(40,74%,52%)}body .site-footer[data-foot="g6"] a:hover{color:hsl(40,68%,20%)}
body .site-footer[data-foot="g6"] p{color:#5b6b7c}
body .site-footer[data-foot="g7"]{background:linear-gradient(135deg,hsl(14,70%,13%),hsl(14,80%,52%));color:#e2ecf7}
body .site-footer[data-foot="g7"]::before{background:linear-gradient(90deg,hsl(14,86%,68%),#fff,hsl(14,86%,68%));height:3px}
body .site-footer[data-foot="g7"] h4{color:#fff}
body .site-footer[data-foot="g7"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="g7"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="g7"] a{color:#d5e4f3}body .site-footer[data-foot="g7"] a:hover{color:#fff}
body .site-footer[data-foot="g7"] p{color:#d5e4f3}
body .site-footer[data-foot="g8"]{background:linear-gradient(180deg,hsl(232,46%,13%),hsl(232,36%,20%));color:#c4d2e4}
body .site-footer[data-foot="g8"]::before{background:linear-gradient(90deg,hsl(232,42%,52%),hsl(232,48%,68%),hsl(232,42%,52%));height:3px}
body .site-footer[data-foot="g8"] h4{color:hsl(232,48%,68%)}
body .site-footer[data-foot="g8"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="g8"] a{color:#c4d2e4}body .site-footer[data-foot="g8"] a:hover{color:hsl(232,48%,68%)}
body .site-footer[data-foot="g8"] p{color:#9fb1c8}
body .site-footer[data-foot="g9"]{background:linear-gradient(180deg,hsl(30,70%,13%),hsl(30,72%,20%));color:#b9cde4}
body .site-footer[data-foot="g9"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="g9"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:hsl(30,78%,52%)}
body .site-footer[data-foot="g9"]::before{background:linear-gradient(90deg,hsl(30,78%,52%),hsl(30,84%,68%),hsl(30,78%,52%))}
body .site-footer[data-foot="g9"] a{color:#b9cde4}body .site-footer[data-foot="g9"] a:hover{color:#fff}
body .site-footer[data-foot="g9"] p{color:#b9cde4}
body .site-footer[data-foot="g10"]{background:linear-gradient(180deg,hsl(100,40%,97%),hsl(100,36%,90%));color:#46566a;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="g10"] h4{color:hsl(100,20%,20%);position:relative;padding-bottom:10px}
body .site-footer[data-foot="g10"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;background:hsl(100,26%,52%)}
body .site-footer[data-foot="g10"]::before{background:linear-gradient(90deg,hsl(100,26%,52%),hsl(100,32%,68%),hsl(100,26%,52%));height:2px}
body .site-footer[data-foot="g10"] a{color:hsl(100,26%,52%)}body .site-footer[data-foot="g10"] a:hover{color:hsl(100,20%,20%)}
body .site-footer[data-foot="g10"] p{color:#5b6b7c}
body .site-footer[data-foot="g11"]{background:linear-gradient(135deg,hsl(187,62%,13%),hsl(187,58%,52%));color:#e2ecf7}
body .site-footer[data-foot="g11"]::before{background:linear-gradient(90deg,hsl(187,64%,68%),#fff,hsl(187,64%,68%));height:3px}
body .site-footer[data-foot="g11"] h4{color:#fff}
body .site-footer[data-foot="g11"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="g11"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="g11"] a{color:#d5e4f3}body .site-footer[data-foot="g11"] a:hover{color:#fff}
body .site-footer[data-foot="g11"] p{color:#d5e4f3}
body .site-footer[data-foot="g12"]{background:linear-gradient(180deg,hsl(214,44%,13%),hsl(214,34%,20%));color:#c4d2e4}
body .site-footer[data-foot="g12"]::before{background:linear-gradient(90deg,hsl(214,40%,52%),hsl(214,46%,68%),hsl(214,40%,52%));height:3px}
body .site-footer[data-foot="g12"] h4{color:hsl(214,46%,68%)}
body .site-footer[data-foot="g12"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="g12"] a{color:#c4d2e4}body .site-footer[data-foot="g12"] a:hover{color:hsl(214,46%,68%)}
body .site-footer[data-foot="g12"] p{color:#9fb1c8}
body .site-footer[data-foot="g13"]{background:linear-gradient(180deg,hsl(292,44%,13%),hsl(292,34%,20%));color:#b9cde4}
body .site-footer[data-foot="g13"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="g13"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:hsl(292,40%,52%)}
body .site-footer[data-foot="g13"]::before{background:linear-gradient(90deg,hsl(292,40%,52%),hsl(292,46%,68%),hsl(292,40%,52%))}
body .site-footer[data-foot="g13"] a{color:#b9cde4}body .site-footer[data-foot="g13"] a:hover{color:#fff}
body .site-footer[data-foot="g13"] p{color:#b9cde4}
body .site-footer[data-foot="g14"]{background:linear-gradient(180deg,hsl(26,40%,97%),hsl(26,36%,90%));color:#46566a;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="g14"] h4{color:hsl(26,38%,20%);position:relative;padding-bottom:10px}
body .site-footer[data-foot="g14"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;background:hsl(26,44%,52%)}
body .site-footer[data-foot="g14"]::before{background:linear-gradient(90deg,hsl(26,44%,52%),hsl(26,50%,68%),hsl(26,44%,52%));height:2px}
body .site-footer[data-foot="g14"] a{color:hsl(26,44%,52%)}body .site-footer[data-foot="g14"] a:hover{color:hsl(26,38%,20%)}
body .site-footer[data-foot="g14"] p{color:#5b6b7c}
body .site-footer[data-foot="g15"]{background:linear-gradient(135deg,hsl(128,36%,13%),hsl(128,32%,52%));color:#e2ecf7}
body .site-footer[data-foot="g15"]::before{background:linear-gradient(90deg,hsl(128,38%,68%),#fff,hsl(128,38%,68%));height:3px}
body .site-footer[data-foot="g15"] h4{color:#fff}
body .site-footer[data-foot="g15"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="g15"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="g15"] a{color:#d5e4f3}body .site-footer[data-foot="g15"] a:hover{color:#fff}
body .site-footer[data-foot="g15"] p{color:#d5e4f3}
body .site-footer[data-foot="g16"]{background:linear-gradient(180deg,hsl(40,70%,13%),hsl(40,68%,20%));color:#c4d2e4}
body .site-footer[data-foot="g16"]::before{background:linear-gradient(90deg,hsl(40,74%,52%),hsl(40,80%,68%),hsl(40,74%,52%));height:3px}
body .site-footer[data-foot="g16"] h4{color:hsl(40,80%,68%)}
body .site-footer[data-foot="g16"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="g16"] a{color:#c4d2e4}body .site-footer[data-foot="g16"] a:hover{color:hsl(40,80%,68%)}
body .site-footer[data-foot="g16"] p{color:#9fb1c8}
body .site-footer[data-foot="g17"]{background:linear-gradient(180deg,hsl(14,70%,13%),hsl(14,74%,20%));color:#b9cde4}
body .site-footer[data-foot="g17"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="g17"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:hsl(14,80%,52%)}
body .site-footer[data-foot="g17"]::before{background:linear-gradient(90deg,hsl(14,80%,52%),hsl(14,86%,68%),hsl(14,80%,52%))}
body .site-footer[data-foot="g17"] a{color:#b9cde4}body .site-footer[data-foot="g17"] a:hover{color:#fff}
body .site-footer[data-foot="g17"] p{color:#b9cde4}
body .site-footer[data-foot="g18"]{background:linear-gradient(180deg,hsl(232,40%,97%),hsl(232,36%,90%));color:#46566a;border-top:1px solid #e3e9f1}
body .site-footer[data-foot="g18"] h4{color:hsl(232,36%,20%);position:relative;padding-bottom:10px}
body .site-footer[data-foot="g18"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;background:hsl(232,42%,52%)}
body .site-footer[data-foot="g18"]::before{background:linear-gradient(90deg,hsl(232,42%,52%),hsl(232,48%,68%),hsl(232,42%,52%));height:2px}
body .site-footer[data-foot="g18"] a{color:hsl(232,42%,52%)}body .site-footer[data-foot="g18"] a:hover{color:hsl(232,36%,20%)}
body .site-footer[data-foot="g18"] p{color:#5b6b7c}
body .site-footer[data-foot="g19"]{background:linear-gradient(135deg,hsl(30,70%,13%),hsl(30,78%,52%));color:#e2ecf7}
body .site-footer[data-foot="g19"]::before{background:linear-gradient(90deg,hsl(30,84%,68%),#fff,hsl(30,84%,68%));height:3px}
body .site-footer[data-foot="g19"] h4{color:#fff}
body .site-footer[data-foot="g19"] .cols>div:first-child{grid-column:1/-1;text-align:center;padding-bottom:10px}
body .site-footer[data-foot="g19"] .cols>div:first-child h4{font-size:22px}
body .site-footer[data-foot="g19"] a{color:#d5e4f3}body .site-footer[data-foot="g19"] a:hover{color:#fff}
body .site-footer[data-foot="g19"] p{color:#d5e4f3}
body .site-footer[data-foot="g20"]{background:linear-gradient(180deg,hsl(100,30%,13%),hsl(100,20%,20%));color:#c4d2e4}
body .site-footer[data-foot="g20"]::before{background:linear-gradient(90deg,hsl(100,26%,52%),hsl(100,32%,68%),hsl(100,26%,52%));height:3px}
body .site-footer[data-foot="g20"] h4{color:hsl(100,32%,68%)}
body .site-footer[data-foot="g20"] .cols>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px}
body .site-footer[data-foot="g20"] a{color:#c4d2e4}body .site-footer[data-foot="g20"] a:hover{color:hsl(100,32%,68%)}
body .site-footer[data-foot="g20"] p{color:#9fb1c8}
/* ---- 整页模板 p21..p30 ---- */
body[data-pstyle="p21"] .section h2{border-left:6px solid var(--pk-1);padding-left:14px}
body[data-pstyle="p21"] .card{border-top:3px solid var(--pk-1)}
body[data-pstyle="p22"] .detail-hero{border-bottom:6px solid var(--pk-1)}
body[data-pstyle="p22"] .section h2::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--pk-1),var(--pk-2));margin-top:8px}
body[data-pstyle="p23"]{color:#c7d4e3}
body[data-pstyle="p23"] .detail-hero{text-align:center}
body[data-pstyle="p23"] .detail-hero h1{letter-spacing:.14em;text-transform:uppercase}
body[data-pstyle="p23"] .section.alt{background:rgba(255,255,255,.045)}
body[data-pstyle="p23"] .card{border:1px solid #26344a}
body[data-pstyle="p24"] .section h2{text-align:center}
body[data-pstyle="p24"] .section h2::after{content:"●";display:block;color:var(--pk-2);font-size:12px;margin-top:6px}
body[data-pstyle="p25"] .section h2{border-bottom:3px double var(--pk-1);display:inline-block;padding-bottom:6px}
body[data-pstyle="p25"] .card{border:1px solid rgba(0,0,0,.1);box-shadow:none}
body[data-pstyle="p26"] .detail-hero{background:#f2f8fd;background:var(--pk-bg)}
body[data-pstyle="p26"] .detail-hero h1{color:var(--pk-h2)}
body[data-pstyle="p26"] .detail-hero p,body[data-pstyle="p26"] .detail-hero .breadcrumb{color:var(--pk-1)}
body[data-pstyle="p27"] .detail-hero{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px),linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p28"] .section h2{letter-spacing:.06em;text-transform:uppercase;font-size:clamp(22px,2.2vw,28px)}
body[data-pstyle="p28"] .card{border-left:4px solid var(--pk-2)}
body[data-pstyle="p29"] .section{border-top:1px solid rgba(0,0,0,.08)}
body[data-pstyle="p29"] .section h2{text-transform:uppercase;letter-spacing:.08em}
body[data-pstyle="p30"] .detail-hero{background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22) 0 180px,transparent 180px),linear-gradient(118deg,var(--pk-h1),var(--pk-h2))}
body[data-pstyle="p30"] .btn{border-radius:999px}
/* ---- 详情风格 dv1..dv20 ---- */
body[data-sec-detail="dv1"] .detail-grid{grid-template-columns:.8fr 1.6fr;gap:30px}
body[data-sec-detail="dv1"] .detail-grid>div:last-child{border-top:4px solid hsl(226,54%,46%);border-radius:8px}
body[data-sec-detail="dv1"] .detail-grid>div:last-child h1{color:hsl(226,54%,46%)}
body[data-sec-detail="dv2"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="dv2"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="dv2"] .detail-grid>div:first-child .gal-main img{max-height:450px;object-fit:cover;width:100%}
body[data-sec-detail="dv2"] .detail-grid>div:first-child{border-bottom:4px solid hsl(210,32%,46%)}
body[data-sec-detail="dv2"] .detail-grid>div:last-child h1{color:hsl(210,32%,46%)}
body[data-sec-detail="dv3"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}
body[data-sec-detail="dv3"] .detail-grid>div{background:#fff;border:1px solid var(--line);border-left:5px solid hsl(292,44%,46%);border-radius:14px;padding:16px}
body[data-sec-detail="dv3"] .detail-grid>div:last-child h1{color:hsl(292,44%,46%)}
body[data-sec-detail="dv4"] .detail-grid{grid-template-columns:1.6fr .8fr;gap:52px}
body[data-sec-detail="dv4"] .detail-grid>div:first-child{order:2;border-radius:8px;box-shadow:0 8px 22px hsl(352,40%,20%)22}
body[data-sec-detail="dv4"] .detail-grid>div:last-child h1{color:hsl(352,52%,46%)}
body[data-sec-detail="dv5"] .detail-grid{grid-template-columns:.8fr 1.6fr;gap:30px}
body[data-sec-detail="dv5"] .detail-grid>div:last-child{border-top:4px solid hsl(18,44%,46%);border-radius:13px}
body[data-sec-detail="dv5"] .detail-grid>div:last-child h1{color:hsl(18,44%,46%)}
body[data-sec-detail="dv6"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="dv6"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="dv6"] .detail-grid>div:first-child .gal-main img{max-height:450px;object-fit:cover;width:100%}
body[data-sec-detail="dv6"] .detail-grid>div:first-child{border-bottom:4px solid hsl(128,36%,46%)}
body[data-sec-detail="dv6"] .detail-grid>div:last-child h1{color:hsl(128,36%,46%)}
body[data-sec-detail="dv7"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}
body[data-sec-detail="dv7"] .detail-grid>div{background:#fff;border:1px solid var(--line);border-left:5px solid hsl(168,54%,46%);border-radius:14px;padding:16px}
body[data-sec-detail="dv7"] .detail-grid>div:last-child h1{color:hsl(168,54%,46%)}
body[data-sec-detail="dv8"] .detail-grid{grid-template-columns:1.6fr .8fr;gap:52px}
body[data-sec-detail="dv8"] .detail-grid>div:first-child{order:2;border-radius:14px;box-shadow:0 8px 22px hsl(50,40%,20%)22}
body[data-sec-detail="dv8"] .detail-grid>div:last-child h1{color:hsl(50,68%,46%)}
body[data-sec-detail="dv9"] .detail-grid{grid-template-columns:.8fr 1.6fr;gap:30px}
body[data-sec-detail="dv9"] .detail-grid>div:last-child{border-top:4px solid hsl(14,76%,46%);border-radius:18px}
body[data-sec-detail="dv9"] .detail-grid>div:last-child h1{color:hsl(14,76%,46%)}
body[data-sec-detail="dv10"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="dv10"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="dv10"] .detail-grid>div:first-child .gal-main img{max-height:450px;object-fit:cover;width:100%}
body[data-sec-detail="dv10"] .detail-grid>div:first-child{border-bottom:4px solid hsl(90,52%,46%)}
body[data-sec-detail="dv10"] .detail-grid>div:last-child h1{color:hsl(90,52%,46%)}
body[data-sec-detail="dv11"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}
body[data-sec-detail="dv11"] .detail-grid>div{background:#fff;border:1px solid var(--line);border-left:5px solid hsl(258,44%,46%);border-radius:14px;padding:16px}
body[data-sec-detail="dv11"] .detail-grid>div:last-child h1{color:hsl(258,44%,46%)}
body[data-sec-detail="dv12"] .detail-grid{grid-template-columns:1.6fr .8fr;gap:52px}
body[data-sec-detail="dv12"] .detail-grid>div:first-child{order:2;border-radius:20px;box-shadow:0 8px 22px hsl(30,40%,20%)22}
body[data-sec-detail="dv12"] .detail-grid>div:last-child h1{color:hsl(30,76%,46%)}
body[data-sec-detail="dv13"] .detail-grid{grid-template-columns:.8fr 1.6fr;gap:30px}
body[data-sec-detail="dv13"] .detail-grid>div:last-child{border-top:4px solid hsl(280,40%,46%);border-radius:8px}
body[data-sec-detail="dv13"] .detail-grid>div:last-child h1{color:hsl(280,40%,46%)}
body[data-sec-detail="dv14"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="dv14"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="dv14"] .detail-grid>div:first-child .gal-main img{max-height:450px;object-fit:cover;width:100%}
body[data-sec-detail="dv14"] .detail-grid>div:first-child{border-bottom:4px solid hsl(12,36%,46%)}
body[data-sec-detail="dv14"] .detail-grid>div:last-child h1{color:hsl(12,36%,46%)}
body[data-sec-detail="dv15"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}
body[data-sec-detail="dv15"] .detail-grid>div{background:#fff;border:1px solid var(--line);border-left:5px solid hsl(187,62%,46%);border-radius:14px;padding:16px}
body[data-sec-detail="dv15"] .detail-grid>div:last-child h1{color:hsl(187,62%,46%)}
body[data-sec-detail="dv16"] .detail-grid{grid-template-columns:1.6fr .8fr;gap:52px}
body[data-sec-detail="dv16"] .detail-grid>div:first-child{order:2;border-radius:8px;box-shadow:0 8px 22px hsl(226,40%,20%)22}
body[data-sec-detail="dv16"] .detail-grid>div:last-child h1{color:hsl(226,54%,46%)}
body[data-sec-detail="dv17"] .detail-grid{grid-template-columns:.8fr 1.6fr;gap:30px}
body[data-sec-detail="dv17"] .detail-grid>div:last-child{border-top:4px solid hsl(210,32%,46%);border-radius:13px}
body[data-sec-detail="dv17"] .detail-grid>div:last-child h1{color:hsl(210,32%,46%)}
body[data-sec-detail="dv18"] .detail-grid{grid-template-columns:1fr}
body[data-sec-detail="dv18"] .detail-grid>div:first-child{grid-column:1/-1}
body[data-sec-detail="dv18"] .detail-grid>div:first-child .gal-main img{max-height:450px;object-fit:cover;width:100%}
body[data-sec-detail="dv18"] .detail-grid>div:first-child{border-bottom:4px solid hsl(292,44%,46%)}
body[data-sec-detail="dv18"] .detail-grid>div:last-child h1{color:hsl(292,44%,46%)}
body[data-sec-detail="dv19"] .detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}
body[data-sec-detail="dv19"] .detail-grid>div{background:#fff;border:1px solid var(--line);border-left:5px solid hsl(352,52%,46%);border-radius:14px;padding:16px}
body[data-sec-detail="dv19"] .detail-grid>div:last-child h1{color:hsl(352,52%,46%)}
body[data-sec-detail="dv20"] .detail-grid{grid-template-columns:1.6fr .8fr;gap:52px}
body[data-sec-detail="dv20"] .detail-grid>div:first-child{order:2;border-radius:14px;box-shadow:0 8px 22px hsl(18,40%,20%)22}
body[data-sec-detail="dv20"] .detail-grid>div:last-child h1{color:hsl(18,44%,46%)}
/* ---- 板块布局 lay-timeline/rank/metro/split/panel/index/guide/focus/stage ---- */
..grid.lay-timeline{position:relative;padding-left:34px}
..grid.lay-timeline::before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--blue-500),var(--blue-300))}
..grid.lay-timeline>.card{position:relative;margin-bottom:14px}
..grid.lay-timeline>.card::before{content:"";position:absolute;left:-29px;top:22px;width:13px;height:13px;border-radius:50%;background:var(--blue-500);border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-300)}
..grid.lay-rank{counter-reset:rk}
..grid.lay-rank>.card{counter-increment:rk;position:relative;padding-left:64px;box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0}
..grid.lay-rank>.card::before{content:counter(rk,decimal-leading-zero);position:absolute;left:0;top:14px;font-size:40px;font-weight:900;color:var(--blue-200,#cfe3f5);-webkit-text-stroke:1px var(--blue-400)}
..grid.lay-rank>.card .body{padding-left:0}
..grid.lay-metro{grid-auto-flow:dense}
..grid.lay-metro>.card:first-child{grid-column:span 2;grid-row:span 2}
..grid.lay-metro>.card:first-child .ph{min-height:300px}
..grid.lay-split>.card{flex-direction:row;align-items:stretch;box-shadow:none;border:0;border-bottom:2px solid var(--sky-2,var(--sky));border-radius:0;padding-bottom:14px}
..grid.lay-split>.card:nth-child(even){flex-direction:row-reverse}
..grid.lay-split>.card .ph{flex:0 0 34%}
..grid.lay-panel>.card{border:0;border-left:6px solid var(--blue-600);background:linear-gradient(90deg,var(--sky),#fff 55%);border-radius:0 12px 12px 0;box-shadow:none}
..grid.lay-panel>.card:hover{border-left-color:var(--blue-400)}
..grid.lay-index>.card{box-shadow:none;border:0;border-top:3px solid var(--blue-800);border-radius:0;padding-top:12px;background:transparent}
..grid.lay-index>.card .body h3{font-size:19px}
..grid.lay-index>.card .ph{border-radius:2px}
..grid.lay-guide>.card{position:relative;min-height:270px;justify-content:flex-end;overflow:hidden;border-radius:14px}
..grid.lay-guide>.card .ph{position:absolute;inset:0;width:100%;height:100%}
..grid.lay-guide>.card .body{position:relative;z-index:1;background:linear-gradient(180deg,transparent,rgba(4,20,40,.86));margin:60px 0 0;padding:34px 18px 16px}
..grid.lay-guide>.card .body h3{color:#fff}
..grid.lay-guide>.card .body p,.card .body .meta{color:#c8dcf0}
..grid.lay-focus>.card:first-child{grid-column:1/-1;display:flex;flex-direction:row;min-height:280px}
..grid.lay-focus>.card:first-child .ph{flex:0 0 52%;height:auto}
..grid.lay-focus>.card:first-child .body{font-size:1.05em}
..grid.lay-stage>.card{border-top:5px solid var(--blue-500);box-shadow:0 8px 22px rgba(0,0,0,.08)}
..grid.lay-stage>.card .ph{background:linear-gradient(135deg,var(--sky),#fff)}
/* ---- CTA cv1..cv20 ---- */
body[data-sec-cta="cv1"] .cta-band{background:linear-gradient(120deg,hsl(226,50%,13%),hsl(226,44%,30%));border:2px solid hsl(226,54%,48%);box-shadow:6px 6px 0 hsl(226,56%,70%)}
body[data-sec-cta="cv2"] .cta-band{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.08) 0 12px,transparent 12px 24px),linear-gradient(120deg,hsl(26,44%,13%),hsl(26,48%,48%))}
body[data-sec-cta="cv3"] .cta-band{background:#fff;border:1px solid var(--line);border-left:17px solid hsl(50,68%,48%);box-shadow:0 10px 26px hsl(50,40%,20%)1e}
body[data-sec-cta="cv3"] .cta-band h2{color:hsl(50,58%,30%)}
body[data-sec-cta="cv4"] .cta-band{background:#fff;border:0;border-bottom:8px solid;border-image:linear-gradient(90deg,hsl(336,70%,48%),hsl(336,72%,70%)) 1}
body[data-sec-cta="cv4"] .cta-band h2{color:hsl(336,60%,30%)}
body[data-sec-cta="cv4"] .cta-band .btn{background:hsl(336,70%,48%);border-color:hsl(336,70%,48%)}
body[data-sec-cta="cv5"] .cta-band{background:linear-gradient(120deg,hsl(187,58%,13%),hsl(187,52%,30%));border:2px solid hsl(187,62%,48%);box-shadow:9px 9px 0 hsl(187,64%,70%)}
body[data-sec-cta="cv6"] .cta-band{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.11) 0 12px,transparent 12px 24px),linear-gradient(120deg,hsl(340,32%,13%),hsl(340,36%,48%))}
body[data-sec-cta="cv7"] .cta-band{background:#fff;border:1px solid var(--line);border-left:9px solid hsl(168,54%,48%);box-shadow:0 10px 26px hsl(168,40%,20%)1e}
body[data-sec-cta="cv7"] .cta-band h2{color:hsl(168,44%,30%)}
body[data-sec-cta="cv8"] .cta-band{background:#fff;border:0;border-bottom:8px solid;border-image:linear-gradient(90deg,hsl(232,46%,48%),hsl(232,48%,70%)) 1}
body[data-sec-cta="cv8"] .cta-band h2{color:hsl(232,36%,30%)}
body[data-sec-cta="cv8"] .cta-band .btn{background:hsl(232,46%,48%);border-color:hsl(232,46%,48%)}
body[data-sec-cta="cv9"] .cta-band{background:linear-gradient(120deg,hsl(12,32%,13%),hsl(12,26%,30%));border:2px solid hsl(12,36%,48%);box-shadow:12px 12px 0 hsl(12,38%,70%)}
body[data-sec-cta="cv10"] .cta-band{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.05) 0 12px,transparent 12px 24px),linear-gradient(120deg,hsl(268,44%,13%),hsl(268,48%,48%))}
body[data-sec-cta="cv11"] .cta-band{background:#fff;border:1px solid var(--line);border-left:13px solid hsl(128,36%,48%);box-shadow:0 10px 26px hsl(128,40%,20%)1e}
body[data-sec-cta="cv11"] .cta-band h2{color:hsl(128,26%,30%)}
body[data-sec-cta="cv12"] .cta-band{background:#fff;border:0;border-bottom:8px solid;border-image:linear-gradient(90deg,hsl(36,76%,48%),hsl(36,82%,70%)) 1}
body[data-sec-cta="cv12"] .cta-band h2{color:hsl(36,78%,30%)}
body[data-sec-cta="cv12"] .cta-band .btn{background:hsl(36,76%,48%);border-color:hsl(36,76%,48%)}
body[data-sec-cta="cv13"] .cta-band{background:linear-gradient(120deg,hsl(280,36%,13%),hsl(280,30%,30%));border:2px solid hsl(280,40%,48%);box-shadow:6px 6px 0 hsl(280,42%,70%)}
body[data-sec-cta="cv14"] .cta-band{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.08) 0 12px,transparent 12px 24px),linear-gradient(120deg,hsl(214,40%,13%),hsl(214,44%,48%))}
body[data-sec-cta="cv15"] .cta-band{background:#fff;border:1px solid var(--line);border-left:17px solid hsl(18,44%,48%);box-shadow:0 10px 26px hsl(18,40%,20%)1e}
body[data-sec-cta="cv15"] .cta-band h2{color:hsl(18,34%,30%)}
body[data-sec-cta="cv16"] .cta-band{background:#fff;border:0;border-bottom:8px solid;border-image:linear-gradient(90deg,hsl(6,62%,48%),hsl(6,64%,70%)) 1}
body[data-sec-cta="cv16"] .cta-band h2{color:hsl(6,52%,30%)}
body[data-sec-cta="cv16"] .cta-band .btn{background:hsl(6,62%,48%);border-color:hsl(6,62%,48%)}
body[data-sec-cta="cv17"] .cta-band{background:linear-gradient(120deg,hsl(30,70%,13%),hsl(30,72%,30%));border:2px solid hsl(30,76%,48%);box-shadow:9px 9px 0 hsl(30,82%,70%)}
body[data-sec-cta="cv18"] .cta-band{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.11) 0 12px,transparent 12px 24px),linear-gradient(120deg,hsl(205,68%,13%),hsl(205,72%,48%))}
body[data-sec-cta="cv19"] .cta-band{background:#fff;border:1px solid var(--line);border-left:9px solid hsl(352,52%,48%);box-shadow:0 10px 26px hsl(352,40%,20%)1e}
body[data-sec-cta="cv19"] .cta-band h2{color:hsl(352,42%,30%)}
body[data-sec-cta="cv20"] .cta-band{background:#fff;border:0;border-bottom:8px solid;border-image:linear-gradient(90deg,hsl(40,76%,48%),hsl(40,80%,70%)) 1}
body[data-sec-cta="cv20"] .cta-band h2{color:hsl(40,68%,30%)}
body[data-sec-cta="cv20"] .cta-band .btn{background:hsl(40,76%,48%);border-color:hsl(40,76%,48%)}
/* ---- 数据条 sv1..sv20 ---- */
body[data-sec-stats="sv1"] .certstrip{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border-bottom:2px solid hsl(18,44%,48%)}
body[data-sec-stats="sv1"] .certstrip .badge{border-color:hsl(18,44%,48%);color:hsl(18,34%,27%)}
body[data-sec-stats="sv1"] .img-band{filter:saturate(1.08)}
body[data-sec-stats="sv2"] .certstrip{background:linear-gradient(90deg,hsl(6,58%,12%),hsl(6,52%,27%));border-bottom:4px solid hsl(6,62%,48%)}
body[data-sec-stats="sv2"] .img-band{box-shadow:inset 0 -4px 0 hsl(6,64%,68%)}
body[data-sec-stats="sv3"] .img-band{display:none}
body[data-sec-stats="sv3"] .certstrip{background:hsl(30,72%,27%)}
body[data-sec-stats="sv3"] .certstrip .badge{background:hsl(30,76%,48%);border-color:transparent;color:#fff}
body[data-sec-stats="sv4"] .certstrip{background:repeating-linear-gradient(90deg,hsl(205,68%,12%) 0 3px,hsl(205,62%,27%) 3px 7px)}
body[data-sec-stats="sv4"] .certstrip .badge{background:rgba(255,255,255,.92);border-color:transparent;color:hsl(205,62%,27%)}
body[data-sec-stats="sv5"] .certstrip{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border-bottom:3px solid hsl(352,52%,48%)}
body[data-sec-stats="sv5"] .certstrip .badge{border-color:hsl(352,52%,48%);color:hsl(352,42%,27%)}
body[data-sec-stats="sv5"] .img-band{filter:saturate(1.08)}
body[data-sec-stats="sv6"] .certstrip{background:linear-gradient(90deg,hsl(40,70%,12%),hsl(40,68%,27%));border-bottom:4px solid hsl(40,76%,48%)}
body[data-sec-stats="sv6"] .img-band{box-shadow:inset 0 -4px 0 hsl(40,80%,68%)}
body[data-sec-stats="sv7"] .img-band{display:none}
body[data-sec-stats="sv7"] .certstrip{background:hsl(258,34%,27%)}
body[data-sec-stats="sv7"] .certstrip .badge{background:hsl(258,44%,48%);border-color:transparent;color:#fff}
body[data-sec-stats="sv8"] .certstrip{background:repeating-linear-gradient(90deg,hsl(200,52%,12%) 0 3px,hsl(200,46%,27%) 3px 7px)}
body[data-sec-stats="sv8"] .certstrip .badge{background:rgba(255,255,255,.92);border-color:transparent;color:hsl(200,46%,27%)}
body[data-sec-stats="sv9"] .certstrip{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border-bottom:4px solid hsl(292,44%,48%)}
body[data-sec-stats="sv9"] .certstrip .badge{border-color:hsl(292,44%,48%);color:hsl(292,34%,27%)}
body[data-sec-stats="sv9"] .img-band{filter:saturate(1.08)}
body[data-sec-stats="sv10"] .certstrip{background:linear-gradient(90deg,hsl(158,44%,12%),hsl(158,38%,27%));border-bottom:4px solid hsl(158,48%,48%)}
body[data-sec-stats="sv10"] .img-band{box-shadow:inset 0 -4px 0 hsl(158,50%,68%)}
body[data-sec-stats="sv11"] .img-band{display:none}
body[data-sec-stats="sv11"] .certstrip{background:hsl(90,42%,27%)}
body[data-sec-stats="sv11"] .certstrip .badge{background:hsl(90,52%,48%);border-color:transparent;color:#fff}
body[data-sec-stats="sv12"] .certstrip{background:repeating-linear-gradient(90deg,hsl(100,26%,12%) 0 3px,hsl(100,20%,27%) 3px 7px)}
body[data-sec-stats="sv12"] .certstrip .badge{background:rgba(255,255,255,.92);border-color:transparent;color:hsl(100,20%,27%)}
body[data-sec-stats="sv13"] .certstrip{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border-bottom:2px solid hsl(210,32%,48%)}
body[data-sec-stats="sv13"] .certstrip .badge{border-color:hsl(210,32%,48%);color:hsl(210,22%,27%)}
body[data-sec-stats="sv13"] .img-band{filter:saturate(1.08)}
body[data-sec-stats="sv14"] .certstrip{background:linear-gradient(90deg,hsl(74,32%,12%),hsl(74,26%,27%));border-bottom:4px solid hsl(74,36%,48%)}
body[data-sec-stats="sv14"] .img-band{box-shadow:inset 0 -4px 0 hsl(74,38%,68%)}
body[data-sec-stats="sv15"] .img-band{display:none}
body[data-sec-stats="sv15"] .certstrip{background:hsl(14,74%,27%)}
body[data-sec-stats="sv15"] .certstrip .badge{background:hsl(14,76%,48%);border-color:transparent;color:#fff}
body[data-sec-stats="sv16"] .certstrip{background:repeating-linear-gradient(90deg,hsl(194,32%,12%) 0 3px,hsl(194,26%,27%) 3px 7px)}
body[data-sec-stats="sv16"] .certstrip .badge{background:rgba(255,255,255,.92);border-color:transparent;color:hsl(194,26%,27%)}
body[data-sec-stats="sv17"] .certstrip{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border-bottom:3px solid hsl(226,54%,48%)}
body[data-sec-stats="sv17"] .certstrip .badge{border-color:hsl(226,54%,48%);color:hsl(226,44%,27%)}
body[data-sec-stats="sv17"] .img-band{filter:saturate(1.08)}
body[data-sec-stats="sv18"] .certstrip{background:linear-gradient(90deg,hsl(26,44%,12%),hsl(26,38%,27%));border-bottom:4px solid hsl(26,48%,48%)}
body[data-sec-stats="sv18"] .img-band{box-shadow:inset 0 -4px 0 hsl(26,50%,68%)}
body[data-sec-stats="sv19"] .img-band{display:none}
body[data-sec-stats="sv19"] .certstrip{background:hsl(50,58%,27%)}
body[data-sec-stats="sv19"] .certstrip .badge{background:hsl(50,68%,48%);border-color:transparent;color:#fff}
body[data-sec-stats="sv20"] .certstrip{background:repeating-linear-gradient(90deg,hsl(336,66%,12%) 0 3px,hsl(336,60%,27%) 3px 7px)}
body[data-sec-stats="sv20"] .certstrip .badge{background:rgba(255,255,255,.92);border-color:transparent;color:hsl(336,60%,27%)}
/* ---- 公司简介 av1..av24 ---- */
body[data-sec-about="av1"] .about-media img{border-radius:120px 120px 14px 14px}
body[data-sec-about="av1"] .about-media{background:linear-gradient(180deg,hsl(268,46%,92%),transparent);border-radius:120px 120px 14px 14px;padding:12px}
body[data-sec-about="av2"] .about-media img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid hsl(26,48%,48%);padding:4px}
body[data-sec-about="av2"] .about-wrap{align-items:center}
body[data-sec-about="av2"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av3"] .about-media{clip-path:polygon(0 0,100% 8%,100% 100%,0 92%);background:hsl(158,46%,92%)}
body[data-sec-about="av3"] .about-media img{clip-path:polygon(0 0,100% 8%,100% 100%,0 92%)}
body[data-sec-about="av4"] .about-media{position:relative}
body[data-sec-about="av4"] .about-media::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid hsl(6,62%,48%);border-radius:14px;z-index:0}
body[data-sec-about="av4"] .about-media img{position:relative;z-index:1}
body[data-sec-about="av4"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av5"] .about-wrap{position:relative}
body[data-sec-about="av5"] .about-wrap::before{content:"“";position:absolute;left:-8px;top:-30px;font-size:120px;color:hsl(232,46%,92%);font-family:Georgia,serif;z-index:0}
body[data-sec-about="av5"] .about-wrap h2{color:hsl(232,40%,32%)}
body[data-sec-about="av5"] .about-wrap>*{position:relative;z-index:1}
body[data-sec-about="av6"] .section.alt,body[data-sec-about="av6"] .section{background:hsl(194,32%,14%)}
body[data-sec-about="av6"] .about-wrap h2{color:#fff}
body[data-sec-about="av6"] .about-wrap h2::after{content:"";display:block;width:56px;height:4px;border-radius:3px;background:hsl(194,36%,48%);margin-top:10px}
body[data-sec-about="av6"] .about-wrap p,body[data-sec-about="av6"] .about-wrap li{color:hsl(194,26%,84%)}
body[data-sec-about="av6"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av7"] .about-media img{border-radius:164px 164px 14px 14px}
body[data-sec-about="av7"] .about-media{background:linear-gradient(180deg,hsl(200,46%,92%),transparent);border-radius:164px 164px 14px 14px;padding:12px}
body[data-sec-about="av8"] .about-media img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid hsl(214,44%,48%);padding:4px}
body[data-sec-about="av8"] .about-wrap{align-items:center}
body[data-sec-about="av8"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av9"] .about-media{clip-path:polygon(0 0,100% 4%,100% 100%,0 92%);background:hsl(340,46%,92%)}
body[data-sec-about="av9"] .about-media img{clip-path:polygon(0 0,100% 4%,100% 100%,0 92%)}
body[data-sec-about="av10"] .about-media{position:relative}
body[data-sec-about="av10"] .about-media::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid hsl(74,36%,48%);border-radius:14px;z-index:0}
body[data-sec-about="av10"] .about-media img{position:relative;z-index:1}
body[data-sec-about="av10"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av11"] .about-wrap{position:relative}
body[data-sec-about="av11"] .about-wrap::before{content:"“";position:absolute;left:-8px;top:-30px;font-size:120px;color:hsl(40,46%,92%);font-family:Georgia,serif;z-index:0}
body[data-sec-about="av11"] .about-wrap h2{color:hsl(40,60%,32%)}
body[data-sec-about="av11"] .about-wrap>*{position:relative;z-index:1}
body[data-sec-about="av12"] .section.alt,body[data-sec-about="av12"] .section{background:hsl(36,70%,14%)}
body[data-sec-about="av12"] .about-wrap h2{color:#fff}
body[data-sec-about="av12"] .about-wrap h2::after{content:"";display:block;width:56px;height:4px;border-radius:3px;background:hsl(36,76%,48%);margin-top:10px}
body[data-sec-about="av12"] .about-wrap p,body[data-sec-about="av12"] .about-wrap li{color:hsl(36,26%,84%)}
body[data-sec-about="av12"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av13"] .about-media img{border-radius:120px 120px 14px 14px}
body[data-sec-about="av13"] .about-media{background:linear-gradient(180deg,hsl(336,46%,92%),transparent);border-radius:120px 120px 14px 14px;padding:12px}
body[data-sec-about="av14"] .about-media img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid hsl(100,30%,48%);padding:4px}
body[data-sec-about="av14"] .about-wrap{align-items:center}
body[data-sec-about="av14"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av15"] .about-media{clip-path:polygon(0 0,100% 8%,100% 100%,0 92%);background:hsl(205,46%,92%)}
body[data-sec-about="av15"] .about-media img{clip-path:polygon(0 0,100% 8%,100% 100%,0 92%)}
body[data-sec-about="av16"] .about-media{position:relative}
body[data-sec-about="av16"] .about-media::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid hsl(268,48%,48%);border-radius:14px;z-index:0}
body[data-sec-about="av16"] .about-media img{position:relative;z-index:1}
body[data-sec-about="av16"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av17"] .about-wrap{position:relative}
body[data-sec-about="av17"] .about-wrap::before{content:"“";position:absolute;left:-8px;top:-30px;font-size:120px;color:hsl(26,46%,92%);font-family:Georgia,serif;z-index:0}
body[data-sec-about="av17"] .about-wrap h2{color:hsl(26,42%,32%)}
body[data-sec-about="av17"] .about-wrap>*{position:relative;z-index:1}
body[data-sec-about="av18"] .section.alt,body[data-sec-about="av18"] .section{background:hsl(158,44%,14%)}
body[data-sec-about="av18"] .about-wrap h2{color:#fff}
body[data-sec-about="av18"] .about-wrap h2::after{content:"";display:block;width:56px;height:4px;border-radius:3px;background:hsl(158,48%,48%);margin-top:10px}
body[data-sec-about="av18"] .about-wrap p,body[data-sec-about="av18"] .about-wrap li{color:hsl(158,26%,84%)}
body[data-sec-about="av18"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av19"] .about-media img{border-radius:164px 164px 14px 14px}
body[data-sec-about="av19"] .about-media{background:linear-gradient(180deg,hsl(6,46%,92%),transparent);border-radius:164px 164px 14px 14px;padding:12px}
body[data-sec-about="av20"] .about-media img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid hsl(232,46%,48%);padding:4px}
body[data-sec-about="av20"] .about-wrap{align-items:center}
body[data-sec-about="av20"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av21"] .about-media{clip-path:polygon(0 0,100% 4%,100% 100%,0 92%);background:hsl(194,46%,92%)}
body[data-sec-about="av21"] .about-media img{clip-path:polygon(0 0,100% 4%,100% 100%,0 92%)}
body[data-sec-about="av22"] .about-media{position:relative}
body[data-sec-about="av22"] .about-media::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid hsl(200,56%,48%);border-radius:14px;z-index:0}
body[data-sec-about="av22"] .about-media img{position:relative;z-index:1}
body[data-sec-about="av22"] .about-wrap{flex-direction:row-reverse}
body[data-sec-about="av23"] .about-wrap{position:relative}
body[data-sec-about="av23"] .about-wrap::before{content:"“";position:absolute;left:-8px;top:-30px;font-size:120px;color:hsl(214,46%,92%);font-family:Georgia,serif;z-index:0}
body[data-sec-about="av23"] .about-wrap h2{color:hsl(214,38%,32%)}
body[data-sec-about="av23"] .about-wrap>*{position:relative;z-index:1}
body[data-sec-about="av24"] .section.alt,body[data-sec-about="av24"] .section{background:hsl(340,32%,14%)}
body[data-sec-about="av24"] .about-wrap h2{color:#fff}
body[data-sec-about="av24"] .about-wrap h2::after{content:"";display:block;width:56px;height:4px;border-radius:3px;background:hsl(340,36%,48%);margin-top:10px}
body[data-sec-about="av24"] .about-wrap p,body[data-sec-about="av24"] .about-wrap li{color:hsl(340,26%,84%)}
body[data-sec-about="av24"] .about-wrap{flex-direction:row-reverse}
/* ---- 首页分类 cc1..cc20 ---- */
body[data-cats="cc1"] .home-cats .hcat{border-left:5px solid hsl(205,72%,46%);border-radius:0 10px 10px 0}
body[data-cats="cc1"] .home-cats .hcat:hover{border-left-color:hsl(205,74%,64%);background:hsl(205,48%,94%)}
body[data-cats="cc2"] .home-cats .hcat{border:2px dashed hsl(268,50%,64%);background:hsl(268,48%,94%);border-radius:8px}
body[data-cats="cc2"] .home-cats .hcat:hover{border-style:solid;border-color:hsl(268,48%,46%)}
body[data-cats="cc3"] .home-cats .hcat{background:linear-gradient(135deg,hsl(26,44%,13%),hsl(26,48%,46%));color:#fff;border:0}
body[data-cats="cc3"] .home-cats .hcat b{color:#fff}
body[data-cats="cc3"] .home-cats .hcat:hover{filter:brightness(1.14)}
body[data-cats="cc4"] .home-cats .hcat{border-radius:0;box-shadow:4px 4px 0 hsl(158,50%,64%);border:1.5px solid hsl(158,38%,28%)}
body[data-cats="cc4"] .home-cats .hcat:hover{box-shadow:2px 2px 0 hsl(158,48%,46%);transform:translate(3px,3px)}
body[data-cats="cc5"] .home-cats .hcat{border-left:6px solid hsl(6,62%,46%);border-radius:0 10px 10px 0}
body[data-cats="cc5"] .home-cats .hcat:hover{border-left-color:hsl(6,64%,64%);background:hsl(6,48%,94%)}
body[data-cats="cc6"] .home-cats .hcat{border:2px dashed hsl(232,48%,64%);background:hsl(232,48%,94%);border-radius:4px}
body[data-cats="cc6"] .home-cats .hcat:hover{border-style:solid;border-color:hsl(232,46%,46%)}
body[data-cats="cc7"] .home-cats .hcat{background:linear-gradient(135deg,hsl(194,32%,13%),hsl(194,36%,46%));color:#fff;border:0}
body[data-cats="cc7"] .home-cats .hcat b{color:#fff}
body[data-cats="cc7"] .home-cats .hcat:hover{filter:brightness(1.14)}
body[data-cats="cc8"] .home-cats .hcat{border-radius:0;box-shadow:5px 5px 0 hsl(200,58%,64%);border:1.5px solid hsl(200,46%,28%)}
body[data-cats="cc8"] .home-cats .hcat:hover{box-shadow:2px 2px 0 hsl(200,56%,46%);transform:translate(3px,3px)}
body[data-cats="cc9"] .home-cats .hcat{border-left:7px solid hsl(214,44%,46%);border-radius:0 10px 10px 0}
body[data-cats="cc9"] .home-cats .hcat:hover{border-left-color:hsl(214,46%,64%);background:hsl(214,48%,94%)}
body[data-cats="cc10"] .home-cats .hcat{border:2px dashed hsl(340,38%,64%);background:hsl(340,48%,94%);border-radius:12px}
body[data-cats="cc10"] .home-cats .hcat:hover{border-style:solid;border-color:hsl(340,36%,46%)}
body[data-cats="cc11"] .home-cats .hcat{background:linear-gradient(135deg,hsl(74,32%,13%),hsl(74,36%,46%));color:#fff;border:0}
body[data-cats="cc11"] .home-cats .hcat b{color:#fff}
body[data-cats="cc11"] .home-cats .hcat:hover{filter:brightness(1.14)}
body[data-cats="cc12"] .home-cats .hcat{border-radius:0;box-shadow:6px 6px 0 hsl(40,80%,64%);border:1.5px solid hsl(40,68%,28%)}
body[data-cats="cc12"] .home-cats .hcat:hover{box-shadow:2px 2px 0 hsl(40,76%,46%);transform:translate(3px,3px)}
body[data-cats="cc13"] .home-cats .hcat{border-left:5px solid hsl(36,76%,46%);border-radius:0 10px 10px 0}
body[data-cats="cc13"] .home-cats .hcat:hover{border-left-color:hsl(36,82%,64%);background:hsl(36,48%,94%)}
body[data-cats="cc14"] .home-cats .hcat{border:2px dashed hsl(336,72%,64%);background:hsl(336,48%,94%);border-radius:8px}
body[data-cats="cc14"] .home-cats .hcat:hover{border-style:solid;border-color:hsl(336,70%,46%)}
body[data-cats="cc15"] .home-cats .hcat{background:linear-gradient(135deg,hsl(100,26%,13%),hsl(100,30%,46%));color:#fff;border:0}
body[data-cats="cc15"] .home-cats .hcat b{color:#fff}
body[data-cats="cc15"] .home-cats .hcat:hover{filter:brightness(1.14)}
body[data-cats="cc16"] .home-cats .hcat{border-radius:0;box-shadow:4px 4px 0 hsl(205,74%,64%);border:1.5px solid hsl(205,62%,28%)}
body[data-cats="cc16"] .home-cats .hcat:hover{box-shadow:2px 2px 0 hsl(205,72%,46%);transform:translate(3px,3px)}
body[data-cats="cc17"] .home-cats .hcat{border-left:6px solid hsl(268,48%,46%);border-radius:0 10px 10px 0}
body[data-cats="cc17"] .home-cats .hcat:hover{border-left-color:hsl(268,50%,64%);background:hsl(268,48%,94%)}
body[data-cats="cc18"] .home-cats .hcat{border:2px dashed hsl(26,50%,64%);background:hsl(26,48%,94%);border-radius:4px}
body[data-cats="cc18"] .home-cats .hcat:hover{border-style:solid;border-color:hsl(26,48%,46%)}
body[data-cats="cc19"] .home-cats .hcat{background:linear-gradient(135deg,hsl(158,44%,13%),hsl(158,48%,46%));color:#fff;border:0}
body[data-cats="cc19"] .home-cats .hcat b{color:#fff}
body[data-cats="cc19"] .home-cats .hcat:hover{filter:brightness(1.14)}
body[data-cats="cc20"] .home-cats .hcat{border-radius:0;box-shadow:5px 5px 0 hsl(6,64%,64%);border:1.5px solid hsl(6,52%,28%)}
body[data-cats="cc20"] .home-cats .hcat:hover{box-shadow:2px 2px 0 hsl(6,62%,46%);transform:translate(3px,3px)}
/*GEN-END*/

/* ============================================================
   v24 可视化编辑器升级：重做 / 精修面板 / 文件库选图 / 拖拽排序 / 手机预览
   ============================================================ */
/* 顶栏按钮选中态 */
.ve-btn-on{background:#1f9d5b !important;border-color:#1f9d5b !important;color:#fff !important}

/* 📱 手机预览：约束到手机宽度 */
body.ve-mobile{max-width:430px;margin:0 auto;box-shadow:0 0 0 1px var(--line),0 24px 80px rgba(0,0,0,.35)}
body.ve-mobile .site-header{position:static}

/* 🪄 精修面板：色板 / 取色器 / 滑条 / 开关 */
.ve-swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0 4px}
.ve-swatch{background:#0d1826;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:6px 4px;cursor:pointer;text-align:center;color:#cfe1f5}
.ve-swatch i{display:block;height:22px;border-radius:6px;margin-bottom:5px}
.ve-swatch span{font-size:11px;line-height:1.2;display:block}
.ve-swatch.on{border-color:#2b8fe0;box-shadow:0 0 0 2px rgba(43,143,224,.35)}
.ve-swatch:hover{border-color:#2b8fe0}
.ve-color{width:100%;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#0d1826;padding:3px;cursor:pointer}
.ve-range{width:100%;accent-color:#2b8fe0}
.ve-switch{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ve-switch input{width:20px;height:20px;accent-color:#1f9d5b}

/* 📁 文件库选图器 */
#ve-filepick{position:fixed;inset:0;background:rgba(4,12,22,.62);z-index:100012;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px)}
.ve-fp-head{background:#0d1826;color:#fff;padding:12px 16px;font-weight:700;display:flex;align-items:center;justify-content:space-between;border-radius:14px 14px 0 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ve-fp-head .ve-x{background:none;border:0;color:#9db4cc;font-size:20px;cursor:pointer}
.ve-fp-body{background:#0d1826;border-radius:0 0 14px 14px;padding:14px 16px 18px;width:min(640px,92vw);max-height:70vh;overflow:auto}
.ve-fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:10px 0}
.ve-fp-item{aspect-ratio:1;border:2px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden;padding:0;cursor:pointer;background:#12233a}
.ve-fp-item img{width:100%;height:100%;object-fit:cover;display:block}
.ve-fp-item:hover{border-color:#2b8fe0}
.ve-fp-up{display:inline-block;margin-top:4px}

/* ☰ 板块面板：拖拽手柄与状态 */
.ve-map-grip{color:#5f7a95;font-size:11px;letter-spacing:-2px;margin-right:2px;cursor:grab}
.ve-map-item{cursor:grab}
.ve-map-item.dragging{opacity:.45}
.ve-map-item.drag-over{box-shadow:inset 0 2px 0 #2b8fe0}

/* 🪄 全站精修：密度 / 扁平 */
body[data-density="compact"] .section{padding:44px 0}
body[data-density="airy"] .section{padding:110px 0}
body[data-density="compact"] .detail-hero{padding:40px 0}
body[data-density="airy"] .detail-hero{padding:110px 0}
body[data-flat="1"] .card,
body[data-flat="1"] .why-card,
body[data-flat="1"] .hcat,
body[data-flat="1"] .faq-item,
body[data-flat="1"] .prod-card,
body[data-flat="1"] .list-card{box-shadow:none !important;border:1px solid var(--line)}

/* ============================================================
   v25：列表页分类侧栏与产品列表滚动重叠修复 + 字段显隐
   ============================================================ */
/* 分类侧栏 sticky 悬浮时不再与卡片重叠：实体背景 + 独立层级 + 分割描边 */
body[data-sec-list="side"] .prod-side{
  background:var(--bg,#fff);
  z-index:6;
  border-radius:14px;
  padding:10px;
  box-shadow:0 0 0 1px var(--line),0 6px 18px rgba(6,32,60,.08);
}
/* 滚动中的卡片带位移/阴影，压到侧栏之下而不是之上 */
.prod-main .card{position:relative;z-index:1}
body[data-sec-list="side"] .prod-main{min-width:0}
/* 隐藏分类侧栏的两种模式兜底（模板 pk-hidecat 之外，页面级 cats=hide 也走这里） */
body[data-cats-hide="1"] .prod-side{display:none !important}
/* 列表卡片字段显隐：隐藏图片时占位块整体收起，不留空白 */
body[data-cf-noimg="1"] .card .ph{display:none}
body[data-cf-noimg="1"] .card .body{padding-top:16px}

/* v25 后台模板管理：未保存修改提示条 */
.tpl-savebar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(90deg,#fff8ec,#fdeeda);
  border:1px solid #f0c98a;border-radius:12px;
  padding:12px 16px;margin:14px 0;font-weight:600;color:#8a5a10;
}
.tpl-savebar .btn{margin:0}

/* ============================================================
   v26 可视化编辑器：历史时间线 / 富文本所见即所得 / 点击换图 / 引导卡片 / 状态灯
   ============================================================ */
/* 顶栏自动保存状态灯 */
.ve-saved{font-size:11.5px;color:#9fe6bd;margin-left:10px;white-space:nowrap;opacity:.92;transition:color .25s}
.ve-saved:not(.ok){color:#ffd479}

/* 🕘 历史时间线条目 */
.ve-hist-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#0d1826;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:8px 12px;margin-bottom:6px;cursor:pointer;color:#dce9f7}
.ve-hist-item b{font-size:12px;color:#8fb7e0;white-space:nowrap}
.ve-hist-item span{flex:1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ve-hist-item time{font-size:11px;color:#6f8ba6;font-variant-numeric:tabular-nums}
.ve-hist-item:hover{border-color:#2b8fe0;background:#12233a}

/* ❓ 帮助条目 */
.ve-help-li{font-size:12.8px;line-height:1.75;color:#cfe1f5;margin-bottom:6px}
.ve-help-li code{background:#12233a;border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:1px 6px;font-size:11.5px;color:#9fd0ff}

/* 📝 富文本所见即所得 */
.ve-rte-bar{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}
.ve-rte-bar button{background:#12233a;border:1px solid rgba(255,255,255,.16);border-radius:7px;color:#dce9f7;font-size:12px;padding:4px 9px;cursor:pointer;min-width:28px}
.ve-rte-bar button:hover{border-color:#2b8fe0;color:#fff;background:#1a3050}
.ve-rte{background:#0d1826;border:1px solid rgba(255,255,255,.16);border-radius:9px;min-height:120px;max-height:320px;overflow:auto;color:#e6f0fa;padding:10px 12px;font-size:13.5px;line-height:1.7}
.ve-rte:focus{outline:2px solid #2b8fe0;border-color:transparent}
.ve-rte h2{font-size:17px;margin:10px 0 6px}
.ve-rte h3{font-size:14.5px;margin:8px 0 5px}
.ve-rte p{margin:0 0 8px}
.ve-rte a{color:#6db3ff;text-decoration:underline}
.ve-rte ul,.ve-rte ol{padding-left:20px;margin:0 0 8px}

/* 🖼 点击换图：可换图位置悬停提示角标 */
.ve-on .band, .ve-on .detail-hero{cursor:pointer}
.ve-on .band::after, .ve-on .detail-hero::after{
  content:'🖼 点击更换背景图';
  position:absolute;top:14px;right:16px;z-index:5;
  background:rgba(8,20,36,.82);color:#cfe4fa;border:1px solid rgba(255,255,255,.25);
  border-radius:8px;padding:4px 10px;font-size:12px;pointer-events:none;
  opacity:0;transition:opacity .2s;
}
.ve-on .band:hover::after, .ve-on .detail-hero:hover::after{opacity:1}
.ve-on .ve-custom [data-bid] img, .ve-on .home-block.ve-custom .ph img{cursor:pointer}
.ve-on .home-block.ve-custom .ph:hover{outline:2px dashed #2b8fe0;outline-offset:-4px;border-radius:14px}

/* 👋 首次引导卡片 */
#ve-tour{position:fixed;inset:0;background:rgba(4,12,22,.58);z-index:100013;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.ve-tour-card{background:#0f1e30;color:#e6f0fa;border-radius:16px;padding:26px 30px;max-width:460px;width:92vw;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.ve-tour-card h3{margin:0 0 14px;font-size:18px}
.ve-tour-card ol{margin:0 0 14px;padding-left:20px;line-height:2;font-size:13.5px}
.ve-tour-card .ve-acts{justify-content:flex-end}

/* ============================================================
   v27 子板块：产品列表内的分类侧栏 / 分类页签可单独管理
   ============================================================ */
/* 隐藏左侧分类栏后，列表区自动铺满整行 */
.prod-layout.sub-noside{grid-template-columns:1fr !important}
/* 子板块悬停描边（与主板块一致但更细），提示可点 */
body.ve-on .prod-side, body.ve-on #prod-tabs{min-height:20px}
body.ve-on .prod-side:hover::before, body.ve-on #prod-tabs:hover::before{
  content:'';position:absolute;inset:0;border:1px dashed rgba(43,143,224,.55);
  border-radius:10px;pointer-events:none;z-index:5;
}

/* ============================================================
   v29：子板块可发现性 + 删除按钮 + 移动端隐藏修复
   ============================================================ */
/* 编辑态下子板块常显淡描边（用户能一眼看到「这是可以单独管理的」），悬停加深 */
body.ve-on .ve-sub{outline:1.5px dashed rgba(43,143,224,.35);outline-offset:3px;border-radius:10px}
body.ve-on .ve-sub:hover{outline-color:rgba(43,143,224,.75);outline-width:2px}
body.ve-on .ve-sub .ve-chip{background:#2b8fe0}
/* v35 根因修复：.ve-sub 的工具条/名称标签此前从未写过显示规则（只有 .ve-chrome 和首页板块有），
   导致产品分类等子板块「悬停有虚线描边但工具条永远不出现」。补齐与主板块一致的悬停显示逻辑 */
body.ve-on .ve-sub:hover > .ve-toolbar,
body.ve-on .ve-sub.ve-sel > .ve-toolbar { display: flex; }
body.ve-on .ve-sub:hover > .ve-chip { display: block; }
/* 工具条在 sticky/卡片容器内不被裁剪：子板块自身不设 overflow，且工具条提高层级 */
body.ve-on .ve-sub > .ve-toolbar { z-index: 60; }
/* 兼容旧挂点选择器（保留 .ve-sub 通用规则即可，以下两条历史规则继续有效） */

/* ============================================================
   v32：栏目管理（master-detail）—— 左侧栏目列表 + 右侧 TDK/Banner 编辑
   ============================================================ */
.sec-mgr{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}
.sec-list{display:flex;flex-direction:column;gap:8px;position:sticky;top:14px}
.sec-item{border:1px solid var(--line,#e3e8ef);border-radius:12px;padding:11px 13px;cursor:pointer;background:#fff;transition:.15s;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sec-item:hover{border-color:#2b8fe0;box-shadow:0 4px 14px rgba(43,143,224,.12)}
.sec-item.on{border-color:#2b8fe0;background:#eef6ff;box-shadow:0 4px 14px rgba(43,143,224,.18)}
.sec-item-name{font-size:14px;line-height:1.35}
.sec-item-state{font-size:12px;white-space:nowrap}
.sec-edit{min-width:0}
@media(max-width:760px){.sec-mgr{grid-template-columns:1fr}.sec-list{position:static;flex-direction:row;flex-wrap:wrap}.sec-item{flex:1 1 140px}}

/* ============================================================
   v34：显式保存条（可视化检查器）+ 后台保存按钮高亮
   ============================================================ */
.ve-savebar{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(128,150,170,.35)}
.ve-savedirty{font-size:12px;opacity:.8}
.btn.pulse{animation:wbpulse 1.4s ease-in-out infinite}
@keyframes wbpulse{0%,100%{box-shadow:0 0 0 3px rgba(43,143,224,.30)}50%{box-shadow:0 0 0 7px rgba(43,143,224,.10)}}

/* ============================================================
   v35：子板块独立风格预设（data-sub-style，由检查器/图层面板设置）
   置于文件末尾，特异性 (0,2,1) 与 body[data-sec-list] .prod-side 持平、后者先声明 → 此处生效
   ============================================================ */
body .section [data-sub-style="card"]{background:#fff;border:1px solid var(--sub-c-line,var(--line,#e3e8ef));border-radius:14px;padding:14px;box-shadow:0 6px 18px rgba(6,32,60,.08)}
body .section [data-sub-style="tint"]{background:var(--sub-c-soft,rgba(43,143,224,.07));border:0;border-radius:14px;padding:14px;box-shadow:none}
body .section [data-sub-style="line"]{background:transparent;border:1.5px dashed var(--sub-c,var(--blue-500,#2b8fe0));border-radius:14px;padding:14px;box-shadow:none}
body .section [data-sub-style="flat"]{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}

/* ============================================================
   v35：图层面板（原「☰ 板块」导航面板升级）——三层树状管理
   页面 → 板块 → 子板块；每层独立 👁 / ⚙ / 🗑
   ============================================================ */
.ve-map-sub{margin-left:22px !important;padding:7px 10px !important;font-size:12.5px !important;
  border-style:dashed !important;background:#f4faff !important}
.ve-map-sub .ve-map-grip{visibility:hidden}
.ve-map-ops{display:flex;gap:4px;flex:0 0 auto}
.ve-map-ops .ve-map-eye{padding:3px 6px}
.ve-map-tip{font-size:12px;color:#5a7a95;margin:4px 2px 10px}

/* ============================================================
   v36：极简列表风格（产品/文章通用）——低信息密度展示
   卡片 DOM 同构：.card > .ph(图+角标) + .body(h3 + .meta + p + .more)
   每套风格用 CSS 控制显隐密度，不改 HTML
   ============================================================ */
/* —— 只见图：图片满卡，标题悬停自底部浮出 —— */
.grid.lay-imgonly .card{position:relative;overflow:hidden}
.grid.lay-imgonly .card .ph{aspect-ratio:4/3}
.grid.lay-imgonly .card .body{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;
  background:linear-gradient(transparent,rgba(6,14,26,.78));opacity:0;transition:opacity .25s;margin:0}
.grid.lay-imgonly .card:hover .body,.grid.lay-imgonly .card:focus-within .body{opacity:1}
.grid.lay-imgonly .card .body h3{color:#fff;margin:0;font-size:15px}
.grid.lay-imgonly .card .body .meta,.grid.lay-imgonly .card .body p,.grid.lay-imgonly .card .body .more{display:none}
/* —— 纯标题·行式列表：一行一条，悬停变色 —— */
.grid.lay-titlelist .card{display:flex;align-items:center;background:transparent;box-shadow:none;
  border:0;border-bottom:1px solid var(--line,#e8eef5);border-radius:0;padding:11px 10px;transition:.15s}
.grid.lay-titlelist .card:hover{background:#f3f8fd;transform:none}
.grid.lay-titlelist .card .ph,.grid.lay-titlelist .card .body p,.grid.lay-titlelist .card .body .more{display:none}
.grid.lay-titlelist .card .body{padding:0;display:flex;align-items:center;min-width:0;flex:1}
.grid.lay-titlelist .card .body h3{flex:1;font-size:15px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid.lay-titlelist .card .body .meta{margin-left:auto;flex:0 0 auto;font-size:13px;color:#8a97a8}
.grid.lay-titlelist .card::after{content:'›';margin-left:8px;color:#b6c4d4;font-size:18px;flex:0 0 auto}
/* —— 纯标题·两/三列小卡 —— */
.grid.lay-titlegrid .card{background:transparent;box-shadow:none;border:1px solid var(--line,#e8eef5);
  border-radius:10px;padding:13px 15px;display:flex;align-items:center;transition:.15s}
.grid.lay-titlegrid .card:hover{border-color:var(--blue-500,#2b8fe0);box-shadow:0 4px 14px rgba(43,143,224,.12);transform:none}
.grid.lay-titlegrid .card .ph,.grid.lay-titlegrid .card .body p,.grid.lay-titlegrid .card .body .more{display:none}
.grid.lay-titlegrid .card .body{padding:0;min-width:0}
.grid.lay-titlegrid .card .body h3{font-size:14.5px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid.lay-titlegrid .card .body .meta{font-size:12.5px;color:#8a97a8;margin-top:3px}
/* —— 标题+日期·报纸式列表 —— */
.grid.lay-datelist .card{display:flex;align-items:baseline;gap:16px;background:transparent;box-shadow:none;
  border:0;border-bottom:1px dashed var(--line,#dfe7f0);border-radius:0;padding:13px 6px}
.grid.lay-datelist .card .ph,.grid.lay-datelist .card .body p,.grid.lay-datelist .card .body .more{display:none}
.grid.lay-datelist .card .body{padding:0;display:flex;flex:1;gap:14px;align-items:baseline;min-width:0}
.grid.lay-datelist .card .body h3{flex:1;font-size:15.5px;font-weight:600;margin:0;min-width:0}
.grid.lay-datelist .card .body .meta{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:13.5px;color:#8a97a8}
.grid.lay-datelist .card:hover h3{color:var(--blue-600,#2b6cb0)}
/* —— 小图横排·信息条 —— */
.grid.lay-minicard .card{display:flex;gap:12px;align-items:center;padding:10px}
.grid.lay-minicard .card .ph{flex:0 0 88px;width:88px;height:66px;overflow:hidden;border-radius:8px}
.grid.lay-minicard .card .body{padding:0;min-width:0}
.grid.lay-minicard .card .body p,.grid.lay-minicard .card .body .more{display:none}
.grid.lay-minicard .card .body h3{font-size:14.5px;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid.lay-minicard .card .body .meta{font-size:12.5px}
/* —— 画廊·方图+标题 —— */
.grid.lay-gallery .card .ph{aspect-ratio:1/1}
.grid.lay-gallery .card .body{padding:10px 12px 12px}
.grid.lay-gallery .card .body p,.grid.lay-gallery .card .body .more{display:none}
.grid.lay-gallery .card .body h3{font-size:14.5px;margin:0;font-weight:600}
.grid.lay-gallery .card .body .meta{font-size:12px;margin-top:3px}

/* ============================================================
   v36：语言切换下拉（国旗图片 + 自定义菜单，替代原生 select）
   ============================================================ */
.lang-dd{position:relative;display:inline-block}
.lang-dd-btn{display:flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line,#dfe7f0);
  border-radius:8px;background:#fff;cursor:pointer;font-size:13px;color:var(--ink,#1f3a5f);transition:.15s}
.lang-dd-btn:hover{border-color:var(--blue-500,#2b8fe0)}
.lang-dd-btn .lg-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-caret{font-size:10px;color:#8a97a8}
.lang-dd-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:216px;max-height:340px;overflow-y:auto;
  background:#fff;border:1px solid var(--line,#dfe7f0);border-radius:10px;box-shadow:0 12px 34px rgba(10,25,45,.18);
  z-index:3001;display:none;padding:5px}
.lang-dd.open .lang-dd-menu{display:block}
.lang-dd-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;background:none;
  border-radius:7px;cursor:pointer;font-size:13.5px;color:var(--ink,#1f3a5f);text-align:left;transition:.12s}
.lang-dd-item:hover{background:#eef4fb}
.lang-dd-item.on{background:#e7f1fd;font-weight:600}
.lg-flag{width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:0 0 auto}
.lg-f{width:20px;text-align:center;flex:0 0 auto;font-size:14px}
.lg-ck{margin-left:auto;color:#2b8fe0;font-weight:700}

/* ============================================================
   v37：语言列表按全球贸易市场分区
   ============================================================ */
/* 前台下拉分组标题 */
.lang-dd-gp{padding:7px 10px 4px;font-size:11.5px;font-weight:600;color:#8a97a8;letter-spacing:.4px;user-select:none}
.lang-dd-gp:not(:first-child){border-top:1px solid #f0f4f8;margin-top:3px}
/* 后台设置分区卡片（v39 重排：可折叠 details + 已选徽章 + 搜索过滤） */
.lang-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.lang-tools #lang-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--line,#e3e8ef);border-radius:9px;font-size:13.5px}
.lang-rg{border:1px solid var(--line,#e3e8ef);border-radius:10px;background:#fff}
.lang-rg[open]{box-shadow:0 2px 10px rgba(6,32,60,.05)}
.lang-rg-head{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;list-style:none;flex-wrap:wrap;user-select:none}
.lang-rg-head::-webkit-details-marker{display:none}
.lang-rg-head::before{content:"▸";color:#9db0c3;font-size:12px;transition:transform .15s}
.lang-rg[open] > .lang-rg-head::before{transform:rotate(90deg)}
.lang-rg-head .rg-ic{font-size:16px;line-height:1}
.lang-rg-head b{font-size:13.5px}
.lang-rg .rg-cnt{font-size:12px;padding:2px 10px;border-radius:99px;background:#eef3f8;color:#5a6b7e;font-weight:600;white-space:nowrap}
.lang-rg.rg-has .rg-cnt{background:var(--blue-500,#2b8fe0);color:#fff}
.lang-rg .rg-ops{margin-left:auto;display:flex;gap:6px}
.lang-rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px;padding:2px 12px 12px}
.lang-rg-grid .lang-ck .lang-code{font-size:11px;color:#93a4b6;background:#f2f6fa;border-radius:5px;padding:1px 5px;margin-left:2px}
@media(max-width:760px){.lang-rg-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   v38：页脚配色扩展 f11–f22（12 套高级配色，与 f1 同构：底色/标题/金线/链接/说明）
   ============================================================ */
/* f11 高级灰·石墨 */
body .site-footer[data-foot="f11"]{background:linear-gradient(180deg,#3f4a5a,#2b3442);color:#c3ccd8}
body .site-footer[data-foot="f11"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f11"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#9fb3c8}
body .site-footer[data-foot="f11"]::before{background:linear-gradient(90deg,#9fb3c8,#d6dee8,#9fb3c8)}
body .site-footer[data-foot="f11"] a{color:#c3ccd8}
body .site-footer[data-foot="f11"] a:hover{color:#fff}
body .site-footer[data-foot="f11"] p{color:#c3ccd8}
body .site-footer[data-foot="f11"] > .wrap:not(.cols){color:#8fa0b3}
/* f12 深灰·碳素（金线点缀） */
body .site-footer[data-foot="f12"]{background:linear-gradient(180deg,#2e2e2e,#1b1b1b);color:#cfcfcf}
body .site-footer[data-foot="f12"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f12"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#e0b64f}
body .site-footer[data-foot="f12"]::before{background:linear-gradient(90deg,#e0b64f,#f3dfa0,#e0b64f)}
body .site-footer[data-foot="f12"] a{color:#cfcfcf}
body .site-footer[data-foot="f12"] a:hover{color:#e0b64f}
body .site-footer[data-foot="f12"] p{color:#cfcfcf}
body .site-footer[data-foot="f12"] > .wrap:not(.cols){color:#9a9a9a}
/* f13 浅银灰（浅色版） */
body .site-footer[data-foot="f13"]{background:linear-gradient(180deg,#f7f8fa,#e8eaee);color:#3c4a59;border-top:1px solid #d8dde5}
body .site-footer[data-foot="f13"] h4{color:#1f2937;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f13"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#64748b}
body .site-footer[data-foot="f13"]::before{background:linear-gradient(90deg,#64748b,#cbd5e1,#64748b)}
body .site-footer[data-foot="f13"] a{color:#3c5a7a}
body .site-footer[data-foot="f13"] a:hover{color:#1f2937}
body .site-footer[data-foot="f13"] p{color:#4b5563}
body .site-footer[data-foot="f13"] > .wrap:not(.cols){color:#6b7280}
/* f14 琥珀金 */
body .site-footer[data-foot="f14"]{background:linear-gradient(180deg,#92400e,#b45309);color:#fde8c8}
body .site-footer[data-foot="f14"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f14"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#fcd34d}
body .site-footer[data-foot="f14"]::before{background:linear-gradient(90deg,#fcd34d,#fef3c7,#fcd34d)}
body .site-footer[data-foot="f14"] a{color:#fde8c8}
body .site-footer[data-foot="f14"] a:hover{color:#fff}
body .site-footer[data-foot="f14"] p{color:#fde8c8}
body .site-footer[data-foot="f14"] > .wrap:not(.cols){color:#d9b98a}
/* f15 黄铜·明金 */
body .site-footer[data-foot="f15"]{background:linear-gradient(180deg,#a16207,#ca8a04);color:#fef9c3}
body .site-footer[data-foot="f15"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f15"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#fef08a}
body .site-footer[data-foot="f15"]::before{background:linear-gradient(90deg,#fef08a,#fffbeb,#fef08a)}
body .site-footer[data-foot="f15"] a{color:#fef9c3}
body .site-footer[data-foot="f15"] a:hover{color:#fff}
body .site-footer[data-foot="f15"] p{color:#fef9c3}
body .site-footer[data-foot="f15"] > .wrap:not(.cols){color:#e3d189}
/* f16 绯红·正红 */
body .site-footer[data-foot="f16"]{background:linear-gradient(180deg,#7f1d1d,#991b1b);color:#fecaca}
body .site-footer[data-foot="f16"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f16"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#f87171}
body .site-footer[data-foot="f16"]::before{background:linear-gradient(90deg,#f87171,#fecaca,#f87171)}
body .site-footer[data-foot="f16"] a{color:#fecaca}
body .site-footer[data-foot="f16"] a:hover{color:#fff}
body .site-footer[data-foot="f16"] p{color:#fecaca}
body .site-footer[data-foot="f16"] > .wrap:not(.cols){color:#d99a9a}
/* f17 翡翠绿 */
body .site-footer[data-foot="f17"]{background:linear-gradient(180deg,#064e3b,#047857);color:#a7f3d0}
body .site-footer[data-foot="f17"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f17"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#34d399}
body .site-footer[data-foot="f17"]::before{background:linear-gradient(90deg,#34d399,#a7f3d0,#34d399)}
body .site-footer[data-foot="f17"] a{color:#a7f3d0}
body .site-footer[data-foot="f17"] a:hover{color:#fff}
body .site-footer[data-foot="f17"] p{color:#a7f3d0}
body .site-footer[data-foot="f17"] > .wrap:not(.cols){color:#86c5ab}
/* f18 皇家蓝 */
body .site-footer[data-foot="f18"]{background:linear-gradient(180deg,#1e3a8a,#1d4ed8);color:#bfdbfe}
body .site-footer[data-foot="f18"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f18"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#93c5fd}
body .site-footer[data-foot="f18"]::before{background:linear-gradient(90deg,#93c5fd,#dbeafe,#93c5fd)}
body .site-footer[data-foot="f18"] a{color:#bfdbfe}
body .site-footer[data-foot="f18"] a:hover{color:#fff}
body .site-footer[data-foot="f18"] p{color:#bfdbfe}
body .site-footer[data-foot="f18"] > .wrap:not(.cols){color:#93aede}
/* f19 青碧·孔雀 */
body .site-footer[data-foot="f19"]{background:linear-gradient(180deg,#134e4a,#0f766e);color:#99f6e4}
body .site-footer[data-foot="f19"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f19"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#2dd4bf}
body .site-footer[data-foot="f19"]::before{background:linear-gradient(90deg,#2dd4bf,#99f6e4,#2dd4bf)}
body .site-footer[data-foot="f19"] a{color:#99f6e4}
body .site-footer[data-foot="f19"] a:hover{color:#fff}
body .site-footer[data-foot="f19"] p{color:#99f6e4}
body .site-footer[data-foot="f19"] > .wrap:not(.cols){color:#84c5bb}
/* f20 勃艮第酒红 */
body .site-footer[data-foot="f20"]{background:linear-gradient(180deg,#4a0e1e,#6b1025);color:#f3c6ce}
body .site-footer[data-foot="f20"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f20"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#d4a94e}
body .site-footer[data-foot="f20"]::before{background:linear-gradient(90deg,#d4a94e,#f3d9a4,#d4a94e)}
body .site-footer[data-foot="f20"] a{color:#f3c6ce}
body .site-footer[data-foot="f20"] a:hover{color:#fff}
body .site-footer[data-foot="f20"] p{color:#f3c6ce}
body .site-footer[data-foot="f20"] > .wrap:not(.cols){color:#c99aa4}
/* f21 摩卡·深棕 */
body .site-footer[data-foot="f21"]{background:linear-gradient(180deg,#3a2a20,#241a14);color:#d8c8b8}
body .site-footer[data-foot="f21"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f21"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#c08b5c}
body .site-footer[data-foot="f21"]::before{background:linear-gradient(90deg,#c08b5c,#e8d3bd,#c08b5c)}
body .site-footer[data-foot="f21"] a{color:#d8c8b8}
body .site-footer[data-foot="f21"] a:hover{color:#fff}
body .site-footer[data-foot="f21"] p{color:#d8c8b8}
body .site-footer[data-foot="f21"] > .wrap:not(.cols){color:#a8988a}
/* f22 钢青·蓝灰 */
body .site-footer[data-foot="f22"]{background:linear-gradient(180deg,#22344a,#182638);color:#b8c8d8}
body .site-footer[data-foot="f22"] h4{color:#fff;position:relative;padding-bottom:10px}
body .site-footer[data-foot="f22"] h4::after{content:"";position:absolute;left:0;bottom:-6px;width:26px;height:2px;border-radius:2px;background:#7ea6cc}
body .site-footer[data-foot="f22"]::before{background:linear-gradient(90deg,#7ea6cc,#c2d6ea,#7ea6cc)}
body .site-footer[data-foot="f22"] a{color:#b8c8d8}
body .site-footer[data-foot="f22"] a:hover{color:#fff}
body .site-footer[data-foot="f22"] p{color:#b8c8d8}
body .site-footer[data-foot="f22"] > .wrap:not(.cols){color:#8898a8}

/* ============================================================
   v40：仪表盘快捷入口网格
   ============================================================ */
.dash-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.dash-q{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid var(--line,#e3e8ef);border-radius:12px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:#2c3e50;transition:all .15s}
.dash-q span{font-size:22px;line-height:1}
.dash-q:hover{border-color:var(--blue-500,#2b8fe0);box-shadow:0 4px 14px rgba(6,32,60,.10);transform:translateY(-2px)}

/* ============================================================
   v43 全站质感升级（追加层，压过此前同名规则）
   ============================================================ */
/* —— Hero 轮播：更沉稳压暗 + 文字层级 —— */
.hslide::after{background:linear-gradient(180deg,rgba(3,9,17,.46) 0%,rgba(3,9,17,.22) 42%,rgba(3,9,17,.64) 100%)}
.hslide-txt{top:30%;left:50%;right:auto;transform:translateX(-50%);width:min(92%,980px)}
.hslide-txt b{font-size:clamp(30px,4.6vw,58px);letter-spacing:.045em;line-height:1.22}
.hslide-txt i{font-size:clamp(14px,1.5vw,19px);letter-spacing:.12em;opacity:.92}
.hslide-btn{border-radius:999px;padding:14px 46px;letter-spacing:.08em}
.hslide-dots i{width:34px;height:5px;border-radius:3px}
.hslide-dots i.on{box-shadow:0 0 10px rgba(255,255,255,.5)}
.hero-stats .hs{position:relative}
.hero-stats .hs:not(:first-child)::before{content:"";position:absolute;left:-19px;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.22)}
.hero-stats .hs b{font-size:clamp(24px,2.4vw,31px);letter-spacing:.02em}
/* —— 板块呼吸感 —— */
.section{padding:86px 0}
.section h2{letter-spacing:-.012em}
.section>.wrap>p.note{font-size:16px;color:var(--muted,#5a6b7d)}
/* —— 内容卡片：悬浮上浮 + 图片微缩放 —— */
.card{border-radius:14px;box-shadow:0 1px 3px rgba(13,40,73,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(13,40,73,.15);border-color:var(--blue-200,#bcd9f2)}
.card .ph{overflow:hidden}
.card .ph img{transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.card:hover .ph img{transform:scale(1.055)}
.card h3{letter-spacing:-.005em}
/* —— 首页资质徽章：四列大数字 —— */
body[data-sec-about="badges"] .about-badges{grid-template-columns:repeat(4,1fr);gap:16px}
body[data-sec-about="badges"] .about-badges div{position:relative;padding:22px 14px 18px;background:linear-gradient(180deg,#f4f9ff,#eaf3fc);border:1px solid var(--blue-200,#cfe4f6);border-radius:14px;overflow:hidden}
body[data-sec-about="badges"] .about-badges div::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue-500,#2b8fe0),var(--gold,#ff6a1a))}
body[data-sec-about="badges"] .about-badges b{font-size:clamp(24px,2.2vw,30px);font-weight:800;color:var(--blue-700,#12518f);letter-spacing:.01em}
body[data-sec-about="badges"] .about-badges span{display:block;margin-top:6px;font-size:12.5px;color:var(--muted,#5a6b7d);letter-spacing:.03em}
@media(max-width:760px){body[data-sec-about="badges"] .about-badges{grid-template-columns:repeat(2,1fr)}}
/* —— 为什么选择我们 —— */
.why-card{padding:30px 24px;border-radius:14px}
.why-ic{border-radius:16px;width:54px;height:54px;font-size:26px}
.why-card b{font-size:17.5px}
.why-card p{font-size:14.5px;line-height:1.75}
/* —— CTA 横幅：深蓝渐变 + 光晕 —— */
.cta-band{background:linear-gradient(120deg,#0a2a4d 0%,#0f4a85 55%,#1a73c7 100%)}
.cta-band::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-140px;top:-220px;background:radial-gradient(circle,rgba(43,143,224,.34),transparent 65%)}
.cta-band h2{letter-spacing:.02em}
/* —— 详情页富文本 / KPI —— */
.kpi b{color:var(--blue-700,#12518f)}
/* —— 页脚品牌区 —— */
.footer .ft-brand b{letter-spacing:.02em}
/* —— 视频卡封面 —— */
.video-card .vwrap{border-radius:14px;overflow:hidden}
