/* Styles for utility pages: thank-you, 404, blog index and blog posts */
:root{--yellow:#fdbb22;--yellow-soft:#fff5d7;--red:#f20d0d;--ink:#111111;--muted:#5f6368;--line:#e9e9e9;--soft:#f7f7f5;--shadow:0 14px 34px rgba(0,0,0,.07)}
main *{box-sizing:border-box}
main{font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6}
main a{color:inherit}
main h1,main h2,main h3{font-family:'Poppins',Arial,sans-serif;letter-spacing:-.02em;line-height:1.1;margin:0}
.wrap{width:min(1120px,92%);margin:auto}
.narrow{width:min(760px,92%);margin:auto}
.section{padding:72px 0}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;color:var(--red)}
.lead{font-size:18px;line-height:1.65;color:var(--muted);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:8px;font-weight:800;font-size:14px;border:2px solid #111;letter-spacing:.02em;text-decoration:none;transition:.2s ease}
.btn-dark{background:#111;color:#fff !important}
.btn-dark:hover{background:#292929}
.btn-outline{background:transparent;color:#111}
.btn-outline:hover{background:#111;color:#fff}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero{background:var(--yellow);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-200px;top:-200px;width:340px;height:340px;border:2px solid rgba(17,17,17,.13);border-radius:50%;pointer-events:none}
.hero .wrap{position:relative;z-index:1;padding:72px 0}
.hero-rule{height:4px;width:72px;background:#111;margin-bottom:22px}
.hero h1{font-size:clamp(38px,4.6vw,62px);margin-bottom:18px}
.hero .lead{color:#111;font-weight:600;opacity:.92;max-width:640px}

/* Blog index */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;text-decoration:none;transition:transform .2s ease}
.post-card:hover{transform:translateY(-4px)}
.post-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--soft)}
.post-card .pc-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .pc-meta{font-size:13px;color:var(--muted);font-weight:700}
.post-card h2{font-size:20px}
.post-card p{margin:0;color:var(--muted);font-size:15px}
.empty{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:40px;text-align:center;color:var(--muted)}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.posts{grid-template-columns:1fr}}

/* Blog post */
.post-hero .meta{font-weight:700;font-size:14px;color:#111;opacity:.85;margin-top:6px}
.post-feature{margin:-40px auto 0;position:relative;z-index:2}
.post-feature img{width:100%;height:auto;border-radius:18px;box-shadow:var(--shadow);display:block}
.post-body{font-size:18px;color:#2b2b2b}
.post-body h2{font-size:clamp(24px,2.6vw,30px);margin:44px 0 14px}
.post-body h3{font-size:21px;margin:30px 0 10px}
.post-body p{margin:0 0 18px}
.post-body ul,.post-body ol{margin:0 0 18px 24px;padding:0}
.post-body li{margin-bottom:8px}
.post-body a{color:var(--red);text-decoration:underline}
.post-cta{background:#111;color:#fff;border-radius:20px;padding:40px;margin-top:50px;text-align:center}
.post-cta h2{color:#fff;margin:0 0 12px}
.post-cta p{color:#c8c8cd;margin:0 auto 24px;max-width:520px}
.post-cta .btn{background:var(--yellow);border-color:var(--yellow);color:#111 !important}

/* Blog post: related service and author */
.post-related{margin:36px 0 0;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:12px;background:#fff}
.post-related-k{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.post-related a{font-family:'Poppins',Arial,sans-serif;font-weight:700;font-size:19px;color:#111;text-decoration:none}
.post-related a:hover{color:var(--red)}
.post-author{display:flex;gap:18px;align-items:flex-start;margin-top:28px;padding:22px 24px;background:var(--soft);border-radius:16px}
.post-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.post-author-name{font-family:'Poppins',Arial,sans-serif;font-weight:700;font-size:17px;color:#111}
.post-author-role{font-size:13.5px;color:var(--muted);margin-bottom:6px}
.post-author p{margin:0;font-size:15px;line-height:1.6;color:#2b2b2b}
