/* ===== RestoCall Blog — shared styles ===== */
:root{
    --primary:#2563EB;
    --primary-dark:#1D4ED8;
    --gold:#C9A84C;
    --text:#0F172A;
    --text-secondary:#475569;
    --text-muted:#64748B;
    --bg:#FFFFFF;
    --bg-secondary:#F8FAFC;
    --border:#E2E8F0;
    --success:#10B981;
    --radius-md:8px;
    --radius-lg:12px;
    --radius-xl:16px;
    --radius-2xl:24px;
    --radius-full:9999px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.05);
    --shadow-md:0 4px 12px rgba(15,23,42,.06);
    --shadow-lg:0 12px 32px rgba(15,23,42,.08);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter','Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--primary);}
a:hover{color:var(--primary-dark);}

/* ── Navbar (lightweight, links to landing) ── */
.blog-nav{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);z-index:100;border-bottom:1px solid var(--border);}
.blog-nav-inner{max-width:1100px;margin:0 auto;padding:.85rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.blog-nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;font-size:1.05rem;}
.blog-nav-logo img{max-height:32px;width:auto;}
.blog-nav-links{display:flex;gap:1.25rem;align-items:center;}
.blog-nav-links a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.92rem;}
.blog-nav-links a:hover{color:var(--primary);}
.blog-nav-cta{padding:.55rem 1.1rem;background:linear-gradient(135deg,#3B82F6,#1D4ED8);color:#fff!important;border-radius:var(--radius-full);font-weight:600;font-size:.85rem;box-shadow:0 4px 12px rgba(29,78,216,.25);}

/* ── Breadcrumbs ── */
.breadcrumbs{max-width:760px;margin:0 auto;padding:1.25rem 1.5rem 0;font-size:.82rem;color:var(--text-muted);}
.breadcrumbs a{color:var(--text-muted);text-decoration:none;}
.breadcrumbs a:hover{color:var(--primary);text-decoration:underline;}
.breadcrumbs span{margin:0 .4rem;opacity:.5;}

/* ── Article header ── */
.article{max-width:760px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.article-header{margin-bottom:2.5rem;}
.article-tag{display:inline-block;padding:.3rem .85rem;background:rgba(37,99,235,.08);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);margin-bottom:1.25rem;}
.article h1{font-family:'Space Grotesk','Inter',sans-serif;font-size:clamp(1.75rem,4.5vw,2.6rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 1rem;color:var(--text);}
.article-lede{font-size:1.18rem;color:var(--text-secondary);line-height:1.65;margin:0 0 1.5rem;}
.article-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;align-items:center;font-size:.85rem;color:var(--text-muted);padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.article-meta i{margin-right:.3rem;color:var(--primary);}

/* ── Article body ── */
.article-body{font-size:1.05rem;line-height:1.75;}
.article-body h2{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.55rem;line-height:1.25;margin:2.75rem 0 1rem;color:var(--text);scroll-margin-top:80px;}
.article-body h3{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.2rem;margin:1.75rem 0 .65rem;color:var(--text);}
.article-body p{margin:0 0 1.1rem;color:var(--text);}
.article-body ul,.article-body ol{margin:0 0 1.25rem;padding-left:1.4rem;}
.article-body li{margin-bottom:.5rem;}
.article-body strong{color:var(--text);font-weight:700;}
.article-body em{color:var(--text-secondary);}
.article-body a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;}
.article-body blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--gold);background:rgba(201,168,76,.06);color:var(--text-secondary);font-style:italic;border-radius:0 var(--radius-md) var(--radius-md) 0;}
.article-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;}
.article-body th,.article-body td{padding:.65rem .85rem;border:1px solid var(--border);text-align:left;}
.article-body th{background:var(--bg-secondary);font-weight:700;}
.article-body code{background:var(--bg-secondary);padding:.1rem .4rem;border-radius:4px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:.92em;}
.article-body hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0;}

/* Callout / TL;DR box */
.tldr{padding:1.1rem 1.35rem;background:linear-gradient(135deg,rgba(37,99,235,.05),rgba(59,130,246,.02));border:1px solid rgba(37,99,235,.18);border-radius:var(--radius-lg);margin:1.5rem 0 2rem;}
.tldr strong{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:.4rem;}
.tldr p{margin:0;color:var(--text-secondary);font-size:.97rem;}

/* CTA in-article */
.article-cta{margin:2.5rem 0;padding:1.75rem 1.75rem;background:linear-gradient(135deg,#0F172A,#1E40AF);border-radius:var(--radius-2xl);color:white;text-align:center;}
.article-cta h3{margin:0 0 .5rem;color:white;font-family:'Space Grotesk','Inter',sans-serif;font-size:1.25rem;}
.article-cta p{margin:0 0 1.1rem;color:rgba(255,255,255,.8);font-size:.95rem;}
.article-cta-btn{display:inline-block;padding:.85rem 1.6rem;background:white;color:var(--primary);text-decoration:none;border-radius:var(--radius-full);font-weight:700;font-size:.95rem;box-shadow:0 6px 16px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s;}
.article-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2);}

/* Related articles */
.related{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.related h2{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.5rem;margin:0 0 1.5rem;text-align:center;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.related-card{display:block;padding:1.25rem;background:white;border:1px solid var(--border);border-radius:var(--radius-xl);text-decoration:none;color:inherit;transition:all .2s;}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary);}
.related-card-tag{font-size:.7rem;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;}
.related-card h3{margin:0 0 .5rem;font-family:'Space Grotesk','Inter',sans-serif;font-size:1rem;line-height:1.3;color:var(--text);}
.related-card p{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.55;}

/* Footer */
.blog-footer{background:var(--bg-secondary);padding:2rem 1.5rem;text-align:center;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);}
.blog-footer a{color:var(--text-muted);text-decoration:none;margin:0 .65rem;}
.blog-footer a:hover{color:var(--primary);}

/* Blog index page */
.index-hero{max-width:800px;margin:0 auto;padding:3.5rem 1.5rem 2rem;text-align:center;}
.index-hero h1{font-family:'Space Grotesk','Inter',sans-serif;font-size:clamp(2rem,5vw,2.8rem);margin:0 0 1rem;letter-spacing:-.02em;}
.index-hero p{font-size:1.15rem;color:var(--text-secondary);margin:0;}
.index-grid{max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;}
.index-card{display:flex;flex-direction:column;padding:1.5rem;background:white;border:1px solid var(--border);border-radius:var(--radius-xl);text-decoration:none;color:inherit;transition:all .25s;}
.index-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary);}
.index-card-tag{align-self:flex-start;padding:.25rem .7rem;background:rgba(37,99,235,.08);color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);margin-bottom:.85rem;}
.index-card h2{margin:0 0 .65rem;font-family:'Space Grotesk','Inter',sans-serif;font-size:1.15rem;line-height:1.3;color:var(--text);}
.index-card p{margin:0 0 1rem;font-size:.92rem;color:var(--text-muted);line-height:1.55;flex:1;}
.index-card-meta{font-size:.78rem;color:var(--text-muted);}
.index-card-meta i{margin-right:.3rem;color:var(--primary);}

/* Mobile */
@media(max-width:640px){
    .blog-nav-links a:not(.blog-nav-cta){display:none;}
    .article{padding:1.5rem 1.25rem 3rem;}
    .article-body{font-size:1rem;}
    .article-body h2{font-size:1.35rem;margin-top:2rem;}
    .article-cta{padding:1.5rem 1.25rem;}
    .index-hero{padding:2.5rem 1.25rem 1rem;}
    .index-grid{padding:1rem 1rem 3rem;}
}
