/* Minimal "KASHIWA-like" rhythm: whitespace + grid */
:root{
  --kds-gap: 28px;
  --kds-gap-sm: 16px;
  --kds-border: rgba(17,17,17,.12);
}

.kds-wrap{max-width: var(--wp--style--global--content-size); margin: 0 auto; padding: 36px 18px;}
.kds-wrap-wide{max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: 36px 18px;}

.kds-header{
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--kds-border);
}
.kds-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  max-width: var(--wp--style--global--wide-size);
  margin:0 auto; padding: 14px 18px;
}
.kds-brand{font-size:14px; letter-spacing:.06em; font-weight:600;}
.kds-brand a{color:inherit;}

.kds-grid{
  display:grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: var(--kds-gap);
}
.kds-card{grid-column: span 6; border-top: 1px solid var(--kds-border); padding-top: 14px;}
.kds-card a{display:block;}
.kds-thumb{
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background:#f3f4f6;
  display:block;
}
.kds-meta{margin-top: 10px; font-size:12px; color:#6B7280; letter-spacing:.02em;}
.kds-title{margin: 6px 0 0; font-size:16px; font-weight:600; line-height:1.35;}
.kds-excerpt{margin: 10px 0 0; font-size:14px; line-height:1.7; color:#111111;}

@media (max-width: 920px){
  .kds-card{grid-column: span 12;}
  .kds-wrap, .kds-wrap-wide{padding: 26px 16px;}
}

.kds-project-hero{border-top:1px solid var(--kds-border); padding-top: 18px; margin-top: 10px;}
.kds-project-meta{display:flex; flex-wrap:wrap; gap: 8px 16px; margin-top:10px; font-size:12px; color:#6B7280;}
.kds-project-meta b{font-weight:600; color:#111111;}
.kds-content > *{margin-block: 18px;}
.kds-content img{max-width: 100%; height: auto;}
.kds-content figure{margin: 0;}
.kds-content .wp-block-image img{width:100%; height:auto;}
.kds-content .wp-block-gallery{gap: var(--kds-gap-sm);}
.kds-footer{border-top:1px solid var(--kds-border); margin-top: 48px;}
.kds-footer-inner{max-width: var(--wp--style--global--wide-size); margin:0 auto; padding: 22px 18px; font-size:12px; color:#6B7280;}
