:root{
  --red:#b11226;
  --red-dk:#8a0d1d;
  --red-lt:#fbeaec;
  --ink:#1a1a1a;
  --sub:#666;
  --line:#e6e2da;
  --bg:#faf7f2;
  --white:#ffffff;
  --gold:#b8860b;
  --maxw:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Songti SC","Noto Serif SC",Georgia,"Microsoft YaHei",serif;
  font-size:15px;
  line-height:1.8;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
ul,ol{list-style:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ============ top strip ============ */
.topstrip{background:var(--ink);color:#c8c2b8;font-size:12px}
.topstrip .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.topstrip a{color:#c8c2b8}
.topstrip a:hover{color:#fff}
.topstrip .ts-l{display:flex;gap:18px;align-items:center}
.topstrip .ts-l em{font-style:normal;color:var(--red);font-weight:700}
.topstrip .ts-r{display:flex;gap:16px}

/* ============ head ============ */
.site-head{background:var(--white);border-bottom:1px solid var(--line)}
.head-top .wrap{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 24px;
}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:52px;height:52px;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;font-weight:700;border-radius:4px;
  font-family:"Songti SC",serif;
}
.brand-txt b{display:block;font-size:28px;letter-spacing:6px;font-weight:800;color:var(--ink)}
.brand-txt span{display:block;font-size:11px;color:var(--sub);letter-spacing:5px;margin-top:2px}
.head-date{
  text-align:right;font-size:12px;color:var(--sub);line-height:1.6;
}
.head-date b{
  display:block;font-size:14px;color:var(--red);letter-spacing:2px;margin-bottom:2px;
}

/* ============ nav ============ */
.nav-main{background:var(--white);border-top:2px solid var(--red);border-bottom:1px solid var(--line)}
.nav-main .wrap{display:flex;align-items:center;height:50px;gap:0;position:relative}
.nav-main a{
  color:var(--ink);font-size:15.5px;padding:0 28px;height:50px;
  display:inline-flex;align-items:center;font-weight:600;letter-spacing:1px;
  position:relative;
}
.nav-main a::after{
  content:"";position:absolute;left:28px;right:28px;bottom:0;height:2px;
  background:var(--red);transform:scaleX(0);transition:transform .3s;
}
.nav-main a:hover{color:var(--red)}
.nav-main a:hover::after{transform:scaleX(1)}
.nav-main .search-mini{
  margin-left:auto;display:flex;align-items:center;
}
.nav-main .search-mini input{
  height:34px;width:220px;border:1px solid var(--line);border-right:none;
  padding:0 12px;font-size:13px;outline:none;background:#fbfaf7;
}
.nav-main .search-mini button{
  height:34px;width:60px;border:none;background:var(--red);color:#fff;
  font-size:13px;cursor:pointer;
}
.menu-toggle{display:none}

/* ============ headline strip ============ */
.headline{
  background:var(--white);border-bottom:1px solid var(--line);
  padding:24px 0;
}
.headline .wrap{
  display:grid;grid-template-columns:1.7fr 1fr;gap:26px;align-items:start;
}
.headline-main{
  position:relative;overflow:hidden;display:block;
  background:#d8d2c8;
  aspect-ratio:16/9;
  width:100%;
}
.headline-main img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s;
}
.headline-main:hover img{transform:scale(1.03)}
.headline-main .cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  background:linear-gradient(transparent 0%,rgba(26,26,26,.92) 100%);
  color:#fff;padding:50px 28px 22px;
}
.headline-main .cap .tag{
  display:inline-block;background:var(--red);color:#fff;
  font-size:12px;padding:3px 12px;letter-spacing:2px;margin-bottom:12px;
}
.headline-main .cap h2{
  font-size:26px;line-height:1.4;font-weight:800;letter-spacing:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.headline-main .cap .m{font-size:12.5px;opacity:.85;margin-top:10px;letter-spacing:1px}

.headline-side{
  display:flex;flex-direction:column;gap:0;
}
.headline-side li{
  padding:12px 0;border-bottom:1px dashed var(--line);
}
.headline-side li:last-child{border-bottom:none}
.headline-side li .num{
  display:inline-block;color:var(--red);font-weight:800;
  font-size:14px;margin-right:8px;font-family:Georgia,serif;
}
.headline-side li h4{
  display:inline;font-size:15px;line-height:1.6;font-weight:600;
}
.headline-side li h4 a:hover{color:var(--red)}
.headline-side li .m{font-size:12px;color:var(--sub);margin-top:5px}

/* ============ section title ============ */
.sec-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 0 14px;
  border-bottom:2px solid var(--ink);
  margin-bottom:20px;
}
.sec-head h2{
  font-size:22px;font-weight:800;letter-spacing:3px;color:var(--ink);
  position:relative;padding-left:18px;
  font-family:"Songti SC",serif;
}
.sec-head h2::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:22px;background:var(--red);
}
.sec-head .more{font-size:12.5px;color:var(--sub);letter-spacing:1px}
.sec-head .more:hover{color:var(--red)}

/* ============ news grid 4 col ============ */
.news-4{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.news-4 a{display:block}
.news-4 .thumb{
  width:100%;aspect-ratio:4/3;overflow:hidden;background:#d8d2c8;display:block;
}
.news-4 .thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.news-4 a:hover .thumb img{transform:scale(1.06)}
.news-4 h4{
  margin-top:12px;font-size:16px;line-height:1.55;font-weight:700;
  letter-spacing:.5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.news-4 a:hover h4{color:var(--red)}
.news-4 .m{
  font-size:12px;color:var(--sub);margin-top:8px;
  display:flex;gap:12px;letter-spacing:.5px;
}

/* ============ news 2col text ============ */
.news-2col{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
}
.news-2col li{
  display:flex;gap:16px;padding:14px 0;
  border-bottom:1px dashed var(--line);
}
.news-2col li:last-child{border-bottom:none}
.news-2col .num{
  flex-shrink:0;font-size:22px;font-weight:800;color:var(--red);
  font-family:Georgia,serif;line-height:1;padding-top:4px;width:34px;
}
.news-2col .txt{flex:1;min-width:0}
.news-2col .txt h4{
  font-size:15px;line-height:1.6;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.news-2col .txt h4 a:hover{color:var(--red)}
.news-2col .txt .m{font-size:12px;color:var(--sub);margin-top:5px;letter-spacing:.5px}

/* ============ quote band ============ */
.quote-band{
  background:var(--ink);color:#e8e2d8;
  margin:36px 0;padding:40px 0;text-align:center;
}
.quote-band p{
  font-size:22px;line-height:1.7;letter-spacing:3px;font-weight:600;
  max-width:26em;margin:0 auto;font-family:"Songti SC",serif;
}
.quote-band .sign{
  margin-top:16px;font-size:12px;color:#8a8070;letter-spacing:4px;
}

/* ============ wide pic row ============ */
.wide-row{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;
}
.wide-row a{display:block;position:relative;overflow:hidden;background:#d8d2c8}
.wide-row .big{aspect-ratio:16/9}
.wide-row .small{aspect-ratio:4/3}
.wide-row a img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s;
}
.wide-row a:hover img{transform:scale(1.05)}
.wide-row a .cap{
  position:relative;z-index:2;height:100%;
  display:flex;align-items:flex-end;
  background:linear-gradient(transparent,rgba(26,26,26,.9));
  color:#fff;padding:20px 18px;
}
.wide-row a .cap h4{
  font-size:15px;line-height:1.5;font-weight:700;letter-spacing:1px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wide-row .big .cap h4{font-size:20px;letter-spacing:2px}

/* ============ bottom grid ============ */
.bottom-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
}
.pic-text-list li{
  display:flex;gap:14px;padding:14px 0;
  border-bottom:1px dashed var(--line);
}
.pic-text-list li:last-child{border-bottom:none}
.pic-text-list .thumb{
  width:130px;height:90px;flex-shrink:0;overflow:hidden;background:#d8d2c8;display:block;
}
.pic-text-list .thumb img{
  width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;
}
.pic-text-list li:hover .thumb img{transform:scale(1.06)}
.pic-text-list .txt{flex:1;min-width:0}
.pic-text-list .txt h4{
  font-size:15px;line-height:1.6;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pic-text-list .txt h4 a:hover{color:var(--red)}
.pic-text-list .txt .m{font-size:12px;color:var(--sub);margin-top:6px}

/* ============ footer ============ */
.site-foot{
  background:var(--ink);color:#a8a29a;margin-top:50px;padding:50px 0 0;
}
.foot-nav{
  display:flex;flex-wrap:wrap;justify-content:center;gap:0;
  border-bottom:1px solid #2a2a2a;padding-bottom:22px;margin-bottom:30px;
}
.foot-nav a{
  color:#d8d2c8;font-size:14px;padding:6px 26px;
  border-right:1px solid #2a2a2a;letter-spacing:1px;
}
.foot-nav a:last-child{border-right:none}
.foot-nav a:hover{color:var(--red)}

.foot-info{
  display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;
}
.foot-info .col h4{
  color:#fff;font-size:14px;margin-bottom:14px;font-weight:700;
  letter-spacing:2px;
}
.foot-info .col p{
  font-size:12.5px;line-height:2;color:#a8a29a;margin-bottom:5px;
}
.foot-info .col p b{color:var(--red);font-weight:600}
.foot-brand b{
  display:block;color:#fff;font-size:22px;letter-spacing:4px;margin-bottom:14px;
  font-family:"Songti SC",serif;
}
.foot-brand p{font-size:12.5px;line-height:2;max-width:34em;margin-bottom:10px}
.foot-bottom{
  margin-top:36px;border-top:1px solid #2a2a2a;padding:20px 0;
  text-align:center;font-size:12px;color:#6a6258;letter-spacing:1px;
}

/* ============ list page ============ */
.crumb{font-size:12px;color:var(--sub);padding:16px 0;letter-spacing:1px}
.crumb a{color:var(--sub)}
.crumb a:hover{color:var(--red)}
.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.list-grid .li{
  background:var(--white);display:block;overflow:hidden;
  border-bottom:1px solid var(--line);padding-bottom:16px;
  transition:transform .3s;
}
.list-grid .li:hover{transform:translateY(-3px)}
.list-grid .li .thumb{
  width:100%;aspect-ratio:16/10;overflow:hidden;background:#d8d2c8;
}
.list-grid .li .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.list-grid .li:hover .thumb img{transform:scale(1.05)}
.list-grid .li .body{padding:14px 2px 0}
.list-grid .li .cat{
  font-size:12px;color:var(--red);margin-bottom:6px;letter-spacing:1px;font-weight:600;
}
.list-grid .li h3{font-size:16px;line-height:1.5;font-weight:700;min-height:48px}
.list-grid .li h3 a:hover{color:var(--red)}
.list-grid .li p{
  font-size:13px;color:var(--sub);margin-top:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.list-grid .li .m{
  font-size:12px;color:#999;margin-top:10px;letter-spacing:.5px;
  display:flex;justify-content:space-between;
}

.pager{display:flex;justify-content:center;gap:8px;padding:38px 0}
.pager a,.pager span{
  min-width:38px;height:38px;padding:0 12px;background:#fff;border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--sub);
}
.pager a:hover{border-color:var(--red);color:var(--red)}

/* ============ article ============ */
.article-wrap{max-width:900px;margin:0 auto;padding:40px 24px}
.article-box{background:#fff;padding:44px 56px 50px;border:1px solid var(--line)}
.article-box h1{
  font-size:30px;line-height:1.45;font-weight:800;letter-spacing:2px;
  font-family:"Songti SC",serif;
}
.article-meta{
  font-size:12.5px;color:var(--sub);margin-top:18px;letter-spacing:1px;
  padding-bottom:20px;border-bottom:1px solid var(--line);
}
.article-meta span{margin-right:22px}
.article-body{font-size:16.5px;line-height:2.1;color:#2a2a2a;margin-top:28px}
.article-body p{margin-bottom:24px}
.article-body h2{
  font-size:21px;margin:38px 0 20px;font-weight:800;
  padding-left:16px;border-left:5px solid var(--red);letter-spacing:2px;
  font-family:"Songti SC",serif;
}
.article-body h3{font-size:17px;margin:30px 0 16px;font-weight:700}
.article-body img{margin:24px 0}
.article-body blockquote{
  background:var(--red-lt);border-left:4px solid var(--red);
  padding:18px 22px;margin:26px 0;color:var(--red-dk);font-size:15.5px;
  font-family:"Songti SC",serif;
}
.article-nav{
  margin-top:40px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:13px;color:var(--sub);
}
.article-nav a:hover{color:var(--red)}

/* ============ responsive ============ */
@media(max-width:1240px){
  .news-4{grid-template-columns:repeat(3,1fr)}
  .list-grid{grid-template-columns:repeat(2,1fr)}
  .article-box{padding:34px 32px 40px}
  .foot-info{grid-template-columns:1.6fr 1fr 1fr}
}

@media(max-width:1024px){
  .news-4{grid-template-columns:repeat(2,1fr)}
  .wide-row{grid-template-columns:1fr 1fr}
  .wide-row .big{grid-column:span 2}
  .bottom-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
  .topstrip{display:none}
  .head-top .wrap{flex-wrap:wrap;padding:16px 20px;gap:12px}
  .brand-mark{width:44px;height:44px;font-size:22px}
  .brand-txt b{font-size:22px;letter-spacing:3px}
  .head-date{display:none}
  .nav-main .wrap{height:auto;flex-direction:column;align-items:stretch;display:none}
  .nav-main .wrap.open{display:flex}
  .nav-main a{padding:14px 20px;height:auto;border-bottom:1px solid var(--line);font-size:14px}
  .nav-main a::after{display:none}
  .nav-main .search-mini{margin:10px 20px;width:calc(100% - 40px)}
  .nav-main .search-mini input{flex:1;width:auto}
  .menu-toggle{
    display:block;position:absolute;right:20px;top:12px;
    width:38px;height:38px;background:var(--red);border:none;
    cursor:pointer;border-radius:3px;
  }
  .menu-toggle span{
    position:absolute;left:10px;right:10px;height:2px;background:#fff;
  }
  .menu-toggle span:nth-child(1){top:12px}
  .menu-toggle span:nth-child(2){top:18px}
  .menu-toggle span:nth-child(3){top:24px}

  .headline{padding:16px 0}
  .headline .wrap{grid-template-columns:1fr;gap:18px}
  .headline-main{aspect-ratio:4/3}
  .headline-main .cap{padding:30px 16px 16px}
  .headline-main .cap h2{font-size:17px;letter-spacing:1px}

  .sec-head h2{font-size:18px;letter-spacing:2px}
  .sec-head h2::before{height:18px}

  .news-4{grid-template-columns:1fr;gap:18px}
  .news-2col{grid-template-columns:1fr;gap:0}
  .quote-band p{font-size:16px;letter-spacing:2px;padding:0 20px}
  .wide-row{grid-template-columns:1fr}
  .wide-row .big{grid-column:auto;aspect-ratio:16/9}
  .wide-row .small{aspect-ratio:16/9}
  .list-grid{grid-template-columns:1fr}
  .article-wrap{padding:20px 16px}
  .article-box{padding:24px 20px 30px}
  .article-box h1{font-size:21px;letter-spacing:1px}
  .article-body{font-size:15.5px}
  .site-foot{padding:34px 0 0}
  .foot-nav a{padding:6px 14px;font-size:13px}
  .foot-info{grid-template-columns:1fr;gap:22px}
}