/* =====================================================================
   KMS BLOG (front page)  css/kms-blog.css
   Everything is scoped under .kms-blog. Sizes are px on purpose: the theme
   sets html{font-size:1.25vw} under 800px, so rem would shrink on phones.
   ===================================================================== */
@font-face {
  /* Metric-matched stand-in while Barlow Condensed loads (no layout jump). */
  font-family: "KMS Condensed Fallback";
  src: local("Arial Narrow"), local("ArialNarrow"), local("Roboto Condensed"), local("Arial");
  size-adjust: 92%;
  ascent-override: 100%;
  descent-override: 24%;
}

.kms-blog {
  /* Brand */
  --kb-red: #C8161D;
  --kb-red-deep: #A50F16;
  --kb-ink: #1D1F22;
  --kb-ink-2: #4B4F55;
  --kb-muted: #5E636A;
  --kb-panel: #F2F3F5;
  --kb-line: #D9DCE1;
  --kb-ease: cubic-bezier(.22, .8, .24, 1);
  --kb-display: "Barlow Condensed", "KMS Condensed Fallback", "Arial Narrow", sans-serif;
  --kb-ja: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  /* Default category color: any category added later shows in slate */
  --cat: #3A4556;
  --cat-ink: #fff;
  --cat-tint: #E8EBF0;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  margin: 0 0 72px;
  padding: 84px 0 136px;
  background: #fff;
  color: var(--kb-ink);
  font-family: var(--kb-ja);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.kms-blog *, .kms-blog *::before, .kms-blog *::after { box-sizing: border-box; }
/* The theme sets  * { color: #707070 }  and blue/purple visited links. */
.kms-blog :where(*) { color: inherit; }
.kms-blog :where(h2, h3, p, ul, li, figure, time) { margin: 0; padding: 0; }
.kms-blog :where(ul) { list-style: none; }
.kms-blog a, .kms-blog a:visited, .kms-blog a:hover, .kms-blog a:focus, .kms-blog a:active {
  color: inherit;
  text-decoration: none;
}
.kms-blog img { display: block; max-width: 100%; }

/* Category colors (term_id). Unknown term_id keeps the slate default above. */
.kms-blog-cat-5 { --cat: #0A6BC4; --cat-ink: #fff;    --cat-tint: #E3EEFA; } /* 社員の声 */
.kms-blog-cat-7 { --cat: #FFC21A; --cat-ink: #2A2100; --cat-tint: #FFF3D0; } /* イベント */
.kms-blog-cat-8 { --cat: #6D45D9; --cat-ink: #fff;    --cat-tint: #EDE8FC; } /* ちょこっとニュース */
.kms-blog-cat-6 { --cat: #0E7C55; --cat-ink: #fff;    --cat-tint: #DFF2EA; } /* 採用 */
.kms-blog-cat-4 { --cat: #C8161D; --cat-ink: #fff;    --cat-tint: #FCE8E9; } /* お知らせ */

/* Slanted gray band behind the posts (same rise-to-the-right as the page) */
.kms-blog__bg {
  position: absolute;
  z-index: -1;
  inset: 300px 0 0 0;
  background: var(--kb-panel);
  clip-path: polygon(0 max(36px, 6vw), 100% 0, 100% calc(100% - max(36px, 6vw)), 0 100%);
}

/* Same 800px column as the rest of the page */
.kms-blog__inner {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ---------- Header ---------- */
.kms-blog__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 290px);
  align-items: end;
  gap: 24px 40px;
  margin-bottom: 56px;
}
.kms-blog__eyebrow {
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
  margin-bottom: 20px;
  color: var(--kb-red);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
}
.kms-blog__eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(500px, 82vw);
  height: 2px;
  background: var(--kb-red);
  transform-origin: 0 50%;
  transform: rotate(-3deg);
  transition: transform 1s var(--kb-ease);
}
.kms-blog__title {
  font-family: var(--kb-display);
  font-weight: 700;
  font-size: clamp(60px, 7.6vw, 100px);
  line-height: .86;
  letter-spacing: .005em;
  color: var(--kb-ink);
}
.kms-blog__title span { color: var(--kb-red); }
.kms-blog__lead {
  padding-left: 20px;
  border-left: 3px solid var(--kb-red);
  color: var(--kb-ink-2);
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: .03em;
  font-feature-settings: "palt";
  word-break: auto-phrase;
}

/* ---------- Card unit (same parts for every post) ---------- */
.kms-blog-card { position: relative; display: flex; flex-direction: column; }
.kms-blog-card__media {
  position: relative;
  isolation: isolate;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 8px;
  background: var(--cat-tint);
}
/* Category color edge along the bottom of every picture */
.kms-blog-card__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--cat);
}
.kms-blog-card__img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  object-position: 50% 30%; /* people are usually in the upper third */
  transition: transform .8s var(--kb-ease), opacity .45s ease;
}
/* Portrait photos, wide graphics and designed PNGs: show the whole image over a blurred copy */
.kms-blog-card__media.is-fit .kms-blog-card__img { object-fit: contain; object-position: 50% 50%; }
/* .kms-blog prefix: must beat  .kms-blog img { max-width: 100% }  or the copy stops 14% short on the right */
.kms-blog .kms-blog-card__bg {
  position: absolute;
  z-index: 0;
  inset: -14%;
  width: 128%;
  height: 128% !important;
  max-width: none;
  object-fit: cover;
  filter: blur(18px) saturate(1.1) brightness(.94);
}
/* No image at all: category-colored KMS BLOG card */
.kms-blog-card__ph { display: none; }
.kms-blog-card__media--none {
  background:
    linear-gradient(-14deg, transparent 0 35%, var(--cat) 35% 65%, transparent 65%),
    var(--cat-tint);
}
.kms-blog-card__media--none .kms-blog-card__img,
.kms-blog-card__media--none .kms-blog-card__bg { display: none; }
.kms-blog-card__media--none .kms-blog-card__ph {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--cat-ink);
  font-family: var(--kb-display);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: .1em;
  line-height: 1;
  white-space: nowrap;
  transform: rotate(-14deg);
}

.kms-blog-card__body { display: flex; flex-direction: column; padding-top: 16px; }
.kms-blog-card__meta {
  order: -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-bottom: 9px;
  line-height: 1;
}
/* Category label shaped like a baggage tag (chamfered end + punched hole) */
.kms-blog-card__tag,
.kms-blog__cat {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  color: var(--cat-ink);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
}
.kms-blog-card__tag::before,
.kms-blog__cat::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 0 4px 4px 0;
  background: radial-gradient(circle at var(--hole-x, 9px) 50%, transparent var(--hole-r, 2.6px), var(--cat) calc(var(--hole-r, 2.6px) + .6px));
  clip-path: polygon(var(--cut, 7px) 0, 100% 0, 100% 100%, var(--cut, 7px) 100%, 0 calc(100% - var(--cut, 7px)), 0 var(--cut, 7px));
}
.kms-blog-card__tag {
  --tag-h: 23px;
  display: inline-block;
  max-width: 100%;
  height: var(--tag-h);
  padding: 0 10px 0 17px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 11.5px;
  line-height: var(--tag-h);
}
.kms-blog-card__date {
  font-family: var(--kb-display);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .06em;
  color: var(--kb-muted);
  font-variant-numeric: tabular-nums;
}
.kms-blog-card__new {
  font-family: var(--kb-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .12em;
  color: var(--kb-red);
}
.kms-blog-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.62;
  letter-spacing: .02em;
  font-feature-settings: "palt";
  overflow-wrap: anywhere;
  word-break: auto-phrase;
}
/* One link per card; its ::after covers the whole card */
.kms-blog-card__link {
  background-image: linear-gradient(var(--cat), var(--cat));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size .45s var(--kb-ease);
}
.kms-blog-card__link::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border-radius: 10px;
}
.kms-blog-card__link:focus,
.kms-blog-card__link:focus-visible { outline: none; box-shadow: none; } /* the ring is drawn on ::after */
.kms-blog-card__link:focus-visible::after {
  outline: 3px solid var(--kb-ink);
  outline-offset: 6px;
}
.kms-blog-card__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: 12px;
  color: var(--kb-ink-2);
  font-size: 15px;
  line-height: 1.85;
}
.kms-blog-card__more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: var(--kb-red);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
}
.kms-blog__arrow {
  width: 22px;
  height: 10px;
  flex: none;
  transition: transform .35s var(--kb-ease);
}

/* ---------- Feature: the latest post ---------- */
.kms-blog__main {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.kms-blog-card__frame { position: relative; isolation: isolate; margin-bottom: 26px; }
.kms-blog-card__slab {
  position: absolute;
  z-index: -1;
  left: -22px;
  bottom: -22px;
  width: 64%;
  height: 58%;
  background: var(--kb-red);
  clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
  transform-origin: 0 100%;
  transition: transform 1.1s var(--kb-ease) .2s;
}
.kms-blog-card--feature .kms-blog-card__media { border-radius: 4px; }
.kms-blog-card--feature .kms-blog-card__media::after { display: none; }
.kms-blog-card--feature .kms-blog-card__body { padding-top: 22px; }
.kms-blog-card--feature .kms-blog-card__meta { margin-bottom: 12px; }
.kms-blog-card--feature .kms-blog-card__tag { --tag-h: 25px; font-size: 12.5px; padding-right: 12px; }
.kms-blog-card--feature .kms-blog-card__date,
.kms-blog-card--feature .kms-blog-card__new { font-size: 17px; }
.kms-blog-card--feature .kms-blog-card__title { font-size: 22px; line-height: 1.6; letter-spacing: .03em; }
.kms-blog-card--feature .kms-blog-card__link { background-size: 0% 3px; }
.kms-blog-card--feature .kms-blog-card__ph { font-size: 44px; }

/* ---------- 2x2 grid: the next four ---------- */
.kms-blog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 20px;
  align-content: start;
}

/* Tiles: the tag hangs from the bottom edge of the picture, like a baggage tag on a suitcase.
   Tag and date sit on separate lines, so titles line up across a row whatever the tag length. */
.kms-blog:not([data-count="4"]) .kms-blog__grid .kms-blog-card__body { padding-top: 0; }
.kms-blog:not([data-count="4"]) .kms-blog__grid .kms-blog-card__meta {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0 10px;
  margin-bottom: 8px;
}
.kms-blog:not([data-count="4"]) .kms-blog__grid .kms-blog-card__tag {
  grid-column: 1 / -1;
  justify-self: start;
  max-width: calc(100% - 12px);
  margin: calc(var(--tag-h) / -2) 0 9px 12px;
  filter: drop-shadow(0 1px 1.5px rgba(29, 31, 34, .22));
}
/* No category (未分類 only): no hanging tag, so push the date down by the same amount */
.kms-blog:not([data-count="4"]) .kms-blog__grid .kms-blog-card--notag .kms-blog-card__meta { padding-top: 20.5px; }

/* ---------- Earlier posts strip ---------- */
.kms-blog__more {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 24px;
  margin-top: 56px;
  padding-top: 30px;
  border-top: 1px solid var(--kb-line);
}
.kms-blog-card--row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.kms-blog-card--row .kms-blog-card__media { border-radius: 6px; }
.kms-blog-card--row .kms-blog-card__media::after { height: 3px; }
.kms-blog-card--row .kms-blog-card__body { padding-top: 0; }
.kms-blog-card--row .kms-blog-card__meta { gap: 4px 8px; margin-bottom: 7px; }
.kms-blog-card--row .kms-blog-card__tag { --tag-h: 20px; font-size: 10.5px; padding: 0 8px 0 15px; --hole-x: 8px; --hole-r: 2.2px; --cut: 6px; }
.kms-blog-card--row .kms-blog-card__date { font-size: 13.5px; }
.kms-blog-card--row .kms-blog-card__title { -webkit-line-clamp: 2; font-size: 13px; line-height: 1.6; }
.kms-blog-card--row .kms-blog-card__ph { font-size: 14px; letter-spacing: .06em; }

/* ---------- Footer: categories + all posts ---------- */
.kms-blog__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 20px;
  margin-top: 52px;
}
.kms-blog__cats { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.kms-blog__cats-label {
  color: var(--kb-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}
.kms-blog__cats ul { display: flex; flex-wrap: wrap; gap: 8px 6px; }
/* Footer links: plain white tags, the eyelet carries the category color */
.kms-blog a.kms-blog__cat,
.kms-blog a.kms-blog__cat:visited { color: var(--kb-ink); }
.kms-blog__cat {
  --cut: 9px;
  min-height: 38px;
  padding: 0 13px 0 25px;
  font-size: 13px;
  transition: transform .3s var(--kb-ease);
}
.kms-blog__cat::before {
  background: radial-gradient(circle at 13px 50%, var(--cat) 4px, var(--tag-bg, #fff) 4.6px);
  box-shadow: none;
  transition: background-color .25s ease;
}

/* Mouse clicks: no ring. Keyboard (:focus-visible): a dark ring; the theme's white Canvas halo is removed. */
.kms-blog__cat:focus:not(:focus-visible),
.kms-blog__all:focus:not(:focus-visible) { outline: none; }
.kms-blog__cat:focus-visible,
.kms-blog__all:focus-visible {
  outline: 3px solid var(--kb-ink);
  outline-offset: 4px;
  box-shadow: none;
}

.kms-blog__all {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  margin-left: auto;
  padding: 0 26px 0 30px;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
}
.kms-blog__all::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--kb-red);
  transform: skewX(-14deg);
  transition: background-color .25s ease;
}
.kms-blog__total {
  margin-left: -2px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .22); /* white on this: 7:1+ */
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
}

/* ---------- Hover: only on devices that really hover ---------- */
@media (hover: hover) and (pointer: fine) {
  .kms-blog-card:hover .kms-blog-card__img { transform: scale(1.045); }
  .kms-blog-card:hover .kms-blog-card__link { background-size: 100% 2px; }
  .kms-blog-card--feature:hover .kms-blog-card__link { background-size: 100% 3px; }
  .kms-blog-card:hover .kms-blog__arrow,
  .kms-blog__all:hover .kms-blog__arrow { transform: translateX(5px); }
  .kms-blog__cat:hover { --tag-bg: var(--cat-tint); transform: translateY(-2px) rotate(-3deg); }
  .kms-blog__all:hover::before { background: var(--kb-red-deep); }
}

/* ---------- Post-count variants (data-count printed by PHP) ---------- */
/* 1 post: image and text side by side */
@media (min-width: 768px) {
  .kms-blog[data-count="1"] .kms-blog__main { grid-template-columns: minmax(0, 1fr); }
  .kms-blog[data-count="1"] .kms-blog-card--feature {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
  }
  .kms-blog[data-count="1"] .kms-blog-card--feature .kms-blog-card__frame { margin-bottom: 22px; }
}
/* 2-3 posts: equal cards in one row (no feature) */
.kms-blog[data-count="2"] .kms-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 32px; }
.kms-blog[data-count="3"] .kms-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 24px; }
.kms-blog[data-count="2"] .kms-blog-card__title,
.kms-blog[data-count="3"] .kms-blog-card__title { font-size: 16px; }
/* 4 posts: feature + three rows stacked on the right */
.kms-blog[data-count="4"] .kms-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
.kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}
.kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card__body { padding-top: 0; }

/* ---------- Scroll reveal (hidden state exists only after JS adds .kms-blog--js) ---------- */
.kms-blog [data-reveal] {
  transition:
    opacity .7s var(--kb-ease) calc(var(--i, 0) * 80ms),
    transform .7s var(--kb-ease) calc(var(--i, 0) * 80ms);
}
.kms-blog--js [data-reveal]:not(.is-in) { opacity: 0; transform: translateY(18px); }
.kms-blog--js .kms-blog__eyebrow[data-reveal]:not(.is-in) { opacity: 1; transform: none; }
.kms-blog--js .kms-blog__eyebrow:not(.is-in)::after { transform: rotate(-3deg) scaleX(0); }
.kms-blog--js .kms-blog-card--feature:not(.is-in) .kms-blog-card__slab { transform: scaleX(0); }
.kms-blog--js .kms-blog-card__img.is-loading { opacity: 0; }

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .kms-blog__main { grid-template-columns: minmax(0, 1fr); gap: 52px; }
  .kms-blog__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; }
  .kms-blog-card__title { font-size: 14.5px; }
  .kms-blog__more { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; }
  .kms-blog-card--row { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
  .kms-blog[data-count="4"] .kms-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
  .kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card { display: flex; }
  .kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card__body { padding-top: 16px; }
}

/* ---------- Phone ---------- */
@media (max-width: 767px) {
  .kms-blog { margin-bottom: 40px; padding: 72px 0 104px; }
  .kms-blog__inner { padding: 0 16px; }
  .kms-blog__bg { inset: 250px 0 0 0; }
  .kms-blog__head { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-bottom: 36px; }
  .kms-blog__eyebrow { font-size: 13px; margin-bottom: 14px; }
  .kms-blog__title { font-size: 64px; }
  .kms-blog__lead { font-size: 14px; padding-left: 14px; }
  .kms-blog__main { gap: 40px; }
  .kms-blog-card__frame { margin-bottom: 14px; }
  .kms-blog-card__slab { left: -16px; bottom: -14px; width: 70%; }
  .kms-blog-card--feature .kms-blog-card__body { padding-top: 16px; }
  .kms-blog-card--feature .kms-blog-card__title { font-size: 20px; line-height: 1.6; }
  .kms-blog-card--feature .kms-blog-card__date,
  .kms-blog-card--feature .kms-blog-card__new { font-size: 16px; }
  .kms-blog-card--feature .kms-blog-card__ph { font-size: 34px; }
  .kms-blog-card__excerpt { font-size: 14px; }
  .kms-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
  .kms-blog-card__media { border-radius: 6px; }
  .kms-blog-card__body { padding-top: 12px; }
  .kms-blog-card__meta { gap: 5px 8px; margin-bottom: 7px; }
  .kms-blog-card__tag { --tag-h: 21px; font-size: 10.5px; padding: 0 8px 0 15px; --hole-x: 8px; --hole-r: 2.2px; --cut: 6px; }
  .kms-blog-card__date { font-size: 14px; }
  .kms-blog-card__title { font-size: 14px; line-height: 1.6; }
  .kms-blog-card__ph { font-size: 18px; }
  /* Earlier posts: stacked white rows, all visible (no sideways swipe) */
  .kms-blog__more {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 40px 0 0;
    padding: 24px 0 0;
  }
  .kms-blog-card--row {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 12px;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
  }
  .kms-blog:not([data-count="4"]) .kms-blog__grid .kms-blog-card--notag .kms-blog-card__meta { padding-top: 19.5px; }
  .kms-blog__foot { flex-direction: column; align-items: stretch; gap: 32px; margin-top: 40px; }
  .kms-blog__cat { min-height: 40px; }
  .kms-blog__all { width: calc(100% - 16px); margin: 0 auto; }
  .kms-blog[data-count="2"] .kms-blog__grid,
  .kms-blog[data-count="3"] .kms-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .kms-blog[data-count="4"] .kms-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card { display: grid; grid-template-columns: 136px minmax(0, 1fr); gap: 14px; }
  .kms-blog[data-count="4"] .kms-blog__grid .kms-blog-card__body { padding-top: 0; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .kms-blog *, .kms-blog *::before, .kms-blog *::after { transition: none !important; animation: none !important; }
  .kms-blog-card:hover .kms-blog-card__img,
  .kms-blog-card:hover .kms-blog__arrow,
  .kms-blog__all:hover .kms-blog__arrow,
  .kms-blog__cat:hover { transform: none; }
}
@media print {
  .kms-blog--js [data-reveal] { opacity: 1 !important; transform: none !important; }
}
