/* ============ 安飞策 全局站点样式 · 蓝白黑极简硬科技风 ============ */
:root{
  --ink:#0d1117;        /* 近黑：文字 / 页脚 / 强调黑 */
  --ink-2:#161b22;
  --blue:#1450e6;       /* 安飞策品牌蓝（唯一强调色） */
  --blue-d:#0d3bb0;     /* 深蓝 hover */
  --blue-l:#3f6ff2;     /* 亮蓝 */
  --blue-50:#eaf0fe;    /* 浅蓝底 */
  --paper:#ffffff;      /* 纸白 */
  --mist:#f5f8fc;       /* 浅雾背景 */
  --line:#e4e9f0;       /* 分隔线 */
  --sub:#5a6473;        /* 次要文字 */
  --red:#c8102e;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;color:var(--ink);background:var(--paper);
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",Segoe UI,Roboto,sans-serif;}

/* ---- 全局导航：白底 + 蓝线 + 黑字 ---- */
.gn-nav{position:fixed;top:0;left:0;right:0;height:62px;z-index:300;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;padding:0 22px;
  border-bottom:1px solid var(--blue);box-shadow:0 1px 0 rgba(20,80,230,.18);}
.gn-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.5px;font-size:18px;white-space:nowrap;}
.gn-brand .dot{width:13px;height:13px;background:var(--blue);flex:none;
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 品牌三角标记 */
.gn-brand small{font-weight:500;font-size:10.5px;color:var(--sub);letter-spacing:2px;margin-left:2px;}
.gn-brand img{height:40px;width:auto;display:block;}
.gn-desk-menu{display:flex;gap:2px;}
.gn-desk-menu a{color:#34404f;text-decoration:none;padding:8px 15px;border-radius:8px;font-size:14px;transition:.18s;white-space:nowrap;}
.gn-desk-menu a:hover{background:var(--blue-50);color:var(--blue);}
.gn-desk-menu a.active{color:var(--blue);font-weight:700;}
.gn-right{display:flex;align-items:center;gap:12px;}
.gn-cta{background:var(--blue);color:#fff;padding:9px 18px;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:.18s;}
.gn-cta:hover{background:var(--blue-d);}
.gn-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:9px;}
.gn-burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.22s;transform-origin:center;}
.gn-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.gn-burger.open span:nth-child(2){opacity:0;}
.gn-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.gn-mobile-menu{position:fixed;top:62px;left:0;right:0;background:var(--paper);z-index:299;display:none;
  flex-direction:column;padding:6px 16px 16px;border-bottom:2px solid var(--blue);box-shadow:0 8px 20px rgba(13,17,23,.12);}
.gn-mobile-menu.show{display:flex;}
.gn-mobile-menu a{color:#34404f;text-decoration:none;padding:14px 8px;border-bottom:1px solid var(--line);font-size:15px;}
.gn-mobile-menu a:last-child{border-bottom:none;}
.gn-mobile-menu a.active{color:var(--blue);font-weight:700;}
.gn-scrim{display:none;}

/* ---- 报告页让出顶部导航 ---- */
.sidenav,.sidebar{top:62px !important;height:calc(100vh - 62px) !important;z-index:280;transition:transform .25s ease;}
.main{margin-left:248px;padding-top:62px;}
.content{margin-left:290px;padding-top:62px !important;}

/* ---- 站点页脚（报告页用） ---- */
.gn-foot{margin-top:60px;border-top:1px solid var(--line);padding:30px 40px;color:var(--sub);font-size:13px;background:#fff;}
.gn-foot-in{max-width:980px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.gn-foot-in b{color:var(--ink);}
.gn-foot a{color:var(--blue);text-decoration:none;}

/* ============ 三角图形语言 ============ */
/* hero 大描边三角装饰（品牌图形角色） */
.tri-deco{position:absolute;right:-30px;top:-24px;width:180px;height:180px;pointer-events:none;opacity:.5;
  background-repeat:no-repeat;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%20viewBox='0%200%20200%20200'%3E%3Cpolygon%20points='100,18%20182,182%2018,182'%20fill='none'%20stroke='%231450e6'%20stroke-width='2.5'/%3E%3Cpolygon%20points='100,58%20142,150%2058,150'%20fill='none'%20stroke='%233f6ff2'%20stroke-width='1.4'/%3E%3C/svg%3E");}

/* ============ 首页 / 列表页通用 ============ */
.gn-page{padding-top:62px;}
.gn-hero{background:var(--mist);color:var(--ink);padding:90px 24px 70px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);}
.gn-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:repeating-linear-gradient(135deg,rgba(20,80,230,.05) 0 1px,transparent 1px 22px);}
.gn-hero-in{max-width:1080px;margin:0 auto;position:relative;z-index:1;}
.gn-hero .kicker{font-size:13px;letter-spacing:3px;color:var(--blue);font-weight:700;}
.gn-hero h1{font-size:46px;line-height:1.15;margin:16px 0 10px;font-weight:800;letter-spacing:1px;}
.gn-hero h1 small{display:block;font-size:20px;font-weight:500;color:var(--sub);margin-top:12px;letter-spacing:0;}
.gn-hero p{font-size:17px;color:#3a4452;max-width:720px;margin-top:18px;line-height:1.7;}
.gn-hero .acts{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
.gn-btn{display:inline-block;padding:13px 26px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transition:.18s;}
.gn-btn.pri{background:var(--blue);color:#fff;}
.gn-btn.pri:hover{background:var(--blue-d);}
.gn-btn.sec{background:#fff;color:var(--ink);border:1px solid var(--blue);}
.gn-btn.sec:hover{background:var(--blue-50);}

.gn-section{max-width:1080px;margin:0 auto;padding:60px 24px;}
.gn-section h2{font-size:30px;color:var(--ink);font-weight:800;margin:0 0 6px;letter-spacing:.5px;position:relative;padding-left:24px;}
.gn-section h2:before{content:"";position:absolute;left:0;top:9px;width:13px;height:13px;background:var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 标题前实心三角 */
.gn-section .sub{color:var(--sub);font-size:15px;margin:0 0 34px;}
.gn-grid{display:grid;gap:20px;}
.gn-grid.c3{grid-template-columns:repeat(3,1fr);}
.gn-grid.c2{grid-template-columns:repeat(2,1fr);}
@media(max-width:860px){.gn-grid.c3,.gn-grid.c2{grid-template-columns:1fr;}}
.gn-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;position:relative;
  box-shadow:0 2px 10px rgba(13,17,23,.05);transition:.2s;}
.gn-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(20,80,230,.14);border-color:var(--blue-l);}
.gn-card:after{content:"";position:absolute;top:15px;right:15px;width:12px;height:12px;border:1.6px solid var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 卡片描边三角角标 */
.gn-card .ico{width:44px;height:44px;border-radius:11px;background:var(--blue-50);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin-bottom:14px;}
.gn-card h3{margin:0 0 8px;font-size:19px;color:var(--ink);}
.gn-card p{margin:0;color:var(--sub);font-size:14px;line-height:1.65;}
.gn-card a{color:var(--blue);text-decoration:none;font-weight:600;font-size:14px;}

/* 报告卡片 */
.gn-report{padding:0;overflow:hidden;}
.gn-report .top{height:6px;background:var(--blue);}
.gn-report.blue .top{background:var(--blue-d);}
.gn-report.red .top{background:var(--blue-d);}
.gn-report .body{padding:22px 24px 24px;}
.gn-report .tag{font-size:11.5px;font-weight:700;letter-spacing:1px;color:var(--sub);text-transform:uppercase;}
.gn-report h3{margin:8px 0 10px;font-size:19px;line-height:1.35;}
.gn-report p{margin:0 0 16px;color:var(--sub);font-size:13.5px;line-height:1.6;}
.gn-report .body a{color:var(--blue);text-decoration:none;font-weight:600;font-size:14px;transition:.16s;}
.gn-report .body a:hover{text-decoration:underline;color:var(--blue-d);}
.gn-report .meta{display:flex;gap:10px;align-items:center;font-size:12px;color:#8a97a6;flex-wrap:wrap;}
.gn-report .meta .dl{background:none;border:0;color:var(--blue);font-weight:700;font-size:13.5px;cursor:pointer;padding:0;font-family:inherit;transition:.16s;}
.gn-report .meta .dl:hover{text-decoration:underline;}
.gn-report .meta .dl:after{content:" ▸";font-weight:800;}
.gn-report .pill{padding:3px 9px;border-radius:20px;background:var(--blue-50);color:var(--blue-d);font-weight:600;}

.gn-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.gn-filter button{border:1px solid var(--line);background:#fff;color:var(--sub);padding:9px 18px;border-radius:30px;
  font-size:13.5px;cursor:pointer;transition:.18s;font-weight:600;}
.gn-filter button:hover{border-color:var(--blue);color:var(--blue);}
.gn-filter button.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.gn-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:860px){.gn-list{grid-template-columns:1fr;}}

.gn-steps{counter-reset:s;display:grid;gap:16px;}
.gn-steps .st{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:relative;}
.gn-steps .st:after{content:"";position:absolute;top:14px;right:14px;width:10px;height:10px;border:1.4px solid var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}
.gn-steps .st .n{counter-increment:s;flex:none;width:34px;height:34px;border-radius:0;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 步骤号用三角 */
.gn-steps .st .n:before{content:counter(s);}
.gn-steps .st h4{margin:2px 0 6px;color:var(--ink);font-size:16px;}
.gn-steps .st p{margin:0;color:var(--sub);font-size:14px;}

.gn-foot-page{background:var(--ink);color:#c3ccd8;padding:48px 24px;margin-top:0;}
.gn-foot-page-in{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.gn-foot-page h4{color:#fff;margin:0 0 12px;font-size:16px;position:relative;padding-left:18px;}
.gn-foot-page h4:before{content:"";position:absolute;left:0;top:5px;width:11px;height:11px;background:var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 页脚三角标记 */
.gn-foot-page a{color:#c3ccd8;text-decoration:none;display:block;padding:4px 0;font-size:13.5px;}
.gn-foot-page a:hover{color:var(--blue-l);}
.gn-foot-page .copy{width:100%;border-top:1px solid rgba(255,255,255,.14);margin-top:24px;padding-top:18px;
  color:#7e8a99;font-size:12.5px;}

.gn-narrow{max-width:820px;margin:0 auto;padding:72px 24px 40px;line-height:1.8;}
.gn-narrow h1{font-size:34px;color:var(--ink);margin:0 0 8px;}
.gn-narrow h2{font-size:23px;color:var(--ink);margin:38px 0 10px;border-left:4px solid var(--blue);padding-left:12px;position:relative;}
.gn-narrow p{color:#333d49;}
.gn-narrow blockquote{border-left:4px solid var(--blue);background:var(--blue-50);padding:14px 20px;margin:20px 0;color:#2b3a52;position:relative;}
.gn-narrow blockquote:before{content:"";position:absolute;left:-4px;top:-9px;width:14px;height:14px;background:var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}  /* 引用块实心三角 */

.team-note{margin-top:26px;color:var(--sub);font-size:15px;line-height:1.8;}
.team-note strong{color:var(--ink);}
.d-only{display:none;}

/* Insight 豆腐块 */
.insight-section{text-align:center;}
.insight-label{display:inline-block;font-size:12.5px;letter-spacing:4px;color:var(--blue);font-weight:800;text-transform:uppercase;margin-bottom:10px;}
.insight-section h2{padding-left:0;}
.insight-section h2:before{display:none;}
.insight-section .gn-narrow{max-width:760px;padding-top:18px;padding-bottom:20px;}
.insight-section p{font-size:16px;line-height:1.85;color:#333d49;margin-bottom:16px;}
@media(max-width:920px){
  .insight-section{text-align:left;padding-left:20px;padding-right:20px;}
  .insight-section h2{font-size:26px;}
  .insight-section .gn-narrow{padding-top:12px;}
  .insight-section p{font-size:15px;line-height:1.75;margin-bottom:14px;}
}
.trust-tags{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 18px;}
.trust-tags span{padding:8px 16px;border-radius:24px;background:var(--blue-50);color:var(--blue-d);font-size:13.5px;font-weight:600;border:1px solid var(--line);}
.trust-note{color:var(--sub);font-size:14px;line-height:1.7;max-width:820px;}

/* 通用列表三角符（报告正文 / 窄文） */
.gn-narrow ul,.gn-narrow ol,.wrap ul,.wrap ol{padding-left:22px;}
.gn-narrow li,.wrap li{margin:6px 0;}
ul li::marker{content:"▸ ";color:var(--blue);}

/* ============ 移动端 ============ */
@media(max-width:920px){
  .gn-desk-menu,.gn-cta{display:none;}
  .gn-burger{display:flex;}
  .sidenav,.sidebar{transform:translateX(-100%);width:84%;max-width:300px;box-shadow:6px 0 26px rgba(20,80,230,.18);z-index:290;background:#ffffff !important;}
  .sidenav.open,.sidebar.open{transform:none;}
  .main,.content{margin-left:0 !important;padding-left:18px !important;padding-right:18px !important;}
  .wrap{max-width:100% !important;padding-left:0 !important;padding-right:0 !important;}
  .hero{padding:34px 22px 50px !important;}
  .cover{margin:18px !important;}
  .gn-hero{padding:64px 20px 50px;}
  .gn-hero h1{font-size:32px;}
  .gn-hero .tri-deco{width:160px;height:160px;right:-30px;top:-20px;}
  .gn-section{padding:44px 18px;}
  .gn-foot{padding:26px 18px;}
  .gn-foot-in{font-size:12px;}
  .gn-scrim{position:fixed;inset:62px 0 0 0;background:rgba(20,80,230,.18);z-index:285;opacity:0;pointer-events:none;transition:.2s;display:block;}
  .gn-scrim.show{opacity:1;pointer-events:auto;}
}
@media(min-width:921px){.gn-scrim{display:none !important;}}

/* ============ 留资门控弹窗（下载完整报告） ============ */
.gn-modal-mask{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;
  background:rgba(13,17,23,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:20px;}
.gn-modal-mask.show{display:flex;}
.gn-modal{width:100%;max-width:460px;background:#fff;border-radius:16px;position:relative;overflow:hidden;
  box-shadow:0 24px 60px rgba(13,17,23,.30);animation:gnpop .22s ease;}
@keyframes gnpop{from{transform:translateY(14px) scale(.98);opacity:0;}to{transform:none;opacity:1;}}
.gn-modal .m-top{height:6px;background:var(--blue);}
.gn-modal .m-top:after{content:"";position:absolute;top:20px;right:22px;width:13px;height:13px;border:1.7px solid var(--blue);
  clip-path:polygon(50% 0,100% 100%,0 100%);}
.gn-modal .m-close{position:absolute;top:16px;right:18px;width:30px;height:30px;border:0;background:none;cursor:pointer;
  color:var(--sub);font-size:22px;line-height:1;border-radius:8px;transition:.18s;z-index:2;}
.gn-modal .m-close:hover{background:var(--blue-50);color:var(--blue);}
.gn-modal .m-body{padding:26px 28px 30px;}
.gn-modal .m-kicker{font-size:11px;letter-spacing:2.5px;color:var(--blue);font-weight:700;}
.gn-modal h3{margin:8px 0 6px;font-size:21px;color:var(--ink);font-weight:800;}
.gn-modal .m-desc{margin:0 0 20px;color:var(--sub);font-size:13.5px;line-height:1.6;}
.gn-modal .m-desc b{color:var(--blue-d);}
.gn-field{margin-bottom:14px;}
.gn-field label{display:block;font-size:13px;color:#34404f;font-weight:600;margin-bottom:6px;}
.gn-field label .req{color:var(--blue);margin-left:3px;}
.gn-field input,.gn-field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;
  font-size:14px;color:var(--ink);background:#fff;transition:.16s;font-family:inherit;}
.gn-field input:focus,.gn-field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);}
.gn-field input.inv{border-color:var(--red);}
.gn-submit{width:100%;margin-top:8px;background:var(--blue);color:#fff;border:0;border-radius:10px;
  padding:13px;font-size:15px;font-weight:800;cursor:pointer;transition:.18s;letter-spacing:.5px;}
.gn-submit:hover{background:var(--blue-d);}
.gn-submit:disabled{opacity:.6;cursor:wait;}
.gn-modal .m-foot{margin-top:14px;font-size:12px;color:#8a97a6;text-align:center;line-height:1.5;}
.gn-modal .m-ok{padding:34px 28px 38px;text-align:center;}
.gn-modal .m-ok .tick{width:60px;height:60px;margin:0 auto 16px;border-radius:50%;background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;}
.gn-modal .m-ok .tick svg{width:30px;height:30px;}
.gn-modal .m-ok h3{margin:0 0 8px;}
.gn-modal .m-ok p{color:var(--sub);font-size:14px;line-height:1.7;margin:0;}
.gn-modal .m-ok a{color:var(--blue);font-weight:700;text-decoration:none;}
