.crumb { display: flex; gap: 8px; align-items: center; font-size: 15px; 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: 48px 110px; }
.page-hero__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(40px, 6vw, 72px); align-items: start; margin-top: 40px; }
.page-hero__lede { margin-top: 28px; }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.page-title { padding-block: 72px 64px; display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(32px, 6vw, 72px); align-items: end; }
.page-title h1 { font-size: clamp(52px, 7.5vw, 96px); }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 40px; }
.section-head h2 { max-width: 760px; }
.section-head .lede { font-size: 18px; max-width: 440px; }

.dark { background: var(--color-dark); color: var(--color-on-dark); }
.dark .lede, .dark .muted { color: var(--color-dark-muted); }
.dark + .wrap, .dark + section.wrap { padding-top: var(--section); }

.box { position: relative; background: var(--color-surface); border: 1.5px solid var(--color-ink); border-radius: 6px; transition: transform 0.4s var(--ease), box-shadow 0.4s; }
.box__corner { position: absolute; width: 14px; height: 14px; border-radius: 50%; 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: 10px 10px 0 var(--color-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: 18px; }

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

.tag { white-space: nowrap; }
