.hgm-blog-wrap { background:var(--hgm-cream); min-height:60vh; padding:48px 0 70px; }
.hgm-blog-grid { width:min(var(--hgm-max),calc(100% - 40px)); margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hgm-post-card { background:#fff; border:1px solid rgba(24,24,27,.07); border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(20,20,24,.05); }
.hgm-post-card__img { aspect-ratio:3/2; background:#17171c; display:block; overflow:hidden; }
.hgm-post-card__img img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.hgm-post-card:hover .hgm-post-card__img img { transform:scale(1.035); }
.hgm-post-card__body { padding:20px; }
.hgm-post-card__meta { color:var(--hgm-red); font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.hgm-post-card h2 { font:800 1.8rem/1 "Oswald",sans-serif; text-transform:uppercase; margin:8px 0 10px; }
.hgm-post-card h2 a { color:var(--hgm-text); text-decoration:none; }
.hgm-post-card p { color:#68636a; margin:0; }
.hgm-pagination { width:min(var(--hgm-max),calc(100% - 40px)); margin:34px auto 0; }

.hgm-article { width:min(900px,calc(100% - 40px)); margin:0 auto; background:#fff; border-radius:14px; padding:clamp(24px,5vw,58px); box-shadow:0 10px 34px rgba(20,20,24,.05); }
.hgm-article__meta { color:var(--hgm-red); font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.hgm-article h1 { font:800 clamp(3rem,7vw,5.5rem)/.9 "Oswald",sans-serif; text-transform:uppercase; margin:10px 0 18px; }
.hgm-article__featured img { width:100%; border-radius:10px; margin:10px 0 28px; }
.hgm-article__content { font-size:1.05rem; line-height:1.78; }
.hgm-article__content h2,.hgm-article__content h3 { font-family:"Oswald",sans-serif; text-transform:uppercase; margin-top:1.6em; }
.hgm-article__content h2 { font-size:2.2rem; }
.hgm-article__content h3 { font-size:1.7rem; }

.hgm-search-empty,.hgm-404-box { width:min(760px,calc(100% - 40px)); margin:40px auto; background:#fff; padding:40px; border-radius:14px; text-align:center; }
.hgm-404-box h1 { font:800 7rem/1 "Oswald",sans-serif; color:var(--hgm-red); margin:0; }

@media(max-width:900px){.hgm-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.hgm-blog-grid{grid-template-columns:1fr;width:calc(100% - 28px)}.hgm-article{width:calc(100% - 28px)}}

/* =========================================================
   HGM v3.1 — Blog landing redesign
   ========================================================= */
.hgm-blog-hero {
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 82% 26%,rgba(217,45,45,.22),transparent 27%),
        linear-gradient(118deg,#0f0f12 0%,#171116 58%,#241116 100%);
    border-bottom:3px solid var(--hgm-red);
}
.hgm-blog-hero::after {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.1;
    background-image:
        linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.12) 50%,transparent 50.5%),
        linear-gradient(0deg,transparent 49.5%,rgba(255,255,255,.06) 50%,transparent 50.5%);
    background-size:56px 56px;
}
.hgm-blog-hero__inner {
    position:relative;
    z-index:1;
    width:min(var(--hgm-max),calc(100% - 40px));
    margin:auto;
    min-height:260px;
    padding:50px 0 44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
}
.hgm-blog-kicker {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-family:'Oswald',sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.hgm-blog-kicker::before { content:''; width:28px; height:3px; border-radius:99px; background:var(--hgm-red); }
.hgm-blog-hero h1 {
    margin:13px 0 0;
    color:#fff;
    font-family:'Oswald',sans-serif;
    font-size:clamp(3rem,6vw,5.4rem);
    line-height:.92;
    font-weight:700;
    letter-spacing:-.025em;
    text-transform:uppercase;
}
.hgm-blog-hero p { max-width:700px; margin:16px 0 0; color:#ddd7d0; font-size:16px; line-height:1.55; }
.hgm-blog-hero__mark {
    flex:0 0 auto;
    color:rgba(255,255,255,.035);
    font-family:'Oswald',sans-serif;
    font-size:clamp(8rem,17vw,16rem);
    line-height:.72;
    font-weight:700;
    letter-spacing:-.08em;
    user-select:none;
}
.hgm-blog-v31 { padding-top:36px; }
.hgm-blog-featured-wrap { width:min(var(--hgm-max),calc(100% - 40px)); margin:0 auto 34px; }
.hgm-blog-featured {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    overflow:hidden;
    border:1px solid rgba(15,15,18,.07);
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 34px rgba(15,15,18,.055);
}
.hgm-blog-featured__media { min-height:380px; background:#17171c; overflow:hidden; }
.hgm-blog-featured__media img,.hgm-blog-featured__fallback { width:100%; height:100%; min-height:380px; object-fit:cover; display:block; }
.hgm-blog-featured__fallback { background:linear-gradient(rgba(15,15,18,.12),rgba(15,15,18,.4)),url('../images/hero-characters.jpg') center/cover no-repeat; }
.hgm-blog-featured__body { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,48px); }
.hgm-blog-featured__eyebrow { color:var(--hgm-red); font-family:'Oswald',sans-serif; font-size:13px; font-weight:700; letter-spacing:.1em; }
.hgm-blog-featured__meta { margin-top:12px; color:#77716b; font-size:13px; }
.hgm-blog-featured h2 { margin:9px 0 13px; font:700 clamp(2rem,3.4vw,3.4rem)/.98 'Oswald',sans-serif; text-transform:uppercase; }
.hgm-blog-featured h2 a { color:var(--hgm-black); text-decoration:none; }
.hgm-blog-featured p { margin:0; color:#625d58; font-size:16px; line-height:1.62; }
.hgm-blog-read { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-top:22px; color:var(--hgm-black)!important; font-family:'Oswald',sans-serif; font-weight:700; text-decoration:none!important; text-transform:uppercase; }
.hgm-blog-read span { color:var(--hgm-red); font-size:19px; }
.hgm-blog-read:hover { color:var(--hgm-red)!important; }
.hgm-blog-latest-head { width:min(var(--hgm-max),calc(100% - 40px)); margin:0 auto 16px; }
.hgm-blog-latest-head small { color:var(--hgm-red); font-family:'Oswald',sans-serif; font-weight:700; letter-spacing:.1em; }
.hgm-blog-latest-head h2 { margin:4px 0 0; color:var(--hgm-black); font:700 clamp(2rem,3.6vw,3rem)/1 'Oswald',sans-serif; text-transform:uppercase; }
.hgm-post-card { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.hgm-post-card:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(20,20,24,.075); border-color:rgba(217,45,45,.16); }
.hgm-post-card__fallback { width:100%; height:100%; display:block; background:linear-gradient(rgba(15,15,18,.18),rgba(15,15,18,.48)),url('../images/hero-characters.jpg') center/cover no-repeat; }
.hgm-post-card__more { display:inline-flex; align-items:center; gap:7px; margin-top:16px; color:var(--hgm-black)!important; font-family:'Oswald',sans-serif; font-size:14px; font-weight:700; text-decoration:none!important; text-transform:uppercase; }
.hgm-post-card__more span { color:var(--hgm-red); }
.hgm-post-card__more:hover { color:var(--hgm-red)!important; }

@media(max-width:980px){
    .hgm-blog-featured{grid-template-columns:1fr}
    .hgm-blog-featured__media,.hgm-blog-featured__media img,.hgm-blog-featured__fallback{min-height:330px}
    .hgm-blog-hero__mark{display:none}
}
@media(max-width:620px){
    .hgm-blog-hero__inner,.hgm-blog-featured-wrap,.hgm-blog-latest-head{width:calc(100% - 28px)}
    .hgm-blog-hero__inner{min-height:220px;padding:36px 0 32px}
    .hgm-blog-featured__media,.hgm-blog-featured__media img,.hgm-blog-featured__fallback{min-height:240px}
    .hgm-blog-featured__body{padding:24px 20px}
}
