/* ============ 官网门户（PC + 手机自适应） ============ */
.portal-top{background:#fff; border-bottom:1px solid var(--wc-line); position:sticky; top:0; z-index:40;}
.portal-top .inner{max-width:1200px; margin:0 auto; height:62px; display:flex; align-items:center; padding:0 20px; gap:18px;}
.portal-top .logo{font-size:19px; font-weight:700; color:var(--wc-green); display:flex; align-items:center; gap:8px; cursor:pointer;}
.portal-top .nav{display:flex; gap:22px; flex:1;}
.portal-top .nav a{color:var(--wc-text); font-size:15px; cursor:pointer;}
.portal-top .nav a:hover{color:var(--wc-green);}
.portal-top .phone{color:var(--wc-green); font-weight:600;}

.portal-banner{position:relative; height:340px; background:linear-gradient(135deg,#08a857,#07C160); color:#fff; overflow:hidden;}
.portal-banner .swiper{position:absolute; inset:0;}
.portal-banner .slide{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:700; opacity:0; transition:.5s;}
.portal-banner .slide.active{opacity:1;}
.portal-banner .caption{max-width:1200px; margin:0 auto; width:100%; padding:0 20px; position:relative; z-index:2;}

.portal-container{max-width:1200px; margin:0 auto; padding:28px 20px;}
.portal-section{margin-bottom:34px;}
.portal-section h2{font-size:22px; margin:0 0 16px; display:flex; align-items:center; gap:8px;}
.portal-section h2::before{content:""; width:4px; height:20px; background:var(--wc-green); border-radius:2px;}

.portal-business{display:flex; flex-wrap:wrap; gap:14px;}
.portal-business .bz{flex:1; min-width:150px; background:#fff; border-radius:var(--radius-card); padding:18px; box-shadow:var(--shadow); cursor:pointer; transition:.2s;}
.portal-business .bz:hover{transform:translateY(-3px);}
.portal-business .bz .b-ico{width:42px; height:42px; border-radius:11px; background:rgba(7,193,96,.12); color:var(--wc-green); display:flex; align-items:center; justify-content:center; margin-bottom:10px;}
.portal-business .bz .b-name{font-size:16px; font-weight:600;}

.portal-subjects{display:flex; flex-wrap:wrap; gap:10px;}
.portal-subjects .sb{background:#fff; border:1px solid var(--wc-line); border-radius:999px; padding:8px 16px; font-size:13px; cursor:pointer;}
.portal-subjects .sb:hover{border-color:var(--wc-green); color:var(--wc-green);}

.portal-cards{display:flex; flex-wrap:wrap; gap:14px;}
.portal-card{flex:1; min-width:240px; background:#fff; border-radius:var(--radius-card); padding:16px; box-shadow:var(--shadow); cursor:pointer; transition:.2s;}
.portal-card:hover{transform:translateY(-2px);}
.portal-card .pc-title{font-size:15px; font-weight:600; margin-bottom:6px;}
.portal-card .pc-sub{font-size:12px; color:var(--wc-sub);}
.portal-card .pc-date{font-size:12px; color:var(--wc-sub2); margin-top:8px;}

.portal-footer{background:#1E1E1E; color:#bbb; padding:28px 20px; text-align:center; font-size:13px; line-height:2;}
.portal-footer .f-inner{max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:24px; justify-content:center; text-align:left;}
.portal-footer a{color:#bbb;}

.portal-form{max-width:520px; margin:0 auto;}
.portal-form .f-row{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.portal-form .f-row label{font-size:13px; color:var(--wc-sub);}
.portal-form .f-row input,.portal-form .f-row textarea{border:1px solid var(--wc-line); border-radius:var(--radius-input); padding:10px 12px; font-size:14px; outline:none;}
.portal-form .f-row input:focus{border-color:var(--wc-green);}

.portal-article{max-width:860px; margin:0 auto; background:#fff; border-radius:var(--radius-card); padding:28px; box-shadow:var(--shadow);}
.portal-article h1{font-size:24px; margin:0 0 10px;}
.portal-article .meta{color:var(--wc-sub); font-size:13px; margin-bottom:18px; border-bottom:1px solid var(--wc-line); padding-bottom:12px;}
.portal-article .content{line-height:1.8; font-size:15px;}

.cert-query{max-width:520px; margin:30px auto; background:#fff; border-radius:var(--radius-card); padding:24px; box-shadow:var(--shadow);}
.cert-result{border:1px solid var(--wc-line); border-radius:10px; padding:14px; margin-top:12px;}

@media(max-width:768px){
  .portal-top .nav{display:none;}
  .portal-banner{height:200px;}
  .portal-banner .slide{font-size:20px;}
  .portal-business .bz{min-width:calc(50% - 7px);}
}
