/* Type, the Rejouice way (preview, 2 Nov 2026). Measured on rejouice.com at 1920: one face (Suisse Int'l),
   light at 20 px and up, regular below; 20/24 body; every size tracked about -1%; text pure black or white,
   with one neutral grey only for side notes.
   Ours now: Switzer (Fontshare, ITF Free Font License: free for commercial use and self-hosting, Switzer-FFL.txt),
   the free face closest to Suisse Int'l. The UkasonDev wordmark is SVG and doesn't change; app mock-ups keep Geist.
   Two families from one face, so no size has to guess its weight:
   "UD Display" (Switzer Light) for headings and big lines, "UD Text" (Switzer Regular, Medium for bold) for the rest. */

@font-face { font-family: "UD Display"; src: url(fonts/switzer-300.woff2) format("woff2"); font-weight: 1 1000; font-display: swap; }
@font-face { font-family: "UD Text"; src: url(fonts/switzer-400.woff2) format("woff2"); font-weight: 1 549; font-display: swap; }
@font-face { font-family: "UD Text"; src: url(fonts/switzer-500.woff2) format("woff2"); font-weight: 550 1000; font-display: swap; }

:root { --font: "UD Display", "Ukason Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
.dark-site { --font-text: "UD Text", "Ukason Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }

/* big lines read as display: the 18 to 22 px body lines, the hero foot and the contact links */
:root .dark-site :is(.sf-line, .qa p, .qa summary, .hw-line, .hw-title, .about-copy > p, .care-what, .pv-s-line, .pv-s-name, .sf-amt, .hx-foot, .hx-foot *, .ct-v, .contact .field input, .contact .field textarea) { font-family: var(--font); }

/* one colour for words: pure ink on paper, warm white on night */
.dark-site { --q-grey: var(--q-ink); --q-grey-night: #F5F3EE; --ud-note: #8F8F8F; }
.dark-site section.lw-light { --ink-2: var(--lw-ink); --muted: var(--lw-ink); --soft: var(--lw-ink); }
.dark-site .tests, .dark-site .care-visual, .dark-site .ps-stage, .dark-site .jr-art { --ink-2: #141414; --muted: #141414; }
:root .dark-site .pv-s-line, :root .dark-site .pv-s .pv-meta { color: #F5F3EE; }

/* grey only for side notes; on the white and warm white chapters it is a touch darker, so it reads clearly (WCAG AA, 4.5:1) */
.dark-site :is(.services, .rx-paper) { --ud-note: #767676; }
.dark-site .lw-light { --ud-note: #6B6B6B; }
:root .dark-site :is(.sf-note, .sf-offer, .sf-more, .sf-more a, .care-small, .form-note, .si-lead, .eyebrow, .pl-local, .tier-price small, .ct-k, .footer-base span, .contact .field label, .hw-when) { color: var(--ud-note); }
:root .dark-site .sf-offer b { color: var(--q-ink); }

/* tighter lines on body text, as 20/24 */
:root .dark-site :is(.sf-line, .qa p, .hw-line, .about-copy > p, .care-what) { line-height: 1.2; letter-spacing: -0.01em; }
:root .dark-site .pv-s-line { line-height: 1.25; letter-spacing: -0.01em; }
:root .dark-site :is(.sf-inc li, .tier-name) { line-height: 1.3; }

/* every size tracked about -1%, unless a rule already sets its own */
:where(.dark-site) :where(p, li, a, small, label, button, summary, figcaption, dd, dt):not(:where(h1, h2, h3, h4) *) { letter-spacing: -0.01em; }
