/* === Global Reset & Base === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --clr-primary:#1a56db;
  --clr-accent:#f97316;
  --clr-dark:#0f172a;
  --clr-mid:#334155;
  --clr-light:#f8fafc;
  --clr-white:#ffffff;
  --clr-border:#e2e8f0;
  --font-sans:'Noto Sans SC',system-ui,sans-serif;
  --font-mono:ui-monospace,monospace;
  --radius:10px;
  --shadow:0 2px 12px rgba(0,0,0,.08);
  --shadow-lg:0 8px 32px rgba(0,0,0,.12);
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--clr-dark);background:var(--clr-light);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--clr-primary)}

/* === Layout === */
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

/* === Header / Nav === */
.site-header{background:var(--clr-white);border-bottom:1px solid var(--clr-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 1.25rem;max-width:1200px;margin:0 auto}
.site-logo{display:flex;align-items:center;gap:.625rem;font-weight:700;font-size:1.125rem;color:var(--clr-dark)}
.site-logo img{height:38px;width:auto}
.main-nav{display:flex;align-items:center;gap:2rem}
.main-nav a{font-size:.9375rem;font-weight:500;color:var(--clr-mid);transition:color .2s}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--clr-primary)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle svg{width:24px;height:24px;color:var(--clr-dark)}

/* === Hero === */
.hero{position:relative;height:420px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,23,42,.82) 0%,rgba(26,86,219,.55) 100%);display:flex;align-items:center}
.hero-content{position:relative;z-index:1;color:var(--clr-white);padding:0 1.25rem;max-width:1200px;margin:0 auto}
.hero h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.2;margin-bottom:.75rem}
.hero p{font-size:1.0625rem;opacity:.9;max-width:52ch;margin-bottom:1.25rem}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6875rem 1.375rem;border-radius:var(--radius);font-weight:600;font-size:.9375rem;transition:all .2s}
.btn-primary{background:var(--clr-primary);color:var(--clr-white)}
.btn-primary:hover{background:#1447c0;color:var(--clr-white);transform:translateY(-1px);box-shadow:var(--shadow-lg)}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,.6);color:var(--clr-white)}
.btn-outline:hover{background:rgba(255,255,255,.15);color:var(--clr-white)}

/* === Section === */
.section{padding:3.5rem 0}
.section-title{font-size:1.5rem;font-weight:700;margin-bottom:.375rem}
.section-sub{color:#64748b;font-size:.9375rem;margin-bottom:2rem}

/* === Card Grid === */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.card{background:var(--clr-white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card-img{height:180px;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:1.125rem;flex:1;display:flex;flex-direction:column}
.card-meta{font-size:.8125rem;color:#94a3b8;margin-bottom:.5rem}
.card-title{font-size:1.0625rem;font-weight:700;line-height:1.35;margin-bottom:.5rem;flex:1}
.card-title a:hover{color:var(--clr-primary)}
.card-desc{font-size:.875rem;color:#64748b;line-height:1.6;margin-bottom:.75rem}
.card-cat{font-size:.8125rem;font-weight:600;color:var(--clr-accent);margin-bottom:.25rem}

/* === Category Section === */
.cat-section{background:var(--clr-white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);margin-bottom:2rem}
.cat-section h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--clr-border)}

/* === Article Body === */
.article-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;max-width:1200px;margin:0 auto;padding:2.5rem 1.25rem}
.article-main{flex:1}
.article-hero-img{width:100%;height:320px;object-fit:cover;border-radius:var(--radius);margin-bottom:1.5rem}
.article-content{font-size:1rem;line-height:1.85;color:#1e293b}
.article-content h2{font-size:1.375rem;font-weight:700;margin:2rem 0 .75rem;color:var(--clr-dark);border-left:4px solid var(--clr-primary);padding-left:.75rem}
.article-content p{margin-bottom:1.125rem}
.article-content ul,.article-content ol{margin:0 0 1.125rem 1.5rem}
.article-content li{margin-bottom:.375rem}
.article-content .faq-item{margin-bottom:1.5rem;background:#f8fafc;border-radius:var(--radius);padding:1.25rem;border-left:4px solid var(--clr-accent)}
.article-content .faq-q{font-weight:700;margin-bottom:.5rem}
.article-meta{display:flex;gap:1rem;font-size:.875rem;color:#94a3b8;margin-bottom:1rem}
.article-breadcrumb{font-size:.875rem;color:#94a3b8;margin-bottom:1.5rem}
.article-breadcrumb a{color:var(--clr-primary)}
.article-breadcrumb span{margin:0 .375rem}

/* === Sidebar === */
.article-sidebar{position:sticky;top:88px;height:fit-content}
.sidebar-box{background:var(--clr-white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.25rem}
.sidebar-box h3{font-size:.9375rem;font-weight:700;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid var(--clr-border)}
.related-list{list-style:none;display:flex;flex-direction:column;gap:.875rem}
.related-list li{display:flex;gap:.75rem;align-items:flex-start}
.related-list .rel-img{width:72px;height:52px;flex-shrink:0;border-radius:6px;object-fit:cover}
.related-list .rel-title{font-size:.875rem;font-weight:600;line-height:1.35;color:var(--clr-dark)}
.related-list .rel-title a:hover{color:var(--clr-primary)}

/* === Footer === */
.site-footer{background:var(--clr-dark);color:#94a3b8;padding:2.5rem 0 1.5rem;margin-top:4rem}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}
.footer-brand{font-weight:700;font-size:1rem;color:var(--clr-white);margin-bottom:.625rem}
.footer-brand img{height:36px;margin-bottom:.5rem}
.footer-col h4{font-size:.875rem;font-weight:700;color:var(--clr-white);margin-bottom:.75rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.375rem}
.footer-col ul a{font-size:.875rem;color:#94a3b8}
.footer-col ul a:hover{color:var(--clr-white)}
.footer-bottom{border-top:1px solid #1e293b;margin-top:2rem;padding-top:1.25rem;text-align:center;font-size:.8125rem}

/* === Category Page === */
.page-header{background:linear-gradient(135deg,var(--clr-dark),var(--clr-primary));color:var(--clr-white);padding:2.5rem 0;text-align:center}
.page-header h1{font-size:1.75rem;font-weight:800;margin-bottom:.5rem}
.page-header p{font-size:.9375rem;opacity:.8}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:2.5rem 0}

/* === Responsive === */
@media(max-width:768px){
  .header-inner{flex-wrap:wrap;height:auto;padding:.875rem 1.25rem;gap:.625rem}
  .main-nav{display:none;flex-direction:column;width:100%;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--clr-border)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .hero{height:280px}
  .article-layout{grid-template-columns:1fr}
  .article-sidebar{position:static}
  .footer-inner{grid-template-columns:1fr;gap:1.5rem}
}
