.rf-group-training {padding-block:32px;border-top:1px solid var(--rf-gold-border);text-align:left}
.rf-group-heading {margin-bottom:20px;max-width:760px}
#main .rf-group-heading .eyebrow {color:var(--gold);font-size:.75rem;margin:0 0 8px}
#main .rf-group-heading h2 {color:var(--text);font-family:var(--heading);font-size:clamp(24px,2.5vw,32px);line-height:1.4;margin:0 0 12px}
.rf-group-heading>p:last-child {color:var(--muted);font-size:.9375rem;line-height:1.7;margin:0}
.rf-class-card {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;border:1px solid var(--rf-gold-border);border-radius:8px;overflow:hidden;background:#151515;margin-top:20px}
.rf-class-photo {min-width:0;background:#101010}
.rf-class-photo img {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.rf-class-content {min-width:0;padding:24px}
.rf-class-content:only-child {grid-column:1/-1}
.rf-class-location {color:var(--gold);font-size:.75rem;margin:0 0 6px}
#main .rf-class-content h3 {color:var(--text);font-family:var(--heading);font-size:clamp(20px,1.8vw,24px);line-height:1.35;margin:0 0 12px;overflow-wrap:anywhere}
.rf-class-independence {border-left:2px solid var(--gold-border);padding-left:10px;font-size:.8125rem;line-height:1.6;color:var(--text);margin:0 0 14px}
.rf-class-description {color:var(--muted);font-size:.875rem;line-height:1.65;margin:0 0 14px}
.rf-class-schedule {color:var(--text);font-size:.8125rem;line-height:1.7;margin:0 0 16px}
.rf-class-booking {display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid #ffffff18}
#main .rf-class-price {color:var(--gold);font-family:var(--heading);font-size:32px;line-height:1.2;margin:0 0 4px}
.rf-class-price span {font-size:22px}
.rf-class-duration {color:var(--muted);font-size:.75rem;line-height:1.6;margin:0}
.rf-class-booking .button {min-height:44px;padding:10px 14px;font-size:.8125rem;white-space:normal;text-align:center}
.rf-membership-extras {padding-bottom:32px}
.rf-membership-extras .rf-partner-access {margin-top:24px}
@media(max-width:1000px){.rf-class-card{grid-template-columns:1fr}.rf-class-content{padding:24px}}
@media(max-width:760px){.rf-class-content{padding:24px 20px}.rf-group-training{padding-block:24px 28px}}
@media(max-width:400px){.rf-class-content{padding:20px 16px}.rf-class-booking{align-items:flex-start;flex-direction:column;gap:16px}.rf-class-booking .button{width:100%}}
