/**
 * Single trainer profile (/trainer/{slug}/), body.rp-trainer.
 * Follows the gym pages: ivory and white bands, navy headings, brand-red CTA
 * buttons, Montserrat scale. Reuses the shared .h2 and the site chrome from
 * rp.css. Tokens mirror the membership page (--ivory/--navy/--red/--ink/--muted).
 * In-text links are navy (red on ivory misses AA); red is reserved for the
 * white-on-red buttons, which pass AA.
 */
body.rp-trainer{
	--navy:#002c41;--red:#e4022e;--ivory:#F6F5EE;--white:#fff;--ink:#0a2233;--muted:#4a5157;
	margin:0;background:var(--ivory);font-family:'Montserrat',Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;
}
.rp-trainer .rp-tr-main img{display:block;max-width:100%}

/* ---------- Bands + container ---------- */
.rp-trainer .rp-tr-band{padding:clamp(46px,7vw,80px) 0;background:var(--ivory)}
.rp-trainer .rp-tr-white{background:var(--white)}
.rp-trainer .rp-tr-others{background:var(--white)}
.rp-trainer .wrap{max-width:1140px;margin:0 auto;padding:0 clamp(20px,5vw,48px);box-sizing:border-box}
/* Content sections share the header's container and left edge (the full .wrap),
   with the reading measure capped on the inner blocks and left aligned, so the
   bio lines up under the photo rather than sitting in a centred column. */
.rp-trainer .rp-tr-narrow > *{max-width:760px}
.rp-trainer .rp-tr-h2{color:var(--ink);text-align:left;margin:0 0 22px}

/* ---------- Rich text (bio / specialises / qualifications / rates) ---------- */
.rp-trainer .rp-tr-rte{font-size:17px;line-height:1.7;color:var(--muted)}
.rp-trainer .rp-tr-rte > *:first-child{margin-top:0}
.rp-trainer .rp-tr-rte > *:last-child{margin-bottom:0}
.rp-trainer .rp-tr-rte p{margin:0 0 16px}
.rp-trainer .rp-tr-rte ul,.rp-trainer .rp-tr-rte ol{margin:0 0 16px;padding-left:22px}
.rp-trainer .rp-tr-rte li{margin:0 0 8px;padding-left:4px}
.rp-trainer .rp-tr-rte strong,.rp-trainer .rp-tr-rte b{color:var(--ink)}
.rp-trainer .rp-tr-rte h3,.rp-trainer .rp-tr-rte h4{color:var(--ink);margin:24px 0 10px;line-height:1.2}
.rp-trainer .rp-tr-rte a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.rp-trainer .rp-tr-rte a:hover{color:var(--red)}

/* ---------- Header (photo + name) ---------- */
.rp-trainer .rp-tr-hero-grid{display:grid;grid-template-columns:360px 1fr;gap:clamp(32px,5vw,60px);align-items:center}
.rp-trainer .rp-tr-photo{margin:0}
.rp-trainer .rp-tr-photo-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px;box-shadow:0 18px 40px rgba(0,44,65,.16)}
.rp-trainer .rp-tr-name{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1.04;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);margin:0}
.rp-trainer .rp-tr-role{font-size:16px;font-weight:600;color:var(--muted);margin:12px 0 0}
.rp-trainer .rp-tr-spec{margin:26px 0 0}
.rp-trainer .rp-tr-spec-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0 0 8px}

/* ---------- Contact ---------- */
.rp-trainer .rp-tr-contact{background:var(--ivory)}
.rp-trainer .rp-tr-contact-lead{font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 22px;max-width:600px}
.rp-trainer .rp-tr-btns{display:flex;flex-wrap:wrap;gap:12px}
.rp-trainer .rp-tr-btn{display:inline-flex;align-items:center;gap:9px;background:var(--red);color:#fff;font-size:15px;font-weight:700;letter-spacing:.01em;text-decoration:none;padding:12px 20px;border-radius:8px;box-shadow:0 8px 18px rgba(228,2,46,.26);transition:box-shadow .15s ease}
.rp-trainer .rp-tr-btn:hover,.rp-trainer .rp-tr-btn:focus{background:var(--red);color:#fff;box-shadow:0 12px 24px rgba(228,2,46,.32)}
.rp-trainer .rp-tr-ico{flex:0 0 auto}
.rp-trainer .rp-tr-memnote{font-size:14.5px;line-height:1.6;color:var(--muted);margin:26px 0 0;max-width:620px}
.rp-trainer .rp-tr-memnote a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.rp-trainer .rp-tr-memnote a:hover{color:var(--red)}

/* ---------- Other trainers ---------- */
.rp-trainer .rp-tr-others-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:6px}
.rp-trainer .rp-tr-card{display:block;text-decoration:none;color:var(--ink)}
.rp-trainer .rp-tr-card-photo{display:block;overflow:hidden;border-radius:14px;aspect-ratio:1/1;background:var(--ivory);box-shadow:0 10px 24px rgba(0,44,65,.12)}
.rp-trainer .rp-tr-card-img{width:100%;height:100%;object-fit:cover}
.rp-trainer .rp-tr-card-name{display:block;margin-top:12px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.rp-trainer .rp-tr-card:hover .rp-tr-card-name{color:var(--red)}

/* ---------- Back link (folded beneath the Other trainers cards) ---------- */
.rp-trainer .rp-tr-backrow{margin:38px 0 0}
.rp-trainer .rp-tr-backlink{display:inline-block;color:var(--navy);font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.rp-trainer .rp-tr-backlink:hover{color:var(--red)}

/* ---------- Mobile ---------- */
@media (max-width:860px){
	.rp-trainer .rp-tr-hero-grid{grid-template-columns:1fr;gap:26px;text-align:center;justify-items:center}
	.rp-trainer .rp-tr-photo{max-width:none;width:100%}
	.rp-trainer .rp-tr-intro{width:100%}
	.rp-trainer .rp-tr-spec{max-width:420px;margin-left:auto;margin-right:auto;text-align:left}
	.rp-trainer .rp-tr-others-grid{grid-template-columns:repeat(2,1fr);gap:18px}
	.rp-trainer .rp-tr-btns{justify-content:flex-start}
}
