
/*
 * RECEIPTS · calm typography shared by public pages (Oct 18, 2026).
 * Uses system fonts; no extra downloads, no external font/CDN dependency.
 * Does not change contracts, scripts, image layers or the 3D viewer.
 */
:root {
  --rcpts-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --rcpts-muted: #aabaae;
  --rcpts-line: #2d4037;
  --rcpts-lime: #c6ff49;
}
body.clarity-page,
body.dashboard-page,
body:is(.rewards-page,.terminal-page,.machine-bay-page) {
  font-family: var(--rcpts-ui-font);
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.clarity-page :is(a,button,summary,h1,h2,h3,h4,b,strong,span,small,p,label,em),
body:is(.dashboard-page,.rewards-page,.terminal-page,.machine-bay-page) :is(a,button,input,label,h1,h2,h3,h4,p,small,span,em,b,strong) {
  font-family: var(--rcpts-ui-font);
}
body.clarity-page :is(button,input,summary),
body:is(.dashboard-page,.rewards-page,.terminal-page,.machine-bay-page) :is(button,input) {
  font-family: var(--rcpts-ui-font);
}
/* Readable top-level navigation, while retaining the original CMYK identity. */
body.clarity-page .clarity-nav-links a,
body.clarity-page .clarity-mobile-menu :is(summary,nav a) {
  font: 650 13px/1.3 var(--rcpts-ui-font);
  letter-spacing: 0;
}
body.clarity-page .clarity-ticker>.clarity-shell {
  font: 550 12px/1.4 var(--rcpts-ui-font);
  letter-spacing: .01em;
}
body.clarity-page .clarity-brand {
  font: 800 23px/1.1 var(--rcpts-ui-font);
  letter-spacing: -.035em;
}
body.clarity-page .clarity-logo strong {font: 900 23px/23px Arial,sans-serif}
/* Remove condensed, oversized Impact from main editorial surfaces. */
body.clarity-page .clarity-hero h1,
body.clarity-page .clarity-printers-hero h1 {
  font-family: var(--rcpts-ui-font);
  font-weight: 780;
  font-size: clamp(42px, 4.8vw, 69px);
  line-height: 1.06;
  letter-spacing: -.045em;
}
body.clarity-page :is(.clarity-section-heading h2,.clarity-next h2,.clarity-collection h2) {
  font-family: var(--rcpts-ui-font);
  font-weight: 760;
  font-size: clamp(31px, 3.4vw, 49px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
body.clarity-page .clarity-rarity-grid strong {
  font-family: var(--rcpts-ui-font);
  font-weight: 750;
  font-size: clamp(23px, 2vw, 31px);
  letter-spacing: -.025em;
}
body.clarity-page :is(.clarity-kicker,.clarity-rarity-grid span) {
  font-family: var(--rcpts-ui-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
body.clarity-page .clarity-button {
  font-family: var(--rcpts-ui-font);
  font-size: 13px;
  font-weight: 720;
  letter-spacing: 0;
}
body.clarity-page :is(.clarity-hero-copy>p,.clarity-section-heading>p,.clarity-next p,.clarity-action-card p) {
  font-family: var(--rcpts-ui-font);
  font-size: 15px;
  line-height: 1.7;
}
body:is(.rewards-page,.terminal-page,.machine-bay-page):not(.dashboard-page) :is(h1,h2,h3) {
  font-family: var(--rcpts-ui-font);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.035em;
}
body:is(.rewards-page,.terminal-page,.machine-bay-page):not(.dashboard-page) .brand{
  font: 800 23px/1.1 var(--rcpts-ui-font);
  letter-spacing: -.03em;
}
body:is(.rewards-page,.terminal-page,.machine-bay-page):not(.dashboard-page) .nav-links a {
  font: 650 13px/1.4 var(--rcpts-ui-font);
  letter-spacing: 0;
}
@media(max-width:760px) {
  body.clarity-page .clarity-hero h1,
  body.clarity-page .clarity-printers-hero h1 {
    font-size: clamp(36px, 8.5vw, 54px);
    line-height: 1.1;
  }
  body.clarity-page :is(.clarity-section-heading h2,.clarity-next h2,.clarity-collection h2) {
    font-size: clamp(29px, 7.5vw, 43px);
  }
  body.clarity-page .clarity-brand{font-size:21px}
}
@media(prefers-reduced-motion: reduce) {
  body.clarity-page *,body.dashboard-page *{scroll-behavior:auto}
}
