* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei",Arial,sans-serif; font-size:14px; color:#333; background:#fff; }
a { text-decoration:none; color:inherit; }
ul,ol { list-style:none; }
img { border:0; vertical-align:middle; }

/* ===== Header ===== */
.header { width:1200px; margin:0 auto; background:#fff; height:130px; position:relative; }
.header .logo { padding:8px 0 0 0; }
.header .logo img { width:992px; height:109px; }

/* ===== Nav (full-width + sticky) ===== */
.nav { width:100%; height:62px; background:#07990b; position:sticky; top:0; z-index:1000; box-shadow:0 2px 6px rgba(0,0,0,0.15); }
.nav ul { display:flex; list-style:none; width:1200px; margin:0 auto; justify-content:flex-end; }
.nav ul li { position:relative; width:120px; text-align:center; }
.nav ul li a { display:block; height:62px; line-height:62px; color:#fff; font-size:16px; font-family:"Microsoft YaHei"; }
.nav ul li a:hover, .nav ul li a.active { background:#07990b; color:#fff; }
.nav ul li:hover > a { background:rgba(0,0,0,0.1); }
.nav ul li ul { display:none; position:absolute; top:62px; left:0; width:120px; z-index:200; }
.nav ul li:hover ul { display:block; }
.nav ul li ul li { width:120px; height:40px; background:#09cf2d; }
.nav ul li ul li a { height:40px; line-height:40px; font-size:14px; color:#fff; }
.nav ul li ul li a:hover { background:#008419; color:#fff; }

/* ===== Banner (homepage, 401px) - horizontal slide ===== */
.banner { width:1200px; margin:0 auto; height:401px; overflow:hidden; position:relative; }
.banner .slides { width:100%; height:100%; overflow:hidden; position:relative; }
.banner .slide-track { display:flex; height:100%; transition:transform 0.8s ease-in-out; }
.banner .slide-track li { flex:0 0 100%; height:100%; list-style:none; }
.banner .slide-track img { width:100%; height:401px; object-fit:cover; display:block; }
.banner .banner-text { position:absolute; top:70px; left:325px; z-index:10; text-align:center; }
.banner .banner-text h2 { font-size:60px; color:#fff; font-weight:bold; font-family:"Microsoft YaHei"; text-shadow:2px 2px 4px rgba(0,0,0,0.5); }
.banner .banner-text p { font-size:24px; color:#fff; text-transform:uppercase; text-shadow:1px 1px 3px rgba(0,0,0,0.5); margin-top:5px; }
.banner .banner-imgs { position:absolute; top:175px; left:232px; display:flex; gap:21px; z-index:10; }
.banner .banner-imgs img { width:220px; height:165px; border:6px solid #fff; }

/* ===== Sub Banner (sub-pages, 246px) - horizontal slide ===== */
.sub-banner { width:1200px; margin:0 auto; height:246px; overflow:hidden; position:relative; }
.sub-banner .slides { width:100%; height:100%; overflow:hidden; position:relative; }
.sub-banner .slide-track { display:flex; height:100%; transition:transform 0.8s ease-in-out; }
.sub-banner .slide-track li { flex:0 0 100%; height:100%; list-style:none; }
.sub-banner .slide-track img { width:100%; height:246px; object-fit:cover; display:block; }
.sub-banner .sub-banner-text { position:absolute; top:35px; left:200px; z-index:10; text-align:center; }
.sub-banner .sub-banner-text h2 { font-size:36px; color:#fff; font-weight:bold; font-family:"Microsoft YaHei"; text-shadow:2px 2px 4px rgba(0,0,0,0.5); }
.sub-banner .sub-banner-text p { font-size:14px; color:#fff; text-transform:uppercase; text-shadow:1px 1px 3px rgba(0,0,0,0.5); margin-top:3px; }
.sub-banner .sub-banner-imgs { position:absolute; top:100px; left:142px; display:flex; gap:13px; z-index:10; }
.sub-banner .sub-banner-imgs img { width:135px; height:101px; border:4px solid #fff; }

/* ===== Slider Nav (dots + arrows) ===== */
.banner-nav, .sub-banner-nav { position:absolute; bottom:15px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:20; }
.banner-nav span, .sub-banner-nav span { width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.4); cursor:pointer; transition:background 0.3s; }
.banner-nav span.active, .sub-banner-nav span.active { background:#fff; }
.banner-arrow, .sub-banner-arrow { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; background:rgba(0,0,0,0.3); color:#fff; font-size:22px; line-height:36px; text-align:center; cursor:pointer; z-index:20; border-radius:50%; user-select:none; font-family:Arial,sans-serif; }
.banner-arrow:hover, .sub-banner-arrow:hover { background:rgba(0,0,0,0.6); }
.banner-arrow.arrow-left, .sub-banner-arrow.arrow-left { left:10px; }
.banner-arrow.arrow-right, .sub-banner-arrow.arrow-right { right:10px; }

/* ===== Entrance Animations (match original site velocity.js effects) ===== */
@keyframes fromLeft { from { transform:translateX(-80px); opacity:0; } to { transform:translateX(0); opacity:1; } }
@keyframes fromRight { from { transform:translateX(80px); opacity:0; } to { transform:translateX(0); opacity:1; } }
.anim-fromleft { animation:fromLeft 1.2s ease-out forwards; }
.anim-fromright { animation:fromRight 1.2s ease-out forwards; }

/* ===== Home About Section ===== */
.home-about { width:1200px; margin:0 auto; background:#fff; padding:20px 0; display:flex; }
.home-about .about-img { width:336px; height:260px; margin-right:20px; }
.home-about .about-img img { width:324px; height:248px; border:6px solid #e3f1e3; }
.home-about .about-content { flex:1; }
.home-about .about-content .title-bar { background:#f5f9f5; height:50px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; }
.home-about .about-content .title-bar h3 { font-size:30px; color:#07990b; font-family:"Microsoft YaHei"; font-weight:bold; }
.home-about .about-content .title-bar .more-btn { display:inline-block; padding:8px 20px; border:1px solid #07990b; color:#07990b; font-size:16px; border-radius:3px; font-family:"Microsoft YaHei"; }
.home-about .about-content .title-bar .more-btn:hover { background:#07990b; color:#fff; }
.home-about .about-content p { font-size:16px; color:#7b7b7b; line-height:230%; font-family:"Microsoft YaHei"; padding:15px 0; text-indent:2em; }

/* ===== Home Cases Section (full-width green bg) ===== */
.home-cases { width:100%; background:#f5f9f5; padding:25px 0; }
.home-cases .home-cases-inner { width:1200px; margin:0 auto; }
.home-cases .section-title { font-size:30px; color:#07990b; font-weight:bold; font-family:"Microsoft YaHei"; margin-bottom:15px; padding-left:20px; }
.home-cases .cases-scroll { overflow:hidden; height:208px; position:relative; }
.home-cases .cases-list { display:flex; gap:0; }
.home-cases .case-item { width:240px; margin:0 12px; text-align:center; flex-shrink:0; }
.home-cases .case-item img { width:240px; height:150px; }
.home-cases .case-item .case-title { font-size:16px; color:#6d6c6c; font-family:"Microsoft YaHei"; padding:8px 0; text-align:center; }

/* ===== Slogan Bar (full-width) ===== */
.slogan-bar { width:100%; height:236px; background:url('/images/bjt1.jpg') center top repeat; position:relative; }
.slogan-bar .slogan-inner { width:1200px; margin:0 auto; height:100%; position:relative; }
.slogan-bar .slogan-left { position:absolute; top:71px; left:330px; }
.slogan-bar .slogan-left h3 { font-size:30px; color:#fff; font-weight:bold; font-family:"Microsoft YaHei"; }
.slogan-bar .slogan-left p { font-size:30px; color:#fff; font-weight:bold; font-family:"Microsoft YaHei"; line-height:136%; }
.slogan-bar .slogan-right { position:absolute; top:91px; left:619px; color:#fff; }
.slogan-bar .slogan-right p { font-size:18px; color:#fff; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; }
.slogan-bar .divider { position:absolute; width:312px; height:1px; background:rgba(255,255,255,0.5); }

/* ===== Footer (full-width) ===== */
.footer { width:100%; background:#f5f9f5; height:254px; position:relative; padding-top:30px; }
.footer .footer-inner { width:1200px; margin:0 auto; display:flex; justify-content:space-between; padding:0 60px; }
.footer .footer-logo { width:60px; height:50px; margin-right:15px; }
.footer .footer-logo img { width:60px; height:50px; }
.footer .footer-left { display:flex; align-items:flex-start; }
.footer .footer-left .footer-title { font-size:30px; color:#07990b; font-weight:bold; font-family:"Microsoft YaHei"; margin-bottom:10px; }
.footer .footer-left .footer-info p { font-size:15px; color:#5e5e5e; font-family:"Microsoft YaHei"; line-height:180%; }
.footer .footer-center .hotline-label { font-size:18px; color:#07990b; font-family:"Microsoft YaHei"; }
.footer .footer-center .hotline { font-size:36px; color:#07990b; font-weight:bold; font-family:"Microsoft YaHei"; }
.footer .footer-search { width:279px; }
.footer .footer-search input { width:220px; height:36px; border:2px solid #07990b; padding:0 10px; font-size:12px; }
.footer .footer-search button { width:50px; height:36px; background:#07990b; color:#fff; border:none; cursor:pointer; font-size:14px; font-family:"Microsoft YaHei"; }
.footer .copyright { text-align:center; padding-top:15px; width:1200px; margin:0 auto; }
.footer .copyright p { font-size:16px; color:#07990b; font-family:"Microsoft YaHei"; }

/* ===== Sub Page Layout ===== */
.sub-page { width:1200px; margin:0 auto; }
.breadcrumb { background:#f5f9f5; height:40px; line-height:40px; padding:0 20px; font-size:14px; color:#666; }
.breadcrumb a { color:#07990b; }
.breadcrumb span { margin:0 5px; color:#999; }
.sub-content { display:flex; padding:20px 0; }
.sidebar { width:220px; flex-shrink:0; }
.sidebar .sidebar-title { background:#07990b; color:#fff; height:50px; line-height:50px; text-align:center; font-size:18px; font-family:"Microsoft YaHei"; font-weight:bold; }
.sidebar ul { border:1px solid #e0e0e0; border-top:none; }
.sidebar ul li { border-bottom:1px solid #eee; }
.sidebar ul li a { display:block; padding:12px 20px; font-size:14px; color:#555; font-family:"Microsoft YaHei"; }
.sidebar ul li a:hover, .sidebar ul li a.active { color:#07990b; font-weight:bold; background:#f5f9f5; }
.main-content { flex:1; padding:0 25px; }
.main-content h1 { font-size:24px; color:#333; font-family:"Microsoft YaHei"; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid #07990b; }
.main-content .article { font-size:16px; color:#555; line-height:200%; font-family:"Microsoft YaHei"; }
.main-content .article p { margin-bottom:15px; text-indent:2em; }
.main-content .article strong { color:#333; }
.main-content .article ol { padding-left:30px; margin-bottom:15px; }
.main-content .article ol li { margin-bottom:8px; line-height:200%; }

/* ===== Cases Page ===== */
.cases-grid { display:flex; flex-wrap:wrap; gap:20px; }
.cases-grid .case-card { width:260px; border:1px solid #eee; }
.cases-grid .case-card img { width:260px; height:160px; }
.cases-grid .case-card .case-name { padding:10px; text-align:center; font-size:14px; color:#6d6c6c; font-family:"Microsoft YaHei"; }

/* ===== News Page ===== */
.news-list { }
.news-list .news-item { border-bottom:1px dashed #ddd; padding:15px 0; }
.news-list .news-item .news-cat { display:inline-block; background:#07990b; color:#fff; padding:2px 8px; font-size:12px; border-radius:3px; margin-right:10px; }
.news-list .news-item .news-title { font-size:16px; color:#333; font-family:"Microsoft YaHei"; }
.news-list .news-item .news-title:hover { color:#07990b; }
.news-list .news-item .news-date { color:#999; font-size:14px; margin-left:15px; }

/* ===== Contact Page ===== */
.contact-info { font-size:16px; color:#555; line-height:200%; font-family:"Microsoft YaHei"; }
.contact-info p { margin-bottom:10px; }
.contact-info strong { color:#07990b; }

/* ===== Admin ===== */
.admin-body { background:#f0f0f0; }
.admin-container { max-width:1200px; margin:30px auto; background:#fff; padding:30px; border-radius:5px; }
.admin-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; border-bottom:2px solid #07990b; padding-bottom:15px; }
.admin-header h1 { font-size:24px; color:#07990b; }
.admin-nav a { display:inline-block; padding:8px 15px; background:#07990b; color:#fff; margin-left:10px; border-radius:3px; font-size:14px; }
.admin-table { width:100%; border-collapse:collapse; margin-top:20px; }
.admin-table th, .admin-table td { border:1px solid #ddd; padding:10px; text-align:left; font-size:14px; }
.admin-table th { background:#07990b; color:#fff; }
.admin-table .btn { display:inline-block; padding:4px 10px; font-size:12px; border-radius:3px; margin-right:5px; cursor:pointer; }
.admin-table .btn-edit { background:#07990b; color:#fff; }
.admin-table .btn-del { background:#e74c3c; color:#fff; }
.admin-form .form-group { margin-bottom:15px; }
.admin-form label { display:block; margin-bottom:5px; font-weight:bold; color:#555; }
.admin-form input[type=text], .admin-form input[type=date], .admin-form textarea { width:100%; padding:8px; border:1px solid #ccc; border-radius:3px; font-size:14px; }
.admin-form textarea { min-height:200px; }
.admin-form .btn-save { padding:10px 30px; background:#07990b; color:#fff; border:none; border-radius:3px; cursor:pointer; font-size:16px; }
.login-box { max-width:400px; margin:100px auto; background:#fff; padding:40px; border-radius:5px; box-shadow:0 0 10px rgba(0,0,0,0.1); }
.login-box h1 { text-align:center; color:#07990b; margin-bottom:30px; }
.login-box .form-group { margin-bottom:20px; }
.login-box input { width:100%; padding:10px; border:1px solid #ccc; border-radius:3px; font-size:14px; }
.login-box button { width:100%; padding:12px; background:#07990b; color:#fff; border:none; border-radius:3px; cursor:pointer; font-size:16px; }