/* ===== 省院图审 品牌主题 V1.0 · 工程蓝/深蓝 + 暖金 ===== */
:root{
  --blue-dark:#0a2a43;
  --blue:#1565c0;
  --blue-light:#e8f0f8;
  --blue-soft:#f2f6fb;
  --gold:#c9962f;
  --gold-soft:#f6ecd6;
  --gold-muted:#c6a55c;
  --ink:#16242f;
  --muted:#5f7488;
  --line:#e2e9f1;
  --white:#ffffff;
  --shadow:0 6px 24px rgba(10,42,67,.08);
  --radius:14px;
  /* 2026-09-11 灯哥拍板 A 方案：宽屏铺到 1560（1920 屏两侧各余约 180，保留呼吸感），
     窄屏自动收缩到 94vw，手机端不受影响（已有 680/980 断点）。
     ⚠ 仅放开「容器/卡片/导航/页脚」；正文阅读行长另有独立限宽，不可跟随：
       .article-wrap 820px（新闻正文，中文 60~80 字/行为舒适区）
       .hero-text / .hero p 640px（首页大标题与导语，行长过长会串行） */
  --maxw:min(1560px,94vw);
  --font: "PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans CN",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --green:#1e5483;
  --green-dark:#14395e;
  /* 页脚右列统一行间距：服务理念↔slogan 与 slogan↔公司全称两道间距同值 */
  --foot-line-gap:14px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font);color:var(--ink);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.text-muted{color:var(--muted);}
.gold{color:var(--gold);}
/* 联系页·机构全称模块：slogan 间距 + 服务理念描边胶囊 */
.contact-slogan-gap{display:inline-block;width:0.9em;}
.contact-ethos{
  display:inline-block;
  margin:8px 0 0;
  padding:7px 18px;
  border:1px solid rgba(201,150,47,.4);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,var(--gold-soft));
  color:var(--gold);
  font-weight:700;
  font-size:17px;
  letter-spacing:.5px;
}
/* 同上：服务理念为“·”分段，左右各一个 gap，取半宽使两侧对称（0.8 → 0.4em） */
.contact-ethos-gap{display:inline-block;width:0.4em;}
/* 机构全称卡片：上方三行（标题/全称/slogan）向右补 19px，与服务理念胶囊内的文字左对齐。
   19px = 胶囊 border-left 1px + padding-left 18px。
   ⚠ 只作用于 .contact-org（下方二维码卡片同为 .contact-feature 但是居中排版，不能连带偏移） */
.contact-org > h3,
.contact-org > p:not(.contact-ethos){padding-left:19px;}
/* slogan「审查不是终点 是安全和安心的起点」加字距加强，使其总宽度与上下两行基本一致：
   实测 公司全称 255px / slogan 238.5px / 胶囊文字 246.6px → 加 0.05em（约 11px）后 slogan≈250px，
   正好落在上下两行中间。⚠ 数值受限于每行必须是单行：再大会在窄屏换行。 */
.contact-org > p.gold{letter-spacing:0.05em;}
/* 联系页·地址模块：地图导航胶囊链接 */
.map-link{
  display:inline-block;
  padding:6px 14px;
  border:1px solid rgba(21,101,192,.35);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,var(--blue-soft));
  color:var(--blue);
  font-weight:600;
  font-size:14px;
  transition:.2s;
}
.map-link:hover{color:var(--blue-dark);border-color:var(--blue);}

/* ===== 按钮 ===== */
.btn{display:inline-block;padding:11px 26px;border-radius:999px;font-weight:600;font-size:15px;border:none;cursor:pointer;transition:.2s;}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue-dark);color:#fff;}
.btn-ghost{background:transparent;color:var(--blue-dark);border:1.5px solid var(--blue);}
.btn-ghost:hover{background:var(--blue-light);}
.btn-danger{background:#fff;color:#c0392b;border:1.5px solid #e0a39c;}
.btn-danger:hover{background:#c0392b;color:#fff;}

/* ===== 导航 ===== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-logo{display:inline-block;height:40px;width:auto;aspect-ratio:52/72;background-color:var(--blue-dark);-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;}
.brand .name{font-weight:800;font-size:23px;color:var(--blue-dark);line-height:1.2;max-width:480px;}
.brand .name b{font-size:23px;font-weight:800;}
.brand .en{font-size:11px;letter-spacing:2px;color:var(--muted);}
.nav-links{display:flex;gap:30px;align-items:center;}
.nav-links a{color:var(--ink);font-weight:600;font-size:15px;position:relative;padding:6px 0;}
.nav-links a.active,.nav-links a:hover{color:var(--blue);}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;background:var(--blue);}
.nav-toggle{display:none;font-size:24px;background:none;border:none;cursor:pointer;color:var(--blue-dark);}

/* ===== 导航下拉二级菜单 ===== */
.has-sub{position:relative;}
.has-sub > a::after{content:"▾";font-size:10px;margin-left:5px;vertical-align:middle;color:var(--muted);}
.has-sub .submenu{position:absolute;top:100%;left:0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px 0;display:none;flex-direction:column;z-index:60;}
.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.open .submenu{display:flex;}
.has-sub .submenu a{display:block;padding:8px 16px;font-weight:500;font-size:14px;white-space:nowrap;color:var(--ink);transition:background .15s,color .15s;}
.has-sub .submenu a::after{display:none;}
.has-sub .submenu a:hover{background:#1e5483;color:#fff;}

/* ===== Hero ===== */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--blue-dark);}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 62.5%;opacity:.9;filter:brightness(1.5);}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,42,67,.88),rgba(10,42,67,.68));}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:96px 20px 110px;display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:stretch;text-align:left;}
.hero-text{max-width:640px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.hero-photo{position:relative;height:100%;width:100%;max-width:460px;margin-left:auto;}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;border-radius:18px;box-shadow:0 22px 55px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2);display:block;object-fit:cover;object-position:70% 72%;clip-path:inset(0 0 0 20% round 18px);}
.hero .kicker{display:inline-block;background:rgba(255,255,255,.12);color:#dcebf7;padding:7px 18px;border-radius:999px;font-size:17px;letter-spacing:0.5px;margin-bottom:22px;}
.hero .kicker b{font-weight:800;}
.hero h1{font-size:37px;line-height:1.25;margin:0 0 18px;font-weight:800;letter-spacing:1px;white-space:nowrap;}
.hero h1 .slogan-gap{display:inline-block;width:0.79em;}
.hero .slogan{font-size:24px;color:var(--gold-soft);font-weight:700;margin-bottom:14px;}
.hero .ethos{display:inline-block;margin-top:6px;font-size:22px;font-weight:700;color:#cfe6fa;border:1px solid rgba(255,255,255,.35);padding:6px 16px;border-radius:999px;}
/* 间隔说明：gapspan 把每处空白换成一个 span，圆点左右各一个，故宽度取“半个间隔”，
   相邻两个相加即还原设计间距（0.9×0.45em），保证左右完全对称。 */
.hero .ethos .ethos-gap{display:inline-block;width:0.45em;}
.hero p{font-size:17px;color:#dcebf7;max-width:640px;}
.hero .actions{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;}
.hero .actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6);}
.hero .actions .btn-ghost:hover{background:rgba(255,255,255,.12);}

/* ===== 区块 ===== */
.section{padding:78px 0;}
.section.alt{background:var(--blue-soft);}
.section-title{font-size:32px;font-weight:800;color:var(--blue-dark);margin:0 0 10px;letter-spacing:1px;}
.section-sub{color:var(--muted);margin:0 0 44px;font-size:16px;}
.center{text-align:center;}
.center .section-sub{margin-left:auto;margin-right:auto;}

/* ===== 卡片网格 ===== */
.grid{display:grid;gap:24px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:.2s;}
.card:hover{transform:translateY(-4px);border-color:var(--blue);}
.card .icon{width:58px;height:58px;border-radius:16px;background:#1e5483;color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;margin-bottom:18px;box-shadow:0 8px 18px rgba(30,84,131,.28);}
.card h3{margin:0 0 10px;font-size:19px;color:var(--blue-dark);}
.card p{margin:0;color:var(--muted);font-size:15px;}
.pillar-num{font-size:13px;font-weight:700;letter-spacing:2px;color:var(--gold);}
/* 三大支柱卡：复用【实力底蕴】浅蓝渐变语言，统一全站蓝调面板、提升质感（不抢金/绿层级） */
.pillar-card{background:linear-gradient(180deg,#d6e6f6,#fff 88%);border-color:#c2d8ec;box-shadow:0 6px 20px rgba(30,84,131,.10);}
.pillar-card:hover{border-color:var(--blue);box-shadow:0 10px 26px rgba(30,84,131,.14);}

/* 首页·业务范畴：轻量清单卡（与【三大支柱】浅蓝大面板差异化——白底细边 + 浅蓝圆底 icon，网格更密，语义上"清单感"而非"叙事面板"） */
/* 首页·业务范畴：浅绿渐变面板（绿色=服务语义，与【服务优势】同源；固定一行4个，窄屏降列） */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.svc-card{background:linear-gradient(180deg,#e6f3ec,#fff 86%);border:1px solid #cfe3d6;box-shadow:0 4px 16px rgba(46,165,106,.08);padding:22px;}
.svc-card:hover{border-color:#2ea56a;box-shadow:0 8px 22px rgba(46,165,106,.14);transform:translateY(-3px);}
.svc-card .icon{width:52px;height:52px;border-radius:50%;background:#2ea56a;color:#fff;font-size:28px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(46,165,106,.30);}
.svc-card h3{font-size:17px;margin:0 0 6px;color:#1f7a4d;}
.svc-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.6;}

/* 联系页·右侧名片锚点卡（比标准浅蓝面板略深，作为视觉重心突出） */
.contact-feature{background:linear-gradient(180deg,#cfe2f4,#f3f8fd 82%);border-color:#c2d8ec;}

/* ===== 文章列表 ===== */
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.2s;display:flex;flex-direction:column;}
.news-card:hover{transform:translateY(-4px);}
.news-card .cover{height:188px;background:var(--blue-light) center/cover no-repeat;}
.news-card .body{padding:20px;flex:1;display:flex;flex-direction:column;}
.news-card .tag{display:inline-block;background:var(--blue-light);color:var(--blue-dark);font-size:12px;padding:3px 11px;border-radius:999px;font-weight:600;margin-bottom:10px;width:fit-content;}
.news-card h3{margin:0 0 8px;font-size:18px;line-height:1.4;color:var(--ink);}
.news-card .summary{color:var(--muted);font-size:14px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.news-card .meta{margin-top:14px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;}

/* ===== 文章详情 ===== */
.article-wrap{max-width:820px;margin:0 auto;padding:48px 20px 80px;}
.article-wrap .tag{display:inline-block;background:var(--blue-light);color:var(--blue-dark);font-size:13px;padding:4px 14px;border-radius:999px;font-weight:600;}
.article-wrap h1{font-size:34px;line-height:1.35;margin:16px 0 12px;color:var(--blue-dark);}
.article-wrap .meta{color:var(--muted);font-size:14px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.article-content{font-size:17px;line-height:1.95;color:var(--ink);}
.article-content img{max-width:100%;border-radius:10px;margin:20px 0;}
.article-content h2{color:var(--blue-dark);margin-top:32px;font-size:24px;}
.article-content h3{color:var(--blue-dark);margin-top:24px;font-size:20px;}
.article-content blockquote{margin:20px 0;padding:14px 20px;background:var(--blue-soft);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;color:var(--ink);}
.article-content a{color:var(--blue);text-decoration:underline;}

/* ===== 页脚 ===== */
.site-footer{background:linear-gradient(100deg,#0a2a43,#1e5483);color:#cfe0ef;padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:207px 1.4fr 1fr 1fr auto;gap:36px;}
/* 照片区与右列文字区【垂直居中】。
   ⚠ 必须按【肉眼可见】照片居中，不能按布局盒子：img 有 clip-path:inset(17.5% 0 5% 12%)，
   顶部裁掉 47.1px、底部只裁 13.5px → 可见区整体比布局盒子低 16.9px（表现为右高左低）。
   布局盒子需再上移 16.9px：可见顶 = logo 顶(473.5)≈473.4、可见底 = 公司名底(680.3)≈680.4。 */
.foot-photo{margin-top:-26px;align-self:start;}
.foot-photo img{width:100%;max-width:207px;height:269px;border-radius:12px;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 30px rgba(0,0,0,.35);object-fit:cover;object-position:58% 82%;clip-path:inset(17.5% 0 5% 12% round 12px);}
.site-footer h4{color:#fff;font-size:16px;margin:0 0 16px;}
.site-footer a{color:#cfe0ef;}
.site-footer a:hover{color:#fff;}
.site-footer .foot-logo{height:60px;width:auto;object-fit:contain;}
.site-footer .foot-brand{display:flex;align-items:flex-start;gap:14px;margin-top:22px;margin-bottom:8px;}
.site-footer .foot-brand-text{display:flex;flex-direction:column;}
.site-footer .foot-name{font-weight:800;color:#fff;font-size:44px;line-height:1.15;letter-spacing:2px;}
/* 略下移以让右列文字块底边与左列照片底边齐平（原 28px 时照片底比公司名底沉 17px） */
/* 与服务理念↔slogan 那道间距同值（复用同一变量，两处永远一致）
   ⚠ 改本值会同时改变上面那道间距；右列变矮后需同步调 .foot-photo 的 margin-top 保持底边齐平 */
.site-footer .foot-foot{margin-top:var(--foot-line-gap);}
.site-footer .slogan{color:var(--gold-soft);font-weight:700;font-size:18px;margin:0;letter-spacing:0.5px;}  /* 原 8px 0 4px → 0，行间距交回 --foot-line-gap 统一控制 */
.site-footer .slogan .foot-slogan-gap{display:inline-block;width:0.8em;}
/* 服务理念：独立成行并位于 logo 下方，左边缘与 logo 左对齐（已移出 .foot-brand 的 flex 流） */
.site-footer .foot-ethos{color:#cfe0ef;font-size:14px;font-weight:600;margin:10px 0 0;letter-spacing:0.5px;}
.site-footer .foot-ethos-gap{display:inline-block;width:0.4em;}  /* 相邻两个相加 = 0.8em，左右对称 */
.site-footer .foot-foot p{margin:var(--foot-line-gap) 0 0;}  /* 公司全称：上行留白与 --foot-line-gap 一致（覆盖浏览器默认 1em） */
.site-footer ul{list-style:none;padding:0;margin:0;line-height:2.1;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;font-size:13px;color:#9fc2e0;text-align:center;line-height:1.9;}
.footer-bottom .disclaimer{display:block;margin-top:6px;color:#7fa8cf;font-size:12px;}
.qr{background:#fff;padding:10px;border-radius:10px;width:128px;}
.qr img{width:100%;border-radius:4px;}
.footer-grid>div:last-child{text-align:center;}
.footer-grid>div:last-child .qr{margin:0 auto;}

/* ===== 友情链接条（页脚上方） ===== */
.friend-bar{background:#07223a;border-top:1px solid rgba(255,255,255,.06);}
.friend-bar-inner{display:flex;align-items:center;gap:18px;padding:15px 20px;flex-wrap:wrap;}
.friend-bar-title{color:#fff;font-weight:800;font-size:15px;white-space:nowrap;padding-right:18px;border-right:1px solid rgba(255,255,255,.18);}
.friend-bar-links{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;}
.friend-bar-links a{display:inline-flex;align-items:center;gap:7px;color:#cfe0ef;font-size:14px;white-space:nowrap;transition:color .15s;}
.friend-bar-links a:hover{color:#fff;}
.friend-bar-links a .fl-logo{height:20px;width:auto;max-width:64px;object-fit:contain;display:inline-block;border-radius:3px;background:rgba(255,255,255,.92);padding:2px;}
.friend-bar-links a:hover .fl-logo{background:#fff;}

/* ===== 通用页头 ===== */
.page-hero{background:var(--blue-dark);color:#fff;padding:64px 0;}
.page-hero h1{font-size:36px;margin:0 0 8px;font-weight:800;}
.page-hero p{font-size:21px;font-weight:600;letter-spacing:.5px;color:#dbe8f3;margin:0;}

/* ===== 资质与优势 · 分层板块（提质感 / 去杂乱 / 统一面板） ===== */
/* 统一面板框架：圆角容器 + 内嵌白卡；资质金、其余浅蓝，分级不割裂 */
.creds-group{
  margin-top:34px;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:24px 26px 28px;box-shadow:0 2px 14px rgba(10,42,67,.04);
}
.creds-group:first-of-type{margin-top:22px;}
/* 小标题：对称「金线 — 文字 — 金线」居中 eyebrow，端庄对称 */
.creds-group-title{
  display:flex;align-items:center;justify-content:center;gap:16px;
  font-size:15px;font-weight:700;color:var(--blue-dark);
  letter-spacing:4px;margin:0 0 22px;text-align:center;
}
.creds-group-title::before,.creds-group-title::after{
  content:"";flex:0 1 80px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--gold));
}
.creds-group-title::after{background:linear-gradient(90deg,var(--gold),transparent);}
/* 资质与认证：金色 feature 面板，突出最重要的资质/认证 */
.creds-group--qual{
  background:linear-gradient(180deg,var(--gold-soft),#fff 70%);
  border-color:#ecd8a8;box-shadow:0 6px 22px rgba(201,150,47,.10);
}
.creds-group--qual .creds-group-title::before,
.creds-group--qual .creds-group-title::after{
  background:linear-gradient(90deg,transparent,#c9962f);
}
.creds-group--qual .creds-group-title::after{background:linear-gradient(90deg,#c9962f,transparent);}
/* 实力底蕴 / 服务优势：浅蓝面板，同框架、弱分级（渐变底质感对齐 qual） */
.creds-group--soft{
  background:linear-gradient(180deg,#d6e6f6,#fff 88%);
  border-color:#c2d8ec;box-shadow:0 6px 20px rgba(30,84,131,.10);
}
.creds-group--soft .creds-group-title::before,
.creds-group--soft .creds-group-title::after{
  background:linear-gradient(90deg,transparent,var(--blue));
}
.creds-group--soft .creds-group-title::after{background:linear-gradient(90deg,var(--blue),transparent);}
/* 服务优势：浅绿面板（点缀级，低饱和不抢金/蓝），形成 金→蓝→绿 三色层级 */
.creds-group--adv{
  background:linear-gradient(180deg,#e6f3ec,#fff 86%);
  border-color:#cfe3d6;box-shadow:0 5px 18px rgba(46,165,106,.08);
}
.creds-group--adv .creds-group-title::before,
.creds-group--adv .creds-group-title::after{
  background:linear-gradient(90deg,transparent,#2ea56a);
}
.creds-group--adv .creds-group-title::after{background:linear-gradient(90deg,#2ea56a,transparent);}
/* 卡片统一网格，等宽不参差 */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:2px;}
.cred{
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:22px;min-width:0;text-align:left;position:relative;
  box-shadow:0 2px 10px rgba(10,42,67,.05);transition:.22s;
}
.cred:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 26px rgba(10,42,67,.10);}
.cred b{display:block;color:var(--blue-dark);font-size:16px;font-weight:700;line-height:1.45;margin-bottom:7px;}
.cred span{display:block;color:var(--muted);font-size:14px;line-height:1.65;}
/* 资质与认证卡片：金边高亮，与其余板块区分 */
.creds-qual{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.cred-qual{
  background:#fff;border:1px solid #ecd8a8;border-radius:12px;
  padding:22px;box-shadow:0 3px 12px rgba(201,150,47,.10);transition:.22s;
}
.cred-qual:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 28px rgba(201,150,47,.18);}
.cred-qual b{font-size:17px;font-weight:800;}
@media(max-width:680px){
  .creds-qual{grid-template-columns:1fr;}
}

/* ===== 团队人物卡 ===== */
.team-card{background:#fff;border:1px solid #cdddee;border-radius:var(--radius);padding:28px 16px 20px;box-shadow:var(--shadow);text-align:center;transition:.2s;display:block;text-decoration:none;color:inherit;cursor:pointer;}
.team-card:hover{transform:translateY(-4px);border-color:var(--blue);}
.team-avatar{width:100%;aspect-ratio:1/1;border-radius:22px;margin:0 auto 18px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:68px;font-weight:800;box-shadow:var(--shadow);}
.team-card h3{margin:0 0 6px;font-size:19px;color:var(--blue-dark);}
.team-card .role{color:var(--gold);font-weight:600;font-size:14px;margin-bottom:12px;}
.team-card .m-contact{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 2px;word-break:break-all;}
.team-card .m-contact:last-of-type{margin-bottom:10px;}
.team-card p{color:var(--muted);font-size:14px;line-height:1.85;margin:0;min-height:4.2em;}
.team-card.placeholder{background:#fbfcfe;border:1px dashed var(--line);box-shadow:none;opacity:.85;cursor:default;}
.team-card.placeholder:hover{transform:none;border-color:var(--gold);}
.placeholder-avatar{background:#eef2f7;color:var(--muted);box-shadow:none;font-weight:400;}
.team-card.placeholder h3{color:var(--muted);}
.team-card.placeholder .role{color:var(--muted);}
.card-more{display:inline-block;margin-top:10px;color:var(--blue);font-weight:600;font-size:13px;}
.team-card:hover .card-more{color:var(--blue-dark);text-decoration:underline;}
.team-avatar-img{width:100%;aspect-ratio:1/1;border-radius:22px;margin:0 auto 18px;object-fit:cover;display:block;box-shadow:var(--shadow);}
.back-link{display:inline-block;margin-bottom:28px;color:var(--blue);font-weight:600;font-size:14px;text-decoration:none;}
.back-link:hover{text-decoration:underline;}
.expert-detail{display:flex;gap:40px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow);}
.expert-detail-avatar{flex:0 0 160px;text-align:center;}
.expert-detail-avatar img{width:160px;height:160px;border-radius:18px;object-fit:cover;box-shadow:var(--shadow);}
.expert-detail-avatar .team-avatar.big{width:160px;height:160px;border-radius:18px;font-size:56px;margin:0;}
.expert-detail-body{flex:1;min-width:0;}
.expert-detail-body h2{margin:0 0 8px;font-size:26px;color:var(--blue-dark);}
.expert-detail-body .role{color:var(--gold);font-weight:600;font-size:16px;margin-bottom:20px;}
.expert-bio{color:#3a4a5a;font-size:15px;line-height:2;}
.expert-bio p{margin:0 0 14px;}
.expert-bio span[style]{line-height:inherit;}
@media(max-width:680px){
  .expert-detail{flex-direction:column;align-items:center;text-align:center;padding:28px;}
  .expert-detail-avatar{flex:none;}
}
.link-card{text-align:center;}
.link-logo{height:52px;margin:0 auto 16px;object-fit:contain;display:block;}

/* ===== 响应式 ===== */
@media(max-width:980px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .foot-photo{grid-column:1 / -1;margin-top:0;margin-bottom:6px;}
  .foot-photo img{max-width:220px;height:200px;object-fit:cover;object-position:58% 82%;clip-path:inset(17.5% 0 5% 12% round 12px);}
}
@media(max-width:680px){
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;gap:14px;box-shadow:var(--shadow);border-top:1px solid var(--line);}
  .nav-links.open{display:flex;}
  .has-sub .submenu{position:static;display:flex;box-shadow:none;border:none;padding:4px 0 4px 16px;background:var(--blue-soft);border-radius:8px;margin-top:4px;}
  .has-sub > a::after{content:"▾";}
  .nav-toggle{display:block;}
  .brand .name{font-size:13px;max-width:none;}
  .brand .name b{font-size:13px;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  /* 机构全称卡片：窄屏改用【胶囊左移】实现同样的左对齐，避免文字缩进把 slogan 挤成两行 */
  .contact-org > h3,
  .contact-org > p:not(.contact-ethos){padding-left:0;}
  .contact-org > .contact-ethos{margin-left:-19px;}
  .site-footer .foot-name{font-size:36px;letter-spacing:1.5px;}
  .foot-photo{grid-column:auto;text-align:center;margin-top:0;}
  .foot-photo img{margin:0 auto;max-width:220px;height:200px;object-fit:cover;object-position:58% 82%;clip-path:inset(17.5% 0 5% 12% round 12px);}
  .hero h1{font-size:28px;white-space:normal;word-break:break-word;}
  .hero h1 .slogan-gap{width:0.56em;}
  .hero .ethos .ethos-gap{width:0.375em;}  /* 相邻两个相加 = 0.75em */
  .hero .slogan{font-size:19px;}
  .hero-inner{grid-template-columns:1fr;margin-left:0;}
  .hero-photo{margin-top:10px;justify-self:stretch;max-width:none;width:100%;margin-left:0;}
  .hero-photo img{max-height:280px;object-fit:cover;object-position:70% 72%;clip-path:inset(0 0 0 20% round 18px);position:static;}
  .page-hero h1{font-size:26px;}
  .page-hero p{font-size:16px;letter-spacing:0;line-height:1.5;}
}
/* 超窄屏（≤400px，如 iPhone SE/375）：卡片可用宽仅 ~256px，slogan 加宽到 249.8px 只剩 6.7px 余量，
   换个字体渲染就会折行 → 这里恢复原始字距（此时 238.5px 本就居中于「公司全称240 / 胶囊文字231」之间）。 */
@media(max-width:400px){
  .contact-org > p.gold{letter-spacing:normal;}
}

/* ===== 后台 ===== */
.admin-body{background:#eef2f7;}
.admin-shell{display:flex;min-height:100vh;}
.admin-side{width:230px;background:#0d4d8f;color:#fff;flex-shrink:0;position:fixed;height:100vh;overflow-y:auto;}
.admin-side .logo{display:flex;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.15);}
.admin-side .logo img{height:34px;width:34px;border-radius:8px;filter:brightness(0) invert(1);}
.admin-side .logo b{color:#fff;font-size:16px;}
.admin-side a{display:flex;align-items:center;gap:11px;padding:13px 22px;color:#fff;font-size:14px;font-weight:600;}
.admin-side a:hover,.admin-side a.active{background:rgba(255,255,255,.18);color:#fff;}
.admin-side .sec-label{padding:16px 22px 6px;font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.65);text-transform:uppercase;}
.admin-main{flex:1;margin-left:230px;padding:28px 34px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.admin-topbar h2{margin:0;color:var(--blue-dark);font-size:24px;}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);}
.stat .n{font-size:30px;font-weight:800;color:var(--blue);}
.stat .l{color:var(--muted);font-size:14px;}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow);}
.table{width:100%;border-collapse:collapse;}
.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px;}
.table th{color:var(--muted);font-weight:600;background:var(--blue-soft);}
/* —— 列表拖拽排序 —— */
.table tbody.sortable tr{cursor:default;}
.sort-cell{cursor:grab;user-select:none;white-space:nowrap;color:var(--blue-dark);font-weight:600;
  background:var(--blue-soft);border-radius:8px;width:1%;text-align:center;}
.sort-cell:hover{background:#dce8f5;}
.sort-cell:active{cursor:grabbing;}
.sort-cell .sort-num{display:inline-block;min-width:18px;}
.sort-cell::before{content:"⠿";margin-right:6px;color:var(--muted);font-weight:400;}
tr.dragging{opacity:.45;background:#eaf2fb;}
tr.drag-over{box-shadow:inset 0 2px 0 0 var(--blue);}
tr.drag-before{box-shadow:inset 0 2px 0 0 var(--blue);}
tr.drag-after{box-shadow:inset 0 -2px 0 0 var(--blue);}
.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600;}
.badge-pub{background:var(--blue-light);color:var(--blue-dark);}
.badge-draft{background:#fdeeee;color:#c0392b;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-weight:600;margin-bottom:6px;color:var(--blue-dark);font-size:14px;}
.form-control{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);}
.form-control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--blue-dark),#1b4a78);}
.login-card{background:#fff;border-radius:16px;padding:38px 34px;width:380px;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.login-card h2{margin:0 0 6px;color:var(--blue-dark);}
.login-card .sub{color:var(--muted);margin:0 0 24px;font-size:14px;}
.alert{padding:11px 16px;border-radius:9px;margin-bottom:16px;font-size:14px;}
.alert-success{background:var(--blue-light);color:var(--blue-dark);}
.alert-danger{background:#fdeeee;color:#c0392b;}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.media-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;}
.media-item img{height:120px;width:100%;object-fit:cover;}
.media-item .name{font-size:12px;padding:8px 10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.media-item .act{padding:0 10px 10px;}
.cover-preview{max-width:240px;border-radius:10px;margin-top:10px;border:1px solid var(--line);}
@media(max-width:780px){
  .admin-side{transform:translateX(-100%);transition:.2s;z-index:100;}
  .admin-side.open{transform:translateX(0);}
  .admin-main{margin-left:0;padding:18px;}
  .admin-stats{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
}
#ql-editor,.ql-editor{min-height:300px;}

/* ===== 证照展示墙 ===== */
.cert-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;margin-top:26px;}
.cert-tile{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;text-decoration:none;display:block;}
.cert-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.cert-tile img{width:100%;height:210px;object-fit:contain;background:#f6f8fb;display:block;}
.cert-tile .cap{padding:11px 12px;font-size:14px;font-weight:600;color:var(--blue-dark);text-align:center;}
.cert-tile.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;color:var(--muted);font-size:14px;text-align:center;padding:16px;cursor:default;}
.cert-pdf{width:100%;height:210px;display:flex;align-items:center;justify-content:center;background:#f6f8fb;}
.cert-pdf .pdf-ico{display:inline-block;background:#d93025;color:#fff;font-weight:700;font-size:15px;letter-spacing:1px;padding:7px 14px;border-radius:7px;box-shadow:0 3px 8px rgba(217,48,37,.3);}
/* 点击放大遮罩 */
.lightbox{position:fixed;inset:0;background:rgba(10,42,67,.92);display:none;align-items:center;justify-content:center;z-index:999;padding:5vw;cursor:zoom-out;}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox .lb-close{position:absolute;top:22px;right:30px;color:#fff;font-size:36px;line-height:1;cursor:pointer;}
