/* ============================================================
   Reset & Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'PingFang SC','Hiragino Sans GB','Microsoft YaHei',Arial,sans-serif;font-size:15px;line-height:1.7;color:#333;background:#f5f5f7;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:#c0392b}
img{max-width:100%;display:block;border:none}
ul,ol{list-style:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   Container
   ============================================================ */
.container{width:100%;max-width:1220px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* ============================================================
   Layout: Content + Sidebar
   ============================================================ */
.content-sidebar-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}

/* ============================================================
   Site Header
   ============================================================ */
.site-header{background:#1a1a2e;color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:nowrap}
.header-logo-wrap{flex-shrink:0}
.site-logo{display:flex;align-items:center;gap:8px;color:#fff;font-size:20px;font-weight:800;white-space:nowrap}
.logo-icon{font-size:24px;line-height:1}
.logo-text{color:#fff;letter-spacing:.5px}
.logo-text em{color:#e74c3c;font-style:normal}

/* Search */
.header-search{display:flex;align-items:center;flex:1;max-width:340px;margin-left:auto;background:rgba(255,255,255,.1);border-radius:40px;overflow:hidden;border:1.5px solid rgba(255,255,255,.18);transition:border-color .2s}
.header-search:focus-within{border-color:#e74c3c}
.header-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;padding:8px 16px;font-size:14px;min-width:0}
.header-search input::placeholder{color:rgba(255,255,255,.5)}
.header-search button{background:transparent;border:none;cursor:pointer;color:rgba(255,255,255,.75);padding:0 14px;height:38px;display:flex;align-items:center;transition:color .2s}
.header-search button:hover{color:#e74c3c}

/* Nav Toggle */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .2s;flex-shrink:0}
.nav-toggle:hover{background:rgba(255,255,255,.12)}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Site Nav */
.site-nav{background:#16213e;border-top:1px solid rgba(255,255,255,.07)}
.nav-inner{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding-top:0;padding-bottom:0}
.site-nav a{display:inline-block;color:rgba(255,255,255,.8);font-size:14px;padding:10px 14px;transition:color .2s,background .2s;white-space:nowrap;position:relative}
.site-nav a:hover,.site-nav a.active{color:#e74c3c}
.site-nav a.nav-home{color:#e74c3c;font-weight:700}

/* ============================================================
   Breadcrumb
   ============================================================ */
.breadcrumb{padding:14px 0 10px;font-size:13px;color:#888;overflow-wrap:anywhere;word-break:break-word}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.breadcrumb li{display:flex;align-items:center;gap:4px}
.breadcrumb li:not(:last-child)::after{content:'›';color:#ccc;margin-left:4px}
.breadcrumb a{color:#888}
.breadcrumb a:hover{color:#c0392b}
.breadcrumb [aria-current="page"]{color:#333;overflow:hidden;text-overflow:ellipsis;max-width:200px;white-space:nowrap}

/* ============================================================
   Section Headers
   ============================================================ */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;border-bottom:2px solid #e74c3c;padding-bottom:10px}
.section-title{font-size:18px;font-weight:800;color:#1a1a2e;display:flex;align-items:center;gap:8px;min-width:0}
.title-bar{display:inline-block;width:4px;height:18px;background:#e74c3c;border-radius:2px;flex-shrink:0}
.section-more{font-size:13px;color:#e74c3c;white-space:nowrap;flex-shrink:0}
.section-badge{background:#e74c3c;color:#fff;font-size:13px;font-weight:700;padding:4px 12px;border-radius:4px}

/* ============================================================
   Home Main
   ============================================================ */
.home-main{padding-bottom:48px}
.home-body{padding-top:32px}
.home-content{min-width:0}

/* ============================================================
   Banner
   ============================================================ */
.home-banner{background:#1a1a2e;padding:24px 0 28px}
.banner-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.banner-featured{position:relative;border-radius:12px;overflow:hidden;min-width:0}
.banner-card{display:block;position:relative;color:#fff;border-radius:12px;overflow:hidden}
.banner-img{width:100%;height:380px;object-fit:cover;display:block}
.banner-overlay{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 24px;background:linear-gradient(transparent,rgba(0,0,0,.85) 60%)}
.banner-tag{display:inline-block;background:#e74c3c;color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:3px;margin-bottom:10px}
.banner-title{font-size:clamp(16px,2.5vw,22px);font-weight:800;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}
.banner-intro{font-size:13px;color:rgba(255,255,255,.8);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.6}
.banner-side-list{min-width:0;background:rgba(255,255,255,.06);border-radius:10px;padding:16px}
.banner-side-header{margin-bottom:14px}
.banner-rank-list{display:flex;flex-direction:column;gap:0}
.rank-item{border-bottom:1px solid rgba(255,255,255,.08)}
.rank-item:last-child{border-bottom:none}
.rank-link{display:flex;align-items:center;gap:10px;padding:10px 4px;color:rgba(255,255,255,.85);font-size:13px}
.rank-link:hover{color:#e74c3c}
.rank-num{width:22px;height:22px;border-radius:4px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;counter-increment:rank-counter}
.banner-rank-list{counter-reset:rank-counter}
.rank-item:nth-child(1) .rank-num{background:#e74c3c;color:#fff}
.rank-item:nth-child(2) .rank-num{background:#e67e22;color:#fff}
.rank-item:nth-child(3) .rank-num{background:#f39c12;color:#fff}
.rank-item .rank-num::before{content:counter(rank-counter)}
.rank-title{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.rank-views{font-size:12px;color:rgba(255,255,255,.4);white-space:nowrap;flex-shrink:0}

/* ============================================================
   Card Grid
   ============================================================ */
.card-grid{display:grid;gap:20px}
.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);transition:box-shadow .25s,transform .25s;min-width:0}
.news-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.13);transform:translateY(-3px)}
.card-thumb-link{display:block;position:relative;overflow:hidden;background:#f0f0f0;aspect-ratio:5/3}
.card-thumb{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.news-card:hover .card-thumb{transform:scale(1.04)}
.card-category{position:absolute;top:8px;left:8px}
.card-category a{background:#e74c3c;color:#fff;font-size:11px;padding:2px 8px;border-radius:3px;font-weight:600}
.card-body{padding:14px}
.card-title{font-size:14px;font-weight:700;line-height:1.5;margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.card-title a{color:#1a1a2e}
.card-title a:hover{color:#e74c3c}
.card-intro{font-size:13px;color:#666;line-height:1.6;margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#999;flex-wrap:wrap}

/* ============================================================
   Recommend List
   ============================================================ */
.home-section{margin-bottom:36px}
.recommend-list{display:flex;flex-direction:column;gap:0}
.recommend-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #f0f0f0;min-width:0}
.recommend-item:last-child{border-bottom:none}
.rec-thumb-link{flex-shrink:0;display:block;border-radius:8px;overflow:hidden;width:120px;height:80px;background:#f0f0f0}
.rec-thumb{width:120px;height:80px;object-fit:cover;transition:transform .3s}
.recommend-item:hover .rec-thumb{transform:scale(1.04)}
.rec-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.rec-title{font-size:15px;font-weight:700;line-height:1.5;margin-bottom:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.rec-title a{color:#1a1a2e}
.rec-title a:hover{color:#e74c3c}
.rec-intro{font-size:13px;color:#666;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;overflow-wrap:anywhere}
.rec-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#999;flex-wrap:wrap}
.rec-cat{background:#fff0f0;color:#e74c3c;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600}

/* ============================================================
   Sidebar
   ============================================================ */
.home-sidebar{min-width:0;display:flex;flex-direction:column;gap:20px}
.sidebar-widget{background:#fff;border-radius:10px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.06);min-width:0}
.widget-title{font-size:15px;font-weight:800;color:#1a1a2e;padding-bottom:10px;border-bottom:2px solid #e74c3c;margin-bottom:14px;overflow-wrap:anywhere}

/* Sidebar Rank */
.sidebar-rank{counter-reset:s-rank-counter;display:flex;flex-direction:column;gap:0}
.sidebar-rank-item{border-bottom:1px solid #f5f5f5;counter-increment:s-rank-counter}
.sidebar-rank-item:last-child{border-bottom:none}
.sidebar-rank-item a{display:flex;align-items:center;gap:8px;padding:9px 4px;color:#333;font-size:13px}
.sidebar-rank-item a:hover{color:#e74c3c}
.s-rank-num{width:20px;height:20px;border-radius:4px;background:#f0f0f0;color:#888;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.s-rank-num::before{content:counter(s-rank-counter)}
.sidebar-rank-item:nth-child(1) .s-rank-num{background:#e74c3c;color:#fff}
.sidebar-rank-item:nth-child(2) .s-rank-num{background:#e67e22;color:#fff}
.sidebar-rank-item:nth-child(3) .s-rank-num{background:#f39c12;color:#fff}
.s-rank-title{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.5}

/* Sidebar List */
.sidebar-list{display:flex;flex-direction:column;gap:0}
.sidebar-list-item{border-bottom:1px solid #f5f5f5}
.sidebar-list-item:last-child{border-bottom:none}
.sidebar-list-item a{display:flex;align-items:center;gap:10px;padding:10px 0;color:#333}
.sidebar-list-item a:hover{color:#e74c3c}
.sidebar-list-item img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#f0f0f0}
.s-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.s-item-title{font-size:13px;font-weight:600;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#1a1a2e}
.sidebar-list-item a:hover .s-item-title{color:#e74c3c}
.s-item-date{font-size:11px;color:#aaa}

/* ============================================================
   List Page
   ============================================================ */
.list-main{padding-top:20px;padding-bottom:48px}
.list-page-title{font-size:clamp(20px,4vw,28px);font-weight:800;color:#1a1a2e;margin-bottom:20px;padding-bottom:14px;border-bottom:3px solid #e74c3c;overflow-wrap:anywhere}
.article-list{display:flex;flex-direction:column;gap:0}
.article-list-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #eee;min-width:0}
.article-list-item:last-child{border-bottom:none}
.article-list-thumb-link{flex-shrink:0;display:block;border-radius:8px;overflow:hidden;width:200px;height:130px;background:#f0f0f0}
.article-list-thumb{width:200px;height:130px;object-fit:cover;transition:transform .3s}
.article-list-item:hover .article-list-thumb{transform:scale(1.04)}
.article-list-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.article-list-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#999;flex-wrap:wrap;margin-bottom:8px}
.article-cat-badge{background:#fff0f0;color:#e74c3c;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:700;flex-shrink:0}
.article-list-title{font-size:16px;font-weight:700;line-height:1.5;margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.article-list-title a{color:#1a1a2e}
.article-list-title a:hover{color:#e74c3c}
.article-list-intro{font-size:13px;color:#666;line-height:1.7;margin-bottom:10px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;flex:1}
.article-list-more{font-size:13px;color:#e74c3c;font-weight:600;align-self:flex-start}
.article-list-more:hover{color:#a93226}

/* ============================================================
   Pagination
   ============================================================ */
.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:28px 0 8px}
.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:6px;background:#fff;color:#333;font-size:14px;border:1.5px solid #e0e0e0;transition:background .2s,border-color .2s,color .2s;font-weight:500}
.pagination a:hover,.pagination a.active{background:#e74c3c;border-color:#e74c3c;color:#fff}

/* ============================================================
   Content Page
   ============================================================ */
.content-main{padding-top:20px;padding-bottom:48px}
.article-wrap{min-width:0}
.article-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}
.article-cat-meta{margin-bottom:10px}
.article-title{font-size:clamp(20px,4vw,30px);font-weight:900;line-height:1.4;color:#1a1a2e;margin-bottom:12px;overflow-wrap:anywhere;word-break:break-word}
.article-info{display:flex;align-items:center;gap:14px;font-size:13px;color:#999;flex-wrap:wrap}
.article-views{color:#aaa}
.article-body{font-size:16px;line-height:1.9;color:#333;overflow-wrap:anywhere;word-break:break-word}
.article-body h2{font-size:20px;font-weight:800;color:#1a1a2e;margin:28px 0 12px;padding-left:12px;border-left:4px solid #e74c3c}
.article-body h3{font-size:17px;font-weight:700;color:#222;margin:22px 0 10px}
.article-body p{margin-bottom:18px}
.article-body img{max-width:100%;border-radius:8px;margin:16px auto;height:auto}
.article-body a{color:#e74c3c;text-decoration:underline;text-decoration-color:rgba(231,76,60,.3)}
.article-body blockquote{border-left:4px solid #e74c3c;background:#fff7f7;padding:14px 18px;border-radius:0 8px 8px 0;color:#555;font-style:italic;margin:20px 0;overflow-wrap:anywhere}
.article-body pre{background:#1a1a2e;color:#f8f8f2;padding:16px;border-radius:8px;overflow-x:auto;font-size:14px;margin:18px 0;white-space:pre-wrap;word-break:break-all}
.article-body code{background:#f5f5f7;color:#c0392b;padding:2px 6px;border-radius:4px;font-size:0.9em}
.article-body pre code{background:transparent;color:inherit;padding:0;font-size:inherit}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;display:block;overflow-x:auto}
.article-body th,.article-body td{padding:10px 14px;border:1px solid #e0e0e0;text-align:left;min-width:80px}
.article-body th{background:#f5f5f7;font-weight:700}
.article-body iframe,.article-body video{max-width:100%;border-radius:8px;margin:16px 0}
.article-footer{margin-top:28px;padding-top:16px;border-top:1px dashed #e0e0e0}
.article-tags-row{display:flex;flex-wrap:wrap;gap:8px}
.related-section{margin-top:36px}

/* ============================================================
   Search Page
   ============================================================ */
.search-main{padding-top:20px;padding-bottom:48px}
.search-header{margin-bottom:24px;padding-bottom:20px;border-bottom:3px solid #e74c3c}
.search-page-title{font-size:clamp(18px,4vw,26px);font-weight:800;color:#1a1a2e;margin-bottom:14px;overflow-wrap:anywhere;word-break:break-word}
.search-form-inline{display:flex;gap:8px;flex-wrap:wrap}
.search-form-inline input{padding:10px 16px;border:1.5px solid #ddd;border-radius:8px;font-size:14px;outline:none;min-width:0;flex:1;max-width:360px;transition:border-color .2s}
.search-form-inline input:focus{border-color:#e74c3c}
.search-form-inline button{padding:10px 22px;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;font-weight:700;white-space:nowrap;transition:background .2s}
.search-form-inline button:hover{background:#c0392b}
.search-empty{text-align:center;padding:56px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}
.search-empty-icon{font-size:56px}
.search-empty p{color:#666;font-size:15px;line-height:1.7}
.btn-back-home{display:inline-block;padding:10px 28px;background:#e74c3c;color:#fff;border-radius:8px;font-weight:700;font-size:14px;margin-top:8px}
.btn-back-home:hover{background:#c0392b;color:#fff}

/* ============================================================
   About Page
   ============================================================ */
.about-main{padding-top:20px;padding-bottom:48px}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}
.about-content{min-width:0}
.about-title{font-size:clamp(22px,4vw,32px);font-weight:900;color:#1a1a2e;margin-bottom:28px;padding-bottom:14px;border-bottom:3px solid #e74c3c;overflow-wrap:anywhere}
.about-section{margin-bottom:32px}
.about-section h2{font-size:18px;font-weight:800;color:#1a1a2e;margin-bottom:14px;padding-left:12px;border-left:4px solid #e74c3c}
.about-section p{color:#555;line-height:1.9;margin-bottom:12px;font-size:15px;overflow-wrap:anywhere}
.about-section a{color:#e74c3c}
.about-desc-text{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-item{display:flex;align-items:flex-start;gap:14px;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.contact-icon{font-size:28px;line-height:1;flex-shrink:0}
.contact-item strong{display:block;font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:4px}
.contact-item p{color:#666;font-size:14px;margin:0;overflow-wrap:anywhere}
.about-sidebar{min-width:0}

/* ============================================================
   Site Footer
   ============================================================ */
.site-footer{background:#1a1a2e;color:rgba(255,255,255,.75);padding:48px 0 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr 1fr;gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{min-width:0}
.footer-logo{font-size:20px;font-weight:900;color:#fff;display:inline-block;margin-bottom:12px}
.footer-desc{font-size:13px;line-height:1.8;color:rgba(255,255,255,.6);margin-bottom:14px;overflow-wrap:anywhere}
.footer-contact{display:flex;flex-direction:column;gap:6px;font-size:13px;color:rgba(255,255,255,.5)}
.footer-links h3{font-size:14px;font-weight:700;color:#fff;margin-bottom:14px}
.footer-links ul{display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.6);transition:color .2s}
.footer-links a:hover{color:#e74c3c}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:12px;flex-wrap:wrap}
.footer-copy{font-size:12px;color:rgba(255,255,255,.4)}
.footer-nav-bottom{display:flex;gap:14px;flex-wrap:wrap}
.footer-nav-bottom a{font-size:12px;color:rgba(255,255,255,.4);transition:color .2s}
.footer-nav-bottom a:hover{color:#e74c3c}

/* ============================================================
   Responsive: Tablet <= 1024px
   ============================================================ */
@media(max-width:1024px){
  .content-sidebar-wrap{grid-template-columns:minmax(0,1fr) 260px;gap:24px}
  .banner-layout{grid-template-columns:minmax(0,1fr) 240px}
  .card-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:minmax(0,1fr) 1fr}
  .footer-brand{grid-column:1/-1}
  .about-layout{grid-template-columns:minmax(0,1fr) 240px}
}

/* ============================================================
   Responsive: Tablet <= 768px
   ============================================================ */
@media(max-width:768px){
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#16213e;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:999}
  .site-nav.is-open{display:block}
  .nav-inner{flex-direction:column;align-items:stretch;padding:8px 16px}
  .site-nav a{padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-nav a:last-child{border-bottom:none}
  .header-inner{position:relative}
  .header-search{max-width:220px}
  .content-sidebar-wrap{grid-template-columns:minmax(0,1fr);gap:24px}
  .banner-layout{grid-template-columns:minmax(0,1fr)}
  .banner-side-list{display:none}
  .banner-img{height:240px}
  .about-layout{grid-template-columns:minmax(0,1fr)}
  .about-sidebar{display:none}
  .footer-grid{grid-template-columns:minmax(0,1fr)}
  .footer-brand{grid-column:auto}
  .article-list-thumb-link{width:140px;height:94px}
  .article-list-thumb{width:140px;height:94px}
  .contact-grid{grid-template-columns:1fr}
  .card-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============================================================
   Responsive: Mobile <= 480px
   ============================================================ */
@media(max-width:480px){
  .header-search{max-width:160px}
  .logo-text{font-size:16px}
  .banner-img{height:200px}
  .card-grid-3{grid-template-columns:minmax(0,1fr)}
  .recommend-item{flex-direction:column}
  .rec-thumb-link{width:100%;height:180px}
  .rec-thumb{width:100%;height:180px}
  .article-list-item{flex-direction:column}
  .article-list-thumb-link{width:100%;height:200px}
  .article-list-thumb{width:100%;height:200px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .home-sidebar{gap:16px}
}

/* ============================================================
   Responsive: Mobile <= 375px
   ============================================================ */
@media(max-width:375px){
  .container{padding-left:14px;padding-right:14px}
  .article-title{font-size:18px}
  .banner-title{font-size:15px}
}