.crumb { display: flex; gap: var(--measure-xs); align-items: center; font-size: var(--text-sm); color: var(--color-muted); }
.crumb a { text-decoration: none; }
.crumb a:hover { color: var(--color-ink); }
.crumb [aria-current] { color: var(--color-ink); }

.page-hero { padding-block: var(--space-block) var(--space-section); }
.page-hero__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-layout); align-items: start; margin-top: var(--measure-3xl); }
.page-hero__grid--case { grid-template-columns: 1.5fr 1fr; align-items: end; }
.page-hero__lede { margin-top: var(--measure-xl); }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: var(--measure-sm); margin-top: var(--measure-2xl); }
.page-hero--case { padding-bottom: var(--space-layout); }
.page-title { padding-block: var(--space-page-top) var(--space-layout); display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--space-layout); align-items: end; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: var(--measure-3xl); margin-bottom: var(--space-layout); }
.section-head h2 { max-width: 760px; }
.section-head .lede { font-size: var(--text-md); max-width: 440px; }

.dark {
  --color-bg: var(--color-dark);
  --color-surface: color-mix(in srgb, var(--color-on-dark) 8%, var(--color-dark));
  --color-ink: var(--color-on-dark);
  --color-muted: var(--color-dark-muted);
  --color-line: color-mix(in srgb, var(--color-on-dark) 22%, var(--color-dark));
  --color-tint: color-mix(in srgb, var(--color-on-dark) 10%, var(--color-dark));
  --color-primary-text: var(--color-tint-on-dark);
  --color-accent-text: var(--color-accent);
  --color-danger: var(--color-accent);
  background: var(--color-bg);
  color: var(--color-ink);
}
.dark .card { color: var(--color-ink); }
.dark + .wrap, .dark + section.wrap { padding-top: var(--space-section); }

.box { position: relative; background: var(--color-surface); border: 1.5px solid var(--color-ink); border-radius: var(--radius-sm); transition: transform 0.4s var(--ease), box-shadow 0.4s; }
.box__corner { position: absolute; width: 14px; height: 14px; border-radius: var(--radius-round); background: var(--color-bg); border: 2px solid var(--color-ink); transition: transform 0.45s var(--ease), background 0.3s; }
.box__corner:nth-of-type(1) { left: -8px; top: -8px; }
.box__corner:nth-of-type(2) { right: -8px; top: -8px; }
.box__corner:nth-of-type(3) { left: -8px; bottom: -8px; }
.box__corner:nth-of-type(4) { right: -8px; bottom: -8px; }
.box--hover:hover, .box.is-active { transform: translate(-5px, -5px); box-shadow: var(--shadow-offset-accent); }
.box--hover:hover .box__corner, .box.is-active .box__corner { background: var(--color-primary); }
.box--hover:hover .box__corner:nth-of-type(1) { transform: translate(-6px, -6px); }
.box--hover:hover .box__corner:nth-of-type(2) { transform: translate(6px, -6px); }
.box--hover:hover .box__corner:nth-of-type(3) { transform: translate(-6px, 6px); }
.box--hover:hover .box__corner:nth-of-type(4) { transform: translate(6px, 6px); }

.card { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-lg); }

@media (max-width: 960px) {
  .page-hero__grid, .page-title { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: start; gap: var(--measure-md); }
}

.tag { white-space: nowrap; }
