/* =====================================================================
   v2.8 TYPE SYSTEM (client type scale, 4 Nov 2026)
   Simplon Norm (fallback Inter) for everything, Simplon Mono (fallback
   IBM Plex Mono) for labels, buttons, footer headings and battery part
   numbers. Sizes: desktop / tablet (<1024px) / mobile (<767px).
     Display (hero H1)   82 / 60 / 44   700  lh 1.2 (1.08 at 82)
     Section H2          60 / 46 / 32   700  lh 1.1
     Small H2, global H1 40 / 28 / 24   700  -0.5px
     H3, H4              30 / 22 / 20   700  lh 38 / 30
     Card title          30             700
     Body                20             300  lh 1.5
     H5, label           18 mono        700  lh 1.2
     H6, button          18 mono        700  uppercase
     Footer heading      15 / 14 mono   700  +0.5px
     Footer links        16 / 14        400
   Loaded after rba.css / rba2-revisions.css.
   ===================================================================== */
:root{
  --t-display:82px; --t-h2:60px; --t-h2s:40px; --t-h3:30px; --t-h3-lh:38px;
  --t-card:30px; --t-body:20px; --t-label:18px; --t-btn:18px;
  --t-foot-h:15px; --t-foot-a:16px;
  --h2:var(--t-h2);
}
@media (max-width:1023px){ :root{ --t-display:60px; --t-h2:46px; --t-h2s:28px; --t-h3:22px; --t-h3-lh:30px; --t-foot-h:14px; --t-foot-a:14px } }
@media (max-width:766px){ :root{ --t-display:44px; --t-h2:32px; --t-h2s:24px; --t-h3:20px; --t-h3-lh:30px } }

/* ---------- base ---------- */
html body,body.rba{font-family:var(--fb);font-weight:300;font-size:var(--t-body);line-height:1.5}
b,strong{font-weight:700}
h1,h2,h3,h4{font-family:var(--fh);font-weight:700;letter-spacing:-.5px;text-wrap:balance}
p{text-wrap:pretty}
h5{font:700 var(--t-label)/1.2 var(--fm)}
h6{font:700 var(--t-btn)/1.2 var(--fm);text-transform:uppercase;color:var(--gold-d)}
::selection{background:var(--gold);color:var(--teal-x)}
input,textarea{caret-color:var(--cta)}

/* ---------- display ---------- */
.hero__h,.phero h1,.rcm-hero h1{font-size:clamp(44px,5.6vw,var(--t-display));font-weight:700;line-height:1.1;letter-spacing:-1px}
@media (max-width:1023px){ .hero__h,.phero h1,.rcm-hero h1{font-size:var(--t-display);line-height:1.15} }
@media (max-width:766px){ .hero__h,.phero h1,.rcm-hero h1{line-height:1.2;letter-spacing:-.5px} }
/* short laptop screens: keep the hero inside one screen */
@media (min-width:1024px) and (max-height:820px){ .hero__h{font-size:clamp(44px,min(5.6vw,8.4vh),var(--t-display))} }
.hero__lead,.phero__lead{font-size:var(--t-body);font-weight:300;line-height:1.5}

/* ---------- section headings ---------- */
.rsh h2{font-size:var(--t-h2);font-weight:700;line-height:1.1;letter-spacing:-.5px}
.rsh p{font-size:var(--t-body);font-weight:300;line-height:1.5;max-width:62ch}
.rfinal h2{font-size:var(--t-h2);font-weight:700;line-height:1.1}
.rsh--left h2{font-size:var(--t-h2s)}
.rich-content h1,.entry-content h1,.post-title,.rpost-h1{font-size:var(--t-h2s);line-height:1.3}
.rich-content h2,.entry-content h2{font-size:var(--t-h2s);line-height:1.2}
.rich-content h3,.entry-content h3,.rich-content h4,.entry-content h4{font-size:var(--t-h3);line-height:var(--t-h3-lh)}

/* ---------- card titles ---------- */
.rsv h3,.rpf h3,.ft h3,.rfl h3,.rfs h3,.ans__b h3,.rmodel h3,.rcar-model h3{font-size:var(--t-card);line-height:1.15;font-weight:700}
.rst h3,.rpost h3{font-size:22px;line-height:1.25}
.rsv h3{font-size:26px}
@media (max-width:766px){ .rsv h3,.rpf h3,.ft h3,.rfl h3,.rfs h3,.ans__b h3{font-size:24px} }
.rsv p,.rpf p,.ft p,.rfl p,.rfs p,.rst p,.rpost__ex,.ans__b p{font-size:17px;font-weight:300;line-height:1.5}
.ragc b,.rcar-makes b,.rmi b,.rabox b{font-weight:700}

/* ---------- labels (mono) ---------- */
.rpf small,.flip__f small,.flip__b small,.rbr__f small,.rbr__oh,.rvt__h,.rmega__h,.rsubs__near b,.rbf__lbl,.rvt__f span,.rvt__show>span,.rfs__veh small,.rf label,.rtag,.rtop__inf{font-family:var(--fm);font-weight:700;letter-spacing:.02em}
.rpf small,.rbr__f small,.rbr__oh,.rvt__h,.rmega__h,.rfs__veh small,.rtag{font-size:13px;text-transform:uppercase}
.rbr__o b,.rbr__f--part b{font-family:var(--fm);font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- buttons (mono, uppercase) ---------- */
.rbtn,.rbf__go,.rvt__more{font-family:var(--fm);font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.rbtn{font-size:var(--t-btn)}
.rbtn--l{font-size:var(--t-btn)}
.rbtn--s,.rbf__go{font-size:15px}
.rbtn--xs,.rvt__more{font-size:13px}
@media (max-width:599px){ .rrow>.rbtn{font-size:14px} }
.rnav__link{font-family:var(--fh);font-weight:600}

/* ---------- footer ---------- */
.rfoot h4{font:700 var(--t-foot-h)/1.3 var(--fm);letter-spacing:.5px;text-transform:uppercase}
.rfoot a{font-size:var(--t-foot-a);font-weight:400}

/* ---------- quieter surfaces: no lift on hover, no decorative numbers ---------- */
.rsv:hover,.rfl:hover,.ft:hover,.rpf:hover,.ragc:hover,.rfs:hover,.rmi:hover,.rcar-makes a:hover,.rsubs__g li:hover,.rachip:hover{transform:none}
.ft__n,.rfs__n{display:none}
.rfs__h{justify-content:flex-start}

/* ---------- v2.8 de-template pass ----------
   Solid colour instead of gradient text, no frosted glass, no lifting /
   tilting / rotating cards on hover (border colour + shadow only). */
.hero__h span,.phero h1 span{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--gold)}
.rhd{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.rmbar{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero__pill,.sv__btn,.ropt,.phero__badges span,.val,.gsearch input,.rhs__ui{backdrop-filter:none;-webkit-backdrop-filter:none}
.ropt:hover,.rst:hover,.rnum:hover,.rrev:hover,.rpost:hover,.rsoc a:hover,.val:hover,.prom:hover,.kit button:hover,.gcat:hover,.feat:hover,.cw:hover,.gc:hover,.ragc:hover,.rcar-makes a:hover,.rbf__go:hover:not(:disabled){transform:none}
.rst:hover .rst__n,.cw:hover i,.gc:hover i{transform:none}
.rpost:hover .rpost__img img,.feat:hover .feat__img img{transform:none}
@media (hover:hover){ .rflip:hover:not(.is-on) .flip__in{transform:none} }
.gc[aria-pressed="true"],.gc[aria-current="page"]{transform:none;background:var(--teal)}
.rbr{animation:none}
/* no decorative offset frame or dot grid around the hero photo */
.hero__frame::before,.hero__frame::after{content:none}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
