/* ===== IPwiselect 改版 · 全站样式（沿用原站配色 #071A31/#245FE3/#F4F7FA） ===== */
:root{
  --navy:#071A31; --navy2:#10263F; --blue:#245FE3; --blue-lt:#EAF1FD;
  --gold:#C9A227; --bg:#F4F7FA; --card:#FFFFFF; --text:#313131; --muted:#64748B;
  --line:#E3E9F0; --red:#C0392B; --green:#1E8E5A;
  --serif:Georgia,"Times New Roman","Songti SC","SimSun",serif;
  --sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.75;font-size:15px;
  overflow-x:hidden;overflow-x:clip;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.hidden{display:none!important;}

/* ===== 顶栏与导航 ===== */
.topbar{background:var(--navy);color:rgba(255,255,255,.75);font-size:12px;padding:6px 0;letter-spacing:1px;}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90;}
.head-in{display:flex;align-items:center;gap:34px;height:66px;}
.brand{display:flex;flex-direction:column;line-height:1.2;}
.brand-cn{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--navy);letter-spacing:2px;}
.brand-en{font-size:10.5px;color:var(--blue);letter-spacing:1.2px;font-weight:600;}
.main-nav{display:flex;gap:6px;flex:1;}
.main-nav a{padding:8px 16px;border-radius:8px;font-size:15px;color:var(--navy2);font-weight:600;transition:.2s;}
.main-nav a:hover{background:var(--blue-lt);color:var(--blue);}
.main-nav a.active{background:var(--blue-lt);color:var(--blue);}
.qg-link{display:flex;align-items:center;gap:6px;}
.qg-link .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;}
.qg-link .ext{font-size:11px;color:var(--gold);}
.head-right{display:flex;align-items:center;gap:12px;}
.user-chip{font-size:13px;color:var(--navy2);font-weight:600;background:var(--blue-lt);padding:6px 14px;border-radius:18px;}
.btn{display:inline-block;padding:10px 24px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;border:none;transition:.2s;font-family:var(--sans);}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:#1C4EC2;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-ghost{border:1px solid var(--line);background:#fff;color:var(--navy2);}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);}
.btn-sm{padding:6px 14px;font-size:12.5px;border-radius:6px;}

/* ===== Hero ===== */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 60%,#16385C 100%);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-100px;top:-100px;width:420px;height:420px;border:1px solid rgba(36,95,227,.35);border-radius:50%;}
.kicker{color:var(--blue);font-size:12.5px;font-weight:700;letter-spacing:4px;}
.kicker.gold{color:var(--gold);}
.hero .kicker{color:#7FA6EF;}
.hero h1{font-family:var(--serif);font-size:38px;line-height:1.4;margin:14px 0 16px;font-weight:700;letter-spacing:1px;}
.hero p.lead{font-size:15.5px;opacity:.82;max-width:660px;}
.hero .btn-row{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
.stats-bar{display:flex;margin-top:40px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;max-width:640px;}
.stats-bar .st{flex:1;text-align:center;padding:16px 10px;border-right:1px solid rgba(255,255,255,.12);}
.stats-bar .st:last-child{border-right:none;}
.stats-bar b{font-size:26px;color:#7FA6EF;display:block;font-family:var(--serif);}
.stats-bar span{font-size:12px;opacity:.75;}

/* ===== 区块 ===== */
section{padding:64px 0;}
.sec-head{margin-bottom:36px;}
.sec-head .num{font-family:var(--serif);color:var(--blue);font-size:13px;letter-spacing:3px;font-weight:700;}
.sec-head h2{font-family:var(--serif);font-size:28px;color:var(--navy);margin-top:8px;letter-spacing:1px;}
.sec-head p{color:var(--muted);margin-top:8px;max-width:760px;font-size:14px;}
.dark-sec{background:var(--navy);color:#fff;}
.dark-sec .sec-head h2{color:#fff;}
.dark-sec .sec-head p{color:rgba(255,255,255,.65);}
.dark-sec .sec-head .num{color:var(--gold);}

/* ===== 三大板块卡 ===== */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px 28px;position:relative;transition:.2s;display:block;}
.pillar:hover{box-shadow:0 12px 32px rgba(7,26,49,.12);transform:translateY(-3px);border-color:var(--blue);}
.pillar .p-num{font-family:var(--serif);font-size:13px;color:var(--blue);letter-spacing:3px;}
.pillar h3{font-family:var(--serif);font-size:21px;color:var(--navy);margin:10px 0 10px;}
.pillar p{font-size:13.5px;color:var(--muted);min-height:66px;}
.pillar .p-go{margin-top:16px;font-size:13px;color:var(--blue);font-weight:700;}
.pillar.gold-p{border-top:3px solid var(--gold);}
.pillar.gold-p .p-num{color:var(--gold);}
.pillar.gold-p .p-go{color:var(--gold);}

/* ===== 地图 ===== */
.map-box{background:linear-gradient(160deg,var(--navy),var(--navy2));border-radius:16px;padding:24px;overflow-x:auto;}
.map-box svg{display:block;width:100%;min-width:760px;height:auto;}
.map-dot{fill:rgba(127,166,239,.28);}
.marker{cursor:pointer;}
.marker circle.core{fill:var(--gold);transition:.2s;}
.marker circle.ring{fill:none;stroke:var(--gold);opacity:.5;animation:pulse 2.2s infinite;}
.marker text{fill:#fff;font-size:12px;font-family:var(--sans);paint-order:stroke;stroke:rgba(7,26,49,.85);stroke-width:3px;font-weight:600;}
.marker:hover circle.core{fill:#fff;}
@keyframes pulse{0%{r:5;opacity:.6;}100%{r:16;opacity:0;}}
.map-tip{color:rgba(255,255,255,.55);font-size:12px;margin-top:12px;text-align:center;}

/* ===== 筛选条 ===== */
.filter-bar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 22px;display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-bottom:26px;}
.filter-bar label{font-size:12.5px;color:var(--muted);font-weight:700;margin-right:8px;}
.filter-bar select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:#fff;color:var(--navy2);font-family:var(--sans);}
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{padding:6px 14px;border-radius:16px;font-size:12.5px;background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:.15s;}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;}

/* ===== 机构卡 ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;}
.org-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px;transition:.2s;display:flex;flex-direction:column;}
.org-card:hover{box-shadow:0 8px 24px rgba(7,26,49,.09);}
.org-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.tag{font-size:11px;padding:3px 10px;border-radius:10px;background:var(--blue-lt);color:var(--blue);font-weight:600;}
.tag.warn{background:#FDECEA;color:var(--red);}
.tag.gold{background:#FBF3DC;color:#8A6D0F;}
.org-card h3{font-family:var(--serif);font-size:18px;color:var(--navy);margin-bottom:8px;}
.org-card p{font-size:13px;color:var(--muted);flex:1;}
.org-card .date{font-size:11.5px;color:var(--muted);margin:10px 0;}
.org-card .ops{display:flex;gap:10px;}

/* ===== 知识卡 / SOP ===== */
.k-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px;display:flex;flex-direction:column;}
.k-card h3{font-size:16.5px;color:var(--navy);margin:8px 0;line-height:1.5;}
.k-card .sum{font-size:13px;color:var(--muted);flex:1;}
.sop-steps{margin:12px 0 4px;counter-reset:s;}
.sop-steps li{list-style:none;font-size:12.5px;color:var(--navy2);padding:5px 0 5px 28px;position:relative;border-bottom:1px dashed var(--line);}
.sop-steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;font-family:var(--serif);color:var(--blue);font-size:11px;font-weight:700;top:8px;}
.sop-steps li.blur{filter:blur(3.5px);user-select:none;}

/* ===== 锁定块 ===== */
.locked{position:relative;border-radius:12px;overflow:hidden;}
.locked::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,247,250,0) 0%,rgba(244,247,250,.92) 78%);pointer-events:none;}
/* 深色会员专区：仅保留轻渐隐，提示语与按钮保持可读 */
.locked.dark-lock::after{background:linear-gradient(180deg,rgba(7,26,49,0) 0%,rgba(7,26,49,.30) 100%);}
.lock-cta{margin-top:14px;text-align:center;position:relative;z-index:1;}
.lock-box{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;border-radius:14px;padding:30px 28px;text-align:center;}
.lock-box h4{font-family:var(--serif);font-size:19px;margin-bottom:8px;}
.lock-box p{font-size:13px;opacity:.8;max-width:520px;margin:0 auto 16px;}
.unlocked-note{background:#EAF7F0;border:1px solid #BFE6D2;color:#1E6E47;font-size:12.5px;padding:8px 16px;border-radius:8px;margin-bottom:14px;text-align:center;}

/* ===== 详情页 ===== */
.detail-hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:52px 0;}
.detail-hero h1{font-family:var(--serif);font-size:32px;margin:12px 0 8px;}
.detail-hero .en{color:#7FA6EF;font-size:15px;letter-spacing:1px;}
.detail-hero .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.d-section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 28px;margin-bottom:20px;}
.d-section h3{font-family:var(--serif);font-size:19px;color:var(--navy);margin-bottom:14px;}
.d-section p{font-size:14px;color:var(--muted);margin-bottom:8px;}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 18px;font-size:13.5px;}
.kv b{color:var(--navy);font-weight:700;}
.kv span{color:var(--muted);}

/* ===== 登录弹层 ===== */
.mask{position:fixed;inset:0;background:rgba(7,26,49,.62);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal{background:#fff;border-radius:16px;max-width:400px;width:100%;padding:32px 32px 26px;position:relative;}
.modal h3{font-family:var(--serif);font-size:22px;color:var(--navy);text-align:center;}
.modal .sub{font-size:12.5px;color:var(--muted);text-align:center;margin:6px 0 18px;}
.modal .close{position:absolute;top:14px;right:18px;font-size:20px;color:var(--muted);cursor:pointer;}
.modal .tabs{display:flex;gap:6px;margin-bottom:18px;}
.modal .tabs button{flex:1;padding:9px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;font-family:var(--sans);}
.modal .tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.modal input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-bottom:12px;font-family:var(--sans);}
.modal input:focus{outline:none;border-color:var(--blue);}
.modal .btn{width:100%;}
.modal .demo-note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:12px;}

/* ===== 会员区带 ===== */
.member-band{background:linear-gradient(120deg,var(--navy),#16385C);color:#fff;border-radius:16px;padding:40px 44px;display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.member-band h3{font-family:var(--serif);font-size:24px;margin-bottom:8px;}
.member-band p{font-size:13.5px;opacity:.8;max-width:560px;}
.perks{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.perks span{font-size:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);padding:5px 14px;border-radius:14px;}

/* ===== 页脚 ===== */
footer{background:var(--navy);color:rgba(255,255,255,.6);padding:44px 0 26px;font-size:13px;margin-top:30px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;}
footer h5{color:#fff;font-size:14px;margin-bottom:12px;font-family:var(--serif);}
footer li{list-style:none;margin-bottom:7px;font-size:12.5px;}
footer a:hover{color:#7FA6EF;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:16px;text-align:center;font-size:11.5px;opacity:.55;}

/* ===== 方法区 ===== */
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.m-step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:24px;}
.m-step .n{font-family:var(--serif);color:var(--gold);font-size:14px;letter-spacing:2px;}
.m-step h4{font-size:16px;margin:8px 0;color:#fff;}
.m-step p{font-size:12.5px;color:rgba(255,255,255,.65);}

@media(max-width:900px){
  .head-in{flex-wrap:wrap;height:auto;padding:10px 0;gap:10px 14px;}
  .main-nav{order:3;width:100%;flex-wrap:wrap;gap:2px 4px;}
  .main-nav a{padding:6px 11px;font-size:13px;flex:none;white-space:nowrap;}
  .head-right{margin-left:auto;flex:none;}
  .pillars,.method{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:27px;}
  .member-band{padding:28px;}
}
@media(max-width:560px){
  .topbar{font-size:11px;}
  .topbar .wrap{justify-content:center;}
  .head-in{gap:8px 10px;padding:8px 0;}
  .brand-cn{font-size:18px;letter-spacing:1px;}
  .brand-en{font-size:10px;letter-spacing:.6px;}
  .main-nav{gap:2px;}
  .main-nav a{padding:5px 8px;font-size:12px;border-radius:6px;}
  .user-chip{font-size:12px;padding:5px 10px;}
  .btn{padding:8px 16px;font-size:13px;}
}
