/* Coaches page composition. Shared navigation, fonts, and motion stay in the public theme. */
.rr-inner.rr-coaches .hero { padding:88px 0 64px!important; }
.rr-coaches .coach-intro { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); align-items:end; gap:72px; }
.rr-inner.rr-coaches .hero h1 { font-size:clamp(54px,5.55vw,80px)!important; line-height:1.04; font-weight:550; letter-spacing:-.045em; max-width:780px; margin-top:24px; text-wrap:balance; }
.rr-inner.rr-coaches .hero p.sub { margin:0; max-width:460px; font-size:18px; line-height:1.65; }
.rr-inner.rr-coaches .hero .cta { margin:28px 0 8px; gap:22px; }
.rr-coaches .coach-intro .btn-ghost { border:0; background:none; padding:7px 0; border-bottom:1px solid #718aa9; border-radius:0; }
.rr-inner.rr-coaches .heroshot { margin-top:56px; padding:10px; border-radius:10px; }
.rr-coaches .heroshot .shot,.rr-coaches .feature-image .shot { display:block; height:auto; aspect-ratio:auto; width:100%; object-fit:contain; }
.rr-coaches .coach-features { padding:80px 0 0; }
.rr-inner.rr-coaches .coach-features .frow { grid-template-columns:minmax(0,1fr) minmax(0,1.75fr); gap:64px; margin:0 0 92px; }
.rr-inner.rr-coaches .coach-features .ftext { max-width:470px; }
.rr-inner.rr-coaches .coach-features h3 { font-size:clamp(30px,3.3vw,46px); line-height:1.12; letter-spacing:-.035em; font-weight:550; }
.rr-coaches .coach-features .tag::before { content:attr(data-step) ' / '; color:#668cb8; }
.rr-inner.rr-coaches .coach-features .ftext p { font-size:16px; line-height:1.75; }
.rr-coaches .coach-features .ftext ul { padding-top:6px; }
.rr-coaches .coach-features .feature-image { padding:12px; background:linear-gradient(145deg,#192d47,#101c2c); border-color:#284361; }
.rr-coaches .coach-closing { padding:0; border-block:1px solid #284361; }
.rr-inner.rr-coaches .coach-closing .cta-band { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px 72px; padding:68px 0; background:transparent; border:0; border-radius:0; }
.rr-coaches .coach-closing h2 { max-width:810px; font-size:clamp(32px,3.4vw,48px); font-weight:550; }
.rr-coaches .coach-closing p { max-width:740px; font-size:17px; color:#acbdd2; margin:0; grid-column:1; }
.rr-coaches .coach-closing a { grid-column:2; grid-row:1 / 3; margin:0; }
@media(max-width:1100px) {
 .rr-coaches .coach-intro { gap:36px; grid-template-columns:1.2fr 1fr; }
 .rr-inner.rr-coaches .hero h1 { font-size:58px!important; }
 .rr-inner.rr-coaches .coach-features .frow { gap:32px; }
 .rr-inner.rr-coaches .hero p.sub { font-size:17px; }
}
@media(max-width:860px) {
 .rr-inner.rr-coaches .hero { padding:48px 0 36px!important; }
 .rr-coaches .coach-intro { grid-template-columns:1fr; gap:24px; }
 .rr-inner.rr-coaches .hero h1 { font-size:44px!important; line-height:1.08; max-width:640px; }
 .rr-inner.rr-coaches .hero p.sub { max-width:600px; font-size:16px; }
 .rr-inner.rr-coaches .heroshot { margin-top:32px; padding:5px; }
 .rr-coaches .coach-features { padding-top:44px; }
 .rr-inner.rr-coaches .coach-features .frow { grid-template-columns:1fr; gap:24px; margin-bottom:52px; }
 .rr-inner.rr-coaches .coach-features .ftext { max-width:620px; }
 .rr-coaches .coach-features .feature-image { padding:6px; }
 .rr-inner.rr-coaches .coach-closing .cta-band { display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:44px 0; }
 .rr-coaches .coach-closing h2 { font-size:34px; }
 .rr-coaches .coach-closing p { font-size:16px; }
}
@media(max-width:390px) {
 .rr-inner.rr-coaches .hero h1 { font-size:38px!important; }
 .rr-coaches .coach-closing h2 { font-size:30px; }
 .rr-inner.rr-coaches .hero .cta { gap:16px; }
}
