/* ===== 基础重置 ===== */
        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
        :root{
            --primary:#2a915a;
            --primary-dark:#1d6b43;
            --accent:#3cb878;
            --text:#333;
            --text-gray:#666;
            --text-light:#999;
            --border:#d9d9d9;
            --bg:#f5f5f5;
            --white:#fff;
            --primary-light:#e8f5ee;
            --primary-bg:#f0f8f3;
            --accent-light:#5dd49a;
            --primary-darker:#14512f;
            --radius:8px;
            --radius-sm:4px;
            --shadow:0 2px 12px rgba(0,0,0,.08);
            --shadow-sm:0 1px 6px rgba(0,0,0,.05);
            --shadow-md:0 4px 16px rgba(0,0,0,.12);
            --shadow-hover:0 8px 24px rgba(42,145,90,.15);
            --transition:all .3s ease;
        }
        body{
            font-family:"Microsoft YaHei","PingFang SC",sans-serif;
            color:var(--text);
            background:var(--bg);
            line-height:1.6;
        }
        a{text-decoration:none;color:inherit;transition:all .2s;}
        ul{list-style:none;}
        img{max-width:100%;display:block;}
        .wrap{max-width:1200px;margin:0 auto;padding:0 15px;}

        
        /* ============================================================
           HEADER
           ============================================================ */
        .header{
            background:var(--white);
            position:relative;
        }
        .header::after{
            content:'';
            position:absolute;
            left:0;right:0;bottom:-3px;
            height:3px;
            background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary));
            opacity:.4;
        }
        .header-inner{
            display:flex;
            align-items:center;
            justify-content:space-between;
            padding:18px 0;
        }
        .header-logo{
            display:flex;
            align-items:center;
            gap:16px;
        }
        .header-logo img{
            height:64px;
            width:auto;
            flex-shrink:0;
            object-fit:contain;
        }
        .header-logo-text{
            border-left:2px solid var(--primary-light);
            padding-left:16px;
        }
        .header-logo-text h1{
            font-size:1.45rem;
            color:var(--primary);
            font-weight:700;
        }
        .header-logo-text p{
            font-size:.72rem;
            color:var(--text-light);
            letter-spacing:1px;
        }
        .header-right{
            display:flex;
            flex-direction:column;
            align-items:flex-end;
            gap:12px;
        }
        .header-search{
            display:flex;
            border:2px solid var(--primary);
            border-radius:4px;
            overflow:hidden;
        }
        .header-search input{
            border:none;outline:none;
            padding:7px 12px;
            font-size:.85rem;
            width:220px;
        }
        .header-search button{
            background:var(--primary);color:#fff;
            border:none;padding:7px 18px;
            cursor:pointer;font-size:.85rem;
        }
        .header-links{
            display:flex;
            align-items:center;
            gap:0;
            font-size:.85rem;
        }
        .header-links a{
            padding:0 12px;
            color:var(--text-gray);
        }
        .header-links a:hover{color:var(--primary);}
        .header-links .sep{color:var(--border);}

        /* ============================================================
           NAV
           ============================================================ */
        .nav{
            background:var(--primary);
        }
        .nav-list{
            display:flex;
            flex-wrap:wrap;
            justify-content:space-around;
            width:100%;
        }
        .nav-list>li{
            position:relative;
            text-align:center;
        }
        .nav-list>li>a{
            display:block;
            line-height:46px;
            padding:0 14px;
            white-space:nowrap;
            color:#fff;
            font-size:.95rem;
            font-weight:500;
            transition:all .2s;
        }
        .nav-list>li>a:hover,
        .nav-list>li.active>a{
            background:var(--primary-dark);
        }
        /* 下拉 */
        .nav-dropdown{
            position:absolute;
            top:100%;left:0;
            min-width:160px;
            background:#fff;
            box-shadow:0 3px 12px rgba(0,0,0,.12);
            display:none;
            z-index:200;
            text-align:left;
        }
        .nav-list>li:hover .nav-dropdown{display:block;}
        .nav-dropdown li a{
            display:block;
            padding:9px 18px;
            font-size:.85rem;
            color:var(--text);
            border-bottom:1px solid var(--border);
        }
        .nav-dropdown li a:hover{
            background:var(--primary);
            color:#fff;
        }
        .mobile-nav-btn{
            display:none;
            background:none;border:none;
            color:#fff;font-size:1.5rem;
            padding:8px 16px;cursor:pointer;
        }

        /* ============================================================
           BANNER
           ============================================================ */
        .banner{
            position:relative;
            width:100%;
            height:500px;
            overflow:hidden;
        }
        .banner-slide{
            position:absolute;inset:0;
            opacity:1;
            transition:opacity .8s ease;
            }
        .banner-slide.active{opacity:1;z-index:1;}{opacity:1;}
        .banner-slide .slide-bg{
            position:absolute;inset:0;
        }
        .banner-slide:nth-child(1) .slide-bg{
            background:linear-gradient(135deg,#2a915a,#3cb878);
        }
        .banner-slide:nth-child(2) .slide-bg{
            background:linear-gradient(135deg,#3cb878,#00a99d);
        }
        .banner-slide:nth-child(3) .slide-bg{
            background:linear-gradient(135deg,#1d6b43,#2a915a);
        }
        .banner-arrow{
            position:absolute;top:50%;transform:translateY(-50%);
            background:rgba(0,0,0,.25);color:#fff;
            border:none;width:42px;height:42px;
            font-size:1.4rem;cursor:pointer;border-radius:50%;
            z-index:10;display:flex;align-items:center;justify-content:center;
            transition:background .2s;
        }
        .banner-arrow:hover{background:rgba(0,0,0,.45);}
        .banner-arrow.prev{left:15px;}
        .banner-arrow.next{right:15px;}
        .banner-dots{
            position:absolute;bottom:16px;left:50%;
            transform:translateX(-50%);
            display:flex;gap:8px;z-index:10;
        }
        .banner-dots button{
            width:10px;height:10px;border-radius:50%;
            border:2px solid #fff;background:transparent;
            cursor:pointer;padding:0;
        }
        .banner-dots button.active{background:#fff;}

        /* ============================================================
           CONTENT 九宫格
           ============================================================ */
        .content{
            padding:30px 0;
        }
        .content-grid{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:20px;
        }

        /* 通用板块卡片 */
        .card{
            background:var(--white);
            border:1px solid var(--border);
            border-radius:6px;
            overflow:hidden;
            display:flex;
            flex-direction:column;
        }
        .card-header{
            display:flex;
            justify-content:space-between;
            align-items:center;
            padding:10px 16px;
            border-bottom:2px solid var(--primary);
            background:var(--white);
        }
        .card-header h3{
            font-size:1.05rem;
            font-weight:700;
            color:var(--text);
            position:relative;
            padding-left:12px;
        }
        .card-header h3::before{
            content:'';
            position:absolute;left:0;top:50%;
            transform:translateY(-50%);
            width:4px;height:18px;
            background:var(--primary);
            border-radius:2px;
        }
        .card-header .more{
            font-size:.8rem;
            color:var(--text-light);
        }
        .card-header .more:hover{color:var(--primary);}
        .card-body{
            padding:12px 16px;
            flex:1;
            display:flex;
            flex-direction:column;
        }

        /* 文章列表样式 */
        .article-list li{
            display:flex;
            justify-content:space-between;
            align-items:center;
            padding:7px 0;
            border-bottom:1px dashed var(--border);
            font-size:.875rem;
        }
        .article-list li:last-child{border-bottom:none;}
        .article-list li:hover .atitle{color:var(--primary);}
        .atitle{
            flex:1;
            overflow:hidden;
            text-overflow:ellipsis;
            white-space:nowrap;
            padding-right:10px;
            color:var(--text);
        }
        .atitle::before{content:'·';color:var(--accent);margin-right:4px;font-weight:bold;}
        .adate{
            color:var(--text-light);
            font-size:.78rem;
            flex-shrink:0;
        }

        /* === 第一行：学院新闻（跨两列）=== */
        .card-news{
            grid-column:span 2;
        }
        .card-news .card-body{
            flex-direction:row;
            gap:16px;
        }
        .news-carousel{
            width:48%;
            flex-shrink:0;
            position:relative;
            border-radius:4px;
            overflow:hidden;
            height:220px;
        }
        .news-carousel-slide{
            position:absolute;inset:0;
            opacity:1;
            transition:opacity .5s;
            display:flex;
            align-items:flex-end;
        }
        .news-carousel-slide.active{opacity:1;}

        .news-carousel-slide .ncs-label{
            padding:10px 14px;
            color:#fff;
            font-size:.85rem;
            background:linear-gradient(transparent,rgba(0,0,0,.5));
            width:100%;
position: absolute;
        }
        .news-carousel-dots{
            position:absolute;bottom:8px;right:8px;
            display:flex;gap:5px;z-index:5;
        }
        .news-carousel-dots button{
            width:8px;height:8px;border-radius:50%;
            border:1px solid #fff;background:transparent;
            cursor:pointer;padding:0;
        }
        .news-carousel-dots button.active{background:#fff;}
        .news-list-side{
            flex:1;
            display:flex;
            flex-direction:column;
        }

        /* === 第三行：快捷导航 图片按钮矩阵 === */
        .card-quicknav .card-body{
            padding:12px;
        }
        .quicknav-grid{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:10px;
        }
        .quicknav-item{
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            padding:14px 6px;
            border-radius:6px;
            background:var(--bg);
            cursor:pointer;
            transition:all .2s;
        }
        .quicknav-item:hover{
            background:var(--primary);
            transform:translateY(-2px);
        }
        .quicknav-item:hover .qn-icon{color:#fff;}
        .quicknav-item:hover .qn-label{color:#fff;}
        .qn-icon{
            font-size:1.6rem;
            margin-bottom:6px;
            color:var(--primary);
            transition:color .2s;
        }
        .qn-label{
            font-size:.78rem;
            color:var(--text);
            text-align:center;
            transition:color .2s;
        }

        /* ============================================================
           FOOTER 三列布局
           ============================================================ */
        .footer{
            background:var(--primary-dark);
            color:rgba(255,255,255,.75);
            padding:36px 0 0;
        }
        .footer-grid{
            display:grid;
            grid-template-columns:1fr 1fr 1fr;
            gap:40px;
            padding-bottom:28px;
            border-bottom:1px solid rgba(255,255,255,.1);
        }
        .footer-col h4{
            color:#fff;
            font-size:1rem;
            margin-bottom:14px;
        }
        /* 下拉框 */
        .footer-select-group{
            margin-bottom:16px;
        }
        .footer-select-group label{
            display:block;
            font-size:.85rem;
            margin-bottom:6px;
            color:rgba(255,255,255,.6);
        }
        .footer-select{
            width:100%;
            padding:8px 12px;
            background:rgba(255,255,255,.1);
            border:1px solid rgba(255,255,255,.2);
            color:#fff;
            border-radius:4px;
            font-size:.85rem;
            outline:none;
        }
        .footer-select option{color:#333;}
        /* 地址 */
        .footer-address p{
            font-size:.85rem;
            line-height:2;
            margin-bottom:4px;
        }
        .footer-address p .ico{margin-right:6px;}
        /* 搜索 */
        .footer-search{
            display:flex;
            margin-top:14px;
        }
        .footer-search input{
            flex:1;
            border:none;outline:none;
            padding:8px 12px;
            font-size:.85rem;
            border-radius:4px 0 0 4px;
        }
        .footer-search button{
            background:var(--accent);color:#fff;
            border:none;padding:8px 16px;
            cursor:pointer;font-size:.85rem;
            border-radius:0 4px 4px 0;
        }
        .footer-search button:hover{background:var(--primary);}
        .footer-bottom{
            padding:16px 0;
            text-align:center;
            font-size:.78rem;
            color:rgba(255,255,255,.5);
        }
        .footer-bottom a{color:rgba(255,255,255,.5);}
        .footer-bottom a:hover{color:#fff;}

        /* ============================================================
           回到顶部
           ============================================================ */
        .back-top{
            position:fixed;bottom:24px;right:24px;
            width:42px;height:42px;
            background:var(--primary);color:#fff;
            border:none;border-radius:50%;
            font-size:1.2rem;cursor:pointer;
            opacity:0;visibility:hidden;
            transition:all .3s;z-index:999;
            box-shadow:0 2px 10px rgba(0,0,0,.2);
        }
        .back-top.show{opacity:1;visibility:visible;}
        .back-top:hover{background:var(--primary-dark);transform:translateY(-3px);}

        /* ============================================================
           响应式：平板
           ============================================================ */
        @media(max-width:992px){
            .card-news{grid-column:span 3;}
            .card-news .card-body{flex-direction:column;}
            .news-carousel{width:100%;height:200px;}
            .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
            .footer-col:nth-child(3){grid-column:span 2;}
            .banner{height:420px;}
        }

        /* ============================================================
           响应式：手机
           ============================================================ */
        @media(max-width:768px){
            /* header */
            .header-inner{flex-direction:column;gap:14px;align-items:center;text-align:center;}
            .header-logo{flex-direction:column;gap:10px;}
            .header-logo img{height:52px;}
            .header-logo-text{
            border-left:2px solid var(--primary-light);
            padding-left:16px;
        }
        .header-logo-text h1{font-size:1.2rem;}
            .header-logo-text p{font-size:.65rem;}
            .header-right{align-items:center;width:100%;}
            .header-search{width:100%;}
            .header-search input{width:100%;flex:1;}
            .header-links{justify-content:center;flex-wrap:wrap;}

            /* nav */
            .nav-list{
                display:none;
                flex-direction:column;
                position:absolute;
                top:100%;left:0;right:0;
                background:var(--primary);
                z-index:300;
                box-shadow:0 4px 12px rgba(0,0,0,.2);
            }
            .nav-list.open{display:flex;}
            .nav-list>li{
                flex:none;
                text-align:left;
            }
            .nav-list>li>a{
                border-right:none;
                border-bottom:1px solid rgba(255,255,255,.12);
                padding:0 20px;
                line-height:44px;
            }
            .nav-dropdown{
                position:static;display:none;
                background:var(--primary-dark);
                box-shadow:none;
            }
            .nav-list>li.open .nav-dropdown{display:block;}
            .nav-dropdown li a{color:rgba(255,255,255,.7);padding-left:36px;}
            .mobile-nav-btn{display:block;}

            /* banner */
            .banner{height:300px;}
            .banner-arrow{width:34px;height:34px;font-size:1.1rem;}

            /* content 九宫格变单列 */
            .content-grid{grid-template-columns:1fr;}
            .card-news{grid-column:span 1;}
            .quicknav-grid{grid-template-columns:repeat(3,1fr);}

            /* footer */
            .footer-grid{grid-template-columns:1fr;gap:24px;}
            .footer-col:nth-child(3){grid-column:span 1;}

            .back-top{bottom:16px;right:16px;}
        }
        @media(max-width:380px){
            .quicknav-grid{grid-template-columns:repeat(2,1fr);}
        }

        /* ============================================================
           LIST PAGE
           ============================================================ */
        .list-layout{
            display:flex;
            gap:24px;
            padding:24px 0;
            align-items:flex-start;
        }
        .list-sidebar{
            width:240px;
            flex-shrink:0;
            background:var(--white);
            border:1px solid var(--border);
            border-radius:var(--radius);
            overflow:hidden;
        }
        .sidebar-title{
            background:linear-gradient(135deg,var(--primary),var(--primary-dark));
            color:#fff;
            font-size:1.05rem;
            font-weight:700;
            padding:14px 18px;
            text-align:center;
        }
        .sidebar-nav li{border-bottom:1px solid var(--border);}
        .sidebar-nav li:last-child{border-bottom:none;}
        .sidebar-nav li a{
            display:block;
            padding:11px 20px;
            font-size:.9rem;
            color:var(--text);
            transition:var(--transition);
        }
        .sidebar-nav li a:hover{color:var(--primary);background:var(--primary-bg);padding-left:26px;}
        .sidebar-nav li.active a{color:#fff;background:var(--primary);font-weight:600;}
        .list-main{
            flex:1;min-width:0;
            background:var(--white);
            border:1px solid var(--border);
            border-radius:var(--radius);
            overflow:hidden;
        }
        .list-header{
            padding:16px 20px;
            border-bottom:2px solid var(--primary);
            background:linear-gradient(180deg,var(--primary-bg),var(--white));
            display:flex;justify-content:space-between;align-items:center;
            flex-wrap:wrap;gap:10px;
        }
        .list-header h2{font-size:1.15rem;color:var(--primary-dark);font-weight:700;}
        .breadcrumb{font-size:.8rem;color:var(--text-light);}
        .breadcrumb a{color:var(--text-light);}
        .breadcrumb a:hover{color:var(--primary);}
        .breadcrumb span{color:var(--primary);}
        .list-articles{padding:0;}
        .list-articles li{
            display:flex;align-items:center;
            padding:12px 20px;
            border-bottom:1px dashed var(--border);
            transition:var(--transition);
            gap:12px;
        }
        .list-articles li:last-child{border-bottom:none;}
        .list-articles li:hover{background:var(--primary-bg);}
        .list-articles li:hover a{color:var(--primary);}
        .la-date{
            flex-shrink:0;
            font-size:.8rem;color:var(--text-light);
            background:var(--bg);
            padding:2px 10px;border-radius:3px;
        }
        .list-articles li a{
            flex:1;font-size:.9rem;color:var(--text);
            overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
        }
        .list-articles li a::before{
            content:'';display:inline-block;
            width:5px;height:5px;
            background:var(--accent);border-radius:50%;
            margin-right:8px;vertical-align:middle;
        }
        .pagination{
            display:flex;justify-content:center;align-items:center;
            gap:4px;padding:20px;
        }
        .pagination a,.pagination span{
            display:inline-flex;align-items:center;justify-content:center;
            min-width:34px;height:34px;padding:0 8px;
            border:1px solid var(--border);border-radius:4px;
            font-size:.85rem;color:var(--text);
            background:var(--white);transition:var(--transition);
        }
        .pagination a:hover{border-color:var(--primary);color:var(--primary);}
        .pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;}
        .pagination span{border:none;background:transparent;}
        .page-prev,.page-next{font-weight:500;}

        @media(max-width:768px){
            .list-layout{flex-direction:column;gap:16px;padding:16px 0;}
            .list-sidebar{width:100%;order:-1;}
            .sidebar-nav{display:flex;flex-wrap:wrap;}
            .sidebar-nav li{flex:1 1 auto;border-bottom:none;border-right:1px solid var(--border);}
            .sidebar-nav li a{padding:10px 14px;font-size:.82rem;text-align:center;}
            .list-header{flex-direction:column;align-items:flex-start;}
            .list-articles li{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 16px;}
            .list-articles li a{white-space:normal;font-size:.85rem;}
            .pagination{padding:14px 10px;}
        }