.events-nav {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.events-nav-toggle {
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  font:
    800 14px Barlow Condensed,
    Arial,
    sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  line-height: 1;
}
.events-nav-toggle span {
  display: inline-block;
  margin-left: 4px;
  color: #f71920;
  font-family: Arial, sans-serif;
  font-size: 16px;
  letter-spacing: 0;
  transition: transform 0.2s;
}
.events-nav.open .events-nav-toggle span {
  transform: rotate(180deg);
}
.events-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 310px;
  padding: 10px;
  background: #090a0bf7;
  border-top: 3px solid #f71920;
  box-shadow: 0 18px 45px #0009;
  z-index: 1100;
}
.events-nav.open .events-dropdown,
.events-nav:focus-within .events-dropdown {
  display: grid;
}
.events-dropdown a {
  display: block !important;
  padding: 11px 13px !important;
  color: #ddd !important;
  border-bottom: 1px solid #ffffff18;
  font:
    800 15px Barlow Condensed,
    Arial,
    sans-serif !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}
.events-dropdown a:hover,
.events-dropdown a:focus {
  color: #fff !important;
  background: #f71920;
}
.mobile-nav-toggle {
  display: none;
  margin-left: auto;
  min-width: 104px;
  height: 46px;
  border: 1px solid #ffffff50;
  border-left: 4px solid #f71920;
  background: #090a0bf2;
  color: #fff;
  cursor: pointer;
  place-items: center;
  grid-template-columns: 1fr 28px;
  gap: 10px;
  padding: 0 14px;
  position: relative;
  z-index: 1002;
  box-shadow: 5px 5px 0 #f7192038;
  transform: skew(-5deg);
}
.mobile-nav-toggle .menu-word {
  font:
    900 16px Barlow Condensed,
    Arial,
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transform: skew(5deg);
}
.mobile-nav-toggle .menu-mark {
  display: grid;
  gap: 6px;
  transform: skew(5deg);
}
.mobile-nav-toggle .menu-mark i {
  display: block;
  width: 25px;
  height: 3px;
  background: #fff;
  transition:
    transform 0.2s,
    background 0.2s;
}
.mobile-nav-toggle .menu-mark i:last-child {
  width: 17px;
  justify-self: end;
  background: #f71920;
}
.mobile-nav-toggle[aria-expanded="true"] .menu-mark i:first-child {
  transform: translateY(4.5px) rotate(45deg);
}
.mobile-nav-toggle[aria-expanded="true"] .menu-mark i:last-child {
  width: 25px;
  background: #fff;
  transform: translateY(-4.5px) rotate(-45deg);
}
.site-footer {
  padding: 64px 0 28px;
  background: #050607;
  color: #fff;
  border-top: 5px solid #f71920;
  overflow: hidden;
}
.site-footer > .shell {
  width: min(1320px, calc(100% - 44px));
  margin-inline: auto;
}
.site-footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 2.4vw, 42px);
  align-items: start;
}
.site-footer-grid > *,
.site-footer-grid > nav {
  min-width: 0;
}
.site-footer-grid > nav {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  align-self: start !important;
}
.site-footer-logo {
  display: block;
  width: min(230px, 100%);
  height: auto;
}
.site-footer-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: clamp(32px, 6vw, 100px);
  align-items: start;
  border-top: 1px solid #252525;
  margin-top: 44px;
  padding-top: 30px;
}
.site-footer-copy {
  color: #aaa;
  line-height: 1.65;
  max-width: 430px;
  margin: 0;
}
.site-footer-contact {
  display: grid;
  gap: 8px;
  color: #aaa;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
  color: #fff;
}
.site-footer-title {
  display: block;
  font:
    900 17px Barlow Condensed,
    Arial,
    sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.15;
  margin: 0 0 18px;
  color: #fff;
}
.site-footer-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 11px;
  color: #aaa;
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.site-footer-links a {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer-links a:hover,
.site-footer-links a:focus-visible {
  color: #fff;
}
.site-footer-bottom {
  border-top: 1px solid #252525;
  margin-top: 30px;
  padding-top: 22px;
  color: #888;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.site-footer-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}
.site-footer-meta a {
  color: #aaa;
}
.site-footer-meta a:hover,
.site-footer-meta a:focus-visible {
  color: #fff;
}
@media (max-width: 1180px) {
  .site-footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px 28px;
  }
  .site-footer-brand {
    grid-column: 1/-1;
  }
  .site-footer-details {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  body.nav-open {
    overflow: hidden;
  }
  .mobile-nav-toggle {
    display: grid;
  }
  .events-nav {
    display: none;
  }
  .nav .shell,
  .nav > nav,
  .nav nav,
  header > nav {
    position: relative;
  }
  .nav > a:not(.logo),
  .nav > .shell > a:not(.logo),
  header > nav > .navlink,
  header > nav > .navcta {
    display: none;
  }
  .nav.nav-open,
  .nav:has(.mobile-nav-toggle[aria-expanded="true"]),
  header:has(.mobile-nav-toggle[aria-expanded="true"]) {
    z-index: 1001;
  }
  .nav .mobile-menu,
  header .mobile-menu {
    display: none;
  }
  .nav .mobile-menu.open,
  header .mobile-menu.open {
    display: flex;
    position: fixed;
    inset: 0;
    background: linear-gradient(150deg, #08090afc 60%, #240507fc);
    padding: 110px 28px 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    z-index: 1000;
    overflow: auto;
  }
  .nav .mobile-menu > a,
  header .mobile-menu > a,
  .mobile-events-toggle {
    display: block !important;
    width: 100%;
    padding: 15px 4px;
    border: 0;
    border-bottom: 1px solid #ffffff24;
    background: none;
    color: #fff;
    text-align: left;
    font:
      900 27px Barlow Condensed,
      Arial,
      sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }
  .mobile-events-toggle {
    cursor: pointer;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center;
  }
  .mobile-events-toggle span {
    font-size: 34px;
    color: #f71920;
    font-family: Arial, sans-serif;
    line-height: 0.7;
  }
  .mobile-events-list {
    display: none;
    padding: 5px 0 10px 15px;
    border-left: 3px solid #f71920;
  }
  .mobile-events-list.open {
    display: grid;
  }
  .nav .mobile-events-list a,
  header .mobile-events-list a {
    display: block !important;
    padding: 10px 4px;
    border-bottom: 1px solid #ffffff14;
    color: #bbb;
    font:
      800 17px Barlow Condensed,
      Arial,
      sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .nav .mobile-events-list a:hover,
  header .mobile-events-list a:hover {
    color: #fff;
  }
  .site-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .site-footer-brand {
    grid-column: 1/3;
    grid-template-columns: 1fr 1fr;
  }
  .site-footer-brand > a {
    grid-column: 1/-1;
  }
  .site-footer-bottom {
    align-items: flex-start;
  }
  .site-footer-meta {
    display: grid;
    justify-items: end;
  }
}
@media (max-width: 560px) {
  .site-footer {
    padding-top: 48px;
  }
  .site-footer > .shell {
    width: calc(100% - 28px);
  }
  .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .site-footer-brand {
    grid-column: auto;
    display: block;
  }
  .site-footer-details {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 36px;
    padding-top: 24px;
  }
  .site-footer-bottom {
    display: grid;
  }
  .site-footer-meta {
    justify-items: start;
    gap: 10px;
  }
  .site-footer-logo {
    width: 210px;
  }
  .site-footer-links {
    font-size: 15px;
  }
}

/* Official ACP interactive facility map */
.track-lineup {
  display: block !important;
  background: #08090a;
  padding: 105px 0;
}
.track-lineup .section-head {
  margin-bottom: 38px;
}
.track-lineup .park-guide {
  display: block;
}
.track-lineup .track-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(440px, 1.22fr);
  grid-template-rows: auto auto auto 1fr auto;
  gap: 0 48px;
  padding: 48px;
  border: 1px solid #333;
  background: linear-gradient(135deg, #17191c, #0c0d0f);
  overflow: hidden;
}
.track-lineup .track-number,
.track-lineup .track-panel h3,
.track-lineup .track-panel > p,
.track-lineup .track-facts {
  grid-column: 1;
}
.track-lineup .track-number {
  align-self: end;
}
.track-lineup .track-panel h3 {
  margin-top: 10px;
}
.track-lineup .track-panel > p {
  font-size: 17px;
  margin: 0;
}
.track-lineup .track-photo {
  grid-column: 2;
  grid-row: 1/5;
  width: 100%;
  height: 100%;
  min-height: 430px;
  margin: 0;
  object-fit: cover;
  border-left: 6px solid var(--red);
}
.track-lineup .track-selector {
  grid-column: 1/-1;
  grid-row: 5;
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.track-lineup .track-selector button {
  min-height: 58px;
  font-size: 14px;
}
@media (max-width: 900px) {
  .track-lineup {
    padding: 75px 0;
  }
  .track-lineup .track-panel {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 0;
  }
  .track-lineup .track-photo {
    grid-column: 1;
    grid-row: auto;
    min-height: 360px;
    margin-top: 25px;
    border-left: 0;
    border-bottom: 6px solid var(--red);
  }
  .track-lineup .track-selector {
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 25px;
  }
}
@media (max-width: 560px) {
  .track-lineup {
    padding: 58px 0;
  }
  .track-lineup .section-head {
    margin-bottom: 24px;
  }
  .track-lineup .track-panel {
    padding: 24px 18px;
  }
  .track-lineup .track-panel h3 {
    font-size: 48px;
  }
  .track-lineup .track-panel > p {
    font-size: 15px;
  }
  .track-lineup .track-photo {
    min-height: 260px;
  }
  .track-lineup .track-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .track-lineup .track-selector button {
    min-height: 52px;
    padding: 10px 6px;
  }
}
.park-guide {
  min-height: 0;
  align-items: stretch;
}
.park-map {
  min-height: 0 !important;
  aspect-ratio: 520/296;
  align-self: start;
  background: #18191b;
}
.park-map > img {
  object-fit: contain;
  filter: saturate(0.95) contrast(1.04);
}
.park-map:after {
  background: linear-gradient(90deg, transparent 75%, #090a0b99);
  pointer-events: none;
}
.map-pin[data-track="national"] {
  left: 43%;
  top: 18%;
}
.map-pin[data-track="smx"] {
  left: 72%;
  top: 21%;
}
.map-pin[data-track="oldschool"] {
  left: 24%;
  top: 50%;
}
@media (max-width: 900px) {
  .park-map {
    min-height: 0 !important;
  }
}
.smx-card .event-logo {
  width: 245px !important;
  max-width: 62% !important;
  height: 115px !important;
  top: 17px;
  left: 19px;
  object-fit: contain !important;
  object-position: left center !important;
}
.events .az-state-card .event-logo {
  width: 176px !important;
  max-width: 55% !important;
  height: 105px !important;
  top: 16px !important;
  left: 20px !important;
  object-fit: contain !important;
  object-position: left top !important;
}
.events .buckeye-drags-card .event-logo {
  width: 292px !important;
  max-width: 82% !important;
  height: 142px !important;
  top: 5px !important;
  left: -5px !important;
  object-fit: contain !important;
  object-position: left top !important;
}
.events .llq-card .event-logo {
  width: 128px !important;
  max-width: 40% !important;
  height: 114px !important;
  top: 16px !important;
  left: 20px !important;
  object-fit: contain !important;
  object-position: left top !important;
}
.schedule-event-link {
  display: grid;
  grid-template-columns: 92px 1fr auto;
  align-items: center;
  gap: 13px;
  margin: 25px 0 16px;
  color: #fff;
  text-decoration: none;
  min-height: 76px;
}
.schedule-event-link img {
  display: block;
  width: 92px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 5px 10px #0008);
}
.schedule-event-link h3 {
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 0.95 !important;
}
.schedule-event-link > span {
  color: var(--red);
  font-size: 24px;
  transition: transform 0.2s;
}
.schedule-event-link:hover > span,
.schedule-event-link:focus-visible > span {
  transform: translateX(4px);
}
.schedule-event-link:hover h3,
.schedule-event-link:focus-visible h3 {
  color: #fff;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.hero .buckeye-hero-logo {
  display: block;
  width: min(690px, 78vw);
  height: auto;
  object-fit: contain;
  object-position: left center;
  margin: -8px 0 -118px;
  filter: drop-shadow(0 12px 24px #000b);
}
@media (max-width: 580px) {
  .hero .buckeye-hero-logo {
    width: min(440px, 94vw);
    margin: -4px 0 -72px;
  }
}
.round.past {
  overflow: hidden;
}
.round.past:before {
  content: "";
  position: absolute;
  z-index: 1;
  left: -8%;
  top: 50%;
  width: 116%;
  height: 5px;
  background: var(--orange, #ff4817);
  box-shadow: 0 0 0 2px #fff7e9;
  transform: rotate(-8deg);
  transform-origin: center;
}
.round.past:after {
  z-index: 2;
}
.schedule .rounds .round:nth-child(5) {
  opacity: 0.63;
  overflow: hidden;
}
.schedule .rounds .round:nth-child(5):before {
  content: "";
  position: absolute;
  z-index: 1;
  left: -8%;
  top: 50%;
  width: 116%;
  height: 5px;
  background: var(--orange, #ff4817);
  box-shadow: 0 0 0 2px #fff7e9;
  transform: rotate(-8deg);
  transform-origin: center;
}
.schedule .rounds .round:nth-child(5):after {
  content: "COMPLETED";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  background: #111;
  color: #fff;
  border: 3px solid var(--orange, #ff4817);
  padding: 10px 18px;
  font: 900 15px Barlow Condensed;
}
.hero-smx-logo {
  display: block;
  width: min(680px, 72vw);
  height: auto;
  align-self: flex-start;
  object-position: left center;
  filter: drop-shadow(7px 7px 0 #000);
  margin: 18px 0 26px;
}
.hero-copy:has(.hero-smx-logo) {
  max-width: 850px;
  padding-top: 170px;
}
@media (max-width: 900px) {
  .hero-copy:has(.hero-smx-logo) {
    padding-top: 140px;
  }
}
@media (max-width: 600px) {
  .hero-smx-logo {
    width: min(520px, 90vw);
    margin: 16px 0 22px;
  }
  .hero-copy:has(.hero-smx-logo) {
    padding-top: 126px;
  }
}

/* Keep both brand marks fully inside the shared header at every viewport. */
.nav .logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
}
.nav .logo img {
  display: block;
  max-width: 100%;
  max-height: 76px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/* Buckeye Drags activity mosaic: eliminate the orphaned empty column. */
@media (min-width: 901px) {
  .experience-grid {
    grid-template-rows: 320px 320px 390px !important;
  }
  .experience-grid .feature-food {
    grid-column: 1/-1 !important;
    grid-row: 3 !important;
    min-height: 390px;
  }
  .experience-grid .feature-food img {
    object-position: center 52%;
  }
  .experience-grid .feature-food .feature-copy {
    max-width: 650px;
  }
}
@media (min-width: 901px) {
  .experience-grid > .feature:first-child {
    grid-column: 1/-1 !important;
    grid-row: 3 !important;
    min-height: 390px;
  }
  .experience-grid > .feature:first-child img {
    object-position: center 48%;
  }
  .experience-grid > .feature:first-child .feature-copy {
    max-width: 680px;
  }
  .experience-grid .feature-food {
    grid-column: 1 !important;
    grid-row: 1/3 !important;
    min-height: 0;
  }
  .experience-grid .feature-utv {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .experience-grid .feature:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}
.sand-slider > .sand-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition:
    opacity 1s ease,
    transform 5.5s ease;
  transform: scale(1.035);
}
.sand-slider > .sand-slide.active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}
.sand-slider:after {
  z-index: 2;
}
.sand-slider .feature-copy {
  z-index: 3;
}
.sand-dots {
  position: absolute;
  z-index: 4;
  right: 24px;
  bottom: 25px;
  display: flex;
  gap: 8px;
}
.sand-dots button {
  width: 31px;
  height: 4px;
  padding: 0;
  border: 0;
  background: #ffffff66;
  cursor: pointer;
}
.sand-dots button.active {
  background: #ffbf00;
}
.sand-dots button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
@media (max-width: 580px) {
  .sand-dots {
    right: 18px;
    bottom: 18px;
  }
  .sand-dots button {
    width: 23px;
  }
}
@media (max-width: 900px) {
  .experience-grid .feature-food {
    grid-column: 1/-1 !important;
    min-height: 340px;
  }
}
@media (max-width: 580px) {
  .experience-grid .feature-food {
    grid-column: auto !important;
    min-height: 300px;
  }
}
@media (min-width: 901px) {
  .mobile-menu {
    display: none !important;
  }
}

/* High-contrast copy on every light sand/cream section. */
.forms .section-head p,
.tracks .sectionhead p,
.visit p,
.schedule .head p,
.schedule .section-head p,
.schedule .round p,
.rules .rule-card p,
.minor p,
.pricing .pricing-head p {
  color: #46382b !important;
}
.forms .form-card p {
  color: #514235 !important;
}
.forms .tag {
  color: #241b14 !important;
}

/* Buckeye Drags experience hierarchy */
body:has(.experience-grid) .experience-grid {
  grid-template-columns: 1.15fr 0.85fr;
  grid-template-rows: 320px 320px 320px;
}
body:has(.experience-grid) .experience-grid .feature:first-child {
  grid-row: auto;
}
body:has(.experience-grid) .experience-grid .feature img {
  position: absolute;
  inset: 0;
}
body:has(.experience-grid) .feature-utv {
  grid-column: 1;
  grid-row: 1/3;
}
body:has(.experience-grid) .feature-sand {
  grid-column: 1/3;
  grid-row: 3;
}
body:has(.experience-grid) .feature-mx {
  grid-column: 2;
  grid-row: 2;
}
body:has(.experience-grid) .feature-food {
  grid-column: 2;
  grid-row: 1;
}
.experience-grid > .feature-utv {
  grid-column: 1 !important;
  grid-row: 1/3 !important;
}
.experience-grid > .feature-food {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.experience-grid > .feature-mx {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.experience-grid > .feature-sand {
  grid-column: 1/3 !important;
  grid-row: 3 !important;
}
body:has(.experience-grid) .feature-sand img {
  opacity: 0;
  transition:
    opacity 0.8s ease,
    transform 6s ease;
}
body:has(.experience-grid) .feature-sand img.active {
  opacity: 1;
  transform: scale(1.035);
}
.feature-sand-dots {
  position: absolute;
  z-index: 4;
  right: 20px;
  top: 20px;
  display: flex;
  gap: 7px;
}
.feature-sand-dots button {
  width: 11px;
  height: 11px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #fff5;
  cursor: pointer;
}
.feature-sand-dots button.active {
  background: #ffb300;
  border-color: #ffb300;
}
@media (max-width: 900px) {
  body:has(.experience-grid) .experience-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 420px 300px 300px;
  }
  .experience-grid > .feature-utv {
    grid-column: 1/3 !important;
    grid-row: 1 !important;
  }
  .experience-grid > .feature-food {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .experience-grid > .feature-mx {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .experience-grid > .feature-sand {
    grid-column: 1/3 !important;
    grid-row: 3 !important;
  }
}
@media (max-width: 580px) {
  body:has(.experience-grid) .experience-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .experience-grid > .feature-utv,
  .experience-grid > .feature-sand,
  .experience-grid > .feature-mx,
  .experience-grid > .feature-food {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 300px;
  }
  .experience-grid > .feature-utv {
    min-height: 430px;
  }
}

/* Arizona State Championship hero: preserve the action photo around the event mark. */
.az-state-page .hero-bg {
  object-position: 48% center;
}
.az-state-page .hero:after {
  background:
    linear-gradient(90deg, #050505f7, #050505a8 40%, transparent 68%),
    linear-gradient(0deg, #080808, transparent 46%, #0008);
}
.az-state-page .hero-copy {
  max-width: 600px;
}
.az-state-page .hero-logo {
  width: min(410px, 48vw);
  filter: drop-shadow(6px 8px 0 #000);
  margin: 16px 0 12px;
}
@media (max-width: 900px) {
  .az-state-page .hero-logo {
    width: min(380px, 58vw);
  }
}
@media (max-width: 580px) {
  .az-state-page .hero-bg {
    object-position: 44% center;
  }
  .az-state-page .hero-logo {
    width: min(300px, 72vw);
    margin-bottom: 10px;
  }
}

/* AMA-sanctioned championship callout */
.az-state-page .ama-sanction {
  padding: 72px 0;
  background: linear-gradient(120deg, #131313 0 58%, #241012 58%);
  border-bottom: 1px solid #333;
}
.az-state-page .ama-sanction-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) 1.15fr;
  gap: 64px;
  align-items: center;
}
.az-state-page .ama-mark {
  position: relative;
  border: 1px solid #3b3b3b;
  background: #0e0e0e;
  box-shadow: 14px 14px 0 #f31b24;
  overflow: hidden;
}
.az-state-page .ama-mark:before {
  content: "AMA";
  position: absolute;
  right: -18px;
  bottom: -38px;
  font: 900 150px/0.8 Barlow Condensed;
  color: #ffffff08;
}
.az-state-page .ama-mark img {
  position: relative;
  width: 100%;
  aspect-ratio: 1.45/1;
  object-fit: cover;
}
.az-state-page .ama-sanction-copy h2 {
  margin: 8px 0 18px;
  font: 900 clamp(58px, 7vw, 96px)/0.82 Barlow Condensed;
  text-transform: uppercase;
}
.az-state-page .ama-sanction-copy p {
  max-width: 670px;
  margin: 0;
  color: #c9c9c9;
  font-size: 17px;
  line-height: 1.65;
}
.az-state-page .ama-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  padding-bottom: 7px;
  border-bottom: 3px solid #ffc12c;
  font: 900 16px Barlow Condensed;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.az-state-page .ama-link span {
  color: #ffc12c;
  font-size: 22px;
}
@media (max-width: 760px) {
  .az-state-page .ama-sanction {
    padding: 56px 0;
  }
  .az-state-page .ama-sanction-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .az-state-page .ama-mark {
    max-width: 520px;
    box-shadow: 9px 9px 0 #f31b24;
  }
}

/* Arizona State Championship date feature */
.az-state-page .champ-date {
  padding: 78px 0;
  background: #ead7b6;
  color: #15110c;
}
.az-state-page .champ-date-grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 72px;
  align-items: center;
}
.az-state-page .champ-date-card {
  min-height: 380px;
  padding: 30px;
  background: #f31b24;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 16px 16px 0 #15110c;
  transform: rotate(-2deg);
}
.az-state-page .champ-date-card span,
.az-state-page .champ-date-card b {
  font: 900 28px Barlow Condensed;
  letter-spacing: 0.16em;
}
.az-state-page .champ-date-card strong {
  font: 900 220px/0.7 Barlow Condensed;
  margin: 28px 0 34px;
}
.az-state-page .champ-date-card.completed-date:after {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  top: 49%;
  height: 10px;
  background: #15110c;
  transform: rotate(-8deg);
  box-shadow: 0 0 0 4px #f31b24;
}
.az-state-page .champ-date-card.completed-date {
  position: relative;
  filter: saturate(0.82);
}
.az-state-page .champ-date-card.completed-date em {
  position: absolute;
  right: 18px;
  bottom: 22px;
  padding: 9px 16px;
  background: #15110c;
  border: 3px solid #fff;
  color: #fff;
  font: 900 20px Barlow Condensed;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transform: rotate(-6deg);
  font-style: normal;
}
.az-state-page .champ-date-copy .kicker {
  color: #f31b24;
}
.az-state-page .champ-date-copy h2 {
  font: 900 clamp(62px, 7.5vw, 110px)/0.8 Barlow Condensed;
  text-transform: uppercase;
  margin: 12px 0 24px;
}
.az-state-page .champ-date-copy p {
  max-width: 720px;
  font-size: 18px;
  line-height: 1.65;
  color: #594e40;
}
.az-state-page .champ-date-copy .ama-link {
  color: #15110c;
  border-color: #f31b24;
}
.az-state-page .champ-date-copy .ama-link span {
  color: #f31b24;
}

/* Three-day race weekend timeline */
.az-state-page .weekend-schedule {
  padding: 96px 0;
  background: #090909;
}
.az-state-page .weekend-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.az-state-page .weekend-day {
  position: relative;
  min-height: 400px;
  padding: 28px;
  background: #171717;
  border: 1px solid #373737;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}
.az-state-page .weekend-day.featured {
  background: linear-gradient(150deg, #451317, #171717 68%);
  border-color: #f31b24;
  box-shadow: 8px 8px 0 #f31b24;
}
.az-state-page .weekend-date {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 15px;
  width: max-content;
}
.az-state-page .weekend-date span {
  color: #ffc12c;
  font: 900 20px Barlow Condensed;
  letter-spacing: 0.12em;
}
.az-state-page .weekend-date strong {
  grid-row: 1/3;
  font: 900 96px/0.75 Barlow Condensed;
  color: #fff;
}
.az-state-page .weekend-date b {
  font: 900 16px Barlow Condensed;
  letter-spacing: 0.14em;
  color: #888;
}
.az-state-page .weekend-details {
  align-self: end;
}
.az-state-page .weekend-type {
  color: #f31b24;
  font: 900 13px Barlow Condensed;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.az-state-page .weekend-day h3 {
  font: 900 39px/0.9 Barlow Condensed;
  text-transform: uppercase;
  margin: 10px 0 13px;
}
.az-state-page .weekend-day p {
  color: #aaa;
  line-height: 1.55;
  margin: 0;
}
.az-state-page .weekend-plus {
  margin-top: 20px;
  padding: 12px 14px;
  border-left: 4px solid #ffc12c;
  background: #0008;
  font: 800 14px Barlow Condensed;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.az-state-page .schedule-note {
  margin: 28px 0 0;
  color: #888;
  font-size: 13px;
  text-align: center;
}
@media (max-width: 900px) {
  .az-state-page .champ-date-grid {
    grid-template-columns: 280px 1fr;
    gap: 45px;
  }
  .az-state-page .champ-date-card {
    min-height: 320px;
  }
  .az-state-page .champ-date-card strong {
    font-size: 170px;
  }
  .az-state-page .weekend-grid {
    grid-template-columns: 1fr;
  }
  .az-state-page .weekend-day {
    min-height: 300px;
  }
  .az-state-page .weekend-day.featured {
    box-shadow: 6px 6px 0 #f31b24;
  }
}
@media (max-width: 620px) {
  .az-state-page .champ-date {
    padding: 60px 0;
  }
  .az-state-page .champ-date-grid {
    grid-template-columns: 1fr;
  }
  .az-state-page .champ-date-card {
    width: min(100%, 330px);
    min-height: 300px;
  }
  .az-state-page .champ-date-card strong {
    font-size: 165px;
  }
  .az-state-page .champ-date-copy h2 {
    font-size: 62px;
  }
}

/* Official Arizona State Championship pricing */
.az-state-page .state-pricing {
  padding: 95px 0;
  background: #ffc12c;
  color: #15110c;
  border-top: 10px solid #f31b24;
}
.az-state-page .state-pricing-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 62px;
  align-items: center;
}
.az-state-page .state-pricing-copy .kicker {
  color: #a10f16;
}
.az-state-page .state-pricing-copy h2 {
  font: 900 clamp(60px, 7vw, 102px)/0.82 Barlow Condensed;
  text-transform: uppercase;
  margin: 12px 0 25px;
}
.az-state-page .state-pricing-copy p {
  font-size: 18px;
  line-height: 1.65;
  color: #514014;
  max-width: 530px;
}
.az-state-page .state-pricing-copy .ama-link {
  color: #15110c;
  border-color: #a10f16;
}
.az-state-page .state-pricing-copy .ama-link span {
  color: #a10f16;
}
.az-state-page .state-pricing-sheet {
  display: block;
  background: #fff;
  padding: 12px;
  box-shadow: 16px 16px 0 #15110c;
  transform: rotate(0.5deg);
  transition: transform 0.2s ease;
}
.az-state-page .state-pricing-sheet:hover,
.az-state-page .state-pricing-sheet:focus-visible {
  transform: rotate(0) translateY(-4px);
}
.az-state-page .state-pricing-sheet img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
.az-state-page .state-pricing + .finder {
  border-top: 1px solid #bca483;
}
@media (max-width: 900px) {
  .az-state-page .state-pricing-grid {
    grid-template-columns: 1fr;
  }
  .az-state-page .state-pricing-sheet {
    box-shadow: 9px 9px 0 #15110c;
  }
}
@media (max-width: 580px) {
  .az-state-page .state-pricing {
    padding: 70px 0;
  }
  .az-state-page .state-pricing-copy h2 {
    font-size: 58px;
  }
  .az-state-page .state-pricing-copy p {
    font-size: 16px;
  }
  .az-state-page .state-pricing-sheet {
    padding: 6px;
    box-shadow: 6px 6px 0 #15110c;
  }
}

/* Official Arizona State Championship full schedule */
.az-state-page .official-schedule {
  padding: 96px 0;
  background: #ead7b6;
  color: #15110c;
  border-top: 10px solid #ffc12c;
}
.az-state-page .official-schedule-head {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 42px;
}
.az-state-page .official-schedule-head .kicker {
  color: #f31b24;
}
.az-state-page .official-schedule-head h2 {
  font: 900 clamp(62px, 8vw, 112px)/0.8 Barlow Condensed;
  text-transform: uppercase;
  margin: 12px 0 0;
}
.az-state-page .official-schedule-head p {
  color: #5c5042;
  font-size: 17px;
  line-height: 1.65;
  margin: 0;
}
.az-state-page .official-schedule-sheet {
  display: block;
  background: #fff;
  padding: 14px;
  border: 1px solid #bca483;
  box-shadow: 16px 16px 0 #f31b24;
}
.az-state-page .official-schedule-sheet img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
.az-state-page .official-schedule-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-top: 35px;
}
.az-state-page .official-schedule-action > span {
  color: #675b4c;
}
.az-state-page .official-schedule-action .ama-link {
  color: #15110c;
  border-color: #f31b24;
}
.az-state-page .official-schedule-action .ama-link span {
  color: #f31b24;
}
@media (max-width: 900px) {
  .az-state-page .official-schedule-head {
    grid-template-columns: 1fr;
  }
  .az-state-page .official-schedule-sheet {
    box-shadow: 9px 9px 0 #f31b24;
  }
}
@media (max-width: 580px) {
  .az-state-page .official-schedule {
    padding: 70px 0;
  }
  .az-state-page .official-schedule-head h2 {
    font-size: 58px;
  }
  .az-state-page .official-schedule-sheet {
    padding: 6px;
    box-shadow: 6px 6px 0 #f31b24;
  }
  .az-state-page .official-schedule-action {
    display: block;
  }
  .az-state-page .official-schedule-action .ama-link {
    display: inline-flex;
    margin-top: 18px;
  }
}
/* Interactive Arizona State Championship pricing */
.az-state-page .state-pricing {
  overflow: hidden;
}
.az-state-page .state-pricing-head {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 50px;
  align-items: end;
  margin-bottom: 38px;
}
.az-state-page .state-pricing-head h2 {
  font: 900 clamp(62px, 8vw, 112px)/0.8 Barlow Condensed;
  text-transform: uppercase;
  margin: 10px 0 0;
}
.az-state-page .state-pricing-head p {
  font-size: 18px;
  line-height: 1.6;
  color: #514014;
  margin: 0;
  max-width: 580px;
}
.az-state-page .price-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 0 15px;
  scrollbar-color: #15110c transparent;
}
.az-state-page .price-tab {
  appearance: none;
  border: 2px solid #15110c;
  background: transparent;
  color: #15110c;
  white-space: nowrap;
  padding: 12px 17px;
  font: 900 14px Barlow Condensed;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.az-state-page .price-tab.active {
  background: #15110c;
  color: #fff;
}
.az-state-page .state-price-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  align-items: start;
}
.az-state-page .price-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.az-state-page .price-card {
  background: #fff;
  color: #15110c;
  border-bottom: 8px solid #f31b24;
  padding: 28px;
  min-height: 260px;
}
.az-state-page .price-card[hidden] {
  display: none;
}
.az-state-page .price-card-label {
  color: #a10f16;
  font: 900 13px Barlow Condensed;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.az-state-page .price-card h3,
.az-state-page .cost-planner h3 {
  font: 900 32px/0.95 Barlow Condensed;
  text-transform: uppercase;
  margin: 10px 0 23px;
}
.az-state-page .price-card dl {
  margin: 0;
}
.az-state-page .price-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #ded8cd;
  padding: 12px 0;
}
.az-state-page .price-card dt {
  font-weight: 700;
}
.az-state-page .price-card dd {
  margin: 0;
  font-weight: 900;
  white-space: nowrap;
}
.az-state-page .price-card dd small {
  font-weight: 600;
  color: #655b4e;
}
.az-state-page .price-big {
  display: flex;
  align-items: end;
  gap: 13px;
}
.az-state-page .price-big strong {
  font: 900 72px/0.8 Barlow Condensed;
}
.az-state-page .price-big span {
  font-weight: 700;
  color: #655b4e;
}
.az-state-page .price-alt {
  font: 800 18px Barlow Condensed;
  text-transform: uppercase;
  margin: 24px 0 0;
}
.az-state-page .price-note {
  color: #655b4e;
  line-height: 1.5;
  margin: 20px 0 0;
}
.az-state-page .cost-planner {
  position: sticky;
  top: 22px;
  background: #15110c;
  color: #fff;
  padding: 30px;
  box-shadow: 12px 12px 0 #a10f16;
}
.az-state-page .cost-planner label {
  display: block;
  font: 900 12px Barlow Condensed;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #ffc12c;
  margin: 14px 0 7px;
}
.az-state-page .cost-planner select,
.az-state-page .cost-planner input {
  width: 100%;
  height: 48px;
  border: 1px solid #625b4f;
  background: #070707;
  color: #fff;
  padding: 0 12px;
  font: 700 14px Inter;
}
.az-state-page .cost-total {
  display: flex;
  justify-content: space-between;
  align-items: end;
  border-top: 2px solid #ffc12c;
  margin-top: 24px;
  padding-top: 20px;
}
.az-state-page .cost-total span {
  font: 900 14px Barlow Condensed;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.az-state-page .cost-total strong {
  font: 900 58px/0.8 Barlow Condensed;
  color: #ffc12c;
}
.az-state-page .cost-planner > p {
  color: #aaa;
  font-size: 12px;
  line-height: 1.5;
  margin: 20px 0 0;
}
@media (max-width: 900px) {
  .az-state-page .state-pricing-head,
  .az-state-page .state-price-layout {
    grid-template-columns: 1fr;
  }
  .az-state-page .cost-planner {
    position: static;
  }
  .az-state-page .price-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 580px) {
  .az-state-page .state-pricing-head h2 {
    font-size: 58px;
  }
  .az-state-page .price-cards {
    grid-template-columns: 1fr;
  }
  .az-state-page .price-card {
    min-height: 0;
  }
  .az-state-page .cost-planner {
    padding: 24px;
    box-shadow: 7px 7px 0 #a10f16;
  }
}
/* Interactive Arizona State Championship weekend schedule */
.az-state-page .official-schedule-sheet,
.az-state-page .official-schedule-action {
  display: none;
}
.az-state-page .schedule-day-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 42px;
}
.az-state-page .schedule-day-tab {
  appearance: none;
  border: 1px solid #444;
  background: #151515;
  color: #fff;
  text-align: left;
  padding: 20px;
  cursor: pointer;
  min-height: 150px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: 0 12px;
}
.az-state-page .schedule-day-tab span {
  font: 900 14px Barlow Condensed;
  letter-spacing: 0.12em;
  color: #ffc12c;
}
.az-state-page .schedule-day-tab strong {
  grid-row: 1/3;
  font: 900 70px/0.8 Barlow Condensed;
  align-self: center;
}
.az-state-page .schedule-day-tab b {
  font: 900 18px Barlow Condensed;
  text-transform: uppercase;
  align-self: end;
}
.az-state-page .schedule-day-tab.active {
  background: #ffc12c;
  color: #111;
  border-color: #ffc12c;
  box-shadow: 8px 8px 0 #f31b24;
}
.az-state-page .schedule-day-tab.active span {
  color: #a10f16;
}
.az-state-page .schedule-panels {
  margin-top: 30px;
}
.az-state-page .schedule-panel {
  background: #111;
  border: 1px solid #393939;
}
.az-state-page .schedule-panel[hidden] {
  display: none;
}
.az-state-page .schedule-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  padding: 32px;
  border-bottom: 1px solid #393939;
}
.az-state-page .schedule-panel-head span {
  font: 900 14px Barlow Condensed;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffc12c;
}
.az-state-page .schedule-panel-head h3 {
  font: 900 clamp(38px, 5vw, 64px)/0.9 Barlow Condensed;
  text-transform: uppercase;
  margin: 7px 0 0;
}
.az-state-page .schedule-status {
  border: 1px solid #ffc12c;
  color: #ffc12c;
  padding: 10px 14px;
  font: 900 13px Barlow Condensed;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.az-state-page .schedule-status.feature {
  background: #f31b24;
  border-color: #f31b24;
  color: #fff;
}
.az-state-page .schedule-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.az-state-page .schedule-timeline li {
  display: grid;
  grid-template-columns: minmax(145px, 0.3fr) 1fr;
  gap: 30px;
  padding: 25px 32px;
  border-top: 1px solid #2b2b2b;
  align-items: start;
}
.az-state-page .schedule-timeline li:first-child {
  border-top: 0;
}
.az-state-page .schedule-timeline time {
  font: 900 25px Barlow Condensed;
  color: #ffc12c;
  text-transform: uppercase;
}
.az-state-page .schedule-timeline strong {
  font: 900 24px Barlow Condensed;
  text-transform: uppercase;
}
.az-state-page .schedule-timeline p {
  color: #aaa;
  line-height: 1.5;
  margin: 6px 0 0;
}
.az-state-page .schedule-timeline li.schedule-secondary {
  border-left: 7px solid #f31b24;
  background: #211113;
}
.az-state-page .schedule-disclaimer {
  color: #999;
  font-size: 13px;
  line-height: 1.5;
  margin: 20px 0 0;
}
@media (max-width: 760px) {
  .az-state-page .schedule-day-tabs {
    grid-template-columns: repeat(2, 1fr);
  }
  .az-state-page .schedule-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .az-state-page .schedule-timeline li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .az-state-page .schedule-day-tab {
    min-height: 125px;
  }
  .az-state-page .schedule-day-tab strong {
    font-size: 58px;
  }
}
@media (max-width: 460px) {
  .az-state-page .schedule-day-tabs {
    display: flex;
    overflow-x: auto;
    padding-bottom: 12px;
  }
  .az-state-page .schedule-day-tab {
    min-width: 160px;
  }
  .az-state-page .schedule-panel-head,
  .az-state-page .schedule-timeline li {
    padding: 22px;
  }
}

/* Arizona State Championship: compact, fully expanded weekend schedule */
.az-state-page .official-schedule {
  padding: 68px 0;
}
.az-state-page .official-schedule-head {
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  margin-bottom: 28px;
}
.az-state-page .official-schedule-head h2 {
  font-size: clamp(50px, 5.8vw, 82px);
  line-height: 0.86;
}
.az-state-page .official-schedule-head p {
  font-size: 16px;
  line-height: 1.55;
  max-width: 560px;
}
.az-state-page .schedule-day-tabs {
  display: none;
}
.az-state-page .schedule-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0;
}
.az-state-page .schedule-panel,
.az-state-page .schedule-panel[hidden] {
  display: block;
  min-width: 0;
}
.az-state-page .schedule-panel-head {
  padding: 20px 22px;
  align-items: flex-start;
}
.az-state-page .schedule-panel-head h3 {
  color: #fff;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 0.92;
}
.az-state-page .schedule-status {
  font-size: 11px;
  padding: 8px 10px;
}
.az-state-page .schedule-timeline li {
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 16px;
  padding: 15px 22px;
}
.az-state-page .schedule-timeline time {
  font-size: 20px;
}
.az-state-page .schedule-timeline strong {
  display: block;
  color: #fff;
  font-size: 19px;
  line-height: 1.05;
}
.az-state-page .schedule-timeline p {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 4px;
}
.az-state-page .schedule-disclaimer {
  margin-top: 16px;
}
@media (max-width: 900px) {
  .az-state-page .official-schedule-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .az-state-page .schedule-panels {
    grid-template-columns: 1fr;
  }
  .az-state-page .schedule-panel-head {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media (max-width: 580px) {
  .az-state-page .official-schedule {
    padding: 52px 0;
  }
  .az-state-page .official-schedule-head h2 {
    font-size: 50px;
  }
  .az-state-page .schedule-panel-head {
    padding: 18px;
    flex-direction: column;
    gap: 12px;
  }
  .az-state-page .schedule-timeline li {
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 18px;
  }
  .az-state-page .schedule-timeline time {
    font-size: 18px;
  }
  .az-state-page .schedule-timeline strong {
    font-size: 17px;
  }
}

/* Pricing without the calculator */
.az-state-page .state-price-layout {
  display: block;
}
.az-state-page .price-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .az-state-page .price-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 580px) {
  .az-state-page .price-cards {
    grid-template-columns: 1fr;
  }
}

/* Arizona State Championship mobile: clear the header and show every filter */
@media (max-width: 580px) {
  .az-state-page .hero {
    height: auto;
    min-height: 790px;
    align-items: flex-start;
  }
  .az-state-page .hero-copy {
    padding-top: 150px;
    padding-bottom: 58px;
  }
  .az-state-page .price-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding: 0 0 18px;
  }
  .az-state-page .price-tab {
    width: 100%;
    min-height: 50px;
    padding: 10px 8px;
    white-space: normal;
    line-height: 1.05;
    text-align: center;
  }
}

/* Event-page mobile heroes: keep the first label below the 34px bar + 82px nav. */
@media (max-width: 580px) {
  .cactus-state-page .hero {
    height: auto;
    min-height: 790px;
    align-items: flex-start;
  }
  .cactus-state-page .hero-copy {
    padding-top: 150px;
    padding-bottom: 58px;
  }
  .az-state-page .entry-copy,
  .az-state-page .entry-actions,
  .cactus-state-page .entry-copy,
  .cactus-state-page .entry-actions {
    min-width: 0;
  }
  .az-state-page .finder-panel,
  .cactus-state-page .finder-panel {
    box-shadow: none;
  }
}

/* Shared event-page parking and pit guide */
.event-parking {
  --event-accent: #f31b24;
  padding: 100px 0;
  background: #0c0c0c;
  color: #fff;
}
.cactus-state-page .event-parking {
  --event-accent: #ff5b21;
}
.az-state-page .event-parking {
  --event-accent: #ffc12c;
}
.event-parking-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: 60px;
  align-items: center;
}
.event-parking-media {
  position: relative;
  overflow: hidden;
  background: #171717;
}
.event-parking-media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #0008, transparent 44%);
  pointer-events: none;
}
.event-parking-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.event-parking-media span {
  position: absolute;
  z-index: 1;
  left: 22px;
  bottom: 20px;
  padding: 9px 12px;
  background: #0b0b0be8;
  border-left: 5px solid var(--event-accent);
  font: 900 16px Barlow Condensed;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.event-parking .kicker {
  color: var(--event-accent);
}
.event-parking h2 {
  margin: 12px 0 24px;
  font: 900 clamp(58px, 6vw, 86px)/0.82 Barlow Condensed;
  text-transform: uppercase;
}
.event-parking-copy > p {
  max-width: 680px;
  margin: 0;
  color: #b8b8b8;
  font-size: 17px;
  line-height: 1.65;
}
.event-pit-rule {
  margin-top: 26px;
  padding: 23px 25px;
  border: 1px solid #353535;
  border-left: 5px solid var(--event-accent);
  background: #161616;
}
.event-pit-rule strong {
  color: var(--event-accent);
  font: 900 17px Barlow Condensed;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.event-pit-rule p {
  margin: 9px 0 0;
  color: #bbb;
  font-size: 14px;
  line-height: 1.65;
}
.event-parking .buttons {
  align-items: center;
}
.event-parking-link {
  padding: 12px 3px;
  border-bottom: 2px solid var(--event-accent);
  font: 900 15px Barlow Condensed;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .event-parking-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .event-parking-media {
    max-width: 760px;
  }
}
@media (max-width: 580px) {
  .event-parking {
    padding: 68px 0;
  }
  .event-parking-grid {
    gap: 32px;
  }
  .event-parking h2 {
    font-size: 56px;
  }
  .event-parking-copy > p {
    font-size: 16px;
  }
  .event-pit-rule {
    padding: 20px;
  }
  .event-parking .buttons {
    display: grid;
    grid-template-columns: 1fr;
  }
  .event-parking-link {
    width: max-content;
  }
}

/* Keep footer links consistent even when page-level anchor styles are more specific. */
.site-footer-links a,
.site-footer-links a:link,
.site-footer-links a:visited,
.site-footer-contact a,
.site-footer-contact a:link,
.site-footer-contact a:visited,
.site-footer-meta a,
.site-footer-meta a:link,
.site-footer-meta a:visited {
  color: #aaa !important;
  text-decoration: none !important;
}

.site-footer-links a:hover,
.site-footer-links a:focus-visible,
.site-footer-contact a:hover,
.site-footer-contact a:focus-visible,
.site-footer-meta a:hover,
.site-footer-meta a:focus-visible {
  color: #fff !important;
  text-decoration: none !important;
}

/* Arizona State Championship: keep the completed 2026 schedule as an archive. */
.az-state-page .schedule-archive-status {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 0 28px;
  padding: 18px 22px;
  background: #111;
  color: #fff;
  border-left: 8px solid #f31b24;
  box-shadow: 10px 10px 0 #f31b24;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}
.az-state-page .official-schedule .schedule-archive-status {
  background: #15110c;
}
.az-state-page .schedule-archive-status span {
  margin-right: auto;
  color: #aaa;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.az-state-page .schedule-archive-status strong,
.az-state-page .schedule-archive-status b {
  font-size: 40px;
  line-height: 0.9;
}
.az-state-page .schedule-archive-status strong {
  color: #ffc12c;
}
.az-state-page .schedule-archive-status b {
  color: #fff;
}
.az-state-page .schedule-archive .weekend-day,
.az-state-page .schedule-archive .schedule-panel {
  position: relative;
  overflow: hidden;
}
.az-state-page .schedule-archive .weekend-day::after,
.az-state-page .schedule-archive .schedule-panel::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 50%;
  right: -8%;
  left: -8%;
  height: 7px;
  background: #f31b24;
  box-shadow: 0 0 0 3px #111;
  transform: rotate(-5deg);
  pointer-events: none;
}
.az-state-page .schedule-archive .weekend-day > *,
.az-state-page .schedule-archive .schedule-panel > * {
  opacity: 0.58;
}
.az-state-page .schedule-archive .weekend-date strong,
.az-state-page .schedule-archive .schedule-panel-head span {
  text-decoration: line-through;
  text-decoration-color: #f31b24;
  text-decoration-thickness: 4px;
}
@media (max-width: 580px) {
  .az-state-page .schedule-archive-status {
    gap: 10px;
    box-shadow: 6px 6px 0 #f31b24;
  }
  .az-state-page .schedule-archive-status span {
    width: 100%;
    margin: 0;
  }
  .az-state-page .schedule-archive-status strong,
  .az-state-page .schedule-archive-status b {
    font-size: 32px;
  }
  .az-state-page .schedule-archive .weekend-day::after,
  .az-state-page .schedule-archive .schedule-panel::after {
    height: 5px;
  }
}
.cs-age-control{padding:22px;border-right:1px solid #333}.cs-age-control>label:first-child{display:block;padding:0;border:0}.cs-age-control>input{display:block;width:100%;box-sizing:border-box;margin-top:12px;padding:16px;background:#080808;color:#fff;border:1px solid #555;font:600 16px Inter}.jan1-confirm{display:flex!important;align-items:flex-start;gap:10px;margin-top:12px!important;padding:12px!important;border:1px solid rgba(216,255,30,.55)!important;background:rgba(216,255,30,.08);color:inherit!important;font:700 12px/1.4 Inter,sans-serif!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}.jan1-confirm[hidden]{display:none!important}.jan1-confirm input{width:18px!important;height:18px!important;min-width:18px;margin:0!important;accent-color:#d8ff1e}.jan1-confirm span{display:block}.jan1-prompt{grid-column:1/-1;border-color:#d8ff1e!important}@media(max-width:800px){.cs-age-control{border-right:0;border-bottom:1px solid #333}}
