:root{
  --primary:#1565c0; --primary-d:#0d47a1; --accent:#0d9488; --accent-d:#0f766e;
  --bg:#f7f9fc; --card:#ffffff; --txt:#1f2937; --muted:#6b7280; --line:#e5e7eb;
  --shadow:0 2px 12px rgba(21,101,192,.06); --shadow-h:0 8px 28px rgba(21,101,192,.14);
}
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
     background:var(--bg); color:var(--txt); line-height:1.7; scroll-behavior:smooth;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 20px;}

/* ===== Header ===== */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
       border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; height:66px; gap:28px;}
.logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; color:var(--primary);}
.logo img{height:34px; width:auto; border-radius:8px; display:block;}
.logo .mark{width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--primary),var(--accent));
            display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; font-weight:800;}
.nav-links{display:flex; gap:26px; margin-left:8px; font-size:15px; color:#374151;}
.nav-links a:hover,.nav-links a.active{color:var(--primary); font-weight:700;}
.nav-right{margin-left:auto;}
.btn-login{background:var(--primary); color:#fff; border:none; padding:9px 20px; border-radius:9px; font-size:14px;
           cursor:pointer; font-weight:600; transition:.2s;}
.btn-login:hover{background:var(--primary-d);}
.btn-user{background:#eef4fc; color:var(--primary); border:none; padding:9px 16px; border-radius:9px; font-size:14px;
          cursor:pointer; font-weight:600; position:relative;}
.btn-user:hover{background:#e0ecfb;}
.user-menu{display:none; position:absolute; right:0; top:52px; background:#fff; border:1px solid var(--line);
           border-radius:10px; box-shadow:var(--shadow-h); min-width:160px; overflow:hidden;}
.user-menu a{display:block; padding:11px 16px; font-size:14px; color:#374151;}
.user-menu a:hover{background:#f3f6fb; color:var(--primary);}

/* ===== Hero ===== */
.hero{background:linear-gradient(135deg,#eef4fc 0%,#e6f7f5 100%); padding:72px 0 64px; text-align:center;}
.hero .tag{display:inline-block; background:#fff; color:var(--accent-d); border:1px solid #c5ece7;
          padding:5px 14px; border-radius:20px; font-size:13px; font-weight:600; margin-bottom:18px;}
.hero h1{font-size:38px; line-height:1.35; color:#0f172a; font-weight:800; letter-spacing:.5px;}
.hero h1 .hl{color:var(--primary);}
.hero p{font-size:17px; color:var(--muted); margin:18px auto 0; max-width:680px;}
.hero .cta{margin-top:30px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn-main{background:var(--primary); color:#fff; padding:13px 30px; border-radius:11px; font-weight:700; font-size:15px;
         cursor:pointer; border:none; transition:.2s;}
.btn-main:hover{background:var(--primary-d); transform:translateY(-1px);}
.btn-ghost{background:#fff; color:var(--primary); border:1px solid #c9ddf6; padding:13px 30px; border-radius:11px;
           font-weight:700; font-size:15px; cursor:pointer; transition:.2s;}
.btn-ghost:hover{border-color:var(--primary);}

/* page hero */
.page-hero{background:linear-gradient(135deg,#eef4fc 0%,#e6f7f5 100%); padding:56px 0 52px; text-align:center;}
.page-hero h1{font-size:32px; color:#0f172a; font-weight:800;}
.page-hero p{color:var(--muted); margin-top:12px; font-size:16px; max-width:680px; margin-left:auto; margin-right:auto;}
.breadcrumb{font-size:13px; color:var(--muted); margin-bottom:10px;}
.breadcrumb a{color:var(--primary);}

/* ===== Sections ===== */
section{padding:60px 0;}
.sec-head{text-align:center; margin-bottom:38px;}
.sec-head h2{font-size:27px; color:#0f172a; font-weight:800; position:relative; display:inline-block;}
.sec-head h2::after{content:""; display:block; width:48px; height:4px; border-radius:3px; background:var(--accent);
                    margin:12px auto 0;}
.sec-head p{color:var(--muted); margin-top:12px; font-size:15px;}
.sec-head.left{text-align:left;}
.sec-head.left h2::after{margin:12px 0 0;}

/* grids */
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}

.card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow); transition:.22s;}
.card:hover{box-shadow:var(--shadow-h); transform:translateY(-3px);}
.card .ico{width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; overflow:hidden;}
.card .ico img{max-width:100%; max-height:100%; object-fit:contain;}
.card h3{font-size:19px; color:#0f172a; margin-bottom:8px;}
.card .sub{color:var(--accent-d); font-size:13px; font-weight:600; margin-bottom:12px;}
.card p{font-size:14px; color:var(--muted);}
.card ul{list-style:none; margin-top:14px; border-top:1px dashed var(--line); padding-top:14px;}
.card ul li{font-size:13.5px; color:#4b5563; padding:4px 0 4px 18px; position:relative;}
.card ul li::before{content:"›"; position:absolute; left:2px; color:var(--primary); font-weight:800;}

.pillar{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 20px; text-align:center; box-shadow:var(--shadow);}
.pillar .num{width:42px; height:42px; line-height:42px; margin:0 auto 12px; border-radius:50%;
             background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; font-weight:800; font-size:18px;}
.pillar h4{font-size:16px; color:#0f172a; margin-bottom:6px;}
.pillar p{font-size:13px; color:var(--muted);}

/* 融资体检 band */
.band{background:linear-gradient(120deg,#1565c0,#0d9488); border-radius:18px; padding:40px; color:#fff;
      display:flex; align-items:center; gap:34px; flex-wrap:wrap;}
.band .b-text{flex:1; min-width:280px;}
.band .b-text .ey{font-size:13px; opacity:.85; letter-spacing:1px; font-weight:600;}
.band .b-text h3{font-size:24px; margin:8px 0 12px; font-weight:800;}
.band .b-text p{font-size:14.5px; opacity:.92; line-height:1.8;}
.band .b-flow{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
.band .b-flow span{background:rgba(255,255,255,.16); padding:6px 13px; border-radius:20px; font-size:13px;}
.band .b-btn{background:#fff; color:var(--primary); border:none; padding:14px 30px; border-radius:11px; font-weight:800;
             font-size:15px; cursor:pointer; white-space:nowrap;}
.band .b-logo{height:110px; width:auto; background:#fff; border-radius:16px; padding:12px;}

/* news / dynamics */
.grid3 .news .date{font-size:12px; color:var(--accent-d); font-weight:600;}
.news h3{font-size:17px;}
.dyn-card{cursor:pointer;}
.dyn-card .meta{display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); margin-bottom:8px;}
.dyn-card .meta .tag{background:#eef4fc; color:var(--primary); padding:2px 9px; border-radius:12px; font-weight:600;}
.dyn-card .meta .d{color:var(--accent-d); font-weight:600;}
.dyn-card h3{font-size:17px;}
.dyn-card p{font-size:14px; color:var(--muted); margin-top:8px;}
.dyn-card .more{display:inline-block; margin-top:12px; color:var(--primary); font-size:13px; font-weight:600;}

/* about + credentials */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start;}
.about-txt h3{font-size:20px; color:#0f172a; margin-bottom:12px;}
.about-txt p{font-size:14.5px; color:var(--muted); margin-bottom:14px;}
.info-list{list-style:none; margin-top:6px;}
.info-list li{font-size:14px; color:#374151; padding:8px 0; border-bottom:1px dashed var(--line); display:flex; gap:10px; flex-wrap:wrap;}
.info-list li b{color:var(--primary); min-width:64px; font-weight:700;}
.cred-title{font-size:16px; color:#0f172a; font-weight:700; margin:6px 0 16px;}
.grid-cred{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.cred{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 16px; text-align:center; box-shadow:var(--shadow); transition:.2s;}
.cred:hover{box-shadow:var(--shadow-h); transform:translateY(-2px);}
.cred .badge{width:46px; height:46px; margin:0 auto 10px; border-radius:12px; background:linear-gradient(135deg,var(--primary),var(--accent));
            display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:16px;}
.cred h4{font-size:14px; color:#0f172a; margin-bottom:4px;}
.cred p{font-size:12px; color:var(--muted);}
.cred img{width:100%; max-height:130px; object-fit:contain; background:#f8fafc; border-radius:10px; padding:8px; margin-bottom:10px;}

/* article modal */
.art-box{max-width:640px; width:90%; max-height:82vh; overflow:auto;}
.art-box h3{font-size:22px; color:#0f172a; margin-bottom:8px; padding-right:24px;}
.art-box .art-meta{font-size:13px; color:var(--muted); margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--line);}
.art-box .art-body{font-size:14.5px; color:#374151; line-height:1.95;}
.art-box .art-body p{margin-bottom:14px;}

/* detail page */
.feature-list{display:grid; gap:18px;}
.feature{background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px; box-shadow:var(--shadow);}
.feature h3{font-size:20px; color:#0f172a; margin-bottom:10px;}
.feature p{color:var(--muted); font-size:14.5px;}
.feature ul{margin-top:12px; list-style:none;}
.feature ul li{font-size:14px; color:#4b5563; padding:5px 0 5px 18px; position:relative;}
.feature ul li::before{content:"›"; position:absolute; left:2px; color:var(--primary); font-weight:800;}

/* service hall */
.hall-layout{display:grid; grid-template-columns:220px 1fr; gap:22px; align-items:start;}
.hall-sidebar{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--shadow); position:sticky; top:80px;}
.hall-sidebar h4{font-size:15px; margin-bottom:12px; color:#0f172a;}
.cat-list{list-style:none;}
.cat-list li{padding:9px 12px; border-radius:8px; cursor:pointer; font-size:14px; color:#374151; margin-bottom:4px;}
.cat-list li:hover,.cat-list li.active{background:#eef4fc; color:var(--primary); font-weight:600;}
.hall-main{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:var(--shadow); min-height:400px;}
.hall-toolbar{display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap;}
.hall-toolbar input{flex:1; min-width:220px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; font-size:14px;}
.hall-toolbar input:focus{outline:none; border-color:var(--primary);}
.hall-toolbar .count{color:var(--muted); font-size:13px; display:flex; align-items:center;}
.hall-item{border-bottom:1px solid var(--line); padding:16px 0;}
.hall-item:last-child{border-bottom:none;}
.hall-item h4{font-size:16px; color:#0f172a; margin-bottom:5px;}
.hall-item .meta{display:flex; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--muted); margin-bottom:8px;}
.hall-item .meta .price{color:#b45309; font-weight:700;}
.hall-item .meta .cycle{color:var(--accent-d); font-weight:600;}
.hall-item p{font-size:13.5px; color:#4b5563; margin-bottom:6px;}
.hall-item .tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:8px;}
.hall-item .tags span{background:#f1f5f9; color:#475467; padding:3px 9px; border-radius:12px; font-size:12px;}
.hall-item .more{color:var(--primary); font-size:13px; font-weight:700; cursor:pointer;}

/* footer */
footer{background:#0f172a; color:#cbd5e1; padding:48px 0 28px; margin-top:20px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:30px;}
footer h4{color:#fff; font-size:16px; margin-bottom:14px;}
footer h4 img{height:28px; width:auto; border-radius:6px; vertical-align:middle; margin-right:8px;}
footer p, footer li{font-size:13.5px; color:#9aa6b8; line-height:1.9;}
footer ul{list-style:none;}
.foot-form input,.foot-form textarea{width:100%; padding:10px 12px; border-radius:8px; border:1px solid #334155;
          background:#1e293b; color:#e2e8f0; margin-bottom:10px; font-family:inherit; font-size:13px;}
.foot-form button{background:var(--accent); color:#fff; border:none; padding:10px 22px; border-radius:8px;
                  cursor:pointer; font-weight:700;}
.copyright{text-align:center; color:#64748b; font-size:12px; margin-top:30px; padding-top:18px; border-top:1px solid #1e293b;}

/* login modal */
.modal{display:none; position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:100; align-items:center; justify-content:center;}
.modal-box{background:#fff; border-radius:16px; padding:30px; width:340px; box-shadow:var(--shadow-h); position:relative;}
.modal-box h3{font-size:19px; color:#0f172a; margin-bottom:4px;}
.modal-box .hint{font-size:12.5px; color:var(--muted); margin-bottom:18px;}
.modal-box input{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:9px; margin-bottom:14px;
                 font-size:14px; font-family:inherit;}
.modal-box input:focus{outline:none; border-color:var(--primary);}
.modal-box button.act{width:100%; background:var(--primary); color:#fff; border:none; padding:12px; border-radius:9px;
                   font-size:15px; font-weight:700; cursor:pointer;}
.modal-box .close{position:absolute; top:14px; right:18px; font-size:22px; color:#9aa6b8; cursor:pointer; background:none; border:none; width:auto;}
.dev-note{font-size:11px; color:#94a3b8; margin-top:12px; text-align:center;}

@media(max-width:880px){
  .grid2,.grid3,.grid4{grid-template-columns:1fr;}
  .about-grid,.grid-cred,.hall-layout{grid-template-columns:1fr;}
  .hall-sidebar{position:static;}
  .nav-links{display:none;}
  .hero h1,.page-hero h1{font-size:28px;}
  .foot-grid{grid-template-columns:1fr;}
  .band{flex-direction:column; align-items:flex-start;}
}
