:root{
  --green:#46b642;
  --green-dark:#278e2e;
  --ink:#111;
  --muted:#777;
  --line:#e8e8e8;
  --soft:#f6f6f6;
  --container:1068px;
  --shadow:0 8px 28px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.container{width:min(calc(100% - 34px),var(--container));margin-inline:auto}
.topbar{background:#111;color:#bbb;font-size:11px;letter-spacing:.03em}
.topbar .container{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top-links,.social-links{display:flex;align-items:center;gap:18px}
.top-links a:hover,.social-links a:hover{color:#fff}
.site-header{background:#fff}
.brand-row{height:120px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{width:54px;height:54px;flex:0 0 auto}
.logo-word{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:700;line-height:1;letter-spacing:-2px}
.logo-word span{color:var(--green)}
.tagline{margin-top:5px;color:#999;text-transform:uppercase;font-size:9px;letter-spacing:.28em}
.header-note{max-width:360px;text-align:right;color:#888;font-size:12px}
.primary-nav{background:#151515;color:#fff;border-bottom:4px solid var(--green);position:sticky;top:0;z-index:30}
.nav-inner{display:flex;align-items:center;min-height:48px}
.main-nav{display:flex;align-items:stretch;flex:1}
.main-nav a{display:flex;align-items:center;padding:0 16px;font-size:13px;font-weight:700;text-transform:uppercase;white-space:nowrap}
.main-nav a:hover,.main-nav a.active{background:var(--green)}
.nav-tools{display:flex;align-items:center;margin-left:auto}
.icon-button{border:0;background:transparent;color:#fff;width:46px;height:46px;display:grid;place-items:center;cursor:pointer;font-size:20px}
.mobile-toggle{display:none}
.search-panel{display:none;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.search-panel.open{display:block}
.search-panel form{display:flex;padding:18px 0;gap:10px}
.search-panel input{flex:1;border:1px solid #ccc;padding:12px 14px;outline:none}
.search-panel button{border:0;background:var(--green);color:#fff;font-weight:700;padding:0 22px;cursor:pointer}
.trending{border-bottom:1px solid var(--line);background:#fff}
.trending .container{min-height:47px;display:flex;align-items:center;gap:20px;overflow:hidden}
.trending-label{background:#111;color:#fff;padding:4px 10px;font-size:11px;text-transform:uppercase;font-weight:700;white-space:nowrap}
.trending-track{display:flex;gap:28px;white-space:nowrap;animation:ticker 30s linear infinite}
.trending-track:hover{animation-play-state:paused}
.trending a{font-size:12px;font-weight:600}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-45%)}}
main{padding-top:28px}
.hero-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:245px 245px;gap:4px;margin-bottom:42px}
.story-card{position:relative;overflow:hidden;background:#222;min-height:190px}
.story-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;filter:saturate(.95)}
.story-card:hover img{transform:scale(1.035)}
.story-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.82) 100%)}
.story-card.hero-main{grid-row:1/3}
.story-card.side-top{grid-column:2/4}
.story-card.side-left{grid-column:2}
.story-card.side-right{grid-column:3}
.story-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:22px;color:#fff}
.story-copy .category{display:inline-block;background:var(--green);padding:3px 8px;font-size:10px;text-transform:uppercase;font-weight:700;margin-bottom:9px}
.story-copy h1,.story-copy h2{margin:0;line-height:1.13;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.story-copy h1{font-size:31px;max-width:620px}
.story-copy h2{font-size:20px}
.story-copy .meta{margin-top:8px;font-size:11px;color:#ddd}
.section{margin:0 0 46px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #111;margin-bottom:22px}
.section-heading h2{background:#111;color:#fff;text-transform:uppercase;font-size:14px;letter-spacing:.04em;margin:0;padding:8px 14px}
.section-heading h2.green{background:var(--green)}
.section-heading .more{font-size:11px;color:#888;padding-bottom:8px;text-transform:uppercase;font-weight:700}
.section-heading .more:hover{color:var(--green)}
.content-sidebar{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,.9fr);gap:34px}
.feature-list-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.feature-article .thumb{height:310px;overflow:hidden;background:#ddd}
.feature-article .thumb img{width:100%;height:100%;object-fit:cover}
.feature-article h3{font-size:24px;line-height:1.22;margin:14px 0 5px}
.feature-article p{color:#666;margin:10px 0 0}
.post-meta{color:#999;font-size:11px;margin-top:5px}
.post-meta .author{color:#444;font-weight:700}
.compact-list{display:grid;gap:16px}
.compact-post{display:grid;grid-template-columns:100px 1fr;gap:13px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.compact-post:last-child{border-bottom:0}
.compact-post img{width:100px;height:70px;object-fit:cover;background:#ddd}
.compact-post h4{font-size:14px;line-height:1.28;margin:0 0 6px}
.compact-post h4 a:hover,.grid-post h3 a:hover,.feature-article h3 a:hover,.list-row h3 a:hover{color:var(--green)}
.small-cat{font-size:10px;color:var(--green);font-weight:700;text-transform:uppercase;margin-bottom:4px}
.sidebar-block{margin-bottom:34px}
.sidebar-title{border-bottom:2px solid #111;margin:0 0 18px;text-transform:uppercase;font-size:13px}
.sidebar-title span{display:inline-block;background:#111;color:#fff;padding:7px 11px}
.rank-list{counter-reset:rank;display:grid;gap:14px}
.rank-post{counter-increment:rank;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rank-post::before{content:counter(rank);font-family:Georgia,serif;font-size:36px;line-height:1;color:#d6d6d6}
.rank-post h4{margin:0;font-size:13px;line-height:1.3}
.rank-post .small-cat{margin-top:5px}
.category-counts{list-style:none;padding:0;margin:0}
.category-counts li{display:flex;justify-content:space-between;border-bottom:1px dashed #ddd;padding:9px 0;color:#555}
.category-counts a:hover{color:var(--green)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-post .thumb{height:172px;overflow:hidden;background:#ddd}
.grid-post .thumb.tall{height:205px}
.grid-post img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.grid-post:hover img{transform:scale(1.025)}
.grid-post h3{font-size:16px;line-height:1.32;margin:10px 0 0}
.grid-post p{color:#777;font-size:13px;margin:8px 0 0}
.section-split{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.list-row{display:grid;grid-template-columns:218px 1fr;gap:20px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.list-row img{width:218px;height:136px;object-fit:cover;background:#ddd}
.list-row h3{font-size:19px;line-height:1.28;margin:0 0 8px}
.list-row p{color:#777;margin:8px 0 0}
.latest-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:36px}
.pagination{display:flex;gap:7px;margin-top:24px}
.pagination a,.pagination span{min-width:34px;height:34px;border:1px solid #ddd;display:grid;place-items:center;font-size:12px}
.pagination .current,.pagination a:hover{background:#111;color:#fff;border-color:#111}
.newsletter{background:#f2f2f2;padding:24px}
.newsletter h3{margin:0 0 6px;font-size:20px}
.newsletter p{color:#777;margin:0 0 16px;font-size:12px}
.newsletter form{display:flex}
.newsletter input{min-width:0;flex:1;border:1px solid #ccc;padding:11px}
.newsletter button{border:0;background:var(--green);color:#fff;font-weight:700;padding:0 13px}
.site-footer{margin-top:55px;background:#171717;color:#aaa;border-top:5px solid var(--green)}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px;padding:52px 0 40px}
.footer-logo .logo-word{color:#fff;font-size:36px}
.footer-logo p{max-width:390px;font-size:13px;line-height:1.7}
.footer-heading{color:#fff;font-size:14px;text-transform:uppercase;border-bottom:1px solid #333;padding-bottom:10px;margin:0 0 18px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:12px}
.footer-links a:hover{color:#fff}
.footer-post{display:grid;grid-template-columns:72px 1fr;gap:11px;margin-bottom:13px}
.footer-post img{width:72px;height:50px;object-fit:cover}
.footer-post h4{margin:0;color:#ddd;font-size:12px;line-height:1.3}
.footer-bottom{border-top:1px solid #303030;font-size:11px}
.footer-bottom .container{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.footer-mini{display:flex;gap:18px}
.back-to-top{position:fixed;right:18px;bottom:18px;width:38px;height:38px;border:0;border-radius:2px;background:rgba(0,0,0,.72);color:#fff;display:none;place-items:center;cursor:pointer;z-index:50}
.back-to-top.show{display:grid}
.article-shell{max-width:820px;margin:36px auto 70px;padding:0 18px}
.breadcrumbs{font-size:11px;color:#888;margin-bottom:17px}
.article-shell h1{font-family:Georgia,serif;font-size:42px;line-height:1.12;margin:0 0 10px}
.article-shell .lead-image{width:100%;max-height:490px;object-fit:cover;margin:25px 0}
.article-shell .article-body{font-family:Georgia,serif;font-size:18px;line-height:1.8;color:#292929}
.article-shell .article-body h2{font-family:Arial,Helvetica,sans-serif;line-height:1.3;margin-top:32px}
.notice{padding:14px 16px;border-left:4px solid var(--green);background:#f5f8f4;color:#566254;font-size:13px;margin:20px 0}
@media(max-width:980px){
  .main-nav a{padding:0 10px;font-size:11px}
  .hero-grid{grid-template-columns:1.6fr 1fr;grid-template-rows:300px 210px}
  .story-card.hero-main{grid-row:1/3}
  .story-card.side-top{grid-column:2;grid-row:1}
  .story-card.side-left{grid-column:2;grid-row:2}
  .story-card.side-right{display:none}
  .content-sidebar,.latest-layout{grid-template-columns:1fr}
  aside{display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .footer-top{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/3}
}
@media(max-width:760px){
  .topbar{display:none}
  .brand-row{height:86px}.logo-word{font-size:34px}.logo-mark{width:44px;height:44px}.header-note{display:none}
  .mobile-toggle{display:grid}
  .main-nav{display:none;position:absolute;top:48px;left:0;right:0;background:#151515;flex-direction:column;border-top:1px solid #333;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}.main-nav a{min-height:43px;border-bottom:1px solid #292929;padding:0 18px}
  .primary-nav{position:relative}.nav-inner{justify-content:space-between}
  .hero-grid{display:grid;grid-template-columns:1fr;grid-template-rows:390px 220px 220px;gap:5px}
  .story-card.hero-main{grid-column:1;grid-row:1}.story-card.side-top{grid-column:1;grid-row:2}.story-card.side-left{grid-column:1;grid-row:3}.story-card.side-right{display:none}
  .story-copy h1{font-size:26px}.story-copy h2{font-size:19px}
  .feature-list-layout,.section-split{grid-template-columns:1fr}.feature-article .thumb{height:260px}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .list-row{grid-template-columns:132px 1fr;gap:15px}.list-row img{width:132px;height:100px}.list-row h3{font-size:16px}.list-row p{display:none}
  aside{display:block}
  .footer-top{grid-template-columns:1fr}.footer-logo{grid-column:auto}.footer-bottom .container{flex-direction:column;justify-content:center;padding:14px 0}
  .article-shell h1{font-size:34px}
}
@media(max-width:480px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .logo-word{font-size:30px}
  .hero-grid{grid-template-rows:330px 210px 210px}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .grid-post .thumb,.grid-post .thumb.tall{height:210px}
  .compact-post{grid-template-columns:92px 1fr}.compact-post img{width:92px}
  .section-heading .more{display:none}
  .article-shell h1{font-size:29px}
}
