/* Reinvest Birmingham page styles (scoped with rb- prefix). Pixel sizes on purpose: the site root font is small. */
html, body { overflow-x: clip; }
.rb-intro-title { font-size: 40px; line-height: 1.2; margin: 0 0 12px 0; }

/* Lead: eligibility + Get Started card */
.rb-lead { display: grid; grid-template-columns: 1fr 360px; gap: 48px; align-items: start; margin: 24px 0 48px 0; }
.rb-lead p { font-size: 18px; line-height: 1.6; }
.rb-card { background: #003d52; color: #ffffff; }
.rb-card__head { background: #ffc424; color: #0d1b5e; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 16px 24px; font-size: 20px; }
.rb-card__body { padding: 28px 24px; text-align: center; }
.rb-card__body img { max-width: 100%; height: auto; display: block; margin: 0 auto 20px auto; }
.rb-card__body p { color: #ffffff; font-size: 17px; line-height: 1.55; margin: 0 0 20px 0; }
.rb-card__label { font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: #ff8257; font-weight: 700; margin-bottom: 6px; }
.rb-card__serving { color: #ffebc9; font-size: 18px; line-height: 1.5; margin-bottom: 20px; }
.rb-btn { display: inline-block; background: #ff8257; color: #003d52 !important; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 15px 26px; font-size: 17px; text-decoration: none !important; }
.rb-btn:hover { background: #ffc424; }
.rb-card .rb-btn { display: block; width: 100%; box-sizing: border-box; text-align: center; }

/* Check your eligibility (address tool) */
.rb-checker { display: flex; align-items: center; gap: 22px; padding: 22px 0; margin: 0 0 32px 0; border-top: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; }
.rb-checker__icon { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: #ffc424; color: #0d1b5e; font-size: 28px; font-weight: 700; line-height: 56px; text-align: center; }
.rb-checker__body h2 { margin: 0 0 6px 0; font-size: 22px; text-transform: uppercase; letter-spacing: .04em; }
.rb-checker__body p { margin: 0 0 12px 0; font-size: 18px; line-height: 1.5; }
.rb-checker__body p.rb-checker__note { margin: 12px 0 0 0; font-size: 15px; font-style: italic; color: #555555; }
.rb-checker__icon::before { content: "\2713"; }

/* Eligibility checklist */
.rb-check { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; list-style: none; margin: 20px 0 0 0; padding: 0; }
.rb-check li { background: #ffebc9; padding: 16px 18px; display: flex; gap: 14px; align-items: flex-start; line-height: 1.45; font-size: 18px; color: #1c1c1c; }
.rb-check li::before { content: "\2713"; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: #ff8257; color: #ffffff; font-weight: 700; font-size: 16px; line-height: 26px; text-align: center; margin-top: 1px; }

/* Pathway steps */
.rb-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin: 24px 0 56px 0; padding: 0; list-style: none; }
.rb-steps li { border-top: 6px solid #0d1b5e; padding-top: 18px; }
.rb-steps li:nth-child(2) { border-color: #1a3fb0; }
.rb-steps li:nth-child(3) { border-color: #ff8257; }
.rb-steps li:nth-child(4) { border-color: #ffc424; }
.rb-steps__num { font-size: 56px; font-weight: 700; line-height: 1; color: #0d1b5e; }
.rb-steps li:nth-child(2) .rb-steps__num { color: #1a3fb0; }
.rb-steps li:nth-child(3) .rb-steps__num { color: #ff8257; }
.rb-steps li:nth-child(4) .rb-steps__num { color: #b8860b; }
.rb-steps__title { font-weight: 700; text-transform: uppercase; color: #0d1b5e; margin: 10px 0 8px 0; font-size: 21px; }
.rb-steps__sub { font-weight: 700; color: #1c1c1c; margin: 0 0 8px 0; font-size: 17px; }
.rb-steps p { font-size: 17px; line-height: 1.55; margin: 0 0 10px 0; }

/* Training programs band (full width grey) */
.rb-band { position: relative; z-index: 0; padding: 48px 0; margin: 48px 0; }
.rb-band::before { content: ""; position: absolute; top: 0; bottom: 0; left: -100vw; right: -100vw; background: #f4f4f4; z-index: -1; }
.rb-band h2 { margin-top: 0; }
.rb-band > p { font-size: 18px; }
.rb-programs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; margin: 28px 0 32px 0; }
.rb-program__img { position: relative; height: 280px; background: #0d1b5e; overflow: hidden; }
.rb-program__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rb-badge { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 7px 12px; background: #ffffff; color: #0d1b5e; border: 1px solid #0d1b5e; }
.rb-badge--open { background: #ff8257; color: #003d52; border-color: #ff8257; }
.rb-program__img .rb-badge { position: absolute; top: 14px; left: 14px; margin: 0; }
.rb-program h3 { margin: 16px 0 8px 0; font-size: 26px; text-transform: uppercase; line-height: 1.2; }
.rb-program h3 a { color: #b8860b; text-decoration: none; }
.rb-program h3 a:hover { text-decoration: underline; }
.rb-program p { margin: 0 0 8px 0; font-size: 17px; line-height: 1.55; }
.rb-program p.rb-program__length { font-weight: 700; color: #0d1b5e; }
.rb-more { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 16px 0 0 0; }
.rb-more__item { background: #ffffff; padding: 28px; border-top: 5px solid #ffc424; }
.rb-more__item--coral { border-top-color: #ff8257; }
.rb-more__item h3 { margin: 0 0 10px 0; font-size: 21px; text-transform: uppercase; color: #0d1b5e; }
.rb-more__item p { margin: 0 0 10px 0; font-size: 17px; line-height: 1.55; }

/* About */
.rb-about { display: grid; grid-template-columns: 1fr 480px; gap: 48px; align-items: center; margin: 32px 0 48px 0; }
.rb-about p { font-size: 18px; line-height: 1.6; }
.rb-about img { width: 100%; height: auto; display: block; }
.rb-about__links { display: flex; flex-wrap: wrap; gap: 14px; }
.rb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 24px 0; padding: 0; list-style: none; }
.rb-pillars, .rb-pillars li { list-style: none !important; list-style-type: none !important; list-style-image: none !important; padding-left: 0; margin-left: 0; }
.rb-pillars li { background: #003d52; color: #ffebc9; text-align: center; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 16px 8px; font-size: 14px; }

/* Blue band (full width) */
.rb-blue { position: relative; z-index: 0; color: #ffffff; padding: 56px 0 48px 0; margin: 48px 0 0 0; }
.rb-blue::before { content: ""; position: absolute; top: 0; bottom: 0; left: -100vw; right: -100vw; background: #1a3fb0; z-index: -1; }
.rb-blue h2, .rb-blue h3, .rb-blue p { color: #ffffff; }
.rb-blue h2 { margin: 8px 0 32px 0; }
.rb-blue__label { font-size: 14px; letter-spacing: .18em; text-transform: uppercase; border-bottom: 1px solid #5c78d6; padding-bottom: 10px; }
.rb-blue__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.rb-blue__cols > div { padding: 0 32px; border-right: 1px solid #5c78d6; display: flex; flex-direction: column; }
.rb-blue__cols > div:first-child { padding-left: 0; }
.rb-blue__cols > div:last-child { border-right: 0; padding-right: 0; }
.rb-blue__kicker { font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: #ffc424; font-weight: 700; }
.rb-blue h3 { margin: 8px 0 12px 0; font-size: 28px; text-transform: uppercase; font-weight: 400; line-height: 1.2; }
.rb-blue p { font-size: 17px; line-height: 1.55; color: #e6ebff; margin: 0 0 20px 0; }
.rb-blue .rb-btn { margin-top: auto; align-self: flex-start; }
.rb-btn--gold { background: #ffc424; color: #0d1b5e !important; }
.rb-btn--gold:hover { background: #ffffff; }
.rb-blue p.rb-blue__fine { font-size: 15px; color: #c9d3ff; border-top: 1px solid #5c78d6; padding-top: 16px; margin-top: 56px; line-height: 1.5; }

/* Mobile */
@media (max-width: 900px) {
  .rb-lead, .rb-about { grid-template-columns: 1fr; }
  .rb-steps, .rb-pillars, .rb-more, .rb-programs { grid-template-columns: 1fr 1fr; }
  .rb-check { grid-template-columns: 1fr; }
  .rb-blue__cols { grid-template-columns: 1fr; }
  .rb-blue__cols > div { padding: 20px 0; border-right: 0; border-bottom: 1px solid #5c78d6; }
}
@media (max-width: 600px) {
  .rb-steps, .rb-pillars, .rb-more, .rb-programs { grid-template-columns: 1fr; }
  .rb-checker { flex-direction: column; align-items: flex-start; }
  .rb-slides__track { height: 240px; }
  .rb-steps__num { font-size: 40px; }
  .rb-blue h3 { font-size: 22px; }
  .rb-program__img { height: 220px; }
}

/* Resets against site styles */
.rb-pillars li::before, .rb-pillars li::after, .rb-check li::after, .rb-steps li::before { content: none !important; }
.rb-check li::before { content: "\2713"; }

/* Slideshow */
.rb-slides { position: relative; background: #0d1b5e; }
.rb-slides__track { position: relative; height: 380px; overflow: hidden; }
.rb-slide { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; transition: opacity .6s ease; }
.rb-slide.is-active { opacity: 1; }
.rb-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rb-slides__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #003d52; color: #ffebc9; padding: 10px 14px; font-size: 15px; }

 .rb-more__item a { color: #0d1b5e !important; font-weight: 700; }
.rb-more__item a:hover { color: #b8860b !important; }