/* ==========================================================================
   Roland Fitness 2026 design layer. Loaded on EVERY page, last.
   1) Fonts and tokens  2) Shared header, footer, sticky bar (rf- classes)
   3) Theme for the existing inner pages (body.rf). The repeated .rf class
      lifts specificity above the older applestyle.css rules without
      rewriting them. Change colours in :root only.
   ========================================================================== */
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-var.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-var-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ground:#F7F3EA; --stone:#EDE6D6; --paper:#FBF8F1; --rule:#D9CFBA; --ink:#2A2622; --muted:#5C5348;
  --gold:#B8924A; --gold-ink:#7A5C1E; --gold-light:#E2C88E;
  --band:#3A322B;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(20px,4vw,48px);
  /* older tokens, remapped */
  --cream:#F7F3EA; --tan:#FBF8F1; --soft:#5C5348; --gold-t:#7A5C1E;
}

/* ---------- 2) Shared header / footer / sticky ---------- */
.rf-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--ground);padding:12px 18px;text-decoration:none;font:500 15px/1 var(--sans)}
.rf-skip:focus{left:8px}
.rf-wrap{max-width:1344px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);box-sizing:border-box}
.rf-header{position:relative;z-index:60;background:var(--ground)}
.rf-hdr{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:14px;padding-bottom:14px}
.rf-brand{display:flex;align-items:center;min-height:44px}
.rf-brand img{display:block;width:150px;height:32px}
.rf-nav{display:none}
.rf-nav a{font:400 15px/1 var(--sans);color:var(--ink);text-decoration:none;padding:14px 0}
.rf-nav a:hover,.rf-nav a[aria-current]{color:var(--gold-ink)}
.rf-cta{display:flex;align-items:center;gap:12px}
.rf-cta .rf-btn{display:none}
.rf-menu{min-width:48px;min-height:44px;padding:0 18px;background:none;border:1px solid var(--rule);border-radius:22px;font:500 14px/1 var(--sans);color:var(--ink);cursor:pointer}
.rf-mnav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--ground)}
.rf-mnav[hidden]{display:none}
.rf-mnav a{display:block;padding:16px var(--pad);font:400 24px/1.2 var(--serif);color:var(--ink);text-decoration:none;border-top:1px solid var(--rule)}
.rf-mnav a:first-child{border-top:0}
.rf-mnav a[aria-current]{color:var(--gold-ink)}
@media (min-width:980px){
  .rf-nav{display:flex;gap:30px;align-items:center}
  .rf-cta .rf-btn{display:inline-flex}
  .rf-menu,.rf-mnav{display:none!important}
  .rf-hdr{padding-top:22px;padding-bottom:22px}
}
.rf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font:500 15px/1 var(--sans);letter-spacing:.02em;text-decoration:none;border-radius:2px;border:1px solid transparent;box-sizing:border-box;transition:background-color .2s,color .2s}
.rf-btn-dark{background:var(--ink);color:var(--ground)}
.rf-btn-dark:hover{background:#4A3F33;color:var(--ground)}
.rf-btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.rf-btn-line:hover{background:var(--ink);color:var(--ground)}

.rf-footer{border-top:1px solid var(--rule);background:var(--ground)}
.rf-ftr{display:flex;flex-wrap:wrap;gap:28px 64px;justify-content:space-between;padding-top:56px;padding-bottom:110px;font:400 14px/1.6 var(--sans);color:var(--ink);text-align:left}
.rf-ftr .rf-name{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px}
.rf-ftr p{color:var(--muted);line-height:1.7;margin:0}
.rf-ftr a{color:inherit}
.rf-ftr nav{display:flex;flex-wrap:wrap;gap:4px 28px;max-width:680px}
.rf-ftr nav a{text-decoration:none;padding:10px 0}
.rf-ftr nav a:hover{text-decoration:underline}
@media (min-width:980px){.rf-ftr{padding-bottom:56px}}
body.rf-no-sticky .rf-ftr{padding-bottom:56px}

.rf-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:10px;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));background:rgba(247,243,234,.96);border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rf-sticky .rf-btn{flex:1}
.rf-sticky .rf-wa{flex:0 0 52px;padding:0}
@media (min-width:980px){.rf-sticky{display:none}}
html.menu-open .rf-sticky{display:none}

/* ---------- 3) Theme for inner pages ---------- */
body.rf{background:var(--ground)!important;color:var(--ink)!important;font-family:var(--sans)!important;-webkit-font-smoothing:antialiased}
body.rf *{font-family:inherit}
.rf.rf.rf.rf.rf.rf :focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}

/* Headings: light editorial serif */
.rf.rf.rf.rf.rf.rf h1,.rf.rf.rf.rf.rf.rf h2,.rf.rf.rf.rf.rf.rf h3,.rf.rf.rf.rf.rf.rf .quote,.rf.rf.rf.rf.rf.rf .faq summary,.rf.rf.rf.rf.rf.rf .more summary{font-family:var(--serif)!important;color:var(--ink)!important;text-wrap:balance}
.rf.rf.rf.rf.rf.rf h1{font-weight:300!important;font-size:clamp(44px,6vw,84px)!important;line-height:1!important;letter-spacing:-.022em!important}
.rf.rf.rf.rf.rf.rf h2{font-weight:300!important;font-size:clamp(32px,3.8vw,52px)!important;line-height:1.08!important;letter-spacing:-.015em!important}
.rf.rf.rf.rf.rf.rf h3{font-weight:400!important;font-size:clamp(21px,1.8vw,24px)!important;line-height:1.2!important;letter-spacing:-.005em!important}
.rf.rf.rf.rf.rf.rf h4{font-family:var(--sans)!important;font-weight:600!important;color:var(--ink)!important}

/* Body copy */
.rf.rf.rf.rf.rf.rf p,.rf.rf.rf.rf.rf.rf li,.rf.rf.rf.rf.rf.rf .lead,.rf.rf.rf.rf.rf.rf .card p,.rf.rf.rf.rf.rf.rf .list li,.rf.rf.rf.rf.rf.rf .small{font-family:var(--sans)!important}
.rf.rf.rf.rf.rf.rf .lead,.rf.rf.rf.rf.rf.rf .card p,.rf.rf.rf.rf.rf.rf .list li,.rf.rf.rf.rf.rf.rf .steps p,.rf.rf.rf.rf.rf.rf .faq details p{color:var(--muted)!important}
.rf.rf.rf.rf.rf.rf .lead{font-size:18px!important;line-height:1.65!important}
.rf.rf.rf.rf.rf.rf a:not([class]){color:inherit;text-decoration-color:var(--gold);text-underline-offset:4px}

/* Eyebrows */
.rf.rf.rf.rf.rf.rf .eyebrow,.rf.rf.rf.rf.rf.rf .tag,.rf.rf.rf.rf.rf.rf .lite-step{font:500 12px/1.4 var(--sans)!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--gold-ink)!important}

/* Sections and rules */
.rf.rf.rf.rf.rf.rf .sec{border-color:var(--rule)!important}
.rf.rf.rf.rf.rf.rf .sec+.sec,.rf.rf.rf.rf.rf.rf main>.sec:not(.home-hero):not(:first-child){border-top:1px solid var(--rule)!important}
.rf.rf.rf.rf.rf.rf .list li,.rf.rf.rf.rf.rf.rf .scores li,.rf.rf.rf.rf.rf.rf .faq details,.rf.rf.rf.rf.rf.rf .more,.rf.rf.rf.rf.rf.rf hr{border-color:var(--rule)!important}

/* Closing "let's have a chat" panel */
.rf.rf.rf.rf.rf.rf .sec.chat{background:var(--stone)!important;border-top:0!important}

/* Buttons: dark primary, outlined secondary, square corners */
.rf.rf.rf.rf.rf.rf main .btn,.rf.rf.rf.rf.rf.rf .lite .btn{background:var(--ink)!important;color:var(--ground)!important;border:1px solid var(--ink)!important;border-radius:2px!important;font:500 15px/1 var(--sans)!important;letter-spacing:.02em!important;box-shadow:none!important;min-height:52px!important;padding:0 28px!important;text-decoration:none}
.rf.rf.rf.rf.rf.rf main .btn:hover{background:#4A3F33!important}
.rf.rf.rf.rf.rf.rf main .btn.ghost,.rf.rf.rf.rf.rf.rf main .msg-pills a,.rf.rf.rf.rf.rf.rf main .btn-secondary,.rf.rf.rf.rf.rf.rf .lite .btn.ghost{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important}
.rf.rf.rf.rf.rf.rf main .btn.ghost:hover,.rf.rf.rf.rf.rf.rf main .msg-pills a:hover{background:var(--ink)!important;color:var(--ground)!important}
.rf.rf.rf.rf.rf.rf .sec.chat .btn-pair .btn:first-child{background:var(--ink)!important;color:var(--ground)!important}

/* Cards: paper panels, fine border, square corners */
.rf.rf.rf.rf.rf.rf .card,.rf.rf.rf.rf.rf.rf .qcard,.rf.rf.rf.rf.rf.rf .feature,.rf.rf.rf.rf.rf.rf .toby,.rf.rf.rf.rf.rf.rf main .cards>*{background:var(--paper)!important;border:1px solid var(--rule)!important;border-radius:2px!important;box-shadow:none!important}
.rf.rf.rf.rf.rf.rf .card h3{font-size:22px!important;margin-bottom:8px!important}
.rf.rf.rf.rf.rf.rf .qcard .quote,.rf.rf.rf.rf.rf.rf .quote{font-weight:300!important;font-style:italic!important;letter-spacing:0!important;line-height:1.4!important}
.rf.rf.rf.rf.rf.rf .quote.big{font-style:normal!important;line-height:1.12!important}

/* Numbered steps and scores */
.rf.rf.rf.rf.rf.rf .steps li::before{border-color:var(--gold)!important;color:var(--gold-ink)!important;font-family:var(--serif)!important;font-style:italic;font-weight:400!important}
.rf.rf.rf.rf.rf.rf .steps li h3{font-size:21px!important}
.rf.rf.rf.rf.rf.rf .scores b{color:var(--gold-ink)!important}

/* Photos: crisp edges */
.rf.rf.rf.rf.rf.rf .page-hero img,.rf.rf.rf.rf.rf.rf .wide-photo img,.rf.rf.rf.rf.rf.rf .faq-photo img,.rf.rf.rf.rf.rf.rf .privacy-photo img,.rf.rf.rf.rf.rf.rf main figure img{border-radius:2px!important}
.rf.rf.rf.rf.rf.rf .page-hero.fade-hero::after{border-radius:0!important;background:linear-gradient(to bottom,rgba(247,243,234,0),var(--ground))!important}
.rf.rf.rf.rf.rf.rf .fade-hero::after{background:linear-gradient(to bottom,rgba(247,243,234,0),var(--ground) 92%)!important}

/* FAQ rows */
.rf.rf.rf.rf.rf.rf .faq summary,.rf.rf.rf.rf.rf.rf .more summary{font-weight:400!important;font-size:22px!important;line-height:1.3!important}
.rf.rf.rf.rf.rf.rf .faq summary::after,.rf.rf.rf.rf.rf.rf .more summary::after{color:var(--gold-ink)!important;font-family:var(--sans)}

/* Forms: enquiry, intake, Lite, energy estimate */
.rf.rf.rf.rf.rf.rf form.as-form{background:var(--paper)!important;border:1px solid var(--rule)!important;border-radius:2px!important}
.rf.rf.rf.rf.rf.rf form input:not([type=checkbox]):not([type=radio]):not([type=range]),.rf.rf.rf.rf.rf.rf form textarea,.rf.rf.rf.rf.rf.rf form select{border-radius:2px!important;border:1px solid var(--rule)!important;background:#fff!important;color:var(--ink)!important;font-family:var(--sans)!important}
.rf.rf.rf.rf.rf.rf form input:focus,.rf.rf.rf.rf.rf.rf form textarea:focus,.rf.rf.rf.rf.rf.rf form select:focus{outline:2px solid var(--gold-ink)!important;outline-offset:1px!important;border-color:var(--gold-ink)!important}
.rf.rf.rf.rf.rf.rf form button[type=submit],.rf.rf.rf.rf.rf.rf .fm-submit button{background:var(--ink)!important;color:var(--ground)!important;border:1px solid var(--ink)!important;border-radius:2px!important;font:500 16px/1 var(--sans)!important;box-shadow:none!important}
.rf.rf.rf.rf.rf.rf.pg-intake{--fm-ink:#2A2622;--fm-soft:#5C5348;--fm-eyebrow:#7A5C1E;--fm-gold:#B8924A;--fm-card:#FBF8F1;--fm-line:#D9CFBA;--fm-field:#fff;--fm-radius:2px}
.rf.rf.rf.rf.rf.rf .lite-choice{border-radius:2px!important;border-color:var(--rule)!important;background:#fff!important}
.rf.rf.rf.rf.rf.rf .lite-choice:has(input:checked){background:#F3EBDA!important;border-color:var(--gold-ink)!important}
.rf.rf.rf.rf.rf.rf .lite-choice input,.rf.rf.rf.rf.rf.rf form input[type=checkbox],.rf.rf.rf.rf.rf.rf form input[type=radio]{accent-color:var(--ink)}
.rf.rf.rf.rf.rf.rf .lite-bar span{background:var(--gold)!important}
.rf.rf.rf.rf.rf.rf .lite-bar,.rf.rf.rf.rf.rf.rf .lite-bar span{border-radius:2px!important}

/* Old header/footer are replaced in the markup; hide any leftovers */
body.rf .as-nav,body.rf .as-foot{display:none!important}

/* Breathing room on page heads (1 Nov): photo ends cleanly, headline sits below it */
.rf.rf.rf.rf.rf.rf .page-hero.fade-hero::after,.rf.rf.rf.rf.rf.rf .fade-hero::after,.rf.rf.rf.rf.rf.rf .banner.fade::after{display:none!important}
.rf.rf.rf.rf.rf.rf .sec.home-hero{padding-top:40px!important;padding-bottom:56px!important}
.rf.rf.rf.rf.rf.rf .home-hero h1,.rf.rf.rf.rf.rf.rf .home-hero .narrow>:first-child,.rf.rf.rf.rf.rf.rf .home-hero .narrow>p.eyebrow:first-child,.rf.rf.rf.rf.rf.rf .enquire-head .narrow>.eyebrow{margin-top:0!important}
.rf.rf.rf.rf.rf.rf .home-hero h1{margin-bottom:20px!important}
.rf.rf.rf.rf.rf.rf .page-hero.fade-hero{margin-top:0!important}
@media (max-width:639px){
  .rf.rf.rf.rf.rf.rf .page-hero.fade-hero{padding:0!important}
  .rf.rf.rf.rf.rf.rf .page-hero.fade-hero img{aspect-ratio:4/3!important}
  .rf.rf.rf.rf.rf.rf h1{font-size:44px!important}
  .rf.rf.rf.rf.rf.rf .lead{font-size:17px!important}
  .rf.rf.rf.rf.rf.rf .sec:not(.home-hero){padding-top:56px!important;padding-bottom:56px!important}
  .rf.rf.rf.rf.rf.rf .head-btns,.rf.rf.rf.rf.rf.rf .btn-pair,.rf.rf.rf.rf.rf.rf .msg-pills{flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-top:28px!important}
  .rf.rf.rf.rf.rf.rf .head-btns .btn,.rf.rf.rf.rf.rf.rf .btn-pair .btn,.rf.rf.rf.rf.rf.rf .msg-pills .btn{width:100%!important;min-width:0!important}
}

/* Charcoal-brown closing panel on inner pages (1 Nov), echoing the homepage 360 band */
.rf.rf.rf.rf.rf.rf .sec.chat{background:var(--band)!important;color:var(--ground)!important;border-top:0!important;padding-top:88px!important;padding-bottom:88px!important}
.rf.rf.rf.rf.rf.rf .sec.chat h2{color:var(--ground)!important}
.rf.rf.rf.rf.rf.rf .sec.chat p,.rf.rf.rf.rf.rf.rf .sec.chat .lead,.rf.rf.rf.rf.rf.rf .sec.chat .small{color:#E9E3D3!important}
.rf.rf.rf.rf.rf.rf .sec.chat .eyebrow{color:var(--gold-light)!important}
.rf.rf.rf.rf.rf.rf .sec.chat .btn,.rf.rf.rf.rf.rf.rf .sec.chat .btn-pair .btn:first-child{background:var(--ground)!important;color:var(--ink)!important;border:1px solid var(--ground)!important}
.rf.rf.rf.rf.rf.rf .sec.chat .btn.ghost,.rf.rf.rf.rf.rf.rf .sec.chat .btn-pair .btn+.btn{background:transparent!important;color:var(--ground)!important;border:1px solid rgba(247,243,234,.7)!important}
.rf.rf.rf.rf.rf.rf .sec.chat .btn:hover{background:#fff!important;color:var(--ink)!important}
.rf.rf.rf.rf.rf.rf .sec.chat :focus-visible{outline-color:var(--gold-light)!important}

/* Calmer type scale for inner pages (1 Nov). The older stylesheet forced 20px text,
   22px intros and 20px buttons with ID-strength selectors; these match that strength
   (+1) and set a quieter, still very readable scale for 45+ readers. */
html body.rf:not(#_):not(#__){font-size:18px!important}
body.rf:not(#_):not(#__) :is(p,li,dd,dt,td,th,figcaption,label,legend,.hero-support,.trust-strip,.who,.small,.foot-place,.press-lines,.btn-note,.opt,.field-hint,.route-note,.lite-check span,.fm-help,.fm-privacy,.fm-submit-note,p.reply-line):not(#a):not(#b){font-size:18px!important;line-height:1.65!important}
body.rf:not(#_):not(#__) :is(.lead):not(#a):not(#b){font-size:19px!important}
body.rf:not(#_):not(#__) :is(.eyebrow,.tag,.chip,.badge,.pills li):not(#a):not(#b){font-size:12px!important}
body.rf:not(#_):not(#__) :is(.steps li::before,.steps.num li::before):not(#a):not(#b){font-size:15px!important}
body.rf:not(#_):not(#__) :is(input,select,textarea):not(#a):not(#b){font-size:18px!important}
body.rf:not(#_):not(#__) :is(.btn,.btn.sm,.btn.ghost,.btn-pair .btn,.head-btns .btn,.btn-stack .btn,a.btn,button.btn,.fm-send,.fm-submit,button[type=submit]):not(#a):not(#b){font-size:16px!important;min-height:52px!important}
body.rf:not(#_):not(#__) :is(.btn.ghost,.btn-secondary,a.btn[href*="wa.me"]):not(#a):not(#b){border:1px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important}
body.rf:not(#_):not(#__) .sec.chat :is(.btn.ghost,.btn-secondary,a.btn[href*="wa.me"]):not(#a):not(#b){border:1px solid rgba(247,243,234,.75)!important;color:var(--ground)!important}
body.rf:not(#_):not(#__) .sec.chat :is(.btn.ghost,a.btn[href*="wa.me"]):hover:not(#a):not(#b){background:var(--ground)!important;color:var(--ink)!important}
body.rf:not(#_):not(#__) .sec.chat :is(p,.lead):not(#a):not(#b){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
body.rf:not(#_):not(#__) .rf-ftr :is(p,li,a):not(#a):not(#b){font-size:15px!important;line-height:1.7!important}
body.rf:not(#_):not(#__) .rf-ftr nav a:not(#a):not(#b){font-size:14px!important}
body.rf:not(#_):not(#__) .rf-ftr p.rf-name:not(#a):not(#b){font-size:12px!important}
@media (max-width:639px){
  body.rf:not(#_):not(#__) :is(p,li,label,figcaption):not(#a):not(#b){font-size:17px!important}
  body.rf:not(#_):not(#__) :is(.lead):not(#a):not(#b){font-size:18px!important}
}
.rf.rf.rf.rf.rf.rf.pg-programme .page-hero img[src*="hero-training"]{aspect-ratio:16/9!important;object-position:50% 45%!important}
@media (max-width:639px){.rf.rf.rf.rf.rf.rf.pg-programme .page-hero img[src*="hero-training"]{aspect-ratio:4/3!important}}
body.rf:not(#_):not(#__) a.tl:not(#a):not(#b){font:500 16px/1.4 var(--sans)!important;color:var(--ink)!important;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
