@charset "utf-8";
/* ==========================================================================
   theme.css — 古泥轩雕塑 · 前台模板（第三版 · 精致重做）
   色系沿用旧站金棕：#BF9254 / #A5734E + 暖白底 + 深灰文字
   加载顺序：spectre.min.css -> remixicon.css -> theme.css
   本文件已整合 site.css/style.css 全部所需样式，是前台唯一主题样式表，
   统一金棕色板并覆盖 spectre 的 .hero{display:flex;padding:4rem}。

   ——— 命名规范（全站统一，新增样式必须遵守）———
   一律「语义化 + 下划线」，禁止连字符与 BEM 的 -- / __ 写法：
     块          block            例：card、article_list、page_hero、footer_top
     块 + 元素   block_element    例：card_text、article_item_photo、head_contact_icon
     块 + 修饰   block_modifier   例：btn_primary、sec_alt、sec_head_center
     状态        单词类           例：on、open、show、in（由 JS 切换，不带前缀）
     JS 钩子     js_ + 语义       例：js_wechat、js_motion（无样式，只给 JS 用）
   元素名要能独立读懂，不用 ai / hc / tx 这类缩写：
     反例 .ai_pic  .card_tx  .f_top  .hc_ico
     正例 .article_item_photo  .card_text  .footer_top  .head_contact_icon
   类名已含块名前缀，因此不再写「父块 + 同名元素」的重复选择器；
   只有在需要限定作用域时才保留父级，例如 .sec_head .kicker（kicker 是通用件）、
   .article_list .article_item（item 只在列表内成立）。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌
   -------------------------------------------------------------------------- */
:root{
  --gold:#bf9254;
  --gold-deep:#a5734e;
  --gold-dark:#8a5c2f;
  --gold-soft:#f6efe2;
  --gold-tint:#fbf7ef;
  --gold-line:#e6d8c0;
  --red:#c2541a;

  --brand:#a5734e; --brand-dark:#8a5c2f; --brand-deep:#754921;
  --brand-soft:#f6efe2; --brand-tint:#fbf7ef; --brand-line:#e6d8c0;
  --accent:#c2541a; --accent-soft:#fdf3ec;
  --grad:linear-gradient(135deg,#b8894f 0%,#a5734e 100%);
  --grad-deep:linear-gradient(135deg,#8a5c2f 0%,#a5734e 100%);

  /* 正文墨色整体加深一档，13~14px 小字在暖白底上的对比度更足 */
  --ink-1:#1a1713; --ink-2:#3a352f; --ink-3:#57504a; --ink-4:#7d7469; --ink-5:#a89f92;
  --bg:#f7f5f0; --bg-soft:#efeae1; --bg-card:#ffffff; --card:#ffffff;
  --line:#e7e2d9; --line-strong:#d6cfbf;
  --orange:#c2541a; --orange-soft:#fdf3ec; --green:#a5734e; --red:#c2541a;

  --radius:6px; --radius-sm:4px; --radius-lg:10px;
  --shadow-xs:0 1px 2px rgba(60,45,25,.05);
  --shadow-sm:0 2px 8px -3px rgba(60,45,25,.10);
  --shadow-md:0 8px 28px -10px rgba(60,45,25,.16);
  --shadow-lg:0 24px 54px -24px rgba(60,45,25,.28);
  --shadow-brand:0 8px 20px -8px rgba(138,92,47,.45);
  --sd-1:var(--shadow-xs); --sd-2:var(--shadow-sm); --sd-3:var(--shadow-md);

  --wrap:1200px; --side-w:260px; --hd-h:96px; --nav-h:56px;
  /* 字号阶梯拉开：H2 由 22 → 26，与正文形成更明确的层级差 */
  --fs-h1:26px; --fs-h2:26px; --fs-body:15px; --fs-label:14px; --fs-mini:13px;
  --ease:cubic-bezier(.22,.61,.36,1);
  /* 数字/年份统一用衬线等宽，视觉上更"碑刻"，也避免数字跳动 */
  --font-num:Georgia,"Times New Roman","Songti SC",serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink-2);
  font:15px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","微软雅黑",sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a,a:visited{color:inherit;text-decoration:none;transition:color .18s var(--ease)}
a:hover,a:visited:hover,a:focus{color:var(--gold-deep)}
h1,h2,h3,h4{margin:0;color:var(--ink-1);font-weight:600;line-height:1.4;letter-spacing:-.2px}
p{margin:0 0 1em}
img{max-width:100%;display:block;border:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{color:#fff;background:var(--gold-deep)}
*{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}

/* 全站数字：等宽对齐，日期/浏览量/编号不会左右跳 */
.card_meta,.article_meta,.article_item_meta,.pager,.about_stat b,.hero_counter,.timeline_item b,
.article_pager,.footer_bottom{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
/* 滚动条（与金棕色系协调） */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-soft)}
::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px;border:2px solid var(--bg-soft)}
::-webkit-scrollbar-thumb:hover{background:var(--gold-deep)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;width:100%}
.sr_only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* spectre 自带 .hero{display:flex;padding:4rem} 会撑出空白，必须还原 */
.hero{display:block;padding:0}

/* 按钮 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:42px;padding:0 22px;border-radius:var(--radius);font-size:14px;font-weight:500;
  cursor:pointer;border:1px solid var(--line-strong);background:#fff;color:var(--ink-2);
  transition:all .18s var(--ease);letter-spacing:0;box-shadow:none;
}
.btn:hover{color:#fff;background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-1px)}
.btn_primary{color:#fff;background:var(--grad);border-color:transparent;box-shadow:var(--shadow-brand)}
.btn_primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn_ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.4)}
.btn_ghost:hover{color:#fff;background:rgba(255,255,255,.14);border-color:#fff}
.btn:active{transform:translateY(0) scale(.985)}
.btn_sm{height:34px;padding:0 16px;font-size:13px}
.btn_block{width:100%}

/* --------------------------------------------------------------------------
   2. 顶部信息条 + 主头部 + 导航
   -------------------------------------------------------------------------- */
.top_info{display:none}
.top_info .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:36px}
.top_info_left{display:flex;align-items:center;gap:18px;min-width:0}
.top_info_left span,.top_info_left a{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.82);white-space:nowrap}
.top_info_left i{font-size:14px;color:var(--gold)}
.top_info_right{display:flex;align-items:center;gap:16px;flex-shrink:0}
.top_info_right a{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.82)}
.top_info_right a:hover{color:#fff}

.site_header{background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s var(--ease)}
/* 页面下滑后给页头加一层投影，与 body 拉开层次（common.js 切换 .scrolled） */
.site_header.scrolled{box-shadow:0 8px 24px -16px rgba(60,45,25,.4)}
.header_row{display:flex;align-items:center;justify-content:space-between;gap:32px;height:var(--hd-h)}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand .logo_image{height:64px;width:auto;max-width:none}
.brand_text{display:flex;flex-direction:column;line-height:1.2}
.brand_text b{font-size:20px;font-weight:700;color:var(--ink-1);letter-spacing:.5px}
.brand_text small{font-size:11px;letter-spacing:1.4px;color:var(--gold-deep);text-transform:uppercase;margin-top:2px}
.head_contact{display:flex;align-items:center;gap:18px;flex-shrink:0}
.head_contact_item{display:flex;align-items:center;gap:10px}
.head_contact_icon{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:19px;color:#fff;background:var(--grad)}
.head_contact_text b{display:block;font-size:11px;color:var(--ink-4);font-weight:400;letter-spacing:.5px}
.head_contact_text strong{display:block;font-size:18px;color:var(--gold-dark);font-weight:700;letter-spacing:.3px;line-height:1.2}
.head_contact_text a:hover{color:var(--red)}
.head_contact_wechat{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--gold-deep);background:var(--gold-soft);border:1px solid var(--gold-line)}
.head_contact_wechat:hover{color:#fff;background:var(--gold-deep)}

.main_nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(60,45,25,.03)}
.main_nav .wrap{display:flex;align-items:center;height:var(--nav-h)}
.main_nav ul{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.main_nav li{flex:1;min-width:0;text-align:center}
.main_nav a{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--nav-h);padding:0 10px;font-size:16px;color:var(--ink-2);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease)}
.main_nav a i{font-size:16px;color:var(--gold);opacity:.9}
.main_nav a:hover{color:var(--gold-deep)}
.main_nav a.on{color:var(--gold-deep);border-bottom-color:var(--gold);font-weight:600}
.main_nav a:hover i,.main_nav a.on i{color:var(--gold-deep)}
.nav_toggle{display:none}

/* --------------------------------------------------------------------------
   3. 面包屑 + 内页标题区
   -------------------------------------------------------------------------- */
.crumb{font-size:13px;color:var(--ink-4);padding:18px 0}
.crumb a{color:var(--ink-4)}
.crumb a:hover{color:var(--gold-deep)}
.crumb .sep{margin:0 8px;color:var(--line-strong)}
.crumb .cur{color:var(--ink-2)}

/* 内页深棕头图：细斜纹打底 + 右侧超大英文水印（data-en 驱动），制造"印刷品"层次 */
.page_hero{
  position:relative;overflow:hidden;padding:40px 0 42px;color:#fff;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.038) 0 1px,transparent 1px 11px),var(--grad-deep);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}
.page_hero::before{
  content:attr(data-en);position:absolute;right:10px;bottom:2px;z-index:0;
  font:800 88px/.82 var(--font-num);letter-spacing:-1.5px;color:rgba(255,255,255,.075);
  white-space:nowrap;pointer-events:none;user-select:none;
}
.page_hero::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(191,146,84,.35),transparent 70%);pointer-events:none}
.page_hero .wrap{position:relative;z-index:1}
.page_hero h1{font-size:30px;color:#fff;display:flex;align-items:center;gap:10px;letter-spacing:-.4px}
.page_hero h1 i{font-size:26px;color:var(--gold)}
.page_hero .page_desc{margin:10px 0 0;font-size:14px;color:rgba(255,255,255,.82);max-width:680px;line-height:1.8}
.page_hero .crumb{color:rgba(255,255,255,.7);padding:0 0 14px}
.page_hero .crumb a,.page_hero .crumb .sep,.page_hero .crumb .cur{color:rgba(255,255,255,.78)}
.page_hero .crumb a:hover{color:#fff}
.page_hero .pills{margin-top:18px}
.page_hero .pills a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.9);backdrop-filter:blur(4px)}
.page_hero .pills a:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.45);color:#fff}
.page_hero .pills a.on{background:#fff;border-color:#fff;color:var(--gold-dark);font-weight:600}

/* --------------------------------------------------------------------------
   4. 区块标题
   -------------------------------------------------------------------------- */
.sec{padding:72px 0}
.sec_tight{padding:52px 0}
/* 浅色带加一层极淡点阵，与纯色区块形成"纸/面"两档层次 */
.sec_alt{
  background-color:var(--bg-soft);
  background-image:radial-gradient(circle at 1px 1px,rgba(60,45,25,.055) 1px,transparent 0);
  background-size:20px 20px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.sec_alt .sec_head{margin-bottom:28px}
.sec_head{position:relative;display:flex;align-items:flex-end;gap:16px;margin-bottom:32px}
/* 超大英文水印（data-en 驱动）：落在标题上方的留白里，像刊物的"眉标"，不与小字抢位置 */
.sec_head::before{
  content:attr(data-en);position:absolute;left:-3px;top:-56px;z-index:0;
  font:800 52px/1 var(--font-num);letter-spacing:-1px;color:var(--ink-1);
  opacity:.06;white-space:nowrap;pointer-events:none;user-select:none;
}
.sec_head_title{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px}
.sec_head .kicker{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:2.4px;color:var(--gold-deep);text-transform:uppercase;font-weight:700}
.sec_head .kicker::before{content:"";width:16px;height:2px;background:var(--grad);border-radius:2px}
.sec_head h2{position:relative;font-size:var(--fs-h2);padding-left:14px;letter-spacing:-.4px;line-height:1.25}
.sec_head h2::before{content:"";position:absolute;left:0;top:50%;width:4px;height:22px;margin-top:-11px;background:var(--grad);border-radius:2px}
.sec_head_sub{font-size:13px;color:var(--ink-4);padding-bottom:3px}
.sec_head_more{margin-left:auto;font-size:13px;color:var(--ink-4);white-space:nowrap;padding-bottom:3px;display:inline-flex;align-items:center;gap:4px}
.sec_head_more i{transition:transform .2s var(--ease)}
.sec_head_more:hover{color:var(--gold-deep)}
.sec_head_more:hover i{transform:translateX(3px)}
.sec_head_center{justify-content:center;text-align:center}
.sec_head_center .sec_head_title{align-items:center}
.sec_head_center h2{padding-left:0}
.sec_head_center h2::before{display:none}
.sec_head_center .sec_head_sub{margin-top:4px}
.sec_head_center::before{left:50%;transform:translateX(-50%)}

/* --------------------------------------------------------------------------
   5. Hero 轮播
   -------------------------------------------------------------------------- */
.hero{position:relative;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);max-width:var(--wrap);margin:24px auto}
.hero .slides{position:relative;width:100%;height:440px;overflow:hidden}
.hero .slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .6s var(--ease),transform .6s var(--ease),visibility .6s}
.hero .slide.on{opacity:1;visibility:visible;transform:none}
.hero .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* 图片四角内暗角：压住过曝的边角，让白字更稳 */
.hero .slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 90px 20px rgba(20,14,8,.28)}
.hero .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:70px 48px 44px 48px;color:#fff;background:linear-gradient(to bottom,rgba(20,14,8,0) 0%,rgba(20,14,8,.95) 100%)}
.hero .cap .kicker,.hero .cap h1,.hero .cap h2,.hero .cap p{text-shadow:0 1px 4px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.35)}
.hero .cap .kicker{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;letter-spacing:1px;color:#f3e3cf;background:rgba(191,146,84,.22);border:1px solid rgba(191,146,84,.4)}
.hero .cap h1,.hero .cap h2{font-size:34px;color:#fff;margin:16px 0 10px;line-height:1.28;max-width:700px;letter-spacing:-.6px}
.hero .cap p{font-size:15px;color:rgba(255,255,255,.86);max-width:600px;margin:0 0 20px;line-height:1.8}
.hero .cap .btn_primary{height:42px;padding:0 24px;font-size:14px}

/* 右侧竖排装饰字：中式碑刻的竖向节奏，与横向标题形成对位 */
.hero_deco{position:absolute;right:26px;top:50%;z-index:3;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none;user-select:none}
.hero_deco::before{content:"";width:1px;height:54px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.45),transparent)}
.hero_deco span{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.42em;font-size:13px;color:rgba(255,255,255,.72);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.hero_deco::after{content:"";width:1px;height:54px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.45),transparent)}

/* 轮播序号 01 / 04 */
.hero_counter{position:absolute;right:28px;bottom:24px;z-index:4;display:flex;align-items:baseline;gap:4px;font-family:var(--font-num);color:rgba(255,255,255,.55);letter-spacing:.5px}
.hero_counter b{font-size:22px;font-weight:400;color:#fff;line-height:1}
.hero_counter i{font-style:normal;font-size:11px;opacity:.6;margin:0 3px}
.hero_counter span{font-size:12px}

.slider .arrow{position:absolute;top:50%;z-index:5;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:rgba(20,14,8,.32);backdrop-filter:blur(4px);cursor:pointer;opacity:0;transition:opacity .25s,background .25s}
.slider:hover .arrow{opacity:1}
.slider .arrow:hover{background:var(--gold-deep)}
.slider .arrow.prev{left:16px}
.slider .arrow.next{right:16px}
.dots{position:absolute;left:0;right:0;bottom:22px;z-index:4;display:flex;justify-content:center;gap:8px}
.dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;cursor:pointer;background:rgba(255,255,255,.5);transition:all .25s}
.dots button.on{width:26px;background:var(--gold)}

/* --------------------------------------------------------------------------
   6. 通用卡片 / 网格
   -------------------------------------------------------------------------- */
.grid{display:grid;gap:24px}
.grid_2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid_3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid_4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease)}
/* hover 时顶部一条金线从左展开，代替整块变色，克制但明确 */
.card::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:4;background:var(--grad);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease);pointer-events:none}
.card:hover{border-color:var(--gold-line);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.card:hover::after{transform:scaleX(1)}
.card .photo{position:relative;display:block;width:100%;overflow:hidden;background:var(--bg-soft)}
.card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .photo img{transform:scale(1.06)}
/* 图片下沿压一层暗角，让图片区与文字区之间有"厚度"而不是硬切 */
.card .photo::before{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;z-index:1;background:linear-gradient(180deg,transparent,rgba(20,14,8,.26));opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
.card:hover .photo::before{opacity:1}
.ratio_4_3{padding-top:75%}
.ratio_3_2{padding-top:66.66%}
.ratio_16_9{padding-top:56.25%}
.card .photo img{position:absolute;inset:0}
.card_text{padding:15px 16px 17px;position:relative;z-index:2}
.card_text h3{font-size:17px;font-weight:600;line-height:1.5;margin:0;letter-spacing:-.1px}
.card_text h3 a{transition:color .18s var(--ease)}
.card_text h3 a:hover{color:var(--gold-deep)}
.card_meta{display:flex;align-items:center;gap:12px;margin-top:9px;font-size:12.5px;color:var(--ink-4)}
.card_desc{font-size:13px;color:var(--ink-3);line-height:1.75;margin:9px 0 4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card_meta i{font-size:14px;color:var(--gold)}
/* 角标：金棕半透明 + 细白边 + 微光，压在图上更清楚 */
.card_tag{position:absolute;top:10px;left:10px;z-index:3;padding:4px 11px;font-size:11.5px;font-weight:600;color:#fff;background:rgba(117,73,33,.82);border:1px solid rgba(255,255,255,.22);border-radius:3px;backdrop-filter:blur(6px);letter-spacing:.3px;line-height:1.5}
.stretched_link::after{position:absolute;inset:0;content:""}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills a{padding:7px 16px;font-size:13px;color:var(--ink-3);background:#fff;border:1px solid var(--line);border-radius:999px;transition:all .18s var(--ease)}
.pills a:hover{color:var(--gold-deep);border-color:var(--gold-line);background:var(--gold-tint)}
.pills a.on{color:#fff;background:var(--gold-deep);border-color:var(--gold-deep)}

/* --------------------------------------------------------------------------
   7. 首页：关于我们 + CTA
   -------------------------------------------------------------------------- */
.about_grid{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center}
.about_grid>*{min-width:0}
.about_text p{font-size:15px;line-height:2.05;color:var(--ink-3);margin:0 0 16px;overflow-wrap:break-word;word-break:break-word}
.about_text p:first-of-type{font-size:15.5px;color:var(--ink-2)}
/* 数据条：不做独立小方块，改成台账式横条 + 竖分隔，数字用衬线 */
.about_stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:0;margin-top:26px;padding:16px 0;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line)}
.about_stat{padding:4px 16px;text-align:center;border-left:1px solid var(--gold-line)}
.about_stat:first-child{border-left:0;padding-left:0}
.about_stat:last-child{padding-right:0}
.about_stat b{display:block;font-family:var(--font-num);font-size:30px;color:var(--gold-dark);font-weight:600;line-height:1.1;letter-spacing:-.5px}
.about_stat span{font-size:12.5px;color:var(--ink-4);margin-top:6px;display:block;letter-spacing:.5px}
.about_media{position:relative;border-radius:var(--radius-lg);overflow:visible;box-shadow:none}
/* 错位金线框：图片后垫一层偏移描边，制造"装裱"厚度 */
.about_media::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold-line);border-radius:var(--radius-lg);z-index:0}
.about_media img{position:relative;z-index:1;width:100%;height:340px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.about_media .badge{position:absolute;z-index:2;left:20px;bottom:20px;padding:10px 16px;background:rgba(255,255,255,.95);border-radius:var(--radius);font-size:13px;color:var(--ink-2);box-shadow:var(--shadow-sm);line-height:1.6;backdrop-filter:blur(4px)}
.about_media .badge b{color:var(--gold-dark);font-size:15px}

.cta_band{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:52px 56px;color:#fff;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 12px),var(--grad-deep);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta_band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0))}
.cta_band::after{content:"";position:absolute;right:-100px;bottom:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(191,146,84,.4),transparent 70%);pointer-events:none}
.cta_band .cta_text{position:relative;z-index:1;max-width:620px}
.cta_band h2{color:#fff;font-size:26px;margin:0 0 10px;letter-spacing:-.4px}
.cta_band p{color:rgba(255,255,255,.84);font-size:14.5px;margin:0;line-height:1.8}
.cta_band .btn_group{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}

/* --------------------------------------------------------------------------
   8. 列表页 / 详情页布局（左栏 + 右内容）
   -------------------------------------------------------------------------- */
.layout{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);gap:32px;align-items:start;padding:32px 0 56px}
.layout_main{grid-column:2;grid-row:1;min-width:0}
.layout_side{grid-column:1;grid-row:1;position:sticky;top:calc(var(--nav-h) + 16px);display:flex;flex-direction:column;gap:20px;min-width:0}

.widget{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs)}
.widget_head{position:relative;display:flex;align-items:center;gap:8px;height:50px;padding:0 18px 0 20px;background:linear-gradient(180deg,var(--gold-tint),#fff);border-bottom:1px solid var(--line)}
.widget_head::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--grad)}
.widget_head h3{font-size:15px;font-weight:600;color:var(--gold-dark);margin:0;letter-spacing:.2px}
.widget_head i{color:var(--gold-deep);font-size:17px}
.widget_body{padding:14px 16px}
.side_menu{padding:10px}
.side_menu a{position:relative;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;margin-bottom:6px;font-size:14px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);transition:all .18s var(--ease)}
.side_menu a:last-child{margin-bottom:0}
.side_menu a i{font-size:15px;color:var(--gold);transition:color .18s}
.side_menu a::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-4px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateX(-4px) rotate(45deg);opacity:0;transition:all .2s var(--ease)}
.side_menu a:hover,.side_menu a.on{color:#fff;background:var(--gold-deep);border-color:var(--gold-deep);box-shadow:0 6px 16px -8px rgba(138,92,47,.55)}
.side_menu a:hover i,.side_menu a.on i{color:#fff}
.side_menu a:hover::after,.side_menu a.on::after{opacity:1;transform:none;color:rgba(255,255,255,.8)}
.side_qr{padding:16px;text-align:center}
.side_qr img{width:140px;margin:0 auto 10px;border:1px solid var(--line);border-radius:var(--radius);padding:6px;background:#fff}
.side_qr p{font-size:12.5px;color:var(--ink-4);margin:0}
/* 关注弹窗只显示一个二维码（common.js 默认生成 2 个：公众号+视频号） */
#followLayer .qr_item:nth-child(n+2){display:none}
#followLayer .qr_wrap{justify-content:center}

.article_list .article_item{position:relative;display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;transition:border-color .22s,box-shadow .22s,transform .22s}
/* 左侧金条：hover 从顶部"长"出来，形成书签感 */
.article_list .article_item::before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--grad);transform:scaleY(0);transform-origin:top center;transition:transform .32s var(--ease)}
.article_list .article_item:hover{border-color:var(--gold-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.article_list .article_item:hover::before{transform:scaleY(1)}
.article_list .article_item_photo{flex-shrink:0;width:224px;height:150px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-soft);position:relative}
.article_list .article_item_photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.article_list .article_item:hover .article_item_photo img{transform:scale(1.06)}
.article_list .article_item_text{flex:1;min-width:0;display:flex;flex-direction:column}
.article_list .article_item_text h3{font-size:18px;margin:0 0 10px;line-height:1.5;letter-spacing:-.2px}
.article_list .article_item_text h3 a:hover{color:var(--gold-deep)}
.article_list .article_item_desc{font-size:13.5px;color:var(--ink-3);line-height:1.85;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article_list .article_item_meta{margin-top:auto;display:flex;align-items:center;gap:16px;font-size:12.5px;color:var(--ink-4)}
.article_list .article_item_meta i{font-size:14px;color:var(--gold)}
.article_list .article_item_nopic .article_item_photo{display:none}


.gallery_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery_grid .card .photo{padding-top:70%}
.gallery_grid .card_text{padding:13px 14px 15px}
.gallery_grid .card_text h3{font-size:14.5px;text-align:center;letter-spacing:.1px}
.gallery_grid .card:hover .card_text h3{color:var(--gold-deep)}

.pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:38px 0 8px}
.pager a,.pager .disabled{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 14px;font-size:13.5px;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);transition:all .18s var(--ease);user-select:none}
.pager a:hover{color:#fff;background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(138,92,47,.8)}
.pager a.on{color:#fff;background:var(--grad);border-color:transparent;box-shadow:0 8px 18px -10px rgba(138,92,47,.8)}
.pager .disabled{color:var(--ink-5);background:var(--bg-soft);cursor:not-allowed}

/* --------------------------------------------------------------------------
   9. 详情页文章 + 关于单页
   -------------------------------------------------------------------------- */
.article{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px 48px;box-shadow:var(--shadow-xs)}
.article::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:var(--radius) var(--radius) 0 0;background:var(--grad);opacity:.85}
.article_head{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line);text-align:center}
.article_category{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;font-size:12.5px;font-weight:600;color:var(--gold-dark);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:999px;margin-bottom:14px}
.article_head h1{font-size:30px;line-height:1.4;margin:0 0 16px;font-weight:700;letter-spacing:-.5px}
.article_meta{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;font-size:12.5px;color:var(--ink-4)}
.article_meta span{display:inline-flex;align-items:center;gap:5px}
.article_meta i{font-size:14px;color:var(--gold)}
/* 正文：16px/2.05，段间 1.6em，中文两端对齐，行宽控制在 ~40 字更耐读 */
.article_body{font-size:16px;line-height:2.05;color:var(--ink-2);letter-spacing:.01em}
/* 详情页正文收成 ~40 字/行的居中栏；关于页等需要整栏的地方不加此修饰类 */
.article_body_narrow{margin:0 auto}
.article_body p{margin:0 0 1em;text-align:justify;text-justify:inter-ideograph}
.article_body h2{font-size:20px;margin:1em 0 .5em;padding-left:10px;border-left:4px solid var(--gold);line-height:1.5;letter-spacing:-.1px}
.article_body h3{font-size:17px;margin:1em 0 .5em;color:var(--ink-1)}
.article_body img{display:block;max-width:100%;height:auto;margin:15px auto;border-radius:var(--radius);cursor:zoom-in;box-shadow:var(--shadow-sm)}
.article_body ul,.article_body ol{padding-left:1em;margin:0;}
.article_body ul{list-style:disc}
.article_body ol{list-style:decimal}
.article_body li{margin-bottom:.5em}
.article_body li::marker{color:var(--gold)}
.article_body blockquote{position:relative;margin:1.9em 0;padding:20px 24px 20px 46px;background:var(--gold-tint);border-left:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-3);font-size:15px;line-height:1.95}
.article_body blockquote::before{content:"\201C";position:absolute;left:16px;top:6px;font:700 34px/1 var(--font-num);color:var(--gold);opacity:.45}
.article_body a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--gold-line)}
.article_body a:hover{text-decoration-color:var(--gold-deep)}
.article_body figure{margin:26px 0}
.article_body figcaption{margin-top:-14px;text-align:center;font-size:12.5px;color:var(--ink-4);line-height:1.8}
/* 文章底部分享条：微信二维码 + 复制链接，交互由 common.js 绑定 */
.art_share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:30px;padding:15px 18px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--radius)}
.art_share_label{display:inline-flex;align-items:center;gap:7px;margin-right:auto;font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.2px}
.art_share_label i{font-size:17px;color:var(--gold-deep)}
.art_share_btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;font-size:13px;color:var(--ink-2);background:#fff;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:all .18s var(--ease)}
.art_share_btn i{font-size:16px}
.art_share_btn:hover{color:var(--gold-deep);border-color:var(--gold);background:#fff}
.art_share_btn.wx{color:#fff;background:var(--grad);border-color:transparent;box-shadow:var(--shadow-xs)}
.art_share_btn.wx:hover{color:#fff;background:var(--grad-deep);border-color:transparent}
.article_pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.article_pager a{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:all .18s var(--ease)}
.article_pager a:hover{border-color:var(--gold-line);box-shadow:var(--shadow-xs);transform:translateY(-1px)}
.article_pager_label{flex-shrink:0;font-size:12px;color:var(--ink-4);font-weight:600}
.article_pager_text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;color:var(--ink-2)}
.article_pager a:hover .article_pager_text{color:var(--gold-deep)}
.article_pager .next{justify-content:flex-end;text-align:right}
.related{margin-top:32px}

.single{padding:36px 0 60px}
.single .wrap{max-width:920px}
.single .page_card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:44px 52px 48px;box-shadow:var(--shadow-xs);overflow:hidden}
.single .page_card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad);opacity:.85}
.single h1,.single .page_card_title{font-size:30px;margin:0 0 10px;font-weight:600;line-height:1.4;letter-spacing:-.5px}
.single .page_lead{font-size:15px;color:var(--ink-4);margin:0 0 26px;padding-bottom:22px;border-bottom:1px solid var(--line);line-height:1.9}
.single .article_body h2:first-child{margin-top:0}
/* 发展历程：竖向渐变线 + 金色节点，中轴线上形成阅读引导 */
.timeline{position:relative;margin:30px 0;padding-left:30px;border-left:2px solid var(--gold-line)}
.timeline::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:64px;background:linear-gradient(180deg,var(--gold-deep),transparent)}
.timeline_item{position:relative;padding:0 0 24px 0}
.timeline_item:last-child{padding-bottom:0}
.timeline_item::before{content:"";position:absolute;left:-37px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 0 0 2px var(--gold-line),0 2px 6px rgba(138,92,47,.3)}
.timeline_item b{display:block;font-family:var(--font-num);font-size:14px;color:var(--gold-dark);font-weight:600;margin-bottom:5px;letter-spacing:.3px}
.timeline_item p{font-size:14px;color:var(--ink-3);margin:0;line-height:1.9}
.contact_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.contact_grid .contact_item{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--radius);transition:all .2s var(--ease)}
.contact_grid .contact_item:hover{background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.contact_grid .contact_item i{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;background:var(--grad);border-radius:var(--radius-sm);box-shadow:0 6px 14px -8px rgba(138,92,47,.7)}
.contact_grid .contact_item b{display:block;font-size:12px;color:var(--ink-4);font-weight:400}
.contact_grid .contact_item span{display:block;font-size:14.5px;color:var(--ink-1);font-weight:600}

/* FAQ 列表（关于页 · GEO 问答结构） */
.faq_list{margin-top:6px;border-top:1px solid var(--line)}
.faq_item{position:relative;padding:20px 0 18px;border-bottom:1px solid var(--line);transition:padding-left .22s var(--ease)}
.faq_item::before{content:"";position:absolute;left:-16px;top:20px;bottom:18px;width:3px;border-radius:3px;background:var(--grad);opacity:0;transition:opacity .22s var(--ease)}
.faq_item:hover{padding-left:6px}
.faq_item:hover::before{opacity:1}
.faq_item:last-child{border-bottom:0;padding-bottom:0}
.faq_item h3{display:flex;align-items:flex-start;gap:10px;font-size:15.5px;font-weight:600;color:var(--ink-1);margin:0 0 9px;line-height:1.6}
.faq_item h3::before{content:"Q";flex-shrink:0;width:23px;height:23px;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:#fff;background:var(--grad);border-radius:4px;letter-spacing:0;box-shadow:0 4px 10px -6px rgba(138,92,47,.9)}
.faq_item p{margin:0 0 0 33px;font-size:14px;color:var(--ink-3);line-height:1.9}

/* --------------------------------------------------------------------------
   10. 页脚 + 回到顶部 + 移动抽屉
   -------------------------------------------------------------------------- */
.site_footer{position:relative;overflow:hidden;background:#241c14;color:rgba(255,255,255,.7)}
/* 顶部一条从左到右渐隐的金线，把内容区与页脚"切"开 */
.site_footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--gold-dark),var(--gold) 30%,rgba(191,146,84,0) 90%);z-index:2}
/* 大号英文水印，页脚不空 */
.site_footer::after{content:"GUNIXUAN";position:absolute;right:-14px;bottom:-30px;z-index:0;font:800 118px/1 var(--font-num);letter-spacing:-4px;color:rgba(255,255,255,.026);pointer-events:none;user-select:none;white-space:nowrap}
.site_footer .wrap{position:relative;z-index:1}
.site_footer a{color:rgba(255,255,255,.7)}
.site_footer a:hover{color:#fff}
.footer_top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;padding:52px 0 38px}
.footer_brand .brand{margin-bottom:14px}
.footer_brand .brand .logo_image{height:44px}
.footer_brand .brand_text b{color:#fff}
.footer_brand p{font-size:13px;line-height:1.9;color:rgba(255,255,255,.55);max-width:340px;margin:0 0 16px}
.footer_social{display:flex;gap:10px}
.footer_social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:17px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);border-radius:var(--radius-sm);transition:all .18s var(--ease)}
.footer_social a:hover{color:#fff;background:var(--gold-deep);transform:translateY(-2px)}
.footer_col h4{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#fff;margin:0 0 18px;font-weight:600;letter-spacing:.3px}
.footer_col h4::after{content:"";width:22px;height:2px;background:var(--grad);border-radius:2px}
.footer_col li{margin-bottom:11px}
.footer_col li a{display:inline-flex;align-items:center;gap:7px;font-size:13px}
.footer_col li a::before{content:"";width:4px;height:4px;background:rgba(255,255,255,.3);border-radius:50%;transition:all .18s}
.footer_col li a:hover::before{background:var(--gold);transform:scale(1.4)}
.footer_contact li{display:flex;align-items:flex-start;gap:10px;font-size:13px;padding:6px 0;color:rgba(255,255,255,.7)}
.footer_contact li i{font-size:15px;color:var(--gold);}
.footer_bottom{position:relative;border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.5)}
.footer_bottom a{color:rgba(255,255,255,.6)}
.footer_bottom .beian{display:inline-flex;align-items:center;gap:4px;margin:0 8px}
.footer_bottom .beian img{width:14px;height:14px;vertical-align:-2px}
.footer_bottom .sep{color:rgba(255,255,255,.2);margin:0 8px}

.go_top{position:fixed;right:24px;bottom:28px;z-index:120;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;background:var(--grad);box-shadow:var(--shadow-brand);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:all .3s var(--ease)}
.go_top.show{opacity:1;visibility:visible;transform:none}
.go_top:hover{filter:brightness(1.08);transform:translateY(-2px)}

.nav_mask{position:fixed;inset:0;z-index:190;background:rgba(20,14,8,.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.nav_mask.on{opacity:1;visibility:visible}
.mobile_nav{position:fixed;top:0;right:0;bottom:0;z-index:200;width:min(320px,86vw);background:#fff;box-shadow:-14px 0 40px rgba(20,14,8,.18);transform:translateX(102%);transition:transform .3s var(--ease);overflow-y:auto;padding:18px 18px 28px}
.mobile_nav.on{transform:none}
.mobile_nav li{list-style:none;margin:0;padding:0}
.mobile_nav_head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.mobile_nav_head .brand .logo_image{height:38px}
.mobile_nav_close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink-3);background:var(--bg-soft);border:0;border-radius:50%;cursor:pointer}
.mobile_nav a{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:6px;font-size:15px;color:var(--ink-2);border-radius:var(--radius-sm);transition:all .18s var(--ease)}
.mobile_nav a i{font-size:18px;color:var(--gold)}
.mobile_nav a.on,.mobile_nav a:hover{color:#fff;background:var(--grad)}
.mobile_nav a.on i,.mobile_nav a:hover i{color:#fff}
.mobile_nav_phone{margin-top:16px;padding:14px 16px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--radius)}
.mobile_nav_phone b{display:block;font-size:12px;color:var(--ink-4);font-weight:400}
.mobile_nav_phone a{display:block;font-size:18px;font-weight:700;color:var(--gold-dark);padding:0;margin:2px 0}

/* --------------------------------------------------------------------------
   11. 弹窗图层（common.js 生成的搜索 / 关注 / 分享弹窗 + 正文图片灯箱）
   -------------------------------------------------------------------------- */
.layer{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
.layer.open{display:flex}
.layer_mask{position:absolute;inset:0;background:rgba(20,14,8,.55);backdrop-filter:blur(3px)}
.layer_box{position:relative;z-index:1;width:100%;max-width:440px;max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:0 24px 60px -20px rgba(20,14,8,.4);padding:26px 24px 22px}
.layer_close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink-4);background:var(--bg-soft);border:0;border-radius:50%;cursor:pointer;transition:all .18s}
.layer_close:hover{color:#fff;background:var(--gold-deep)}
.layer_body h3{display:flex;align-items:center;gap:8px;font-size:17px;margin:0 0 18px;padding-right:36px;color:var(--ink-1)}
.layer_body h3 i{color:var(--gold-deep);font-size:20px}
.search_form{display:flex;gap:10px;margin-bottom:14px}
.search_form input{flex:1;min-width:0;height:44px;padding:0 14px;font-size:14px;color:var(--ink-2);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;transition:border-color .18s}
.search_form input:focus{border-color:var(--gold)}
.search_form .btn,.search_form .btn_primary{flex-shrink:0;height:44px;padding:0 20px;color:#fff;background:var(--grad);border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer}
.search_hot{font-size:13px;color:var(--ink-4);line-height:1.9}
.search_hot a{display:inline-block;margin:0 6px 6px 0;padding:4px 12px;font-size:12.5px;color:var(--ink-2);background:var(--bg-soft);border-radius:999px;transition:all .18s}
.search_hot a:hover{color:#fff;background:var(--gold-deep)}
.qr_wrap{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.qr_item{text-align:center}
.qr_item .photo{display:block;width:150px;height:150px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:8px}
.qr_item .photo img{width:100%;height:100%;object-fit:cover}
.qr_item p{font-size:12.5px;color:var(--ink-4);margin:0}
.share_qr{text-align:center}
.share_qr_box{display:inline-flex;align-items:center;justify-content:center;width:200px;height:200px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px}
.share_qr p{font-size:13px;color:var(--ink-4);margin:0 0 6px}
.share_url{font-size:11.5px;color:var(--ink-5);word-break:break-all;line-height:1.6}

/* 正文图片灯箱：由 common.js 注入到 body 末尾，样式必须随 JS 同步存在，
   否则元素虽然生成但没有定位与层级，表现为「点了没反应」 */
.imgbox{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px)}
.imgbox.open{display:flex;animation:imgbox_fade .22s var(--ease)}
@keyframes imgbox_fade{from{opacity:0}to{opacity:1}}
.imgbox_mask{position:absolute;inset:0;background:rgba(14,10,6,.92);backdrop-filter:blur(6px);cursor:zoom-out}
.imgbox_fig{position:relative;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%}
.imgbox_fig img{max-width:100%;max-height:calc(100vh - 130px);width:auto;height:auto;object-fit:contain;border-radius:var(--radius);background:var(--bg-soft);box-shadow:0 30px 80px -24px rgba(0,0,0,.72)}
.imgbox_count{font:12.5px/1 var(--font-num);color:rgba(255,255,255,.6);letter-spacing:1px}
.imgbox_close{position:absolute;top:18px;right:18px;z-index:2;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer;transition:all .18s}
.imgbox_close:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
.imgbox_arrow{position:absolute;top:50%;z-index:2;width:48px;height:48px;margin-top:-24px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:50%;cursor:pointer;transition:all .18s}
.imgbox_arrow:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
.imgbox_arrow.prev{left:clamp(10px,3vw,32px)}
.imgbox_arrow.next{right:clamp(10px,3vw,32px)}
/* 单图时不显示左右箭头，避免出现点了毫无反应的死按钮 */
.imgbox.single .imgbox_arrow{display:none}

/* 图片载入完成后撤掉占位底色（common.js 打 .img_ok）。
   只切换背景色、不隐藏图片本身，所以脚本失效时图片照样可见 */
.card .photo.img_ok,.article_item_photo.img_ok{background:transparent}

/* --------------------------------------------------------------------------
   12. 响应式
   -------------------------------------------------------------------------- */
@media (max-width:1080px){
  .about_grid{grid-template-columns:1fr;gap:30px}
  .about_media{margin-right:14px}
  .about_media img{height:300px}
  .gallery_grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer_top{grid-template-columns:1fr 1fr;gap:32px}
  .footer_brand{grid-column:1/-1}
}
@media (max-width:900px){
  .main_nav ul{display:none}
  .main_nav .wrap{justify-content:space-between}
  /* 导航项收起后，给这一条补个左侧标签，避免只剩一个孤零零的按钮 */
  .main_nav .wrap::before{content:"全部栏目";display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3);letter-spacing:.3px}
  .nav_toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:36px;padding:0 14px;font-size:13.5px;color:var(--gold-dark);background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:999px;cursor:pointer}
  .nav_toggle::after{content:"菜单";font-size:13.5px}
  .nav_toggle i{font-size:17px}
  .nav_toggle:hover{color:#fff;background:var(--gold-deep);border-color:var(--gold-deep)}
  .layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .layout_main,.layout_side{grid-column:1;grid-row:auto}
  .layout_side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
}
@media (max-width:760px){
  :root{--hd-h:72px;--nav-h:52px;--fs-h2:20px}
  .wrap{padding:0 16px}
  .top_info{display:none}
  .header_row{height:var(--hd-h);gap:12px}
  .brand .logo_image{height:44px}
  .brand_text b{font-size:16px}
  .brand_text small{font-size:10px}
  .head_contact_item:not(.head_contact_phone){display:none}
  .head_contact_phone~.head_contact_phone,.head_contact_wechat{display:none}
  .head_contact_icon{width:38px;height:38px;font-size:17px}
  .head_contact_text strong{font-size:16px}
  .hero .slides{height:300px}
  .hero .cap{padding:34px 18px 24px}
  .hero .cap h1,.hero .cap h2{font-size:19px;margin:10px 0 8px;line-height:1.35}
  .hero .cap p{font-size:12.5px;margin-bottom:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero .cap .btn_primary{height:36px;padding:0 18px;font-size:13px}
  .hero_deco{display:none}
  .hero_counter{right:16px;bottom:12px}
  .hero_counter b{font-size:16px}
  .hero_counter span{font-size:11px}
  .dots{bottom:14px}
  .slider .arrow{display:none}
  /* 灯箱窄屏适配：箭头移到底部两侧，避免压住图片主体；底部留出箭头占位 */
  .imgbox{padding:14px 12px 58px}
  .imgbox_fig img{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);border-radius:var(--radius-sm)}
  .imgbox_close{top:12px;right:12px;width:36px;height:36px;font-size:19px}
  .imgbox_arrow{top:auto;bottom:8px;margin-top:0;width:38px;height:38px;font-size:22px}
  .imgbox_arrow.prev{left:calc(50% - 50px)}
  .imgbox_arrow.next{right:calc(50% - 50px)}
  .sec{padding:44px 0}
  .sec_head{margin-bottom:22px}
  .sec_head::before{display:none}
  .sec_head_sub{display:none}
  .about_stats{grid-template-columns:repeat(3,1fr);gap:0;padding:14px 0;margin-top:22px}
  .about_stat{padding:2px 8px}
  .about_stat:first-child{padding-left:0}
  .about_stat b{font-size:24px}
  .about_stat span{font-size:11.5px;letter-spacing:0}
  .about_media{margin-right:0}
  .about_media::before{display:none}
  .about_media img{height:210px}
  .grid_4,.grid_3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  /* 纯文字的列表（如首页新闻）窄屏挤两列不好读，加 grid_sm_1 折叠为单列。
     用 .grid.grid_sm_1 提高权重，确保 420 断点的 .grid_3 规则不会把它改回两列 */
  .grid.grid_sm_1{grid-template-columns:minmax(0,1fr);gap:12px}
  .cta_band{padding:32px 22px;gap:18px}
  .cta_band h2{font-size:21px}
  .cta_band .btn_group{width:100%}
  .cta_band .btn_group .btn{flex:1;justify-content:center}
  .page_hero{padding:28px 0 30px}
  .page_hero h1{font-size:22px;gap:8px}
  .page_hero h1 i{font-size:20px}
  .page_hero::before{font-size:54px;bottom:-10px;right:8px;letter-spacing:-1px}
  .page_hero .pills{margin-top:14px;gap:8px}
  .page_hero .pills a{padding:6px 13px;font-size:12.5px}
  .layout_side{grid-template-columns:1fr}
  .article_list .article_item{flex-direction:column;gap:14px;padding:14px}
  .article_list .article_item_photo{width:100%;height:auto;aspect-ratio:16/9}
  .article_list .article_item_photo img{position:static}
  .article_list .article_item_text h3{font-size:15.5px;margin-bottom:8px}
  .article_list .article_item_desc{-webkit-line-clamp:3}
  .gallery_grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .article{padding:26px 18px 28px}
  /* 窄屏下标签独占一行，两个按钮等分排满，避免挤成一小坨 */
  .art_share{padding:14px;gap:8px}
  .art_share_label{width:100%;margin-right:0}
  .art_share_btn{flex:1;justify-content:center;padding:0 10px}
  .article_head h1{font-size:22px;letter-spacing:-.3px}
  .article_head{margin-bottom:20px;padding-bottom:18px}
  .article_body{font-size:15.5px;line-height:1.95}
  .article_body p{margin-bottom:1.4em}
  .article_body h2{font-size:18px;margin:1.6em 0 .7em}
  .article_pager{grid-template-columns:1fr}
  .single .page_card{padding:28px 20px 30px}
  .single h1,.single .page_card_title{font-size:23px}
  .contact_grid{grid-template-columns:1fr}
  .timeline{padding-left:22px}
  .timeline_item::before{left:-29px}
  .faq_item:hover{padding-left:0}
  .faq_item::before{display:none}
  .faq_item p{margin-left:0;padding-left:33px}
  .footer_top{grid-template-columns:1fr;padding:34px 0 26px}
  .footer_brand{grid-column:auto}
  .go_top{right:14px;bottom:18px;width:40px;height:40px;font-size:20px}
  .pager{gap:6px;padding:28px 0 4px}
  .pager a,.pager .disabled{min-width:34px;height:34px;padding:0 10px;font-size:12.5px}
}
@media (max-width:420px){
  .grid_4,.grid_3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about_stat b{font-size:21px}
  .about_stat span{font-size:11px}
  .hero .cap h1,.hero .cap h2{font-size:17px}
  .hero .slides{height:280px}
}
/* --------------------------------------------------------------------------
   13. 滚动进场（仅在 JS 成功挂载 .js_motion 后启用，渐进增强）
   用 translate 独立属性而非 transform，避免覆盖卡片 hover 的位移
   -------------------------------------------------------------------------- */
.js_motion .rv{opacity:0;translate:0 18px;transition:opacity .7s var(--ease),translate .7s var(--ease)}
.js_motion .rv.in{opacity:1;translate:0 0}
/* 同组元素错峰，形成"依次浮现"的节奏 */
.js_motion .rv[data-rv="2"]{transition-delay:.06s}
.js_motion .rv[data-rv="3"]{transition-delay:.12s}
.js_motion .rv[data-rv="4"]{transition-delay:.18s}
.js_motion .rv[data-rv="5"]{transition-delay:.24s}
.js_motion .rv[data-rv="6"]{transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .card,.article_item,.hero .slide,.mobile_nav,.nav_mask{transition:none!important}
  .js_motion .rv{opacity:1!important;translate:none!important;transition:none!important}
}
