.blog-page{--stroke:var(--line);--card-radius:8px;--card-border:#e5ebf2;--card-shadow:0 4px 6px rgba(16,44,78,.04);--card-gap:10px;color:var(--ink);font-size:14px}
.blog-header{position:absolute;background:transparent;color:var(--ink)}
.blog-header .main-nav .active{position:relative;color:var(--blue)}
.blog-header .main-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:2px;background:var(--blue)}

.blog-hero{height:clamp(420px,38vw,560px);min-height:420px;padding-top:70px;position:relative;overflow:hidden;background:#f7f9fb;border-bottom:1px solid var(--stroke)}
.blog-hero-art{position:absolute;inset:0;background:url('assets/images/engineering/hero-lab.webp') 70% center/cover no-repeat;z-index:0}
.blog-hero-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(248,250,252,.99) 0%,rgba(248,250,252,.95) 34%,rgba(248,250,252,.4) 55%,transparent 72%),linear-gradient(180deg,rgba(248,250,252,.2),transparent 28%);pointer-events:none}
.blog-hero-layout{height:100%;position:relative;z-index:2;display:flex;align-items:center;padding-inline:var(--section-inset)}
.blog-hero-copy{padding-top:48px;max-width:min(560px,52%)}
.blog-hero-copy>small{font-size:11px;color:var(--blue);font-weight:600}
.blog-hero-copy h1{font-size:clamp(40px,4.2vw,62px);line-height:1.12;letter-spacing:-.052em;margin:13px 0 0;font-weight:600}
.blog-hero-copy h1 strong{font-weight:600;color:var(--blue)}
.blog-hero-copy>i{display:block;width:29px;height:2px;background:var(--blue);margin:15px 0 14px}
.blog-hero-copy p{font-size:14px;line-height:1.55;color:#32475c;margin:0;max-width:460px}
.blog-hero-copy>a{min-height:36px;padding:0 15px;margin-top:19px;display:inline-flex;align-items:center;gap:12px;border-radius:4px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-size:11px;font-weight:600;box-shadow:0 6px 12px rgba(0,94,234,.16)}

.blog-section{border-bottom:1px solid var(--stroke);background:#fff}
.blog-split{display:grid;grid-template-columns:var(--info-rail) minmax(0,1fr);padding-inline:var(--section-inset)}
.blog-intro{border-right:1px solid var(--stroke);padding:18px 18px 16px 0}
.blog-intro>small{font-size:11px;color:var(--blue);font-weight:600;display:block}
.blog-intro h2{font-size:27px;line-height:1.14;letter-spacing:-.04em;margin:14px 0 0}
.blog-intro>i{display:block;width:29px;height:2px;background:var(--blue);margin:15px 0 14px}
.blog-intro p{font-size:13px;line-height:1.62;color:#273a50;margin:0 0 14px}
.blog-filters{display:flex;flex-wrap:wrap;gap:6px}
.blog-filters a{padding:5px 10px;border:1px solid #d9e3ed;border-radius:4px;background:#fbfcfe;font-size:10px;font-weight:600;color:#263a50;text-decoration:none}
.blog-filters a.is-active,.blog-filters a:hover{border-color:rgba(8,101,217,.35);background:rgba(8,101,217,.08);color:#075de8}

.blog-list{display:grid;gap:12px;padding:16px 0 28px 12px}
.blog-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.75fr);gap:0;border:1px solid var(--card-border);border-radius:var(--card-radius);background:#fff;overflow:hidden;box-shadow:var(--card-shadow);text-decoration:none;color:inherit;min-height:180px;transition:border-color .18s ease,box-shadow .18s ease}
.blog-card:hover{border-color:#c5d5e8;box-shadow:0 8px 18px rgba(16,44,78,.08)}
.blog-card-body{padding:22px 22px 20px;display:flex;flex-direction:column;align-items:flex-start}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.blog-card-meta time{font-size:11px;color:#53677e}
.blog-tag{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em;background:rgba(8,101,217,.08);color:#075de8}
.blog-tag.paper{background:rgba(8,101,217,.08);color:#075de8}
.blog-tag.talk{background:rgba(16,122,92,.1);color:#0f7a5c}
.blog-tag.opinion{background:rgba(122,72,16,.08);color:#8a5314}
.blog-card-body h3{font-size:18px;line-height:1.3;letter-spacing:-.03em;margin:0 0 8px;font-weight:600;color:#081b31}
.blog-card-body p{font-size:13px;line-height:1.6;color:#526274;margin:0 0 14px;max-width:52ch}
.blog-card-body>span{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:11px;font-weight:600}
.blog-card-aside{background:linear-gradient(145deg,#f4f8fc,#e8f0f8);border-left:1px solid #eef2f6;display:grid;place-items:center;padding:20px;min-height:180px}
.blog-card-aside img{width:48px;height:48px;object-fit:contain;filter:brightness(0) saturate(100%) invert(32%) sepia(89%) saturate(1200%) hue-rotate(186deg) brightness(92%) contrast(92%)}
.blog-card-aside strong{display:block;margin-top:12px;font-size:11px;font-weight:600;color:#273a50;text-align:center;line-height:1.4}

.blog-note{padding:28px var(--section-inset) 40px;background:#f7f9fc;border-bottom:1px solid var(--stroke)}
.blog-note-inner{max-width:720px}
.blog-note-inner h2{font-size:22px;margin:0 0 10px;letter-spacing:-.03em;color:#081b31}
.blog-note-inner p{font-size:13px;line-height:1.65;color:#526274;margin:0 0 14px}
.blog-note-inner a{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:600}

@media(max-width:980px){
  .blog-split{display:block;padding-inline:0}
  .blog-intro{border:0;padding:40px var(--section-inset) 10px}
  .blog-list{padding:10px var(--section-inset) 40px}
  .blog-card{grid-template-columns:1fr}
  .blog-card-aside{min-height:120px;border-left:0;border-top:1px solid #eef2f6}
  .blog-hero-copy{max-width:100%}
  .blog-note{padding-inline:var(--section-inset)}
}

@media(max-width:820px){
  .blog-header .main-nav{background:#f7fafc;font-size:23px}
  .blog-header .main-nav .active:after{display:none}
  .blog-hero{height:auto;min-height:0;padding-bottom:12px;display:flex;flex-direction:column}
  .blog-hero-art{position:relative;inset:auto;order:2;width:100%;height:clamp(240px,62vw,360px);background-position:center center;background-size:cover}
  .blog-hero-fade{display:none}
  .blog-hero-layout{order:1;position:relative;z-index:2;height:auto;display:block;align-items:flex-start;padding-inline:0;padding-bottom:8px}
  .blog-hero-copy{padding:100px var(--section-inset) 12px;max-width:none;position:relative;z-index:2}
  .blog-hero-copy h1{font-size:clamp(36px,10vw,48px)}
  .blog-hero-copy p{font-size:13px;max-width:100%}
}

@media(max-width:540px){
  .blog-hero-copy{padding:88px var(--section-inset) 12px}
  .blog-hero-copy h1{font-size:36px}
  .blog-hero-art{height:clamp(220px,70vw,320px)}
  .blog-card-body h3{font-size:16px}
}
