@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* -- Reset -- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  background:#ffffff;
  color:#1a1a1a;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}

/* -- Variables -- */
:root{
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --border:#e8e8e8;
  --border-dark:#e0e0e0;
  --text:#1a1a1a;
  --text-body:#4a4a4a;
  --text-meta:#8a8a8a;
  --accent:#5541F0;
  --white:#ffffff;
  --max-w:1400px;
  --gap:1.5rem;
}

/* ==============================================
   HEADER (VRT NWS style)
============================================== */
.site-header{
  position:sticky;top:0;z-index:200;
  background:#fff;
  border-bottom:1px solid var(--border-dark);
  height:60px;display:flex;align-items:center;
  padding:0 2rem;
}
.header-left{flex:1;display:flex;align-items:center}
.header-center{
  position:absolute;left:50%;transform:translateX(-50%);
}
.header-center .logo{
  display:flex;align-items:center;gap:0;
  white-space:nowrap;text-decoration:none;
}
.logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:#fff;
  font-weight:900;font-size:1.1rem;
  width:42px;height:42px;
  letter-spacing:-1px;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}
.logo-text{
  font-weight:800;font-size:1.35rem;
  color:var(--text);letter-spacing:-.5px;
  margin-left:.45rem;
}
.logo-text .lt-accent{color:var(--accent);font-weight:900}
.logo-text .lt-dot{color:var(--text-meta);font-weight:500}
.header-right{
  flex:1;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;
}
.search-btn{
  display:flex;align-items:center;gap:.4rem;
  background:none;border:none;cursor:pointer;
  font-size:14px;font-weight:600;color:#4a4a4a;
  transition:color .15s;
}
.search-btn:hover{color:#1a1a1a}
/* hamburger (mobile only) */
.hamburger{
  display:none;
  background:none;border:none;
  width:28px;height:20px;
  flex-direction:column;justify-content:space-between;
  cursor:pointer;
}
.hamburger span{
  display:block;height:2px;width:100%;
  background:#1a1a1a;border-radius:1px;
  transition:transform .2s,opacity .2s;
}

/* search overlay */
.search-overlay{
  display:none;
  position:fixed;top:60px;left:0;right:0;z-index:190;
  background:#fff;border-bottom:2px solid var(--accent);
  padding:.75rem 2rem;
  align-items:center;gap:.75rem;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.search-overlay.open{display:flex}
.search-overlay input{
  flex:1;border:none;outline:none;
  font-size:16px;font-weight:500;color:#1a1a1a;
  background:transparent;padding:.5rem 0;
}
.search-overlay input::placeholder{color:#aaa}
.search-overlay-close{
  background:none;border:none;font-size:1.5rem;
  color:#8a8a8a;cursor:pointer;line-height:1;
  transition:color .15s;
}
.search-overlay-close:hover{color:#1a1a1a}

/* mobile nav overlay */
.mobile-nav-overlay{
  display:none;
  position:fixed;inset:0;z-index:300;
  background:rgba(26,26,26,.95);
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:2rem;
}
.mobile-nav-overlay.open{display:flex}
.mobile-nav-overlay a{
  font-size:1.5rem;font-weight:700;color:#fff;
  transition:color .15s;
}
.mobile-nav-overlay a:hover{color:var(--accent)}
.mobile-nav-close{
  position:absolute;top:1rem;right:1.5rem;
  background:none;border:none;color:#fff;
  font-size:2rem;line-height:1;cursor:pointer;
}

/* ==============================================
   3-COLUMN PAGE LAYOUT
============================================== */
.page-layout{
  display:grid;
  grid-template-columns:180px 1fr 280px;
  max-width:var(--max-w);
  margin:0 auto;
  gap:0;
  min-height:calc(100vh - 60px);
}
.left-sidebar{
  position:sticky;top:60px;height:calc(100vh - 60px);
  overflow-y:auto;padding:1.5rem 0 2rem 1.5rem;
  border-right:1px solid var(--border-dark);
}
.left-sidebar .sidebar-nav a{
  display:block;font-size:15px;font-weight:700;
  color:#1a1a1a;padding:.65rem .5rem;
  transition:color .15s,background .15s;
  border-radius:4px;
}
.left-sidebar .sidebar-nav a:hover,
.left-sidebar .sidebar-nav a.active-filter{
  color:var(--accent);background:rgba(85,65,240,.06);
}
/* left sidebar - clean nav only */

.main-content{
  padding:2rem 2.5rem;
  min-width:0;
}
.right-sidebar{
  position:sticky;top:60px;height:calc(100vh - 60px);
  overflow-y:auto;padding:1.5rem 1.5rem 2rem 0;
  border-left:1px solid var(--border-dark);
}
.right-sidebar h3{
  font-size:.85rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:#8a8a8a;margin-bottom:1rem;
  padding-left:1rem;
}
.recent-list{list-style:none;padding:0;counter-reset:recent}
.recent-list li{
  counter-increment:recent;
  padding:.6rem 1rem;
  border-bottom:1px solid #e8e8e8;
  display:flex;align-items:center;gap:.6rem;
}
.recent-list li:last-child{border-bottom:none}
.recent-num{
  font-weight:800;color:var(--accent);font-size:.9rem;
  min-width:1.2rem;text-align:center;flex-shrink:0;
}
.recent-thumb{
  width:60px;height:40px;object-fit:cover;flex-shrink:0;
  border-radius:3px;
}
.recent-no-thumb{
  width:60px;height:40px;flex-shrink:0;
  background:var(--bg-alt);border-radius:3px;
}
.recent-info{flex:1;min-width:0}
.recent-info a{
  display:block;font-size:13px;font-weight:600;color:#1a1a1a;
  line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
  transition:color .15s;
}
.recent-info a:hover{color:var(--accent)}
.recent-info .meta{
  font-size:11px;color:var(--text-meta);margin-top:.15rem;
}

/* ==============================================
   HERO
============================================== */
/* VRT-style cinematic banner */
.hero-banner{
  position:relative;overflow:hidden;
  margin-bottom:2rem;
  display:grid;grid-template-columns:1fr 340px;
  min-height:420px;
  background:#111;
}
.hero-main{
  position:relative;overflow:hidden;
}
.hero-main-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.45);
  transition:transform 6s ease;
}
.hero-main:hover .hero-main-bg{transform:scale(1.03)}
.hero-main-content{
  position:relative;z-index:2;
  padding:3rem 2.5rem;
  display:flex;flex-direction:column;justify-content:flex-end;
  height:100%;
}
.hero-main-content .cat-tag{color:#fff!important;margin-bottom:.6rem;display:inline-block;font-size:11px;opacity:.9}
.hero-main-content h1{
  font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);
  line-height:1.2;color:#fff;letter-spacing:-.5px;
  margin-bottom:.6rem;max-width:600px;
}
.hero-main-content h1 a{color:#fff;transition:opacity .15s}
.hero-main-content h1 a:hover{opacity:.85}
.hero-main-content p{
  font-size:.95rem;color:rgba(255,255,255,.8);
  line-height:1.5;max-width:550px;margin-bottom:.5rem;
}
.hero-main-content .hero-date{font-size:12px;color:rgba(255,255,255,.6)}
.hero-side{
  display:flex;flex-direction:column;gap:0;
}
.hero-card{position:relative;overflow:hidden;flex:1}
.hero-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.hero-card:hover img{transform:scale(1.03)}
.hero-card-overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.25rem;
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 70%,transparent 100%);
}
.hero-card-overlay h2{
  font-weight:800;font-size:1rem;line-height:1.25;color:#fff;letter-spacing:-.2px;
}
.hero-card-overlay h2 a{color:#fff;transition:opacity .15s}
.hero-card-overlay h2 a:hover{opacity:.85}
.hero-card-overlay .hero-date{font-size:11px;color:rgba(255,255,255,.6);margin-top:.3rem}
@media(max-width:900px){
  .hero-banner{grid-template-columns:1fr;min-height:300px}
  .hero-side{display:none}
}
@media(max-width:560px){
  .hero-main-content{padding:2rem 1.5rem}
  .hero-main-content h1{font-size:1.4rem}
}

/* ==============================================
   CATEGORY TAGS
============================================== */
.cat-tag{
  display:inline-block;
  font-weight:700;font-size:11px;letter-spacing:.5px;
  text-transform:uppercase;
  line-height:1.4;
}

/* ==============================================
   TRENDING
============================================== */
.trending-section{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:1.5rem 0;
}
.trending-label{
  font-weight:800;font-size:13px;
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--text);margin-bottom:1rem;
  display:flex;align-items:center;gap:.5rem;
}
.trending-label::before{
  content:'';display:inline-block;
  width:8px;height:8px;border-radius:50%;
  background:var(--accent);
}
.trending-scroll{
  display:flex;gap:1.25rem;
  overflow-x:auto;scrollbar-width:none;
  padding-bottom:.25rem;
}
.trending-scroll::-webkit-scrollbar{display:none}
.trending-card{
  flex:0 0 200px;min-width:0;
}
.trending-card-img{
  width:100%;aspect-ratio:8/5;overflow:hidden;
  margin-bottom:.5rem;
}
.trending-card-img img{
  width:100%;height:100%;object-fit:cover;
}
.trending-card h3{
  font-weight:600;font-size:13px;line-height:1.35;
  color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}
.trending-card h3 a:hover{color:var(--accent)}

/* ==============================================
   ARTICLE GRID (2-column in center)
============================================== */
.grid-section{
  padding:2.5rem 0 3rem;
}
.section-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.5rem;
}
.section-head h2{
  font-weight:800;font-size:20px;color:var(--text);
}
.article-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0;
}
.article-card{
  border-bottom:1px solid var(--border);
  border-right:1px solid var(--border);
  padding-bottom:1.25rem;
  padding:0 0 1.25rem 0;
  display:flex;flex-direction:column;
}
.article-card:nth-child(2n){border-right:none}
.article-card:nth-child(2n){padding-left:1.25rem}
.article-card:nth-child(2n+1){padding-right:1.25rem}
.ac-img{
  width:100%;aspect-ratio:8/5;overflow:hidden;
  margin-bottom:.75rem;
}
.ac-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .3s;
}
.article-card:hover .ac-img img{transform:scale(1.03)}
.ac-no-img{
  width:100%;aspect-ratio:8/5;background:var(--bg-alt);
  margin-bottom:.75rem;
}
.article-card .cat-tag{margin-bottom:.35rem}
.article-card h3{
  font-weight:700;font-size:16px;line-height:1.35;
  color:var(--text);margin-bottom:.35rem;
  display:-webkit-box;-webkit-line-clamp:3;
  -webkit-box-orient:vertical;overflow:hidden;
}
.article-card h3 a:hover{color:var(--accent)}
.article-card .meta{
  font-size:12px;color:var(--text-meta);margin-top:auto;
}

/* pagination */
.pagination{
  display:flex;align-items:center;justify-content:center;gap:.35rem;
  flex-wrap:wrap;margin-top:2rem;
}
.page-btn{
  background:#fff;border:1px solid var(--border);
  font-weight:600;font-size:13px;
  color:var(--text-body);padding:.5rem .85rem;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.page-btn:hover{background:var(--bg-alt);color:var(--text)}
.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.page-btn.disabled{opacity:.3;pointer-events:none}

/* ==============================================
   TOPIC SECTIONS
============================================== */
.topic-section{
  border-top:1px solid var(--border);
  padding:3rem 0;
}
.topic-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.5rem;
}
.topic-head h2{
  font-weight:800;font-size:20px;
  color:var(--text);
}
.topic-all{
  font-size:14px;font-weight:600;color:var(--accent);
  transition:opacity .15s;
}
.topic-all:hover{opacity:.7}
.topic-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
}
.tc{
  display:flex;gap:.85rem;
  padding:1rem 0;
  border-bottom:1px solid var(--border);
}
.tc:nth-child(odd){padding-right:1.25rem;border-right:1px solid var(--border)}
.tc:nth-child(even){padding-left:1.25rem}
.tc:nth-last-child(-n+2){border-bottom:none}
.tc-img{
  width:120px;height:75px;object-fit:cover;flex-shrink:0;
  transition:opacity .2s;
}
.tc:hover .tc-img{opacity:.85}
.tc-ni{width:120px;height:75px;flex-shrink:0;background:var(--bg-alt)}
.tc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.tc .cat-tag{font-size:10px}
.tc h3{
  font-weight:700;font-size:15px;line-height:1.35;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:3;
  -webkit-box-orient:vertical;overflow:hidden;
}
.tc h3 a:hover{color:var(--accent)}
.tc .meta{
  font-size:12px;color:var(--text-meta);margin-top:auto;
}

/* ==============================================
   FOOTER (VRT-style dark)
============================================== */
/* footer - strategic redesign */
.site-footer{
  background:#111;color:#fff;
  margin-top:4rem;
  position:relative;
}
.footer-cta{
  background:var(--accent);
  padding:3rem var(--gap);
  text-align:center;
}
.footer-cta h3{
  font-weight:800;font-size:1.5rem;
  color:#fff;margin-bottom:.5rem;letter-spacing:-.3px;
}
.footer-cta p{
  font-size:.95rem;color:rgba(255,255,255,.85);
  margin-bottom:1.25rem;max-width:500px;margin-left:auto;margin-right:auto;
}
.footer-cta-btn{
  display:inline-block;background:#fff;color:var(--accent);
  font-weight:700;font-size:.9rem;
  padding:.7rem 2rem;
  transition:transform .15s,box-shadow .15s;
}
.footer-cta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.footer-inner{
  max-width:var(--max-w);margin:0 auto;
  padding:3rem var(--gap) 1.5rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2rem;
  margin-bottom:2.5rem;
}
.footer-brand{
  font-weight:800;font-size:1.4rem;letter-spacing:-.5px;
  color:#fff;margin-bottom:.75rem;
}
.footer-brand .fbl{color:var(--accent)}
.footer-desc{font-size:.85rem;color:#666;line-height:1.7}
.footer-col h4{
  font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:1px;
  color:#555;margin-bottom:1rem;
}
.footer-links{display:flex;flex-direction:column;gap:.4rem}
.footer-links a{
  font-size:.85rem;color:#999;transition:color .15s;
}
.footer-links a:hover{color:#fff}
.footer-social{display:flex;gap:.75rem;margin-top:.75rem}
.footer-social a{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;
  border:1px solid #333;
  color:#999;font-size:.8rem;font-weight:700;
  transition:border-color .15s,color .15s,background .15s;
}
.footer-social a:hover{border-color:var(--accent);color:var(--accent);background:rgba(85,65,240,.08)}
.footer-divider{
  border:none;border-top:1px solid #222;
  margin:0;
}
.footer-bottom{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.75rem;
  padding:1.25rem var(--gap);
}
.footer-copy{font-size:12px;color:#555}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{font-size:12px;color:#555;transition:color .15s}
.footer-bottom-links a:hover{color:#999}

/* ==============================================
   RESPONSIVE
============================================== */
@media(max-width:1100px){
  .page-layout{grid-template-columns:180px 1fr}
  .right-sidebar{display:none}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
}

@media(max-width:800px){
  .page-layout{grid-template-columns:1fr}
  .left-sidebar{display:none}
  .hamburger{display:flex}
  .topic-grid{grid-template-columns:1fr}
  .tc:nth-child(odd){padding-right:0;border-right:none}
  .tc:nth-child(even){padding-left:0}
  .hero-title{font-size:1.5rem}
  .trending-card{flex:0 0 170px}
  .main-content{padding:1.5rem 1rem}
}

@media(max-width:560px){
  .article-grid{grid-template-columns:1fr}
  .article-card{border-right:none!important;padding-left:0!important;padding-right:0!important}
  .footer-grid{grid-template-columns:1fr}
  .trending-card{flex:0 0 150px}
}

/* ==============================================
   PRINT
============================================== */
@media print{
  .site-header,.site-footer,.pagination,.trending-section,.hamburger,.mobile-nav-overlay,.left-sidebar,.right-sidebar,.search-overlay{display:none!important}
  body{font-size:11pt;color:#000;background:#fff}
  .page-layout{grid-template-columns:1fr}
  .article-grid{grid-template-columns:1fr 1fr}
  .article-card{break-inside:avoid;border:1px solid #ccc;padding:8pt!important}
}

/* ==============================================
   ABOUT PAGE
============================================== */
.about-hero{
  max-width:var(--max-w);margin:0 auto;
  padding:4rem var(--gap) 3rem;
  text-align:center;
}
.about-hero h1{
  font-weight:800;font-size:clamp(2rem,5vw,3rem);
  color:var(--text);margin-bottom:1rem;
}
.about-hero p{
  font-size:1.1rem;color:var(--text-body);
  line-height:1.7;max-width:650px;margin:0 auto;
}
.about-stats{
  max-width:var(--max-w);margin:0 auto;
  padding:0 var(--gap) 3rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.about-stat{
  background:var(--bg-alt);
  padding:2rem 1.5rem;text-align:center;
}
.about-stat .num{
  font-weight:800;font-size:2.5rem;
  color:var(--accent);display:block;line-height:1;margin-bottom:.35rem;
}
.about-stat .label{
  font-size:13px;color:var(--text-meta);
  text-transform:uppercase;letter-spacing:.3px;font-weight:600;
}
.about-section{
  max-width:var(--max-w);margin:0 auto;
  padding:0 var(--gap) 3rem;
  text-align:center;
}
.about-section h2{
  font-weight:800;font-size:1.5rem;color:var(--text);
  margin-bottom:1.25rem;
}
.about-section p{
  font-size:1rem;color:var(--text-body);line-height:1.7;
  max-width:700px;margin:0 auto 1rem;
}
.about-cat-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;
  margin-top:1rem;
}
.about-cat-item{
  display:flex;align-items:center;gap:.75rem;
  padding:.85rem 1rem;background:var(--bg-alt);
  transition:background .15s;
}
.about-cat-item:hover{background:#eee}
.about-cat-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
}
.about-cat-name{font-weight:600;font-size:.9rem;color:var(--text)}
.about-cat-count{font-size:.8rem;color:var(--text-meta);margin-left:auto}
.about-author{
  max-width:var(--max-w);margin:0 auto;
  padding:0 var(--gap) 4rem;
  text-align:center;
}
.about-author-box{
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
  padding:2.5rem;background:var(--bg-alt);
  text-align:center;
}
.about-author-avatar{
  width:80px;height:80px;border-radius:50%;
  background:var(--accent);display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:1.5rem;flex-shrink:0;
}
.about-author-info h3{font-weight:700;font-size:1.1rem;color:var(--text);margin-bottom:.25rem}
.about-author-info p{font-size:.9rem;color:var(--text-body);line-height:1.6}

@media(max-width:800px){
  .about-stats{grid-template-columns:1fr 1fr}
  .about-author-box{flex-direction:column;text-align:center}
}
@media(max-width:560px){
  .about-stats{grid-template-columns:1fr}
}
