
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111827;background:#ffffff}
a{color:#111827;text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:0 16px}
.topbar{position:sticky;top:0;z-index:20;background:#111827;color:#fff;border-bottom:1px solid #1f2937}
.topbar .container{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo img{height:28px;display:block}
.topbar .menu a{color:#d1d5db;margin-left:16px;font-weight:600}
.topbar .menu a.active{color:#fff}
.layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px}
.section-title{margin:24px 0 12px;font-size:20px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f3f4f6}
.card .meta{padding:12px}
.card .cat{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.card h3{margin:6px 0 8px;font-size:18px;line-height:1.3}
.card p{margin:0;color:#374151;font-size:14px}
.card time{display:block;margin-top:10px;color:#6b7280;font-size:12px}

.featured{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.featured-main .hero{position:relative;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hero .overlay{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 100%);color:#fff}
.hero .overlay .cat{color:#e5e7eb;font-size:12px;text-transform:uppercase}
.hero .overlay h2{margin:4px 0 6px;font-size:24px;word-break:break-word;overflow-wrap:anywhere}
.hero .overlay p{margin:0;color:#e5e7eb;word-break:break-word;overflow-wrap:anywhere}
.featured-side .mini{display:grid;grid-template-rows:repeat(4,1fr);gap:12px}
.mini a{display:grid;grid-template-columns:120px 1fr;gap:10px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.mini img{width:100%;aspect-ratio:16/9;object-fit:cover}
.mini .info{padding:8px}
.mini .info h4{margin:0 0 4px;font-size:14px;line-height:1.3}
.mini .info .cat{font-size:11px;color:#6b7280}

.side-title{margin:0 0 12px}
.side-list .item{display:grid;grid-template-columns:100px 1fr;gap:10px;margin-bottom:12px}
.side-list img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}
.side-list h4{margin:0 0 4px;font-size:14px}
.tag-cloud a{display:inline-block;padding:6px 10px;margin:6px 6px 0 0;border-radius:999px;background:#f3f4f6;border:1px solid #e5e7eb;font-size:12px}
.box{margin-top:24px}

.footer{margin-top:40px;border-top:1px solid #e5e7eb;background:#fafafa}
.footer p{margin:0;padding:16px 0;color:#6b7280;font-size:14px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding-top:12px}
.footer .contact-list{margin:8px 0 0 0;padding:0;list-style:none}
.footer .contact-list li{margin:4px 0}

@media (max-width: 980px){
  .layout{grid-template-columns:1fr}
  .card-grid{grid-template-columns:1fr 1fr}
  .featured{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .card-grid{grid-template-columns:1fr}
  .mini a{grid-template-columns:1fr}
  .side-list .item{grid-template-columns:1fr}
}

/* ---- FIX: force horizontal text in hero overlay ---- */
.hero .overlay, .hero .overlay *{writing-mode:horizontal-tb;text-orientation:mixed;white-space:normal}
.hero .overlay{left:0;right:0;bottom:0;width:100%;max-width:100%;display:block}
.featured-main, .featured-main .hero{display:block}

/* Hero text below image */
.featured-main .hero{display:block;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}
.hero-meta{padding:10px 2px}
.hero-meta h2{margin:4px 0 6px;font-size:24px;line-height:1.25}
.hero-meta p{margin:0;color:#374151}
.hero .overlay{display:none !important} /* safety */
