:root { --red:#CF000E; --dark:#1a1a2e; }

/* ============================================================
   slideBox — 全屏视频轮播
   ============================================================ */
#slideBox { width:100%; height:100vh; position:relative; overflow:hidden; background:#0a0f1a; }
#slideBox .bd { position:relative; width:100%; height:100%!important; z-index:1; }
#slideBox .bd ul { margin:0; padding:0; list-style:none; height:100%!important; width:100%!important; }
#slideBox .bd li { position:relative; height:100%; width:100%!important; background-size:cover; background-position:center; }
#slideBox .banner-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
#slideBox .banner-overlay { position:absolute; inset:0; z-index:2;
    background:linear-gradient(180deg, rgba(10,15,26,.60) 0%, rgba(10,15,26,.18) 40%, rgba(10,15,26,.18) 60%, rgba(10,15,26,.70) 100%); }
#slideBox .banner-content { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; max-width:1250px; margin:0 auto; width:100%; box-sizing:border-box; padding:0 40px; }
#slideBox .banner-content.centered { align-items:center; text-align:center; }
#slideBox .banner-headline { font-size:clamp(28px,4.5vw,52px); font-weight:700; line-height:1.2; color:#fff; margin:0 0 20px; max-width:900px; letter-spacing:-.01em; text-shadow:0 2px 12px rgba(0,0,0,.3); }
#slideBox .banner-content.centered .banner-headline { max-width:900px; font-size:clamp(24px,3.8vw,46px); }
#slideBox .banner-desc { font-size:clamp(14px,1.3vw,18px); font-weight:400; line-height:1.7; color:rgba(255,255,255,.85); margin:0; max-width:900px; text-shadow:0 1px 6px rgba(0,0,0,.35); }
#slideBox .banner-cta { display:inline-flex; align-items:center; gap:10px; font-size:clamp(13px,1vw,15px); font-weight:600; color:#fff; text-decoration:none; padding:14px 32px; border:2px solid rgba(255,255,255,.4); border-radius:4px; background:transparent; letter-spacing:.04em; transition:all .35s cubic-bezier(.22,.61,.36,1); cursor:pointer; backdrop-filter:blur(8px); margin-top:36px; }
#slideBox .banner-cta:hover { background:var(--red); border-color:var(--red); text-decoration:none; color:#fff; transform:translateY(-2px); box-shadow:0 8px 28px rgba(207,0,14,.35); }
#slideBox .banner-cta .cta-arrow { display:inline-block; transition:transform .3s ease; }
#slideBox .banner-cta:hover .cta-arrow { transform:translateX(4px); }
#slideBox .banner-slogan { font-size:clamp(32px,5.5vw,64px); font-weight:300; letter-spacing:.12em; color:#fff; margin:20px 0 4px; text-shadow:0 2px 16px rgba(0,0,0,.4); line-height:1.3; }
#slideBox .small_title { font-size:16px; color:rgba(255,255,255,.75); letter-spacing:.06em; margin-bottom:6px; }

#slideBox .banner-img {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    animation: bannerZoom 10s ease-out forwards;
}
@keyframes bannerZoom {
    0%   { transform: scale(1.10); }
	50%   { transform: scale(1); }
    100% { transform: scale(1.1); }
}

/* 指示器 */
#slideBox .hd { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:10; height:auto; margin-left:0; display:flex!important; gap:8px; }
#slideBox .hd ul { display:flex; gap:8px; margin:0; padding:0; list-style:none; }
#slideBox .hd ul li { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.3); cursor:pointer; transition:all .4s cubic-bezier(.22,.61,.36,1); float:none; margin:0; line-height:normal; text-indent:-9999px; overflow:hidden; }
#slideBox .hd ul li.on { background:var(--red); width:32px; border-radius:5px; height:10px; margin-top:0; }

/* 左右箭头 */
#slideBox .prev, #slideBox .next { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; z-index:10; transition:all .35s ease; text-decoration:none!important; opacity:0; border:1px solid rgba(255,255,255,.12); }
#slideBox:hover .prev, #slideBox:hover .next { opacity:1; }
#slideBox .prev { left:28px; } #slideBox .next { right:28px; }
#slideBox .prev:hover, #slideBox .next:hover { background:rgba(207,0,14,.75); border-color:transparent; transform:translateY(-50%) scale(1.08); }


/* ============================================================
   主内容区
   ============================================================ */
.main_content { background:#fff; overflow:hidden; }

/* ---------- 第一行: 8:4不对称双栏 ---------- */
.home-row { display:flex; gap:0; padding:120px 0; box-sizing: border-box;}
.home-main { flex:0 0 66.666%; padding-right:48px; min-width:0; box-sizing: border-box;}
.home-sidebar { flex:0 0 33.333%; padding-left:44px; border-left:1px solid #eceaed; box-sizing: border-box;}

/* 标题区 */
.section-header { margin-bottom:40px; padding-bottom:18px; border-bottom:3px solid #151522; }
.section-header h2 { font-size:20px; font-weight:800; color:#CF000E; margin:0;  }

/* -------- Owl Carousel 专业领域 -------- */
.owl-practice { position:relative; }
.owl-practice .practices_item { padding:10px 0 30px; max-width: inherit; margin-right: 0; border-left:2px solid transparent; transition:border-color .35s ease, background .35s ease; }
.owl-practice .practices_item:hover { border-left-color:#CF000E; background:linear-gradient(90deg, rgba(207,0,14,.03) 0%, transparent 100%); }
.owl-practice .practices_item a { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content: space-between; text-decoration:none; color:#5a5a64; transition:transform .3s ease, color .25s; position:relative; z-index:1; }
.owl-practice .practices_item:hover a { transform:translateX(6px); }
.owl-practice .practices_item .slide-num { font-family:'Times New Roman',serif; font-size:160px; font-weight:400; color:#f2f0f4; line-height:1; user-select:none; pointer-events:none; position:absolute; top:-20px; left:; z-index:0; transition:color .4s ease; }
.owl-practice .practices_item:hover .slide-num { color:#fce8ea; }
.owl-practice .practices_item h3 { width:100%; font-size:28px; font-weight:700; color:#151522; margin:100px 0 28px 50px;  position:relative; z-index:1; transition:color .25s ease; }
.owl-practice .practices_item:hover h3 { color:#CF000E; }
.owl-practice .practices_item p { flex:1; font-size:15px; line-height:1.95; color:#5a5a64; margin:0 60px 20px 50px; min-width:0; position:relative; z-index:1; transition:color .25s ease; }
.owl-practice .practices_item:hover p { color:#2a2a34; }
.owl-practice .practices_item .slide-cta { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; gap:6px; padding:12px 24px; font-size:13px; font-weight:700; color:#CF000E; text-decoration:none; letter-spacing:.04em; border:1px solid #CF000E; border-radius:2px; background:#fff; transition:all .25s ease; white-space:nowrap; display: none; }
.owl-practice .practices_item:hover .slide-cta { background:#CF000E; color:#fff; box-shadow:0 4px 16px rgba(207,0,14,.25); gap:10px; }
.owl-practice .practices_item .slide-cta i { font-size:14px; transition:transform .25s ease; }
.owl-practice .practices_item:hover .slide-cta i { transform:translateX(4px); }

/* 左侧底部按钮 */
.practice-more-btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 30px; margin-top:20px; margin-left: 50px; font-size:13px; font-weight:700; color:#CF000E; text-decoration:none; letter-spacing:.06em; border:1px solid #CF000E; border-radius:2px; background:#fff; transition:all .25s ease; }
.practice-more-btn:hover { border-color:#CF000E; color:#fff; background:#CF000E; text-decoration:none; }

/* Owl dots — 隐藏 */
.owl-practice .owl-dots { display:none!important; }

/* -------- 右侧: 最新动态 -------- */
.news-panel { padding-top:0; }
.news-panel .np-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:10px; padding-bottom:18px; border-bottom:3px solid #151522; }
.news-panel .np-head h3 { font-size:20px; font-weight:800; color:#CF000E; margin:0; letter-spacing:-.01em; }
.news-panel .np-head .np-all { display:none; } /* 隐藏原来的 ALL，改用底部按钮 */
.news-items { list-style:none; margin:0; padding:0 0 10px; }
.news-items li a { display:flex; align-items:flex-start; gap:8px; padding:16px 10px 16px 2px; text-decoration:none; border-bottom:1px solid #eceaed; transition:all .25s ease; border-left:2px solid transparent;}
.news-items li:last-child a { border-bottom:none; }
.news-items li a:hover { border-left-color:#CF000E; padding:16px 0px 16px 12px; background:#fafafa; }
.news-items .ni-date { flex-shrink:0; font-family:Times New Roman,serif; font-size:15px; font-weight:500; color:#CF000E; min-width:46px; padding-top:1px; line-height:1.5; }
.news-items .ni-title { font-size:15px; line-height:1.7; color:#333; transition:color .2s; -webkit-line-clamp:unset; max-width:unset; }
.news-items li a:hover .ni-title { color:#CF000E; }

/* 右侧底部按钮 */
.news-more-btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 30px; margin-top:18px; font-size:13px; font-weight:700; color:#CF000E; text-decoration:none; letter-spacing:.06em; border:1px solid #CF000E; border-radius:2px; background:#fff; transition:all .25s ease; box-sizing:border-box; }
.news-more-btn:hover { border-color:#CF000E; color:#fff; background:#CF000E; text-decoration:none; }


/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1024px) {
    #slideBox .banner-content { padding:0 clamp(20px,6vw,60px); }
    #slideBox .prev, #slideBox .next { width:42px; height:42px; font-size:18px; }
    #slideBox .prev { left:16px; } #slideBox .next { right:16px; }
    #slideBox .banner-slogan { letter-spacing:.08em; }
    .home-row { flex-direction:column; padding:56px 20px 64px; }
    .home-main { flex:1 1 auto; padding-right:0; margin-bottom:56px; }
    .home-sidebar { flex:1 1 auto; padding-left:0; border-left:none; }
    .section-header h2 { font-size:20px; }
    .owl-practice .practices_item .slide-num { font-size:90px; }
    .owl-practice .practices_item h3 { font-size:24px; margin-left:30px; margin-top:60px; }
    .owl-practice .practices_item p { margin-left:30px; text-align: justify;}
    .practice-more-btn { margin-left:30px; }
}
@media (max-width:768px) {
    #slideBox { height:auto; }
    #slideBox .bd { height:560px!important; }
    #slideBox .bd ul { height:560px!important; }
    #slideBox .bd li { height:560px; }
    #slideBox .banner-content { padding:0 20px; justify-content:flex-end; padding-bottom:100px; }
    #slideBox .banner-content.centered { justify-content:center; padding-bottom:80px; }
    #slideBox .banner-desc { margin-bottom:24px; max-width:100%; }
    #slideBox .banner-cta { padding:12px 24px; font-size:13px; }
    #slideBox .banner-slogan { letter-spacing:.06em; }
    #slideBox .hd { bottom:24px; gap:6px; }
    #slideBox .hd ul li { width:8px; height:8px; }
    #slideBox .hd ul li.on { width:24px; height:8px; border-radius:4px; }
    #slideBox .prev, #slideBox .next { display:none; }
    .home-row { padding:44px 16px 52px; }
    .section-header h2 { font-size:18px; }
    .owl-practice .practices_item .slide-num { font-size:64px; }
    .owl-practice .practices_item h3 { font-size:20px; margin-left:20px; margin-top:50px; margin-bottom:20px;}
    .owl-practice .practices_item p { font-size:14px; line-height:1.8; margin-left:20px; }
    .owl-practice .practices_item:hover a { transform:none; }
    .practice-more-btn { margin-left:20px; }
    .bottom_section .bottom_icon { text-align:left; margin-top:10px; }
}
@media (max-width:480px) {
    #slideBox .banner-headline { font-size:22px; }
    .home-row { padding:36px 14px 44px; }
    .section-header h2 { font-size:16px; }
    .owl-practice .practices_item .slide-num { font-size:88px; }
    .owl-practice .practices_item h3 { font-size:18px; margin-left:10px; margin-top:40px; margin-bottom:16px; }
    .owl-practice .practices_item a { flex-direction:column; align-items:stretch; }
    .owl-practice .practices_item p { margin:0 20px 20px 10px; }
    .owl-practice .practices_item .slide-cta { align-self:flex-start; margin-left:10px; }
    .owl-practice .practices_item:hover a { transform:none; }
    .practice-more-btn { margin-left:10px; }
    .news-items li a { gap:6px; padding:14px 0; }
	.owl-practice .practices_item{ padding-bottom: 0;}
}