@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,400;1,500&family=Noto+Serif+SC:wght@600;700;900&display=swap');

        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
        html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
        body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#2c2c2c;background:#f7f5f3;line-height:1.75;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}
        a{color:inherit;text-decoration:none;transition:color .3s}
        img{max-width:100%;display:block}
        ul{list-style:none}
        button{font-family:inherit}

        :root{
            --p:#722751;
            --p-l:#953868;
            --p-d:#4e1a38;
            --p-bg:#faf5f7;
            --p-line:#e0c8d0;
            --accent:#d4965a;
            --accent-l:#e8b87a;
            --accent-d:#b87d3e;
            --t1:#1e1e1e;
            --t2:#4a4a4a;
            --t3:#9a9a9a;
            --w:#fff;
            --bd:#ebe8e4;
            --r:14px;
            --serif:"Noto Serif SC",serif;
            --en-serif:"Cormorant Garamond",serif;
        }

        .ctn{max-width:1200px;margin:0 auto;padding:0 clamp(12px,3vw,28px);width:100%}

        /* ═══════ HEADER + NAV ═══════ */
        .hd{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:900;transition:box-shadow .3s}
        .hd.scroll{box-shadow:0 2px 24px rgba(114,39,81,.08)}
        .hd-top{display:flex;align-items:center;justify-content:space-between;height:80px}
        .lg{display:flex;align-items:center;gap:16px;cursor:pointer}
        .lg-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;filter:drop-shadow(0 2px 6px rgba(114,39,81,.15))}
        .lg-icon img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
        .lg:hover .lg-icon img{transform:scale(1.05)}
        .lg h1{font-family:var(--serif);font-size:1.18rem;color:var(--p);font-weight:700;letter-spacing:2.5px}
        .lg p{font-size:.68rem;color:var(--t3);letter-spacing:1px;margin-top:2px;opacity:.8}

        /* Nav with dropdown */
        .dn{display:flex;align-items:center;gap:0;height:72px}
        .dn-item{position:relative;height:100%;display:flex;align-items:center}
        .dn-item>a{padding:0 16px;font-size:.82rem;color:var(--t2);font-weight:500;letter-spacing:.3px;transition:color .2s;height:100%;display:flex;align-items:center;position:relative}
        .dn-item>a::after{content:'';position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:0;height:2.5px;background:var(--p);border-radius:2px;transition:width .25s}
        .dn-item:hover>a,.dn-item.on>a{color:var(--p)}
        .dn-item:hover>a::after,.dn-item.on>a::after{width:18px}
        .dn-item>a .caret{display:inline-block;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--t3);margin-left:5px;margin-top:2px;transition:border-top-color .2s}
        .dn-item:hover>a .caret{border-top-color:var(--p)}

        .dd{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--w);border:1px solid var(--bd);border-radius:10px;padding:8px;min-width:min(170px,100vw);box-shadow:0 12px 36px rgba(114,39,81,.1);opacity:0;visibility:hidden;transition:all .25s;z-index:50}
        .dn-item:hover .dd{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
        .dd a{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.78rem;color:var(--t2);border-radius:6px;transition:all .2s;white-space:nowrap}
        .dd a:hover{background:var(--p-bg);color:var(--p)}
        .dd a svg{width:14px;height:14px;fill:var(--accent);opacity:0;transition:opacity .2s}
        .dd a:hover svg{opacity:1}

        .hb{display:none;width:40px;height:40px;border-radius:10px;background:var(--p-bg);border:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
        .hb span{display:block;width:18px;height:2px;background:var(--p);border-radius:1px;transition:all .3s}
        .hb.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
        .hb.open span:nth-child(2){opacity:0}
        .hb.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

        .dr{position:fixed;top:0;right:0;bottom:0;width:min(300px,100vw);background:var(--w);z-index:1000;transform:translateX(100%);transition:transform .35s;box-shadow:-4px 0 28px rgba(0,0,0,.12);display:flex;flex-direction:column}
        .dr.open{transform:translateX(0)}
        .dr-h{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd)}
        .dr-h span{font-size:.88rem;font-weight:600;color:var(--p)}
        .dr-x{width:30px;height:30px;border-radius:8px;background:var(--p-bg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
        .dr-x svg{width:14px;height:14px;fill:var(--p)}
        .dr-n{flex:1;overflow-y:auto;padding:10px 14px}
        .dr-group{margin-bottom:6px}
        .dr-group-title{display:flex;align-items:center;gap:8px;padding:10px 12px 4px;font-size:.68rem;color:var(--accent);font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
        .dr-group-title::after{content:'';flex:1;height:1px;background:var(--bd)}
        .dr-n a{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.82rem;color:var(--t2);border-radius:8px;transition:all .2s;font-weight:500}
        .dr-n a svg{width:16px;height:16px;fill:var(--t3);flex-shrink:0;transition:fill .2s}
        .dr-n a:hover,.dr-n a.on{background:var(--p-bg);color:var(--p)}
        .dr-n a:hover svg,.dr-n a.on svg{fill:var(--p)}
        .dr-f{padding:14px 20px;border-top:1px solid var(--bd);font-size:.66rem;color:var(--t3)}
        .ov{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:950;opacity:0;pointer-events:none;transition:opacity .3s}
        .ov.on{opacity:1;pointer-events:auto}

        /* ═══════ PAGE BANNER ═══════ */
        .pg-banner{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;background:var(--p-d);overflow:hidden}
        .pg-banner-bg{position:absolute;inset:0;background:url('../hero-bg.jpg') center/cover no-repeat;opacity:.25}
        .pg-banner-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(78,26,56,.75) 0%,rgba(60,18,40,.85) 100%)}
        .pg-banner-ct{position:relative;z-index:2;text-align:center;color:#fff;padding:0 24px}
        .pg-banner-ct .en{font-family:var(--en-serif);font-style:italic;font-size:1.2rem;color:rgba(255,255,255,.3);letter-spacing:2px;margin-bottom:6px}
        .pg-banner-ct h1{font-family:var(--serif);font-size:2rem;color:#fff;font-weight:700;letter-spacing:6px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
        .pg-banner-ct .sub{font-size:.76rem;color:rgba(255,255,255,.4);letter-spacing:1px;margin-top:10px}

        /* ═══════ BREADCRUMB ═══════ */
        .bc{padding:14px 0;font-size:.74rem;color:var(--t3);border-bottom:1px solid var(--bd);background:var(--w)}
        .bc a{color:var(--t2);transition:color .2s}
        .bc a:hover{color:var(--p)}
        .bc .sep{margin:0 6px;opacity:.5}
        .bc .cur{color:var(--t3)}

        /* ═══════ MAIN LAYOUT ═══════ */
        .main{display:grid;grid-template-columns:1fr 300px;gap:40px;padding:40px 0 56px}

        /* ═══════ DOWNLOAD LIST ═══════ */
        .dl-wrap{display:flex;flex-direction:column;gap:20px}
        .art-h2{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--t1);letter-spacing:2px;margin-bottom:20px;padding-left:14px;position:relative}
        .art-h2::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--p);border-radius:2px}
        .art-h2 .en{font-family:var(--en-serif);font-style:italic;font-size:.82rem;color:var(--accent);font-weight:400;margin-left:8px;letter-spacing:1px}

        /* 分类标签 - 已移除 */
        /* 旧 .dl-tabs/.dl-tab 样式已清理 */

        /* 表格样式 */
        .dl-table{width:100%;border-collapse:collapse;background:var(--w);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden}
        .dl-table th{padding:14px 16px;font-size:.74rem;color:var(--t3);font-weight:600;text-align:left;background:var(--p-bg);border-bottom:1px solid var(--bd);letter-spacing:.5px;white-space:nowrap}
        .dl-table td{padding:16px;border-bottom:1px solid var(--bd);font-size:.78rem;color:var(--t2);vertical-align:middle}
        .dl-table tr:last-child td{border-bottom:none}
        .dl-table tr:hover td{background:#fafafa}
        .dl-table td:nth-child(1){width:50px;text-align:center;color:var(--t3);font-weight:600}
        .dl-table td:nth-child(2){min-width:0;max-width:100%}
        .dl-table td:nth-child(3){width:80px;text-align:center;white-space:nowrap}
        .dl-table td:nth-child(4){width:100px;text-align:center;white-space:nowrap;color:var(--t3)}
        .dl-table td:nth-child(5){width:90px;text-align:center;white-space:nowrap;color:var(--t3)}
        .dl-table td:nth-child(6){width:120px;text-align:center;white-space:nowrap}

        .dl-name{display:flex;align-items:center;gap:10px;min-width:0}
        .dl-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.65rem;font-weight:700;color:#fff;text-transform:uppercase}
        .dl-icon.pdf{background:#e74c3c}
        .dl-icon.doc{background:#2b579a}
        .dl-icon.xls{background:#1e6f41}
        .dl-icon.ppt{background:#d24726}
        .dl-icon.zip{background:#f39c12}
        .dl-icon.img{background:#8e44ad}
        .dl-txt{flex:1;min-width:0}
        .dl-txt .nm{font-weight:600;color:var(--t1);line-height:1.5;white-space:normal;word-break:break-word}
        .dl-txt .sz{font-size:.68rem;color:var(--t3);margin-top:2px}

        .dl-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:6px;font-size:.74rem;color:var(--p);background:var(--p-bg);border:1px solid var(--p-line);transition:all .25s;cursor:pointer;white-space:nowrap;justify-content:center;min-width:88px}
        .dl-btn:hover{background:var(--p);color:#fff;border-color:var(--p)}
        .dl-btn svg{width:14px;height:14px;fill:currentColor}

        .dl-count{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;color:var(--t3)}
        .dl-count svg{width:12px;height:12px;fill:var(--t3)}

        /* ═══════ SIDEBAR ═══════ */
        .side{display:flex;flex-direction:column;gap:24px}
        .side-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden}
        .side-hd{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd);background:var(--p-bg)}
        .side-hd .tt{display:flex;align-items:center;gap:10px}
        .side-hd .tt .bar{width:3px;height:16px;background:var(--p);border-radius:2px}
        .side-hd h4{font-family:var(--serif);font-size:.88rem;font-weight:700;color:var(--t1)}
        .side-hd .more{font-size:.68rem;color:var(--t3);transition:color .2s}
        .side-hd .more:hover{color:var(--p)}
        .side-list{padding:6px 20px 12px}
        .side-list a{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;font-size:.78rem;color:var(--t2);line-height:1.6;border-bottom:1px dashed var(--bd);transition:all .2s}
        .side-list a:last-child{border-bottom:none}
        .side-list a:hover{color:var(--p);padding-left:4px}
        .side-list a .tt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .side-list a .dt{font-size:.64rem;color:var(--t3);flex-shrink:0}
        .side-contact{background:linear-gradient(135deg,var(--p) 0%,var(--p-l) 100%);border-radius:var(--r);padding:24px 22px;color:#fff}
        .side-contact h4{font-family:var(--serif);font-size:.95rem;font-weight:700;margin-bottom:16px;letter-spacing:1px}
        .side-contact .item{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;font-size:.76rem;color:rgba(255,255,255,.65);line-height:1.7}
        .side-contact .item svg{width:16px;height:16px;fill:var(--accent-l);flex-shrink:0;margin-top:3px}
        .side-contact .item span{flex:1}

        /* ═══════ FOOTER ═══════ */
        .ft{margin-top:auto;background:var(--p-d);color:rgba(255,255,255,.4)}
        .ft-main{padding:52px 0 36px;border-bottom:1px solid rgba(255,255,255,.06)}
        .ft-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
        .ft-left h3{color:#fff;font-size:1rem;font-weight:600;letter-spacing:1.5px;margin-bottom:12px;font-family:var(--serif)}
        .ft-left .desc{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.9;margin-bottom:24px;max-width:min(420px,100%)}
        .ft-contact{display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:20px}
        .ft-contact span{display:flex;align-items:center;gap:6px;font-size:.72rem;color:rgba(255,255,255,.4)}
        .ft-contact svg{width:14px;height:14px;fill:var(--accent);opacity:.7}
        .ft-nav{display:flex;flex-wrap:wrap;gap:0 16px}
        .ft-nav a{font-size:.72rem;color:rgba(255,255,255,.3);transition:color .25s}
        .ft-nav a:hover{color:rgba(255,255,255,.65)}
        .ft-nav .sep{color:rgba(255,255,255,.12);margin:0 4px}

        .ft-right{display:flex;flex-direction:column;align-items:center}
        .ft-qr-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px 24px;text-align:center;backdrop-filter:blur(8px)}
        .ft-qr-card img{width:min(120px,40vw);height:min(120px,40vw);border-radius:8px;background:#fff;display:block;margin:0 auto 10px}
        .ft-qr-card p{font-size:.7rem;color:rgba(255,255,255,.45);letter-spacing:.5px}
        .ft-qr-card .label{font-size:.68rem;color:rgba(255,255,255,.3);margin-top:4px}

        .ft-bt{padding:16px 0;text-align:center;font-size:.68rem;color:rgba(255,255,255,.2)}

        /* ═══════ Animations ═══════ */
        .fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
        .fade-up.in{opacity:1;transform:translateY(0)}

        /* ═══════ RSP ═══════ */
        @media(max-width:1024px){
            .main{grid-template-columns:1fr;gap:28px}
            .ft-grid{grid-template-columns:1fr;gap:32px}
            .ft-right{align-items:flex-start}
        }
        @media(max-width:768px){
            .dn{display:none}
            .hb{display:flex}
            .hd-top{height:58px}
            .pg-banner{min-height:240px}
            .pg-banner-ct h1{font-size:1.5rem;letter-spacing:4px}
            .pg-banner-ct .en{font-size:1rem}
            .dl-table{display:block;overflow-x:auto}
            .dl-table thead{display:none}
            .dl-table tbody,.dl-table tr,.dl-table td{display:block;width:100%}
            .dl-table tr{padding:14px 16px;border-bottom:1px solid var(--bd);position:relative}
            .dl-table td{padding:4px 0;border-bottom:none}
            .dl-table td:nth-child(1){display:none}
            .dl-table td:nth-child(2){order:1}
            .dl-table td:nth-child(3){order:2;position:absolute;top:14px;right:16px;width:auto}
            .dl-table td:nth-child(4){order:3;display:inline-block;width:auto;padding-right:12px}
            .dl-table td:nth-child(5){order:4;display:inline-block;width:auto}
            .dl-table td:nth-child(6){order:5;text-align:left;margin-top:8px}
            .dl-table tr:hover td{background:none}
            .side{gap:14px !important}
            .side-hd{padding:10px 14px !important}
            .side-list{padding:4px 14px 8px !important}
            .side-list a{padding:8px 0 !important}
            .side-list a .tt{font-size:.74rem !important}
            .side-contact{padding:16px 14px !important}
            .side-contact h4{font-size:.82rem !important}
            .ft-grid{grid-template-columns:1fr;gap:24px}
            .ft-right{align-items:center}
            .ft-main{padding:32px 0 24px}
        }
        @media(max-width:480px){
            .pg-banner{min-height:200px}
            .pg-banner-ct{padding:36px 16px}
            .pg-banner-ct h1{font-size:1.1rem;letter-spacing:2px}
            .pg-banner-ct .en{font-size:.85rem}
            .pg-banner-ct .sub{font-size:.7rem}
            .bc{padding:10px 0}
            .main{padding:24px 0 40px}
            .art-h2{font-size:1rem;margin-bottom:16px}
            .dl-table tr{padding:12px 14px}
            .dl-btn{padding:6px 14px;font-size:.7rem;min-width:76px}
            .side{gap:14px !important}
            .side-hd{padding:10px 14px !important}
            .side-list{padding:4px 14px 8px !important}
            .side-list a{padding:8px 0 !important}
            .side-list a .tt{font-size:.74rem !important}
            .side-contact{padding:16px 14px !important}
            .side-contact h4{font-size:.82rem !important}
            .ft-main{padding:28px 0 20px}
            .ft-qr-card{padding:16px}
            .ft-left h3{font-size:.9rem}
        }

        /* ═══════ 全断点防溢出 ═══════ */
        img,svg,video,canvas,iframe{max-width:100%;height:auto}
        table{max-width:100%;display:block;overflow-x:auto}