/* ===== PAGE BANNER ===== */
.page-banner{background:linear-gradient(135deg,<?= h($config['theme_color'] ?? '#0050a9') ?> 0%,#003d82 100%);padding:3rem 1rem;text-align:center; background:url(/public/images/albg.jpg)}
.page-banner h1{font-size:2.25rem;font-weight:700;color:#003d82;margin-bottom:0.375rem}
.page-banner p{font-size:1rem;color:rgba(0, 61, 130,.8);max-width:600px;margin:0 auto}

/* ===== PAGE WRAP ===== */
.page-wrap{max-width:1200px;margin:0 auto;padding:2rem 1rem 3rem}
.breadcrumb{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--muted);margin-bottom:1.5rem}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--blue)}
.breadcrumb span{color:#ccc}

/* ===== BANNER ===== */
.banner{position:relative;height:420px;background:linear-gradient(135deg,var(--blue) 0%,#0077cc 100%);display:flex;align-items:center;justify-content:center;overflow:hidden; background:url(/public/images/albg.jpg)}
.banner::before{content:"";position:absolute;right:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%)}
.banner::after{content:"";position:absolute;left:-150px;bottom:-150px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%)}
.banner-content{position:relative;z-index:2;text-align:center;color:#003d82;padding:0 2rem}
.banner h1{font-size:3rem;font-weight:300;letter-spacing:4px;margin-bottom:0.5rem}
.banner h1 strong{font-weight:700}
.banner .en{font-size:0.875rem;color:rgba(0, 61, 130,.6);letter-spacing:6px;text-transform:uppercase;margin-bottom:1rem}
.banner .desc{font-size:1.125rem;color:rgba(0, 61, 130,.85);max-width:700px;margin:0 auto;line-height:1.8}
.banner .btn{display:inline-block;margin-top:2rem;padding:0.875rem 2.5rem;border:2px solid var(--gold);color:var(--gold);font-size:0.9375rem;letter-spacing:2px;transition:all .3s;border: 1px solid; border-radius:10px;}
.banner .btn:hover{background:var(--gold);color:#003366}

/* ===== PAGE WRAP ===== */

/* ===== CATE FILTER ===== */
.cate-filter{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:var(--r);box-shadow:var(--shadow)}
.cate-filter .label{font-size:0.9375rem;color:#666;font-weight:600;margin-right:0.5rem}
.cate-filter a{display:inline-flex;align-items:center;padding:0.375rem 1rem;border-radius:20px;font-size:0.875rem;color:#555;border:1px solid #e0e0e0;background:#fff;transition:all .2s;cursor:pointer}
.cate-filter a:hover{color:var(--blue);border-color:var(--blue)}
.cate-filter a.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ===== PROJECT GRID ===== */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.proj-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 16px rgba(0,60,140,.09);transition:box-shadow .35s,transform .35s;border:1px solid #eef4ff}
.proj-card:hover{box-shadow:0 14px 40px rgba(0,80,169,.22);transform:translateY(-6px)}
.proj-thumb{width:100%;height:210px;overflow:hidden;position:relative;background:linear-gradient(145deg,#edf3ff,#ddeeff)}
.proj-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.proj-card:hover .proj-thumb img{transform:scale(1.08)}
.proj-thumb .tag{position:absolute;top:14px;left:14px;background:var(--blue);color:#fff;font-size:0.75rem;padding:0.3rem 0.875rem;border-radius:20px;font-weight:600;letter-spacing:.5px;box-shadow:0 2px 8px rgba(0,80,169,.35)}
.proj-thumb .icon-badge{position:absolute;bottom:14px;right:14px;width:42px;height:42px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.proj-info{padding:1.375rem 1.375rem 0}
.proj-name{font-size:1.0625rem;font-weight:700;color:#1a2a4a;margin-bottom:0.5rem;line-height:1.45;display:flex;align-items:center;gap:0.4rem}
.proj-name::before{content:"";width:18px;height:18px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230050a9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.75}
.proj-desc{font-size:0.875rem;color:#7a8aaa;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1rem;min-height:2.8em}
.proj-footer{padding:0 1.375rem 1.375rem;display:flex;gap:0.5rem;align-items:center}
.proj-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:0.3rem;padding:0.575rem 0;font-size:0.875rem;font-weight:600;border-radius:22px;transition:all .22s;cursor:pointer;text-decoration:none}
.proj-btn.outline{flex:1;background:#fff;color:var(--blue);border:1.5px solid var(--blue)}
.proj-btn.outline:hover{background:var(--blue);color:#fff}
.proj-btn.green{flex:1;background:#7fbe26;color:#fff;border:1.5px solid #7fbe26;letter-spacing:.3px}
.proj-btn.green:hover{background:#6ba81f;border-color:#6ba81f}

/* 空状态 */
.empty-state{grid-column:1/-1;text-align:center;padding:60px 0;color:#999;font-size:1rem}

/* ===== CONSULT STRIP ===== */
.consult-strip{background:linear-gradient(135deg,var(--blue) 0%,#003d82 100%);padding:2.5rem 1rem;text-align:center;margin-top:2rem;border-radius:var(--r)}
.consult-strip p{color:rgba(255,255,255,.9);font-size:1rem;margin-bottom:0.75rem}
.consult-strip .tel{color:#7fbe26;font-size:2rem;font-weight:700;margin-bottom:1.25rem;letter-spacing:2px}
.consult-strip a{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 2rem;background:#fff;color:var(--blue);border-radius:30px;font-size:1rem;font-weight:600;transition:opacity .2s}
.consult-strip a:hover{opacity:0.9}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .proj-grid{grid-template-columns:repeat(2,1fr)}
  .top_center_left{min-width:200px;max-width:280px;height:44px}
}
@media(max-width:767px){
  .top_center{height:60px}
  .top_center_left{min-width:100px;max-width:160px;height:36px;background:url(/public/images/logo_m.jpg) no-repeat;background-size:contain;background-position:left center;flex-shrink:0}
  .rexian span{display:none}
  .rexian strong{font-size:1.25rem}
  .menu{padding:0}
  .nav{display:none}
  .mbtn{display:flex}
  .proj-grid{grid-template-columns:1fr}
  .proj-thumb{height:180px}
  .page-banner{padding:2rem 1rem}
  .page-banner h1{font-size:1.75rem}
  .consult-strip .tel{font-size:1.5rem}
  footer{display:none}
  .float-btn{right:10px;bottom:60px}
  .float-btn a{width:42px;height:42px}
}