/* Reusable responsive layout primitives. */
.site-shell { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; overflow: clip; }
.container { width: min(100% - (var(--gutter) * 2), var(--container)); margin-inline: auto; }
.content-wrap { padding-block: var(--space-8); }
.section { padding-block: var(--space-8); }
.section--dark { background: var(--color-surface); }
.section--glow { background: radial-gradient(ellipse at 50% 0%, var(--color-accent-glow), transparent 52%), var(--color-surface); }
.site-main { min-width: 0; --homepage-section-space:clamp(2.8rem,4.6vw,4.4rem); }
.homepage-section { padding-block:var(--homepage-section-space); }
.homepage-section-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); margin-bottom:var(--space-5); }
.homepage-section-heading > div { min-width:0; }
.homepage-section-heading :is(h2,.eyebrow) { margin-top:0; }
.homepage-section-heading__link { display:inline-flex; flex:0 0 auto; align-self:center; align-items:center; gap:var(--space-2); padding:0 0 var(--space-2); border-bottom:1px solid var(--color-accent); color:var(--color-text); font-family:var(--font-display); font-size:var(--text-xs); font-weight:var(--font-weight-bold); letter-spacing:var(--tracking-label); line-height:1.2; text-transform:uppercase; }
.homepage-section-heading__link:hover, .homepage-section-heading__link:focus-visible { color:var(--color-accent-bright); }
.homepage-section-heading__link .kk-arrow-icon { width:.95rem; height:.95rem; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.entry, .archive-header { max-width: var(--content-width); }
.entry-content { font-size: var(--text-md); }
.entry-content > * + * { margin-top: var(--space-5); }
.archive-header { margin-bottom: var(--space-7); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.stack > * + * { margin-top: var(--space-5); }

@media (min-width: 48rem) {
  .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
}
@media (min-width: 64rem) {
  .content-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width:47.99rem) {
  .site-main { --homepage-section-space:var(--space-6); }
  .homepage-section-heading { align-items:flex-start; flex-direction:column; gap:var(--space-3); margin-bottom:var(--space-4); }
  .homepage-section-heading .homepage-section-heading__link { display:inline-flex; align-self:flex-start; align-items:center; gap:var(--space-2); padding:0 0 var(--space-2); border:0; border-bottom:1px solid var(--color-accent); border-radius:0; background:transparent; color:var(--color-text); font-family:var(--font-display); font-size:var(--text-xs); font-weight:var(--font-weight-bold); letter-spacing:var(--tracking-label); line-height:1.2; text-align:left; text-transform:uppercase; box-shadow:none; }
  .homepage-section-heading .homepage-section-heading__link:hover, .homepage-section-heading .homepage-section-heading__link:focus-visible { color:var(--color-accent-bright); box-shadow:none; }
  .homepage-section-heading .homepage-section-heading__link .kk-arrow-icon { width:.95rem; height:.95rem; }
}
