/* Harry AI blog — global stylesheet for /blog and /:slug articles.
   Edit freely; both markdown-rendered and raw-HTML posts use these styles. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{ --ink:#0f172a; --muted:#64748b; --line:#e6e9ef; --brand:#6366f1; --brand2:#4f46e5; --soft:#f6f7fb; }
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--brand2);text-decoration:none}a:hover{text-decoration:none}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}

/* header / footer */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);z-index:10}
.site-head .wrap{display:flex;align-items:center;height:62px;max-width:1080px}
.site-head .brand{font-weight:800;font-size:18px;color:var(--ink);display:inline-flex;align-items:center;gap:9px}
.site-head .brand .dot,footer .logo .dot{width:27px;height:27px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:15px;flex:none}
.site-head .brand span{color:var(--brand)}
.site-head nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-weight:600;font-size:14px}
.site-head nav a{color:var(--muted)}.site-head nav a:hover{color:var(--ink);text-decoration:none}
.site-head nav .cta{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;padding:9px 15px;border-radius:10px}
.site-head nav .cta:hover{color:#fff}
/* site-wide footer — matches the homepage exactly */
footer{background:#0b1020;color:#94a3b8;margin-top:72px;padding:58px 0 0;position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#a855f7,#22d3ee)}
footer .wrap{max-width:1080px}
footer .fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.15fr;gap:36px}
footer .logo{color:#fff;font-size:20px;font-weight:800;display:inline-flex;align-items:center;gap:9px}
footer .logo span{color:#a5b4fc}
footer .ftag{margin:14px 0 20px;font-size:14px;max-width:290px;line-height:1.65}
footer .fdemo{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:11px;transition:.2s}
footer .fdemo:hover{background:#4338ca;transform:translateY(-1px);text-decoration:none}
footer .fsoc{display:flex;gap:10px;margin-top:22px}
footer .fsoc a{width:38px;height:38px;border-radius:50%;background:#1e293b;display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:.2s}
footer .fsoc a:hover{background:var(--brand);color:#fff;transform:translateY(-2px)}
footer h4{color:#e2e8f0;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:16px}
footer .fcol a{display:block;color:#94a3b8;font-size:14px;padding:6px 0;transition:.15s}
footer .fcol a:hover{color:#fff;text-decoration:none}
footer .fcontact{list-style:none;margin:0;padding:0}
footer .fcontact li{padding:5px 0}
footer .fcontact a,footer .fcontact span{display:flex;align-items:center;gap:9px;color:#94a3b8;font-size:14px;transition:.15s}
footer .fcontact a:hover{color:#fff;text-decoration:none}
footer .fcontact svg{width:15px;height:15px;flex-shrink:0;fill:currentColor;opacity:.85}
footer .fbar{border-top:1px solid #1e293b;margin-top:46px;padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px}
footer .fbar a{color:#94a3b8}
footer .fbar a:hover{color:#fff;text-decoration:none}
footer .fbar .sep{color:#334155;margin:0 9px}
@media(max-width:820px){ footer .fgrid{grid-template-columns:1fr 1fr;gap:30px} footer{padding-top:44px} footer .fbar{flex-direction:column} }
@media(max-width:520px){ footer .fgrid{grid-template-columns:1fr} }

/* blog list */
.blog-list{padding:48px 0 20px;background:radial-gradient(1150px 520px at 50% -70px,#e7eaff 0,#eef0fb 42%,#f7f8fc 66%,#fff 82%)}
.blog-hero{text-align:center;max-width:640px;margin:0 auto 30px}
.blog-hero h1{font-size:clamp(32px,5vw,46px);letter-spacing:-.02em}
.blog-hero p{color:var(--muted);font-size:17px;margin-top:10px}
.blog-list .wrap{max-width:1080px}
/* category filter */
.b-filter{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:0 auto 32px;max-width:900px}
.b-chip{display:inline-block;font-family:inherit;font-size:13px;font-weight:700;color:#475569;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;cursor:pointer;text-decoration:none;transition:.15s}
.b-chip:hover{border-color:#c7cbe0;color:var(--ink);text-decoration:none}
.b-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* category pill */
.cat-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;letter-spacing:.02em;padding:5px 11px;border-radius:999px;width:max-content;line-height:1.2}
.c-gbp{background:#eff6ff;color:#1d4ed8}
.c-rev{background:#fff7ed;color:#c2410c}
.c-rank{background:#eef2ff;color:#4f46e5}
.c-news{background:#fef2f2;color:#dc2626}
.c-ind{background:#ecfdf5;color:#059669}
a.cat-pill{text-decoration:none;cursor:pointer;transition:transform .15s,filter .15s;position:relative;z-index:2}
a.cat-pill:hover{transform:translateY(-1px);filter:brightness(.96)}

/* shared card meta (author · read time · date) */
.b-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:'Inter',sans-serif;font-size:13px;color:var(--muted);margin-top:14px}
.b-meta b{color:var(--ink);font-weight:700}
.b-av{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.14);background:#eef}
.b-dot{color:#cbd5e1}
/* Feature images are text-free illustrations (~1.5:1) — cover fills the card
   edge-to-edge; centred subjects survive the light crop with nothing to lose. */
.b-img{background-size:cover;background-position:center;background-color:#eef0fb}
.b-img.placeholder{background:linear-gradient(135deg,#eef0ff,#f5f3ff)}

/* featured card */
.b-featwrap{margin-bottom:42px}
.b-feat{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 20px 50px -32px rgba(79,70,229,.45);transition:transform .15s,box-shadow .15s}
.b-feat:hover{transform:translateY(-3px);box-shadow:0 26px 56px -30px rgba(79,70,229,.5);text-decoration:none}
.b-feat .b-img{min-height:300px}
.b-feat-body{padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.b-feat-body .cat-pill{margin-bottom:15px}
.b-feat-body h2{font-size:clamp(23px,3vw,30px);line-height:1.18;letter-spacing:-.02em;color:var(--ink)}
.b-feat-body p{color:var(--muted);font-size:15.5px;line-height:1.6;margin-top:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* section head */
.b-sechead{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}

/* grid cards */
.b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.b-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.b-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(79,70,229,.4);text-decoration:none}
.b-card-imgwrap{position:relative;height:172px}
.b-card-imgwrap .b-img{position:absolute;inset:0}
.b-card-imgwrap .cat-pill{position:absolute;top:12px;left:12px;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.b-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.b-card-body h3{font-size:17.5px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.b-card-body p{color:var(--muted);font-size:14px;line-height:1.55;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.b-card-body .b-meta{margin-top:auto;padding-top:14px}
.b-card-body .b-av{width:26px;height:26px}
.empty{text-align:center;color:var(--muted);padding:60px 0}

/* clickable div-cards: cursor + title links inherit colour, tint on card hover */
.b-feat,.b-card{cursor:pointer}
.b-feat-body h2 a,.b-card-body h3 a{color:inherit;text-decoration:none}
.b-feat:hover .b-feat-body h2 a,.b-card:hover .b-card-body h3 a{color:var(--brand2)}

/* article: category pill above title */
.post-cat{margin:14px 0 4px}

/* article */
.post{padding:34px 0 0}
/* Narrower measure on articles → ~70 chars/line for comfortable reading. */
.post .wrap{max-width:768px}
.post .back{color:var(--muted);font-weight:600;font-size:14px}
.post-title{font-size:clamp(30px,5vw,44px);letter-spacing:-.02em;line-height:1.15;margin:16px 0 10px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:var(--muted);font-size:14.5px;margin-bottom:16px}
.post-meta .pm-author{color:var(--ink);font-weight:700}
.post-meta .pm-sep{opacity:.4}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.post-tags .tag{background:#eef0fb;color:var(--brand2);border:1px solid #e2e5f6;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600;letter-spacing:.01em}
.post-feature{width:100%;border-radius:16px;margin:0 0 28px;display:block}
/* Body prose in Inter (reading-optimized); headings stay Jakarta for brand. */
.post-content{font-family:'Inter',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.75;color:#1f2937}
.post-content h2{font-family:'Plus Jakarta Sans',-apple-system,Segoe UI,Roboto,sans-serif;font-size:26px;letter-spacing:-.01em;line-height:1.3;margin:40px 0 14px}
.post-content h3{font-family:'Plus Jakarta Sans',-apple-system,Segoe UI,Roboto,sans-serif;font-size:21px;line-height:1.35;margin:30px 0 10px}
.post-content p{margin:18px 0}
.post-content ul,.post-content ol{margin:16px 0 16px 26px}
.post-content li{margin:7px 0}
.post-content img{max-width:100%;height:auto;border-radius:12px;margin:22px 0}
.post-content a{color:var(--brand2);font-weight:600}
.post-content blockquote{border-left:4px solid var(--brand);background:var(--soft);padding:12px 18px;border-radius:8px;margin:22px 0;color:#334155}
.post-content code{background:#f1f5f9;border-radius:6px;padding:2px 6px;font-size:15px}
.post-content pre{background:#0f172a;color:#e2e8f0;padding:16px;border-radius:12px;overflow:auto;margin:22px 0}
.post-content pre code{background:none;padding:0;color:inherit}
.post-content table{width:100%;border-collapse:collapse;margin:22px 0}
.post-content th,.post-content td{border:1px solid var(--line);padding:9px 12px;text-align:left;font-size:15px}
.post-cta{margin:44px 0 20px;background:linear-gradient(90deg,#eef2ff,#f5f3ff);border:1px solid #e0e4ff;border-radius:16px;padding:22px 24px;text-align:center}
.post-cta b{display:block;font-size:18px;margin-bottom:12px}
.post-cta .btn{display:inline-block;background:var(--wa,#25d366);color:#fff;font-weight:700;padding:12px 22px;border-radius:12px}
.post-cta .btn:hover{color:#fff;text-decoration:none;opacity:.94}
/* author card (E-E-A-T) */
.author-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7f8ff 0%,#f1effb 100%);border:1px solid #e7e4f7;border-radius:18px;padding:22px 26px 24px;margin:44px 0 8px}
.author-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand,#6366f1),#a855f7)}
.author-card .ac-label{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand2,#4f46e5);margin-bottom:15px}
.author-card .ac-head{display:flex;align-items:center;gap:15px;margin-bottom:13px}
.author-card .ac-ring{width:66px;height:66px;border-radius:50%;padding:2.5px;background:linear-gradient(135deg,#6366f1,#a855f7,#22d3ee);flex:none;display:block;box-shadow:0 6px 16px rgba(99,102,241,.25)}
.author-card .ac-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center;display:block;border:2.5px solid #fff;background:#fff}
.author-card .ac-name{font-weight:800;font-size:18px;color:var(--ink);display:flex;align-items:center;gap:9px}
.author-card .ac-in{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#0a66c2;color:#fff;border-radius:5px;text-decoration:none}
.author-card .ac-in:hover{opacity:.88;text-decoration:none}
.author-card .ac-role{color:var(--muted);font-size:13px;font-weight:700;margin-top:3px}
.author-card .ac-bio{color:#475569;font-size:14.5px;line-height:1.72;margin:0}
/* sources / references list */
.post-content h2#sources,.post-content h2.sources{font-size:20px;margin-top:38px}

/* table of contents */
.post-toc{position:relative;background:linear-gradient(135deg,#f7f8ff 0%,#f2effc 100%);border:1px solid #e7e4f7;border-radius:16px;padding:20px 24px 13px;margin:6px 0 36px;overflow:hidden}
.post-toc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand),#a855f7)}
.post-toc .toc-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand2);margin-bottom:14px}
.post-toc .toc-title::before{content:"📑";font-size:14px}
.post-toc ul{list-style:none;margin:0;padding:0;counter-reset:toc;columns:2;column-gap:30px}
.post-toc li{margin:0 0 5px;break-inside:avoid;counter-increment:toc}
.post-toc a{display:flex;align-items:flex-start;gap:11px;padding:8px 10px;border-radius:10px;color:#3f3d56;font-size:14px;font-weight:600;line-height:1.35;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}
.post-toc a::before{content:counter(toc,decimal-leading-zero);flex-shrink:0;width:26px;height:26px;margin-top:1px;border-radius:8px;background:#fff;border:1px solid #e3dff5;color:var(--brand);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:inherit}
.post-toc a:hover{background:#fff;color:var(--brand2);transform:translateX(3px);box-shadow:0 6px 18px rgba(99,102,241,.14)}
.post-toc a:hover::before{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.06)}
@media(max-width:560px){.post-toc ul{columns:1}}
.post-content h2{scroll-margin-top:80px}

/* related articles */
.related{margin:48px 0 10px;border-top:1px solid var(--line);padding-top:30px}
.related h2{font-size:22px;margin-bottom:18px}
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rcard{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.rcard:hover{transform:translateY(-3px);box-shadow:0 16px 36px -22px rgba(79,70,229,.4);text-decoration:none}
.rcard-img{height:120px;background-size:cover;background-position:center;background-color:#eef0fb}
.rcard-img.placeholder{background:linear-gradient(135deg,#eef0ff,#f5f3ff)}
.rcard-b{padding:12px 14px 16px}
.rcard-b b{font-size:14.5px;color:var(--ink);line-height:1.3;display:block}

/* in-content CTA boxes */
.inline-cta{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #e0e4ff;border-radius:16px;padding:24px 26px;margin:36px 0;text-align:center}
.inline-cta h3{font-size:21px;margin:0 0 8px;letter-spacing:-.01em}
.inline-cta p{color:#475569;font-size:15.5px;margin:0 auto 16px;max-width:560px}
.inline-cta .cta-btn{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;font-weight:700;padding:12px 24px;border-radius:12px;font-size:15px}
.inline-cta .cta-btn:hover{color:#fff;text-decoration:none;opacity:.94}
.inline-cta.wa{background:linear-gradient(135deg,#e7f9ee,#effdf4);border-color:#c9f0d8}
.inline-cta.wa .cta-btn{background:#25d366}

@media(max-width:820px){ .b-grid,.rcards{grid-template-columns:1fr 1fr} .b-feat{grid-template-columns:1fr} .b-feat .b-img{min-height:200px} .b-feat-body{padding:24px 22px} }
@media(max-width:560px){ .b-grid,.rcards{grid-template-columns:1fr} .post-toc ul{columns:1} .site-head nav a:not(.cta){display:none} }
