/* ========== Reset & Base ========== */
*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:"Microsoft YaHei","微软雅黑","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;color:#333;background:#f5f5f5;}
a{text-decoration:none;color:#333;transition:color .2s;}
a:hover{color:#ff7f00;}
ul,ol{list-style:none;}
img{border:0;max-width:100%;vertical-align:middle;}
.clearfix::after{content:"";display:block;clear:both;}
.clear{clear:both;}

/* ========== Global Container ========== */
.container{max-width:1200px;margin:0 auto;padding:0 15px;}

/* ========== Variables ========== */
:root{
  --primary:#ff7f00;
  --primary-dark:#e8720a;
  --primary-light:#fff5e6;
  --text:#333;
  --text-light:#666;
  --text-lighter:#999;
  --border:#e8e8e8;
  --bg:#f5f5f5;
  --white:#fff;
}

/* ========== Top Bar ========== */
.top-bar{background:#2c2c2c;color:#ccc;height:36px;line-height:36px;font-size:12px;}
.top-bar .container{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;justify-content:space-between;align-items:center;}
.top-bar .top-left a{color:#ff7f00;margin-left:15px;}
.top-bar .top-right a{color:#ccc;margin:0 8px;}
.top-bar .top-right a:hover{color:#ff7f00;}

/* ========== Header ========== */
.header{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.header .container{max-width:1200px;margin:0 auto;padding:15px;display:flex;align-items:center;justify-content:space-between;}
.logo-area{display:flex;align-items:center;gap:12px;}
.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,#ff7f00,#ffb84d);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:bold;}
.logo-text h1{font-size:20px;color:#2c2c2c;font-weight:bold;line-height:1.4;}
.logo-text p{font-size:12px;color:#999;line-height:1.4;}
.search-area{flex:1;max-width:480px;margin:0 30px;}
.search-box{display:flex;border:2px solid #ff7f00;border-radius:4px;overflow:hidden;height:40px;}
.search-box input{flex:1;border:0;padding:0 12px;font-size:14px;outline:none;}
.search-box button{background:#ff7f00;color:#fff;border:0;width:80px;font-size:14px;cursor:pointer;transition:background .2s;font-weight:bold;}
.search-box button:hover{background:var(--primary-dark);}
.header-contact{text-align:right;}
.header-contact .phone{font-size:20px;color:#ff7f00;font-weight:bold;letter-spacing:1px;}
.header-contact .phone-label{font-size:12px;color:#999;}

/* ========== Navigation ========== */
.nav-bar{background:#fff;border-top:2px solid #ff7f00;}
.nav-bar .container{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;align-items:center;}
.nav-bar ul{display:flex;}
.nav-bar li{position:relative;}
.nav-bar li a{display:block;padding:0 22px;line-height:46px;font-size:15px;font-weight:bold;color:#333;}
.nav-bar li a:hover,.nav-bar li.active a{color:#ff7f00;background:var(--primary-light);}
.nav-bar li.active a{border-bottom:3px solid #ff7f00;}

/* ========== Banner ========== */
.banner{width:100%;height:420px;overflow:hidden;position:relative;}
.banner-slides{width:100%;height:100%;position:relative;}
.banner-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out;display:flex;align-items:center;justify-content:center;}
.banner-slide.active{opacity:1;}
.banner-slide:nth-child(1){background:linear-gradient(135deg,#1a1a2e 0%,#16213e 40%,#0f3460 70%,#ff7f00 100%);}
.banner-slide:nth-child(2){background:linear-gradient(135deg,#2c3e50 0%,#4a5568 50%,#ff7f00 100%);}
.banner-slide:nth-child(3){background:linear-gradient(135deg,#1a1a2e 0%,#533483 50%,#ff7f00 100%);}
.banner-slide .banner-content{max-width:1200px;width:100%;padding:0 40px;color:#fff;text-align:center;}
.banner-slide .banner-content h2{font-size:42px;margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:2px;}
.banner-slide .banner-content p{font-size:18px;margin-bottom:24px;opacity:.9;line-height:1.6;}
.banner-slide .banner-content .banner-btn{display:inline-block;padding:12px 36px;background:#ff7f00;color:#fff;border-radius:4px;font-size:16px;font-weight:bold;transition:all .3s;}
.banner-slide .banner-content .banner-btn:hover{background:#fff;color:#ff7f00;transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,127,0,.4);}
.banner-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;}
.banner-dots span{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;}
.banner-dots span.active{background:#ff7f00;transform:scale(1.3);}

/* ========== Section Common ========== */
.section{max-width:1200px;margin:40px auto;padding:0 15px;}
.section-title{text-align:center;margin-bottom:30px;}
.section-title h2{font-size:28px;color:#2c2c2c;font-weight:bold;position:relative;display:inline-block;padding-bottom:10px;}
.section-title h2::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:#ff7f00;border-radius:2px;}
.section-title p{color:#999;font-size:14px;margin-top:8px;}

/* ========== Info Cards Section ========== */
.info-section{background:#fff;padding:40px 0;margin-top:0;}
.info-section .container{max-width:1200px;margin:0 auto;padding:0 15px;}
.info-section .section-title{text-align:left;margin-bottom:25px;}
.info-section .section-title h2{font-size:24px;color:#ff7f00;}
.info-section .section-title h2::after{left:0;transform:none;}
.info-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.info-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .3s;background:#fff;cursor:pointer;}
.info-card:hover{box-shadow:0 8px 25px rgba(255,127,0,.15);transform:translateY(-4px);border-color:#ff7f00;}
.info-card .card-img{width:100%;height:160px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;}
.info-card .card-img .icon-bg{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;}
.info-card .card-img .bg1{background:linear-gradient(135deg,#ff7f00,#ff6b6b);}
.info-card .card-img .bg2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.info-card .card-img .bg3{background:linear-gradient(135deg,#667eea,#764ba2);}
.info-card .card-img .bg4{background:linear-gradient(135deg,#f093fb,#f5576c);}
.info-card .card-img .bg5{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.info-card .card-img .bg6{background:linear-gradient(135deg,#fa709a,#fee140);}
.info-card .card-img .bg7{background:linear-gradient(135deg,#30cfd0,#330867);}
.info-card .card-img .bg8{background:linear-gradient(135deg,#a8edea,#fed6e3);}
.info-card .card-body{padding:15px;}
.info-card .card-body h3{font-size:15px;color:#333;margin-bottom:8px;line-height:1.5;font-weight:bold;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.info-card .card-body p{font-size:12px;color:#999;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.info-card .card-body .card-tag{margin-top:10px;}
.info-card .card-body .card-tag span{display:inline-block;padding:2px 10px;background:var(--primary-light);color:#ff7f00;border-radius:3px;font-size:12px;}

/* ========== About + Contact ========== */
.about-contact{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1200px;margin:40px auto;padding:0 15px;}
.about-card,.contact-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);}

.about-card .card-content,.contact-card .card-content{padding:25px;}
.about-card .card-content h3,.contact-card .card-content h3{font-size:18px;color:#ff7f00;margin-bottom:12px;font-weight:bold;}
.about-card .card-content p,.contact-card .card-content p{font-size:13px;color:#666;line-height:2;}

/* ========== Service Highlights ========== */
.service-highlights{background:#fff;padding:50px 0;}
.service-highlights .container{max-width:1200px;margin:0 auto;padding:0 15px;}
.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:30px;}
.highlight-item{text-align:center;padding:30px 15px;border-radius:8px;transition:all .3s;}
.highlight-item:hover{background:var(--primary-light);transform:translateY(-5px);}
.highlight-item .hl-icon{width:64px;height:64px;margin:0 auto 15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#ff7f00;background:var(--primary-light);}
.highlight-item .hl-icon i{font-size:inherit;color:inherit;}
.highlight-item h3{font-size:16px;color:#333;margin-bottom:8px;}
.highlight-item p{font-size:13px;color:#999;line-height:1.6;}

/* ========== Footer ========== */
.footer{background:#2c2c2c;color:#999;padding:40px 0 0;margin-top:0;}
.footer .container{max-width:1200px;margin:0 auto;padding:0 15px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:30px;border-bottom:1px solid #3a3a3a;}
.footer-about h3{color:#fff;font-size:18px;margin-bottom:15px;}
.footer-about p{font-size:13px;line-height:1.8;color:#888;}
.footer-about .footer-contact-item{margin-bottom:10px;font-size:13px;color:#888;}
.footer-about .footer-contact-item strong{color:#ff7f00;}
.footer-links h3{color:#fff;font-size:16px;margin-bottom:15px;}
.footer-links li{margin-bottom:10px;}
.footer-links li a{color:#888;font-size:13px;}
.footer-links li a:hover{color:#ff7f00;}
.footer-bottom{text-align:center;padding:20px 0;font-size:12px;color:#666;}
.footer-bottom a{color:#666;margin:0 8px;}
.footer-bottom a:hover{color:#ff7f00;}

/* ========== Back to Top ========== */
.back-to-top{position:fixed;right:20px;bottom:30px;width:48px;height:48px;background:#ff7f00;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;font-size:20px;z-index:999;box-shadow:0 4px 15px rgba(255,127,0,.4);}
.back-to-top.show{opacity:1;visibility:visible;}
.back-to-top:hover{background:var(--primary-dark);}

/* ========== Responsive ========== */
@media(max-width:1024px){
  .info-cards{grid-template-columns:repeat(2,1fr);}
  .highlights-grid{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .search-area{display:none;}
}
@media(max-width:768px){
  .top-bar .container{flex-direction:column;gap:5px;}
  .header .container{flex-wrap:wrap;gap:10px;}
  .nav-bar .container{flex-wrap:wrap;}
  .nav-bar ul{flex-wrap:wrap;}
  .nav-bar li a{padding:0 12px;font-size:13px;}
  .banner-slide .banner-content h2{font-size:24px;}
  .banner-slide .banner-content p{font-size:14px;}
  .info-cards{grid-template-columns:1fr;}
  .highlights-grid{grid-template-columns:1fr;}
  .about-contact{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .section{margin:20px auto;}
}
