.rv-btn--light { background: #fff; color: var(--rv-navy); border-color: #fff; }
.rv-btn--light:hover { background: var(--rv-blue-light); border-color: var(--rv-blue-light); color: var(--rv-navy); }
.rv-btn--navy { background: var(--rv-navy); border-color: var(--rv-navy); }
.rv-btn--navy:hover { background: var(--rv-blue); border-color: var(--rv-blue); }

/* Trainers */
.rv-cards--people { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rv-card--person .rv-card__media { aspect-ratio: 1 / 1; }
.rv-card__role { margin: 0 0 .5rem; font-size: var(--rv-fs-sm); font-weight: 600; color: var(--rv-blue); }

/* Batches */
.rv-batches { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.rv-batch { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: var(--rv-white); border: 1px solid var(--rv-border); border-radius: var(--rv-radius); }
.rv-batch__date { display: flex; flex-direction: column; align-items: center; padding: .5rem; color: var(--rv-navy); background: var(--rv-blue-light); border-radius: 10px; line-height: 1.1; }
.rv-batch__day { font-size: 1.5rem; font-weight: 700; }
.rv-batch__month { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.rv-batch__title { margin: 0; font-size: var(--rv-fs-lg); }
.rv-batch__meta { margin: .2rem 0 0; font-size: var(--rv-fs-sm); color: var(--rv-muted); }
@media (max-width: 599px) { .rv-batch { grid-template-columns: 76px 1fr; } .rv-batch .rv-btn { grid-column: 1 / -1; justify-content: center; } }

/* Testimonials */
.rv-quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; }
.rv-quote { display: flex; flex-direction: column; justify-content: space-between; gap: 1.25rem; margin: 0; padding: 1.5rem; background: var(--rv-white); border: 1px solid var(--rv-border); border-radius: var(--rv-radius); }
.rv-quote blockquote { margin: 0; }
.rv-quote blockquote p { margin: 0; }
.rv-quote__by { display: flex; align-items: center; gap: .75rem; font-size: var(--rv-fs-sm); }
.rv-quote__photo { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.rv-quote__role { color: var(--rv-muted); }

/* Corporate + Staffing */
.rv-section--navy { color: #D5DDEA; background: var(--rv-navy); }
.rv-section--navy h2, .rv-section--navy h3 { color: #fff; }
.rv-cs__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 800px) { .rv-cs__grid { grid-template-columns: 1fr 1fr; } }
.rv-cs__card { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--rv-radius); }

/* Placement */
.rv-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem; margin: 0 0 2rem; }
.rv-stat { margin: 0; }
.rv-stat__value { font-size: var(--rv-fs-h1); font-weight: 700; line-height: 1.1; color: var(--rv-blue); }
.rv-stat__label { margin: .25rem 0 0; color: var(--rv-muted); }
.rv-support { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.rv-support__item { padding: 1.25rem 1.5rem; background: var(--rv-white); border: 1px solid var(--rv-border); border-radius: var(--rv-radius); }
.rv-support__item h3 { margin-bottom: .4rem; }
.rv-support__item p { margin: 0; color: var(--rv-muted); font-size: var(--rv-fs-sm); }
