/* ============================================================
   GSE BLOG GALLERY — GHT CAMPS-INSPIRED EDITORIAL STYLE
   ============================================================ */
.gse-blog-gallery { width:100%; max-width:1350px; margin:0 auto; padding:45px 25px 75px; color:#17221d; font-family:Inter,Arial,sans-serif; box-sizing:border-box; }
.gse-blog-gallery * { box-sizing:border-box; }
.gse-blog-gallery a { text-decoration:none; color:inherit; }
.gse-blog-heading { display:flex; justify-content:space-between; margin-bottom:40px; }
.gse-blog-eyebrow { color:#38735d; font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.gse-blog-heading h1 { margin:8px 0 12px; font:400 clamp(40px,5vw,68px)/1.06 Cambo,Georgia,serif; letter-spacing:-.04em; }
.gse-blog-heading p:not(.gse-blog-eyebrow) { color:#66736c; font-size:15px; line-height:1.6; }
.gse-blog-authors { margin-bottom:40px; }
.gse-blog-authors h2 { font:400 30px/1.2 Cambo,Georgia,serif; margin:0 0 20px; }
.gse-blog-author-row { display:flex; gap:22px; overflow-x:auto; padding:5px 0 15px; scrollbar-width:thin; }
.gse-blog-author { flex:0 0 102px; background:transparent; border:0; padding:0; color:#56665c; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:9px; font-size:12px; text-align:center; }
.gse-blog-avatar { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; object-fit:cover; border:3px solid transparent; background:#e3efe8; color:#1d3d33; font-weight:700; }
.gse-blog-author.is-active .gse-blog-avatar { border-color:#1d3d33; }
.gse-blog-author.is-active { color:#1d3d33; font-weight:700; }
.gse-blog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:23px; }
.gse-blog-categories { display:flex; gap:9px; flex-wrap:wrap; }
.gse-blog-categories button { border:1px solid #d4e2da; border-radius:99px; background:#fff; color:#1d3d33; padding:10px 16px; font-size:12px; font-weight:600; cursor:pointer; }
.gse-blog-categories button:hover { background:#e8f1eb; }
.gse-blog-categories button.is-active { background:#1d3d33; color:#fff; border-color:#1d3d33; }
.gse-blog-search { display:flex; min-width:250px; border:1px solid #d4e2da; border-radius:7px; overflow:hidden; }
.gse-blog-search input { flex:1; min-width:0; border:0; padding:10px 12px; font:inherit; font-size:13px; background:#fff; }
.gse-blog-search button { border:0; background:#1d3d33; color:#fff; padding:0 14px; cursor:pointer; font-size:12px; }
.gse-blog-results { transition:opacity .2s; }
.gse-blog-results.is-loading { opacity:.45; pointer-events:none; }
.gse-blog-count { font-size:12px; color:#7b8880; margin-bottom:18px; }
.gse-blog-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 28px; }
.gse-blog-post { min-width:0; display:flex; flex-direction:column; }
.gse-blog-photo { aspect-ratio:1.85/1; display:block; overflow:hidden; background:#d9e9e2; border-radius:12px; margin-bottom:19px; }
.gse-blog-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s; }
.gse-blog-photo:hover img { transform:scale(1.04); }
.gse-blog-photo-fallback { height:100%; display:grid; place-items:center; color:#668f7e; font:400 42px Cambo,Georgia,serif; }
.gse-blog-post-meta { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:11px; margin-bottom:12px; }
.gse-blog-post-meta span:first-child { font-weight:700; letter-spacing:.19em; text-transform:uppercase; color:#447b6a; }
.gse-blog-post-meta span:last-child { color:#89928b; white-space:nowrap; }
.gse-blog-post h3 { font:400 clamp(23px,2.2vw,32px)/1.08 Cambo,Georgia,serif; letter-spacing:-.025em; margin:0 0 13px; }
.gse-blog-post p { color:#626d66; font-size:14px; line-height:1.6; margin:0 0 20px; }
.gse-blog-post-footer { display:flex; justify-content:space-between; align-items:end; gap:8px; margin-top:auto; flex-wrap:wrap; }
.gse-blog-byline { display:flex; align-items:center; gap:7px; font-size:11px; color:#6e7a73; }
.gse-blog-byline img { width:28px; height:28px; border-radius:50%; }
.gse-blog-read { display:inline-flex; align-items:center; gap:14px; background:#1d3d33; border-radius:6px; padding:11px 16px; color:#fff!important; font-size:12px; white-space:nowrap; }
.gse-blog-read:hover { background:#2f705b; }
.gse-blog-pagination { display:flex; justify-content:center; align-items:center; gap:9px; flex-wrap:wrap; margin:45px 0 0; }
.gse-blog-page { min-width:40px; min-height:40px; border:1px solid #d3e2db; border-radius:7px; background:#fff; color:#1d3d33; font-size:13px; font-weight:600; padding:9px 13px; cursor:pointer; }
.gse-blog-page:hover { background:#e7f2ec; }
.gse-blog-page.is-active { background:#1d3d33; color:#fff; border-color:#1d3d33; }
.gse-blog-gallery button:focus-visible,.gse-blog-gallery a:focus-visible,.gse-blog-gallery input:focus-visible { outline:3px solid #80b9a4; outline-offset:2px; }
.gse-blog-empty,.gse-blog-error { grid-column:1/-1; color:#6b766f; padding:25px 0; }
@media(max-width:900px) { .gse-blog-posts { grid-template-columns:repeat(2,minmax(0,1fr)); } .gse-blog-toolbar { align-items:stretch; flex-direction:column; } .gse-blog-search { max-width:450px; } }
@media(max-width:650px) { .gse-blog-gallery { padding:28px 15px 55px; } .gse-blog-posts { grid-template-columns:1fr; gap:35px; } .gse-blog-post h3 { font-size:28px; } .gse-blog-author { flex-basis:84px; } .gse-blog-avatar { width:65px; height:65px; } .gse-blog-page { min-width:35px; min-height:35px; padding:7px 10px; } }
@media(prefers-reduced-motion:reduce) { .gse-blog-results,.gse-blog-photo img { transition:none; } }

.gse-blog-page[hidden] { display:none!important; }

/* ============================================================
   CLEAN CENTRED HEADING — NO BACKGROUND CARD
   ============================================================ */
.gse-blog-gallery .gse-blog-heading {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    width:100%; max-width:none; margin:0 0 65px; padding:12px 0 0;
    background:transparent !important; background-color:transparent !important;
    border:0 !important; border-radius:0 !important; box-shadow:none !important;
    text-align:center;
}
.gse-blog-gallery .gse-blog-heading h1 {
    margin:0; padding:0; color:#292b40;
    font-family:Inter,Arial,sans-serif; font-size:clamp(36px,5vw,66px);
    font-weight:750; line-height:1.15; letter-spacing:-.035em;
}
.gse-blog-gallery .gse-blog-heading h1::after {
    content:""; display:block; width:110px; height:4px;
    background:#3978ff; border-radius:10px; margin:24px auto 25px;
}
.gse-blog-gallery .gse-blog-heading p {
    max-width:850px; margin:0 auto; padding:0 10px;
    color:#50566a; font-size:clamp(15px,1.6vw,19px); line-height:1.65;
}
@media(max-width:650px) {
    .gse-blog-gallery .gse-blog-heading { margin-bottom:42px; }
    .gse-blog-gallery .gse-blog-heading h1::after { margin:18px auto 20px; }
}


/* ============================================================
   BLOG HEADING — NOT STICKY
   ============================================================ */
.gse-blog-heading {
    position: static !important;
    top: auto !important;
    transform: none !important;
    z-index: auto !important;
}


.gse-blog-gallery .gse-blog-heading h1 {
    font-size: clamp(24px, 3vw, 56px) !important;
}