/**
 * Global Media Outdoor — Service / Blog Detail Pages
 * v5.10.0 — gmo-blog-*
 *
 * Loaded only on the 14 service blog templates. Cleanly namespaced
 * (.gmo-blog-*) so it never collides with the main theme CSS.
 */

/* =================================================================
   1. HERO
================================================================= */
.gmo-blog-hero{
    position:relative;
    min-height:640px;
    padding:160px 5% 5rem;
    overflow:hidden;
    isolation:isolate;
    color:#fff;
    --gmo-svc-accent:#ec407a;
    --gmo-svc-accent-2:#5a189a;
    --gmo-svc-gradient:linear-gradient(135deg,#ec407a 0%,#5a189a 100%);
}
.gmo-blog-hero-bg{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    z-index:-3;
    filter:saturate(0.85) brightness(0.55);
    transform:scale(1.05);
    animation:gmoBlogKenBurns 18s ease-in-out infinite alternate;
}
@keyframes gmoBlogKenBurns{
    from{transform:scale(1.05) translateY(0);}
    to{transform:scale(1.12) translateY(-2%);}
}
.gmo-blog-hero-overlay{
    position:absolute;inset:0;z-index:-2;
    background:
        radial-gradient(800px 600px at 90% 10%, color-mix(in srgb, var(--gmo-svc-accent) 35%, transparent), transparent 70%),
        radial-gradient(700px 500px at 5% 90%, color-mix(in srgb, var(--gmo-svc-accent-2) 40%, transparent), transparent 70%),
        linear-gradient(180deg, rgba(0,26,77,0.55) 0%, rgba(10,14,39,0.85) 100%);
}
.gmo-blog-hero-grid{
    position:absolute;inset:0;z-index:-1;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(circle at center, #000 30%, transparent 75%);
    -webkit-mask-image:radial-gradient(circle at center, #000 30%, transparent 75%);
    opacity:0.4;
}
.gmo-blog-hero-inner{position:relative;max-width:1200px;margin:0 auto;animation:gmoBlogFade 0.9s ease backwards;}
@keyframes gmoBlogFade{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

.gmo-blog-breadcrumb{
    display:flex;align-items:center;gap:0.55rem;
    font-family:'Space Mono',monospace;font-size:0.7rem;letter-spacing:0.15em;
    text-transform:uppercase;color:rgba(240,244,255,0.6);
    margin-bottom:1.6rem;flex-wrap:wrap;
}
.gmo-blog-breadcrumb a{color:rgba(240,244,255,0.7);transition:color 0.2s;}
.gmo-blog-breadcrumb a:hover{color:#fff;}
.gmo-blog-breadcrumb span{color:rgba(240,244,255,0.35);}
.gmo-blog-crumb-current{color:#fff !important;}

.gmo-blog-eyebrow{
    display:inline-flex;align-items:center;gap:0.7rem;flex-wrap:wrap;
    font-family:'Space Mono',monospace;font-size:0.7rem;letter-spacing:0.18em;
    text-transform:uppercase;color:rgba(240,244,255,0.85);
    background:linear-gradient(135deg, color-mix(in srgb, var(--gmo-svc-accent) 25%, transparent), color-mix(in srgb, var(--gmo-svc-accent-2) 18%, transparent));
    border:1px solid rgba(255,255,255,0.15);
    padding:0.5rem 1rem 0.5rem 0.5rem;border-radius:40px;
    margin-bottom:1.8rem;
    backdrop-filter:blur(10px);
}
.gmo-blog-icon-pill{
    display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;border-radius:50%;
    background:var(--gmo-svc-gradient);
    font-size:0.95rem;
}
.gmo-blog-cat-label{font-weight:700;}
.gmo-blog-eyebrow-sep{opacity:0.4;}

.gmo-blog-h1{
    font-family:'Sora',sans-serif;
    font-size:clamp(2.2rem, 5.2vw, 4.4rem);
    line-height:1.05;font-weight:800;
    margin:0 0 1.2rem;max-width:920px;
    background:linear-gradient(90deg,#fff 0%,#fff 40%, color-mix(in srgb, var(--gmo-svc-accent) 80%, white) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    letter-spacing:-0.01em;
}
.gmo-blog-sub{
    font-size:clamp(1rem, 1.3vw, 1.2rem);
    color:rgba(240,244,255,0.78);
    max-width:780px;line-height:1.6;font-weight:300;margin:0 0 2.5rem;
}

.gmo-blog-hero-stats{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
    gap:1rem;max-width:780px;margin-bottom:2.5rem;
}
.gmo-blog-stat{
    background:rgba(255,255,255,0.06);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,0.12);
    border-left:3px solid var(--gmo-svc-accent);
    padding:1rem 1.1rem;border-radius:10px;
    transition:transform 0.3s, border-color 0.3s;
}
.gmo-blog-stat:hover{transform:translateY(-3px);border-left-color:var(--gmo-svc-accent-2);}
.gmo-blog-stat-v{
    font-family:'Sora',sans-serif;font-size:1.65rem;font-weight:800;line-height:1;
    background:var(--gmo-svc-gradient);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.gmo-blog-stat-l{
    font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;
    text-transform:uppercase;color:rgba(240,244,255,0.65);margin-top:0.35rem;
}
.gmo-blog-hero-cta{display:flex;gap:1rem;flex-wrap:wrap;}

/* =================================================================
   2. BODY LAYOUT — TOC + ARTICLE
================================================================= */
.gmo-blog-body{
    padding:5rem 5%;
    background:linear-gradient(180deg, transparent 0%, rgba(0,26,77,0.3) 30%, rgba(0,26,77,0.3) 100%);
}
.gmo-blog-layout{
    max-width:1300px;margin:0 auto;
    display:grid;grid-template-columns:240px 1fr;gap:4rem;align-items:start;
}

/* Sticky TOC */
.gmo-blog-toc{position:sticky;top:140px;align-self:start;}
.gmo-blog-toc-inner{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:14px;
    padding:1.6rem 1.4rem;
    backdrop-filter:blur(10px);
}
.gmo-blog-toc-h{
    font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.2em;
    text-transform:uppercase;color:rgba(240,244,255,0.5);
    margin-bottom:1rem;padding-bottom:0.9rem;
    border-bottom:1px solid rgba(255,255,255,0.1);
}
.gmo-blog-toc-list{list-style:none;margin:0;padding:0;counter-reset:tocnum;}
.gmo-blog-toc-list li{
    counter-increment:tocnum;
    padding:0.5rem 0;
    border-bottom:1px dashed rgba(255,255,255,0.06);
}
.gmo-blog-toc-list li:last-child{border-bottom:none;}
.gmo-blog-toc-list a{
    display:block;
    font-family:'Poppins',sans-serif;font-size:0.78rem;
    color:rgba(240,244,255,0.7);
    transition:color 0.2s,padding 0.2s;
    position:relative;
}
.gmo-blog-toc-list a::before{
    content:counter(tocnum, decimal-leading-zero);
    font-family:'Space Mono',monospace;font-size:0.55rem;
    color:var(--gmo-svc-accent, #ec407a);margin-right:0.6rem;letter-spacing:0.1em;
}
.gmo-blog-toc-list a:hover{color:#fff;padding-left:4px;}
.gmo-blog-toc-cta{
    margin-top:1.4rem;padding-top:1.4rem;
    border-top:1px solid rgba(255,255,255,0.1);
}
.gmo-blog-toc-cta-h{
    font-family:'Sora',sans-serif;font-size:0.82rem;font-weight:600;
    color:rgba(240,244,255,0.9);margin-bottom:0.7rem;
}
.gmo-blog-toc-btn{
    display:inline-block;width:100%;text-align:center;
    background:var(--gmo-svc-gradient, linear-gradient(90deg,#667eea,#ec407a));
    color:#fff !important;
    font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.14em;
    font-weight:700;text-transform:uppercase;
    padding:0.7rem 1rem;border-radius:8px;
    box-shadow:0 4px 14px rgba(236,64,122,0.3);
    transition:transform 0.25s,box-shadow 0.25s;
}
.gmo-blog-toc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(236,64,122,0.45);}

/* =================================================================
   3. ARTICLE
================================================================= */
.gmo-blog-article{min-width:0;}
.gmo-blog-section{margin-bottom:4.5rem;scroll-margin-top:140px;}
.gmo-blog-section-eyebrow{
    font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.25em;
    text-transform:uppercase;color:var(--gmo-svc-accent, #ec407a);
    margin-bottom:0.7rem;font-weight:700;
}
.gmo-blog-h2{
    font-family:'Sora',sans-serif;
    font-size:clamp(1.8rem, 3.2vw, 2.6rem);
    line-height:1.1;font-weight:700;color:#fff;
    margin:0 0 1.4rem;letter-spacing:-0.005em;
}
.gmo-blog-h3{
    font-family:'Sora',sans-serif;
    font-size:1.2rem;font-weight:600;color:#fff;
    margin:1.8rem 0 0.7rem;
}
.gmo-blog-p{
    font-family:'Poppins',sans-serif;font-size:1rem;line-height:1.85;
    color:rgba(240,244,255,0.78);margin:0 0 1.2rem;font-weight:300;
}
.gmo-blog-p-lead{font-size:1.05rem;color:rgba(240,244,255,0.85);margin-bottom:2rem;}

.gmo-blog-intro{
    border-left:3px solid var(--gmo-svc-accent, #ec407a);
    padding:1.2rem 0 1.2rem 1.8rem;
    background:linear-gradient(90deg, rgba(255,255,255,0.03), transparent 80%);
    border-radius:0 12px 12px 0;
}
.gmo-blog-lede{
    font-family:'Poppins',sans-serif;
    font-size:1.18rem;line-height:1.7;font-weight:300;
    color:rgba(240,244,255,0.92);margin:0;
    font-style:italic;
}

/* Why Choose Grid */
.gmo-blog-why-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:1rem;
}
.gmo-blog-why-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:14px;padding:1.6rem 1.4rem;
    position:relative;overflow:hidden;
    transition:transform 0.3s,border-color 0.3s,background 0.3s;
}
.gmo-blog-why-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--gmo-svc-gradient, linear-gradient(90deg,#667eea,#ec407a));
    transform:scaleX(0);transform-origin:left;transition:transform 0.4s;
}
.gmo-blog-why-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,0.18);background:rgba(255,255,255,0.07);}
.gmo-blog-why-card:hover::before{transform:scaleX(1);}
.gmo-blog-why-icon{
    font-size:1.7rem;
    width:44px;height:44px;border-radius:10px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, color-mix(in srgb, var(--gmo-svc-accent) 25%, transparent), color-mix(in srgb, var(--gmo-svc-accent-2) 18%, transparent));
    margin-bottom:0.9rem;
}
.gmo-blog-why-h{
    font-family:'Sora',sans-serif;font-size:1rem;font-weight:600;
    color:#fff;margin:0 0 0.4rem;
}
.gmo-blog-why-p{
    font-family:'Poppins',sans-serif;font-size:0.85rem;line-height:1.65;
    color:rgba(240,244,255,0.7);margin:0;font-weight:300;
}

/* Format Cards */
.gmo-blog-fmt-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:0.9rem;
}
.gmo-blog-fmt-card{
    display:flex;gap:1rem;align-items:flex-start;
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:12px;padding:1.2rem;
    transition:transform 0.25s,border-color 0.25s;
}
.gmo-blog-fmt-card:hover{transform:translateX(3px);border-color:var(--gmo-svc-accent, #ec407a);}
.gmo-blog-fmt-num{
    font-family:'Space Mono',monospace;font-size:0.65rem;font-weight:700;
    color:var(--gmo-svc-accent, #ec407a);letter-spacing:0.1em;
    padding-top:0.25rem;min-width:24px;
}
.gmo-blog-fmt-body{flex:1;min-width:0;}
.gmo-blog-fmt-name{
    font-family:'Sora',sans-serif;font-size:0.98rem;font-weight:600;color:#fff;
    margin-bottom:0.3rem;
}
.gmo-blog-fmt-desc{
    font-size:0.82rem;line-height:1.55;color:rgba(240,244,255,0.7);
    font-weight:300;margin-bottom:0.5rem;
}
.gmo-blog-fmt-spec{
    display:inline-block;
    font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;
    text-transform:uppercase;color:var(--gmo-svc-accent, #ec407a);
    background:rgba(236,64,122,0.1);
    padding:0.25rem 0.6rem;border-radius:4px;font-weight:700;
}

/* Spec Table */
.gmo-blog-spec-table{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:12px;overflow:hidden;
}
.gmo-blog-spec-row{
    display:grid;grid-template-columns:200px 1fr;gap:1.5rem;
    padding:1rem 1.4rem;
    border-bottom:1px solid rgba(255,255,255,0.05);
    transition:background 0.2s;
}
.gmo-blog-spec-row:last-child{border-bottom:none;}
.gmo-blog-spec-row:hover{background:rgba(255,255,255,0.04);}
.gmo-blog-spec-label{
    font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.13em;
    text-transform:uppercase;color:rgba(240,244,255,0.55);font-weight:700;
    padding-top:0.15rem;
}
.gmo-blog-spec-value{
    font-family:'Poppins',sans-serif;font-size:0.92rem;color:rgba(240,244,255,0.92);font-weight:400;
}

/* Coverage Chips */
.gmo-blog-cov-grid{display:flex;flex-wrap:wrap;gap:0.55rem;}
.gmo-blog-cov-chip{
    display:inline-flex;align-items:center;gap:0.5rem;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
    padding:0.55rem 0.95rem;border-radius:30px;
    font-family:'Poppins',sans-serif;font-size:0.82rem;font-weight:400;
    color:rgba(240,244,255,0.85);
    transition:transform 0.2s,background 0.2s,border-color 0.2s;
}
.gmo-blog-cov-chip:hover{transform:translateY(-2px);border-color:var(--gmo-svc-accent, #ec407a);background:rgba(255,255,255,0.08);}
.gmo-blog-cov-dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--gmo-svc-accent, #ec407a);
    box-shadow:0 0 8px var(--gmo-svc-accent, #ec407a);
}

/* Gallery — asymmetric masonry feel */
.gmo-blog-gallery{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-auto-rows:140px;
    gap:0.7rem;
}
.gmo-blog-gal-cell{
    position:relative;overflow:hidden;border-radius:10px;
    cursor:zoom-in;background:rgba(255,255,255,0.04);
    transition:transform 0.35s;
}
.gmo-blog-gal-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s;}
.gmo-blog-gal-cell:hover img{transform:scale(1.08);}
.gmo-blog-gal-cell:hover{transform:translateY(-3px);}
.gmo-blog-gal-cell-0{grid-column:span 2;grid-row:span 2;}
.gmo-blog-gal-cell-1{grid-column:span 2;grid-row:span 1;}
.gmo-blog-gal-cell-2{grid-column:span 1;grid-row:span 1;}
.gmo-blog-gal-cell-3{grid-column:span 1;grid-row:span 1;}
.gmo-blog-gal-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.7) 100%);
    display:flex;align-items:flex-end;padding:0.9rem;opacity:0;transition:opacity 0.3s;
}
.gmo-blog-gal-cell:hover .gmo-blog-gal-overlay{opacity:1;}
.gmo-blog-gal-overlay span{
    font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;
    text-transform:uppercase;color:#fff;font-weight:700;
}

/* Brand Chips */
.gmo-blog-brands{display:flex;flex-wrap:wrap;gap:0.5rem;}
.gmo-blog-brand-chip{
    font-family:'Poppins',sans-serif;font-size:0.82rem;font-weight:500;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.1);
    color:rgba(240,244,255,0.9);
    padding:0.5rem 1rem;border-radius:8px;
    transition:transform 0.2s,background 0.2s;
}
.gmo-blog-brand-chip:hover{transform:translateY(-2px);background:var(--gmo-svc-gradient, linear-gradient(135deg,#667eea,#764ba2));color:#fff;}

/* Process */
.gmo-blog-process{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1rem;
}
.gmo-blog-process-step{
    display:flex;gap:1rem;align-items:flex-start;
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:12px;padding:1.3rem;
    position:relative;overflow:hidden;
    transition:transform 0.25s,border-color 0.25s;
}
.gmo-blog-process-step:hover{transform:translateY(-3px);border-color:var(--gmo-svc-accent, #ec407a);}
.gmo-blog-process-num{
    font-family:'Sora',sans-serif;font-size:1.6rem;font-weight:800;
    background:var(--gmo-svc-gradient, linear-gradient(135deg,#667eea,#ec407a));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    line-height:1;min-width:40px;
}
.gmo-blog-process-body{flex:1;min-width:0;}
.gmo-blog-process-h{
    font-family:'Sora',sans-serif;font-size:0.95rem;font-weight:600;color:#fff;
    margin-bottom:0.35rem;
}
.gmo-blog-process-p{
    font-family:'Poppins',sans-serif;font-size:0.82rem;line-height:1.6;
    color:rgba(240,244,255,0.7);font-weight:300;
}

/* Pricing */
.gmo-blog-pricing-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:1rem;
}
.gmo-blog-price-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:14px;padding:1.6rem 1.3rem;text-align:center;
    position:relative;transition:transform 0.3s,border-color 0.3s;
}
.gmo-blog-price-card:hover{transform:translateY(-5px);border-color:var(--gmo-svc-accent, #ec407a);}
.gmo-blog-price-highlight{
    background:linear-gradient(180deg, color-mix(in srgb, var(--gmo-svc-accent, #ec407a) 12%, transparent), rgba(255,255,255,0.04));
    border-color:var(--gmo-svc-accent, #ec407a);
    transform:translateY(-5px);
}
.gmo-blog-price-flag{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--gmo-svc-gradient, linear-gradient(90deg,#667eea,#ec407a));
    color:#fff;font-family:'Space Mono',monospace;font-size:0.58rem;
    letter-spacing:0.15em;text-transform:uppercase;font-weight:700;
    padding:0.35rem 0.8rem;border-radius:20px;
    box-shadow:0 4px 14px rgba(236,64,122,0.4);
}
.gmo-blog-price-h{
    font-family:'Sora',sans-serif;font-size:1rem;font-weight:700;color:#fff;
    margin-bottom:0.4rem;
}
.gmo-blog-price-sub{
    font-family:'Poppins',sans-serif;font-size:0.8rem;line-height:1.5;
    color:rgba(240,244,255,0.65);margin-bottom:1rem;font-weight:300;
}
.gmo-blog-price-note{
    font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:800;
    background:var(--gmo-svc-gradient, linear-gradient(135deg,#667eea,#ec407a));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:1.2rem;line-height:1.1;
}
.gmo-blog-price-cta{
    display:inline-block;
    font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--gmo-svc-accent, #ec407a) !important;
    border:1.5px solid var(--gmo-svc-accent, #ec407a);
    padding:0.6rem 1.2rem;border-radius:8px;font-weight:700;
    transition:background 0.25s,color 0.25s;
}
.gmo-blog-price-cta:hover{background:var(--gmo-svc-accent, #ec407a);color:#fff !important;}

/* FAQ */
.gmo-blog-faq{display:flex;flex-direction:column;gap:0.7rem;}
.gmo-blog-faq-item{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:12px;overflow:hidden;
    transition:border-color 0.25s;
}
.gmo-blog-faq-item[open]{border-color:var(--gmo-svc-accent, #ec407a);}
.gmo-blog-faq-q{
    list-style:none;cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
    padding:1.1rem 1.4rem;
    font-family:'Sora',sans-serif;font-size:0.95rem;font-weight:600;color:#fff;
    transition:background 0.2s;
}
.gmo-blog-faq-q::-webkit-details-marker{display:none;}
.gmo-blog-faq-q:hover{background:rgba(255,255,255,0.03);}
.gmo-blog-faq-q-text{flex:1;}
.gmo-blog-faq-toggle{
    font-family:'Sora',sans-serif;font-weight:300;font-size:1.4rem;
    color:var(--gmo-svc-accent, #ec407a);line-height:1;
    transition:transform 0.3s;
}
.gmo-blog-faq-item[open] .gmo-blog-faq-toggle{transform:rotate(45deg);}
.gmo-blog-faq-a{
    padding:0 1.4rem 1.2rem;
    font-family:'Poppins',sans-serif;font-size:0.92rem;line-height:1.75;
    color:rgba(240,244,255,0.78);font-weight:300;
}

/* CTA Banner */
.gmo-blog-cta-banner{
    position:relative;
    margin:4rem 0;padding:3rem 2.5rem;
    border-radius:20px;overflow:hidden;
    background:linear-gradient(135deg, color-mix(in srgb, var(--gmo-svc-accent, #ec407a) 35%, #0a0e27), color-mix(in srgb, var(--gmo-svc-accent-2, #5a189a) 40%, #0a0e27));
    border:1px solid rgba(255,255,255,0.15);
    text-align:center;
}
.gmo-blog-cta-bg-grid{
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:40px 40px;
    mask-image:radial-gradient(circle at center, #000 30%, transparent 80%);
    -webkit-mask-image:radial-gradient(circle at center, #000 30%, transparent 80%);
    opacity:0.5;pointer-events:none;
}
.gmo-blog-cta-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.gmo-blog-cta-icon{
    font-size:2.4rem;
    display:inline-flex;align-items:center;justify-content:center;
    width:64px;height:64px;border-radius:18px;
    background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.2);
    margin-bottom:1.2rem;backdrop-filter:blur(8px);
}
.gmo-blog-cta-h{
    font-family:'Sora',sans-serif;font-size:clamp(1.5rem, 2.5vw, 2rem);
    font-weight:700;color:#fff;margin:0 0 0.7rem;line-height:1.2;
}
.gmo-blog-cta-p{
    font-family:'Poppins',sans-serif;font-size:1rem;
    color:rgba(255,255,255,0.85);margin:0 0 1.6rem;font-weight:300;
}
.gmo-blog-cta-row{display:inline-flex;gap:0.9rem;flex-wrap:wrap;justify-content:center;}

/* Related */
.gmo-blog-related-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1rem;
}
.gmo-blog-related-card{
    display:block;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:14px;overflow:hidden;
    transition:transform 0.3s,border-color 0.3s;
    color:inherit;
}
.gmo-blog-related-card:hover{
    transform:translateY(-5px);
    border-color:var(--gmo-svc-accent, #ec407a);
}
.gmo-blog-related-img{
    aspect-ratio:16/10;
    background-size:cover;background-position:center;
    position:relative;
}
.gmo-blog-related-img::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.6) 100%);
}
.gmo-blog-related-body{padding:1.2rem 1.1rem;}
.gmo-blog-related-icon{
    font-size:1.3rem;
    width:36px;height:36px;border-radius:8px;
    background:var(--gmo-svc-gradient, linear-gradient(135deg,#667eea,#ec407a));
    display:inline-flex;align-items:center;justify-content:center;
    margin-bottom:0.7rem;
}
.gmo-blog-related-cat{
    font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.15em;
    text-transform:uppercase;color:rgba(240,244,255,0.55);font-weight:700;
    margin-bottom:0.4rem;
}
.gmo-blog-related-h{
    font-family:'Sora',sans-serif;font-size:0.95rem;font-weight:600;color:#fff;
    line-height:1.3;margin-bottom:0.8rem;
}
.gmo-blog-related-arrow{
    font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--gmo-svc-accent, #ec407a);font-weight:700;
}

/* =================================================================
   4. RESPONSIVE
================================================================= */
@media (max-width: 980px) {
    .gmo-blog-layout{grid-template-columns:1fr;gap:2.5rem;}
    .gmo-blog-toc{position:static;}
    .gmo-blog-toc-inner{padding:1.2rem;}
    .gmo-blog-toc-list{
        display:grid;grid-template-columns:repeat(2, 1fr);gap:0;
    }
    .gmo-blog-toc-cta{display:none;}
    .gmo-blog-hero{padding:140px 5% 3.5rem;min-height:auto;}
    .gmo-blog-gallery{grid-template-columns:repeat(2, 1fr);grid-auto-rows:130px;}
    .gmo-blog-gal-cell-0{grid-column:span 2;grid-row:span 2;}
    .gmo-blog-gal-cell-1, .gmo-blog-gal-cell-2, .gmo-blog-gal-cell-3{grid-column:span 1;grid-row:span 1;}
    .gmo-blog-spec-row{grid-template-columns:1fr;gap:0.35rem;padding:0.9rem 1.1rem;}
    .gmo-blog-cta-banner{padding:2.2rem 1.4rem;}
}
@media (max-width: 600px) {
    .gmo-blog-body{padding:3rem 4%;}
    .gmo-blog-section{margin-bottom:3rem;}
    .gmo-blog-h2{font-size:1.5rem;}
    .gmo-blog-toc-list{grid-template-columns:1fr;}
    .gmo-blog-hero-stats{grid-template-columns:repeat(2, 1fr);}
    .gmo-blog-gallery{grid-template-columns:1fr;grid-auto-rows:200px;}
    .gmo-blog-gal-cell-0{grid-column:span 1;grid-row:span 1;}
    .gmo-blog-fmt-card{padding:1rem;}
    .gmo-blog-intro{padding:1rem 0 1rem 1.2rem;}
    .gmo-blog-lede{font-size:1.05rem;}
}
