/* Shared typography: digits and currency use Rubik; button lettering uses Onest.
   Unicode ranges preserve mixed labels and dynamic content without DOM rewriting. */
@font-face{font-family:MirageNumbers;src:url('/home-preview/assets/elena/Rubik-Regular.woff2') format('woff2');font-weight:100 500;unicode-range:U+0030-0039,U+20BD,U+0025,U+002B-002F,U+003A,U+2013-2014,U+2212;font-display:swap}
@font-face{font-family:MirageNumbers;src:url('/home-preview/assets/elena/Rubik-Bold.woff2') format('woff2');font-weight:600 900;unicode-range:U+0030-0039,U+20BD,U+0025,U+002B-002F,U+003A,U+2013-2014,U+2212;font-display:swap}
@font-face{font-family:MirageButtonOnest;src:url('/home-preview/assets/onest-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:MirageButtonOnest;src:url('/home-preview/assets/onest-latin.woff2') format('woff2');font-weight:100 900;unicode-range:U+0000-024F;font-display:swap}
html{font-family:MirageNumbers,Arial,sans-serif}
/* Specificity also covers coach/payment styles loaded after this stylesheet. */
html body :is(button,[role="button"],input[type="submit"],input[type="button"],.btn,.button,.cta,.pay,.book-coach):not(#font-rule-a):not(#font-rule-b):not(#font-rule-c),
html body :is(button,[role="button"],.btn,.button,.cta,.pay,.book-coach):not(#font-rule-a):not(#font-rule-b):not(#font-rule-c) :not(svg):not(path){font-family:MirageNumbers,MirageButtonOnest,Onest,Arial,sans-serif!important}

/* Site-wide lettering: retain existing sizes, weights and spacing.
   MirageNumbers supplies only numeric/currency glyphs from Rubik. */
html body:not(:has(#poster,.viewer)),
html body :not(#poster):not(#poster *):not(.viewer):not(.viewer *):not(svg):not(svg *):not(.brand):not(.brand *):not(.logo):not(.logo *):not(#font-rule-a):not(#font-rule-b):not(#font-rule-c):not(#font-rule-d){font-family:MirageNumbers,MirageButtonOnest,Onest,Arial,sans-serif!important}
