/* Blog-only styles. Header, footer and base styles come from site.css (a copy of the main site's CSS). */
.blog-hero{padding:80px 0 30px}.blog-hero h1{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:600;line-height:1.05;letter-spacing:-.05em;margin-bottom:18px}
.blog-list{padding:30px 0 100px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}
.post-date{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.post-card:hover .post-card-img img{transform:scale(1.03)}
.post-card p{font-size:.9375rem;color:var(--muted);margin-bottom:24px}
.blog-empty{padding:40px 0;color:var(--muted);font-size:1.125rem}
.pager{display:flex;justify-content:space-between;margin-top:56px;font-weight:700}.pager a{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:5px}
.post{padding:60px 0 100px}.post-wrap{max-width:780px}.post-back{display:inline-block;font-size:.9375rem;font-weight:700;margin-bottom:34px}
.post h1{font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:600;line-height:1.08;letter-spacing:-.05em;margin:0 0 28px}
.post-hero-img{width:100%;border-radius:var(--radius);margin:0 0 36px;display:block}
.post-body{font-size:1.0625rem;line-height:1.8}.post-body>*+*{margin-top:1.15em}
.post-body h2{font-size:1.75rem;line-height:1.2;margin-top:1.9em;letter-spacing:-.03em}.post-body h3{font-size:1.35rem;line-height:1.25;margin-top:1.7em}.post-body h4{font-size:1.1rem;margin-top:1.5em}
.post-body ul,.post-body ol{padding-left:1.4em}.post-body li+li{margin-top:.4em}
.post-body a{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;text-decoration-thickness:2px}
.post-body blockquote{margin-left:0;padding:4px 0 4px 22px;border-left:4px solid var(--green);color:var(--muted)}
.post-body img{max-width:100%;height:auto;border-radius:var(--radius);display:block}
.post-cta{margin-top:64px;padding:32px;background:var(--pale);border:1px solid #e1e7e1;border-radius:var(--radius)}.post-cta h3{margin-bottom:8px}.post-cta p{color:var(--muted);margin-bottom:20px}
@media(max-width:1000px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.post-grid{grid-template-columns:1fr}.blog-hero{padding:56px 0 20px}.post{padding:40px 0 70px}.post-cta{padding:24px}}

/* ---- additions: service tags, short answer, FAQ, byline, preview, related, filter ---- */
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px}.post-meta .post-date{margin:0}
.post-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--ink);border-radius:99px}.post-tag:hover{background:var(--pale)}
.post-byline{font-size:.9375rem;color:var(--muted);margin:-10px 0 28px}
.post-answer{margin:0 0 36px;padding:24px 28px;background:var(--pale);border-left:4px solid var(--green);border-radius:var(--radius)}
.post-answer strong{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.post-answer p{font-size:1.125rem;line-height:1.6;margin:0}
.post-faq{margin-top:56px}.post-faq h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.03em}.post-faq h3{font-size:1.2rem;line-height:1.3;margin-top:1.6em}.post-faq p{margin-top:.5em;line-height:1.7}
.post-cta .cta-second{display:inline-flex;margin-left:22px;font-weight:700;vertical-align:middle}
.preview-banner{margin:0 0 28px;padding:14px 18px;background:#fff3cd;border:1px solid #e6c85a;border-radius:var(--radius);font-size:.9375rem}.preview-banner a{text-decoration:underline;margin-left:8px}
.post-related{margin-top:72px}.post-related>h2{font-size:1.5rem;letter-spacing:-.03em;margin-bottom:24px}.post-related .post-grid{grid-template-columns:repeat(3,1fr)}
.blog-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}.blog-filter a{padding:8px 14px;border:1px solid var(--ink);border-radius:99px;font-size:.875rem;font-weight:600}.blog-filter a:hover,.blog-filter a[aria-current=page]{background:var(--ink);color:#fff}
@media(max-width:1000px){.post-related .post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.post-related .post-grid{grid-template-columns:1fr}.post-answer{padding:20px}.post-cta .cta-second{display:flex;margin:18px 0 0}}

/* ---- BRANDED BLOG CARDS (black + green) ---- */
.blog-list{background:var(--pale);border-top:1px solid #e5ebe5;border-bottom:1px solid #e5ebe5;padding:56px 0 100px}
.post-related .post-card{background:var(--white)}
.post-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px 28px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
/* top accent: black bar with a short green segment (echoes the logo dot); goes fully green on hover */
.post-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:1;background:linear-gradient(90deg,var(--green) 0 64px,var(--ink) 64px);transition:background .22s}
.post-card:hover,.post-card:focus-visible{transform:translateY(-4px);border-color:var(--ink);box-shadow:0 22px 40px -22px rgba(16,23,20,.45),0 10px 30px -14px rgba(92,224,0,.35)}
.post-card:hover::before,.post-card:focus-visible::before{background:var(--green)}
.post-card:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.post-card-img{display:block;aspect-ratio:16/9;background:var(--pale);margin:-32px -28px 22px;overflow:hidden;border-radius:0}.post-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.post-card-img+.post-card-meta{margin-top:0}
.post-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:18px}
.post-card-meta .post-date{margin:0;letter-spacing:.1em}
/* category pill: near-black with a green dot */
.post-tag-sm{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px 6px 10px;background:var(--ink);color:#fff;border-radius:99px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.post-tag-sm::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}
.post-card h2{font-size:1.45rem;line-height:1.2;font-weight:600;letter-spacing:-.03em;margin-bottom:12px;color:var(--ink)}
/* CTA: ink text (green text on white fails contrast) + green circle arrow, like the favicon */
.post-card .text-link{margin-top:auto;align-self:flex-start;gap:12px;padding:0;border:0;font-size:.9375rem;font-weight:700;color:var(--ink)}
.post-card .text-link .arrow{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--green);stroke:var(--ink);stroke-width:2;transition:transform .22s}
.post-card:hover .text-link{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:6px}
.post-card:hover .text-link .arrow{transform:translateX(4px)}
/* filter pills: active = black with green dot, hover = green ring */
.blog-filter a{display:inline-flex;align-items:center;gap:8px;background:var(--white);transition:background .18s,box-shadow .18s,color .18s}
.blog-filter a:hover{box-shadow:0 0 0 2px var(--green)}
.blog-filter a[aria-current=page]{background:var(--ink);color:#fff}
.blog-filter a[aria-current=page]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
@media(max-width:1000px){.post-card{padding:28px 24px 24px}.post-card-img{margin:-28px -24px 20px}}
@media(max-width:640px){.blog-list{padding:36px 0 70px}.post-card{padding:26px 20px 22px}.post-card-img{margin:-26px -20px 18px}.post-card h2{font-size:1.3rem}.post-card:hover,.post-card:focus-visible{transform:none}}
@media(hover:none){.post-card:hover{transform:none}}
