/* ========== Reset & Base ========== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Microsoft YaHei','微软雅黑',Arial,sans-serif;color:#333;background:#fff;font-size:14px;line-height:1.6}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{border:0;max-width:100%}
.container{width:1200px;margin:0 auto;position:relative}

/* ========== Topbar ========== */
.topbar{height:32px;background:#fff;border-bottom:1px solid #eee;line-height:32px;font-size:12px;color:#999}
.topbar .container{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.topbar .search-icon{width:16px;height:16px;cursor:pointer;color:#666}
.topbar a{color:#999;margin:0 4px;transition:color .2s;cursor:pointer}
.topbar a:hover{color:#1a3a6b}
.topbar a.active{color:#1a3a6b;font-weight:700;text-decoration:underline}
.topbar .sep{color:#ddd}

/* ========== Header ========== */
.header{background:#fff;padding:12px 0;position:relative}
.header .container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:0}
.logo-geo{width:70px;height:60px;position:relative;margin-right:10px}
.logo-geo .d1{position:absolute;width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:40px solid #3a8fb7;top:0;left:0}
.logo-geo .d2{position:absolute;width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:35px solid #5ba3b5;top:10px;left:10px}
.logo-geo .d3{position:absolute;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:28px solid #2d7a94;top:18px;left:5px}
.logo-text h1{font-size:22px;font-weight:700;color:#1a3a6b;letter-spacing:2px;line-height:1.2}
.logo-text h1 span{color:#3a8fb7}
.logo-text p{font-size:11px;color:#999;letter-spacing:1px}

/* ========== Nav ========== */
.nav{display:flex;align-items:center;gap:0}
.nav li a{display:block;padding:0 16px;line-height:60px;font-size:15px;color:#333;transition:all .2s;position:relative}
.nav li a:hover,.nav li a.active{color:#1a3a6b}
.nav li a.active::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:30px;height:2px;background:#1a3a6b}

/* ========== Page Banner ========== */
.page-banner{background:#1a3a6b;padding:50px 0;text-align:center;color:#fff}
.page-banner h2{font-size:32px;letter-spacing:3px}
.page-banner p{margin-top:8px;opacity:.8;font-size:14px}

/* ========== Section Common ========== */
.section{padding:50px 0}
.section-bg{background:#f5f5f5}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:25px;padding-bottom:12px;border-bottom:1px solid #eee}
.section-head h2{font-size:22px;color:#1a3a6b;font-weight:700}
.section-head h2 span{font-size:13px;color:#999;font-weight:400;margin-left:10px}
.section-head h3{font-size:22px;color:#1a3a6b;font-weight:700}
.section-head h3 span{font-size:13px;color:#999;font-weight:400;margin-left:10px}
.section-head .more{color:#999;font-size:13px;cursor:pointer;transition:color .2s}
.section-head .more:hover{color:#1a3a6b}

/* ========== Carousel Wrapper ========== */
.carousel-wrap{position:relative;padding:0 25px}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:60px;background:rgba(255,255,255,.9);border:1px solid #ddd;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s;z-index:5}
.carousel-arrow:hover{background:#1a3a6b;color:#fff;border-color:#1a3a6b}
.carousel-arrow.prev{left:-16px}
.carousel-arrow.next{right:-16px}

/* ========== Service Cards (index) ========== */
.svc-carousel{display:flex;gap:20px;overflow:hidden}
.svc-card{min-width:calc(25% - 15px);background:#fff;border:1px solid #eee;text-align:center;transition:all .3s;flex-shrink:0}
.svc-card:hover{border-color:#1a3a6b;box-shadow:0 4px 20px rgba(26,58,107,.1)}
.svc-card .thumb{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.svc-card .thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}
.svc-card .thumb-placeholder.law{background:linear-gradient(135deg,#2c5f7c,#3a7ca5)}
.svc-card .thumb-placeholder.audit{background:linear-gradient(135deg,#5a7a6a,#7a9a8a)}
.svc-card .thumb-placeholder.biz{background:linear-gradient(135deg,#8a7a5a,#a09070)}
.svc-card .thumb-placeholder.other{background:linear-gradient(135deg,#6a6a8a,#8a8aaa)}
.svc-card .info{padding:15px}
.svc-card h3{font-size:16px;color:#1a3a6b;margin-bottom:8px}
.svc-card p{font-size:12px;color:#999;line-height:1.8;min-height:40px}
.svc-card .add-btn{width:36px;height:36px;margin:10px auto;border:1px solid #ddd;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:20px;cursor:pointer;transition:all .2s}
.svc-card .add-btn:hover{border-color:#1a3a6b;color:#1a3a6b}

/* ========== Policy & News Carousel (index) ========== */
.policy-carousel,.news-carousel,.act-carousel{display:flex;gap:20px;overflow:hidden}
.policy-card,.news-card,.act-item{min-width:calc(25% - 15px);flex-shrink:0}
.policy-card h4,.news-card h4{font-size:15px;color:#1a3a6b;margin-bottom:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.policy-card p,.news-card p{font-size:12px;color:#999;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.policy-card .go-btn,.news-card .go-btn,.act-item .go-btn{display:inline-flex;align-items:center;justify-content:center;width:60px;height:28px;border:1px solid #ddd;color:#999;font-size:12px;margin-top:10px;transition:all .2s;cursor:pointer}
.policy-card .go-btn:hover,.news-card .go-btn:hover,.act-item .go-btn:hover{border-color:#1a3a6b;color:#1a3a6b}

/* ========== Activity (index) ========== */
.act-tabs{display:flex;gap:20px;margin-left:auto}
.act-tabs span{font-size:14px;color:#999;cursor:pointer;padding-bottom:4px;transition:color .2s}
.act-tabs span.active{color:#1a3a6b;font-weight:700;border-bottom:2px solid #1a3a6b}
.act-item .thumb{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden}
.act-item .thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;background:linear-gradient(135deg,#e8eff6,#d0dce8)}
.act-item h4{font-size:14px;color:#333;margin-bottom:6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.act-item .desc{font-size:12px;color:#999;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}

/* ========== About Brief (index) ========== */
.about-brief-section{background:#f5f5f5}
.about-brief-inner{display:flex;gap:40px;align-items:stretch}
.about-brief-left{width:400px;flex-shrink:0;position:relative;overflow:hidden;border-radius:2px}
.about-brief-left .img-placeholder{width:100%;height:280px;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.about-brief-left .office-text{font-size:32px;font-weight:700;color:#1a3a6b;letter-spacing:3px}
.about-brief-left .welcome-text{font-size:14px;color:#1a3a6b;margin-top:8px;letter-spacing:2px}
.about-brief-right{flex:1;padding:20px 0}
.about-brief-right h3{font-size:22px;color:#1a3a6b;margin-bottom:15px;font-weight:700}
.about-brief-right p{font-size:13px;color:#666;line-height:2.2}

/* ========== Service Detail Page ========== */
.svc-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.svc-dcard{border:1px solid #e8e8e8;transition:all .3s;background:#fff}
.svc-dcard:hover{border-color:#1a3a6b;box-shadow:0 4px 20px rgba(26,58,107,.1)}
.svc-dcard .hd{background:#1a3a6b;color:#fff;padding:22px 18px;text-align:center}
.svc-dcard .hd .ico{font-size:32px;margin-bottom:6px}
.svc-dcard .hd h4{font-size:16px;letter-spacing:1px}
.svc-dcard .bd{padding:20px}
.svc-dcard .bd li{padding:6px 0;border-bottom:1px dashed #f0f0f0;font-size:13px;color:#555}
.svc-dcard .bd li:before{content:'●';color:#e87a00;font-size:8px;margin-right:8px}

/* ========== Industry Grid ========== */
.industry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.industry-item{text-align:center;padding:22px 8px;border:1px solid #eee;transition:all .3s;background:#fff}
.industry-item:hover{background:#1a3a6b;color:#fff;border-color:#1a3a6b}
.industry-item .ico{font-size:26px;margin-bottom:6px}
.industry-item p{font-size:13px}

/* ========== About Page ========== */
.content{max-width:900px;margin:0 auto;line-height:2.2;color:#555;font-size:14px}
.content p{margin-bottom:14px;text-indent:2em}
.highlight-box{background:#f0f5fb;padding:30px;border-left:4px solid #e87a00;margin:20px 0;border-radius:0 4px 4px 0}
.highlight-box p{text-indent:0;margin-bottom:6px}
.highlight-box strong{color:#1a3a6b}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px}
.val-card{text-align:center;padding:28px 18px;border:1px solid #eee;background:#fff}
.val-card .ico{font-size:36px;margin-bottom:12px}
.val-card h4{font-size:17px;color:#1a3a6b;margin-bottom:8px}
.val-card p{font-size:13px;color:#888;line-height:1.8}
.timeline{padding-left:20px;margin-top:20px}
.tl-item{padding:16px 20px;border-left:2px solid #e87a00;margin-bottom:16px}
.tl-item .yr{font-size:18px;font-weight:700;color:#1a3a6b}
.tl-item p{color:#666;margin-top:4px;font-size:13px}

/* ========== Team Page ========== */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}
.stat-card{text-align:center;padding:25px 15px;background:#f7f9fc;border:1px solid #e8e8e8}
.stat-card .num{font-size:34px;font-weight:700;color:#1a3a6b}
.stat-card .label{font-size:13px;color:#888;margin-top:4px}

/* ========== Contact Page ========== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.contact-info h3{font-size:20px;color:#1a3a6b;margin-bottom:22px;padding-bottom:8px;border-bottom:2px solid #e87a00}
.contact-info .item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.contact-info .item .ico{width:36px;height:36px;background:#f0f4f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.contact-info .item p{font-size:13px;color:#555;line-height:1.6}
.contact-info .item strong{display:block;color:#333;font-size:14px;margin-bottom:2px}
.form-box{background:#f7f9fc;border:1px solid #e8e8e8;padding:30px}
.form-box h3{font-size:18px;color:#1a3a6b;margin-bottom:18px}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:13px;color:#555;margin-bottom:4px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;font-size:13px}
.form-group input:focus,.form-group textarea:focus{border-color:#1a3a6b;outline:none}
.form-group textarea{height:100px;resize:vertical}
.form-submit{padding:10px 36px;background:#e87a00;color:#fff;border:none;font-size:15px;cursor:pointer}
.form-submit:hover{background:#d06d00}

/* ========== Offices (shared) ========== */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}
.office-card{border:1px solid #e8e8e8;padding:28px;background:#fff}
.office-card h4{font-size:17px;color:#1a3a6b;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e87a00}
.office-card p{font-size:13px;color:#666;line-height:2.1}
.office-card strong{color:#333}

/* ========== Footer ========== */
.footer{background:#1a3a6b;color:#fff;padding:40px 0 0}
.footer-main{display:grid;grid-template-columns:repeat(7,1fr);gap:15px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.15)}
.footer h4{font-size:14px;color:#fff;margin-bottom:14px;font-weight:700}
.footer h4::after{content:'';display:block;width:20px;height:2px;background:#e87a00;margin-top:6px}
.footer p,.footer a{font-size:12px;line-height:2;color:rgba(255,255,255,.65);transition:color .2s}
.footer a:hover{color:#e87a00}
.footer-contact{line-height:2.2}
.footer-contact p{font-size:12px;color:rgba(255,255,255,.65)}
.footer-contact strong{color:rgba(255,255,255,.85)}
.footer-copy{padding:16px 0;text-align:center;font-size:12px;color:rgba(255,255,255,.45)}
.footer-copy a{color:rgba(255,255,255,.45)}
.footer-copy a:hover{color:#e87a00}
.footer-social{display:flex;justify-content:center;gap:12px;margin-top:12px}
.footer-social a{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}
.footer-social a.wechat{background:#09bb07;color:#fff}
.footer-social a.fb{background:#3b5998;color:#fff}
.footer-social a.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.footer-social a.tw{background:#1da1f2;color:#fff}
.footer-social a.yt{background:#ff0000;color:#fff}
.footer-social a.linkedin{background:#0077b5;color:#fff}
.footer-social a.more-social{background:#666;color:#fff}
.footer-icp{padding:12px 0;text-align:center;font-size:11px;color:rgba(255,255,255,.35);border-top:1px solid rgba(255,255,255,.1);margin-top:12px;display:flex;justify-content:center;gap:30px}

/* ========== Float Bar ========== */
.float-bar{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:999;display:flex;flex-direction:column}
.float-bar a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#1a3a6b;color:#fff;font-size:18px;border-bottom:1px solid rgba(255,255,255,.15);transition:background .2s;flex-direction:column}
.float-bar a:last-child{border-bottom:none}
.float-bar a:hover{background:#e87a00}
.float-bar a .icon{font-size:18px}
.float-bar a .label{font-size:8px;margin-top:2px}

/* ========== Hamburger ========== */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;cursor:pointer;background:none;border:none;padding:0}
.hamburger span{display:block;width:24px;height:2px;background:#333;margin:3px 0;transition:all .3s}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ========== Responsive ========== */
@media(max-width:768px){
.container{width:100%;padding:0 12px}
.header .container{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 12px}
.header .logo{margin-right:0}
.hamburger{display:flex}
.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;border-top:1px solid #eee;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:100}
.nav.open{display:flex}
.nav li a{line-height:48px;padding:0 20px;font-size:14px;border-bottom:1px solid #f5f5f5}
.nav li a.active::after{display:none}
.page-banner{padding:30px 0}
.page-banner h2{font-size:22px}
.svc-card{min-width:calc(50% - 10px)}
.policy-card,.news-card,.act-item{min-width:calc(50% - 10px)}
.svc-detail{grid-template-columns:1fr}
.industry-grid{grid-template-columns:repeat(2,1fr)}
.values{grid-template-columns:1fr}
.stats{grid-template-columns:1fr}
.offices{grid-template-columns:1fr}
.contact-grid{grid-template-columns:1fr}
.footer-main{grid-template-columns:repeat(2,1fr)}
.about-brief-inner{flex-direction:column}
.about-brief-left{width:100%}
}
