:root{
/* ── Radii. The brand is printed matter: corners are square. ──
   The ONLY curves are the pill (buttons, tags) and the circle (icon buttons, dots). */
--radius-none:0px;
--radius-hair:2px;
--radius-pill:999px;
--radius-circle:50%;

/* ── Borders. Rules are heavy and Ink, like a printed keyline. ── */
--border-hair:1px;
--border-rule:2px;
--border-heavy:3px;
--border-block:6px;
--border-color:var(--ink);
--border-color-on-dark:var(--bone);

/* ── Shadow. No soft blur anywhere. Offset hard-edge "print misregister" only. ── */
--shadow-none:none;
--shadow-offset-sm:3px 3px 0 var(--ink);
--shadow-offset:6px 6px 0 var(--ink);
--shadow-offset-lg:10px 10px 0 var(--ink);
--shadow-offset-lime:6px 6px 0 var(--acid-lime);
--shadow-offset-magenta:6px 6px 0 var(--hot-magenta);
--shadow-offset-on-dark:6px 6px 0 var(--bone);

/* ── Protection: a solid Ink or Bone capsule, never a gradient scrim,
      EXCEPT full-bleed halftone imagery which gets a linear Ink protection ramp. ── */
--protect-ramp-ink:linear-gradient(to top,rgba(19,18,16,.92) 0%,rgba(19,18,16,.55) 45%,rgba(19,18,16,0) 100%);/* @kind other */
--protect-ramp-bone:linear-gradient(to top,rgba(243,240,231,.94) 0%,rgba(243,240,231,0) 70%);/* @kind other */

/* ── Motion. Scroll-scrubbed camera moves; no bounce, no spring. ── */
--ease-camera:cubic-bezier(.22,1,.36,1);/* @kind other */
--ease-snap:cubic-bezier(.16,1,.3,1);/* @kind other */
--ease-out:cubic-bezier(.33,1,.68,1);/* @kind other */
--dur-instant:80ms;/* @kind other */
--dur-fast:160ms;/* @kind other */
--dur-base:260ms;/* @kind other */
--dur-slow:520ms;/* @kind other */
--dur-ignite:900ms;/* @kind other */

/* ── Texture ── */
--grain-opacity:.16;/* @kind other */
--halftone-size:3px;
}
