
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;color:#333;background:#fff;font-size:14px}
a{color:#222;text-decoration:none}
a:hover{color:#1a56b0}
a[href^="mailto:"]{color:#1a56b0;overflow-wrap:anywhere}
ul,ol{list-style:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 12px}
/* topbar */
.topbar{background:#3a3a3a;color:#ddd;font-size:12px}
.topbar .wrap{display:flex;justify-content:space-between;height:32px;align-items:center}
.topbar .tb-r{color:#bbb}
/* masthead */
.masthead{background:#fff}
.masthead .wrap{display:flex;align-items:center;height:86px;gap:26px}
.logo{font-size:42px;font-weight:900;color:#1a56b0;letter-spacing:2px;font-family:"Microsoft YaHei"}
.logo:hover{color:#1a56b0}
.hotline{border-left:1px solid #e2e2e2;padding-left:22px;display:flex;flex-direction:column;line-height:1.5}
.hotline .hl-label{color:#999;font-size:12px}
.hotline .hl-num{color:#1a56b0;font-size:21px;font-weight:700;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.hotline .hl-time{color:#aaa;font-size:11px}
.hd-search{margin-left:auto;position:relative;display:flex}
.hd-search input{width:260px;height:34px;border:2px solid #1a56b0;border-right:none;padding:0 10px;font-size:13px;outline:none;color:#333}
.hd-search button{height:34px;width:72px;border:none;background:#1a56b0;color:#fff;font-size:14px;cursor:pointer}
.hd-search button:hover{background:#12447f}
/* search dropdown */
.sbox{position:absolute;top:36px;right:0;width:360px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 14px rgba(0,0,0,.18);display:none;z-index:99;max-height:420px;overflow:auto}
.sbox.show{display:block}
.sb-item{padding:9px 12px;border-bottom:1px solid #f2f2f2;cursor:pointer}
.sb-item:hover{background:#eef4fc}
.sb-item .t{color:#222;font-size:13px;line-height:1.4}
.sb-item:hover .t{color:#1a56b0}
.sb-item .m{color:#aaa;font-size:11px;margin-top:2px}
.sb-empty{padding:12px;color:#999;font-size:12px;text-align:center}
/* nav */
.mainnav{border-top:2px solid #1a56b0;border-bottom:1px solid #e5e5e5;background:#fff}
.mainnav .wrap{display:flex;gap:38px;height:44px;align-items:center}
.mainnav a{font-size:17px;font-weight:700;color:#222;height:44px;display:flex;align-items:center;position:relative}
.mainnav a:hover{color:#1a56b0}
.mainnav a.on{color:#1a56b0}
.mainnav a.on::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;background:#1a56b0}
.subnav{background:#f6f6f6;border-bottom:1px solid #e8e8e8}
.subnav .wrap{display:flex;gap:22px;height:34px;align-items:center;flex-wrap:wrap}
.subnav a{font-size:13px;color:#666}
.subnav a:hover{color:#1a56b0}
.subnav a::before{content:"";display:inline-block;width:4px;height:4px;background:#1a56b0;margin-right:7px;vertical-align:2px}
/* layout */
.main-grid{display:flex;gap:26px;padding:18px 0 10px}
.col-l{flex:1;min-width:0}
.col-r{width:300px;flex:none}
/* block head */
.bh{display:flex;align-items:baseline;margin:22px 0 0;border-bottom:2px solid #1a56b0}
.bh h2{font-size:20px;color:#222;letter-spacing:1px;padding:0 0 8px;position:relative}
.bh h2::before{content:"";display:inline-block;width:6px;height:18px;background:#1a56b0;margin-right:10px;vertical-align:-2px}
.bh .more{margin-left:auto;font-size:12px;color:#999;padding-bottom:8px}
.bh .more:hover{color:#1a56b0}
/* focus zone */
.focus{display:flex;gap:24px;margin-top:14px}
.focus-img{width:400px;flex:none}
.focus-img img{width:400px;height:245px;object-fit:cover;display:block}
.focus-img .ft{margin-top:10px;font-size:19px;font-weight:700;line-height:1.4}
.focus-img .ft a{color:#1a56b0}
.focus-img .fs{color:#777;font-size:13px;margin-top:8px;line-height:1.7}
.focus-list{flex:1}
.focus-list .fi{padding:10px 0;border-bottom:1px dotted #dcdcdc}
.focus-list .fi:last-child{border-bottom:none}
.focus-list .fi a{font-size:16px;line-height:1.5;display:block}
.focus-list .fi.hot a{color:#1a56b0;font-weight:700;font-size:17px}
.focus-list .fi .m{color:#aaa;font-size:12px;margin-top:4px}
.focus-list .fi a::before{content:"";display:inline-block;width:5px;height:5px;background:#bbb;margin-right:8px;vertical-align:3px;border-radius:50%}
.focus-list .fi.hot a::before{background:#1a56b0}
/* news list */
.nlist{margin-top:10px}
.nlist li{padding:9px 0;border-bottom:1px dotted #e2e2e2;display:flex;align-items:baseline;font-size:15px}
.nlist li:last-child{border-bottom:none}
.nlist li::before{content:"";display:inline-block;width:6px;height:6px;background:#1a56b0;margin-right:10px;flex:none;vertical-align:middle}
.nlist li a{flex:1;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nlist li .tm{color:#aaa;font-size:12px;flex:none;margin-left:12px}
.nlist.two-col-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
/* thumb rows */
.trow{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid #f0f0f0}
.trow img{width:168px;height:106px;object-fit:cover;flex:none}
.trow .tt{font-size:16px;line-height:1.45;margin-bottom:6px;display:block}
.trow .tt:hover{color:#1a56b0}
.trow .ss{color:#888;font-size:13px;line-height:1.65;max-height:64px;overflow:hidden}
.trow .mm{font-size:12px;color:#bbb;margin-top:6px}
.mm .cat{color:#1a56b0}
/* 纯文字行（判例等无图版式） */
.trow-txt{padding-left:6px;border-left:3px solid #eef4fc}
.trow-txt:hover{border-left-color:#1a56b0}
/* cards 2x2 */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:12px}
.ccard{display:flex;gap:14px}
.ccard img{width:150px;height:96px;object-fit:cover;flex:none}
.ccard .ct{font-size:15px;line-height:1.5;margin-bottom:5px;display:block}
.ccard .cm{color:#aaa;font-size:12px}
/* qa modules list */
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:10px}
.qgrid li{padding:10px 0;border-bottom:1px dotted #e2e2e2;font-size:15px}
.qgrid li a{line-height:1.5}
.qgrid li a::before{content:"";display:inline-block;width:6px;height:6px;background:#1a56b0;margin-right:10px;vertical-align:2px}
.qgrid li .qn{color:#aaa;font-size:12px;margin-left:8px}
/* sidebar */
.sboxx{border:1px solid #e8e8e8;margin-bottom:18px;background:#fff}
.sboxx h3{font-size:16px;color:#fff;background:#1a56b0;padding:9px 14px;letter-spacing:1px}
.sboxx ol{counter-reset:r;padding:4px 14px}
.sboxx ol li{padding:8px 0;border-bottom:1px dashed #eee;font-size:13px;line-height:1.5;display:flex;align-items:baseline;gap:8px}
.sboxx ol li:last-child{border-bottom:none}
.sboxx .rank{font-style:normal;font-weight:800;color:#999;width:18px;flex:none;font-size:15px}
.sboxx li.red .rank{color:#1a56b0}
.sboxx li.red a{color:#1a56b0;font-weight:700}
.sboxx ul{padding:6px 14px}
.sboxx ul li{padding:8px 0;border-bottom:1px dashed #eee;font-size:13px;line-height:1.55}
.sboxx ul li:last-child{border:none}
.slist li a{color:#333}
.contact ul{padding:8px 14px}
.contact li{display:flex;flex-direction:column;padding:9px 0!important;border-bottom:1px dashed #d8e4f4!important;font-size:13px;color:#555;line-height:1.6}
.contact b{color:#1a56b0;font-weight:700;font-size:12px;margin-bottom:2px}
.contact .cnum{color:#1a56b0;font-size:18px;font-weight:700}
.contact .cnote{margin:10px 14px 12px;background:#eef4fc;border-left:3px solid #1a56b0;padding:8px 10px;font-size:12px;color:#2a5a9c;line-height:1.7}
/* article list pages */
.page-head{padding:16px 0 0}
.crumb{color:#999;font-size:12px;margin-top:6px}
.crumb a{color:#999}
.crumb a:hover{color:#1a56b0}
.total-tip{margin:12px 0 4px;color:#777;font-size:13px}
.filter-bar{margin:10px 0 4px}
.filter-bar input{width:420px;max-width:100%;height:36px;border:1px solid #ccc;padding:0 10px;outline:none;font-size:13px}
.filter-bar input:focus{border-color:#1a56b0}
/* pager */
.pager{display:flex;gap:6px;justify-content:center;padding:22px 0}
.pager button{min-width:34px;height:32px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:13px;color:#333}
.pager button.on{background:#1a56b0;color:#fff;border-color:#1a56b0}
.pager button:hover:not(.on){border-color:#1a56b0;color:#1a56b0}
/* detail page */
.art{padding:6px 0 10px}
.art h1{font-size:26px;line-height:1.45;color:#111;margin-top:14px}
.art .am{color:#999;font-size:12px;margin:12px 0 0;padding:10px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.art .am span{margin-right:18px}
.art .am span b{color:#1a56b0;font-weight:400}
.case-meta{background:#f5f8fc;border-left:4px solid #1a56b0;padding:12px 16px;margin:18px 0;font-size:13px;color:#555;line-height:2.1}
.case-meta b{color:#1a56b0;font-weight:400}
.abody{padding:18px 0 20px;font-size:16px;line-height:2;color:#333}
.abody p{margin-bottom:16px;text-indent:2em}
.abody p.ni{text-indent:0}
.qa-lab{color:#1a56b0;font-weight:700;font-size:14px;margin:16px 0 6px;text-indent:0!important}
/* qa accordion */
details.qa{border:1px solid #e8e8e8;margin-bottom:10px;background:#fff}
details.qa summary{cursor:pointer;padding:11px 14px;font-size:15px;font-weight:700;color:#222;list-style:none;line-height:1.5}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::before{content:"+";color:#1a56b0;font-weight:800;margin-right:9px}
details.qa[open] summary::before{content:"−"}
details.qa[open] summary{color:#1a56b0;border-bottom:1px solid #f0f0f0}
details.qa .qa-body{padding:12px 16px;font-size:14px}
details.qa .qa-body p{text-indent:2em;margin-bottom:9px;line-height:1.85}
details.qa .qa-body p.lab{text-indent:0;color:#1a56b0;font-weight:700}
.mod-h{margin:26px 0 12px;padding:10px 16px;background:#1a56b0;color:#fff;font-size:17px;font-weight:700}
.mod-h small{font-weight:400;font-size:12px;margin-left:10px;opacity:.9}
/* law page */
.law-item{border:1px solid #e8e8e8;padding:16px 20px;margin:14px 0 0}
.law-item h3{font-size:16px;color:#222;margin-bottom:7px;line-height:1.5}
.law-item h3 em{font-style:normal;color:#1a56b0;font-size:12px;margin-left:10px;font-weight:400}
.law-item p{font-size:13px;color:#666;line-height:1.85}
/* about */
.about h2{font-size:19px;margin:20px 0 10px;color:#222}
.about p{font-size:14px;line-height:2;color:#444}
.about-card{border:1px solid #e8e8e8;padding:22px;margin-top:14px}
.about-card h3{color:#1a56b0;margin-bottom:12px;font-size:16px}
.contact-table{width:100%;border-collapse:collapse;margin-top:4px}
.contact-table td{border:1px solid #eee;padding:11px 16px;font-size:14px}
.contact-table td:first-child{background:#faf4f4;color:#1a56b0;font-weight:700;width:110px}
/* footer */
.footer{background:#2d2d2d;color:#aaa;margin-top:40px}
.footer .wrap{padding:24px 12px 0}
.ft-links{font-size:13px;line-height:2}
.ft-links a{color:#ccc;margin-right:16px}
.ft-links a:hover{color:#fff}
.ft-contact{display:flex;flex-wrap:wrap;gap:8px 30px;font-size:12px;color:#999;margin-top:10px;line-height:1.8}
.ft-copy{border-top:1px solid #444;margin-top:16px;padding:12px 0;text-align:center;font-size:12px;color:#888}
/* misc */
.ni-lab{display:inline-block;background:#1a56b0;color:#fff;font-size:11px;padding:1px 8px;margin-right:8px;vertical-align:2px}
.ni-lab.b{background:#2b6ca3}
@media (max-width:900px){
  .focus{flex-direction:column}.focus-img{width:100%}.focus-img img{width:100%;height:auto;aspect-ratio:16/9}
  .cgrid,.qgrid,.nlist.two-col-list{grid-template-columns:1fr}
  .main-grid{flex-direction:column}.col-r{width:100%}
  .masthead .wrap{flex-wrap:wrap;height:auto;padding:12px}
  .hd-search{margin-left:0}
  .mainnav .wrap{flex-wrap:wrap;gap:14px;height:auto;padding:8px 12px}
}

@media (max-width:640px){
  body{font-size:14px;overflow-x:hidden;-webkit-text-size-adjust:100%}
  .wrap{width:100%;padding-left:16px;padding-right:16px}

  .topbar .wrap{height:30px}
  .topbar .tb-r{display:none}

  .masthead .wrap{display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding-top:12px;padding-bottom:12px}
  .logo{font-size:30px;line-height:1.2;letter-spacing:1px}
  .hotline{border-left:0;padding-left:0;text-align:right}
  .hotline .hl-label,.hotline .hl-time{display:none}
  .hotline .hl-num{font-size:18px;line-height:1.2}
  .hd-search{grid-column:1/-1;width:100%;margin:0}
  .hd-search input{width:calc(100% - 64px);height:40px;font-size:14px;min-width:0}
  .hd-search button{width:64px;height:40px}
  .sbox{top:42px;left:0;right:0;width:100%;max-height:60vh}
  .sb-item{padding:12px}

  .mainnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .mainnav::-webkit-scrollbar,.subnav::-webkit-scrollbar{display:none}
  .mainnav .wrap{width:max-content;min-width:100%;height:46px;flex-wrap:nowrap;gap:24px;padding:0 16px}
  .mainnav a{height:46px;font-size:15px;white-space:nowrap}
  .mainnav a.on::after{bottom:4px}
  .subnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .subnav .wrap{width:max-content;min-width:100%;height:38px;flex-wrap:nowrap;gap:18px;padding:0 16px}
  .subnav a{white-space:nowrap}

  .main-grid{gap:0;padding-top:12px}
  .col-r{margin-top:18px}
  .page-head{padding-top:8px}
  .page-head h1{line-height:1.4}
  .crumb{line-height:1.7;overflow-wrap:anywhere}

  .focus{gap:14px;margin-top:12px}
  .focus-img .ft{font-size:18px}
  .focus-img .fs{line-height:1.65}
  .focus-list .fi{padding:11px 0}
  .focus-list .fi.hot a,.focus-list .fi a{font-size:15px}
  .bh{margin-top:20px}
  .bh h2{font-size:18px}

  .nlist li{align-items:flex-start;padding:10px 0}
  .nlist li a{white-space:normal;overflow:visible;line-height:1.55}
  .nlist li .tm{margin-left:8px;white-space:nowrap}
  .trow{gap:12px;padding:13px 0;align-items:flex-start}
  .trow img{width:112px;height:76px;border-radius:2px}
  .trow .tt{font-size:15px;margin-bottom:4px}
  .trow .ss{font-size:12px;line-height:1.55;max-height:56px}
  .trow .mm{line-height:1.55}
  .trow-txt{padding-left:8px}
  .cgrid{gap:14px;margin-top:14px}
  .ccard{gap:12px}
  .ccard img{width:112px;height:76px}
  .ccard .ct{font-size:15px}
  .qgrid{gap:0}
  .qgrid li{padding:11px 0}

  .sboxx{margin-bottom:14px}
  .sboxx h3{padding:10px 14px}
  .filter-bar input{width:100%;height:42px;font-size:16px}
  .pager{flex-wrap:wrap;padding:18px 0}
  .pager button{min-width:38px;height:38px}

  .art{padding-top:0}
  .art h1{font-size:22px;line-height:1.45;margin-top:10px;overflow-wrap:anywhere}
  .art .am{display:flex;flex-direction:column;gap:5px;line-height:1.6}
  .art .am span{margin-right:0}
  .abody{padding-top:14px;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
  .abody p{margin-bottom:14px;text-indent:2em}
  .abody img{max-width:100%;height:auto}
  .abody table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .case-meta{padding:10px 12px;margin:14px 0;line-height:1.8;overflow-wrap:anywhere}
  .contact-inline{padding:12px!important;overflow-wrap:anywhere}
  .law-item{padding:14px;margin-top:12px}
  details.qa summary{padding:12px;font-size:15px}
  details.qa .qa-body{padding:12px}
  .mod-h{margin:20px 0 10px;padding:10px 12px;line-height:1.5}
  .mod-h small{display:block;margin:4px 0 0}

  .about-card{padding:16px}
  .contact-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .contact-table td{padding:10px 12px;line-height:1.6}
  .contact-table td:first-child{width:88px;min-width:88px}

  .footer{margin-top:28px}
  .footer .wrap{padding:20px 16px 0}
  .ft-links{line-height:2.2}
  .ft-links a{display:inline-block;margin-right:14px}
  .ft-contact{display:grid;gap:4px;margin-top:12px;line-height:1.65}
  .ft-contact span{overflow-wrap:anywhere}
  .ft-copy{line-height:1.7;padding:12px 0 14px}
}

@media (max-width:380px){
  .wrap{padding-left:12px;padding-right:12px}
  .masthead .wrap{padding-left:12px;padding-right:12px}
  .logo{font-size:27px}
  .hotline .hl-num{font-size:16px}
  .mainnav .wrap,.subnav .wrap{padding-left:12px;padding-right:12px}
  .trow img,.ccard img{width:96px;height:68px}
  .trow .ss{display:none}
  .art h1{font-size:20px}
}
