/* Blog public Graphidec */
.blog-page-header .lead,
.blog-article-header .lead{max-width:48em}
.blog-article-header time{display:inline-block;margin-top:18px;color:#c7d8ec;font-weight:700}
.blog-list-section{padding-top:30px}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.blog-card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:#eef5fb;position:relative}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.blog-card:hover .blog-card-img img{transform:scale(1.06)}
.blog-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--navy-800),var(--navy-600));padding:46px;position:relative;overflow:hidden}
.blog-card-placeholder::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 220px at 80% 0%,rgba(0,159,227,.38),transparent 65%)}
.blog-card-placeholder img{position:relative;z-index:1;width:min(68%,300px);height:auto;object-fit:contain;filter:none;transition:transform .55s ease}
.blog-card:hover .blog-card-placeholder img{transform:scale(1.04)}
.blog-card-body{padding:24px 24px 26px}
.blog-card-body time{display:block;font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);font-weight:700;margin-bottom:10px}
.blog-card-body h2{font-family:var(--font-display);font-size:1.25rem;line-height:1.22;color:var(--navy-800);margin-bottom:12px}
.blog-card-body h2 a:hover{color:var(--cyan)}
.blog-card-body p{color:var(--muted);font-size:.95rem;line-height:1.65;margin-bottom:18px}
.blog-read-more{font-family:var(--font-display);font-weight:800;color:var(--cyan);font-size:.9rem}
.blog-read-more:hover{color:var(--navy-800)}
.blog-pagination{display:flex;justify-content:center;gap:10px;margin-top:42px;flex-wrap:wrap}
.blog-pagination a{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--navy-800)}
.blog-pagination a.active,.blog-pagination a:hover{background:var(--cyan);border-color:var(--cyan);color:#fff}
.empty-state{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:var(--shadow-md)}
.empty-state h2{font-family:var(--font-display);color:var(--navy-800);font-size:1.8rem;margin-bottom:8px}
.empty-state p{color:var(--muted)}
.blog-article-section{padding-top:30px}
.blog-article-wrap{max-width:920px}
.blog-hero-image{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);margin:0 0 42px;background:#eef5fb}
.blog-hero-image img{width:100%;height:auto;display:block}
.blog-content{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-md);padding:42px}
.blog-content p{font-size:1.04rem;line-height:1.82;color:#3c4d5e;margin-bottom:20px}
.blog-content h2{font-family:var(--font-display);font-size:1.9rem;line-height:1.18;color:var(--navy-800);margin:34px 0 14px}
.blog-content h3{font-family:var(--font-display);font-size:1.45rem;color:var(--navy-800);margin:28px 0 12px}
.blog-content h4{font-family:var(--font-display);font-size:1.15rem;color:var(--navy-800);margin:24px 0 10px}
.blog-content ul,.blog-content ol{margin:0 0 24px 24px;color:#3c4d5e;line-height:1.75}
.blog-content li{margin-bottom:8px}
.blog-content a{color:var(--cyan);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.blog-content blockquote{border-left:4px solid var(--cyan);padding:16px 20px;background:var(--paper-2);border-radius:12px;margin:28px 0;color:var(--navy-800);font-weight:600}
.blog-content img{max-width:100%;height:auto;border-radius:18px;margin:20px 0;box-shadow:var(--shadow-md)}
.blog-back{margin-top:32px;text-align:center}
@media(max-width:980px){.blog-grid{grid-template-columns:1fr 1fr}.blog-content{padding:32px}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-content{padding:24px}.blog-card-body{padding:22px}.blog-content h2{font-size:1.55rem}.blog-content h3{font-size:1.25rem}}
