/* ===== Blog listing page ===== */
#blog-hero{background:linear-gradient(160deg,#0A0F2E 0%,#141933 45%,#1a1060 100%);padding:4.5rem 5% 4rem;position:relative;overflow:hidden}
.bh-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.2) 0%,transparent 70%);top:-200px;right:-120px;pointer-events:none}
.bh-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;position:relative}
.bh-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(79,70,229,.18);border:1px solid rgba(79,70,229,.4);color:#a5b4fc;padding:.4rem 1rem;border-radius:20px;font-size:.78rem;font-weight:600;margin-bottom:1.5rem}
.bh-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.2rem,3.8vw,3.2rem);font-weight:800;color:#fff;line-height:1.12;margin-bottom:1.25rem}
.bh-sub{color:#94A3B8;font-size:1rem;line-height:1.75;max-width:480px;margin-bottom:2rem}
.bh-stats{display:flex;gap:2rem;flex-wrap:wrap}
.bh-stats div{color:#94A3B8;font-size:.82rem}
.bh-stats strong{color:var(--teal);font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;margin-right:.15rem}
/* featured card */
.bh-feature{display:block;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.11);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .25s,box-shadow .25s}
.bh-feature:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.bhf-thumb{height:210px;background:linear-gradient(135deg,#4F46E5,#1a1060);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.bhf-orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fb7185,#e11d48);box-shadow:0 20px 50px rgba(225,29,72,.45)}
.bhf-body{padding:1.5rem}
.bhf-cat{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.bhf-body h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.2rem;font-weight:800;color:#fff;line-height:1.35;margin-bottom:.9rem}
.bhf-meta{color:#94A3B8;font-size:.8rem}

/* filter bar */
#blog-filter{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:68px;z-index:40;padding:0}
.bf-inner{max-width:1200px;margin:0 auto;padding:.85rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bf-tabs{display:flex;gap:.35rem;flex-wrap:wrap;flex:1;min-width:0}
.bf-tab{border:0;background:none;padding:.5rem .85rem;border-radius:8px;font-size:.86rem;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .15s;border-bottom:2px solid transparent}
.bf-tab:hover{color:var(--indigo)}
.bf-tab.active{color:var(--indigo);border-bottom-color:var(--indigo)}
.bf-search{display:flex;align-items:center;gap:.5rem;background:var(--off-white);border:1.5px solid var(--border);border-radius:9px;padding:.45rem .8rem;min-width:220px;flex-shrink:0;margin-left:auto}
.bf-search input{border:0;background:none;outline:none;font-size:.88rem;font-family:inherit;width:100%;color:var(--text-dark)}

/* list */
#blog-list{background:var(--off-white);padding:2.5rem 5% 4rem}
.bl-inner{max-width:1200px;margin:0 auto}
.bl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
#blCount{color:var(--slate-dark);font-size:.9rem;font-weight:600}
#blogSort{padding:.5rem .8rem;border:1.5px solid var(--border);border-radius:9px;font-size:.85rem;font-family:inherit;background:#fff;color:var(--text-dark)}
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden;text-decoration:none;transition:all .22s;display:flex;flex-direction:column}
.post:hover{box-shadow:0 10px 32px rgba(79,70,229,.12);transform:translateY(-4px);border-color:rgba(79,70,229,.25)}
.post-thumb{height:140px;display:flex;align-items:center;justify-content:center;font-size:2.6rem}
.t-data{background:linear-gradient(135deg,#EEF2FF,#C7D2FE)}
.t-lead{background:linear-gradient(135deg,#F0FDFA,#99F6E4)}
.t-teach{background:linear-gradient(135deg,#FFFBEB,#FDE68A)}
.t-parent{background:linear-gradient(135deg,#FFF1F2,#FECDD3)}
.t-edtech{background:linear-gradient(135deg,#EEF2FF,#DDD6FE)}
.t-policy{background:linear-gradient(135deg,#ECFEFF,#A5F3FC)}
.post-body{padding:1.2rem;display:flex;flex-direction:column;flex:1}
.post-cat{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--indigo);margin-bottom:.5rem}
.post-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:.5rem}
.post-body p{font-size:.85rem;color:var(--slate-dark);line-height:1.6;flex:1}
.post-meta{font-size:.74rem;color:var(--slate);margin-top:.9rem}
.bl-empty{text-align:center;padding:3rem;color:var(--slate-dark)}

/* newsletter */
#blog-news{background:linear-gradient(160deg,#141933,#1a1060);padding:4rem 5%;text-align:center}
.bn-inner{max-width:640px;margin:0 auto}
.bn-label{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.bn-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:800;color:#fff;margin-bottom:.9rem}
.bn-sub{color:#94A3B8;font-size:.95rem;line-height:1.7;margin-bottom:2rem}
.bn-form{max-width:520px;margin:0 auto}
.bn-row{display:flex;gap:.6rem}
.bn-row input{flex:1;padding:.85rem 1rem;border:1.5px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:.95rem;font-family:inherit}
.bn-row input::placeholder{color:#64748B}
.bn-row input:focus{outline:none;border-color:var(--indigo)}
.bn-row .btn{white-space:nowrap;padding:.85rem 1.5rem}
.bn-note{color:rgba(255,255,255,.55);font-size:.8rem;margin-top:1rem}
.bn-form .form-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:1.25rem;color:#fff}
.bn-form .form-success h4{color:#fff}
.bn-form .form-success p{color:#94A3B8}

@media(max-width:900px){
  .bh-inner{grid-template-columns:1fr;gap:2rem}
  .bl-grid{grid-template-columns:1fr 1fr}
  #blog-filter{position:static}
}
@media(max-width:600px){
  .bl-grid{grid-template-columns:1fr}
  .bn-row{flex-direction:column}
  .bf-search{width:100%}
}
