/* rs-skin.css: THE BENCH SHEET, the RoutineScout skin for every page family (RS-DESIGN-SPEC.md, design lead synthesis 2026-09-14).
   v=20261024a (RS_MOBILE_W2_V1, the mobile fleet W2 RoutineScout ship lane 2026-10-24, mobile-fleet/w2/rs/ship/DONE.md): section 11 appended at the end
   of the file (RS-L1 the legal list block, CM2 the contents counter, CM1 the guide headline hyphenation under 760 px, RS_SAFARI_TEXTWRAP_V1 the Safari
   text-wrap pretty crash guard); nothing above section 11 changed; on the master 3d2c1c3c v=20260914h. The previous head follows.
   v=20260914b (RS_SKIN_V1, skin lane 2026-09-14): built from the design's rs-skin.css (the reference builds rs-reference-guide.html and
   rs-reference-presale.html, tuned over 92 renders) and extended to every class the builder renders: the RS guide shape
   (data/msads-rs-guide-visual.mjs), the shared masthead and footer of both page families, the presale normaliser output and the per-doc
   packs (services/msads-pl-presale-*.mjs), the homepage and legal grammar of spec section 12 and the consent notice (#ctr-consent).
   Loaded after the template <style> (SKIN ORDER LAW), so every template value is restated in tokens (--rs-*). Light first; dark is the
   viewer's theme through prefers-color-scheme (guarded against [data-theme=light]) and [data-theme=dark]. Logical properties only
   (the he edition mirrors without a left/right rule; the wordmark and every price stay LTR). Radius 3 px on the button and nothing
   else; one shadow (the open language menu); no gradient; no uppercase; no tick, cross, star, chip or badge. No JavaScript anywhere. */

/* ---- 1. self-hosted faces (/fonts/rs/, per script with unicode-range, font-display swap; IBM Plex Sans 400/500/600/700, IBM Plex Mono 400/500/600, IBM Plex Sans Hebrew 400/500/600/700; SIL Open Font License 1.1) ---- */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSans-400-cyrillic-8dacae5c52.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSans-400-cyrillic-ext-9ca21857f6.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSans-400-greek-2f7402315d.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSans-400-latin-6148594dc0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSans-400-latin-ext-b480cc79af.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSans-500-cyrillic-8dacae5c52.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSans-500-cyrillic-ext-9ca21857f6.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSans-500-greek-2f7402315d.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSans-500-latin-6148594dc0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSans-500-latin-ext-b480cc79af.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSans-600-cyrillic-8dacae5c52.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSans-600-cyrillic-ext-9ca21857f6.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSans-600-greek-2f7402315d.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSans-600-latin-6148594dc0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSans-600-latin-ext-b480cc79af.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSans-700-cyrillic-8dacae5c52.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSans-700-cyrillic-ext-9ca21857f6.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSans-700-greek-2f7402315d.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSans-700-latin-6148594dc0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSans-700-latin-ext-b480cc79af.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexMono-400-cyrillic-f3e3ef5f4a.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexMono-400-cyrillic-ext-442b3ec987.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexMono-400-latin-2c9bacf024.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexMono-400-latin-ext-108d509084.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexMono-500-cyrillic-695a267637.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexMono-500-cyrillic-ext-f49291b791.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexMono-500-latin-3a2668b94b.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexMono-500-latin-ext-24397a3e83.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexMono-600-cyrillic-1b68792e8d.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexMono-600-cyrillic-ext-c314a25c3a.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexMono-600-latin-c11adc9130.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexMono-600-latin-ext-535a3114a7.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-400-hebrew-de1a9c41ba.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-400-latin-37c470a135.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-500-hebrew-bec4404633.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-500-latin-ecfb8b5d13.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-600-hebrew-0446eb3ac1.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-600-latin-3149c43d70.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-700-hebrew-1e5e265c8b.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'IBM Plex Sans Hebrew';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-700-latin-f6ad0058b5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ---- 2. design tokens (RS-DESIGN-SPEC section 2): the white sheet, one lilac band, plum ink, one evergreen ---- */
:root{
  --rs-sheet:#FFFFFF;--rs-band:#F2EFF6;--rs-plate:#EAE6F1;--rs-rule:#D6D0E0;--rs-ink:#2A2540;--rs-mute:#605A78;
  --rs-green:#1E7A5A;--rs-green-deep:#166148;--rs-link:var(--rs-green-deep);--rs-btn:var(--rs-green);--rs-btn-ink:#FFFFFF;--rs-btn-hover:var(--rs-green-deep);
  --rs-focus:var(--rs-green-deep);--rs-mark:var(--rs-ink);--rs-mark-track:var(--rs-plate);--rs-shadow:0 12px 32px rgba(42,37,64,.14);
  --rs-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --rs-mono:"IBM Plex Mono","IBM Plex Sans Hebrew",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --rs-wrap:1180px;--rs-gutter:clamp(16px,3vw,32px);--rs-rail:96px;--rs-rail-gap:28px;
  --rs-s1:4px;--rs-s2:8px;--rs-s3:12px;--rs-s4:16px;--rs-s5:24px;--rs-s6:32px;--rs-s7:48px;--rs-s8:64px;--rs-s9:96px;
  --rs-r-btn:3px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --rs-sheet:#1A1725;--rs-band:#241F31;--rs-plate:#EAE6F1;--rs-rule:#3B3552;--rs-ink:#ECE8F4;--rs-mute:#ADA6C4;
    --rs-green:#5FD3A5;--rs-green-deep:#7FE0BA;--rs-link:#7FE0BA;--rs-btn:#3FB98A;--rs-btn-ink:#14101F;--rs-btn-hover:#5FD3A5;
    --rs-focus:#7FE0BA;--rs-mark:#C9C3E2;--rs-mark-track:#3B3552;--rs-shadow:0 12px 32px rgba(0,0,0,.5);color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --rs-sheet:#1A1725;--rs-band:#241F31;--rs-plate:#EAE6F1;--rs-rule:#3B3552;--rs-ink:#ECE8F4;--rs-mute:#ADA6C4;
  --rs-green:#5FD3A5;--rs-green-deep:#7FE0BA;--rs-link:#7FE0BA;--rs-btn:#3FB98A;--rs-btn-ink:#14101F;--rs-btn-hover:#5FD3A5;
  --rs-focus:#7FE0BA;--rs-mark:#C9C3E2;--rs-mark-track:#3B3552;--rs-shadow:0 12px 32px rgba(0,0,0,.5);color-scheme:dark;
}

/* ---- 3. base: the template style is loaded first (SKIN ORDER LAW), so every base value it sets is restated here in tokens ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--rs-sheet)}
body{margin:0;background:var(--rs-sheet);color:var(--rs-ink);font:400 17px/1.55 var(--rs-sans);font-feature-settings:"kern";overflow-x:clip;-webkit-font-smoothing:auto}
:lang(he) body,body:lang(he),:lang(he){font-family:"IBM Plex Sans Hebrew",var(--rs-sans)}
:lang(he) .m,:lang(he) .money,:lang(he) code,:lang(he) .rail,:lang(he) .specimen,:lang(he) .now,:lang(he) .was,:lang(he) table.readings,:lang(he) table.cmp{font-family:var(--rs-mono)}
:lang(he) h1,:lang(he) h2,:lang(he) h3{letter-spacing:0}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
b,strong{font-weight:600}
em,i{font-style:normal}
a{color:var(--rs-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{color:var(--rs-ink)}
:focus-visible{outline:2px solid var(--rs-focus);outline-offset:3px}
h1,h2,h3,h4{margin:0;font-family:var(--rs-sans);font-weight:600;letter-spacing:-.02em;hyphens:manual;overflow-wrap:anywhere;line-height:1.15;text-transform:none}
h1{font-size:clamp(28px,3.1vw,44px);line-height:1.1;max-width:24ch}
h2{font-size:clamp(24px,2.2vw,30px);line-height:1.18}
h3{font-size:clamp(19px,1.6vw,22px);line-height:1.3}
h4{font-size:17px}
:lang(de) h1,:lang(fi) h1,:lang(hu) h1,:lang(nl) h1,:lang(el) h1{font-size:clamp(26px,2.8vw,40px)}
.wrap{max-width:var(--rs-wrap);margin-inline:auto;padding-inline:var(--rs-gutter);padding-block:0}
.m{font-family:var(--rs-mono);font-feature-settings:"tnum" 1;font-weight:500;font-size:13px;line-height:1.45;letter-spacing:0;text-transform:none}
.mute{color:var(--rs-mute)}
.small{font-size:14px;line-height:1.5}
.money{font-family:var(--rs-mono);font-feature-settings:"tnum" 1;unicode-bidi:isolate;white-space:nowrap}
bdi{unicode-bidi:isolate}
.co{unicode-bidi:isolate}
.nb{white-space:nowrap}
.flip{display:inline-block}
[dir="rtl"] .flip{transform:scaleX(-1)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.xs-hide{display:inline}

/* ---- 4. shared chrome: the masthead (header.mast on guides, header.sitebar on presales), the language control, the light footer ---- */
.mast,.sitebar{position:static;top:auto;z-index:auto;border-block-end:1px solid var(--rs-rule);border-top:0;background:var(--rs-sheet);box-shadow:none}
.mast .wrap,.sitebar .wrap{display:flex;align-items:center;justify-content:flex-start;gap:20px;min-height:60px;padding-block:0}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--rs-ink);text-decoration:none;font-family:var(--rs-sans);font-size:21px;letter-spacing:-.01em;min-height:44px;flex:none;direction:ltr;white-space:nowrap}
.brand:hover{color:var(--rs-ink)}
.brand svg,.brand .mark{width:26px;height:26px;flex:none;display:block;color:var(--rs-ink)}
.brand>span{font-weight:600}
.brand .scout{font-weight:400}
.mast .adv,.sitebar .adv{margin-inline-start:auto;color:var(--rs-mute);font:400 13px/1.45 var(--rs-mono);letter-spacing:0;text-transform:none;white-space:nowrap}
.langsel{position:relative;flex:none;margin:0}
.langsel summary{list-style:none;cursor:pointer;font:500 13px/1 var(--rs-mono);color:var(--rs-ink);padding:12px 0 12px 14px;padding-inline:14px 0;border:0;border-inline-start:1px solid var(--rs-rule);border-radius:0;background:transparent;min-height:44px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;letter-spacing:0;text-transform:none}
.langsel summary::-webkit-details-marker{display:none}
.langsel summary .cc{font-weight:500}
.langsel summary .ln,.langsel summary .lbl{color:var(--rs-mute);font-weight:400}
.langsel summary .ico{display:none}
.langsel summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);flex:none}
.langsel[open] summary{background:transparent;color:var(--rs-ink)}
.langsel[open] summary::after{transform:translateY(2px) rotate(225deg)}
.langsel:not([open]) .langmenu{display:none}
.langmenu{position:absolute;inset-inline-end:0;inset-inline-start:auto;top:100%;z-index:20;background:var(--rs-sheet);border:1px solid var(--rs-rule);border-radius:0;padding:10px;min-width:300px;inline-size:auto;box-shadow:var(--rs-shadow);display:block}
.langmenu ul{columns:2;column-gap:8px}
.langmenu li{break-inside:avoid}
.langmenu a{display:flex;gap:10px;align-items:baseline;padding:8px 10px;min-height:44px;text-decoration:none;color:var(--rs-ink);font-size:15px;font-weight:400;border-radius:0;white-space:nowrap;line-height:1.3}
.langmenu a:hover,.langmenu a[aria-current],.langmenu a.cur{background:var(--rs-band);color:var(--rs-ink)}
.langmenu a[aria-current],.langmenu a.cur{font-weight:600}
.langmenu a code,.langmenu a .cc{font:400 12px var(--rs-mono);color:var(--rs-mute);min-width:2ch;letter-spacing:0;text-transform:none}
/* a langmenu without the list wrapper (the shared PL partial): the anchors are the columns */
.langmenu:not(:has(ul)){columns:2;column-gap:8px}
.langmenu:not(:has(ul)) a{break-inside:avoid}
/* the footer: light, one rule, four columns, the company once */
.foot{margin-block-start:64px;border-block-start:1px solid var(--rs-rule);border-top:1px solid var(--rs-rule);padding:40px 0 28px;padding-block:40px 28px;font-size:14px;line-height:1.5;color:var(--rs-mute);background:var(--rs-sheet)}
.foot::after{display:none}
.foot p{margin:0;color:var(--rs-mute)}
.foot a{color:var(--rs-ink)}
.foot-cols{display:grid;grid-template-columns:1.5fr 1.3fr .8fr 1fr;gap:32px}
.foot h4,.foot .h{margin:0 0 10px;font:500 13px/1.4 var(--rs-mono);color:var(--rs-ink);letter-spacing:0;text-transform:none;display:block;min-height:0}
.foot .h .l,.foot .h .ico,.foot .fc{display:none}
.foot ul{display:block}
.foot li{break-inside:avoid;padding:0}
.foot li a{display:inline-flex;align-items:center;min-height:40px;min-width:44px;color:var(--rs-ink);text-decoration:none;line-height:1.3;padding-block:2px;font-weight:400;overflow-wrap:break-word;max-width:100%}
.foot li a:hover{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:.16em}
.foot .guides ul{columns:2;column-gap:20px}
.foot .langs ul,.foot ul.langs{columns:2;column-gap:16px;display:block;grid-template-columns:none;gap:0}
.foot .langs a[aria-current],.foot .guides a[aria-current],.foot a.cur,.foot .langs a[aria-current="true"]{color:var(--rs-green-deep);font-weight:500}
.foot .foot-brand .brand{font-size:21px;margin:0 0 6px}
.foot .note{margin:14px 0 12px;max-width:52ch;font-size:14px;color:var(--rs-mute);text-wrap:pretty}
.foot .note a,.foot .legal .note a,.foot p a{color:var(--rs-ink);text-decoration:underline;text-decoration-color:var(--rs-green);text-decoration-thickness:1px;text-underline-offset:.16em;padding-block:calc((40px - 1em)/2);margin-inline:-2px;padding-inline:2px}
.foot .pub{font:400 12.5px/1.7 var(--rs-mono);color:var(--rs-mute);max-width:none;margin:0}
.foot .pub b{font-weight:500;color:var(--rs-ink)}
.foot .pub .co{unicode-bidi:isolate}
.foot .pub a{color:var(--rs-ink);display:inline-flex;min-height:40px;align-items:center;text-decoration:none}
.foot .pub a:hover{text-decoration:underline}
.foot .pub br{display:inline}
.foot .models{margin-block-start:10px;font-size:13px}
.foot .copy{margin-block-start:32px;padding-block-start:14px;border-block-start:1px solid var(--rs-rule);border-top:1px solid var(--rs-rule);display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:flex-start;font:400 13px/1.6 var(--rs-sans)}
.foot .copy .co{color:var(--rs-mute)}
.foot .copy nav,.foot .copy .foot-nav,.foot-nav{display:flex;flex-wrap:wrap;gap:0 18px;margin:0;margin-inline-start:auto}
.foot .copy nav a,.foot-nav a{display:inline-flex;align-items:center;min-height:40px;color:var(--rs-ink);text-decoration:none;font:400 13px/1.3 var(--rs-sans);letter-spacing:0;text-transform:none}
.foot .copy nav a:hover,.foot-nav a:hover{text-decoration:underline}
/* the shared PL footer shape, should a page still carry it: the board columns fall into the same grammar */
.foot .foot-cols>div:not(.foot-brand):not(.guides):not(.company):not(.langs){min-width:0}
.foot .company,.foot .readin,.foot .legal{border:0;margin:0;padding:0;display:block}

/* ---- 5. the guide: the head, the rail, the eight sections (RS-DESIGN-SPEC sections 5 to 10; the reference build rs-reference-guide.html) ---- */
.head{padding-block:28px 0;background:transparent;color:inherit;text-align:start}
.specimen{display:flex;flex-wrap:wrap;gap:6px 0;font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute);margin-block-end:18px}
.specimen span:not(:last-child)::after{content:"\00b7";margin-inline:9px;color:var(--rs-rule)}
.specimen b{font-weight:500;color:var(--rs-ink)}
.dek{margin-block-start:18px;max-width:64ch;font-size:clamp(17px,1.35vw,19px);line-height:1.5}
.sec{border-block-start:1px solid var(--rs-rule)}
.sec.first{border-block-start:0}
.sec > .wrap{display:grid;grid-template-columns:var(--rs-rail) minmax(0,1fr);column-gap:var(--rs-rail-gap);padding-block:36px 52px}
.rail{font:400 13px/1.35 var(--rs-mono);color:var(--rs-mute);align-self:start;position:sticky;top:20px}
.rail b{display:block;font-size:28px;font-weight:500;color:var(--rs-ink);letter-spacing:-.02em;line-height:1;margin-block-end:6px}
.rail.win b{color:var(--rs-green)}
.rail span{display:block}
.sec-body{min-width:0}
.sec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-block-end:10px}
.sec-h h2{margin:0}
.sec-h .m{color:var(--rs-mute);font-weight:400}
.sec-h .sub{font:400 14px/1.5 var(--rs-sans);color:var(--rs-mute)}
.lede{max-width:64ch;color:var(--rs-mute);margin-block-end:22px}
.kicker{font:500 13px/1 var(--rs-mono);color:var(--rs-mute);margin:26px 0 10px;letter-spacing:0;text-transform:none}
/* the contact strip */
.strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 20px;padding-block:0 22px;margin-block-end:22px;border-block-end:1px solid var(--rs-rule);position:static;background:transparent;border-top:0;min-height:0}
.strip a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--rs-ink);min-height:44px;min-width:0;font:400 14px/1.3 var(--rs-sans);padding:0;border:0}
.strip .plate{width:56px;flex:none;aspect-ratio:1/1}
.strip .sn{display:block;font-size:14px;line-height:1.3;font-weight:500;min-width:0}
.strip .n{display:block;font:500 12px/1.4 var(--rs-mono);color:var(--rs-mute)}
.strip .pick .n{color:var(--rs-green-deep)}
.strip a:hover .sn{text-decoration:underline;text-underline-offset:.16em}
/* image plates: rimless, the packshot multiplied onto the plate, the plate light in both themes */
.plate{background:var(--rs-plate);overflow:hidden;margin:0;display:grid;place-items:center;border:0;border-radius:0;box-shadow:none}
.plate img{mix-blend-mode:multiply;width:100%;height:100%;object-fit:cover;margin:0;border:0;border-radius:0;box-shadow:none;transform:none}
.plate.pack img{object-fit:contain;padding:6%}
.plate.photo img{mix-blend-mode:normal;object-fit:cover;padding:0}
.plate.empty{min-height:56px}
.fig{max-width:760px}
.fig img{border:1px solid var(--rs-rule);border-radius:0;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;transform:none;height:auto}
.fig figcaption{font:400 13px/1.5 var(--rs-sans);color:var(--rs-mute);margin-block-start:8px}
.fig figcaption .m{color:var(--rs-ink);font-weight:500}
/* the inline proof figures of the review (template .review-figure: 8 px radius, grey rim) restated as the 3:2 figure */
.review-figure{margin:20px 0 6px;border:0;border-radius:0;overflow:visible;background:transparent;max-width:760px}
.review-figure img{border:1px solid var(--rs-rule);border-radius:0;width:100%;height:auto;transform:none}
.review-figure.is-cropped,.review-hero.is-cropped{height:auto;background:transparent}
/* the verdict instrument (flat DOM placed by grid areas) */
.verdict{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(280px,300px);grid-template-areas:"plate rank money" "plate name money" "plate why cta" "plate short facts" "plate total facts" "plate fill facts";grid-template-rows:auto auto auto auto auto 1fr;gap:10px 32px;align-items:start}
.v-plate{grid-area:plate;aspect-ratio:4/5}
.v-rank{grid-area:rank;font:500 13px/1 var(--rs-mono);color:var(--rs-green-deep);display:flex;gap:10px;align-items:center;margin-block-start:2px}
.v-rank i{font-style:normal;font-size:44px;line-height:.9;font-weight:600;letter-spacing:-.04em;color:var(--rs-green)}
.v-name{grid-area:name;font-size:clamp(26px,2.6vw,36px);line-height:1.1}
.v-why{grid-area:why;font-size:clamp(17px,1.3vw,19px);line-height:1.5;max-width:46ch;margin-block-start:4px}
.v-short{grid-area:short;font-size:15.5px;line-height:1.5;max-width:46ch;padding-block-start:10px;border-block-start:1px solid var(--rs-rule);margin-block-start:8px}
.v-short b,.short-lbl{display:block;font:500 13px/1.6 var(--rs-mono);color:var(--rs-mute)}
.v-total{grid-area:total;font:400 14px/1.5 var(--rs-sans);color:var(--rs-mute);margin-block-start:8px}
.v-total b{font:600 18px/1 var(--rs-mono);color:var(--rs-ink)}
.v-total a{color:inherit;display:inline-block;padding-block:11px;margin-block:-11px}
.v-money{grid-area:money}
.v-cta{grid-area:cta}
.v-facts{grid-area:facts;margin-block-start:2px}
/* the money unit */
.money-u{display:grid;gap:4px}
.money-u .now{font:600 clamp(28px,2.6vw,38px)/1 var(--rs-mono);letter-spacing:-.02em;color:var(--rs-ink);font-feature-settings:"tnum" 1;white-space:nowrap}
.money-u .was{font:400 14px/1.4 var(--rs-mono);color:var(--rs-mute)}
.money-u .was s{text-decoration-thickness:1px;color:var(--rs-mute)}
.money-u .half{font:500 14px/1.4 var(--rs-sans);color:var(--rs-ink)}
.money-u .anchor{font:400 13px/1.45 var(--rs-sans);color:var(--rs-mute);margin-block-start:4px}
.money-u .anchor b,.money-u .anchor .money{font-family:var(--rs-mono);font-weight:600;color:var(--rs-ink);font-size:12.5px}
/* the owned button: the only filled element */
.cta,a[data-presale-cta],.presale-body a[data-presale-cta],.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 22px;margin:0;background:var(--rs-btn);color:var(--rs-btn-ink);text-decoration:none;font:600 16px/1.25 var(--rs-sans);letter-spacing:0;text-transform:none;border:0;border-radius:var(--rs-r-btn);width:100%;max-width:420px;text-align:center;box-shadow:none;transition:background .15s;hyphens:manual;overflow-wrap:normal}
.cta:hover,a[data-presale-cta]:hover,.presale-body a[data-presale-cta]:hover,.btn:hover{background:var(--rs-btn-hover);color:var(--rs-btn-ink);transform:none}
.cta .arrow{font-family:var(--rs-mono);font-weight:500;flex:none}
.cta-missing{opacity:.55;cursor:not-allowed}
.v-cta,.offer .cta,.offer-line .cta{margin-block-start:12px}
/* facts under a button: mono figure, sans sentence */
.facts{display:grid;gap:6px;margin-block-start:14px}
.facts li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.45;color:var(--rs-ink);margin:0;padding:0}
.facts li .m{color:var(--rs-green-deep);padding-block-start:1px;font-weight:500;white-space:nowrap}
.facts li.note{color:var(--rs-mute);font-size:13px}
/* inline prose links: a 40 px hit area without moving the line (INLINE LINK TAP LAW) */
.prose a,.log-e p a,.p-body p a,.presale-body p a,.foot .note a,.p-byline a,.faq p a,.p-lead a,.tbl-note a,.lede a,.brandlink,.important p a{padding-block:12px;margin-block:-12px}
.brandlink{color:var(--rs-ink);text-decoration-color:var(--rs-green)}
/* text links for competitors and in-page jumps */
.ext,.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 15px/1.2 var(--rs-sans);color:var(--rs-ink);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--rs-rule)}
.ext:hover,.tlink:hover{text-decoration-color:currentColor;color:var(--rs-ink)}
.ext .arrow,.tlink .arrow{font-family:var(--rs-mono)}
/* the readings table */
.tbl-note{font:400 14px/1.5 var(--rs-sans);color:var(--rs-mute);margin-block-start:12px;max-width:80ch}
.swipe{display:none}
.readings-wrap{overflow-x:auto;border-block:1px solid var(--rs-ink);-webkit-overflow-scrolling:touch}
table.readings{width:100%;border-collapse:collapse;border-spacing:0;border:0;border-radius:0;background:transparent;font:400 13.5px/1.4 var(--rs-mono);font-feature-settings:"tnum" 1}
.readings th{text-align:start;font-weight:500;color:var(--rs-mute);padding:12px 10px 10px;border:0;border-block-end:1px solid var(--rs-rule);vertical-align:bottom;font-size:12.5px;background:var(--rs-sheet);letter-spacing:0;text-transform:none;white-space:normal}
.readings th small{display:block;font-weight:400;font-size:12px;color:var(--rs-mute)}
.readings td{padding:14px 10px;border:0;border-block-end:1px solid var(--rs-rule);vertical-align:top;background:var(--rs-sheet);color:var(--rs-ink);white-space:normal}
.readings td:not(.c-prod){unicode-bidi:plaintext}
.readings tbody tr:nth-child(odd) td{background:var(--rs-band)}
.readings tr:last-child td{border-block-end:0}
.readings .c-rank{width:38px;color:var(--rs-mute);border-inline-start:3px solid transparent}
.readings tr.is-winner .c-rank{color:var(--rs-green-deep);font-weight:600;border-inline-start-color:var(--rs-green)}
.readings .c-prod{font-family:var(--rs-sans);font-size:15.5px;font-weight:600;min-width:170px;max-width:240px}
.readings .c-prod small{display:block;font:400 13px/1.4 var(--rs-sans);color:var(--rs-mute)}
.readings .c-prod .rk,.readings .c-prod .ph{display:none}
.readings .c-prod a{color:inherit;text-decoration:none;font-weight:inherit;display:inline-block;padding-block:10px;margin-block:-10px}
.readings .c-prod a:hover{text-decoration:underline}
.readings .c-price b{font-weight:600}
.readings .c-price small{display:block;color:var(--rs-mute);font-size:12px;font-weight:400}
.readings td em{font-style:normal;color:var(--rs-mute)}
.readings .c-vs{white-space:nowrap}
.readings .c-vs b{font-weight:600}
.readings .c-marks{white-space:nowrap;letter-spacing:.02em}
.readings .c-marks span{display:inline-block;min-width:2.2ch;text-align:end}
.readings .c-total{min-width:104px}
.readings .c-total b{font-weight:600;font-size:18px}
.readings .c-total small{font-size:12px;color:var(--rs-mute)}
.bar{height:4px;background:var(--rs-mark-track);margin-block-start:6px}
.bar i{display:block;height:100%;width:var(--v);background:var(--rs-mark)}
.is-winner .bar i{background:var(--rs-green)}
/* the criteria under the table */
.crit{margin-block-start:28px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 24px;counter-reset:c}
.crit li{border-block-start:1px solid var(--rs-rule);padding-block-start:12px;font-size:15px;line-height:1.5;padding-inline:0;background:transparent;border-radius:0}
.crit li b{display:block;font:500 13px/1.4 var(--rs-mono);color:var(--rs-ink);margin-block-end:6px}
.crit li b::before{counter-increment:c;content:"0" counter(c) "  ";color:var(--rs-mute)}
.crit li b em{font-style:normal;color:var(--rs-mute);font-weight:400}
.crit li:not(:has(b))::before{counter-increment:c;content:"0" counter(c);display:block;font:500 13px/1.4 var(--rs-mono);color:var(--rs-mute);margin-block-end:6px}
.sec-body>.kicker+.crit{margin-block-start:0}
/* rank 1, opened: the one tinted sheet, rimless */
.sheet{background:var(--rs-band);padding:clamp(20px,3vw,36px);display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(250px,280px);gap:28px 32px;border:0;border-radius:0;box-shadow:none}
.sheet .media{display:grid;gap:12px;align-content:start}
.sheet .media .plate{aspect-ratio:4/5}
.sheet .media figcaption{font:400 13px/1.45 var(--rs-sans);color:var(--rs-mute);margin-block-start:8px}
.sheet .media .fig img{border-color:var(--rs-rule)}
.sheet .rank{font:500 13px/1 var(--rs-mono);color:var(--rs-green-deep);display:flex;gap:10px;align-items:center;margin-block-end:10px}
.sheet .rank i{font-style:normal;font-size:44px;line-height:.9;font-weight:600;letter-spacing:-.04em;color:var(--rs-green)}
.sheet h3.name{font-size:clamp(24px,2.2vw,30px);margin-block-end:6px}
.sheet .sub{font-size:15px;color:var(--rs-mute);margin-block-end:22px}
.sheet .body>.kicker:first-of-type{margin-block-start:0}
.findings{counter-reset:f;display:grid;gap:10px}
.findings li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;font-size:16px;line-height:1.5;padding-block-start:10px;border-block-start:1px solid var(--rs-rule);margin:0}
.findings li::before{counter-increment:f;content:"0" counter(f);font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px 24px;font-size:15.5px;line-height:1.5}
.fit div{border-block-start:1px solid var(--rs-rule);padding-block-start:10px}
.fit b{display:block;font:500 13px/1.6 var(--rs-mono);color:var(--rs-ink)}
.short{display:grid;gap:10px;font-size:16px;line-height:1.5}
.short li{border-block-start:1px solid var(--rs-rule);padding-block-start:10px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin:0}
.short li::before{content:"\2013";font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.offer{border-block-start:1px solid var(--rs-ink);padding-block-start:16px;align-self:start}
.offer .kicker{margin-block-start:0}
.marks{margin-block-start:22px;font:400 13px/1.6 var(--rs-mono);color:var(--rs-mute);padding-block-start:10px;border-block-start:1px solid var(--rs-rule)}
.marks b{color:var(--rs-ink);font-weight:600;font-size:18px}
.marks table{border-collapse:collapse;width:100%;margin-block-start:6px}
.marks td{padding:3px 0;border-block-start:1px solid var(--rs-rule)}
.marks td:last-child{text-align:end;color:var(--rs-ink);font-weight:500}
/* the other four: ledger rows */
.ledger .row{display:grid;grid-template-columns:44px 112px minmax(0,1fr) minmax(190px,220px);gap:18px 26px;padding-block:26px;border-block-start:1px solid var(--rs-rule);background:transparent;border-radius:0}
.ledger .row:last-child{border-block-end:1px solid var(--rs-rule)}
.ledger .r-main{grid-column:3}
.ledger .r-rank{font:600 24px/1 var(--rs-mono);color:var(--rs-mute);letter-spacing:-.03em;padding-block-start:4px}
.ledger .plate{aspect-ratio:1/1}
.ledger h3{font-size:clamp(19px,1.6vw,22px);margin-block-end:6px}
.ledger .why{font-size:16px;line-height:1.5;color:var(--rs-mute);max-width:60ch;margin-block-end:16px}
.fa{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.fa ul{font-size:15px;line-height:1.5}
.fa li{padding-block:6px;border-block-start:1px solid var(--rs-rule);margin:0}
.fa b{display:block;font:500 13px/1.6 var(--rs-mono);color:var(--rs-ink)}
.r-money{display:grid;gap:4px;align-content:start}
.r-money .now{font:600 24px/1.1 var(--rs-mono);letter-spacing:-.02em;font-feature-settings:"tnum" 1;white-space:nowrap}
.r-money .mult{font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute)}
.r-money .mult b{font-weight:600;color:var(--rs-ink)}
.r-money .ext,.r-money .tlink{margin-block-start:10px}
/* the log (the long review as dated entries) */
.prose{max-width:70ch}
.prose p{margin-block-end:18px}
.prose p:last-child{margin-block-end:0}
.prose h3{margin:34px 0 10px}
.prose a{color:var(--rs-ink);text-decoration-color:var(--rs-green)}
.log{margin-block-start:22px}
.log-e{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding-block:24px;border-block-start:1px solid var(--rs-rule)}
.log-e:last-child{border-block-end:1px solid var(--rs-rule)}
.log-e .day{font:400 13px/1.4 var(--rs-mono);color:var(--rs-mute)}
.log-e .day b{display:block;font-size:20px;font-weight:500;color:var(--rs-ink);letter-spacing:-.01em;line-height:1.1;margin-block-end:4px}
.log-e h3{margin-block-end:10px}
.log-e p{max-width:66ch;margin-block-end:14px;font-size:17px;line-height:1.55}
.log-e p:last-child{margin-block-end:0}
.log-e .fig{margin-block:20px 6px}
.log-e .fig.is-trimmed img,.log-e .fig.is-cropped img{transform:none;height:auto}
.costs{border-collapse:collapse;width:100%;max-width:560px;font:400 14px/1.4 var(--rs-mono);margin:14px 0 18px}
.costs-wrap{overflow-x:auto}
.costs th{text-align:start;font-weight:500;color:var(--rs-mute);padding:8px 16px 8px 0;border-block-end:1px solid var(--rs-rule);font-size:12.5px;background:transparent}
.costs td{padding:8px 16px 8px 0;border-block-end:1px solid var(--rs-rule);vertical-align:top;unicode-bidi:plaintext}
.costs td:first-child{font-family:var(--rs-sans);unicode-bidi:normal}
.costs td:last-child,.costs th:last-child{text-align:end;padding-inline-end:0;white-space:nowrap}
.costs .sum td{font-weight:600;border-block-end:1px solid var(--rs-ink)}
/* the routine (the value tiles as a ruled list until the timetable lands) and the offer line */
.tt{border-block-start:1px solid var(--rs-rule);max-width:820px}
.tt li{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;padding-block:12px;border-block-end:1px solid var(--rs-rule);align-items:baseline;margin:0}
.tt li:not(:has(.d)){grid-template-columns:88px minmax(0,1fr)}
.tt .m{color:var(--rs-ink);font-size:14px}
.tt .d{font:400 13px/1.4 var(--rs-mono);color:var(--rs-mute);white-space:nowrap}
.tt .s{font-size:15px;line-height:1.5}
.tt .s b{display:block}
.tt+.offer-line{margin-block-start:20px}
.offer-line{margin-block-start:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px 32px;align-items:center;max-width:820px;border-block:1px solid var(--rs-ink);padding-block:18px}
.offer-line .money-u{gap:2px}
.offer-line .money-u .now{font-size:30px}
.offer-line .incl{font-size:14px;line-height:1.5;margin-block-start:8px;max-width:52ch}
.offer-line .incl .m{color:var(--rs-mute);font-weight:400}
.offer-line .cta{margin-block-start:0;max-width:none}
/* questions */
.faq{max-width:820px;margin:0;padding:0;background:transparent}
.faq h2.flow-h{font-size:clamp(24px,2.2vw,30px);margin:0 0 10px}
.faq details{border:0;border-radius:0;background:transparent;padding:0;margin:0;border-block-start:1px solid var(--rs-rule)}
.faq details:last-of-type{border-block-end:1px solid var(--rs-rule)}
.faq details[open]{border-color:var(--rs-rule)}
.faq summary{list-style:none;cursor:pointer;display:block;position:relative;padding:16px 0;padding-block:16px;padding-inline:44px 32px;font:600 17px/1.35 var(--rs-sans);min-height:44px;color:var(--rs-ink);text-align:start}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{position:absolute;inset-inline-start:0;top:20px;font:500 13px/1 var(--rs-mono);color:var(--rs-mute)}
.faq summary::after{content:"+";position:absolute;inset-inline-end:0;top:14px;font:400 22px/1 var(--rs-mono);color:var(--rs-mute);text-align:center;width:auto;height:auto;border:0;transform:none;margin:0}
.faq details[open] summary::after{content:"\2212";transform:none}
.faq details p,.faq details > :not(summary){padding:0 0 18px 44px;padding-inline-start:44px;padding-inline-end:0;max-width:66ch;margin:0;font-size:17px;line-height:1.55;color:var(--rs-ink)}
.faq details:not(:has(.q)) summary{padding-inline-start:0}
.faq details:not(:has(.q)) > :not(summary){padding-inline-start:0}
.important{margin:36px 0 0;margin-block-start:36px;padding:0;padding-block-start:16px;border:0;border-block-start:1px solid var(--rs-rule);border-radius:0;background:transparent;position:static}
.important::before{display:none}
.important strong{display:block;font:500 13px/1 var(--rs-mono);color:var(--rs-mute);letter-spacing:0;text-transform:none;margin:0 0 10px}
.important p{font-size:15px;line-height:1.55;color:var(--rs-mute);max-width:72ch}
.important .kicker{margin-block-start:0}
/* the decision */
.decision .prose p{font-size:17px}
.decision .offer-line{margin-block-start:22px}
.decision .line,.p-offer .line{font:400 13px/1.5 var(--rs-sans);color:var(--rs-mute);margin-block-start:12px;max-width:80ch}

/* ---- 6. the presale (review) page: the shared normaliser output in the bench-sheet grammar (RS-DESIGN-SPEC section 11) ----
   Classes: the template (data/msads-top5-presale-page.mjs: .presale-body .p-meta .p-lead .p-offer* .p-iconrow .p-pquote .p-pull .p-stars
   .p-byline .p-comment .p-c-*), the normaliser (.p-features .p-feature .p-ticks .p-crosses .p-tick .p-cross .p-step .p-kicker .p-offer-slot
   .p-offer-rows .p-figcaption .p-packshot .p-cutout .p-quote .p-verified .p-yes .p-no) and the per-doc packs (alc-*, cf-*, brb-*).
   The cascade: the skin link follows the template style and the doc pack style, so equal-specificity rules here win. Logical properties. */
.presale-article{background:var(--rs-sheet)}
body[data-top5-presale-brand]{background:var(--rs-sheet)}
.presale-body{max-width:calc(70ch + 2 * var(--rs-gutter));margin:0 auto;padding:0 var(--rs-gutter) 56px;padding-block:0 56px;color:var(--rs-ink);font-family:var(--rs-sans);font-size:17px;line-height:1.55;overflow-wrap:anywhere;counter-reset:rs-row rs-feat rs-step}
.presale-body p,.presale-body li{color:var(--rs-ink);font-size:17px;line-height:1.55;text-wrap:pretty}
.presale-body p{margin:0 0 18px}
.presale-body li{margin:0}
.presale-body b,.presale-body strong{color:var(--rs-ink);font-weight:600}
.presale-body s,.presale-body del{color:var(--rs-mute);text-decoration-thickness:1px}
.presale-body em,.presale-body i{font-style:normal}
.presale-body .p-hl{background:transparent;padding:0;border-radius:0;font-weight:600;font-family:var(--rs-mono);font-feature-settings:"tnum" 1}
.presale-body :is(h1,h2,h3,h4,h5){font-family:var(--rs-sans);font-weight:600;color:var(--rs-ink);letter-spacing:-.02em;text-wrap:pretty;hyphens:manual;text-transform:none}
.presale-body h1{font-size:clamp(28px,3.1vw,44px);line-height:1.1;max-width:26ch;margin:24px 0 18px;margin-block:24px 18px}
:is([lang=de],[lang=fi],[lang=hu],[lang=nl],[lang=el]) .presale-body h1{font-size:clamp(26px,2.8vw,40px)}
.presale-body h2{font-size:clamp(24px,2.2vw,30px);line-height:1.18;margin:44px 0 14px;padding:0;position:static;color:var(--rs-ink);text-align:start}
.presale-body h2::before{display:none}
.presale-body h1+h2,.presale-body .p-meta+h2{margin-top:24px}
.presale-body h3,.presale-body h4{font-size:clamp(19px,1.6vw,22px);line-height:1.3;margin:28px 0 10px;color:var(--rs-ink)}
.presale-body h2+h3{margin-top:20px}
.presale-body h5{font-size:17px;line-height:1.35;margin:22px 0 8px}
.presale-body h6,.presale-body .p-kicker,.presale-body .cf-kick{font:500 13px/1.45 var(--rs-mono);color:var(--rs-mute);letter-spacing:0;text-transform:none;margin:26px 0 8px}
.presale-body h6+div>div>p:only-child{display:inline;margin:0}
.presale-body h6+div>div{margin:0 0 8px}
.presale-body :is(h1,h2,h3,h4,h5,h6) img{display:none}
/* the lead */
.presale-body .p-lead,.presale-body h1:not(:is(h1,h2,h3,h4,img,.p-meta) ~ h1):not(:is(h1,h2,h3,h4,img,.p-meta) ~ * h1)+p,.presale-body .p-meta+h4,.presale-body .p-meta+div>img:first-child+div>p,.presale-body .p-meta+div>div:first-child>img:first-child+div>p,.presale-body img:first-of-type+p{font-family:var(--rs-sans);font-size:clamp(18px,1.5vw,21px);line-height:1.45;color:var(--rs-ink);font-weight:400;font-style:normal;letter-spacing:0;text-transform:none;max-width:62ch;margin:0 0 22px;hyphens:manual}
.presale-body :is(.p-lead,h1+p) :is(b,strong,a){color:inherit;font-weight:600;font-style:normal}
.presale-body :is(.p-lead,h1+p) :is(em,i){color:inherit;font-weight:inherit;font-style:normal}
.presale-body :is(.p-meta+div,.p-meta+script+div)>blockquote:first-child:not(.p-pull){border:0;background:transparent;border-radius:0;padding:0;margin:0 0 18px;font-family:var(--rs-sans);font-size:clamp(18px,1.5vw,21px);line-height:1.45;color:var(--rs-ink);font-weight:400;quotes:none}
/* links: ink text on a green underline; the button is styled with .cta above */
.presale-body a{color:var(--rs-ink);font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:var(--rs-green)}
.presale-body a:not([data-presale-cta]){font-weight:inherit}
.presale-body a:hover{color:var(--rs-green-deep);text-decoration-color:var(--rs-green-deep)}
.presale-body a:not([href*="techfibrr"]):not([data-presale-cta]){color:inherit;text-decoration:none;cursor:default}
.presale-body :is(h1,h2,h3,h4,h5,h6) a{text-decoration:none;color:inherit}
.presale-body a.buy{color:var(--rs-ink);text-decoration-color:var(--rs-green);font-weight:500}
.presale-body a[data-presale-cta]{display:flex;max-width:460px;margin:22px 0;margin-inline:0;text-wrap:balance}
.presale-body a[data-presale-cta]::after{content:"\2192";font-family:var(--rs-mono);font-weight:500;margin-inline-start:.45em;display:inline-block}
[dir=rtl] .presale-body a[data-presale-cta]::after{transform:scaleX(-1)}
.presale-body a[data-presale-cta] img,.presale-body a[data-presale-cta] svg{display:none}
/* imagery: a 1 px rule, no radius, no shadow; photographs fill the measure */
.presale-body img{border-radius:0;border:1px solid var(--rs-rule);box-shadow:none;margin:8px 0 24px;margin-inline:0;background:var(--rs-plate);object-fit:cover}
.presale-body img:first-of-type{max-height:none;object-fit:cover}
.presale-body img:is([width^="5"],[width^="6"],[width^="7"],[width^="8"],[width^="9"],[width="100%"]):not(.p-vector):not(.p-small):not(.p-icon):not(.p-avatar):not(.p-meta-ava):not(.p-c-ava):not(.p-packshot):not(.p-cutout):not(.p-product){width:100%;height:auto}
.presale-body img.p-avatar,.presale-body img.p-meta-ava,.presale-body img.p-c-ava{display:none}
.presale-body img.p-small{border:0;background:transparent;margin:4px 0;margin-inline-end:10px}
.presale-body img.p-icon{border:0;background:transparent;margin:0;margin-inline-end:6px}
.presale-body img.p-vector,.presale-body .p-vector{border:0;background:transparent;box-shadow:none;margin:12px 0 14px;margin-inline:0;filter:grayscale(1) contrast(1.2);opacity:.85}
.presale-body img.p-vector[src*='/50off'],.presale-body img.p-small[src*='guarantee'],.presale-body img.p-small[src*='designimage'],.presale-body div>img.p-vector[src*='/icon']:first-child,.presale-body img.p-vector[src*='/stars'],.presale-body img.p-vector[src*='/star'],.presale-body ul.p-stars,.presale-body .p-qstars,.presale-body .p-ustars,.presale-body .p-offer-stars,.presale-body .p-meta-rate,.presale-body .p-rate-solo,.presale-body .p-verified,.presale-body .brb-q-badge,.presale-body .alc-q-badge,.presale-body .cf-q-badge,.presale-body .brb-q-who i,.presale-body .alc-q-who i,.presale-body .cf-q-who i,.presale-body .brb-q-mark,.presale-body .alc-q-mark,.presale-body .cf-q-mark,.presale-body .p-pquote-mark,.presale-body .brb-q-ava,.presale-body .alc-q-ava,.presale-body .cf-q-ava{display:none}
.presale-body img.p-packshot,.presale-body img.p-product,.presale-body img.p-cutout{display:block;width:auto;max-width:100%;max-height:420px;margin:8px auto 24px;padding:6%;background:var(--rs-plate);border:0;border-radius:0;object-fit:contain;box-sizing:border-box;mix-blend-mode:multiply}
.presale-body img.p-cutout{max-width:320px;max-height:320px}
.presale-body img[loading=lazy]:not(.p-vector):not(.p-icon):not(.p-small){background:var(--rs-plate)}
.presale-body .p-figcaption,.presale-body img:first-of-type+p.p-figcaption{font:400 13px/1.5 var(--rs-sans);color:var(--rs-mute);text-align:start;margin:-14px 0 20px;letter-spacing:0;text-transform:none;font-weight:400}
/* the byline row: mono, a rule beneath, no chip, no avatar, no rating */
.presale-body .p-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;margin:0 0 22px;padding:12px 0;padding-block:12px;border:0;border-block-end:1px solid var(--rs-rule);border-radius:0;background:transparent;box-shadow:none;font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute);justify-content:flex-start}
.presale-body .p-meta-col{display:contents}
.presale-body .p-meta-name,.presale-body .p-meta-sub,.presale-body .p-meta-cat{font:inherit;color:var(--rs-mute);font-weight:400}
.presale-body .p-meta-name{color:var(--rs-ink);font-weight:500}
.presale-body .p-meta-name:not(:last-child)::after,.presale-body .p-meta-sub:not(:last-child)::after{content:"\00b7";margin-inline:9px;color:var(--rs-rule)}
.presale-body .p-meta-name[data-initial]::before,.presale-body .p-meta-name .brand[data-initial]::before{display:none}
.presale-body .p-meta-sub bdi,.presale-body .p-meta bdi{color:var(--rs-ink);font-weight:500}
.presale-body ul.p-byline{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;margin:0 0 22px;padding:12px 0;border-block-end:1px solid var(--rs-rule);font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute)}
.presale-body ul.p-byline li{margin:0;font:inherit;color:inherit;letter-spacing:0;text-transform:none}
.presale-body ul.p-byline li:not(:last-child)::after{content:"\00b7";margin:0;margin-inline:9px;color:var(--rs-rule)}
.presale-body ul.p-byline li.p-meta-name{color:var(--rs-ink);font-weight:500}
.presale-body ul.p-byline .brand{display:inline;font:inherit;color:inherit;min-height:0;gap:0}
.presale-body ul.p-byline .brand[data-initial]::before{display:none}
/* lists: hairline rows, a mono numeral for every tick, a mono dash for every cross (no tiles, no ticks) */
.presale-body ul,.presale-body ol{margin:0 0 18px;padding:0;margin-inline-start:0;list-style:none}
.presale-body ol{counter-reset:rs-ol}
.presale-body ol>li{counter-increment:rs-ol}
.presale-body ol>li::marker{content:""}
.presale-body ul:not(.p-byline,.p-stars)>li:not(:has(> img)),.presale-body ol>li,.presale-body li.p-tick,.presale-body li.p-cross,.presale-body ul.p-ticks>li,.presale-body ul.p-crosses>li{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:start;padding-block:8px;border-block-start:1px solid var(--rs-rule);list-style:none}
.presale-body ul:not(.p-byline,.p-stars)>li:not(:has(> img))::before,.presale-body ul.p-ticks>li::before{content:"\2013";grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute);width:auto;height:auto;border:0;background:none;margin:0}
.presale-body ol>li::before{content:"0" counter(rs-ol);grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.presale-body ul.p-ticks{counter-reset:rs-tick}
.presale-body ul.p-ticks>li{counter-increment:rs-tick}
.presale-body ul.p-ticks>li::before{content:"0" counter(rs-tick)}
.presale-body ul.p-crosses>li::before,.presale-body li.p-cross::before{content:"\2013";grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute);width:auto;height:auto;border:0;background:none;margin:0}
.presale-body li:has(> img.p-icon,> img.p-vector,> img.p-small){display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:start;padding-block:8px;border-block-start:1px solid var(--rs-rule)}
.presale-body li:has(> img.p-icon,> img.p-vector,> img.p-small)>img{display:none}
.presale-body li:has(> img.p-icon,> img.p-vector,> img.p-small)::before{content:"\2013";grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.presale-body li>div{display:inline}
.presale-body li img.p-icon+p,.presale-body li img.p-vector+p,.presale-body li img.p-small+p{display:inline;margin:0}
.presale-body li>div:empty,.presale-body div:empty:not([data-p-row] div){display:none}
.presale-body ul:last-child,.presale-body ol:last-child{border-block-end:1px solid var(--rs-rule)}
/* feature rows and blocks: a mono numeral in the start gutter, a bold sans head, plain copy */
.presale-body .p-iconrow,.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow),.presale-body div[data-w-id]:has(> img.p-icon:first-child + div:last-child){display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:start;text-align:start;margin:0 0 4px;padding-block:10px;border-block-start:1px solid var(--rs-rule);counter-increment:rs-row}
.presale-body .p-iconrow>img,.presale-body div[data-w-id]:has(> img.p-icon:first-child + div:last-child)>img.p-icon,.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow)>div:first-child:has(> img.p-vector){display:none}
.presale-body .p-iconrow::before,.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow)::before,.presale-body div[data-w-id]:has(> img.p-icon:first-child + div:last-child)::before{content:"0" counter(rs-row);grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute);width:auto;height:auto;background:none;border:0}
.presale-body .p-iconrow>div,.presale-body div[data-w-id]:has(> img.p-icon:first-child + div:last-child)>div,.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow)>div:nth-child(2){grid-column:2;font-family:var(--rs-sans);font-size:17px;line-height:1.55;color:var(--rs-ink);font-weight:400}
.presale-body .p-iconrow>div>p:first-child,.presale-body .p-iconrow>div>div:first-child,.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow)>div:nth-child(2)>p:first-child{color:var(--rs-ink);font-weight:600;font-family:var(--rs-sans);font-size:17px;line-height:1.35;letter-spacing:0;margin:3px 0 4px}
.presale-body .p-iconrow>div>p{margin:0 0 6px}
.presale-body div:has(> div:first-child > img:only-child):has(> div:nth-child(2) > p:first-child):not([data-p-row]):not(.p-iconrow)>div:first-child:has(> img:not(.p-vector)){grid-column:2;grid-row:2;margin:0}
.presale-body div:has(> img.p-vector[src*='/check']:first-child):has(> h6){display:block;margin:0 0 6px}
.presale-body div:has(> img.p-vector[src*='/check']:first-child):has(> h6)>img{display:none}
.presale-body div:has(> img.p-vector[src*='/check']:first-child):has(> h6)>h6,.presale-body h3.p-feat{position:static;padding-inline-start:0;font:600 clamp(19px,1.6vw,22px)/1.3 var(--rs-sans);letter-spacing:-.02em;text-transform:none;color:var(--rs-ink);margin:24px 0 8px}
.presale-body div:has(> img.p-vector[src*='/check']:first-child):has(> h6)>h6::before,.presale-body h3.p-feat::before{display:none}
.presale-body span:has(> img.p-vector[src*='icon-check']){display:inline-flex;align-items:center;gap:6px;font:500 13px/1.45 var(--rs-mono);color:var(--rs-mute)}
.presale-body span:has(> img.p-vector[src*='icon-check'])>img{display:none}
.presale-body span:has(> img.p-vector[src*='icon-check'])::before{display:none}
.presale-body div:has(> ul.p-stars:first-child + p):not(.p-iconrow *){border:0;border-inline-start:2px solid var(--rs-rule);background:transparent;border-radius:0;padding:4px 0 4px 18px;padding-inline:18px 0;margin:0 0 16px}
.presale-body div:has(> ul.p-stars:first-child + p):not(.p-iconrow *)>p{margin:0 0 8px}
/* the feature trays and the per-doc packs (alc-*, cf-*, brb-*): hairline entries, mono numerals, no rim, no radius, no shadow */
.presale-body .p-features,.presale-body .alc-feats,.presale-body .brb-atts,.presale-body .brb-feats,.presale-body .cf-quotes,.presale-body .brb-quotes,.presale-body .alc-quotes{display:grid;grid-template-columns:1fr;gap:0;margin:8px 0 28px;border-block-end:1px solid var(--rs-rule);counter-reset:rs-feat}
.presale-body .p-feature,.presale-body .alc-feat,.presale-body .brb-att,.presale-body .brb-feat{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:start;border:0;border-block-start:1px solid var(--rs-rule);border-radius:0;background:transparent;box-shadow:none;padding:10px 0;margin:0;counter-increment:rs-feat;min-width:0;gap:0 10px}
.presale-body :is(.p-feature,.alc-feat,.brb-att,.brb-feat)::before{content:"0" counter(rs-feat);grid-column:1;grid-row:1;font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.presale-body :is(.p-feature,.alc-feat,.brb-att,.brb-feat)>*{grid-column:2}
.presale-body .p-feature h3,.presale-body .p-feature>h2,.presale-body .alc-feat-tx h4,.presale-body .brb-att-tx :is(h3,h4),.presale-body .brb-feat-tx :is(h3,h4){font-size:17px;line-height:1.35;margin:3px 0 4px;padding:0;position:static;min-height:0;letter-spacing:0}
.presale-body .p-feature h3::before,.presale-body .p-features.p-features-numbered .p-feature h3::before{display:none}
.presale-body .p-feature p,.presale-body .alc-feat-tx p,.presale-body .brb-att-tx p,.presale-body .brb-feat-tx p{margin:0 0 6px;font-size:16px;line-height:1.5;color:var(--rs-ink)}
.presale-body .alc-feat-ic,.presale-body .brb-att>p:has(.brb-att-n),.presale-body .brb-att-n{display:none}
.presale-body .brb-att-tx,.presale-body .brb-feat-tx{display:block;min-width:0}
/* quotes: hairline entries on a 2 px rule at the inline start, no stars, no badges, no avatars */
.presale-body figure.alc-quote,.presale-body figure.cf-quote,.presale-body figure.brb-quote,.presale-body .p-pquote,.presale-body blockquote,.presale-body blockquote.p-quote,.presale-body article.p-comment,.presale-body .p-comment{display:block;border:0;border-inline-start:2px solid var(--rs-rule);border-radius:0;box-shadow:none;background:transparent;padding:4px 0 4px 18px;padding-inline:18px 0;margin:0 0 18px;position:static}
.presale-body figure.alc-quote::before,.presale-body figure.cf-quote::before,.presale-body figure.brb-quote::before{display:none}
.presale-body .alc-q-body,.presale-body .cf-q-body,.presale-body .brb-q-body,.presale-body .p-pquote-body,.presale-body blockquote p{font-size:16px;line-height:1.55;color:var(--rs-ink);text-align:start;margin:0 0 8px}
.presale-body .alc-q-foot,.presale-body .cf-q-foot,.presale-body .brb-q-foot,.presale-body .p-pquote-meta,.presale-body blockquote .p-attrib,.presale-body .p-c-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;border:0;margin:6px 0 0;padding:0;font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute)}
.presale-body .alc-q-foot p,.presale-body .cf-q-foot p,.presale-body .brb-q-foot p{display:contents;font:inherit;margin:0}
.presale-body .alc-q-who b,.presale-body .cf-q-who b,.presale-body .brb-q-who b,.presale-body .p-c-name,.presale-body blockquote .p-attrib{font:500 13px/1.5 var(--rs-mono);color:var(--rs-ink)}
.presale-body .cf-q-who em,.presale-body .p-c-time,.presale-body .p-c-count{font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute)}
.presale-body .p-pquote{grid-template-columns:none;overflow:visible}
.presale-body .p-pquote-img{display:block;width:100% !important;height:auto !important;max-width:320px;margin:0 0 12px !important;border:1px solid var(--rs-rule) !important;border-radius:0 !important}
.presale-body .p-pquote figcaption{padding:0;position:static}
.presale-body blockquote.p-pull{border:0;border-inline-start:2px solid var(--rs-ink);padding:6px 0;padding-inline-start:22px;margin:28px 0}
.presale-body blockquote.p-pull p{font:600 clamp(19px,1.6vw,22px)/1.3 var(--rs-sans);color:var(--rs-ink);margin:0;letter-spacing:-.02em}
.presale-body blockquote.p-pull :is(a,b,strong){font-weight:inherit;color:inherit;text-decoration:none}
.presale-body .p-c-grid{display:grid;gap:0;margin:8px 0 24px}
.presale-body h4.p-c-title{font-size:17px;line-height:1.35;margin:0 0 6px}
.presale-body p.p-c-body,.presale-body .p-comment p{font-size:16px;line-height:1.5;margin:0;color:var(--rs-ink)}
.presale-body .p-c-reply{background:transparent;border:0;border-inline-start:2px solid var(--rs-rule);padding-inline-start:14px;border-radius:0}
.presale-body .p-c-reacts,.presale-body .p-c-social{display:none}
/* the offer unit: the money unit beside the button between two ink rules (the instrument under the lead is the first) */
.presale-body .p-offer-slot{margin:32px 0}
.presale-body .p-offer-slot:last-child{margin-bottom:0}
.presale-body .p-offer-slot>.p-offer{margin:0}
.p-offer,.presale-body .p-offer,.presale-body .p-offer-coupon,.presale-body .p-offer-card,.presale-body .p-offer-strip,.p-offer-card,.presale-body .p-offer.p-offer-coupon{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-template-areas:"eyebrow eyebrow" "price cta" "urgency cta" "trust trust";gap:8px 32px;align-items:center;border:0;border-block:1px solid var(--rs-ink);border-radius:0;background:transparent;box-shadow:none;max-width:none;padding:20px 0;margin:32px 0;text-align:start}
.presale-body .p-offer-slot.rs-first .p-offer{grid-template-columns:minmax(0,1fr) minmax(280px,460px);margin-block-start:0}
.presale-body .p-offer-code{display:inline-block;background:transparent;border:1px solid var(--rs-rule);border-radius:0;padding:4px 10px;font:500 13px/1.4 var(--rs-mono);letter-spacing:0;margin:0 0 12px;color:var(--rs-ink)}
.presale-body .p-offer-head,.presale-body :is(h1,h2,h3,h4,h5,h6,p):has(+ .p-offer){text-align:start}
.p-offer-head,.presale-body .p-offer-head{border-bottom:0}
.presale-body h2.p-offer-head::before,.presale-body [data-p-row]:not([data-p-stack]) h2::before{display:none}
.p-offer-eyebrow,.presale-body .p-offer-eyebrow{grid-area:eyebrow;display:block;position:static;padding:0;margin:0 0 4px;font:500 13px/1.45 var(--rs-mono);color:var(--rs-mute);letter-spacing:0;text-transform:none}
.presale-body .p-offer-eyebrow::before,.p-offer-eyebrow::before{display:none}
.presale-body .p-offer-price,.presale-body .p-offer-rows{grid-area:price;display:grid;grid-template-columns:1fr;gap:4px;max-width:none;margin:0;text-align:start;justify-content:start;flex-wrap:nowrap;align-items:start}
.presale-body .p-offer-now{display:block;order:-1;font-size:0;line-height:1;color:var(--rs-ink);min-height:0}
.presale-body .p-offer-now b{display:block;font:600 clamp(28px,2.6vw,38px)/1 var(--rs-mono);letter-spacing:-.02em;color:var(--rs-ink);background:transparent;border-radius:0;padding:0;font-feature-settings:"tnum" 1;white-space:nowrap}
.presale-body .p-offer-was{display:block;font:400 14px/1.4 var(--rs-mono);color:var(--rs-mute);min-height:0}
.presale-body .p-offer-was s,.presale-body .p-offer-was>s{color:var(--rs-mute);order:0;flex:none;text-decoration-thickness:1px}
.presale-body :is(.p-offer-was,.p-offer-now)::before,.presale-body .p-offer-rows div::before{display:none}
.presale-body .p-offer-label{order:0;flex:none;color:var(--rs-mute);font:400 14px/1.4 var(--rs-mono)}
.presale-body .p-offer-rows div{display:block;min-height:0}
.presale-body .p-offer-rows dt{font:400 14px/1.4 var(--rs-mono);color:var(--rs-mute);margin:0}
.presale-body .p-offer-rows dd{margin:0;font:600 18px/1.2 var(--rs-mono);color:var(--rs-ink)}
.presale-body .p-offer-rows dd s{color:var(--rs-mute);font-weight:400;font-size:14px}
.presale-body .p-offer-rows dd b{font-size:clamp(28px,2.6vw,38px);line-height:1;color:var(--rs-ink)}
.presale-body .p-offer a[data-presale-cta]{grid-area:cta;margin:0;max-width:none;width:100%}
.p-offer-urgency,.presale-body .p-offer-urgency{grid-area:urgency;color:var(--rs-mute);font:400 13px/1.5 var(--rs-sans);letter-spacing:0;text-transform:none;text-wrap:pretty;margin:0;max-width:56ch;text-align:start}
.p-offer-trust,.presale-body .p-offer-trust{grid-area:trust;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 24px;justify-content:start;border:0;padding:6px 0 0;background:transparent;color:var(--rs-ink);font:400 14px/1.45 var(--rs-sans);letter-spacing:0;text-transform:none}
.presale-body .p-offer-trust>span,.p-offer-trust>span,.presale-body .p-offer-trust>p>span{display:block;border:0;border-block-start:1px solid var(--rs-rule);border-radius:0;padding:8px 0 0;background:transparent;white-space:normal;text-align:start;max-width:100%;justify-content:flex-start}
.presale-body .p-offer-trust>span.p-trust::before,.p-offer-trust>span.p-trust::before,.presale-body .p-offer-trust>p>span.p-trust::before,.presale-body .p-offer-slot .p-offer-trust>span::before,.presale-body .p-offer-slot .p-offer-trust>p>span::before{display:none}
.presale-body [data-p-row] .p-offer-eyebrow{font-size:13px}
.presale-body [data-p-row] :is(.p-offer-price,.p-offer){font-size:17px;line-height:1.55}
/* tables: the comparison table between ink rules, mono figures, zebra on the band */
.presale-body table{width:100%;border:0;border-block:1px solid var(--rs-ink);border-radius:0;background:transparent;font:400 13.5px/1.4 var(--rs-mono);font-feature-settings:"tnum" 1;border-collapse:collapse;border-spacing:0;overflow:visible;margin:14px 0 18px}
.presale-body th{background:var(--rs-sheet);color:var(--rs-mute);font:500 12.5px/1.4 var(--rs-mono);letter-spacing:0;text-transform:none;text-align:start;padding:10px 10px 8px;border:0;border-block-end:1px solid var(--rs-rule);vertical-align:bottom;white-space:normal}
.presale-body th:not(:first-child){text-align:start}
.presale-body td{border:0;border-block-end:1px solid var(--rs-rule);color:var(--rs-ink);vertical-align:top;padding:10px;white-space:normal;background:var(--rs-sheet);unicode-bidi:plaintext}
.presale-body td:first-child{font-family:var(--rs-sans);font-weight:600;font-size:15px;unicode-bidi:normal}
.presale-body td p{margin:0;font-size:inherit;line-height:1.4}
.presale-body tbody tr:nth-child(odd) td{background:var(--rs-band)}
.presale-body tr:nth-child(even) td{background:var(--rs-sheet)}
.presale-body tr:last-child td{border-block-end:0}
.presale-body td:has(> img.p-vector),.presale-body td.p-tick,.presale-body td.p-cross,.presale-body td:has(> .p-yes,> .p-no){text-align:start;vertical-align:top}
.presale-body td>img.p-vector,.presale-body td:has(> img:is([src*='/success.'],[src*='/no.']))>img{display:none}
.presale-body td:has(> img[src*='/success.'])::before,.presale-body td.p-tick::before,.presale-body .p-yes::before{content:"yes";font:500 13px/1.4 var(--rs-mono);color:var(--rs-ink);display:inline;width:auto;height:auto;background:none;border:0}
.presale-body td:has(> img[src*='/no.'])::before,.presale-body td.p-cross::before,.presale-body .p-no::before{content:"no";font:500 13px/1.4 var(--rs-mono);color:var(--rs-mute);display:inline;width:auto;height:auto;background:none;border:0}
.presale-body .p-yes,.presale-body .p-no{display:inline;width:auto;height:auto;border-radius:0;color:transparent;font-size:0;line-height:1;background:none;overflow:visible}
:lang(de) .presale-body :is(.p-yes,td.p-tick)::before{content:"ja"}:lang(de) .presale-body :is(.p-no,td.p-cross)::before{content:"nein"}
:lang(fr) .presale-body :is(.p-yes,td.p-tick)::before{content:"oui"}:lang(fr) .presale-body :is(.p-no,td.p-cross)::before{content:"non"}
:lang(es) .presale-body :is(.p-yes,td.p-tick)::before{content:"sí"}:lang(es) .presale-body :is(.p-no,td.p-cross)::before{content:"no"}
:lang(it) .presale-body :is(.p-yes,td.p-tick)::before{content:"sì"}:lang(it) .presale-body :is(.p-no,td.p-cross)::before{content:"no"}
:lang(pt) .presale-body :is(.p-yes,td.p-tick)::before{content:"sim"}:lang(pt) .presale-body :is(.p-no,td.p-cross)::before{content:"não"}
:lang(nl) .presale-body :is(.p-yes,td.p-tick)::before{content:"ja"}:lang(nl) .presale-body :is(.p-no,td.p-cross)::before{content:"nee"}
:lang(da) .presale-body :is(.p-yes,td.p-tick)::before{content:"ja"}:lang(da) .presale-body :is(.p-no,td.p-cross)::before{content:"nej"}
:lang(sv) .presale-body :is(.p-yes,td.p-tick)::before{content:"ja"}:lang(sv) .presale-body :is(.p-no,td.p-cross)::before{content:"nej"}
:lang(fi) .presale-body :is(.p-yes,td.p-tick)::before{content:"kyllä"}:lang(fi) .presale-body :is(.p-no,td.p-cross)::before{content:"ei"}
:lang(pl) .presale-body :is(.p-yes,td.p-tick)::before{content:"tak"}:lang(pl) .presale-body :is(.p-no,td.p-cross)::before{content:"nie"}
:lang(cs) .presale-body :is(.p-yes,td.p-tick)::before{content:"ano"}:lang(cs) .presale-body :is(.p-no,td.p-cross)::before{content:"ne"}
:lang(sk) .presale-body :is(.p-yes,td.p-tick)::before{content:"áno"}:lang(sk) .presale-body :is(.p-no,td.p-cross)::before{content:"nie"}
:lang(hu) .presale-body :is(.p-yes,td.p-tick)::before{content:"igen"}:lang(hu) .presale-body :is(.p-no,td.p-cross)::before{content:"nem"}
:lang(ro) .presale-body :is(.p-yes,td.p-tick)::before{content:"da"}:lang(ro) .presale-body :is(.p-no,td.p-cross)::before{content:"nu"}
:lang(bg) .presale-body :is(.p-yes,td.p-tick)::before{content:"да"}:lang(bg) .presale-body :is(.p-no,td.p-cross)::before{content:"не"}
:lang(hr) .presale-body :is(.p-yes,td.p-tick)::before{content:"da"}:lang(hr) .presale-body :is(.p-no,td.p-cross)::before{content:"ne"}
:lang(sl) .presale-body :is(.p-yes,td.p-tick)::before{content:"da"}:lang(sl) .presale-body :is(.p-no,td.p-cross)::before{content:"ne"}
:lang(et) .presale-body :is(.p-yes,td.p-tick)::before{content:"jah"}:lang(et) .presale-body :is(.p-no,td.p-cross)::before{content:"ei"}
:lang(lv) .presale-body :is(.p-yes,td.p-tick)::before{content:"jā"}:lang(lv) .presale-body :is(.p-no,td.p-cross)::before{content:"nē"}
:lang(el) .presale-body :is(.p-yes,td.p-tick)::before{content:"ναι"}:lang(el) .presale-body :is(.p-no,td.p-cross)::before{content:"όχι"}
:lang(he) .presale-body :is(.p-yes,td.p-tick)::before{content:"כן"}:lang(he) .presale-body :is(.p-no,td.p-cross)::before{content:"לא"}
.presale-body iframe,.presale-body video{border-radius:0;box-shadow:none;border:1px solid var(--rs-rule)}
.presale-body hr{border:0;height:1px;background:var(--rs-rule);margin:24px 0}
/* multi-column rows: flags keep a grid, reason rows read as two columns with a mono step numeral */
.presale-body [data-p-row]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;align-items:start;justify-items:start;text-align:start;margin:8px 0 24px}
.presale-body [data-p-row]>*{width:100%;min-width:0}
.presale-body [data-p-row]>div:empty{display:none}
.presale-body [data-p-row] img{margin:0 0 10px}
.presale-body [data-p-row] p,.presale-body [data-p-row] div{font-size:15.5px;line-height:1.5}
.presale-body [data-p-row]:has(> :nth-child(12)){grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 8px}
.presale-body [data-p-row]:has(> :nth-child(12)) img.p-vector{width:40px;max-height:30px;border:1px solid var(--rs-rule);margin:0 0 6px;filter:none;opacity:1}
.presale-body [data-p-row]:has(> :nth-child(12)) p{font-size:13px;line-height:1.3;margin:0}
.presale-body [data-p-stack]{text-align:start;justify-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:32px;margin:0 0 40px;counter-increment:rs-step}
.presale-body section:has([data-p-stack]),.presale-body div:has(> [data-p-stack]){counter-reset:rs-step}
.presale-body [data-p-stack] p,.presale-body [data-p-stack] div{font-size:17px;line-height:1.55}
.presale-body [data-p-stack] h2:first-child{margin-top:0}
.presale-body [data-p-stack]>div:not(:has(*)){display:none}
.presale-body [data-p-stack]>div:has(h2,h3){grid-column:1;grid-row:1}
.presale-body [data-p-stack]>img,.presale-body [data-p-stack]>div:has(> img:only-child){grid-column:2;grid-row:1;align-self:center}
.presale-body [data-p-stack]>img,.presale-body [data-p-stack]>div:has(> img:only-child)>img{width:100%;height:auto;margin:0}
.presale-body [data-p-row]:has(.p-offer){grid-template-columns:1fr}
.presale-body .p-step,.presale-body [data-p-stack]:not(:has(.p-step))>div>div:first-child>span:only-child,.presale-body [data-p-stack]:not(:has(.p-step))>div>div:first-child:not(:has(*))::before{display:inline-block;min-width:0;height:auto;padding:0;background:transparent;color:var(--rs-mute);border:0;border-radius:0;font:500 13px/1.9 var(--rs-mono);letter-spacing:0;margin:0;margin-inline-end:12px;vertical-align:baseline}
.presale-body [data-p-stack]:not(:has(.p-step))>div>div:first-child:not(:has(*))::before{content:counter(rs-step,decimal-leading-zero)}
.presale-body [data-p-stack]:has(.p-step)>div>div:first-child:not(:has(*)){display:none}
.presale-body :is(h2,h3):has(> .p-step){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:baseline;padding-inline-start:0}
.presale-body :is(h2,h3):has(> .p-step)::before{display:none}
.presale-body :is(h2,h3):has(> .p-step)>.p-step{margin:0}
.presale-body .p-nowrap,.presale-body .nb{white-space:nowrap;hyphens:manual}
.presale-body :is(.p-meta-col,.p-meta-rate,.p-offer-eyebrow,.p-offer-price,.p-offer-was,.p-offer-now,.p-offer-urgency,.p-offer-trust,.p-c-head,.p-c-id,.p-attrib)>p{display:contents;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;margin:0}
.presale-body :is(h1,h2,h3,.p-meta,img) ~ h1,.presale-body :is(h1,h2,h3,.p-meta,img) ~ * h1{font-size:clamp(24px,2.2vw,30px);line-height:1.18;margin:44px 0 14px;max-width:none}
.presale-body [aria-label*="readers"],.presale-body [aria-label*="likes"]{display:none}
.presale-body svg{max-width:56px;max-height:56px}
.presale-body .p-doc-main>section>div>div>div>div:first-child>h1:first-child{margin-top:24px}
:is([lang=de],[lang=fi],[lang=hu],[lang=nl],[lang=sv],[lang=da],[lang=et],[lang=el],[lang=bg]) .presale-body :is(h1,h2,h3,h4,h5){hyphens:manual}
.presale-body h1[data-h1-len]{font-size:clamp(28px,3.1vw,44px)}
[lang=he] .presale-body :is(h1,h2,h3,h4,h6){letter-spacing:0}

/* ---- 7. the homepage and the legal pages (RS-DESIGN-SPEC section 12; the sitegen lane emits these classes) ----
   homepage: header.mast, section.head (specimen line, h1 as a claim, dek), four railed groups section.sec > .wrap > .rail + .sec-body > ol.idx
   (li > a: span.plate.photo img, span.ix (span.ixn name, span.ixw what we tested), span.ixc mono count), section#method .crit, section#about
   .prose, section#standards .prose, footer.foot. legal: section.head + section.sec.doc (.rail with the page number, .sec-body .prose at 70ch
   with h2/h3, ol.toc, the .updated mono line). 404: section.head + .prose + the index link. */
.idx{display:block;border-block-start:1px solid var(--rs-rule)}
.idx li{margin:0}
.idx li a{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px 20px;align-items:center;padding-block:12px;border-block-end:1px solid var(--rs-rule);text-decoration:none;color:var(--rs-ink);min-height:44px}
.idx .plate{width:56px;aspect-ratio:1/1;flex:none}
.idx .ixn{display:block;font:500 17px/1.3 var(--rs-sans);text-decoration:underline;text-decoration-color:var(--rs-rule);text-underline-offset:.2em}
.idx li a:hover .ixn{text-decoration-color:currentColor}
.idx .ixw{display:block;font:400 14px/1.45 var(--rs-sans);color:var(--rs-mute);max-width:60ch}
.idx .ixc{font:400 13px/1.45 var(--rs-mono);color:var(--rs-mute);white-space:nowrap;text-align:end}
.idx .ixc b{font-weight:500;color:var(--rs-ink)}
.home .crit{margin-block-start:0}
.doc .prose{max-width:70ch}
.doc .prose h2{margin:34px 0 10px;font-size:clamp(22px,2vw,26px)}
.doc .prose h2:first-child{margin-block-start:0}
.doc .prose h3{margin:26px 0 8px}
.doc .prose ul,.doc .prose ol{margin:0 0 18px;display:grid;gap:6px}
.doc .prose li{padding-block:6px;border-block-start:1px solid var(--rs-rule);display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px}
.doc .prose ul li::before{content:"\2013";font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.doc .prose ol{counter-reset:d}
.doc .prose ol li::before{counter-increment:d;content:"0" counter(d);font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.doc .prose table{border-collapse:collapse;width:100%;font:400 14px/1.4 var(--rs-mono);margin:14px 0 18px;border-block:1px solid var(--rs-ink)}
.doc .prose th,.doc .prose td{text-align:start;padding:8px 10px;border-block-end:1px solid var(--rs-rule);vertical-align:top}
.doc .prose th{font-weight:500;color:var(--rs-mute);font-size:12.5px}
.doc .prose td:first-child{font-family:var(--rs-sans)}
.doc .updated{font:400 13px/1.5 var(--rs-mono);color:var(--rs-mute);margin-block-end:18px}
.toc{display:block;border-block-start:1px solid var(--rs-rule);max-width:70ch;margin-block-end:28px;counter-reset:t}
.toc li{margin:0}
.toc li a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;min-height:44px;padding-block:6px;border-block-end:1px solid var(--rs-rule);text-decoration:none;color:var(--rs-ink);font-size:15px}
.toc li a::before{counter-increment:t;content:"0" counter(t);font:500 13px/1.9 var(--rs-mono);color:var(--rs-mute)}
.toc li a:hover{text-decoration:underline;text-underline-offset:.16em}
.doc .prose .doc-a{padding-block:12px;margin-block:-12px}

/* ---- 8. the consent notice (rs_consent, consent.js #ctr-consent): a white sheet with one rule, one filled button, one text button ---- */
#ctr-consent,[data-consent-banner]{left:0;right:0;bottom:0;max-width:none;margin:0;background:var(--rs-sheet)!important;color:var(--rs-ink)!important;border:0!important;border-top:1px solid var(--rs-rule)!important;border-radius:0!important;box-shadow:var(--rs-shadow)!important;font-family:var(--rs-sans)!important;font-size:14px!important;overflow:visible}
#ctr-consent::before{display:none}
#ctr-consent .ctr-in{max-width:var(--rs-wrap);margin:0 auto;padding:16px var(--rs-gutter);display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
#ctr-consent p,[data-consent-banner] p{color:var(--rs-ink)!important;font-size:14px!important;line-height:1.5!important;flex:1 1 320px;margin:0}
#ctr-consent p a,[data-consent-banner] a{color:var(--rs-ink)!important;text-decoration:underline!important;text-decoration-color:var(--rs-green)!important;text-decoration-thickness:1px!important;text-underline-offset:.16em;padding-block:calc((40px - 1em)/2);padding-inline:2px;margin-inline:-2px}
#ctr-consent p a:hover{color:var(--rs-green-deep)!important}
#ctr-consent .ctr-btns{display:flex;gap:8px 12px;margin-inline-start:auto;width:auto}
#ctr-consent button,[data-consent-banner] button{font-family:var(--rs-sans)!important;font-weight:600!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.25!important;border-radius:var(--rs-r-btn)!important;min-height:44px;padding:10px 20px!important;transition:background .15s,color .15s}
#ctr-consent #ctr-yes{background:var(--rs-btn)!important;color:var(--rs-btn-ink)!important;border:0!important}
#ctr-consent #ctr-yes:hover{background:var(--rs-btn-hover)!important;color:var(--rs-btn-ink)!important}
#ctr-consent #ctr-no{background:transparent!important;color:var(--rs-ink)!important;border:1px solid var(--rs-rule)!important}
#ctr-consent #ctr-no:hover{background:var(--rs-band)!important;color:var(--rs-ink)!important;border-color:var(--rs-rule)!important}
#ctr-consent button:focus-visible,#ctr-consent a:focus-visible{outline:2px solid var(--rs-focus)!important;outline-offset:3px;box-shadow:none!important}
:lang(he) #ctr-consent,:lang(he) #ctr-consent button{font-family:"IBM Plex Sans Hebrew",var(--rs-sans)!important}

/* ---- 9. tablet: the rail folds inline, the three-column blocks become two ---- */
@media (max-width:1023px){
  .sec > .wrap{grid-template-columns:minmax(0,1fr);row-gap:14px;padding-block:28px 40px}
  .rail{position:static;display:flex;align-items:baseline;gap:10px}
  .rail b{display:inline;font-size:20px;margin:0}
  .rail span{display:inline}
  .verdict{grid-template-columns:minmax(200px,240px) minmax(0,1fr);grid-template-areas:"plate rank" "plate name" "plate why" "plate short" "plate total" "money money" "cta cta" "facts facts";grid-template-rows:auto;gap:8px 28px}
  .v-money{margin-block-start:10px}
  .sheet{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}
  .sheet .offer{grid-column:1 / -1}
  .crit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-cols{grid-template-columns:1fr 1fr}
  .strip{gap:10px 12px}
  .strip .plate{width:48px}
  .strip .sn{font-size:13px}
}
/* ---- 10. phone (RS-DESIGN-SPEC section 10) ---- */
@media (max-width:760px){
  body{font-size:16px}
  .mast .wrap,.sitebar .wrap{gap:14px}
  .brand{font-size:19px}
  .mast .adv,.sitebar .adv{font-size:12px}
  .langmenu{position:fixed;inset-inline:12px;inset-inline-end:12px;top:60px;min-width:0;max-height:calc(100vh - 80px);overflow:auto}
  .head{padding-block-start:14px}
  .specimen{margin-block-end:12px;font-size:12px}
  h1{font-size:27px}
  .dek{font-size:15.5px;line-height:1.45;margin-block-start:12px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .sec > .wrap{padding-block:22px 34px}
  .sec.first > .wrap{padding-block-start:10px;row-gap:10px}
  .v-money .anchor{display:none}
  .sec-body{display:flex;flex-direction:column}
  .sec-body > *{min-width:0}
  .first .verdict{order:1}
  .first .strip{order:2;margin:24px 0 0;padding-block:18px 0;border-block-end:0;border-block-start:1px solid var(--rs-rule);grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .first .strip a{flex-direction:column;align-items:flex-start;gap:6px;min-height:0}
  .first .strip .plate{width:100%;max-width:64px}
  .first .strip .sn{display:none}
  .verdict{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"plate rank" "plate name" "plate money" "why why" "short short" "total total" "cta cta" "facts facts";gap:6px 14px}
  .v-plate{aspect-ratio:4/5}
  .v-rank{margin:0}
  .v-rank i{font-size:28px}
  .v-name{font-size:24px}
  .v-money{margin:0}
  .money-u .now{font-size:clamp(24px,7vw,30px)}
  .v-why{font-size:15.5px;max-width:none;margin-block-start:6px}
  .v-short{max-width:none;font-size:15px;margin-block-start:4px;padding-block-start:8px}
  .v-total{margin-block-start:4px;font-size:13px}
  .v-cta{margin-block-start:8px;max-width:none}
  .v-facts{margin-block-start:6px}
  .swipe{display:block;font:400 12.5px/1.5 var(--rs-mono);color:var(--rs-mute);margin-block-end:8px}
  .readings-wrap{border-block:1px solid var(--rs-rule)}
  table.readings{font-size:13px;min-width:600px}
  .readings th:first-child,.readings td.c-rank{display:none}
  .readings .c-prod{position:sticky;inset-inline-start:0;z-index:2;min-width:164px;max-width:176px;border-inline-end:1px solid var(--rs-rule);box-shadow:none}
  .readings tbody tr:nth-child(odd) td{background:var(--rs-sheet)}
  .readings .c-prod .rk{display:inline;font:600 13px/1 var(--rs-mono);color:var(--rs-mute);margin-inline-end:6px}
  .readings tr.is-winner .c-prod .rk{color:var(--rs-green-deep)}
  .readings tr.is-winner .c-prod{border-inline-start:3px solid var(--rs-green)}
  .readings .c-prod .ph{display:block;font:500 13px/1.5 var(--rs-mono);color:var(--rs-ink);margin-block-start:6px;white-space:nowrap}
  .readings .c-prod small{display:none}
  .readings th,.readings td{padding:10px 8px}
  .crit{grid-template-columns:1fr;gap:14px}
  .sheet{grid-template-columns:1fr;gap:20px;padding:18px 16px}
  .sheet .media{grid-template-columns:1fr;gap:14px}
  .sheet .media .plate{aspect-ratio:16/10}
  .sheet .rank i{font-size:34px}
  .fit{grid-template-columns:1fr}
  .sheet .offer{grid-column:auto}
  .ledger .row{grid-template-columns:32px 84px minmax(0,1fr);gap:12px 14px;padding-block:20px}
  .ledger .r-rank{font-size:20px}
  .ledger .r-main{grid-column:1 / -1}
  .ledger .r-head{grid-column:3}
  .ledger .r-money{grid-column:2 / -1;grid-row:2}
  .fa{grid-template-columns:1fr}
  .log-e{grid-template-columns:minmax(0,1fr);gap:8px}
  .log-e .day b{display:inline;font-size:16px;margin-inline-end:8px}
  .costs{font-size:13px}
  .tt li,.tt li:not(:has(.d)){grid-template-columns:72px minmax(0,1fr)}
  .tt .d{grid-column:2}
  .offer-line,.p-offer,.presale-body .p-offer,.presale-body .p-offer-slot.rs-first .p-offer{grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "price" "cta" "urgency" "trust"}
  .faq summary{padding-inline:38px 28px;font-size:16px}
  .faq details p,.faq details > :not(summary){padding-inline-start:38px}
  .presale-body{padding-inline:var(--rs-gutter)}
  .presale-body h1{font-size:27px}
  .presale-body .p-meta,.presale-body ul.p-byline{font-size:12px;padding-block:10px;margin-block-end:14px}
  .presale-body a[data-presale-cta]{max-width:none}
  .presale-body .p-offer-trust{grid-template-columns:1fr}
  .presale-body [data-p-stack]{grid-template-columns:1fr;gap:16px}
  .presale-body [data-p-stack]>div:has(h2,h3),.presale-body [data-p-stack]>img,.presale-body [data-p-stack]>div:has(> img:only-child){grid-column:auto;grid-row:auto}
  .presale-body [data-p-row]:has(> :nth-child(12)){grid-template-columns:repeat(4,minmax(0,1fr))}
  .presale-body table:not(.p-t2){display:block;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:thin;font-size:13px}
  .presale-body th,.presale-body td{padding:8px 6px;font-size:13px;white-space:normal}
  .presale-body table.p-t2{display:table}
  .xs-hide{display:none}
  .idx li a{grid-template-columns:48px minmax(0,1fr);gap:6px 12px}
  .idx .ixc{grid-column:2;text-align:start}
  .foot{margin-block-start:48px;padding-block:32px 24px}
  .foot-cols{grid-template-columns:1fr;gap:26px}
  .foot .copy nav,.foot .copy .foot-nav{margin-inline-start:0}
  #ctr-consent .ctr-in{padding:14px var(--rs-gutter);gap:10px}
  #ctr-consent .ctr-btns{margin:0;width:100%}
  #ctr-consent button{flex:1;padding:10px 8px!important}
}
@media (max-width:479px){
  .langsel summary .ln,.langsel summary .lbl{display:none}
  .langsel summary{padding-inline-start:12px}
  .presale-body [data-p-row]:has(> :nth-child(12)){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}

/* DR_CHROME_HOME_ONLY_V1 (operator 2026-09-14): the language selector lives on the homepage only; every other page hides it. RoutineScout variant: ol.strip is the rank strip (content) and td .bar the score bar, both stay. */
body[data-top5-artifact] .langsel,body[data-top5-artifact] .langmenu,body[data-top5-artifact] .langs,body[data-dr] .langsel,body[data-dr] .langmenu,body[data-dr] .langs{display:none!important}

/* ---- 11. RS_MOBILE_W2_V1 (the mobile fleet W2, the RoutineScout ship lane, 2026-10-24; mobile-fleet/w2/rs/ship/DONE.md; LEAD RULINGS RS-1, RS-5 and RS-6
   of w2/rs/LEAD-RULINGS.md, the critic's verdicts of w1/rs/critic/CRITIC.md and the fleet ruling w2/FLEET-RULING-TEXTWRAP.md): four layout corrections.
   No theme token, colour, radius or face is touched (THEME LAW); logical properties only; every rule is scoped to its page family by the body hooks. ---- */
/* RS-L1 (high): a legal list item rendered one word per line. The .doc .prose li of section 7 is a grid with a 32 px marker column, and a li with mixed
   inline content (b, span.nb, bare text runs) yields one grid item per inline run, so the text runs that land in the marker lane wrap one word per line
   (the privacy policy's section 3 in every language at every width). The li becomes a block and the marker sits absolutely in the same 32 px lane; the
   ul's grid, its 6 px row gap, the li's 6 px block padding, the top hairline, the dash and the counter stay. Scope: body.legal[data-dr] (the 66 legal
   pages) and body.home[data-dr] (the 404). */
body.legal[data-dr] .doc .prose li,body.home[data-dr] .doc .prose li{display:block;position:relative;padding-inline-start:42px}
body.legal[data-dr] .doc .prose li::before,body.home[data-dr] .doc .prose li::before{position:absolute;inset-inline-start:0;inset-block-start:6px;inline-size:32px}
/* CM2 (low, the critic's find): the contents list printed "0" plus the counter, so the twelve section terms of use pages read 010, 011, 012;
   decimal-leading-zero pads below ten only. The ol twin of the prose list takes the same form (no prose ol exists today). Same scope. */
body.legal[data-dr] .toc li a::before,body.home[data-dr] .toc li a::before{content:counter(t,decimal-leading-zero)}
body.legal[data-dr] .doc .prose ol li::before,body.home[data-dr] .doc .prose ol li::before{content:counter(d,decimal-leading-zero)}
/* CM1 (medium, the critic's find): the guide headline broke long compounds mid word with no hyphen on every Finnish guide and on long Dutch compounds
   (the heading rule of section 3 sets hyphens manual with overflow-wrap anywhere, so a word wider than the column breaks anywhere: "paremmuusjärjestykse"
   then "ssä" on its own line). Under 760 px the guide h1 may hyphenate at a dictionary point, long words only (18 letters and more, 6 kept on each side;
   WebKit honours the prefixed before and after limits), proven in both engines by the critic (w1/rs/critic/h1-hyphens-v2.css). Scope: the v2 guide body. */
@media (max-width:760px){
  body[data-top5-visual="RS_BENCH_SHEET_V2"] h1{-webkit-hyphens:auto;hyphens:auto;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;hyphenate-limit-chars:18 6 6}
}
/* RS_SAFARI_TEXTWRAP_V1 (the fleet ruling TW, LEAD RULING RS-5): the Safari text-wrap pretty crash guard. Safari 26 class WebKit can crash while laying
   out a page whose text carries text-wrap: pretty at certain viewport widths (proven on the sister sites at 401 to 416 px; the trigger is text and width
   dependent and cannot be enumerated). Inside @supports (hanging-punctuation: first), true in Safari and WebKit only, at every width, text-wrap: wrap
   on every selector this skin gives text-wrap: pretty (.foot .note of section 4, .presale-body p and li, the .presale-body headings and .p-offer-urgency
   of section 6) and on the review sheet's own carriers (rs-presale.css: .presale-body p and li, blockquote.p-pull p), by the id level override (three
   :not(#rs-none) on :root) without an important flag. The text-wrap: balance rules are left alone. Removable in one edit when WebKit ships the fix.
   TW-A1 (the balance restraint, 2026-10-24; w2/FLEET-RULING-TEXTWRAP.md amendment TW-A1, w2tw2/rs/LEAD-RULINGS.md RS-TW2-1): the guard out ranked the
   review sheet's balance rule on the .presale-body headings, so one id level balance re-assertion after the wrap rule gives them their balance back
   and leaves with the guard. */
@supports (hanging-punctuation:first){:root:not(#rs-none):not(#rs-none):not(#rs-none) :is(.foot .note,.presale-body p,.presale-body li,.presale-body :is(h1,h2,h3,h4,h5),.p-offer-urgency,.presale-body blockquote.p-pull p){text-wrap:wrap}
:root:not(#rs-none):not(#rs-none):not(#rs-none) body[data-top5-visual="RS_PRESALE_V2"] .presale-body :is(h1,h2,h3,h4,h5){text-wrap:balance}
}
/* ---- 11 ends ---- */
