/* ===== Blog page ===== */

.page-blog .site-header .logo-link{
  visibility:visible;
  pointer-events:auto;
}
.page-blog .site-nav{
  justify-content:space-between;
}

/* Featured — split editorial card */
.page-blog .blog-featured{
  max-width:1480px;
  margin:0 auto;
  padding:clamp(5.5rem,10vw,7rem) clamp(1rem,3vw,2rem) 0;
}
.page-blog .feat-card--split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:stretch;
  min-height:0;
  background:#faf9f7;
  border:1px solid var(--border);
  color:var(--text);
  transition:border-color .25s ease,box-shadow .25s ease;
}
.page-blog .feat-card--split:hover{
  border-color:rgba(17,17,17,.18);
  box-shadow:0 18px 48px rgba(17,17,17,.07);
}
.page-blog .feat-card--split::after{display:none}
.page-blog .feat-card--split .feat-inner{
  padding:clamp(2rem,4vw,3.25rem);
  max-width:none;
  justify-content:center;
  color:inherit;
}
.page-blog .feat-card--split .feat-meta{
  color:var(--muted);
}
.page-blog .feat-card--split .feat-pill{
  background:var(--text);
  color:var(--bg);
}
.page-blog .feat-card--split .feat-excerpt{
  color:var(--muted);
  max-width:46ch;
}
.page-blog .feat-card--split .feat-read{
  color:var(--text);
  margin-top:.5rem;
}
.page-blog .feat-media{
  position:relative;
  min-height:clamp(14rem,24vw,22rem);
  overflow:hidden;
  background:#fff;
  border-left:1px solid var(--border);
}
.page-blog .feat-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top left;
  display:block;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.page-blog .feat-card--split:hover .feat-media img{transform:scale(1.03)}
@media(max-width:820px){
  .page-blog .feat-card--split{
    grid-template-columns:1fr;
  }
  .page-blog .feat-media{
    order:-1;
    min-height:clamp(12rem,42vw,16rem);
    border-left:none;
    border-bottom:1px solid var(--border);
  }
}
.blog-featured{
  max-width:1480px;
  margin:clamp(1rem,2vw,1.5rem) auto 0;
  padding:0 clamp(1.25rem,5vw,4.5rem);
}
.feat-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:var(--invert-bg);
  color:var(--invert-text);
  min-height:clamp(16rem,28vw,20rem);
  display:flex;
  align-items:flex-end;
  transition:background-color .3s ease,color .3s ease;
}
.feat-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.feat-bg canvas{width:100%;height:100%;display:block}
.feat-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(6,8,24,.85),rgba(6,8,24,.3) 45%,transparent 75%);
  pointer-events:none;
}
.feat-inner{
  position:relative;
  z-index:2;
  padding:clamp(1.75rem,4vw,3.5rem);
  max-width:48rem;
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  color:#fff;
}
.page-blog .feat-card{
  width:100%;
}
.feat-meta{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
  color:rgba(255,255,255,.75);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.feat-pill{
  background:var(--accent);
  color:#fff;
  padding:.25rem .7rem;
  border-radius:999px;
  letter-spacing:.08em;
}
.feat-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.9rem,4.2vw,3.4rem);
  line-height:1.02;
  letter-spacing:-.01em;
}
.feat-excerpt{
  max-width:52ch;
  font-size:clamp(1rem,1.3vw,1.15rem);
  line-height:1.6;
  color:rgba(255,255,255,.82);
}
.feat-read{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-weight:600;
  font-size:.95rem;
  color:#fff;
  margin-top:.3rem;
}
.feat-read svg{width:16px;height:16px;transition:transform .2s ease}
.feat-card:hover .feat-read svg{transform:translateX(3px)}

/* Filter bar */
.blog-filter{
  max-width:1480px;
  margin:clamp(2.5rem,5vw,4rem) auto clamp(1.5rem,3vw,2.25rem);
  padding:0 clamp(1.25rem,5vw,4.5rem);
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}
.filter-btn{
  padding:.6rem 1.15rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.85rem;
  font-weight:500;
  cursor:pointer;
  transition:color .2s ease,border-color .2s ease,background-color .2s ease;
}
.filter-btn:hover{color:var(--text);border-color:var(--text)}
.filter-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}

/* Grid */
.blog-grid{
  max-width:1480px;
  margin:0 auto clamp(4.5rem,8vw,7rem);
  padding:0 clamp(1.25rem,5vw,4.5rem);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.75rem,3vw,2.75rem);
}
.post-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  color:var(--text);
}
.post-card.hidden{display:none}
.post-media{
  position:relative;
  aspect-ratio:16/11;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(150deg,var(--accent) 0%,#2a2f7a 58%,#0c1030 100%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.post-media.m-ecom{background:linear-gradient(150deg,#6a3fb5 0%,#2a1d5a 58%,#0c1030 100%)}
.post-media.m-case{background:linear-gradient(150deg,#1f9d8f 0%,#0c3b48 58%,#05161c 100%)}
.post-media.m-basics{background:linear-gradient(150deg,#3f6ad8 0%,#23306e 58%,#0a1030 100%)}
.post-media.m-geo{background:linear-gradient(150deg,#5b78ff 0%,#1a2b7a 58%,#070a24 100%)}
.post-card:hover .post-media{transform:translateY(-5px)}
.post-media::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(circle at 65% 35%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 65% 35%,#000,transparent 78%);
}
.post-media.has-img{background:#0a0c24}
.post-media.has-img::after{display:none}
.post-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.post-card:hover .post-media img{transform:scale(1.05)}
.post-media.m-case--logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1.25rem,8%,2.75rem);
  box-sizing:border-box;
  background:#fff;
}
.post-media.m-case--logo-dark{background:#000}
.post-media.m-case--logo-wide{padding:clamp(1.75rem,10%,3.5rem)}
.post-media.m-case--logo img{
  position:static;
  inset:auto;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  padding:0;
  flex-shrink:1;
}
.post-card:hover .post-media.m-case--logo img{transform:none}
.post-meta{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
  color:var(--muted);
}
.post-title{
  font-size:clamp(1.15rem,1.5vw,1.35rem);
  font-weight:600;
  line-height:1.28;
  letter-spacing:-.01em;
  transition:color .2s ease;
}
.post-card:hover .post-title{color:var(--accent)}
.post-excerpt{
  font-size:.95rem;
  line-height:1.55;
  color:var(--muted);
  max-width:44ch;
}
.post-read{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.85rem;
  font-weight:600;
  color:var(--accent);
}
.post-read svg{width:15px;height:15px;transition:transform .2s ease}
.post-card:hover .post-read svg{transform:translateX(3px)}

@media(max-width:900px){
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
}
