/*
Theme Name: 知域空间
Theme URI: https://zhiyuoffice.com
Author: 知域商管
Description: 知域空间官网专用主题。针对共享办公、产业孵化器与 OPC 一人公司社区业务设计，内置项目、房源、活动三类内容类型，支持后台直接维护价格与余量。
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: zhiyu
*/

/* ============================================================
   1. 变量与基础
   ============================================================ */
:root{
  /* 文字与描边：暖中立灰，贴近纸质印刷的克制感 */
  --ink:#1a1a1a; --ink2:#3e423e; --ink3:#71756f; --line:#e6e2d6;
  /* 底色：米白纸感，替代原先的冷灰 */
  --bg:#f7f4ec; --card:#ffffff;
  /* 主色：Gucci 织带绿 */
  --brand:#046a38; --brand-d:#035029; --brand-l:#0f8a4c; --brand-pale:#e8f1ea;
  --deep:#04321c;
  /* 点缀金：深底用亮金，浅底用深金保证可读 */
  --gold:#8a6631; --gold-l:#b8935a; --gold-bg:#f7f1e4;
  /* 辅色：Gucci 织带红，仅用于强调，不做大面积铺底 */
  --red:#c8102e; --red-d:#a10d25;
  --r-card:12px; --r-btn:8px; --r-tag:5px;
  --shadow:0 1px 2px rgba(16,24,40,.04);
  --shadow-lg:0 10px 34px rgba(4,106,56,.10);
  --wrap:1200px;
  /* 织带渐变：绿-红-绿，取自 Gucci 经典 web stripe */
  --stripe:linear-gradient(90deg,var(--brand) 0 34%,var(--red) 34% 66%,var(--brand) 66% 100%);
  --stripe-gold:linear-gradient(90deg,var(--gold-l) 0 34%,var(--red) 34% 66%,var(--gold-l) 66% 100%);
}
/* 导航专用字体：Noto Sans SC 900 子集（SIL OFL 1.1），仅打包导航字符，约 20KB */
@font-face{
  font-family:"ZY Nav";
  src:url("assets/fonts/zy-nav-900.woff2") format("woff2");
  font-weight:900;font-style:normal;font-display:swap;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:"Microsoft YaHei","微软雅黑","PingFang SC",-apple-system,sans-serif;
  color:var(--ink); line-height:1.8; background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit;font-size:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.4px;line-height:1.35}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.4em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ============================================================
   2. 按钮
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 22px;border-radius:var(--r-btn);font-size:14.5px;font-weight:500;
  border:1px solid transparent;cursor:pointer;transition:.16s;white-space:nowrap;line-height:1.4;
}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-d)}
.btn-ghost{border-color:var(--line);color:var(--ink2);background:#fff}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-light{background:#fff;color:var(--brand)}
.btn-light:hover{background:#eef3ea}
.btn-outline-w{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.12)}
.btn-outline-w:hover{background:rgba(255,255,255,.2)}
.btn-lg{padding:14px 30px;font-size:16px}

/* ============================================================
   3. 导航
   ============================================================ */
.site-nav{
  position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
}
/* 织带细节：导航底部一道 2px 绿红绿细线，品牌识别藏在细节里 */
.site-nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:var(--stripe);pointer-events:none}
/* 9 个栏目在 1200px 容器里必须一行放下：间距与字号随视口微调，文字一律不换行 */
.nav-in{display:flex;align-items:center;gap:clamp(12px,1.6vw,28px);height:68px}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:18px;flex:none;
  color:var(--ink);white-space:nowrap;
  font-family:"ZY Nav","HarmonyOS Sans SC","Noto Sans SC","Source Han Sans SC",
    "PingFang SC","Microsoft YaHei",sans-serif}
.logo-mark{
  width:30px;height:30px;border-radius:7px;flex:none;
  background:linear-gradient(135deg,var(--brand),var(--brand-l));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;
}
/* 导航字体：圆体（Windows 幼圆 / macOS 圆体），字重统一 700，观感更亲和 */
.nav-menu{display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:clamp(12px,1.7vw,26px);
  font-size:15.5px;list-style:none;margin:0;padding:0;min-width:0;font-weight:900;
  font-family:"ZY Nav","HarmonyOS Sans SC","Noto Sans SC","Source Han Sans SC",
    "PingFang SC","Microsoft YaHei",sans-serif}
.nav-menu li{margin:0;flex:none}
.nav-menu a{color:var(--ink);transition:.15s;white-space:nowrap;font-weight:900}
.nav-menu a:hover,.nav-menu .current-menu-item>a{color:var(--brand)}
.nav-cta{display:flex;gap:10px;align-items:center;flex:none}
.nav-cta .btn{white-space:nowrap;flex:none}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;
  width:40px;height:38px;cursor:pointer;color:var(--ink2);font-size:18px}

/* ============================================================
   4. Hero
   ============================================================ */
.hero{position:relative;background:var(--deep);overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .9s ease;will-change:opacity;
  /* 居中均衡裁切（2026-11-08 用户口径）：不过高、不过低，保留图片最重要的中段内容。
     7 张轮播图由 front-page.php 逐张内联 object-position:50% 50%，与此保持一致。
     只改裁切位置，不改图片比例、不拉伸变形。 */
  object-position:50% 50%}
.hero-in{position:relative;padding-top:88px;padding-bottom:84px}
.hero-grid{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);color:#dcebe0;padding:6px 14px;border-radius:20px;
  font-size:13px;margin-bottom:22px;
}
.hero h1{font-size:46px;line-height:1.22;color:#fff;letter-spacing:-1px;margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--gold-l)}
.hero-lead{font-size:17.5px;color:#c9dccf;max-width:600px;margin-bottom:30px}
.hero-lead b,.hero-lead strong{color:#fff;font-weight:500}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px}
/* 2026-11-08 用户点选「直接去掉」：原 border-top:1px solid rgba(255,255,255,.14) 在调亮后的
   轮播照片上像一道多余的白杠，去掉；padding-top 保留，统计区与上方文案的间距不变。 */
.hero-stats{display:flex;gap:30px;flex-wrap:wrap;padding-top:26px}
.hstat-n{font-size:31px;font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.5px}
.hstat-l{font-size:13px;color:#a3bfae;margin-top:3px}

/* 留资卡片 */
.lead-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.lead-card h3{font-size:19px;margin-bottom:6px}
.lead-card>p{font-size:13.5px;color:var(--ink3);margin-bottom:20px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;color:var(--ink2);margin-bottom:6px;font-weight:500}
.field input,.field select,.field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;
  font-size:14.5px;color:var(--ink);background:#fff;transition:.15s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(4,106,56,.12)
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-card .btn{width:100%}
.lead-note{font-size:12px;color:var(--ink3);text-align:center;margin-top:12px}

/* ============================================================
   5. 通用区块
   ============================================================ */
.sec{padding:92px 0}
.sec-alt{background:var(--bg)}
.sec-cream{background:#fbf7ee}
.sec-head{max-width:800px;margin-bottom:44px}
/* 小标题前置一段织带短线，绿红绿三色，是全站最克制的一处红 */
.eyebrow{font-size:13px;letter-spacing:2px;color:var(--brand);font-weight:700;margin-bottom:12px;
  display:flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:28px;height:3px;border-radius:1px;flex:none;background:var(--stripe)}
.sec-head.center .eyebrow{justify-content:center}
.sec-head h2{font-size:32px;letter-spacing:-.6px;margin-bottom:14px}
.sec-head p{font-size:17px;color:var(--ink2);margin:0}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}

/* 四宫格产品 */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* 6 张卡用三列，避免第二行空出两个位置 */
.prod-grid.cols-3{grid-template-columns:repeat(3,1fr)}
/* 5 类空间产品排一行 */
.prod-grid.cols-5{grid-template-columns:repeat(5,1fr);gap:14px}
.prod-grid.cols-5 .prod{padding:22px 16px}
.prod-grid.cols-5 .prod p{font-size:13px}
.prod-grid.cols-5 .prod-price{font-size:18px}
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px 22px;transition:.18s;
  display:flex;flex-direction:column}
.prod:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.prod-icon{
  width:42px;height:42px;border-radius:10px;background:var(--brand-pale);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:400;line-height:1;margin-bottom:13px;
}
.prod h3{font-size:16.5px;margin-bottom:7px}
.prod p{font-size:13.5px;color:var(--ink3);margin-bottom:14px;min-height:44px}
/* 价格与「查看详情」贴底对齐：各卡描述长短不一也不会高低错落 */
.prod-price{font-size:20px;font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;margin-top:auto}
.prod-price small{font-size:12.5px;font-weight:400;color:var(--ink3)}
.prod-link{display:inline-block;margin-top:14px;font-size:13.5px;color:var(--brand);font-weight:500}

/* 项目卡 */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.loc{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;transition:.18s}
.loc:hover{border-color:var(--brand);box-shadow:var(--shadow-lg)}
.loc-img{width:100%;height:210px;object-fit:cover}
.loc-body{padding:20px 22px}
.loc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tag{font-size:12px;padding:3px 9px;border-radius:var(--r-tag);background:#edf3ec;color:var(--brand);font-weight:500}
.tag-soon{background:var(--gold-bg);color:var(--gold)}
.loc h3{font-size:17.5px;margin-bottom:8px}
.loc-addr{font-size:13.5px;color:var(--ink3);margin-bottom:4px}
.loc-metro{font-size:13.5px;color:var(--brand);margin-bottom:14px}
.loc-foot{display:flex;justify-content:space-between;align-items:flex-end;padding-top:14px;border-top:1px solid var(--line)}
.loc-price{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}
.loc-price small{font-size:12.5px;font-weight:400;color:var(--ink3)}
.loc-remain{font-size:12.5px;color:var(--gold);font-weight:500}

/* 价格表 */
.tbl-wrap{overflow-x:auto;border-radius:var(--r-card);border:1px solid var(--line)}
.ptable{width:100%;border-collapse:collapse;background:#fff;font-size:14.5px}
.ptable th{background:var(--deep);color:#fff;font-weight:600;text-align:left;padding:15px 18px;font-size:14px;white-space:nowrap}
.ptable td{padding:15px 18px;border-bottom:1px solid #f2efe6;color:var(--ink2);vertical-align:top}
.ptable tr:last-child td{border-bottom:none}
.ptable tbody tr:hover{background:#fbf9f3}
.ptable .num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}
.ptable .warm{color:var(--gold);font-weight:600}
.tbl-note{font-size:13.5px;color:var(--ink3);margin-top:16px}

/* 深色信任区 */
.trust{background:var(--deep);padding:84px 0}
.trust h2{font-size:30px;color:#fff;letter-spacing:-.5px;margin-bottom:12px}
.trust-lead{font-size:16.5px;color:#a3bfae;max-width:680px;margin-bottom:44px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* 6 项指标的场合用三列，排成 3+3；四列会排成 4+2，尾巴上挂两个显得没排满 */
.trust-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.trust-grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.trust-grid.cols-3{grid-template-columns:1fr}}
.tcard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-card);padding:24px 22px}
.tcard-n{font-size:22px;color:var(--gold-l);font-weight:700;margin-bottom:8px;line-height:1.2}
.tcard h3{font-size:16.5px;color:#fff;margin-bottom:8px}
.tcard p{font-size:13.5px;color:#aac5b4;margin:0}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.badge-item{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:8px;padding:9px 15px;font-size:13px;color:#c9dccf}
/* 白底上的标签变体：深底样式在浅背景上几乎看不见 */
.badges-light .badge-item{background:var(--brand-pale);border:1px solid transparent;color:var(--brand);font-weight:500}

/* 特性三栏 */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px}
.feat h3{font-size:17px;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.feat h3::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--brand);flex:none}
.feat p{font-size:14px;color:var(--ink2);margin-bottom:0}
.feat ul{margin-top:12px;padding-left:18px;margin-bottom:0}
.feat li{font-size:13.5px;color:var(--ink3);margin-bottom:5px}

/* 服务图标网格 */
.svc{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.svc-i{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 10px;
  text-align:center;font-size:13px;color:var(--ink2)}
.svc-i b{display:block;font-size:15px;color:var(--brand);margin-bottom:4px}
/* 配套图标：用彩色 Emoji 替代单字绿字，与内容直接对应（系统 emoji 字体优先级显式声明） */
.svc-i .svc-e{display:block;font-size:20px;line-height:1.18;margin-bottom:3px;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Microsoft YaHei",sans-serif}

/* 图集 */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gal figure{margin:0;border-radius:10px;overflow:hidden;background:#eee;position:relative}
.gal img{width:100%;height:180px;object-fit:cover;transition:.3s}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-size:12px;padding:18px 10px 8px}
.gal .wide{grid-column:span 2}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.faq{padding:20px 0;border-bottom:1px solid var(--line)}
.faq h3{font-size:16px;margin-bottom:8px}
.faq p{font-size:14px;color:var(--ink2);margin:0}

/* CTA 带 */
.cta-band{position:relative;background:linear-gradient(135deg,var(--brand),var(--brand-d));padding:66px 0}
/* 深绿底上一道金红金细带，替代大面积红，维持高级感 */
.cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--stripe-gold)}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.cta-in h2{font-size:28px;color:#fff;letter-spacing:-.5px;margin-bottom:8px}
.cta-in p{font-size:16px;color:#d5e8da;margin:0}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
/* 电话用织带红：与主按钮的绿形成绿红对照，只在这一处发力 */
.cta-phone{font-weight:800;color:var(--red);letter-spacing:.04em}
.cta-phone:hover{color:var(--red-d)}
.nav-phone{font-weight:800;color:var(--red);letter-spacing:.04em}
.nav-phone:hover{border-color:var(--red);color:var(--red-d)}

/* 两栏（联系页：左侧信息 / 右侧表单） */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.two-col .lead-card{box-shadow:var(--shadow-lg);border:1px solid var(--line)}

/* ============================================================
   6. 页脚
   ============================================================ */
.site-footer{background:#052e1b;color:#9dbba8;padding:56px 0 28px;font-size:13.5px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}
.foot-col h4{font-size:14.5px;color:#fff;font-weight:600;margin-bottom:14px}
.foot-col a{display:block;color:#9dbba8;margin-bottom:8px;transition:.15s;font-size:13.5px}
.foot-col a:hover{color:#9bdcb2}
.foot-brand{font-size:16px;color:#fff;font-weight:700;margin-bottom:10px}
.foot-brand-sub{font-size:13px;color:#84a08f;margin-bottom:16px;line-height:1.7}
.foot-phone{font-size:21px;color:var(--gold-l);font-weight:700;letter-spacing:-.3px}
/* 电话是链接，需覆盖 .foot-col a 的默认灰绿 */
.foot-phone a{display:inline;color:var(--gold-l);margin-bottom:0}
.foot-phone a:hover{color:#d4b57e}
.foot-phone-sub{font-size:13px;color:#84a08f;margin-top:5px}
/* 会议室照片墙（/space/meeting/ 用，2026-11-06 加图） */
.mtg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 0}
.mtg figure{margin:0;border-radius:12px;overflow:hidden;background:#e9ecea;position:relative}
.mtg img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;
  transition:transform .45s ease}
.mtg figure:hover img{transform:scale(1.04)}
.mtg figcaption{position:absolute;left:0;right:0;bottom:0;pointer-events:none;
  background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;line-height:1.4;
  padding:24px 14px 12px}
@media(max-width:760px){.mtg{grid-template-columns:1fr;gap:12px}}

/* 分线电话：一行一条「标签 + 号码」，标签弱化、号码可点 */
.foot-phones{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.foot-phones-row{font-size:13px;line-height:1.7;color:#84a08f}
.foot-phones-k{display:inline-block;min-width:118px;color:#6f8b7a}
.foot-phones-row a{display:inline;color:#cfe3d6;margin-bottom:0;letter-spacing:.01em}
.foot-phones-row a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:#75907f}
.foot-bottom a{color:#84a08f;text-decoration:underline}

/* ============================================================
   7. 内容页（WordPress 默认内容）
   ============================================================ */
.page-hero{background:var(--deep);color:#fff;padding:64px 0}
.page-hero h1{font-size:38px;color:#fff;margin-bottom:12px}
.page-hero p{color:#aac5b4;font-size:16.5px;margin:0;max-width:760px}
.entry{font-size:16px;color:var(--ink2)}
.entry h2{font-size:26px;color:var(--ink);margin:36px 0 14px}
.entry h3{font-size:20px;color:var(--ink);margin:28px 0 12px}
.entry a{color:var(--brand);text-decoration:underline}
.entry img{border-radius:10px;margin:18px 0}
.entry blockquote{border-left:4px solid var(--brand);background:var(--bg);margin:20px 0;padding:16px 20px;border-radius:0 8px 8px 0}

/* 面包屑 */
.crumb{font-size:13.5px;color:var(--ink3);padding:18px 0}
.crumb a{color:var(--ink3)}
.crumb a:hover{color:var(--brand)}
.crumb span{margin:0 7px;color:#c5cad1}
/* 深色页头里的面包屑 */
.page-hero .crumb{color:#9dbba8;padding:0 0 16px}
.page-hero .crumb a{color:#9dbba8}
.page-hero .crumb a:hover{color:#fff}
.page-hero .crumb span{color:rgba(255,255,255,.32)}

/* ============================================================
   8. 响应式
   ============================================================ */
@media(max-width:1180px){
  /* 菜单项多，空间吃紧时先撤导航里的电话按钮（页脚仍保留），避免文字换行 */
  .nav-phone{display:none}
  .nav-menu{gap:10px;font-size:13.5px}
}
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr}
  .prod-grid,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .prod-grid.cols-3{grid-template-columns:repeat(2,1fr)}
  .prod-grid.cols-5{grid-template-columns:repeat(3,1fr)}
  .loc-grid,.feat-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .svc{grid-template-columns:repeat(3,1fr)}
  .gal{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:36px}
  .sec{padding:64px 0}
}
@media(max-width:760px){
  .nav-menu{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0;
    box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .nav-menu.open{display:flex}
  .nav-menu li{border-bottom:1px solid #f2f4f6}
  .nav-menu li:last-child{border:none}
  .nav-menu a{display:block;padding:13px 24px}
  .nav-toggle{display:block;margin-left:auto}
  .nav-cta .btn-ghost{display:none}
  .hero-in{padding-top:56px;padding-bottom:56px}
  .hero h1{font-size:31px}
  .hero-lead{font-size:16px}
  .hero-stats{gap:24px}
  .hstat-n{font-size:25px}
  .sec{padding:52px 0}
  .sec-head h2{font-size:25px}
  .sec-head p{font-size:15.5px}
  .prod-grid,.trust-grid,.svc{grid-template-columns:1fr 1fr}
  .prod-grid.cols-3{grid-template-columns:1fr 1fr}
  .prod-grid.cols-5{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr}
  .gal .wide{grid-column:span 1}
  .field-row{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .cta-in{flex-direction:column;align-items:flex-start}
  .page-hero h1{font-size:27px}
}
@media(max-width:480px){
  .prod-grid,.trust-grid,.svc{grid-template-columns:1fr}
  .prod-grid.cols-3{grid-template-columns:1fr}
  .prod-grid.cols-5{grid-template-columns:1fr}
  .wrap{padding:0 18px}
}

/* ============================================================
 * 时间线（领导关怀 / 大事记）
 * ============================================================ */
.tl{display:flex;flex-direction:column;gap:14px}
.tl-item{display:grid;grid-template-columns:108px 1fr;gap:22px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px 24px;transition:.18s}
.tl-item:hover{border-color:var(--brand);box-shadow:var(--shadow-lg)}
.tl-date{font-size:15px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums;line-height:1.4}
.tl-date span{display:block;font-size:12px;font-weight:500;color:var(--ink3);margin-top:3px}
.tl-body h3{font-size:16.5px;line-height:1.5;margin-bottom:8px}
.tl-body p{font-size:13.5px;color:var(--ink3);margin:0}
.tl-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tl-meta span{background:var(--brand-pale);color:var(--brand);border-radius:6px;
  padding:3px 10px;font-size:12px;font-weight:500}
.tl-meta span.hl{background:#fbe9ec;color:var(--red)}
@media(max-width:760px){
  .tl-item{grid-template-columns:1fr;gap:10px;padding:18px 18px}
  .tl-date{font-size:14px;display:flex;align-items:baseline;gap:8px}
  .tl-date span{margin-top:0}
}

/* ============================================================
 * 导航当前模块高亮
 * ============================================================ */
.nav-menu a{position:relative;display:inline-block}
.nav-menu a.is-active{color:var(--brand);font-weight:700}
.nav-menu a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;
  height:2px;border-radius:2px;background:var(--stripe)}
.nav-menu .is-current>a{color:var(--brand)}
.nav-cta .btn-primary.is-active{background:var(--brand-d);box-shadow:0 0 0 3px rgba(4,106,56,.16)}

/* ============================================================
 * 领导关怀 · 目录与全文
 * ============================================================ */
.toc{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.toc a{display:flex;gap:12px;align-items:baseline;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:12px 15px;font-size:13.5px;color:var(--ink2);transition:.16s}
.toc a:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}
.toc a b{color:var(--brand);font-variant-numeric:tabular-nums;flex:none;font-weight:800}

/* 领导关怀列表页：一条一篇，点进去看全文 */
.art-list{display:grid;gap:14px;max-width:980px;margin:0 auto}
.art-item{display:grid;grid-template-columns:186px minmax(0,1fr) auto;gap:22px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;color:inherit;
  transition:border-color .18s,box-shadow .18s,transform .18s}
.art-item:hover{border-color:var(--brand);box-shadow:0 12px 32px rgba(16,24,40,.09);transform:translateY(-2px)}
.art-thumb{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#efece3}
.art-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.art-item:hover .art-thumb img{transform:scale(1.05)}
.art-item-txt{min-width:0}
.art-item-date{display:block;font-size:12.5px;font-weight:800;color:var(--brand);
  font-variant-numeric:tabular-nums;letter-spacing:.05em;margin-bottom:7px}
.art-item-txt strong{display:block;font-size:17.5px;line-height:1.55;color:var(--ink);
  font-weight:800;margin-bottom:7px;transition:.18s}
.art-item:hover .art-item-txt strong{color:var(--brand)}
.art-item-lead{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;font-size:13.5px;line-height:1.72;color:var(--ink3)}
.art-go{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:800;
  color:var(--brand);white-space:nowrap;padding-right:6px}
.art-item:hover .art-go{color:var(--brand-d)}

/* 文章页：底部来源说明与上下篇 */
.art-note{margin:26px 0 6px;padding-top:16px;border-top:1px dashed var(--line);
  font-size:12.5px;line-height:1.8;color:var(--ink3)}
.art-nav{max-width:860px;margin:26px auto 0;display:grid;gap:14px}
.art-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--brand)}
.art-back:hover{color:var(--brand-d)}
.art-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.art-pn a,.art-pn>span{display:block;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:15px 18px;transition:border-color .18s,box-shadow .18s}
.art-pn a:hover{border-color:var(--brand);box-shadow:0 8px 24px rgba(16,24,40,.08)}
.art-pn small{display:block;font-size:12px;color:var(--ink3);margin-bottom:5px;letter-spacing:.04em}
.art-pn b{font-size:14.5px;line-height:1.55;color:var(--ink);font-weight:700}
.art-pn a:hover b{color:var(--brand)}
.art-pn .next{text-align:right}
.art-pn .empty{border-style:dashed;background:transparent}
@media(max-width:900px){
  .art-item{grid-template-columns:132px minmax(0,1fr);gap:14px;padding:13px}
  .art-item-txt strong{font-size:16px}
  .art-go{display:none}
}
@media(max-width:620px){
  .art-item{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:11px}
  .art-item-txt strong{font-size:15px;line-height:1.5}
  .art-item-lead{-webkit-line-clamp:1;font-size:12.5px}
  .art-item-date{font-size:11.5px;margin-bottom:5px}
  .art-pn{grid-template-columns:1fr}
  .art-pn .next{text-align:left}
  .art-pn .empty{display:none}
}

.art{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);padding:34px 40px 12px}
.art-head{position:relative;padding-left:20px;margin-bottom:26px}
.art-head::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;
  border-radius:2px;background:var(--stripe)}
.art-kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  font-size:12.5px;color:var(--ink3);margin-bottom:11px}
.art-no{background:var(--brand);color:#fff;border-radius:6px;padding:2px 8px;font-weight:700;font-size:12px}
.art-date{font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}
.art-src{color:var(--gold)}
.art-head h2{font-size:23px;line-height:1.45;margin-bottom:12px}
.art-lead{font-size:15px;color:var(--ink2);line-height:1.85;margin:0}
.art-body{font-size:15.5px;line-height:1.95;color:var(--ink2)}
.art-body p{margin:0 0 18px}
/* 文章头部：配图数量与「可放大」提示 */
.art-fig-hint{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;
  font-size:12.5px;color:var(--ink3);background:var(--gold-bg);border:1px solid #ece2cc;
  border-radius:20px;padding:5px 13px;line-height:1.5}
.art-fig-hint span{color:var(--gold);font-size:11px}
.art-fig-hint b{color:var(--brand);font-weight:800}

/* 配图：正文里单独一张居中收窄，连续多张并排，全部可点击放大 */
.art-gallery{display:grid;gap:10px;margin:24px 0 22px}
.art-gallery.cols-1{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
.art-gallery.cols-2{grid-template-columns:repeat(2,1fr)}
.art-gallery.cols-3{grid-template-columns:repeat(3,1fr)}
.art-fig{position:relative;margin:0;border-radius:10px;overflow:hidden;background:#efece3;
  cursor:zoom-in;line-height:0;box-shadow:0 2px 10px rgba(16,24,40,.07)}
.art-fig img{width:100%;height:auto;display:block;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.art-gallery.cols-2 .art-fig,
.art-gallery.cols-3 .art-fig{aspect-ratio:4/3}
.art-gallery.cols-2 .art-fig img,
.art-gallery.cols-3 .art-fig img{height:100%;object-fit:cover}
/* 组内以竖图为主：换竖版画框，人像不会被裁掉大半 */
.art-gallery.vert .art-fig{aspect-ratio:3/4}
.art-gallery.cols-2.vert,
.art-gallery.cols-3.vert{max-width:620px;margin-left:auto;margin-right:auto}
.art-fig:hover img{transform:scale(1.05)}
.art-fig-n{position:absolute;right:8px;bottom:8px;z-index:2;
  background:rgba(4,50,28,.66);color:#fff;font-size:11px;line-height:1;padding:4px 8px;
  border-radius:20px;letter-spacing:.02em;font-variant-numeric:tabular-nums;
  opacity:0;transform:translateY(4px);transition:.2s}
.art-fig:hover .art-fig-n{opacity:1;transform:translateY(0)}

/* 灯箱 */
.lbx{position:fixed;inset:0;z-index:200;background:rgba(6,18,12,.95);
  display:flex;align-items:center;justify-content:center;padding:54px 76px;
  opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s}
.lbx.open{opacity:1;visibility:visible}
.lbx img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  border-radius:6px;box-shadow:0 30px 90px rgba(0,0,0,.55);cursor:default;z-index:1}
.lbx-btn{position:absolute;z-index:3;width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;
  font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:.15s;padding:0}
.lbx-btn:hover{background:rgba(255,255,255,.26)}
.lbx-prev{left:14px;top:50%;transform:translateY(-50%)}
.lbx-next{right:14px;top:50%;transform:translateY(-50%)}
.lbx-close{right:14px;top:14px;font-size:24px}
.lbx-cap{position:absolute;z-index:3;left:0;right:0;bottom:16px;text-align:center;
  color:#c8dbcf;font-size:13px;letter-spacing:.03em}
section[id]{scroll-margin-top:88px}

@media(max-width:900px){
  .art{padding:26px 24px 6px}
  .art-head{padding-left:16px}
  .art-head h2{font-size:20px}
  .art-body{font-size:15px;line-height:1.9}
}
@media(max-width:760px){
  .toc{grid-template-columns:1fr}
  .art{padding:22px 18px 4px;border-radius:12px}
  .art-head h2{font-size:18.5px}
  .art-lead{font-size:14px}
  .art-body{font-size:14.5px;line-height:1.85}
  .nav-menu a.is-active::after{display:none}
  .nav-menu .is-current>a{font-weight:700}
}

/* ============================================================
 * 微信二维码卡片（Gucci 织带绿红）
 * ============================================================ */
.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.qr-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.qr-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:0 0 20px;overflow:hidden;text-align:center;transition:.18s}
.qr-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stripe)}
.qr-card:hover{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.qr-img{padding:22px 22px 12px}
.qr-img img{width:100%;max-width:190px;height:auto;display:block;margin:0 auto;border-radius:8px}
.qr-name{font-size:16px;font-weight:700;color:var(--ink)}
.qr-role{font-size:12.5px;color:var(--gold);margin-top:5px;letter-spacing:.02em}
.qr-phone{font-size:14.5px;font-weight:800;color:var(--red);margin-top:9px;
  font-variant-numeric:tabular-nums;letter-spacing:.02em}
.qr-phone a{color:var(--red)}
.qr-hint{font-size:12.5px;color:var(--ink3);margin-top:8px}
@media(max-width:900px){.qr-grid,.qr-grid.cols-2{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.qr-grid,.qr-grid.cols-2{grid-template-columns:1fr}}
.qr-grid.one{grid-template-columns:1fr;max-width:320px;margin-left:auto;margin-right:auto}

/* ============================================================
 * AI 助手「小知」· 右侧常驻悬浮
 * ============================================================ */
.bot{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:120;
  font-family:"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif}

/* --- 悬浮入口：贴右边框的竖排标签 --- */
.bot-fab{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:15px 10px 15px 11px;border:none;cursor:pointer;
  background:linear-gradient(180deg,var(--brand) 0%,var(--brand-d) 100%);
  color:#fff;border-radius:13px 0 0 13px;
  box-shadow:-5px 10px 28px rgba(4,50,28,.24);
  transition:padding .18s,box-shadow .18s}
.bot-fab:hover{padding-right:13px;box-shadow:-7px 12px 32px rgba(4,50,28,.3)}
.bot-fab-ico{display:flex;flex:none}
.bot-fab-txt{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.24em;
  font-size:13.5px;font-weight:700;line-height:1;text-indent:.24em}
.bot-fab-sub{margin-top:.34em;font-size:9.5px;font-weight:400;letter-spacing:.1em;opacity:.72}
/* 呼吸光环：只在未打开时显示，提示可点 */
.bot-fab::after{content:"";position:absolute;inset:-5px -5px -5px 0;border-radius:16px 0 0 16px;
  border:2px solid rgba(4,106,56,.35);pointer-events:none;animation:botPulse 2.8s ease-out infinite}
.bot.is-open .bot-fab::after{display:none}
@keyframes botPulse{
  0%{transform:scale(.96);opacity:.85}
  70%{transform:scale(1.05);opacity:0}
  100%{opacity:0}
}

/* --- 面板 --- */
.bot-panel{position:absolute;right:calc(100% + 14px);top:50%;
  transform:translateY(-50%) translateX(12px);
  width:394px;height:min(600px,calc(100vh - 48px));
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 24px 66px rgba(4,50,28,.22);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .24s ease,visibility .24s}
.bot-panel.open{opacity:1;visibility:visible;pointer-events:auto;
  transform:translateY(-50%) translateX(0)}
.bot-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--stripe);z-index:2}

/* 头部 */
.bot-head{display:flex;align-items:center;gap:11px;padding:16px 15px 13px;
  border-bottom:1px solid var(--line);background:#fbfaf6;flex:none}
.bot-avatar{width:37px;height:37px;border-radius:11px;flex:none;
  background:linear-gradient(135deg,var(--brand),var(--deep));color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.bot-id{min-width:0}
.bot-name{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.bot-live{font-size:10.5px;font-weight:400;color:var(--brand);background:var(--brand-pale);
  padding:1px 7px;border-radius:9px;letter-spacing:.02em}
.bot-sub{font-size:11.8px;color:var(--ink3);margin-top:2px}
.bot-close{margin-left:auto;flex:none;width:30px;height:30px;border:none;background:none;
  font-size:21px;line-height:1;color:var(--ink3);cursor:pointer;border-radius:8px;transition:.15s}
.bot-close:hover{background:#eee9dc;color:var(--ink)}

/* 消息区 */
.bot-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:16px 15px 6px;display:flex;flex-direction:column;gap:11px;background:#fcfcfa;
  isolation:isolate}
.bot-msg{max-width:90%;font-size:13.8px;line-height:1.74;border-radius:12px;padding:11px 14px;
  overflow-wrap:anywhere}
.bot-msg.is-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);
  color:var(--ink2);border-top-left-radius:4px}
.bot-msg.is-me{align-self:flex-end;background:var(--brand);color:#fff;border-top-right-radius:4px}
.bot-msg p{margin:0 0 7px}
.bot-msg p:last-child{margin-bottom:0}
.bot-msg b{color:var(--ink);font-weight:700}
.bot-msg a{color:var(--brand);font-weight:700;text-decoration:none}
.bot-msg a:hover{text-decoration:underline}
.bot-tel{color:var(--red)!important;font-size:15px;letter-spacing:.02em}

/* 打字动画 */
.bot-msg.typing{display:flex;gap:5px;padding:14px 15px}
.bot-msg.typing span{width:6px;height:6px;border-radius:50%;background:var(--ink3);opacity:.4;
  animation:botBlink 1.2s infinite}
.bot-msg.typing span:nth-child(2){animation-delay:.18s}
.bot-msg.typing span:nth-child(3){animation-delay:.36s}
@keyframes botBlink{
  0%,60%,100%{opacity:.22;transform:translateY(0)}
  30%{opacity:.9;transform:translateY(-3px)}
}

/* 消息内组件 */
.bot-card{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:9px 0;
  background:#fbfaf6}
.bot-card>b{display:block;font-size:13.3px;margin-bottom:6px;color:var(--ink)}
.bot-kv{display:flex;gap:8px;font-size:12.6px;color:var(--ink2);line-height:1.68;padding:1.5px 0}
.bot-kv span{flex:none;width:40px;color:var(--ink3);font-size:12.2px}
.bot-link{display:inline-block;margin-top:7px;font-size:12.6px;color:var(--brand);
  font-weight:700;text-decoration:none}
.bot-link:hover{text-decoration:underline}
.bot-note{font-size:12.1px;color:var(--ink3);line-height:1.68}

.bot-table{margin:9px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.bot-table table{width:100%;border-collapse:collapse;font-size:12.4px}
.bot-table th{background:var(--brand-pale);color:var(--brand-d);font-weight:700;
  text-align:left;padding:7px 9px;font-size:12px}
.bot-table td{padding:7px 9px;border-top:1px solid #f1efe7;color:var(--ink2)}
.bot-table td.p{color:var(--red);font-weight:700;white-space:nowrap;text-align:right}
.bot-table td.p i{font-style:normal;font-weight:400;font-size:10.5px;color:var(--ink3)}

.bot-projs{display:flex;flex-direction:column;gap:7px;margin:9px 0}
.bot-proj{display:flex;flex-direction:column;gap:1px;padding:9px 11px;border:1px solid var(--line);
  border-radius:9px;background:#fff;text-decoration:none;transition:.15s}
.bot-proj:hover{border-color:var(--brand);background:var(--brand-pale)}
.bot-proj b{font-size:12.8px;color:var(--ink);font-weight:700;line-height:1.5}
.bot-proj span{font-size:11.6px;color:var(--ink3);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.bot-proj em{font-style:normal;font-size:12.4px;color:var(--red);font-weight:700;margin-top:2px}
.bot-proj em i{font-style:normal;font-weight:400;font-size:10.5px;color:var(--ink3)}

/* 快捷入口 */
.bot-quick{display:flex;flex-wrap:wrap;gap:7px;padding:10px 15px 11px;background:#fcfcfa;
  flex:none}
.bot-quick.is-empty{display:none}
.bot-chip{font:inherit;font-size:12.3px;padding:7px 12px;border-radius:16px;
  border:1px solid var(--line);background:#fff;color:var(--ink2);cursor:pointer;
  transition:.15s;white-space:nowrap}
.bot-chip:hover{border-color:var(--brand);color:var(--brand);background:#fff}
.bot-chip.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}
.bot-chip.primary:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}

/* 输入区 */
.bot-input{display:flex;gap:8px;padding:10px 15px;border-top:1px solid var(--line);
  background:#fff;flex:none}
.bot-input input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);
  border-radius:9px;font:inherit;font-size:13.3px;color:var(--ink);outline:none;
  background:#fcfcfa;transition:.15s}
.bot-input input:focus{border-color:var(--brand);background:#fff;
  box-shadow:0 0 0 3px rgba(4,106,56,.08)}
.bot-input button{flex:none;padding:9px 17px;border:none;border-radius:9px;
  background:var(--brand);color:#fff;font:inherit;font-size:13.3px;font-weight:700;
  cursor:pointer;transition:.15s}
.bot-input button:hover{background:var(--brand-d)}
.bot-foot{padding:0 15px 11px;font-size:11.2px;color:var(--ink3);line-height:1.6;
  background:#fff;flex:none}
.bot-foot a{color:var(--brand);font-weight:700;text-decoration:none}

/* 移动端：收成右下角圆球，面板铺满屏宽 */
@media(max-width:760px){
  .bot{top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:none}
  .bot-fab{width:54px;height:54px;padding:0;border-radius:50%;
    justify-content:center;box-shadow:0 10px 26px rgba(4,50,28,.3)}
  .bot-fab:hover{padding:0}
  .bot-fab-ico svg{width:23px;height:23px}
  .bot-fab-txt{display:none}
  .bot-fab::after{inset:-4px;border-radius:50%}
  .bot-panel{position:fixed;left:10px;right:10px;top:auto;
    bottom:calc(84px + env(safe-area-inset-bottom,0px));
    width:auto;height:calc(100vh - 168px);max-height:none;
    transform:none}
  .bot-panel.open{transform:none}
  .bot-msg{max-width:96%}
}

/* 文章配图与灯箱：小屏适配 */
@media(max-width:760px){
  .art-gallery{gap:8px;margin:20px 0 18px}
  .art-gallery.cols-1{max-width:100%}
  .art-gallery.cols-2,.art-gallery.cols-3{grid-template-columns:repeat(2,1fr)}
  .art-fig-n{opacity:1;transform:none}
  .lbx{padding:58px 8px}
  .lbx-btn{width:40px;height:40px;font-size:18px}
  .lbx-prev{left:4px}
  .lbx-next{right:4px}
  .lbx-close{right:8px;top:8px}
  .lbx-cap{bottom:10px;font-size:12px}
}

/* ============================================================
 * 选型器（点击式需求收集）
 * 参考雷格斯的产品入口：一排图标，点选即可，不用打字。
 * ============================================================ */
.pk-sec{padding:64px 0;background:var(--bg)}
.pk-head{max-width:720px;margin:0 auto 26px;text-align:center}
.pk-head h2{font-size:30px;letter-spacing:-.5px;margin:10px 0 10px}
.pk-head p{font-size:15.5px;color:var(--ink2);margin:0}
.pk-head .eyebrow{justify-content:center}

.pk-sprite{position:absolute;width:0;height:0;overflow:hidden}
.pk{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:20px 26px 26px;box-shadow:0 12px 40px rgba(16,24,40,.07)}

.pk-bar{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.pk-prog{display:flex;gap:6px}
.pk-prog i{width:30px;height:4px;border-radius:3px;background:#e9e5d9;transition:.25s}
.pk-prog i.on{background:var(--brand)}
.pk-prog i.is-cur{width:44px;background:var(--brand)}
.pk-back{margin-left:auto;background:none;border:0;padding:2px 4px;cursor:pointer;
  font-family:inherit;font-size:13px;color:var(--ink3);transition:.15s}
.pk-back:hover{color:var(--brand)}

.pk-step{display:none}
.pk-step.is-on{display:block;animation:pkIn .26s ease both}
@keyframes pkIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

.pk-q{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;font-size:17px;font-weight:800;color:var(--ink)}
.pk-q b{flex:none;font-size:11.5px;font-weight:800;color:var(--brand);
  background:var(--brand-pale);border-radius:6px;padding:3px 7px;letter-spacing:.04em}
.pk-q em{margin-left:auto;font-style:normal;font-size:12px;font-weight:400;color:var(--ink3)}

.pk-grid{display:grid;gap:10px}
.pk-grid-8{grid-template-columns:repeat(8,1fr)}
.pk-grid-6{grid-template-columns:repeat(6,1fr)}
.pk-grid-5{grid-template-columns:repeat(5,1fr)}
.pk-grid-4{grid-template-columns:repeat(4,1fr)}

.pk-opt{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 6px 12px;
  background:#fbfaf6;border:1px solid var(--line);border-radius:12px;cursor:pointer;
  font-family:inherit;text-align:center;
  transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}
.pk-opt:hover{border-color:var(--brand);background:#fff;transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(16,24,40,.08)}
.pk-opt.is-sel{border-color:var(--brand);background:var(--brand-pale);
  box-shadow:0 0 0 2px rgba(4,106,56,.14)}
.pk-opt:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.pk-ico{width:26px;height:26px;stroke:var(--brand);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.pk-opt span{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35}
.pk-opt em{font-style:normal;font-size:11.5px;color:var(--ink3);line-height:1.25}

.pk-pill{padding:14px 10px;background:#fbfaf6;border:1px solid var(--line);border-radius:10px;
  font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;
  transition:border-color .16s,color .16s,background .16s,box-shadow .16s}
.pk-pill:hover{border-color:var(--brand);color:var(--brand);background:#fff;transform:translateY(-1px)}
.pk-pill.is-sel{border-color:var(--brand);background:var(--brand-pale);color:var(--brand-d);
  box-shadow:0 0 0 2px rgba(4,106,56,.14)}
.pk-pill:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* 结果 */
.pk-res-tag{display:inline-block;margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;
  color:var(--brand);background:var(--brand-pale);border-radius:20px;padding:4px 12px}
.pk-res h3{margin:0 0 6px;font-size:23px;letter-spacing:-.3px}
.pk-res-price{margin:0;font-size:27px;font-weight:800;color:var(--brand);line-height:1.2}
.pk-res-price small{margin-left:3px;font-size:13px;font-weight:700;color:var(--ink3)}
.pk-why{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.pk-why li{position:relative;padding-left:22px;font-size:14px;line-height:1.65;color:var(--ink2)}
.pk-why li::before{content:"";position:absolute;left:3px;top:7px;width:9px;height:5px;
  border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
.pk-res-note{margin:14px 0 0;padding:11px 14px;background:var(--gold-bg);border:1px solid #ece2cc;
  border-radius:10px;font-size:13px;line-height:1.65;color:#6b5320}
.pk-sum{margin:14px 0 0;font-size:12.5px;color:var(--ink3)}
.pk-res-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.pk-restart{background:none;border:1px dashed var(--line);border-radius:8px;padding:10px 16px;
  font-family:inherit;font-size:13px;color:var(--ink3);cursor:pointer;transition:.16s}
.pk-restart:hover{border-color:var(--brand);color:var(--brand)}
.pk-alt{margin:12px 0 0;font-size:13px;color:var(--ink3)}
.pk-alt a{color:var(--brand);font-weight:800}

.pk-lead{margin-top:20px;padding-top:18px;border-top:1px dashed var(--line)}
.pk-lead-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px;margin:0 0 10px;
  font-size:14px;font-weight:700;color:var(--ink)}
.pk-lead-t em{font-style:normal;font-size:12px;font-weight:400;color:var(--ink3)}
.pk-lead-f{display:flex;gap:10px;max-width:430px}
.pk-lead-f input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;
  font-family:inherit;font-size:14px;color:var(--ink);background:#fff;transition:.16s}
.pk-lead-f input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(4,106,56,.1)}
.pk-lead-alt{margin:10px 0 0;font-size:12.5px;color:var(--ink3)}
.pk-lead-alt a{color:var(--brand);font-weight:800}
.pk-lead-msg{min-height:18px;margin:8px 0 0;font-size:13px}
.pk-lead-msg.is-ok{color:var(--brand)}
.pk-lead-msg.is-err{color:var(--red)}
.pk-noscript{margin:14px 0 0;font-size:13px;color:var(--ink3)}

@media(max-width:1100px){
  .pk-grid-8{grid-template-columns:repeat(4,1fr)}
  .pk-grid-6{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .pk-sec{padding:44px 0}
  .pk-head h2{font-size:23px}
  .pk-head p{font-size:14px}
  .pk{padding:16px 16px 20px;border-radius:14px}
  .pk-q{font-size:15.5px;flex-wrap:wrap;gap:8px}
  .pk-q em{display:none}
  .pk-grid-8,.pk-grid-6,.pk-grid-5,.pk-grid-4{grid-template-columns:repeat(2,1fr)}
  .pk-opt{padding:13px 4px 11px}
  .pk-opt span{font-size:13px}
  .pk-pill{padding:12px 8px;font-size:13.5px}
  .pk-res h3{font-size:20px}
  .pk-res-price{font-size:23px}
  .pk-lead-f{flex-direction:column;max-width:none}
  .pk-lead-f .btn{width:100%}
}

/* ============================================================
   10. 无障碍与移动端转化（2026-11 体检后补）
   ============================================================ */

/* 跳转链接：平时藏在屏幕外，键盘 Tab 第一下出现 */
.skip-link{position:absolute;left:-9999px;top:0;z-index:300}
.skip-link:focus{
  left:12px;top:12px;padding:10px 16px;border-radius:8px;
  background:var(--brand);color:#fff;font-size:14px;font-weight:700;
  box-shadow:0 6px 20px rgba(0,0,0,.18);text-decoration:none
}
main:focus{outline:none}

/* 选址说明：四块事实卡片 + 三条问答 */
.note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.note-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.note-card h3{font-size:16px;margin:0 0 8px;color:var(--brand)}
.note-card p{font-size:14px;line-height:1.85;color:var(--ink2);margin:0}
.note-faq{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.note-faq h3{font-size:16px;margin:0 0 4px}
.nf-i{padding:14px 0;border-top:1px dashed var(--line)}
.nf-i:first-of-type{border-top:0;padding-top:6px}
.nf-i h4{font-size:14.5px;margin:0 0 6px;color:var(--ink)}
.nf-i p{font-size:14px;line-height:1.85;color:var(--ink2);margin:0}

/* 手机端常驻拨号条：拇指够得到的两个动作 */
.mobile-bar{display:none}
@media(max-width:760px){
  .mobile-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:95;
    display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.97);border-top:1px solid var(--line);
    box-shadow:0 -4px 18px rgba(16,24,40,.07)
  }
  .mb-call{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
    border:1px solid var(--brand);border-radius:8px;padding:9px 10px;color:var(--brand);
    font-size:14px;font-weight:700;line-height:1.15;text-decoration:none}
  .mb-call small{display:block;font-size:11px;font-weight:400;color:var(--ink3);letter-spacing:.2px}
  .mb-ico{font-size:17px}
  .mb-txt{display:flex;flex-direction:column;align-items:flex-start}
  .mb-book{flex:1;display:flex;align-items:center;justify-content:center;
    background:var(--brand);color:#fff;border-radius:8px;padding:9px 10px;
    font-size:14.5px;font-weight:700;text-decoration:none}
  /* 给拨号条让出底部空间，别盖住页脚最后一行 */
  body{padding-bottom:70px}
  /* 小知按钮上移，避开拨号条 */
  .bot{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:620px){
  .note-grid{grid-template-columns:1fr}
  .note-card{padding:18px}
}

/* ------------------------------------------------------------
 * 12. 项目页主视觉：窄屏改单列
 * 模板里是内联网格（inline style），样式表需要 !important 才盖得住，
 * 否则手机上会挤成「左边一条图 + 右边一张白卡」
 * ---------------------------------------------------------- */
@media(max-width:900px){
  .phead-grid{grid-template-columns:1fr !important;gap:16px !important}
  .phead-grid > div:first-child{min-height:270px !important}
}

/* ------------------------------------------------------------
 * 13. 项目详情页 · 横向滚动图集
 * 每个项目 6–12 张实拍，手机/桌面都可左右滑动，指针按钮同步计数
 * ---------------------------------------------------------- */
.gal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.gal-head-txt{max-width:660px}
/* 翻页按钮与计数压在图片区上：眼睛看图时手就在图旁边，不用回到标题行 */
.gal-stage{position:relative}
.gal-tools{position:absolute;inset:0;display:block;pointer-events:none}
.gt-btn{position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.93);color:var(--ink);
  font-size:20px;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  pointer-events:auto;box-shadow:0 6px 18px rgba(12,28,20,.22);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .2s,color .2s,border-color .2s,opacity .2s}
.gt-btn[data-gal="prev"]{left:12px}
.gt-btn[data-gal="next"]{right:12px}
.gt-btn:hover:not(:disabled){background:var(--deep);border-color:var(--deep);color:#fff}
.gt-btn:disabled{opacity:0;pointer-events:none;cursor:default}
.gt-count{position:absolute;right:14px;top:12px;display:inline-flex;align-items:center;gap:2px;
  padding:5px 11px;border-radius:20px;background:rgba(9,24,18,.55);color:#fff;
  font-size:12.5px;min-width:0;text-align:center;font-variant-numeric:tabular-nums;
  pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gt-count b{color:#fff;font-size:14px}
.gt-count i{margin:0 3px;font-style:normal;color:#fff;opacity:.6}

.gscroll{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding:2px 2px 12px;scrollbar-width:none;-ms-overflow-style:none}
.gscroll::-webkit-scrollbar{display:none}
.gs-card{flex:0 0 320px;margin:0;scroll-snap-align:start;border-radius:12px;overflow:hidden;
  background:#e9ecea;position:relative;cursor:zoom-in}
.gs-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 45%;
  transition:transform .45s ease}
.gs-card:hover img{transform:scale(1.045)}
.gs-card figcaption{position:absolute;left:0;right:0;bottom:0;pointer-events:none;
  background:linear-gradient(transparent,rgba(0,0,0,.74));color:#fff;font-size:13px;line-height:1.4;
  padding:24px 12px 10px}

@media(max-width:900px){
  .gal-head{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:760px){
  .gs-card{flex:0 0 82vw}
  .gt-btn{width:38px;height:38px;font-size:18px;border-width:1px}
  .gt-btn[data-gal="prev"]{left:8px}
  .gt-btn[data-gal="next"]{right:8px}
  .gt-count{right:10px;top:10px;padding:4px 9px;font-size:12px}
  .gt-count b{font-size:13px}
}

/* ============================================================
 * 14. 详情页紧凑化（2026-11-06）
 * 目标：同样内容，滚动次数减少约三分之一；同时守住可读性底线
 * —— 手机正文不小于 12.8px、行高不低于 1.65，桌面正文 14px 起。
 * 做法：收紧区块留白与卡内边距 → 卡片区改双列 → 长问答折叠 → 项目页加吸顶锚点条。
 * ============================================================ */

/* 区块留白：桌面 92 → 66 以内，标题与正文间距同步收 */
.sec{padding:clamp(46px,4.8vw,64px) 0}
.sec-head{margin-bottom:clamp(20px,2.2vw,30px)}
.sec-head h2{font-size:clamp(22px,2.1vw,27px);margin-bottom:10px}
.sec-head p{font-size:15px;line-height:1.75;max-width:720px}

/* 卡片内边距收紧（视觉密度上来，但字号不动） */
.prod{padding:20px 18px}
.prod h3{font-size:16px;margin-bottom:6px}
.prod p{min-height:0;margin-bottom:12px}
.prod-icon{width:38px;height:38px;font-size:22px;margin-bottom:11px}
.feat{padding:22px 20px}
.feat ul li{line-height:1.72}
.note-card{padding:18px}
.note-card h3{font-size:15.5px;margin-bottom:7px}
.note-card p{line-height:1.78}
.note-faq{padding:18px 22px}
.loc-body{padding:16px 18px}
.loc-img{height:180px}
.cta-band{padding:52px 0}

/* 项目详情页 · 吸顶锚点条：一次点击直达，不用一路向下滑 */
.pnav{position:sticky;top:0;z-index:60;margin-top:16px;
  background:rgba(255,255,255,.95);backdrop-filter:saturate(150%) blur(8px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pnav-in{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:9px 0}
.pnav-in::-webkit-scrollbar{display:none}
.pnav a{flex:0 0 auto;padding:6px 13px;border-radius:999px;border:1px solid var(--line);
  font-size:13.5px;font-weight:500;color:var(--ink2);text-decoration:none;background:#fff;
  transition:background .18s,color .18s,border-color .18s}
.pnav a:hover{background:var(--brand-pale);border-color:var(--brand-pale);color:var(--brand)}
.pnav a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.pnav-tel{margin-left:auto;flex:0 0 auto;font-size:13.5px;font-weight:800;color:var(--red);
  text-decoration:none;padding:6px 4px;white-space:nowrap}
section[id]{scroll-margin-top:58px}

/* 长问答折叠：默认收起摘要，点开看全文（可见内容与 FAQ 结构化数据一致） */
details.nf-i{padding:0;border-top:1px dashed var(--line)}
details.nf-i:first-of-type{border-top:0}
details.nf-i summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:13px 0;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.5}
details.nf-i summary::-webkit-details-marker{display:none}
details.nf-i summary::after{content:"＋";margin-left:auto;flex:0 0 auto;color:var(--brand);
  font-size:15px;font-weight:700;line-height:1}
details.nf-i[open] summary::after{content:"－"}
details.nf-i summary:hover{color:var(--brand)}
details.nf-i .nf-a{padding:0 0 14px}
details.nf-i .nf-a p{margin:0;font-size:14px;line-height:1.82;color:var(--ink2)}

/* 窄屏：留白再压一档，卡片一律双列（380 以下才回单列，保证不挤字） */
@media(max-width:760px){
  .sec{padding:36px 0}
  .sec-head{margin-bottom:18px}
  .sec-head h2{font-size:21px;line-height:1.34}
  .sec-head p{font-size:14px;line-height:1.7}
  .entry{margin-top:18px !important}
  .entry h2{font-size:21px;margin:24px 0 10px}
  .entry h3{font-size:17px;margin:20px 0 9px}
  .entry p{font-size:14.5px;line-height:1.8}
  .crumb{padding:12px 0}

  .prod-grid,.prod-grid.cols-3,.prod-grid.cols-5{grid-template-columns:1fr 1fr;gap:10px}
  .prod{padding:14px 13px;border-radius:11px}
  .prod h3{font-size:14.5px}
  .prod p{font-size:13px;line-height:1.68;margin-bottom:10px}
  .prod-icon{width:31px;height:31px;border-radius:8px;font-size:19px;margin-bottom:9px}
  .prod-price{font-size:16.5px}
  .prod-link{font-size:12.8px;margin-top:10px}

  .loc-grid{grid-template-columns:1fr 1fr;gap:10px}
  .loc-img{height:108px}
  .loc-body{padding:12px 12px 14px}
  .loc-body h3{font-size:14px;line-height:1.45}
  .loc-addr{font-size:12.5px;margin-bottom:6px}
  .loc-foot{padding-top:10px}
  .loc-price{font-size:15.5px}

  .svc{grid-template-columns:repeat(3,1fr);gap:8px}
  .svc-i{padding:11px 6px;font-size:12px;border-radius:8px}
  .svc-i .svc-e{font-size:19px;margin-bottom:2px}

  /* 数据条与信任区同样双列，手机上不再一条一行 */
  .trust-grid{grid-template-columns:1fr 1fr;gap:10px}
  .tcard{padding:15px 14px;border-radius:11px}
  .tcard-n{font-size:19px;margin-bottom:4px}
  .tcard p,.tcard span{font-size:12.5px;line-height:1.55}

  .note-grid{grid-template-columns:1fr 1fr;gap:10px}
  .note-card{padding:13px 13px;border-radius:10px}
  .note-card h3{font-size:14px;margin-bottom:6px}
  .note-card p{font-size:13px;line-height:1.7}
  .note-faq{padding:14px 15px;margin-top:14px}
  .note-faq h3{font-size:14.5px}
  details.nf-i summary{font-size:13.8px;padding:11px 0}
  details.nf-i .nf-a p{font-size:13.5px;line-height:1.78}

  .feat{padding:16px 15px}
  .feat h3{font-size:15.5px}
  .feat p,.feat ul li{font-size:13px;line-height:1.7}
  .cta-band{padding:38px 0}
  .cta-band h2{font-size:20px}
  .cta-band p{font-size:13.5px}

  /* 表格：给最小宽度后横向滑动，避免 6 列被挤成「一列一行」 */
  .ptable{min-width:600px;font-size:13px}
  .ptable th,.ptable td{padding:9px 9px;line-height:1.5}
  .tbl-note{font-size:12.5px;margin-top:12px}

  .gs-card{flex:0 0 70vw}

  .pnav{margin-top:12px}
  .pnav-in{padding:7px 0;gap:5px}
  .pnav a{font-size:12.8px;padding:5px 10px}
  .pnav-tel{font-size:13px}
  section[id]{scroll-margin-top:50px}
}
@media(max-width:360px){
  .prod-grid,.prod-grid.cols-3,.prod-grid.cols-5,
  .loc-grid,.note-grid,.trust-grid{grid-template-columns:1fr}
}

/* 价格卡：手机上四行信息改 2×2 栅格，省掉约 4 行高度，信息一条不少 */
@media(max-width:760px){
  /* 每格改成「小标签在上、值在下」，两列窄幅下也不会错行 */
  .pc-rows{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin:10px 0 !important;padding-top:8px !important}
  .pc-row{flex-direction:column;align-items:flex-start;gap:1px;padding:4px 0 !important;font-size:12.5px !important}
  .pc-row span{font-size:11.8px;line-height:1.35;color:var(--ink3)}
  .pc-row b{font-size:13px;line-height:1.4}
  /* 手机上底部已有常驻拨号条，锚点条里的电话隐藏，把宽度让给五个锚点 */
  .pnav-tel{display:none}
  /* 首屏主图再压一档，让价格与正文尽早出现 */
  .phead-grid > div:first-child{min-height:220px !important}
  .phead-grid > div:first-child > div:last-child{padding:18px !important;min-height:220px !important}
  .phead-grid h1{font-size:23px !important}
  .phead-grid .loc-tags{margin-bottom:8px}
}

/* 表格横向滑动提示：首列吸附 + 右侧渐隐阴影，用户一眼知道右边还有内容 */
@media(max-width:760px){
  .tbl-wrap{
    background:
      linear-gradient(to right,#fff 26%,rgba(255,255,255,0)) left center no-repeat,
      linear-gradient(to left,#fff 26%,rgba(255,255,255,0)) right center no-repeat,
      radial-gradient(farthest-side at 0 50%,rgba(4,50,28,.16),transparent) left center no-repeat,
      radial-gradient(farthest-side at 100% 50%,rgba(4,50,28,.16),transparent) right center no-repeat;
    background-size:34px 100%,34px 100%,13px 100%,13px 100%;
    background-attachment:local,local,scroll,scroll
  }
  .ptable th:first-child,.ptable td:first-child{
    position:sticky;left:0;z-index:2;background:#fff;
    box-shadow:7px 0 8px -7px rgba(0,0,0,.22)
  }
  .ptable thead th:first-child{background:var(--deep)}
  .ptable tbody tr:hover td:first-child{background:#fbf9f3}
}

/* 宽表格上方的滑动提示（由 tbl-hint.js 注入，桌面端不显示） */
.tbl-hint{font-size:12px;color:var(--ink3);margin:0 0 6px;text-align:right;letter-spacing:.2px}
@media(min-width:761px){.tbl-hint{display:none}}

/* 通栏卡片里的长段落限宽，避免一行 1200px 读起来累 */
.feat > p{max-width:940px}
@media(max-width:760px){.feat > p{max-width:none}}

/* ============================================================
 * 15. 首页首屏压缩（2026-11-06）
 * 目的：首屏照片区块高度下调约 1/4（桌面 666 → 约 500，手机 1312 → 约 910），
 *       让第二屏内容尽早露出；文案一个字没删，只压留白、字号一档与统计区排布。
 * 桌面端的实际高度由右侧预约卡决定，所以表单内边距也一并收紧。
 * 限定 .hero 作用域，不影响其他页面的表单与 section。
 * ============================================================ */
.hero-in{padding-top:46px;padding-bottom:40px}
/* 左栏文案与右侧预约卡垂直居中，避免一边高一边矮、重心偏上 */
.hero-grid{grid-template-columns:1fr 380px;gap:48px;align-items:center}
.hero-badge{padding:5px 12px;font-size:12.5px;margin-bottom:10px}
.hero h1{font-size:37px;line-height:1.22;margin-bottom:12px}
.hero-lead{font-size:16px;line-height:1.66;max-width:560px;margin-bottom:18px}
.hero-btns{margin-bottom:18px}
.hero-stats{padding-top:14px;gap:26px}
.hstat-n{font-size:26px}
.hstat-l{font-size:12.5px;margin-top:2px}
/* 预约卡（桌面端决定首屏高度的那一列）
   2026-11-08 用户最终定为「5% + blur(3px)」：白底几乎看不见，磨砂只留极轻一层，
   接近一块干净玻璃。只改 background / backdrop-filter，绝不用 opacity —— 否则标题、
   输入框、绿色提交按钮会一起变虚。输入框/按钮仍是纯白与品牌绿，填写可读性不变。
   作用域锁死 .hero，其它页面 .two-col .lead-card 保持纯白。
   ⚠️ 毛玻璃半径越小「磨砂感」越弱，但照片细节会更清楚地穿到文字后面；
   白字的 text-shadow 是唯一托底手段，别再往下砍模糊半径而不加投影。 */
.hero .lead-card{
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  padding:20px 22px
}
/* 卡片内文字在 10% 几乎透明的底上统一改白（2026-11-08 用户定）：
   副标题、字段标签、底部说明、以及标题「预约看房」全部白色。
   白字压在实拍照片上需要一个极轻的投影托底，否则遇到浅色照片会糊掉；
   投影只给文字，不影响卡片透明度、输入框与绿色按钮。 */
.hero .lead-card h3{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.hero .lead-card>p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.hero .lead-card .field label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.hero .lead-card .lead-note{color:rgba(255,255,255,.92);text-shadow:0 1px 3px rgba(0,0,0,.45)}
.hero .lead-card h3{font-size:17.5px;margin-bottom:5px}
.hero .lead-card>p{margin-bottom:10px}
.hero .field{margin-bottom:11px}
.hero .field label{margin-bottom:4px}
.hero .field input,.hero .field select{padding:10px 12px}
.hero .btn-lg{padding:11px 26px;font-size:15.5px}
.hero .lead-note{margin-top:8px}

@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero h1{font-size:34px}
}
/* 900–1080：原本会掉成单列、首屏一下拉到 900px 高；这里保住两列，只收窄表单。
   必须写在 1080 块之后，同特异性下靠源顺序取胜。 */
@media(min-width:901px) and (max-width:1080px){
  .hero-grid{grid-template-columns:1fr 340px;gap:32px}
  .hero h1{font-size:32px}
  .hero-lead{font-size:15px}
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .hero-in{padding-top:30px;padding-bottom:32px}
  .hero-badge{font-size:12px;padding:4px 11px;margin-bottom:12px}
  .hero h1{font-size:28px;line-height:1.26;margin-bottom:12px}
  .hero-lead{font-size:15px;line-height:1.7;margin-bottom:16px}
  .hero-btns{margin-bottom:20px;gap:10px}
  /* 统计四项改 2×2，比一行挤四项更省高度、数字也更好读 */
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding-top:14px}
  .hstat-n{font-size:22px}
  .hstat-l{font-size:12px}
  /* 表单：两列并排 + 收紧字段，比单列六行省约 150px，手机上填起来也更快 */
  .hero .lead-card{padding:16px 15px;border-radius:12px}
  .hero .lead-card h3{font-size:17px;margin-bottom:4px}
  .hero .lead-card>p{font-size:12.5px;margin-bottom:12px}
  .hero .field{margin-bottom:9px}
  .hero .field label{font-size:12px;margin-bottom:4px}
  .hero .field input,.hero .field select{padding:9px 11px;font-size:13.5px}
  .hero .field-row{grid-template-columns:1fr 1fr;gap:9px}
  .hero .btn-lg{padding:11px 20px;font-size:15px}
  .hero .lead-note{margin-top:9px;font-size:11.5px}
}

/* 「你刚选的是…」提示条（由 lead-prefill.js 注入，只在带 pick 参数时出现） */
.pick-tip{display:flex;flex-direction:column;gap:2px;background:var(--brand-pale,#e8f2ec);
  border:1px solid rgba(15,107,92,.18);border-radius:10px;padding:9px 12px;margin:0 0 14px}
.pick-tip b{font-size:11.5px;font-weight:600;color:var(--brand,#0f6b5c);letter-spacing:.2px}
.pick-tip span{font-size:13px;line-height:1.55;color:var(--ink,#1b2b24)}

/* 首页最底部的内部管理入口：克制、不抢注意力，但员工一眼能找到 */
/* 内部管理入口：挂在页脚电话下方，字号与联系方式同级，不抢主视觉 */
.foot-staff{display:inline-flex;align-items:center;margin-top:16px;font-size:13px;
  color:#8fae9b;text-decoration:none;transition:color .18s}
.foot-staff:hover{color:#e6f0e9}
.foot-staff-i{display:inline-flex;width:19px;height:19px;border-radius:6px;background:rgba(255,255,255,.1);
  color:#cfe0d6;font-size:12.5px;line-height:1;align-items:center;justify-content:center;margin-right:8px}
.foot-staff-t{font-weight:600}
.foot-staff em{font-style:normal;font-size:12px;color:#6f8b7a;margin-left:9px}

/* 网格子项默认 min-width:auto —— 内部带 min-width:600px 的宽表格会把整列撑破手机屏
   （/contact/ 实测 390 视口溢出 230px）。给子项 min-width:0，让 .tbl-wrap 自己去横滑。 */
.two-col > *{min-width:0}
.tbl-wrap{max-width:100%;overflow-x:auto}

/* ============================================================
   团队过往操盘案例（项目案例页 /locations/ 新增区块 · 2026-11-07）
   与上方「在运营项目」卡片刻意做得不一样：那边有图、能点、带价格，
   这边只有城市 + 项目名 + 类型 + 角色，让访客一眼分清「过去做过」和「现在能租」。
   ============================================================ */
.past-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.past-stat{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--r-card);padding:20px 22px}
.past-n{font-size:30px;font-weight:700;color:var(--brand);line-height:1.1;
  font-variant-numeric:tabular-nums;letter-spacing:-1px}
.past-n small{font-size:14px;font-weight:600;letter-spacing:0;margin-left:2px}
.past-l{font-size:13px;color:var(--ink3);margin-top:7px;line-height:1.6}

.past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* 少于 3 张时的收敛版式：一张卡不要孤零零占住 1/3 宽、右边空一大片 */
.past-grid.is-one{grid-template-columns:1fr;max-width:560px}
.past-grid.is-two{grid-template-columns:repeat(2,1fr);max-width:780px}
.past{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:22px 22px 20px;transition:.18s;display:flex;flex-direction:column}
.past:hover{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.past-top{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.past-city{font-size:12.5px;font-weight:700;color:#fff;background:var(--brand);
  border-radius:var(--r-tag);padding:2px 9px;line-height:1.6}
.past-type{font-size:12px;color:var(--gold);background:var(--gold-bg);
  border-radius:var(--r-tag);padding:2px 9px;line-height:1.6}
.past h3{font-size:18px;margin-bottom:8px}
.past-meta{font-size:13px;color:var(--gold);margin-bottom:6px}
/* 角色贴底：卡片描述长短不一时，底部那行仍然对齐 */
.past-role{font-size:13.5px;color:var(--ink3);margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.past-note{font-size:13px;color:var(--ink3);margin:22px 0 0}

@media(max-width:900px){
  .past-stats{grid-template-columns:1fr;gap:12px}
  .past-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .past-grid{grid-template-columns:1fr}
  .past-n{font-size:26px}
  .past-stat{padding:16px 18px}
}

/* ===== 企业社区：带图大卡（/about/ 六卡） ===== */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ev-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}
.ev-card:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ev-photo{position:relative;overflow:hidden;background:var(--brand-pale);aspect-ratio:16/10}
.ev-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ev-card:hover .ev-photo img{transform:scale(1.045)}
.ev-body{padding:20px 22px 24px;display:flex;flex-direction:column}
.ev-body .prod-icon{width:38px;height:38px;border-radius:9px;font-size:22px;margin-bottom:12px}
.ev-body h3{font-size:18.5px;line-height:1.35;margin:0 0 8px}
.ev-body p{font-size:13.5px;line-height:1.68;color:var(--ink3);margin:0}
@media (max-width:1000px){.ev-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media (max-width:620px){.ev-grid{grid-template-columns:1fr}
  .ev-photo{aspect-ratio:16/9}
  .ev-body{padding:16px 18px 20px}}

/* ===== 720° 全景看房入口（项目详情页，与图集同区块） ===== */
.vr-band{display:flex;align-items:center;gap:20px;margin:0 0 26px;padding:18px 24px;
  background:linear-gradient(100deg,var(--deep),var(--brand));
  border-radius:var(--r-card);color:#fff;text-decoration:none;
  transition:transform .18s,box-shadow .18s}
.vr-band:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff;text-decoration:none}
.vr-ico{flex:0 0 auto;width:50px;height:50px;border:1.5px solid rgba(255,255,255,.42);
  border-radius:50%;display:grid;place-items:center;font-size:27px;line-height:1;color:var(--gold-l)}
.vr-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.vr-txt b{font-size:16.5px;font-weight:600;line-height:1.4}
.vr-txt i{font-style:normal;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.78)}
.vr-go{flex:0 0 auto;font-size:14px;font-weight:600;padding:11px 20px;
  background:var(--gold-l);color:#fff;border-radius:var(--r-btn);white-space:nowrap}
.vr-go em{font-style:normal;margin-left:5px}
@media (max-width:620px){
  .vr-band{gap:12px;padding:15px 16px;flex-wrap:wrap}
  .vr-ico{width:40px;height:40px;font-size:22px;align-self:flex-start;margin-top:2px}
  .vr-txt b{font-size:14.5px}
  .vr-txt i{font-size:12px}
  .vr-go{width:100%;text-align:center;margin-top:4px;padding:10px}
}

/* 竖幅项目照片：同图模糊铺底 + 完整 contain 显示，不裁主体（柏宁现场实拍） */
.gs-card.gs-tall{position:relative;background:var(--deep)}
.gs-card.gs-tall::before{content:"";position:absolute;inset:0;
  background-image:var(--gimg);background-size:cover;background-position:center;
  filter:blur(18px) brightness(.62);transform:scale(1.15)}
.gs-card.gs-tall img{position:relative;z-index:1;object-fit:contain;background:transparent;padding:0}
.gs-card.gs-tall figcaption{z-index:2}

/* ============================================================
 * 首页大图轮播（2026-11-08）：7 张淡入淡出，5 秒一张 + 底部圆点
 * 图片不透明度由 .42 提到 .60（深绿遮罩 58% → 40%），更真实地展示空间照片。
 * 实测 .70 / .82 照片更通透，但左侧白色正文小字在亮色照片上明显变淡，故停在此档。
 * 圆点放在 .hero-in 文档流内，避免与统计区/留资卡重叠。
 * ============================================================ */
.hero-slides{position:absolute;inset:0;z-index:0;background:var(--deep)}
.hero-img.is-on{opacity:.60}
.hero-in{z-index:2}
/* 7 张里有白色天花、玻璃幕墙等亮部（如洽谈区 B2），遮罩调淡后白字对比下降。
   给首屏文字加一层极淡投影保可读性：不改遮罩浓度、不改照片、不加新图层。 */
.hero h1,.hero-lead,.hero-stats,.hero-badge{text-shadow:0 1px 3px rgba(0,0,0,.40)}
.hero-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}
.hero-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;
  background:none;border-radius:50%;cursor:pointer}
.hero-dot span{display:block;width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.42);
  transition:background .25s,width .25s,height .25s,box-shadow .25s}
.hero-dot.is-on span{width:9px;height:9px;background:var(--gold-l);
  box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.hero-dot:focus-visible{outline:2px solid var(--gold-l);outline-offset:1px}
/* 手机端：底部有固定 .mobile-bar（约 66px 高），圆点若留在 hero 底部会被压住；
   改放首屏右上角，绝对定位不占文档流，首屏高度不受影响。 */
@media(max-width:760px){
  .hero-dots{position:absolute;top:12px;right:12px;left:auto;bottom:auto;
    z-index:3;margin:0;gap:4px;padding:4px 7px;border-radius:20px;
    background:rgba(8,38,32,.42)}
  .hero-dot{width:18px;height:18px}
  .hero-dot span{width:6px;height:6px}
  .hero-dot.is-on span{width:8px;height:8px}
}
@media (prefers-reduced-motion:reduce){
  .hero-img{transition:none}
  .hero-dot span{transition:none}
}

/* ============================================================
 * 办公空间页末尾「还有问题」收口区块（2026-11-07）
 * 默认 .faq-grid 是 2 列，3 条问答会出现 2+1 的右侧空白；
 * 这里只给 #space-faq 改成桌面 3 列，手机仍回落到单列。
 * ============================================================ */
#space-faq .faq-grid{grid-template-columns:repeat(3,1fr);gap:0 32px}
@media(max-width:760px){#space-faq .faq-grid{grid-template-columns:1fr}}
