.blog-header { max-width: 1180px; margin: 15px auto 0; padding: 10px 25px; display:flex; align-items:center; justify-content:space-between; min-height:80px;}
.blog-header > a { height:70px; }
.blog-header > a img { height:100%; width:auto; }
.blog-header nav { display:flex; align-items:center; gap:24px; color:var(--text-dark); }
.blog-nav-link { font-weight:700; opacity:.8; }
.blog-nav-link:hover,.blog-nav-link.active { color:var(--green-alt2); opacity:1; }
.blog-header .theme-toggler { height:30px; }
.blog-header #theme-toggle { cursor:pointer; height:30px; }
.blog-header #theme-toggle img { height:100%; filter: brightness(30%) saturate(100%); }
[data-theme="dark"] .blog-header #theme-toggle img { filter: none; }
.blog-hero { max-width:1180px; margin:30px auto 0; padding:90px 35px; border-radius:28px; background:linear-gradient(135deg,var(--green-dark),var(--green-alt4)); color:var(--white-const); overflow:hidden; }
.blog-hero .section-eyebrow,.blog-section-heading .section-eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:800; margin-bottom:10px; }
.blog-hero h1 { max-width:820px; font-size:clamp(2.4rem,6vw,5rem); line-height:1.02; margin-bottom:22px; }
.blog-hero p:last-child { max-width:700px; font-size:1.15rem; opacity:.9; }
.blog-list-section { max-width:1180px; margin:70px auto; padding:0 25px; }
.blog-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.blog-section-heading h2 { color:var(--text-dark); font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.1; }
.blog-filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.blog-filter { padding:9px 15px; border:1px solid var(--border); border-radius:999px; color:var(--text-dark); cursor:pointer; background:var(--white); }
.blog-filter.active { background:var(--green-alt2); color:var(--white-const); border-color:var(--green-alt2); }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.article-card { background:var(--white); border:1px solid var(--border); border-radius:18px; overflow:hidden; box-shadow:var(--shadow); transition:transform .2s ease,box-shadow .2s ease; }
.article-card:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(26,74,26,.14); }
.article-card-image { width:100%; aspect-ratio:16/9; object-fit:cover; }
.article-card-body { padding:18px; }
.article-card-meta { display:flex; gap:10px; flex-wrap:wrap; color:var(--text-muted); font-size:.82rem; margin-bottom:10px; }
.article-card h3 { color:var(--text-dark); font-size:1.2rem; line-height:1.2; margin-bottom:10px; }
.article-card p { color:var(--text-mid); margin-bottom:18px; }
.article-card-link { color:var(--green-alt2); font-weight:800; }
.blog-status { color:var(--text-muted); margin-top:20px; }
.blog-disclaimer { max-width:1180px; margin:0 auto 70px; padding:25px; border:1px solid var(--border); border-radius:16px; color:var(--text-mid); }
.blog-disclaimer a { color:var(--green-alt2); font-weight:700; }
.blog-footer { margin-top:80px; padding:40px 25px; text-align:center; color:var(--text-mid); border-top:1px solid var(--border); }
.blog-footer .links-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:16px 25px; margin-bottom:15px; }
.article-main { max-width:920px; margin:50px auto 80px; padding:0 25px; }
.article-shell { background:var(--white); border:1px solid var(--border); border-radius:22px; padding:clamp(25px,5vw,60px); box-shadow:var(--shadow); }
.back-link { color:var(--green-alt2); font-weight:800; display:inline-block; margin-bottom:25px; }
.article-meta-top { display:flex; flex-wrap:wrap; gap:10px 18px; color:var(--text-muted); font-size:.88rem; margin-bottom:18px; }
.article-meta-top span:first-child { color:var(--green-alt2); font-weight:800; }
.article-shell h1 { color:var(--text-dark); font-size:clamp(2.2rem,6vw,4.2rem); line-height:1.05; margin-bottom:20px; }
.article-description { color:var(--text-mid); font-size:1.18rem; margin-bottom:30px; }
.article-featured-image { width:100%; max-height:480px; object-fit:cover; border-radius:16px; margin-bottom:38px; }
.article-content { color:var(--text-mid); font-size:1.05rem; }
.article-content h2 { color:var(--text-dark); font-size:1.75rem; line-height:1.2; margin:38px 0 12px; }
.article-content h3 { color:var(--text-dark); font-size:1.3rem; line-height:1.25; margin:28px 0 10px; }
.article-content p { margin:0 0 18px; }
.article-content ul,.article-content ol { margin:0 0 20px 25px; }
.article-content blockquote { border-left:4px solid var(--green-alt2); padding:8px 0 8px 18px; margin:25px 0; }
.article-disclaimer { margin-top:40px; padding:18px; border-radius:12px; background:var(--green-light); color:var(--text-mid); font-size:.9rem; }
@media (max-width:800px){ .blog-header{margin:10px 5px;padding:10px 15px}.blog-header nav{gap:14px}.blog-hero{margin:15px 15px 0;padding:60px 25px}.blog-list-section{padding:0 15px}.blog-section-heading{align-items:flex-start;flex-direction:column}.blog-filters{justify-content:flex-start}.article-grid{grid-template-columns:1fr 1fr}.article-main{padding:0 15px}.blog-footer .links-footer{gap:12px 18px} }
@media (max-width:560px){ .blog-header > a{height:55px}.article-grid{grid-template-columns:1fr}.blog-hero h1{font-size:2.5rem}.article-shell{padding:25px 20px} }

.article-affiliate-cta{margin:32px 0;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--white);}
.article-affiliate-cta h2{margin:.3rem 0 .6rem;color:var(--text-dark);}
.article-affiliate-cta p{color:var(--text-mid);}
.article-affiliate-cta a{display:inline-block;margin:8px 0 10px;padding:11px 16px;border-radius:999px;background:var(--green-alt2);color:var(--white-const);font-weight:800;text-decoration:none;}
.article-affiliate-cta small{display:block;color:var(--text-muted);font-size:.8rem;line-height:1.45;}
.article-affiliate-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-alt2);}
.article-faq{margin-top:40px}.article-faq h2,.article-related h2{color:var(--text-dark)}
.article-faq details{border-top:1px solid var(--border);padding:16px 0}
.article-faq summary{cursor:pointer;font-weight:800;color:var(--text-dark)}
.article-faq p{margin:.75rem 0 0;color:var(--text-mid)}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.article-tags span{border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:.78rem;color:var(--text-muted)}
.article-related{margin-top:42px}.article-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.article-related-grid a{display:block;border:1px solid var(--border);border-radius:14px;padding:16px;color:inherit;text-decoration:none}
.article-related-grid strong,.article-related-grid span{display:block}.article-related-grid span{margin-top:7px;color:var(--text-muted);font-size:.9rem}
@media (max-width:560px){.article-related-grid{grid-template-columns:1fr}}
.article-inline-faq{margin:14px 0;padding:14px 0;border-top:1px solid var(--border)}
.article-inline-faq summary{cursor:pointer;font-weight:800;color:var(--text-dark)}
.article-inline-faq p{margin:.7rem 0 0}
.article-internal-link{margin:8px 0 20px}
.article-internal-link a{font-weight:700;color:var(--green-alt2)}
.article-sources{margin-top:42px;padding-top:22px;border-top:1px solid var(--border)}
.article-sources h2{color:var(--text-dark)}
.article-sources li{margin:8px 0}
.article-sources a{color:var(--green-alt2)}

/* Optional centrally configured AdSense positions. Empty until slot IDs are added. */
.adsense-slot { min-height: 0; margin: 1.5rem 0; }
.adsense-slot:has(ins.adsbygoogle) { min-height: 100px; }
