/* Additions after design 2: cookie consent, the not-found page and small utilities. */
.consent {
  position: fixed; left: clamp(0.75rem, 3vw, 1.75rem); bottom: clamp(0.75rem, 3vw, 1.75rem); z-index: 55;
  width: min(26rem, calc(100% - 1.5rem));
  background: var(--night); color: var(--paper);
  border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 20px;
  padding: 1.25rem 1.35rem 1.35rem;
  box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.8);
  animation: rise 0.5s var(--ease) both;
}
.consent p { margin: 0 0 1rem; font-size: 0.9875rem; color: var(--mute-d); }
.consent div { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.consent .btn { min-height: 2.75rem; padding: 0.55rem 1.2rem; font-size: 0.9375rem; }
.consent .btn--ink { background: var(--fuse); border-color: var(--fuse); color: var(--ink); }
.consent .btn--line { border-color: rgba(255, 255, 255, 0.45); color: var(--paper); }
.consent .btn--line:hover { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.consent :focus-visible { outline-color: var(--glow); }

.linkish { appearance: none; background: none; border: 0; padding: 0; margin-left: 0.75rem; font: inherit; color: var(--paper); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.linkish:hover { color: var(--fuse); }

.nf { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(4rem, 9vw, 7rem); }
.nf__links { display: flex; flex-wrap: wrap; gap: 0.75rem; }

@media (max-width: 40rem) {
  .consent { left: 0.75rem; right: 0.75rem; bottom: 5.25rem; width: auto; }
}
