:root{
  --rr-blue:#005aa9;
  --rr-blue-deep:#003d78;
  --rr-blue-dark:#003462;
  --rr-green:#64b522;
  --rr-green-dark:#4a9517;
  --rr-ink:#10151d;
  --rr-soft:#f5f8fb;
  --rr-line:#dbe3ec;
}

.home-v2{font-family:Arial,Helvetica,sans-serif;color:var(--rr-ink);background:#fff;line-height:1.5}
.home-v2 *{box-sizing:border-box}
.home-v2 a{text-decoration:none}
.site-shell{width:min(1480px,calc(100% - 56px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#000;padding:.6rem 1rem;z-index:1000}
.skip-link:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.utility-bar{background:linear-gradient(90deg,#075aa5,#0066b5);color:#fff;font-size:14px;font-weight:700}
.utility-inner{height:47px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.utility-inner p{margin:0}
.utility-links{display:flex;align-items:center;gap:18px;white-space:nowrap}
.utility-links>a{color:#fff}
.utility-links>span{width:1px;height:16px;background:rgba(255,255,255,.68)}
.social-links{display:flex;align-items:center;gap:18px;margin-left:18px}
.social-links a{color:#fff;font-weight:900;min-width:18px;text-align:center}

.main-header{background:#fff;border-bottom:1px solid #d5dde6;position:relative;z-index:40}
.header-inner{height:142px;display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:32px}
.home-logo{width:min(540px,38vw);display:block}
.home-logo img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:14px}
.primary-nav a{color:#171717;font-size:16px;font-weight:500;padding:13px 10px;white-space:nowrap}
.primary-nav a:hover{color:var(--rr-blue)}
.chevron{font-size:16px;margin-left:3px}
.join-button{background:linear-gradient(180deg,#6fc525,#5aac1c);color:#fff;text-transform:uppercase;font-weight:800;padding:17px 30px;border-radius:9px;box-shadow:0 8px 18px rgba(78,151,22,.16);white-space:nowrap}
.join-button:hover{background:var(--rr-green-dark)}
.mobile-toggle{display:none}

.showcase-hero{height:465px;position:relative;overflow:hidden;background:#024f92}
.hero-photo{position:absolute;inset:0 0 0 31%;background:url('assets/homepage-hero-youth.jpg') center center/cover no-repeat}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,64,118,.52),rgba(0,64,118,0) 28%)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,50,94,.99) 0%,rgba(0,63,115,.96) 28%,rgba(0,76,137,.78) 41%,rgba(0,76,137,0) 61%)}
.hero-content{height:100%;position:relative;z-index:2;display:flex;align-items:center}
.hero-copy{width:520px;color:#fff;padding-left:28px}
.hero-copy h1{text-transform:uppercase;font-size:54px;line-height:1.08;letter-spacing:.4px;margin:0 0 16px;font-weight:900}
.hero-copy h1 strong{display:block;color:var(--rr-green);font-weight:900}
.hero-copy p{font-size:21px;line-height:1.32;font-weight:700;margin:0;max-width:510px}
.hero-buttons{display:flex;gap:18px;margin-top:30px}
.action-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 30px;border-radius:8px;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.1px;transition:transform .2s ease,background .2s ease}
.action-button:hover{transform:translateY(-2px)}
.action-button.green{background:var(--rr-green);color:#fff}
.action-button.green:hover{background:var(--rr-green-dark)}
.action-button.white{background:#fff;color:#075aa5;box-shadow:0 4px 11px rgba(0,0,0,.14)}
.action-button.outline{border:2px solid #fff;color:#fff;background:transparent}

.focus-band{background:linear-gradient(90deg,#075eab,#0060ab);color:#fff}
.focus-row{display:grid;grid-template-columns:repeat(3,1fr);min-height:138px}
.focus-block{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:21px;padding:22px 34px;color:#fff;border-right:1px solid rgba(255,255,255,.35)}
.focus-block:last-child{border-right:0}
.focus-icon{width:92px;height:92px;background:#fff;border-radius:50%;display:grid;place-items:center}
.focus-icon svg{width:56px;height:56px;fill:none;stroke:#075fae;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.focus-block strong{display:block;text-transform:uppercase;color:#8dcc20;font-size:20px;line-height:1.1;margin-bottom:8px}
.focus-block small{display:block;font-size:17px;line-height:1.35}

.belong-section{padding:24px 0 72px;background:#fff}
.section-heading{text-align:center;max-width:970px;margin:0 auto 24px}
.section-heading h2{text-transform:uppercase;color:#075aa5;font-size:29px;line-height:1.15;margin:0;font-weight:900}
.heading-rule{display:block;width:118px;height:3px;background:var(--rr-green);margin:8px auto 12px}
.section-heading p{font-size:19px;line-height:1.45;margin:0}
.section-heading b:first-of-type{color:#075aa5}
.section-heading b:last-of-type{color:var(--rr-green)}
.program-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.program-card{height:330px;position:relative;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(11,50,87,.16)}
.program-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.program-card:hover img{transform:scale(1.045)}
.program-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,45,87,.94),rgba(0,65,120,.10) 72%)}
.program-content{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:28px}
.program-kicker{font-size:14px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800;margin:0 0 4px;color:#bfe58e}
.program-content h3{font-size:27px;line-height:1.05;margin:0 0 13px}
.program-content a{color:#fff;font-weight:800}

.registration-section{background:#f2f6fa;padding:80px 0}
.registration-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:70px;align-items:center}
.eyebrow-v2{text-transform:uppercase;letter-spacing:1.8px;font-weight:900;color:var(--rr-green-dark);font-size:14px;margin:0 0 10px}
.eyebrow-v2.light{color:#d9ffb7}
.registration-copy h2{font-size:44px;line-height:1.08;color:#053f75;margin:0 0 20px;max-width:750px}
.registration-copy>p:not(.eyebrow-v2){font-size:19px;color:#4a5868;max-width:760px}
.registration-actions{display:flex;align-items:center;gap:28px;margin-top:28px}
.text-link{font-weight:900;color:#075aa5}
.impact-panel{background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 50px rgba(0,57,112,.13)}
.impact-panel div{display:grid;grid-template-columns:115px 1fr;align-items:center;gap:18px;padding:20px 10px;border-bottom:1px solid var(--rr-line)}
.impact-panel div:last-child{border-bottom:0}
.impact-panel strong{font-size:42px;color:var(--rr-green);line-height:1;text-align:center}
.impact-panel span{font-size:18px;font-weight:800;color:#15344f}

.action-section{background:linear-gradient(120deg,#005a9f,#006db8 60%,#5cab21);color:#fff;padding:68px 0}
.action-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}
.action-grid h2{font-size:39px;line-height:1.1;margin:0 0 12px;max-width:780px}
.action-grid p:not(.eyebrow-v2){font-size:18px;max-width:800px;margin:0}
.action-buttons{display:flex;gap:14px}

.site-footer-v2{background:#071d38;color:#fff;padding:58px 0 18px}
.footer-v2-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:54px}
.footer-brand img{width:330px;max-width:100%;margin-bottom:20px}
.footer-brand p{color:#cbd9e8;max-width:420px}
.footer-v2-grid h3{font-size:17px;text-transform:uppercase;color:#8dcc20;margin:0 0 14px}
.footer-v2-grid a,.footer-v2-grid>div>p{display:block;color:#d5e0ec;margin:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;color:#9eb0c4;font-size:14px}

@media (max-width:1220px){
  .site-shell{width:min(100% - 34px,1160px)}
  .header-inner{grid-template-columns:330px 1fr auto;gap:14px;height:125px}
  .home-logo{width:330px}
  .primary-nav{gap:3px;justify-content:flex-end}
  .primary-nav a{font-size:14px;padding:12px 7px}
  .join-button{padding:15px 22px}
  .focus-block{grid-template-columns:72px 1fr;padding:20px 18px;gap:15px}
  .focus-icon{width:72px;height:72px}
  .focus-icon svg{width:45px;height:45px}
  .focus-block strong{font-size:17px}
  .focus-block small{font-size:15px}
}

@media (max-width:960px){
  .utility-links>a:nth-of-type(-n+2),.utility-links>span:nth-of-type(-n+2){display:none}
  .header-inner{height:94px;display:flex;justify-content:space-between}
  .home-logo{width:310px;max-width:70vw}
  .join-button{display:none}
  .mobile-toggle{display:flex;width:48px;height:44px;flex-direction:column;justify-content:center;gap:6px;border:0;background:#075aa5;border-radius:7px;padding:0 11px}
  .mobile-toggle span:not(.sr-only){display:block;height:3px;background:#fff;border-radius:2px}
  .primary-nav{display:none;position:absolute;top:94px;left:0;right:0;background:#fff;box-shadow:0 16px 24px rgba(0,0,0,.14);padding:15px 22px;z-index:50}
  .primary-nav.open{display:grid}
  .primary-nav a{font-size:17px;padding:12px;border-bottom:1px solid #e3e8ee}
  .showcase-hero{height:560px}
  .hero-photo{inset:0;background-position:58% center}
  .hero-shade{background:linear-gradient(90deg,rgba(0,47,88,.94),rgba(0,67,122,.72),rgba(0,67,122,.18))}
  .hero-copy{width:min(580px,90%);padding-left:10px}
  .focus-row{grid-template-columns:1fr}
  .focus-block{border-right:0;border-bottom:1px solid rgba(255,255,255,.35);min-height:118px;padding-inline:35px}
  .program-cards{grid-template-columns:1fr 1fr}
  .program-card:last-child{grid-column:1/-1}
  .registration-grid{grid-template-columns:1fr;gap:40px}
  .action-grid{grid-template-columns:1fr}
  .footer-v2-grid{grid-template-columns:1.5fr 1fr 1fr}
  .footer-v2-grid>div:last-child{grid-column:2/4}
}

@media (max-width:640px){
  .site-shell{width:calc(100% - 28px)}
  .utility-inner{height:42px}
  .utility-inner p{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .utility-links{gap:10px}
  .utility-links>a:not(:last-of-type),.utility-links>span,.social-links{display:none}
  .header-inner{height:82px}
  .primary-nav{top:82px}
  .home-logo{width:255px;max-width:74vw}
  .showcase-hero{height:570px}
  .hero-photo{background-position:61% center}
  .hero-shade{background:linear-gradient(0deg,rgba(0,43,82,.98) 0%,rgba(0,57,105,.9) 56%,rgba(0,57,105,.25) 100%)}
  .hero-content{align-items:flex-end;padding-bottom:45px}
  .hero-copy{width:100%;padding:0 4px}
  .hero-copy h1{font-size:40px}
  .hero-copy p{font-size:17px;max-width:100%}
  .hero-buttons{gap:10px;margin-top:22px}
  .action-button{min-height:50px;padding:0 18px;font-size:14px}
  .focus-block{grid-template-columns:62px 1fr;padding:18px 10px;gap:14px}
  .focus-icon{width:62px;height:62px}
  .focus-icon svg{width:38px;height:38px}
  .belong-section{padding:30px 0 50px}
  .section-heading h2{font-size:24px}
  .section-heading p{font-size:16px}
  .program-cards{grid-template-columns:1fr}
  .program-card,.program-card:last-child{grid-column:auto;height:290px}
  .registration-section{padding:55px 0}
  .registration-copy h2{font-size:34px}
  .registration-copy>p:not(.eyebrow-v2){font-size:17px}
  .registration-actions{align-items:flex-start;flex-direction:column;gap:16px}
  .impact-panel{padding:18px}
  .impact-panel div{grid-template-columns:90px 1fr}
  .impact-panel strong{font-size:34px}
  .impact-panel span{font-size:16px}
  .action-section{padding:52px 0}
  .action-grid h2{font-size:32px}
  .action-buttons{flex-direction:column;align-items:flex-start}
  .footer-v2-grid{grid-template-columns:1fr;gap:30px}
  .footer-v2-grid>div:last-child{grid-column:auto}
}
