.rally-page{background:var(--paper)}
.rally-header{position:absolute}
.rally-hero{padding:155px 0 90px;background:radial-gradient(circle at 77% 38%,rgba(214,126,35,.24),transparent 25%),linear-gradient(135deg,#07111f,#13233b 56%,#342010);color:#fff;overflow:hidden}
.rally-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:48px;align-items:center}
.rally-hero h1,.rally-intro h2,.rally-section-heading h2,.rally-fair h2,.rally-season h2{margin:0;font-family:var(--serif);font-size:clamp(52px,6.8vw,94px);font-weight:400;letter-spacing:-.065em;line-height:.86}
.rally-hero h1 i,.rally-section-heading h2 i,.rally-fair h2 i,.rally-season h2 i{color:#f1ad35}
.rally-hero p:not(.eyebrow){max-width:510px;margin:28px 0;color:#d5dee4;font-size:17px;line-height:1.72}
.rally-hero img{display:block;width:100%;border:1px solid rgba(239,183,86,.26);box-shadow:0 28px 60px rgba(0,0,0,.38)}
.rally-hero-actions{display:flex;gap:25px;align-items:center}
.rally-intro{display:grid;grid-template-columns:1fr .8fr;gap:100px;padding:130px 0}
.rally-intro h2{color:var(--ink);font-size:clamp(45px,5.4vw,73px)}
.rally-intro p:not(.eyebrow){align-self:end;margin:0;color:#435163;font-size:18px;line-height:1.75}
.rally-loop{padding:118px 0;background:#0b1727;color:#fff}
.rally-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px 85px;align-items:end}
.rally-section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}
.rally-section-heading h2{font-size:clamp(46px,5.8vw,77px)}
.rally-section-heading>p:last-child{max-width:385px;margin:0 0 5px;color:#b6c4cf;font-size:16px;line-height:1.7}
.rally-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:62px 0 0;padding:0;list-style:none;border-top:1px solid rgba(196,221,233,.24);border-left:1px solid rgba(196,221,233,.24)}
.rally-steps li{min-height:230px;padding:25px;border-right:1px solid rgba(196,221,233,.24);border-bottom:1px solid rgba(196,221,233,.24)}
.rally-steps span,.division-grid span{color:#efb244;font-size:11px;font-weight:800;letter-spacing:.15em}
.rally-steps h3,.division-grid h3{margin:31px 0 10px;font-family:var(--serif);font-size:27px;font-weight:400}
.rally-steps p,.division-grid p{margin:0;color:#b3c2cb;font-size:14px;line-height:1.65}
.rally-divisions{padding:130px 0}
.rally-divisions .rally-section-heading h2{color:var(--ink)}
.rally-divisions .rally-section-heading>p:last-child{color:#4d5a6a}
.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:58px}
.division-grid article{padding:38px;background:#102943;color:#fff}
.division-grid article+article{background:#552d12}
.division-grid h3{font-size:37px}
.division-grid p{max-width:430px}
.rally-fair{padding:120px 0;background:#1e120b;color:#fff}
.rally-fair-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.rally-fair h2{font-size:clamp(44px,5vw,70px)}
.rally-fair-grid ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(246,219,185,.2)}
.rally-fair-grid li{padding:21px 0;border-bottom:1px solid rgba(246,219,185,.2);color:#d7c6b6;font-size:15px;line-height:1.65}
.rally-fair-grid b{color:#f4b541}
.rally-season{display:grid;grid-template-columns:1fr .9fr;gap:95px;padding:130px 0}
.rally-season h2{color:var(--ink);font-size:clamp(44px,5.5vw,74px)}
.season-details>p:first-child{margin:0 0 27px;color:#455365;font-size:16px;line-height:1.75}
.season-details dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line)}
.season-details dl div{padding:17px 0;border-bottom:1px solid var(--line)}
.season-details dt{margin-bottom:3px;color:#687484;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.season-details dd{margin:0;font-family:var(--serif);font-size:20px}
.rally-note{padding:16px 18px;margin:29px 0;color:#5c442d;background:#efe2cb;border-left:3px solid #d79531;font-size:13px;line-height:1.6}
.rally-header .site-nav a.active{color:var(--gold)}

@media(max-width:760px){.rally-hero{padding:125px 0 64px}
.rally-hero-grid,.rally-intro,.rally-fair-grid,.rally-season{grid-template-columns:1fr;gap:38px}
.rally-hero-grid img{order:-1}
.rally-hero h1{font-size:clamp(50px,14vw,70px)}
.rally-intro,.rally-divisions,.rally-season{padding:85px 0}
.rally-loop,.rally-fair{padding:82px 0}
.rally-section-heading{grid-template-columns:1fr;gap:22px}
.rally-section-heading .eyebrow{grid-column:auto}
.rally-steps{grid-template-columns:1fr 1fr;margin-top:40px}
.rally-steps li{min-height:0}
.rally-fair-grid{gap:38px}
.division-grid{margin-top:40px}
.rally-season{gap:38px}
}
@media(max-width:479px){.rally-hero{padding-top:110px}
.rally-hero p:not(.eyebrow){margin:21px 0;font-size:15px}
.rally-hero-actions{align-items:flex-start;flex-direction:column;gap:17px}
.rally-intro,.rally-divisions,.rally-season{padding:68px 0}
.rally-loop,.rally-fair{padding:68px 0}
.rally-intro p:not(.eyebrow){font-size:15px}
.rally-steps,.division-grid,.season-details dl{grid-template-columns:1fr}
.rally-steps li{padding:21px}
.rally-steps h3{margin-top:19px}
.division-grid article{padding:28px}
.division-grid h3{font-size:31px}
.rally-fair-grid li{font-size:14px}
}

.rally-passport {
  padding: 118px 0;
  color: #fff;
  background: #13233b;
}

.rally-passport-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 84px;
  align-items: center;
}

.rally-passport img {
  display: block;
  width: 100%;
  border: 1px solid rgba(239, 183, 86, .28);
  box-shadow: 0 28px 60px rgba(0, 0, 0, .3);
}

.rally-passport h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(44px, 5.3vw, 74px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .86;
}

.rally-passport h2 i { color: #f1ad35; }
.rally-passport p:not(.eyebrow) { margin: 27px 0; color: #c7d1da; font-size: 16px; line-height: 1.75; }
.rally-passport ul { margin: 0 0 28px; padding: 0; list-style: none; border-top: 1px solid rgba(196, 221, 233, .22); }
.rally-passport li { padding: 15px 0; color: #c7d1da; border-bottom: 1px solid rgba(196, 221, 233, .22); font-size: 14px; line-height: 1.6; }
.rally-passport b { color: #f1ad35; }

@media(max-width:760px) {
  .rally-passport { padding: 82px 0; }
  .rally-passport-grid { grid-template-columns: 1fr; gap: 38px; }
}

@media(max-width:479px) {
  .rally-passport { padding: 68px 0; }
  .rally-passport p:not(.eyebrow) { font-size: 15px; }
}
