/* PNW Lawn Dude — shared blog styles */
:root { --black:#0A0A0A; --black-mid:#111; --black-card:#141414; --red:#B22234; --red-bright:#CC2B3F; --gold:#C9A84C; --gold-light:#E2C270; --white:#fff; --offwhite:#E8E4DC; --muted:#888880; --max:1140px; --read:720px; --radius:2px; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:"Source Sans 3",sans-serif; font-weight:300; background:var(--black); color:var(--offwhite); -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(var(--max),calc(100% - 32px)); margin:0 auto; }
.read { width:min(var(--read),calc(100% - 32px)); margin:0 auto; }

header { background:var(--black); border-bottom:1px solid rgba(201,168,76,.2); padding:18px 0; position:sticky; top:0; z-index:10; backdrop-filter:blur(10px); background:rgba(10,10,10,.92); }
.header-row { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.brand { font-family:"Oswald",sans-serif; font-weight:700; font-size:1.05rem; letter-spacing:.18em; text-transform:uppercase; color:var(--white); }
.brand .accent { color:var(--gold-light); }
.back-link { font-family:"Oswald",sans-serif; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); transition:color .15s; }
.back-link:hover { color:var(--gold-light); }

.crumbs { background:var(--black-mid); border-bottom:1px solid rgba(201,168,76,.15); }
.crumbs-inner { padding:10px 0; font-family:"Oswald",sans-serif; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.crumbs-inner a { color:var(--gold-light); transition:color .15s; }
.crumbs-inner a:hover { color:var(--white); }
.crumbs-sep { margin:0 10px; color:rgba(201,168,76,.4); }

main { padding:48px 0 80px; }

/* Index hero */
.index-hero { text-align:center; padding:24px 0 40px; }
.eyebrow { display:inline-block; font-family:"Oswald",sans-serif; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
h1 { font-family:"Oswald",sans-serif; font-weight:700; line-height:1.05; color:var(--white); letter-spacing:.03em; text-transform:uppercase; }
.index-hero h1 { font-size:clamp(2.2rem,5.5vw,4rem); }
.index-hero h1 .accent { color:var(--gold-light); display:block; }
.hero-divider { width:48px; height:2px; background:var(--red); margin:18px auto; border-radius:1px; }
.lede { max-width:620px; margin:0 auto; color:var(--muted); font-size:1.02rem; line-height:1.7; }

/* Post cards */
.posts-grid { display:grid; gap:1px; margin-top:32px; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.12); border-radius:3px; overflow:hidden; }
.post-card { display:block; padding:32px 36px; background:var(--black-card); transition:background .15s; }
.post-card:hover { background:#171717; }
.post-card-eyebrow { font-family:"Oswald",sans-serif; font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.post-card-eyebrow .dot { color:rgba(201,168,76,.4); }
.post-card h2 { font-family:"Oswald",sans-serif; font-weight:600; font-size:clamp(1.3rem,2.4vw,1.7rem); letter-spacing:.04em; text-transform:uppercase; color:var(--white); margin-bottom:10px; line-height:1.2; }
.post-card-excerpt { color:var(--muted); font-size:.97rem; line-height:1.7; max-width:680px; }
.post-card-more { display:inline-block; margin-top:14px; font-family:"Oswald",sans-serif; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light); }

/* Article page */
.article-meta { text-align:center; padding:18px 0 26px; }
.article-meta .eyebrow { margin-bottom:12px; }
article h1 { font-size:clamp(1.9rem,4.5vw,3rem); max-width:780px; margin:0 auto; }
.article-byline { margin-top:22px; font-family:"Oswald",sans-serif; font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--muted); display:flex; gap:14px; justify-content:center; align-items:center; flex-wrap:wrap; }
.article-byline .dot { color:rgba(201,168,76,.4); }

.article-body { padding-top:8px; }
.article-body p, .article-body ul, .article-body ol { color:var(--offwhite); font-size:1.05rem; line-height:1.85; margin-bottom:1.4em; font-weight:300; }
.article-body p strong, .article-body li strong { color:var(--gold-light); font-weight:600; }
.article-body h2 { font-family:"Oswald",sans-serif; font-weight:600; font-size:1.45rem; letter-spacing:.06em; text-transform:uppercase; color:var(--white); margin:2.2em 0 .6em; padding-top:.4em; border-top:1px solid rgba(201,168,76,.18); padding-top:1.2em; }
.article-body h2:first-of-type { border-top:none; padding-top:.4em; margin-top:1.2em; }
.article-body h3 { font-family:"Oswald",sans-serif; font-weight:500; font-size:1.05rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); margin:1.6em 0 .5em; }
.article-body ul, .article-body ol { padding-left:1.4em; }
.article-body li { margin-bottom:.5em; }
.article-body a { color:var(--gold-light); border-bottom:1px solid rgba(201,168,76,.4); transition:color .15s, border-color .15s; }
.article-body a:hover { color:var(--white); border-color:var(--white); }
.article-body blockquote { border-left:2px solid var(--gold); padding:14px 22px; margin:1.6em 0; background:var(--black-mid); color:var(--offwhite); font-style:normal; font-size:1.04rem; }
.article-body blockquote p:last-child { margin-bottom:0; }

.callout { margin:2em 0; padding:24px 28px; background:linear-gradient(90deg,rgba(201,168,76,.07),rgba(201,168,76,0) 70%),var(--black-card); border:1px solid rgba(201,168,76,.18); border-left:3px solid var(--gold); border-radius:var(--radius); }
.callout-title { font-family:"Oswald",sans-serif; font-weight:600; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px; }
.callout p { font-size:.98rem; line-height:1.7; margin-bottom:0; color:var(--offwhite); }

/* CTA banner inside article */
.article-cta { margin:3em 0 0; padding:34px 32px; text-align:center; background:linear-gradient(90deg,rgba(201,168,76,.06),rgba(201,168,76,0) 70%),var(--black-card); border:1px solid rgba(201,168,76,.18); border-radius:3px; }
.article-cta h3 { font-family:"Oswald",sans-serif; font-weight:600; font-size:1.15rem; letter-spacing:.1em; text-transform:uppercase; color:var(--white); margin-bottom:8px; }
.article-cta p { color:var(--muted); margin-bottom:18px; font-size:.97rem; }
.button-row { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.btn { min-height:46px; padding:0 22px; border-radius:var(--radius); font-family:"Oswald",sans-serif; font-weight:500; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; border:1px solid rgba(201,168,76,.35); background:transparent; color:var(--gold-light); transition:border-color .15s, background .15s; }
.btn:hover { border-color:var(--gold-light); background:rgba(201,168,76,.07); }
.btn.primary { background:var(--red); border-color:var(--red); color:var(--white); box-shadow:0 2px 20px rgba(178,34,52,.3); }
.btn.primary:hover { background:var(--red-bright); border-color:var(--red-bright); }

/* Related posts */
.related { margin-top:60px; padding-top:30px; border-top:1px solid rgba(201,168,76,.18); }
.related-title { font-family:"Oswald",sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light); text-align:center; margin-bottom:22px; }
.related-list { display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width:760px) { .related-list { grid-template-columns:repeat(3,1fr); } }
.related-item { display:block; padding:18px 20px; background:var(--black-card); border:1px solid rgba(201,168,76,.12); border-radius:var(--radius); transition:border-color .15s, background .15s; }
.related-item:hover { border-color:rgba(201,168,76,.4); background:#171717; }
.related-item-title { font-family:"Oswald",sans-serif; font-weight:500; font-size:.92rem; letter-spacing:.05em; text-transform:uppercase; color:var(--white); line-height:1.3; }

footer { background:var(--black-mid); border-top:1px solid rgba(201,168,76,.15); padding:26px 0; text-align:center; color:rgba(136,136,128,.55); font-family:"Oswald",sans-serif; font-size:.72rem; letter-spacing:.25em; text-transform:uppercase; }
footer .footer-contact { margin-bottom:8px; color:var(--gold-light); }
footer a:hover { color:var(--white); }
footer .insurance { margin-top:8px; font-size:.65rem; letter-spacing:.2em; color:rgba(136,136,128,.45); }

@media (max-width:760px) {
  .post-card { padding:24px 20px; }
  .article-body h2 { font-size:1.25rem; }
  .button-row { flex-direction:column; align-items:stretch; }
  .btn { width:100%; }
  .header-row { flex-direction:column; gap:8px; text-align:center; }
}
