:root{
  --navy:#0f172a;--slate:#475569;--muted:#64748b;--blue:#2563eb;--cyan:#06b6d4;
  --bg:#ffffff;--bg-soft:#f8fafc;--border:#e2e8f0;
  --grad:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%);
  --radius:18px;--shadow:0 10px 40px rgba(15,23,42,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:var(--navy);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1140px;margin:0 auto;padding:0 24px}

header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.2rem;color:var(--navy);letter-spacing:.02em}
.brand:hover{text-decoration:none}
.brand .mark{width:34px;height:34px;flex:none}
.brand span b{color:var(--blue)}
.nav .cta{display:inline-flex;background:var(--grad);color:#fff;font-weight:600;padding:10px 22px;border-radius:999px;font-size:.9rem;box-shadow:0 6px 20px rgba(37,99,235,.30)}
.nav .cta:hover{text-decoration:none;transform:translateY(-1px)}

.art-hero{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:64px 0 48px}
.art-hero .cat{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:rgba(37,99,235,.08);padding:6px 14px;border-radius:999px;margin-bottom:18px}
.art-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;font-weight:800;letter-spacing:-.02em;max-width:820px}
.art-hero .meta{margin-top:18px;font-size:.88rem;color:var(--muted)}

article.post{max-width:760px;margin:0 auto;padding:40px 24px 40px}
.post-hero-img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:40px;aspect-ratio:1200/630;object-fit:cover}
article.post p{margin-bottom:18px;color:#334155}
article.post h2{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;margin:38px 0 14px}
article.post h3{font-size:1.15rem;font-weight:700;margin:28px 0 10px}
article.post ul,article.post ol{margin:0 0 18px 22px;color:#334155}
article.post li{margin-bottom:8px}
article.post strong{color:var(--navy)}
article.post blockquote{border-left:4px solid var(--blue);padding:8px 0 8px 20px;margin:0 0 18px;color:var(--slate);font-style:italic}
article.post table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:.92rem}
article.post th,article.post td{border:1px solid var(--border);padding:10px 12px;text-align:left}
article.post th{background:var(--bg-soft)}

.cta-box{background:var(--navy);border-radius:var(--radius);padding:34px 32px;color:#e2e8f0;margin:40px 0}
.cta-box h3{color:#fff;font-size:1.25rem;font-weight:800;margin:0 0 10px}
.cta-box p{color:#94a3b8;margin-bottom:20px}
.cta-box a.btn{display:inline-flex;background:var(--grad);color:#fff;font-weight:600;padding:13px 28px;border-radius:999px;box-shadow:0 6px 20px rgba(37,99,235,.35)}
.cta-box a.btn:hover{text-decoration:none}

.related{background:var(--bg-soft);border-top:1px solid var(--border);padding:48px 0 64px}
.related h2{font-size:1.3rem;font-weight:800;margin-bottom:20px}
.related ul{list-style:none}
.related li{margin-bottom:10px}
.related a{font-weight:600}

footer.site{background:#0b1120;color:#64748b;padding:32px 0;font-size:.86rem}
footer.site .foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer.site a{color:#94a3b8}

/* Blog index */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:12px 0 40px}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.blog-card-img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;display:block}
.blog-card-body{padding:20px 22px 24px}
.blog-card .cat{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:rgba(37,99,235,.08);padding:4px 10px;border-radius:999px;margin-bottom:12px}
.blog-card h3{font-size:1.02rem;font-weight:700;color:var(--navy);line-height:1.4}
.blog-section-title{font-size:1.4rem;font-weight:800;margin:44px 0 6px}
@media(max-width:640px){.art-hero{padding:44px 0 36px}}
