@font-face {
  font-family: "Cheddar Gothic Sans";
  src: url("/fonts/cheddar-gothic.woff2") format("woff2"),
       url("/fonts/cheddar-gothic.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cheddar Gothic";
  src: url("/fonts/cheddar-gothic.woff2") format("woff2"),
       url("/fonts/cheddar-gothic.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gotham Medium";
  src: url("/fonts/gotham-medium.woff2") format("woff2"),
       url("/fonts/gotham-medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Redzein Vintage";
  src: url("/fonts/extra.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --gold: #9C6B23;
  --gold-on-dark: #D8A14F;
  --gold-hover: #8E703A;
  --link: #BB9857;
  --link-on-light: #8E703A;
  --brown: #682707;
  --ink: #272827;
  --black: #000000;
  --header: #272827;
  --cream: #F4ECDF;
  --night: #783A2E;
  --night-col: #783A2E;
  --night-mid: #282626;
  --tile: #783A2E;
  --white: #ffffff;
  --muted: #5D5E5D;
  --page-white: #ffffff;
  --hotels: #232222;
  --hero-frame: #2B2C26;
  --press-rust: #955738;
  --display: "Cheddar Gothic Sans", "Cheddar Gothic", "Impact", "Arial Narrow", sans-serif;
  --western: "Redzein Vintage", "Cheddar Gothic Sans", "Impact", serif;
  --sans: "Gotham Medium", "Avenir Next", "avenir-lt-w01_35-light1475496", "Helvetica Neue", Helvetica, sans-serif;
  --legal-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max: 980px;
  --header-h: 156px;
}

*,
*::before,
*::after { box-sizing: border-box; }
html,
body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  overflow-x: clip;
  min-height: 100%;
  color: var(--white);
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.4;
  background: var(--ink);
}
body.page-event {
  background: var(--ink) url("/media/e10318_de41f6ddcc874a64a4322641b79f206d_mv2.webp") center top / cover fixed no-repeat;
  color: var(--white);
}
body.page-faq {
  background: var(--night);
  color: var(--cream);
}
body.page-legal {
  background: var(--ink);
  color: var(--white);
}
body.page-editorial,
body.page-contact,
body.page-subscribe,
body.page-suite {
  background: var(--page-white);
  color: var(--ink);
}
h1,
h2,
h3,
h4 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-decoration: none; overflow-wrap: anywhere; }
.western {
  font-family: var(--western);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
button,
input,
select,
textarea { font-family: inherit; }
.skip { position: absolute; left: -999px; }
.skip:focus,
.skip:focus-visible { left: 12px; top: 12px; z-index: 500; background: var(--gold); color: #fff; padding: 8px 12px; }
h1.a11y-hidden,
.a11y-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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.logo img { height: 110px; width: 173px; object-fit: contain; }

main { max-width: 100%; min-width: 0; overflow-x: clip; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
.section { padding: 56px 0; }
.center { text-align: center; }
.kicker {
  font-family: var(--display);
  color: var(--gold-on-dark);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.display {
  font-family: var(--display);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0 0 16px;
}
.display.xl { font-size: 60px; line-height: 1.4em; }
.display.lg { font-size: 60px; line-height: 1.4em; }
.display.md { font-size: 40px; line-height: 1.2; }
.display.western { font-family: var(--western); }

.lede,
.prose p {
  color: var(--cream);
  font-size: 15px;
  max-width: 720px;
  margin: 0 auto 16px;
}

.next-cities .city-row { grid-template-columns: repeat(2, minmax(0, 330px)); }
button.btn { appearance: none; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 15px;
  border: 1px solid var(--brown);
  box-shadow: 0 1px 4px rgba(0,0,0,.6);
  min-width: 161px;
  height: 37px;
  padding: 0 16px;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
  background: #fff;
  color: var(--brown);
}
.btn:hover { background: var(--gold-hover); color: #fff; }
.btn.gold {
  background: var(--gold);
  color: #fff;
  border-color: var(--ink);
  font-size: 17px;
}
.btn.gold:hover { background: #fff; color: var(--ink); }
.btn-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }

.city-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 330px));
  justify-content: center;
  column-gap: 52px;
  row-gap: 28px;
  max-width: 1110px;
  margin: 71px auto 10px;
  padding: 0 16px;
}
.city-card { width: 100%; max-width: 330px; text-align: left; }
.city-card img {
  width: 327px; max-width: 100%; height: 319px; object-fit: cover;
  margin: 0 0 16px 2px;
}
.city-card .btn-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 8px;
}

.about {
  padding: 28px 20px 40px;
  text-align: center;
  max-width: 100%;
  min-width: 0;
}
.about h1,
.about h1.display,
.about.pick-rodeo h2.display {
  margin: 0 auto 18px;
  color: var(--white);
  font-family: var(--display);
  font-size: 60px;
  line-height: 1.4em;
  text-align: center;
  max-width: 100%;
  padding: 0 16px;
  overflow-wrap: break-word;
}
.about p {
  color: var(--white);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.4em;
  max-width: 640px;
  margin: 0 auto 16px;
  padding: 0 16px;
  text-align: center;
}

.video-frame {
  position: relative;
  width: min(907px, 100%);
  max-width: 100%;
  margin: 0 auto 70px;
  background: #000;
  aspect-ratio: 907 / 474;
  cursor: pointer;
}
.video-frame img,
.video-frame iframe,
.video-frame video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0;
}
.video-frame .play {
  position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(0,0,0,.15);
  border: 0;
  width: 100%;
  padding: 0;
  cursor: pointer;
}
.video-frame .play span {
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(0,0,0,.55); border: 2px solid #fff;
  display: grid; place-items: center; color: #fff; font-size: 28px;
}

.experience-head { text-align: center; padding: 10px 16px 28px; }
.experience-head .one { font-family: var(--display); font-size: 40px; text-transform: none; margin: 0; }
.xp {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 28px;
  align-items: center;
  max-width: 980px;
  margin: 0 auto 36px;
  padding: 0 16px;
}
.xp.reverse { grid-template-columns: 1fr 360px; }
.xp img { width: 360px; height: 304px; object-fit: cover; }
.xp .time { color: var(--gold-on-dark); text-transform: uppercase; letter-spacing: .12em; font-size: 13px; margin: 0 0 6px; }
.xp p { color: var(--cream); margin: 8px 0 0; }

.lets-rodeo {
  max-width: 980px;
  margin: 28px auto 8px;
  padding: 0 16px;
}
.lets-rodeo img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: cover;
}

.champs {
  background: #272827;
  padding: 8px 0 28px;
}
.champ-head {
  text-align: center;
  padding: 24px 16px 18px;
  color: var(--white);
  font-family: var(--display);
  font-size: 60px;
  line-height: 1.4em;
  margin: 0;
}
.champ-carousel {
  position: relative;
  width: 100%;
}
.champ-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0 16px 8px;
}
.champ-track::-webkit-scrollbar { display: none; }
.champ-card {
  flex: 0 0 280px;
  width: 280px;
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  cursor: pointer;
  text-align: center;
  scroll-snap-align: start;
}
.champ-card img {
  width: 280px;
  height: 400px;
  object-fit: cover;
  object-position: top;
}
.champ-card h3 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 400;
  margin: 14px 0 4px;
  color: #fff;
  letter-spacing: 0;
  text-transform: none;
}
.champ-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
  color: #BB9857;
  text-transform: none;
  letter-spacing: 0;
}
.champ-nav {
  position: absolute;
  top: 180px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #272827;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.champ-nav.prev { left: 12px; }
.champ-nav.next { right: 12px; }
.champ-nav[hidden] { display: none !important; }

.champ-lightbox {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: #fff;
  display: grid;
  place-items: center;
  padding: 48px 72px 32px;
}
.champ-lightbox[hidden] { display: none !important; }
.champ-lb-body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, 1fr);
  gap: 36px;
  align-items: center;
  width: min(1180px, 100%);
  max-height: 90vh;
}
.champ-lb-body img {
  width: 100%;
  max-height: 82vh;
  height: auto;
  object-fit: contain;
  object-position: top;
}
.champ-lb-copy h2 {
  font-family: var(--sans);
  font-size: 40px;
  font-weight: 500;
  color: #272827;
  margin: 0 0 12px;
  letter-spacing: 0;
  text-transform: none;
}
.champ-lb-copy p {
  margin: 0;
  font-size: 16px;
  color: #5D5E5D;
  line-height: 1.4;
}
.champ-lb-x,
.champ-lb-expand {
  position: absolute;
  top: 16px;
  background: none;
  border: 0;
  cursor: pointer;
  color: #272827;
  font-size: 28px;
  line-height: 1;
  width: 44px;
  height: 44px;
}
.champ-lb-x { right: 18px; }
.champ-lb-expand { left: 18px; font-size: 20px; }
.champ-lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  color: #272827;
  font-size: 42px;
  cursor: pointer;
  width: 48px;
  height: 48px;
}
.champ-lb-nav.prev { left: 8px; }
.champ-lb-nav.next { right: 8px; }
.gallery-lightbox .champ-lb-body {
  grid-template-columns: 1fr;
  width: min(1200px, 100%);
  justify-items: center;
}
.gallery-lightbox .champ-lb-body img {
  max-height: 88vh;
  width: auto;
  max-width: 100%;
}

body.page-faq {
  background: #783A2E;
}
.faq-page {
  background: #783A2E;
  padding: 40px 16px 80px;
}
.faq-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  max-width: 980px;
  margin: 8px auto 28px;
}
.home-faq {
  background: #783A2E;
  color: var(--cream);
  padding: 48px 16px 52px;
}
.home-faq .faq-head { margin: 0 auto 20px; }
.home-faq .faq-head h2 {
  font-family: var(--display);
  font-size: 60px;
  font-weight: 400;
  color: var(--cream);
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.4em;
}

.home-faq-cta { margin: 0; }
.home-faq .btn.gold {
  border: 0;
  box-shadow: none;
  text-transform: none;
  letter-spacing: 0;
}
.faq-head h1,
.faq-head h2 {
  font-family: var(--display);
  font-size: 60px;
  font-weight: 400;
  color: var(--cream);
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.4em;
}
.faq-stars {
  width: 196px;
  height: 43px;
  object-fit: contain;
  background: transparent;
}
.faq { max-width: 820px; margin: 0 auto; padding: 0 16px; }
.faq details {
  border-bottom: 1px solid rgba(244, 236, 223, 0.3);
  padding: 24px 0;
}
.faq summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--display);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--cream);
  text-transform: none;
  letter-spacing: 0;
}
.faq summary::-webkit-details-marker { display: none; }
.faq-chevron {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--cream);
  transition: transform 0.2s ease;
}
.faq details[open] .faq-chevron { transform: rotate(180deg); }
.faq-a { padding: 12px 40px 4px 0; }
.faq-a p {
  font-family: var(--sans);
  font-size: 16px;
  color: var(--cream);
  margin: 0 0 10px;
}
.faq-a a { color: var(--cream); text-decoration: underline; }

.form { display: grid; gap: 14px; max-width: 720px; margin: 0 auto; }
.form.two { grid-template-columns: 1fr 1fr; }
.form label { display: grid; gap: 6px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-on-dark); }
.form input,
.form select,
.form textarea {
  background: #0f0f0f; border: 1px solid #3a3a3a; color: var(--white);
  padding: 12px 14px; font-size: 15px;
}
.form .full { grid-column: 1 / -1; }
.form .hp { position: absolute; left: -9999px; }
.checks { display: flex; flex-wrap: wrap; gap: 12px; color: var(--white); text-transform: none; letter-spacing: 0; font-size: 14px; }
.form-msg { min-height: 1.4em; color: var(--gold-on-dark); }

.contact-grid { display: grid; grid-template-columns: 1fr; gap: 28px; max-width: 720px; margin: 0 auto; }
.contact-card { border: 0; padding: 0; background: none; }
.contact-card h3 { margin: 0 0 8px; font-family: var(--display); font-size: 20px; letter-spacing: 0; color: inherit; }

.prose { max-width: 780px; margin: 0 auto; padding: 0 16px; }
.prose h2 { font-family: var(--display); letter-spacing: .05em; }
.table-wrap { overflow-x: auto; padding: 0 16px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th,
td { border-bottom: 1px solid #2a2a2a; padding: 8px 10px; text-align: left; }
th { color: var(--gold-on-dark); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }

.three-grid,
.press-grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(3, 1fr);
  max-width: var(--max); margin: 0 auto; padding: 0 16px;
}
.press-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.night-card,
.vip-card,
.press-card,
.media-card {
  background: rgba(17,17,17,.72);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.night-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.night-card .body,
.vip-card,
.press-card { padding: 18px; }
.night-card h3 { margin: 0 0 8px; font-family: var(--display); font-size: 28px; }
.meta { color: var(--gold-on-dark); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.muted { color: var(--muted); }
.fine { color: var(--muted); font-size: 10px; }
.page-hero { padding: 48px 16px 12px; text-align: center; }
.page-hero img { width: 100%; max-width: min(420px, 100%); height: auto; margin: 0 auto 18px; }

.bleed-hero { width: 100%; background: #000; }
.bleed-hero img {
  width: 100%; height: auto;
  aspect-ratio: 1304 / 629;
  object-fit: cover;
  max-width: none;
  margin: 0;
}
.bleed-hero.framed {
  background: rgb(43, 44, 38);
  display: flex;
  justify-content: center;
}
.bleed-hero.framed img {
  width: 100%;
  max-width: 1077px;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto;
}
.page-tampa .xp-card {
  background: #8E703A;
}
.page-tampa .city-video {
  max-width: 1100px;
  aspect-ratio: 996 / 720;
  min-height: 620px;
}
.page-tampa .xp-col img {
  height: 420px;
  aspect-ratio: auto;
}

body.page-city,
body.page-nola,
body.page-street {
  background: var(--ink);
  color: var(--white);
}

.results-bar {
  background: var(--night);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  padding: 16px 20px;
}
.results-link {
  font-family: var(--display);
  font-size: 35px;
  font-style: italic;
  color: var(--white);
  text-decoration: underline;
  line-height: 1.2;
}
.nola-hero {
  background: var(--hero-frame);
}
.nola-hero img {
  width: 100%;
  height: 681px;
  object-fit: cover;
  object-position: center 35%;
  aspect-ratio: auto;
  max-width: none;
}
.nola-arena {
  background: #000;
}
.nola-arena img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 741px;
  object-fit: cover;
  object-position: center;
  aspect-ratio: auto;
}
.nola-floor {
  padding: 28px 16px 56px;
  text-align: center;
}
.nola-floor-collage {
  display: grid;
  grid-template-columns: minmax(0, 600fr) minmax(0, 600fr) minmax(0, 340fr);
  gap: 10px;
  max-width: 1200px;
  margin: 0 auto 36px;
}
.nola-floor-collage img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 420px;
  object-fit: cover;
}
.nola-floor-copy {
  max-width: 720px;
  margin: 0 auto;
}
.nola-floor-copy p {
  color: var(--white);
  margin: 0 0 22px;
}
.nola-vip-tall {
  position: relative;
  min-height: 980px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 72px 16px;
  overflow: hidden;
  background: #000;
}
.nola-vip-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.nola-vip-shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
}
.nola-vip-copy {
  position: relative;
  z-index: 1;
  max-width: 680px;
  text-align: center;
  color: var(--white);
}
.nola-vip-copy p {
  color: var(--white);
  margin: 0 0 22px;
}
.nola-street-band {
  position: relative;
  overflow: hidden;
  color: #fff;
  text-align: center;
  padding: 0 0 70px;
  background: rgb(120, 58, 46);
}
.nola-street-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: 0.38;
  pointer-events: none;
}
.nola-street-band > *:not(.nola-street-bg) {
  position: relative;
  z-index: 1;
}
.nola-street-copy {
  max-width: 640px;
  margin: 36px auto 28px;
  padding: 0 16px;
}
.nola-street-copy p {
  color: #fff;
  margin: 6px 0;
}
.nola-street-copy .sf-logo {
  margin-bottom: 12px;
}
.nola-street-copy .btn.gold {
  margin-top: 18px;
}
.nola-street-about {
  max-width: 780px;
  margin: 48px auto 0;
  padding: 0 16px 24px;
}
body.page-nola .nola-street-about h2,
.nola-street-about h2 {
  font-family: var(--display);
  font-size: 60px;
  line-height: 1;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  margin: 0 0 16px;
  font-weight: 400;
  text-transform: none;
  text-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}
body.page-nola .nola-street-about p,
.nola-street-about p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}
.mosaic-collage {
  position: relative;
  width: min(1050px, 100%);
  margin: 0 auto;
  height: 384px;
  padding: 0 48px;
  box-sizing: border-box;
}
.mosaic-collage-track {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  height: 384px;
  scrollbar-width: thin;
}
.mosaic-collage-canvas {
  position: relative;
  height: 384px;
}
.mosaic-collage-canvas .gallery-item {
  position: absolute;
  flex: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.mosaic-collage-canvas .gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.mosaic-collage .gallery-nav {
  background: #fff;
  color: #272827;
}
.nola-close {
  background: var(--ink);
  min-height: 48px;
}
body.page-street .site-footer {
  min-height: 0;
}
.on-black { background: #000; color: var(--white); padding: 48px 16px; }
.on-charcoal { background: var(--hotels); color: var(--white); padding: 48px 16px; }
.on-white { background: var(--page-white); color: var(--ink); padding: 48px 16px; }
.on-white h2,
.on-white p { color: var(--ink); }
.on-ink { background: var(--ink); color: var(--white); }
.on-black .split-block p,
.on-charcoal .split-block p,
.on-charcoal .street-block p { color: var(--white); }

.sf-brand {
  background: var(--ink);
  text-align: center;
  padding: 36px 16px 16px;
}
.sf-logo {
  width: min(340px, 72%);
  height: auto;
  margin: 0 auto 18px;
  mix-blend-mode: screen;
}
.sf-brand h1 {
  font-family: var(--display);
  font-size: 48px;
  line-height: 1.05;
  color: var(--white);
  margin: 0 0 10px;
}
.sf-when,
.sf-meta {
  color: var(--white);
  margin: 4px 0;
  font-size: 16px;
}
.sf-city .cap strong { color: var(--white); font-size: 32px; }
.sf-city .cap em { color: var(--white); }

.faq-preview {
  background: var(--night);
  padding: 40px 16px 64px;
}
.faq-preview .faq-head {
  margin: 0 auto 28px;
  max-width: 980px;
}
.faq-preview .faq-head h2 {
  color: var(--cream);
  font-family: var(--display);
  font-size: 31px;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}
.faq-more {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 0 16px;
  text-align: left;
}
.faq-more-btn {
  background: var(--gold-hover);
  color: #fff;
  border-color: var(--ink);
  font-size: 23px;
  min-width: 200px;
  height: 44px;
  text-transform: none;
  letter-spacing: 0;
}
.faq-more-btn:hover {
  background: #fff;
  color: var(--ink);
}

.suite-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: 40px;
  align-items: center;
  min-height: 620px;
  padding: 56px 7vw 72px;
  background: var(--ink) url("/media/e10318_c19ffafbaf744eea8605c8e4c3a89020_mv2.webp") center / cover no-repeat;
  color: var(--white);
}
.suite-copy h1 {
  font-family: var(--display);
  font-size: 65px;
  line-height: 0.95;
  margin: 0 0 12px;
  color: var(--white);
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.suite-sub {
  font-family: var(--display);
  font-size: 22px;
  margin: 0 0 16px;
  color: var(--white);
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.suite-blurb {
  max-width: 540px;
  color: var(--white);
  font-size: 16px;
  line-height: 1.4;
}
.suite-meta {
  margin: 6px 0;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
}
.video-frame.suite-still {
  width: 100%;
  max-width: none;
  min-height: 300px;
  aspect-ratio: 16 / 10;
  margin: 0;
}
.suite-offers { background: #000; padding: 48px 0 24px; }
body.page-suite { background: var(--page-white); }
body.page-suite .page-hero { background: none; }

.nights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--night);
}
.night-col {
  padding: 42px 22px 52px;
  text-align: center;
  background: var(--night-col);
  color: var(--cream);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.night-col:nth-child(2) { background: var(--night-mid); }
.night-col .date {
  font-family: var(--display);
  font-size: 35px;
  line-height: 1;
  margin: 0 0 8px;
  color: var(--cream);
  text-transform: none;
}
.night-col .headliner {
  font-family: var(--display);
  font-size: 45px;
  line-height: 0.9;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  color: var(--cream);
}
.night-col .support {
  font-family: var(--display);
  font-size: 25px;
  line-height: 1.05;
  margin: 0 0 12px;
  color: var(--cream);
  text-transform: none;
}
.night-col .note {
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 14px;
}
.night-col .upgrade {
  font-size: 12px;
  color: rgba(244,236,223,.85);
  margin: 4px 0 0;
}
.night-col .btn { margin-top: 4px; }

.packages-bar {
  background: var(--gold-hover);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
  padding: 28px 32px;
}
.packages-bar .copy p {
  color: #fff;
  font-size: 25px;
  line-height: 1.25;
  margin: 0;
}
.packages-bar .sub { font-style: italic; }
.packages-bar .btn {
  background: #fff;
  color: var(--brown);
  min-width: 161px;
}

.xp-band {
  background: #272827;
  padding: 36px 16px 56px;
}
.xp-band h2 {
  font-family: var(--display);
  font-size: 40px;
  font-weight: 400;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  color: var(--white);
  margin: 0 0 28px;
  line-height: 1.4em;
}
.xp-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1110px;
  margin: 0 auto;
  align-items: stretch;
}
.xp-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.xp-col img {
  width: 100%;
  height: 304px;
  aspect-ratio: 360 / 304;
  object-fit: cover;
  flex: none;
}
.info-band {
  background: var(--ink);
  padding: 28px 16px 48px;
}
.city-video {
  max-width: 996px;
  margin: 0 auto 28px;
  aspect-ratio: 996 / 560;
}
.xp-card {
  background: var(--tile);
  padding: 18px 16px 24px;
  text-align: center;
  flex: 1 1 auto;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.xp-col > .btn {
  margin: 16px auto 0;
  align-self: center;
}
.xp-card h3 {
  font-family: var(--display);
  font-size: 40px;
  font-weight: 400;
  text-transform: none;
  color: #fff;
  margin: 0 0 6px;
  line-height: 1.05;
}
.xp-card .time {
  font-family: var(--display);
  font-size: 25px;
  color: #fff;
  margin: 0 0 10px;
  text-transform: none;
  letter-spacing: 0;
}
.xp-card p { color: #fff; font-size: 16px; line-height: 1.4; margin: 0; }

.night-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 6px;
}
.night-col .btn {
  min-width: 128px;
  height: 34px;
  font-size: 15px;
  border-radius: 18px;
}

.pop-backdrop {
  position: fixed; inset: 0; z-index: 120;
  width: 100vw;
  max-width: 100%;
  background: rgba(0,0,0,.35);
  display: grid; place-items: center;
  padding: 16px;
}
.pop-backdrop[hidden] { display: none !important; }
#join-pop { background: rgba(0,0,0,.72); }
.hotel-pop {
  position: relative;
  background: #F3EEE4;
  color: #1a1a1a;
  width: min(320px, 100%);
  padding: 28px 28px 24px;
  border-radius: 2px;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  text-align: left;
}
.join-dialog {
  position: relative;
  width: min(382px, 100%);
  padding: 20px 32px 28px;
  border-radius: 4px;
  background: #242424;
  color: #fff;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  text-align: center;
}
.join-dialog .pop-x { color: #fff; top: 8px; right: 10px; }
.join-logo { width: 128px; height: 82px; object-fit: contain; margin: 0 auto 8px; }
.join-dialog h2 {
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 14px;
  letter-spacing: 0;
}
.join-sms-form { display: grid; gap: 12px; }
.phone-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 22px;
  background: #fff;
  color: #333;
  text-align: left;
}
.country-selector {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  color: #777;
  font-size: 14px;
  border-right: 1px solid #ddd;
  padding-right: 8px;
}
.phone-field input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  color: #222;
  font-size: 13px;
  background: transparent;
}
.phone-field input::placeholder { color: #9a9a9a; }
.sms-disclaimer {
  margin: 0 4px;
  color: rgba(255,255,255,.78);
  font-family: var(--sans);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}
.sms-disclaimer a { color: #fff; text-decoration: underline; font-size: inherit; }
.join-continue {
  border: 0;
  border-radius: 22px;
  min-height: 40px;
  background: #783A2E;
  color: #fff;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 14px;
}
.join-continue:hover { background: #955738; }
.join-sms-form .form-msg { margin: 0; color: #fff; font-size: 12px; }
.hotel-pop h2 {
  font-family: var(--sans);
  font-size: 18px;
  margin: 0 0 8px;
  color: #111;
  text-transform: none;
  letter-spacing: 0;
}
.hotel-pop p { margin: 0 0 18px; font-size: 14px; color: #333; }
.pop-x {
  position: absolute; top: 8px; right: 10px;
  background: none; border: 0; font-size: 18px; cursor: pointer; color: #444;
}
.btn.book-now {
  background: #E07A5F;
  color: #fff;
  border: 0;
  width: 100%;
  border-radius: 6px;
  min-width: 0;
  font-family: var(--sans);
  text-transform: none;
  letter-spacing: 0;
}
.btn.book-now:hover { background: #d0684e; color: #fff; }
.join-dialog .form { max-width: none; }

.split-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto 48px;
  padding: 0 16px;
}
.split-block.reverse { direction: rtl; }
.split-block.reverse > * { direction: ltr; }
.split-block img { width: 100%; height: auto; object-fit: cover; }
.split-block p { color: var(--cream); }

.hotels {
  padding: 40px 16px 48px;
  background: var(--hotels);
  text-align: center;
}
.hotels h2 {
  font-family: var(--display);
  font-size: 60px;
  font-weight: 400;
  color: var(--cream);
  line-height: 1.4em;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 28px;
}
.hotel-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 825px;
  margin: 0 auto;
}
.hotel-stack a { display: block; width: 100%; }
.hotel-stack img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.hotel-stack img.ac { aspect-ratio: 825 / 235; }
.hotel-stack img.hilton { aspect-ratio: 814 / 305; }
.rooms-left {
  font-family: var(--display);
  color: #F4ECDF;
  font-size: 35px;
  line-height: 1.2;
  margin: 16px auto 0;
  max-width: 825px;
  text-align: center;
}
.run-of-show { max-width: 980px; width: 100%; margin: 0 auto; }

.military-band {
  background: var(--ink);
  color: #fff;
  text-align: center;
  padding: 36px 16px 28px;
}
.military-q {
  font-family: var(--display);
  font-size: 40px;
  margin: 0 0 8px;
  color: #fff;
  letter-spacing: 0;
  text-transform: none;
}
.military-link {
  margin: 0 0 18px;
}
.military-link a {
  font-family: var(--display);
  font-size: 40px;
  font-style: italic;
  color: #fff;
  text-decoration: underline;
  letter-spacing: 0;
  text-transform: none;
}
.military-band .btn {
  background: #fff;
  color: var(--brown);
  border-color: var(--brown);
}

.phoenix-collage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-width: 980px;
  margin: 28px auto;
  padding: 0 16px;
}
.phoenix-collage img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.tampa-media {
  background: #111;
  padding: 0 0 8px;
}
.tampa-media .mosaic-collage {
  width: 100%;
  max-width: none;
  height: 384px;
  padding: 0 6px;
}
.tampa-media .mosaic-collage-track,
.tampa-media .mosaic-collage-canvas {
  height: 384px;
}
.tampa-collage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-width: 1100px;
  margin: 28px auto;
  padding: 0 16px;
}
.tampa-collage img {
  width: 100%;
  max-width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}
.hilton-block { margin-top: 8px; }

.ros-band {
  background: var(--ink);
  padding: 0 0 48px;
}
.ros-stage {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  min-height: 420px;
  overflow: hidden;
}
.ros-bg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  object-position: center;
}
.ros-card {
  position: absolute;
  left: max(16px, 4%);
  top: 50%;
  transform: translateY(-50%);
  width: min(420px, 46%);
  height: auto;
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
}

.sponsors-band { padding-top: 24px; padding-bottom: 48px; }
.sponsors-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 20px;
  background: #111;
  border: 1px solid rgba(255,255,255,.08);
}
.sponsors {
  width: 327px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 327 / 319;
  object-fit: cover;
  margin: 0 auto;
}
.sponsors-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px 28px;
  width: 100%;
}
.sponsors-logos img {
  max-height: 56px;
  width: auto;
  max-width: min(220px, 100%);
  object-fit: contain;
}
.sf-hub {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 8px 16px 56px;
  background: var(--ink);
}
.sf-city { text-align: center; }
.sf-city img {
  width: 397px;
  max-width: 100%;
  height: 496px;
  aspect-ratio: 397 / 496;
  object-fit: cover;
  margin: 0 auto;
  display: block;
}
.sf-city-hero {
  background: #000;
}
.sf-city-hero img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: min(62vh, 560px);
  object-fit: cover;
  object-position: center;
}
.page-street .gallery-item {
  flex: 0 0 320px;
  width: 320px;
}
.page-street .gallery-item img {
  width: 320px;
  height: 320px;
  object-fit: cover;
}
.page-street .sf-about,
.page-street .section.on-ink {
  padding: 88px 16px 120px;
}
.sf-city .cap {
  display: block;
  margin: 12px 0;
  color: #fff;
}
.sf-city .cap strong {
  display: block;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 400;
  text-transform: none;
}
.sf-city .cap em { font-style: normal; font-size: 14px; color: var(--cream); }
.street-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
  max-width: 980px;
  margin: 0 auto 40px;
  padding: 0 16px;
}

.site-footer {
  position: relative;
  background: var(--phoenix-rust, #783A2E);
  padding: 0;
  text-align: left;
  margin-top: 0;
  min-height: 156px;
  overflow: hidden;
  display: block;
}
.footer-bg,
.footer-signup,
.site-footer .tag,
.site-footer .social {
  display: none !important;
}
.footer-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.footer-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: 1;
}
.footer-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: 156px;
  padding: 35px max(12px, calc((100% - 980px) * 0.5 + 10px)) 11px max(12px, calc((100% - 980px) * 0.5 - 72px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
  box-sizing: border-box;
}
.site-footer .logo img,
.site-footer .footer-logo img,
.site-footer .footer-logo-top img {
  width: 173px;
  height: 110px;
  object-fit: contain;
  display: block;
}
.site-footer .footer-logo-top {
  display: block;
  width: fit-content;
  margin: 0;
  line-height: 0;
}
.site-footer .footer-logo-top img { margin: 0; }
.site-footer .tag {
  font-family: var(--display);
  font-size: 60px;
  line-height: 1.4em;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 auto 28px;
  color: var(--white);
  max-width: 820px;
  text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;
}
.footer-signup {
  max-width: 560px;
  width: 100%;
  margin: 0 auto 28px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.footer-signup-label {
  display: none;
}
.footer-signup .signup-box {
  margin: 0 auto;
}
.site-footer .tag {
  text-align: center;
}
.footer-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: stretch;
  position: relative;
  background: transparent;
}
.footer-form input[type="email"],
.footer-form input[type="text"] {
  flex: 1 1 180px;
  min-width: 0;
  background: #fff;
  color: #111;
  border: 0;
  border-radius: 0;
  padding: 10px 12px;
  font-size: 15px;
  font-family: var(--sans);
}
.footer-form .btn.gold {
  flex: 0 0 auto;
  min-width: 120px;
  border-color: var(--ink);
  text-transform: none;
}
.footer-bottom {
  display: none;
}
.site-footer .footer-logo {
  display: none;
}
.footer-legal {
  margin: 0;
  color: #fff;
  font-size: 10px;
  line-height: 1.25;
  text-align: right;
  max-width: none;
}
.footer-legal p { margin: 0; color: #fff; font-size: 10px; line-height: 1.2; }
.site-footer a { color: #fff; letter-spacing: 0; text-transform: none; font-size: 10px; text-decoration: underline; }
.social { display: flex; justify-content: center; gap: 16px; margin: 18px 0; }
.social img { width: 30px; height: 30px; }

.join-list {
  position: fixed; left: 16px; bottom: 16px; z-index: 100;
  background: #000; color: #fff;
  border-radius: 24px;
  padding: 6px 14px 6px 8px;
  font-size: 14px;
  display: flex; align-items: center; gap: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}
.join-list[hidden] { display: none !important; }
.join-list .join-x,
.join-list .join-open {
  background: none; border: 0; color: #fff; cursor: pointer; font: inherit;
}
.join-list .join-x {
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center; font-size: 16px; opacity: .85;
}

body.page-legal .prose {
  color: var(--white);
}
body.page-legal .prose h1 {
  font-family: var(--western);
  color: var(--white);
  font-size: 60px;
  line-height: 1.4em;
}
body.page-legal .prose h2,
body.page-legal .prose h3 {
  font-family: var(--legal-body);
  color: var(--white);
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 400;
}
body.page-legal .prose p,
body.page-legal .prose li {
  font-family: var(--legal-body);
  color: var(--white);
  font-size: 16px;
  line-height: 1.4em;
}
body.page-legal .prose a { color: var(--link); text-decoration: underline; }

body.page-editorial .prose,
body.page-editorial .lede,
body.page-editorial .display,
body.page-editorial h1,
body.page-editorial h2,
body.page-editorial h3 {
  color: var(--ink);
}
body.page-editorial .prose p,
body.page-editorial .lede {
  color: var(--ink);
  font-family: var(--sans);
}
body.page-editorial a { color: var(--link); }
body.page-editorial .press-card,
body.page-editorial .vip-card {
  background: transparent;
  border: 0;
  color: var(--ink);
}
body.page-editorial .meta { color: var(--link); }
body.page-editorial .page-hero { background: var(--page-white); color: var(--ink); }
body.page-editorial .page-hero h1 { color: var(--ink); font-family: var(--display); }
body.page-editorial th { color: var(--link); }
body.page-editorial td { color: var(--ink); border-bottom-color: #c9c9c9; }

body.page-contact .page-hero,
body.page-subscribe .page-hero {
  background: var(--ink);
  color: var(--white);
  padding: 48px 16px 36px;
}
body.page-contact .page-hero h1,
body.page-subscribe .page-hero h1 {
  color: var(--white);
  font-family: var(--display);
}
body.page-contact .contact-panel {
  background: var(--page-white);
  color: var(--ink);
  padding: 48px 16px 72px;
}
body.page-contact .contact-card h3 {
  color: var(--ink);
  font-family: var(--display);
  font-size: 20px;
}
body.page-contact .contact-card p {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
}
body.page-contact a { color: var(--link); text-decoration: underline; }

body.page-suite .page-hero {
  background: var(--ink);
  color: var(--white);
}
body.page-suite .page-hero h1,
body.page-suite .page-hero p { color: var(--white); }
body.page-suite .vip-card {
  background: var(--black);
  color: var(--white);
  border: 0;
  padding: 24px;
}
body.page-suite .form input,
body.page-suite .form select,
body.page-suite .form textarea,
body.page-subscribe .form input {
  background: var(--white);
  color: var(--ink);
  border: 1px solid #c9c9c9;
}
body.page-suite .form label,
body.page-subscribe .form label { color: var(--ink); }
body.page-suite .checks { color: var(--ink); }
.prose h3 { font-size: 18px; color: inherit; }
.editorial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  max-width: 980px;
  margin: 24px auto;
  padding: 0 16px;
}
.editorial-grid img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.gallery-block { padding: 12px 0 36px; max-width: 100%; overflow: hidden; }
.gallery {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 48px;
}
.gallery-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-item {
  flex: 0 0 280px;
  width: 280px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  scroll-snap-align: start;
}
.gallery-item img {
  width: 280px;
  height: 210px;
  object-fit: cover;
}
.gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #272827;
  font-size: 28px;
  cursor: pointer;
}
.gallery-nav.prev { left: 8px; }
.gallery-nav.next { right: 8px; }
.video-frame.playing { cursor: default; }

@media (max-width: 980px) {
  .xp,
.xp.reverse,
.three-grid,
.form.two,
.nights,
.sf-hub,
.split-block,
.split-block.reverse,
.street-block,
.xp-cols,
.nola-floor-collage {
    grid-template-columns: 1fr;
    direction: ltr;
  }
  
  .logo img { width: 120px; height: 76px; }
  .site-footer,
.footer-inner { min-height: 115px; }
  .footer-inner { padding: 19px 20px 20px; }
  .site-footer .logo img,
.site-footer .footer-logo img,
.site-footer .footer-logo-top img { width: 120px; height: 76px; }
  :root { --header-h: 115px; }
  .city-row {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 24px auto 12px;
    padding: 0 16px;
  }
  .city-card {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
  }
  .city-card img {
    width: 135px;
    height: 135px;
    margin: 0;
  }
  .city-card .btn-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .city-card .btn,
.city-card .btn.gold {
    min-width: 0;
    width: 120px;
    max-width: 100%;
    height: 29px;
    font-size: 14px;
    padding: 0 8px;
  }
  .about h1,
.about h1.display,
.about.pick-rodeo h2.display { font-size: 28px; line-height: 1.4em; }
  .xp-band h2 { font-size: 30px; line-height: 1.4em; padding: 0 12px; }
  body.page-legal .prose h1 { font-size: 28px; }
  .xp-col img { height: 211px; max-width: 250px; width: 100%; margin: 0 auto; }
  .xp-card h3 { font-size: 24px; }
  .night-col .headliner { font-size: 28px; }
  .night-col .date { font-size: 24px; }
  .display.xl,
.display.lg,
.hotels h2,
.site-footer .tag { font-size: 34px; }
  .display.md { font-size: 28px; }
  .faq-head h1,
.home-faq .faq-head h2 { font-size: 34px; }
  .faq summary { font-size: 20px; }
  .faq-stars { width: 140px; height: auto; }
  .champ-card,
.champ-card img { width: 134px; flex-basis: 134px; }
  .champ-card img { height: 203px; }
  .champ-card h3 { font-size: 14px; }
  .champ-lb-body { grid-template-columns: 1fr; text-align: center; }
  .champ-lightbox { padding: 56px 16px 24px; }
  .results-link { font-size: 23px; }
  .sf-brand h1 { font-size: 28px; }
  .suite-hero { grid-template-columns: 1fr; padding: 36px 16px 48px; min-height: 0; }
  .suite-copy h1 { font-size: 34px; max-width: 100%; width: auto; }
  .nola-hero img { height: 52vh; }
  .nola-arena img { height: 420px; }
  .nola-floor-collage img { height: 340px; }
  .nola-vip-tall { min-height: 720px; padding: 48px 16px; }
  .mosaic-collage,
.mosaic-collage-track,
.mosaic-collage-canvas { height: 280px; }
  .tampa-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tampa-collage img { height: 240px; }
  .page-tampa .city-video { min-height: 0; aspect-ratio: 16 / 9; }
  .page-tampa .xp-col img { height: 260px; }
  .sf-city img { width: 100%; height: auto; max-height: 496px; aspect-ratio: 397 / 496; }
  .sf-city-hero img { height: min(52vh, 420px); }
  .page-street .gallery-item,
.page-street .gallery-item img { width: 240px; flex-basis: 240px; }
  .page-street .gallery-item img { height: 300px; }
  .site-footer { min-height: 115px; padding: 0; }
  .footer-inner {
    min-height: 115px;
    padding: 19px 20px 20px;
  }
  .site-footer .logo img,
.site-footer .footer-logo img,
.site-footer .footer-logo-top img { width: 120px; height: 76px; }
  .phoenix-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ros-card { width: min(280px, 58%); }
  .military-q,
.military-link a { font-size: 28px; }
  .faq-more { text-align: center; }
  .faq-more-btn { font-size: 18px; }
  .lets-rodeo { margin: 20px auto 4px; }
  .gallery { padding: 0 40px; }
  .gallery-item,
.gallery-item img { width: 220px; flex-basis: 220px; }
  .gallery-item img { height: 165px; }
}

.suite-cta-row { margin: 10px 0; }
.suite-action {
  width: 100%;
  max-width: 280px;
  min-height: 46px;
  height: 46px;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  justify-content: center;
}
.suite-action-inert {
  cursor: default;
  opacity: 0.85;
  pointer-events: none;
  user-select: none;
}
.suite-action-inert:hover {
  background: #fff;
  color: var(--brown);
}
body.page-suite .btn,
body.page-suite .btn.gold,
body.page-subscribe .btn.gold,
.footer-form .btn.gold {
  min-height: 46px;
  height: 46px;
}
body.page-subscribe .signup-box {
  margin: 24px auto 0;
  text-align: left;
}
body.page-subscribe .footer-signup {
  display: none !important;
}
body.page-subscribe .signup-box h2 {
  color: #1a1a1a;
}
body.page-suite .form.two { gap: 16px; }
body.page-suite .phone-label { display: grid; gap: 6px; }
body.page-suite .vip-phone {
  min-height: 46px;
  border-radius: 8px;
  border: 1px solid #c9c9c9;
  background: #fff;
  padding: 0 10px;
}
body.page-suite .vip-phone input {
  border: 0 !important;
  background: transparent !important;
  min-height: 44px;
  padding: 0;
  box-shadow: none;
}
body.page-suite .form input,
body.page-subscribe .form input {
  min-height: 46px;
}
.footer-form input[type="email"],
.footer-form input[type="text"] {
  min-height: 46px;
}

.live-board-page {
  background: #fff;
  color: #111;
  padding: 12px 0 24px;
  min-width: 0;
}
.live-board-canvas {
  width: min(980px, 100%);
  margin: 14px auto 57px;
  min-height: 9436px;
  background: #f7f7f7;
  border: 1px solid #e6e6e6;
  box-sizing: border-box;
}
.live-board-canvas-b {
  min-height: 8662px;
  margin-top: 16px;
}
body.page-results,
body.page-results-copy {
  background: #fff;
}
body.page-results .site-footer,
body.page-results-copy .site-footer {
  /* keep existing footer treatment */
}

.recap-results table {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 28px;
  border-collapse: collapse;
  font-size: 14px;
}
.recap-results th,
.recap-results td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  text-align: left;
}
.recap-results thead tr:first-child th {
  background: #1a1a1a;
  color: #fff;
  text-align: center;
  font-family: var(--display);
  font-size: 18px;
}

.press-release-inline { margin-top: 36px; }

/* 320px design canvas within phone viewports (live Wix CSS width ~320) */
@media (max-width: 430px) {
  .wrap,
.footer-inner,
.city-row,
.about,
.info-band > .wrap,
.xp-band > .wrap,
.xp,
.xp-cols,
.three-grid,
.hotels .hotel-stack,
.hotels h2,
.rooms-left,
.phoenix-collage,
.run-of-show,
.ros-stage,
.military-band,
.sponsors-band .sponsors-card,
.sponsors-card,
.home-faq,
.faq,
.faq-page,
.suite-hero,
.suite-offers .three-grid,
.contact-panel,
.contact-grid,
.page-hero,
body.page-legal .prose,
body.page-editorial .prose,
body.page-editorial .press-grid,
body.page-editorial .editorial-grid,
.recap-results,
.recap-results table,
.sf-hub,
.street-block,
.sf-about,
.sf-brand,
.split-block,
.tampa-collage,
.nola-floor,
.nola-floor-collage,
.nola-vip-tall .wrap,
.nola-street-collage,
.live-board-page,
.results-bar,
.champ-lb-body,
.gallery,
.faq-preview .faq,
.faq-preview .faq-head,
.sponsors-band .sponsors-card,
.next-cities .city-row,
.packages-bar .copy,
.xp-band .xp-cols,
.info-band .xp-cols {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
  .video-frame,
.city-video {
    max-width: 320px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .xp-band,
.info-band,
.hotels,
.military-band,
.sponsors-band,
.packages-bar,
.faq-preview,
.next-cities {
    padding-left: max(8px, calc((100% - 320px) / 2));
    padding-right: max(8px, calc((100% - 320px) / 2));
  }

  .section { padding: 32px 0; }
  body.page-editorial .section { padding: 24px 0; }

  .suite-hero { padding-left: 12px; padding-right: 12px; }
  .suite-copy h1 {
    font-size: 32px;
    max-width: 100%;
  }
  .suite-sub {
    font-size: 16px;
    line-height: 1.15;
    max-width: 100%;
  }
  .suite-meta {
    font-size: 11px;
    overflow-wrap: anywhere;
  }
  body.page-suite .btn,
body.page-suite .btn.gold,
body.page-suite .suite-action {
    min-height: 46px !important;
    height: 46px !important;
  }
  .gallery-nav,
.faq summary,
.btn,
.btn.gold,
.join-continue,
.join-open {
    min-height: 44px;
  }
  .suite-action { min-height: 46px; height: 46px; }
  body.page-results .live-board-canvas {
    min-height: 14800px;
    width: 100%;
  }
  body.page-results-copy .live-board-canvas {
    min-height: 9000px;
    width: 100%;
  }
  body.page-results-copy .live-board-canvas-b {
    min-height: 8200px;
  }
  .faq summary {
    min-height: 44px;
  }

  .phoenix-collage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 16px auto;
    padding: 0 8px;
  }
  .phoenix-collage img {
    height: 100px;
  }
  .ros-stage {
    min-height: 240px;
  }
  .ros-bg {
    min-height: 240px;
  }
  .ros-card {
    width: min(180px, 58%);
    left: max(8px, 3%);
  }
  .military-band {
    padding: 24px 12px 20px;
  }
  .military-q,
.military-link a {
    font-size: 24px;
  }
  .hotels {
    padding: 20px 8px 24px;
  }
  .hotels h2 {
    font-size: 26px;
    margin: 0 0 12px;
  }
  .hotel-stack {
    gap: 8px;
    padding: 0 4px;
  }
  .xp-band {
    padding: 18px 8px 24px;
  }
  .xp-band h2 {
    font-size: 24px;
    margin: 0 0 16px;
  }
  .xp-col img {
    height: 140px;
    max-width: 100%;
  }
  .xp-card {
    padding: 12px 10px 14px;
    min-height: 0;
  }
  .xp-card h3 {
    font-size: 26px;
  }
  .xp-card .time {
    font-size: 18px;
  }
  .xp-card p {
    font-size: 14px;
  }
  .info-band {
    padding: 16px 8px 28px;
  }
  .nights {
    /* full-bleed rust band; stack columns inside ~320 */
    padding-left: max(0px, calc((100% - 320px) / 2));
    padding-right: max(0px, calc((100% - 320px) / 2));
  }
  .nights .night-col {

    padding: 28px 14px 32px;
  }
  .night-col .headliner {
    font-size: 24px;
  }
  .night-col .date {
    font-size: 20px;
  }
  .packages-bar {
    padding: 16px 12px;
  }
  .bleed-hero.framed img {
    max-width: 320px;
  }
  .city-video {
    margin-bottom: 16px;
  }

  body.page-editorial .editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    margin: 10px auto;
    padding: 0 4px;
  }
  body.page-editorial .editorial-grid img {
    height: 78px;
  }
  body.page-editorial .prose {
    padding-left: 10px;
    padding-right: 10px;
  }
  body.page-editorial .prose p {
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.3;
  }
  body.page-editorial .prose h1,
body.page-editorial .display.md {
    font-size: 24px;
    margin: 0 0 10px;
  }
  body.page-editorial .prose h3 {
    font-size: 16px;
    margin: 12px 0 6px;
  }
  .recap-results {
    padding: 0 4px;
    margin-bottom: 10px;
  }
  .recap-results table {
    font-size: 10px;
    margin: 0 auto 8px;
  }
  .recap-results th,
.recap-results td {
    padding: 2px 3px;
    line-height: 1.2;
  }
  .recap-results thead tr:first-child th {
    font-size: 12px;
  }
  body.page-editorial .table-wrap {
    margin-bottom: 8px;
  }
  body.page-editorial .press-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0 4px;
  }
  body.page-editorial .press-card {
    padding: 10px 12px;
  }
  body.page-editorial .press-card h3 {
    font-size: 15px;
    margin: 0 0 8px;
  }
  body.page-editorial .section {
    padding: 16px 0 20px;
  }

  .site-footer {
    min-height: 115px;
    padding: 0;
  }
  .sponsors {
    width: 220px;
  }
  .sponsors-logos img {
    max-height: 40px;
  }
  .sponsors-card {
    padding: 16px 12px;
    gap: 14px;
  }
  .sponsors-band {
    padding-top: 12px;
    padding-bottom: 24px;
  }
  .sponsors-band .display.md {
    font-size: 24px;
    margin-bottom: 12px;
  }
  .faq-preview {
    padding-top: 12px;
    padding-bottom: 20px;
  }
  .faq-preview .display.md {
    font-size: 22px;
  }
  .site-footer .tag {
    font-size: 22px;
  }
  body.page-street .site-footer {
    min-height: 0;
  }
  .sf-city img {
    height: auto;
    max-height: 380px;
  }
  .sf-city-hero img {
    height: min(42vh, 300px);
  }
  .nola-arena img { height: 260px; }
  .nola-floor-collage img { height: 180px; }
  .nola-vip-tall { min-height: 420px; padding: 28px 12px; }
  .mosaic-collage,
.mosaic-collage-track,
.mosaic-collage-canvas { height: 220px; }
  .tampa-collage img { height: 150px; }
  body.page-tampa .city-video,
body.page-tampa .city-video img {
    min-height: 0;
  }
  body.page-street .gallery-item,
body.page-street .gallery-item img {
    width: 200px;
    flex-basis: 200px;
  }
  body.page-street .gallery-item img { height: 170px; }
  body.page-street .sf-about { padding: 40px 12px 56px; }
  .gallery { padding: 0 28px; }
  .gallery-item,
.gallery-item img { width: 180px; flex-basis: 180px; }
  .gallery-item img { height: 135px; }
}

body.page-street .gallery-item {
  flex: 0 0 320px;
  width: 320px;
}
body.page-street .gallery-item img {
  width: 320px;
  height: 280px;
  object-fit: cover;
}
body.page-street .sf-about {
  padding: 72px 16px 96px;
}
body.page-tampa .city-video {
  min-height: 560px;
}
body.page-tampa .city-video img {
  min-height: 560px;
  object-fit: cover;
}
body.page-tampa .info-band {
  padding-top: 48px;
  padding-bottom: 64px;
}
@media (max-width: 980px) {
  .nola-hero img { height: min(52vh, 420px); }
  body.page-tampa .city-video,
body.page-tampa .city-video img { min-height: 0; }
  body.page-street .gallery-item,
body.page-street .gallery-item img { width: 220px; flex-basis: 220px; }
  body.page-street .gallery-item img { height: 200px; }
}

/* NOLA mobile stack compress */
@media (max-width: 980px) {
  .nola-arena img { height: 360px; }
  .nola-floor-collage {
    grid-template-columns: 1fr;
    gap: 8px;
    max-width: 420px;
  }
  .nola-floor-collage img { height: 240px; }
  .nola-vip-tall { min-height: 560px; padding: 40px 16px; }
  .nola-street-about h2 { font-size: 40px; }
  body.page-street .site-footer { min-height: 0; }
  .sf-city-hero img { height: min(48vh, 380px); }
  body.page-street .gallery-item img { height: 200px; }
  .tampa-collage img { height: 200px; }
}

body.page-faq .site-footer,
body.page-contact .site-footer,
body.page-editorial .site-footer {
  min-height: 156px;
  padding: 0;
  background: var(--phoenix-rust, #783A2E);
  align-items: center;
}
body.page-faq .footer-bg,
body.page-contact .footer-bg,
body.page-editorial .footer-bg,
body.page-faq .site-footer .tag,
body.page-contact .site-footer .tag,
body.page-editorial .site-footer .tag,
body.page-faq .footer-signup,
body.page-contact .footer-signup,
body.page-editorial .footer-signup,
body.page-faq .site-footer .social,
body.page-contact .site-footer .social,
body.page-editorial .site-footer .social {
  display: none;
}
body.page-faq .site-footer .footer-logo-top,
body.page-contact .site-footer .footer-logo-top,
body.page-editorial .site-footer .footer-logo-top {
  margin: 0 auto 6px;
}
body.page-faq .site-footer .footer-logo-top img,
body.page-contact .site-footer .footer-logo-top img,
body.page-editorial .site-footer .footer-logo-top img {
  width: 173px;
  height: 110px;
}
body.page-faq .footer-legal,
body.page-contact .footer-legal,
body.page-editorial .footer-legal,
body.page-faq .footer-legal,
body.page-faq .site-footer a,
body.page-contact .site-footer a,
body.page-editorial .site-footer a,
body.page-contact .footer-legal .fine,
body.page-editorial .footer-legal .fine {
  color: #fff;
}

body.page-faq .faq-page {
  padding: 36px 16px 28px;
}
body.page-faq .faq-head {
  max-width: 916px;
  margin: 0 auto 18px;
}
body.page-faq .faq {
  max-width: 916px;
  padding: 0;
}
body.page-faq .faq details {
  padding: 0;
  min-height: 118px;
}
body.page-faq .faq summary {
  min-height: 118px;
  padding: 22px 4px 22px 0;
  box-sizing: border-box;
  font-size: 28px;
  line-height: 1.15;
}

body.page-contact .page-hero {
  padding: 88px 16px 56px;
}
body.page-contact .contact-panel {
  padding: 80px 16px 72px;
}
body.page-contact .contact-grid {
  max-width: 640px;
  gap: 56px;
}
body.page-contact .contact-card h3 {
  margin-bottom: 8px;
}
body.page-contact .contact-vendor {
  margin: 56px 0 0;
}
body.page-contact .contact-quote {
  max-width: 640px;
  margin: 48px auto 0;
}

body.page-editorial .press-page-hero {
  padding: 36px 16px 20px;
}
.press-hero-bleed img {
  width: 100%;
  height: 525px;
  object-fit: cover;
  object-position: center 30%;
}
.press-outlets {
  padding: 36px 16px 28px;
}
.press-outlet-grid {
  display: grid;
  grid-template-columns: repeat(3, 302px);
  justify-content: center;
  gap: 28px 36px;
  max-width: 1100px;
  margin: 0 auto;
}
.press-outlet {
  padding: 0;
  text-align: center;
  background: transparent;
  border: 0;
}
.press-outlet img {
  width: 302px;
  height: 391px;
  object-fit: cover;
  margin: 0 auto;
}
.press-outlet h3,
.press-outlet-link h3 {
  margin: 12px 0 10px;
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.15;
  color: var(--ink);
}
.press-outlet-extra {
  display: flex;
  justify-content: center;
  gap: 36px;
  flex-wrap: wrap;
  max-width: 860px;
  margin: 28px auto 0;
}
.press-outlet-link {
  text-align: center;
  padding: 0;
  background: transparent;
  border: 0;
  max-width: 320px;
}
.press-si-band {
  position: relative;
  min-height: 484px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #111;
}
.press-si-band img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
}
.press-si-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.press-si-copy {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 920px;
  padding: 36px 24px;
}
body.page-editorial .press-si-copy .lede,
body.page-editorial .press-si-copy .meta,
.press-si-copy .lede {
  color: #fff;
  max-width: 860px;
}
.press-si-copy .lede {
  font-family: var(--display);
  font-size: 36px;
  line-height: 1.25;
  margin: 0 auto 12px;
}
.press-band {
  background: var(--ink);
  color: #fff;
  padding: 72px 24px;
  text-align: center;
}
body.page-editorial .press-band,
body.page-editorial .press-band h1,
body.page-editorial .press-band p,
body.page-editorial .press-band blockquote {
  color: #fff;
}
body.page-editorial .press-band h1 {
  font-family: var(--display);
  font-size: 60px;
  font-weight: 400;
  line-height: 1.15;
  margin: 0 auto 18px;
  max-width: 980px;
}
body.page-editorial .press-band a {
  color: #fff;
  text-decoration: underline;
}
body.page-editorial .press-band .meta {
  color: var(--gold-on-dark);
}
.press-media {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.press-media p {
  margin: 0;
  font-size: 18px;
  max-width: 720px;
}
.press-excite {
  padding: 64px 24px 72px;
  text-align: left;
}
.press-excite-layout {
  display: grid;
  grid-template-columns: 434px minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
body.page-editorial .press-excite h1 {
  text-align: center;
}
.press-portrait {
  width: 434px;
  height: 466px;
  object-fit: cover;
  justify-self: center;
}
.press-excite blockquote {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.45;
}
.press-bleed img {
  width: 100%;
  height: 590px;
  object-fit: cover;
  object-position: center;
  max-width: none;
}
.press-around {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.press-around img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  max-width: none;
}
body.page-editorial .press-release-inline {
  max-width: 780px;
  margin: 36px auto 28px;
  padding: 0 20px 12px;
}
body.page-editorial .press-release-inline .lede {
  font-family: var(--display);
  font-size: 28px;
  line-height: 1.25;
  color: var(--ink);
  max-width: none;
}

.press-hero-bleed.press-page-hero {
  position: relative;
  min-height: 525px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  margin: 0;
  background: #111;
}
.press-hero-bleed.press-page-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  max-width: none;
}
.press-hero-bleed.press-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.press-hero-bleed.press-page-hero h1 {
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
  margin: 0;
  padding: 24px 16px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

body.page-faq .site-footer .footer-inner,
body.page-contact .site-footer .footer-inner,
body.page-editorial .site-footer .footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  text-align: left;
}
body.page-faq .site-footer .footer-logo-top,
body.page-contact .site-footer .footer-logo-top,
body.page-editorial .site-footer .footer-logo-top {
  margin: 0;
}
body.page-faq .footer-legal,
body.page-contact .footer-legal,
body.page-editorial .footer-legal {
  margin: 0;
  text-align: right;
}

@media (max-width: 430px) {
  body.page-faq .faq-page {
    padding: 16px 0 12px;
  }
  body.page-faq .faq-head {
    gap: 6px;
    margin: 0 auto 10px;
    max-width: 320px;
  }
  body.page-faq .faq-head h1 {
    font-size: 34px;
  }
  body.page-faq .faq-stars {
    width: 72px;
    height: auto;
  }
  body.page-faq .faq {
    max-width: 320px;
    padding: 0 8px;
  }
  body.page-faq .faq details {
    min-height: 0;
    padding: 0;
  }
  body.page-faq .faq summary {
    min-height: 72px;
    padding: 14px 2px;
    font-size: 18px;
    line-height: 1.15;
  }
  body.page-faq .faq-a {
    padding: 4px 8px 10px 0;
  }
  body.page-faq .faq-a p {
    font-size: 14px;
    margin: 0 0 6px;
  }

  body.page-contact .page-hero {
    padding: 28px 8px 20px;
  }
  body.page-contact .contact-panel {
    padding: 20px 8px 28px;
  }
  body.page-contact .contact-grid {
    max-width: 320px;
    gap: 22px;
  }
  body.page-contact .contact-vendor {
    margin: 28px 0 0;
  }
  body.page-contact .contact-quote {
    margin: 28px auto 0;
    font-size: 16px;
  }

  .press-hero-bleed.press-page-hero,
.press-hero-bleed img {
    min-height: 220px;
    height: 220px;
  }
  .press-hero-bleed.press-page-hero h1 {
    font-size: 28px;
    line-height: 1.15;
  }
  .press-outlet-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 320px;
  }
  .press-outlet img {
    width: 100%;
    max-width: 320px;
    height: 280px;
  }
  .press-outlet-extra {
    max-width: 320px;
    gap: 16px;
    margin-top: 16px;
  }
  .press-si-band {
    min-height: 280px;
  }
  .press-si-copy .lede {
    font-size: 22px;
  }
  .press-band {
    padding: 36px 12px;
  }
  body.page-editorial .press-band h1 {
    font-size: 32px;
  }
  .press-excite-layout {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 320px;
  }
  .press-portrait {
    width: 100%;
    max-width: 280px;
    height: 300px;
  }
  .press-bleed img {
    height: 220px;
  }
  .press-around {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .press-around img {
    height: 100px;
  }
  body.page-editorial .press-release-inline {
    max-width: 320px;
    margin: 20px auto 16px;
    padding: 0 10px 8px;
  }
  body.page-editorial .press-release-inline .lede {
    font-size: 18px;
  }
  body.page-editorial .press-release-inline p {
    font-size: 13px;
    line-height: 1.35;
    margin: 0 0 8px;
  }

  body.page-faq .site-footer .footer-inner,
body.page-contact .site-footer .footer-inner,
body.page-editorial .site-footer .footer-inner {
    flex-direction: column;
    text-align: center;
  }
  body.page-faq .footer-legal,
body.page-contact .footer-legal,
body.page-editorial .footer-legal {
    text-align: center;
  }
  body.page-faq .site-footer,
body.page-contact .site-footer,
body.page-editorial .site-footer {
    min-height: 0;
    padding: 12px 8px 16px;
  }
}

@media (max-width: 430px) {
  .press-outlets { padding: 16px 8px 12px; }
  .press-outlet-grid { gap: 12px; }
  .press-outlet img { height: 200px; }
  .press-outlet h3,
.press-outlet-link h3 { font-size: 16px; margin: 8px 0 6px; }
  .press-outlet-extra { margin: 12px auto 0; gap: 10px; }
  .press-si-band { min-height: 200px; }
  .press-si-copy { padding: 20px 12px; }
  .press-si-copy .lede { font-size: 18px !important; line-height: 1.2; }
  .press-band { padding: 28px 10px !important; }
  body.page-editorial .press-band h1 { font-size: 26px !important; margin-bottom: 10px; }
  .press-media { min-height: 0; }
  .press-media p { font-size: 14px; }
  .press-excite { padding: 24px 10px 28px !important; }
  .press-portrait { height: 220px; max-width: 220px; }
  .press-excite blockquote { font-size: 14px; line-height: 1.3; }
  .press-bleed img { height: 160px !important; }
  .press-around img { height: 72px !important; }
  .press-around { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.page-editorial .press-release-inline {
    margin: 12px auto 8px;
    padding: 0 8px 4px;
  }
  body.page-editorial .press-release-inline .lede { font-size: 15px !important; }
  body.page-editorial .press-release-inline h2 { font-size: 15px; margin: 10px 0 4px; }
  body.page-editorial .press-release-inline p {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin: 0 0 6px !important;
  }
  .press-hero-bleed.press-page-hero,
.press-hero-bleed.press-page-hero > img {
    min-height: 180px !important;
    height: 180px !important;
  }
  .press-hero-bleed.press-page-hero h1 { font-size: 24px !important; }

  body.page-faq .faq summary {
    min-height: 84px;
    padding: 18px 2px;
    font-size: 17px;
  }
  body.page-faq .faq-page { padding: 20px 0 16px; }
  body.page-faq .faq-head { margin-bottom: 14px; }
}

@media (max-width: 430px) {
  .press-around { display: none; } body.page-editorial .press-release-inline p { font-size: 11.5px !important; margin: 0 0 5px !important; }
  .press-bleed img { height: 140px !important; }
  .press-outlet img { height: 180px; }
}

body.page-phoenix {
  --phoenix-rail: 1312px;
  --phoenix-rail-narrow: 1200px;
  --phoenix-rust: #783A2E;
  --phoenix-gold: #AF8C3F;
  --phoenix-floor-brown: #5C2C22;
  background: #272827;
}

body.page-phoenix .join-list {
  display: none !important;
}

.phoenix-hero {
  position: relative;
  background: #272827;
  display: flex;
  justify-content: center;
  padding: 0;
}
.phoenix-hero { margin-top: 6px; }
.phoenix-hero img {
  width: 1304px;
  max-width: 1304px;
  height: 629px;
  aspect-ratio: auto;
  object-fit: fill;
  object-position: center center;
  display: block;
}
body.page-phoenix .phx-pack {
  position: absolute; left: 20px; top: 500px; width: 464px; height: 218px;
  border: 0; z-index: 6; background: transparent;
}
.phoenix-date-bar {
  display: none !important;
}

body.page-phoenix .nights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 1440px;
  max-width: none;
  margin: 0;
  background: var(--phoenix-rust);
}
body.page-phoenix .night-col {
  padding: 28px 30px 32px;
  gap: 8px;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  background: transparent;
  text-align: left;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.page-phoenix .night-col + .night-col {
  border-left: 1px solid rgba(0, 0, 0, 0.22);
}
body.page-phoenix .night-col:nth-child(2) {
  background: #282627;
}
body.page-phoenix .night-col .date {
  font-family: var(--sans);
  font-size: 35px;
  line-height: 49px;
  margin: 0 0 6px;
  text-transform: none;
  color: #F4ECDF;
}
body.page-phoenix .night-col .headliner {
  font-family: var(--display);
  font-size: 34px;
  line-height: 1.05;
  margin: 0;
}
body.page-phoenix .night-col .support {
  font-family: var(--display);
  font-size: 18px;
  line-height: 1.15;
  min-height: 2.3em;
  margin: 4px 0 10px;
}
body.page-phoenix .night-col .note {
  font-size: 11px;
  line-height: 1.35;
  margin: 0 0 14px;
}
body.page-phoenix .night-btns {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  width: 100%;
  margin-top: auto;
}
body.page-phoenix .night-col .btn {
  min-width: 172px;
  width: 172px;
  height: 40px;
  padding: 0 12px;
  font-size: 16px;
  border-radius: 15px;
  letter-spacing: 0;
  flex: 0 0 auto;
  background: #fff;
  color: #682707;
  border: 1px solid transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  text-transform: none;
}
body.page-phoenix .night-col .btn:hover {
  background: #8E703A;
  color: #fff;
}
body.page-phoenix .night-col .btn.gold {
  min-width: 195px;
  width: 195px;
  height: 45px;
  font-size: 17px;
  background: #8E703A !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}
body.page-phoenix .night-col .btn.gold:hover {
  background: #fff !important;
  color: #272827 !important;
}
body.page-phoenix .night-col .upgrade {
  width: 100%;
  text-align: center;
  font-size: 11px;
  margin-top: 10px;
}

body.page-phoenix .packages-bar:not(.sf-apply) {
  width: 100%;
  max-width: none;
  margin: 0;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 0 262px 0 245px;
  background: #B08B48;
  border-top: 0;
  min-height: 124px;
  box-sizing: border-box;
}
body.page-phoenix .packages-bar:not(.sf-apply) .copy {
  text-align: left;
}
body.page-phoenix .packages-bar:not(.sf-apply) .copy p {
  font-size: 25px;
  line-height: 35px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-style: normal;
  text-transform: none;
}
body.page-phoenix .packages-bar:not(.sf-apply) .copy .sub {
  font-style: italic;
  font-size: 25px;
  line-height: 35px;
}
body.page-phoenix .packages-bar:not(.sf-apply) .btn {
  border-radius: 999px;
  border: 0;
  box-shadow: none;
  width: 261px;
  min-width: 261px;
  height: 40px;
  background: #fff;
  color: #682707;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.page-phoenix .xp-band {
  padding: 45px 16px 28px;
  background: #272827;
}
body.page-phoenix .xp-band h2 {
  font-family: var(--display);
  font-size: 32px;
  margin: 0 auto 45px;
  text-align: center;
  text-transform: uppercase;
  max-width: var(--phoenix-rail);
  letter-spacing: 0.02em;
}
body.page-phoenix .xp-band .xp-cols {
  gap: 36px;
  max-width: var(--phoenix-rail);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.page-phoenix .xp-band .xp-col {
  border: 0;
  background: transparent;
  max-width: 380px;
  margin: 0 auto;
  width: 100%;
}
body.page-phoenix .xp-band .xp-col img {
  width: 100%;
  height: 270px;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}
body.page-phoenix .xp-band .xp-card {
  text-align: center;
  align-items: center;
  min-height: 215px;
  padding: 16px 14px 20px;
  background: var(--phoenix-rust);
}
body.page-phoenix .xp-band .xp-card h3 {
  font-family: var(--display);
  font-size: 32px;
  line-height: 1.05;
  margin: 0 0 6px;
  width: 100%;
  padding: 0;
  border-bottom: 0;
  text-transform: uppercase;
}
body.page-phoenix .xp-band .xp-card .time {
  font-family: var(--display);
  font-size: 20px;
  margin: 0 0 10px;
}
body.page-phoenix .xp-band .xp-card p {
  font-size: 12.5px;
  text-align: center;
  line-height: 1.35;
  margin: 0;
}

body.page-phoenix .xp-band {
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
body.page-phoenix .xp-band::after,
body.page-phoenix .xp-band::before,
body.page-phoenix .military-band-bar::before {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  height: 0 !important;
}
body.page-phoenix .military-band-bar,
.military-band-bar {
  background: var(--phoenix-gold);
  color: #fff;
  text-align: left;
  padding: 36px max(16px, calc((100% - var(--phoenix-rail)) * 0.5));
  min-height: 145px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  border-top: 0 !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}
.military-band-bar .military-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: min(var(--phoenix-rail), 100%);
  margin: 0 auto;
}
.military-band-bar .military-title {
  margin: 0;
  font-family: var(--display);
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.15;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.military-band-bar .military-title .military-sub {
  font-style: italic;
}
.military-band-bar .military-cta {
  background: #fff;
  color: var(--phoenix-rust);
  border: 0;
  border-radius: 999px;
  min-width: 220px;
  height: 40px;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0 22px;
}

body.page-phoenix .info-band {
  padding: 0 0 32px;
  background: #272827;
}
body.page-phoenix .phoenix-gap { display: none; }
body.page-phoenix .phx-ticket-pack { display: none; }
@media (min-width: 1101px) {
  body.page-phoenix .phoenix-video,
  body.page-phoenix .info-band .phoenix-video { display: block !important; }
  body.page-phoenix .military-band-bar { margin-top: 0 !important; min-height: 165px; }
  body.page-phoenix .phoenix-gap { display: none !important; height: 0; }
  body.page-phoenix .info-band { padding-bottom: 20px; }
  body.page-phoenix .xp-band { padding-bottom: 16px; }
}
body.page-phoenix .phoenix-video,
body.page-phoenix .city-video.phoenix-video,
body.page-phoenix .info-band .phoenix-video {
  display: block;
  width: min(996px, calc(100vw - 32px));
  max-width: 100%;
  height: auto;
  margin: 18px auto 90px;
  aspect-ratio: 996 / 560;
  border: 0;
  border-radius: 0;
  position: relative;
  overflow: hidden;
  background: #000;
  min-height: 0 !important;
}
body.page-phoenix .phoenix-video > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
body.page-phoenix .phoenix-video .play { display: none !important; }
body.page-phoenix .phoenix-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
body.page-phoenix .yt-chrome {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 62%, rgba(0,0,0,.65) 100%);
}
body.page-phoenix .yt-top {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 14px 28px;
  color: #fff;
  font-family: "YouTube Noto", "Arial", sans-serif;
  font-size: 14px;
  text-shadow: 0 1px 2px rgba(0,0,0,.8);
}
body.page-phoenix .yt-title {
  flex: 1 1 auto;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.page-phoenix .yt-watch,
body.page-phoenix .yt-share {
  opacity: 0.95;
  font-size: 13px;
}
body.page-phoenix .yt-center-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 48px;
  margin: -24px 0 0 -34px;
  border-radius: 14px;
  background: #f00;
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
}
body.page-phoenix .yt-center-play::after {
  content: "";
  position: absolute;
  left: 27px;
  top: 14px;
  border-style: solid;
  border-width: 10px 0 10px 16px;
  border-color: transparent transparent transparent #fff;
}
body.page-phoenix .yt-bottom {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 0 0 6px;
}
body.page-phoenix .yt-progress {
  height: 3px;
  background: rgba(255,255,255,.35);
  margin: 0 0 6px;
  position: relative;
}
body.page-phoenix .yt-progress i {
  display: block;
  width: 2%;
  height: 100%;
  background: #f00;
}
body.page-phoenix .yt-progress::after {
  content: "";
  position: absolute;
  left: 2%;
  top: -3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f00;
}
body.page-phoenix .yt-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px 4px;
  color: #fff;
  font-size: 12px;
  font-family: Arial, sans-serif;
}
body.page-phoenix .yt-c {
  width: 18px;
  height: 18px;
  display: inline-block;
  background: currentColor;
  opacity: 0.95;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
body.page-phoenix .yt-c.play {
  clip-path: polygon(20% 10%, 20% 90%, 85% 50%);
  background: #fff;
  width: 16px;
  height: 16px;
}
body.page-phoenix .yt-c.next,
body.page-phoenix .yt-c.mute,
body.page-phoenix .yt-c.settings,
body.page-phoenix .yt-c.theater,
body.page-phoenix .yt-c.full {
  background: #fff;
  border-radius: 2px;
  opacity: 0.85;
  width: 14px;
  height: 14px;
}
body.page-phoenix .yt-time { opacity: 0.95; font-size: 12px; }
body.page-phoenix .yt-spacer { flex: 1 1 auto; }
body.page-phoenix .yt-brand {
  position: absolute;
  top: 12px;
  right: 14px;
  color: #fff;
  font-family: var(--display);
  font-size: 22px;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 6px rgba(0,0,0,.75);
  opacity: 0.95;
  pointer-events: none;
}
body.page-phoenix .phoenix-video.playing .yt-chrome { display: none; }
body.page-phoenix .phoenix-video.playing > img { display: none; }

body.page-phoenix .info-band .xp-cols {
  gap: 36px;
  max-width: var(--phoenix-rail);
  margin: 0 auto;
}
body.page-phoenix .info-band .xp-col {
  max-width: 380px;
  margin: 0 auto;
  width: 100%;
}
body.page-phoenix .info-band .xp-col img {
  width: 100%;
  height: 270px;
  object-fit: cover;
  display: block;
}
body.page-phoenix .info-band .xp-card {
  min-height: 180px;
  padding: 16px 14px 18px;
  background: var(--phoenix-rust);
  text-align: center;
}
body.page-phoenix .info-band .xp-card h3 {
  font-family: var(--display);
  font-size: 30px;
  text-transform: uppercase;
}
body.page-phoenix .info-band .xp-card p {
  font-size: 12.5px;
}
body.page-phoenix .info-band .xp-col > .btn,
body.page-phoenix .info-band .xp-col > a.btn {
  width: auto !important;
  min-width: 200px !important;
  max-width: 100% !important;
  height: 46px !important;
  border-radius: 999px !important;
  margin: 14px auto 0 !important;
  background: #ffffff !important;
  color: #643018 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  letter-spacing: 0.04em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 22px !important;
  text-transform: uppercase !important;
}
body.page-phoenix .info-band .xp-col > .btn.gold,
body.page-phoenix .info-band .xp-col > a.btn.gold {
  background: #ffffff !important;
  color: #1a1a1a !important;
}
body.page-phoenix .night-col .btn.gold {
  background: #8E703A !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

body.page-phoenix .phoenix-hotels {
  padding: 28px 0 0;
  background: #232222;
}
body.page-phoenix .phoenix-hotels h2 {
  font-family: var(--display);
  font-size: 42px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1.1;
  margin: 0 0 14px;
  padding: 0 16px;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
body.page-phoenix .phoenix-hotels .hotel-stack {
  max-width: 825px;
  width: calc(100% - 32px);
  gap: 12px;
  margin: 0 auto 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.page-phoenix .phoenix-hotels .hotel-stack a {
  display: block;
  line-height: 0;
  width: 100%;
}
body.page-phoenix .phoenix-hotels .hotel-stack img.ac,
body.page-phoenix .phoenix-hotels .hotel-stack img.hilton {
  aspect-ratio: auto !important;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  display: block;
}
body.page-phoenix .phoenix-hotels .hotel-stack img.ac {
  max-width: 825px;
}
body.page-phoenix .phoenix-hotels .hotel-stack img.hilton {
  max-width: 814px;
  margin: 0 auto;
}

body.page-phoenix .phoenix-collage-mosaic {
  position: relative;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  height: 547px;
}
body.page-phoenix .phoenix-collage-track {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  height: 547px;
  scroll-snap-type: none;
  scrollbar-width: thin;
}
body.page-phoenix .phoenix-collage-canvas {
  position: relative;
  height: 547px;
}
body.page-phoenix .phoenix-collage-canvas .gallery-item {
  position: absolute;
  flex: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  scroll-snap-align: unset;
}
body.page-phoenix .phoenix-collage-canvas .gallery-item img,
body.page-phoenix .phoenix-collage-mosaic img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
body.page-phoenix .phoenix-collage-mosaic .gallery-nav {
  background: #fff;
  color: #272827;
}
body.page-phoenix .phoenix-collage {
  display: none !important;
}

body.page-phoenix .ros-band {
  background: #272827;
  padding: 0;
  width: 100%;
}
body.page-phoenix .ros-stage {
  position: relative;
  max-width: none;
  width: 100%;
  height: 756px;
  min-height: 756px;
  margin: 0;
  overflow: hidden;
}
body.page-phoenix .ros-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 756px;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}
body.page-phoenix .ros-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 563px;
  height: 704px;
  max-width: calc(100% - 32px);
  box-shadow: none;
}

body.page-phoenix .faq-preview {
  background: var(--phoenix-rust);
  padding: 55px 16px 28px;
}
body.page-phoenix .faq-preview .faq-head {
  max-width: 980px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
body.page-phoenix .faq-stars {
  width: 98px;
  height: auto;
  object-fit: contain;
  object-position: center;
  flex: none;
}
body.page-phoenix .faq-preview h2 {
  font-family: var(--display);
  font-size: 25px;
  margin: 0;
  white-space: nowrap;
}
body.page-phoenix .faq-preview .faq {
  max-width: 980px;
  margin: 0 auto;
}
body.page-phoenix .faq-preview details {
  min-height: 98px;
  border-color: rgba(255,255,255,0.35);
}
body.page-phoenix .faq-more {
  text-align: center;
  margin: 8px 0 0;
}
body.page-phoenix .faq-more-btn,
body.page-phoenix .faq-more .btn,
body.page-phoenix .faq-more .btn.gold {
  background: #8A7240 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-width: 190px;
  height: 48px;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0 22px;
}

.sponsors-band-white,
body.page-phoenix .sponsors-band-white {
  background: #fff !important;
  color: #111;
  text-align: center;
  padding: 32px 16px 34px;
  min-height: 168px;
  box-sizing: border-box;
}
.sponsors-band-white h2 {
  margin: 0 0 22px;
  color: #111;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.2;
}
.sponsor-carousel {
  background: #fff;
  overflow: hidden;
  height: 110px;
  display: flex;
  align-items: center;
  width: 100%;
}
.sponsor-carousel-track {
  display: flex;
  width: max-content;
  animation: sponsor-marquee 28s linear infinite;
}
.sponsor-carousel:hover .sponsor-carousel-track {
  animation-play-state: paused;
}
.sponsor-carousel-seq {
  display: flex;
  align-items: center;
  gap: 56px;
  padding: 0 28px;
  flex: none;
}
.sponsor-carousel-seq img {
  height: 72px;
  width: auto;
  max-width: 280px;
  object-fit: contain;
  display: block;
}
@keyframes sponsor-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-carousel-track { animation: none; }
}
.sponsors-logos-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 18px 28px;
  max-width: var(--phoenix-rail);
  width: min(var(--phoenix-rail), 100%);
  margin: 0 auto;
  padding: 0 8px;
  box-sizing: border-box;
}
.sponsors-logos-row img {
  height: 72px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  flex: 1 1 auto;
}
body.page-phoenix .sponsors-logos img,
body.page-phoenix .sponsors-logos-row img {
  height: 78px !important;
  max-height: 78px !important;
  max-width: 240px !important;
  width: auto !important;
  flex: 1 1 0 !important;
}

.get-ready-band {
  position: relative;
  min-height: 835px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 16px 56px;
  overflow: hidden;
  background: #111;
}
.get-ready-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.get-ready-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  opacity: 0.92;
  filter: grayscale(0.15) contrast(1.05);
}
.get-ready-inner {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.get-ready-logo {
  width: 204px;
  height: auto;
  margin: 0 0 16px;
}
.get-ready-tag {
  font-family: var(--display);
  font-size: 60px;
  color: #fff;
  margin: 0 0 28px;
  line-height: 1em;
  text-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.signup-box {
  background: #fff;
  color: #222;
  padding: 32px 28px 28px;
  border-radius: 8px;
  text-align: left;
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  width: min(560px, 100%);
  box-sizing: border-box;
}
.signup-box h2 {
  margin: 0 0 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 32px;
  font-weight: 700;
  font-style: normal;
  color: #1a1a1a;
  text-align: left;
  letter-spacing: 0;
}
.signup-form {
  display: grid;
  gap: 12px;
}
.signup-form .hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.signup-email {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  font-size: 14px;
  color: #222;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: none;
  letter-spacing: 0;
}
.signup-email-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.signup-email .req,
.signup-lists .req {
  color: #c00;
  margin-right: 2px;
}
.signup-email input {
  height: 44px;
  border: 1px solid #c8c8c8;
  padding: 0 12px;
  font-size: 16px;
  background: #fff;
  color: #111;
  border-radius: 4px;
  font-family: Arial, Helvetica, sans-serif;
}
.signup-lists {
  border: 0;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.signup-lists legend {
  font-size: 14px;
  color: #222;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  margin-bottom: 6px;
  padding: 0;
}
.signup-lists label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  color: #222;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  font-weight: 400;
}
.signup-lists input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex: none;
  accent-color: #793A2F;
}
.signup-disclaimer {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: #555;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}
.signup-disclaimer a {
  color: #555;
  text-decoration: underline;
}
.signup-submit,
.signup-box .btn.signup-submit {
  margin-top: 14px;
  width: 100%;
  min-width: 0;
  height: 50px;
  border: 0;
  border-radius: 4px;
  background: #793A2F;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.signup-submit:hover,
.signup-box .btn.signup-submit:hover {
  background: #955738;
  color: #fff;
}
.signup-form .form-msg { margin: 0; color: #783A2E; font-size: 13px; min-height: 1.2em; }

body.page-phoenix .next-cities {
  padding: 28px 16px 36px;
  background: #272827;
}
body.page-phoenix .next-cities h2 {
  font-family: var(--display);
  font-size: 44px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
body.page-phoenix .next-cities .city-row {
  gap: 22px;
  justify-content: center;
  grid-template-columns: repeat(2, minmax(0, 380px));
  max-width: var(--phoenix-rail);
  margin: 0 auto;
}
body.page-phoenix .next-cities .city-card {
  max-width: 380px;
  width: 100%;
}
body.page-phoenix .next-cities .city-card img {
  width: 380px;
  height: 380px;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
  background: #272827;
  display: block;
  margin: 0 auto;
}
body.page-phoenix .next-cities .btn-row {
  gap: 12px;
  justify-content: center;
  margin-top: 12px;
}
body.page-phoenix .next-cities .btn {
  min-width: 160px;
  height: 46px;
  border-radius: 999px;
  border: 0;
  box-shadow: none;
  background: #fff;
  color: #643018;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body.page-phoenix .next-cities .btn.gold {
  background: #8A7240;
  color: #fff;
}

body.page-phoenix #hotel-pop,
body.page-phoenix .hotel-pop,
body.page-phoenix #hotel-pop.pop-backdrop {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.page-phoenix .yt-center-play {
  width: 68px;
  height: 48px;
  margin: -24px 0 0 -34px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.55);
  box-shadow: none;
  border: 2px solid rgba(255,255,255,0.85);
}
body.page-phoenix .yt-center-play::after {
  left: 26px;
  top: 12px;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #fff;
}
body.page-phoenix .yt-top {
  padding: 12px 14px 32px;
  font-size: 14px;
  font-weight: 500;
  background: linear-gradient(to bottom, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 100%);
}
body.page-phoenix .yt-title {
  font-size: 14px;
  font-weight: 500;
}
body.page-phoenix .yt-watch,
body.page-phoenix .yt-share {
  font-size: 12px;
  opacity: 0.95;
}
body.page-phoenix .yt-bottom {
  padding: 0 0 8px;
  background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 100%);
}
body.page-phoenix .yt-progress {
  height: 3.5px;
  background: rgba(255,255,255,.28);
  margin: 0 0 8px;
}
body.page-phoenix .yt-controls {
  gap: 14px;
  padding: 0 14px 6px;
  font-size: 13px;
}
body.page-phoenix .yt-brand {
  display: none !important; /* live inactive chrome uses YT logo in controls, not big brand */
}
body.page-phoenix .yt-more {
  position: absolute;
  right: 10px;
  bottom: 48px;
  width: 160px;
  height: 90px;
  border-radius: 2px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  font: 11px/1.2 Arial, sans-serif;
  padding: 6px 8px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
}

body.page-phoenix .site-footer,
body.page-nola .site-footer {
  background: var(--phoenix-rust);
  min-height: 156px;
  padding: 0;
  text-align: left;
  display: block;
}
body.page-phoenix .footer-bg,
body.page-phoenix .footer-signup,
body.page-phoenix .site-footer .tag,
body.page-phoenix .site-footer .social,
body.page-nola .footer-bg,
body.page-nola .footer-signup,
body.page-nola .site-footer .tag,
body.page-nola .site-footer .social {
  display: none !important;
}
body.page-phoenix .footer-inner,
body.page-nola .footer-inner {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-phoenix .site-footer .footer-logo-top,
body.page-nola .site-footer .footer-logo-top {
  margin: 0;
  line-height: 0;
}
body.page-phoenix .site-footer .footer-logo-top img,
body.page-nola .site-footer .footer-logo-top img {
  width: 173px;
  height: 110px;
  display: block;
}
body.page-phoenix .footer-legal,
body.page-nola .footer-legal {
  text-align: right;
  margin: 0;
  color: #fff;
  line-height: 1.25;
}
body.page-phoenix .footer-legal p,
body.page-nola .footer-legal p {
  margin: 0;
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
}
body.page-phoenix .site-footer a,
body.page-nola .site-footer a {
  color: #fff;
  font-size: 10px;
}

@media (max-width: 800px) {
  body.page-phoenix .packages-bar:not(.sf-apply) { justify-content: center; text-align: center; flex-direction: column; }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy { text-align: center; }
  .military-band-bar .military-inner { justify-content: center; text-align: center; }
  body.page-phoenix .xp-band .xp-cols,
body.page-phoenix .info-band .xp-cols { grid-template-columns: 1fr; gap: 24px; }
  body.page-phoenix .nights { grid-template-columns: 1fr; }
  body.page-phoenix .ros-stage {
    height: auto;
    min-height: 0;
    aspect-ratio: 980 / 756;
  }
  body.page-phoenix .ros-bg {
    min-height: 0;
  }
  body.page-phoenix .ros-card {
    width: min(280px, 70%);
    height: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  body.page-phoenix .footer-inner,
body.page-nola .footer-inner { justify-content: center; text-align: center; }
  body.page-phoenix .footer-legal,
body.page-nola .footer-legal { text-align: center; }
  .signup-box { padding: 22px 18px; }
  .sponsors-logos-row { flex-wrap: wrap; }
}

body.page-home {
  background: #111;
}
body.page-home main {
  position: relative;
}
body.page-home main::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1345px;
  background: url("/media/e10318_de41f6ddcc874a64a4322641b79f206d_mv2.webp") center top / 100% 1345px no-repeat;
  pointer-events: none;
  z-index: 0;
}
body.page-home main > * { position: relative; z-index: 1; }

body.page-home .xp-band { padding-bottom: 104px; }
body.page-home .xp-band .xp-cols {
  max-width: 1196px;
  gap: 58px;
  grid-template-columns: repeat(3, 360px);
  justify-content: center;
}
body.page-home .xp-col img {
  width: 360px;
  height: 304px;
}
body.page-home .lets-rodeo {
  max-width: none;
  margin: 0;
  padding: 0;
}
body.page-home .lets-rodeo img {
  width: 100%;
  height: 702px;
  object-fit: cover;
  object-position: center 22%;
}
body.page-home .champs { padding: 54px 0 46px; }
body.page-home .champ-track { padding: 0; gap: 10px; }
body.page-home .champ-card,
body.page-home .champ-card img {
  width: 272px;
  flex-basis: 272px;
}
body.page-home .champ-card img { height: 411px; }
body.page-home .home-faq { padding: 78px 16px 48px; }
body.page-home .home-faq .btn.gold {
  min-width: 222px;
  width: 222px;
  height: 52px;
  border-radius: 24px;
  font-size: 20px;
}
body.page-home .home-still {
  position: relative;
  width: min(907px, 100%);
  height: 474px;
  margin: 0 auto 70px;
  overflow: hidden;
}
body.page-home .home-still iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
body.page-home .join-list { display: none !important; }
body.page-home .to-top {
  position: fixed;
  right: 20px;
  bottom: 40px;
  z-index: 90;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #222;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: none;
  place-items: center;
  box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
body.page-home .home-foot { background: #1c1c1c; }
body.page-home .home-foot-hero,
body.page-home .home-foot-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
body.page-home .flat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 179px;
  padding: 33px 163px 33px 138px;
  background: #2a2a2a;
  box-sizing: border-box;
}
body.page-home .flat-foot .logo img {
  width: 148px;
  height: 94px;
  object-fit: contain;
}
body.page-home .flat-foot .footer-legal {
  margin: 0;
  text-align: right;
  color: #fff;
  width: 148px;
  max-width: 148px;
  flex: 0 0 148px;
}
body.page-home .flat-foot .footer-legal p,
body.page-home .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  margin: 0;
  white-space: nowrap;
}
body.page-home .flat-foot .footer-legal a {
  text-decoration: underline;
}
body.page-home .flat-foot .footer-legal p.legal-rest {
  margin-top: 12px;
}

@media (max-width: 980px) {
  body.page-home main::before {
    height: 930px;
    background-size: 100% 930px;
  }
  
  
  
  body.page-home .xp-band .xp-cols {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 280px;
  }
  body.page-home .xp-col { align-items: center; }
  body.page-home .xp-col img {
    width: 250px;
    max-width: 250px;
    height: 211px;
  }
  body.page-home .about { padding: 8px 12px 4px; }
  body.page-home .about p {
    font-size: 14px;
    line-height: 1.25;
    margin-bottom: 8px;
    padding: 0 6px;
  }
  body.page-home .home-still { height: 167px; margin: 0 auto 8px; }
  body.page-home .city-card .btn,
body.page-home .city-card .btn.gold { font-size: 10px; }
  body.page-home .xp-band { padding: 18px 12px 28px; }
  body.page-home .xp-band h2 { font-size: 24px; line-height: 1.35; }
  body.page-home .lets-rodeo img { height: 212px; object-position: center 40%; }
  body.page-home .champs { padding: 18px 0 12px; }
  body.page-home .champ-card,
body.page-home .champ-card img { width: 134px; flex-basis: 134px; }
  body.page-home .champ-card img { height: 203px; }
  body.page-home .home-faq .faq-head {
    flex-wrap: nowrap;
    gap: 8px;
  }
  body.page-home .home-faq .faq-stars {
    width: 88px;
    height: 18px;
    flex: 0 0 auto;
    object-fit: contain;
  }
  body.page-home .home-faq .faq-head h2 {
    font-size: 26px;
    line-height: 1;
    white-space: nowrap;
  }
  body.page-home .home-faq { padding: 16px 12px 22px; }
  body.page-home .to-top { display: grid; }
  body.page-home .home-faq .btn.gold {
    min-width: 160px;
    width: 160px;
    height: 42px;
    font-size: 16px;
  }
  body.page-home .flat-foot {
    min-height: 120px;
    padding: 22px 29px 22px 33px;
    justify-content: flex-start;
    gap: 0;
  }
  body.page-home .flat-foot .logo {
    flex: 0 0 120px;
    margin-right: -8px;
  }
  body.page-home .flat-foot .footer-legal {
    text-align: right;
    width: 146px;
    max-width: 146px;
    flex: 0 0 146px;
  }
  body.page-home .flat-foot .footer-legal p.legal-rest {
    margin-top: 12px;
  }
  body.page-home .flat-foot .logo img {
    width: 120px;
    height: 76px;
  }
}

/* Tablet ~768 keeps the desktop scale. The 1440 layout is shifted -230px
   (centered in Wix's 980 frame) and the viewport clips the overflow. */
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-home { overflow-x: hidden; }
  body.page-home main::before {
    height: 1345px;
    background-size: 100% 1345px;
  }
  
  body.page-home .logo img { width: 173px; height: 110px; }
  body.page-home .city-row {
    display: grid;
    grid-template-columns: repeat(3, 327px);
    column-gap: 55px;
    row-gap: 28px;
    width: 1091px;
    max-width: none;
    margin: 71px 0 10px -69px;
    padding: 0;
    justify-content: start;
    box-sizing: content-box;
  }
  body.page-home .city-card {
    display: block;
    width: 327px;
    max-width: none;
  }
  body.page-home .city-card img {
    width: 327px;
    max-width: none;
    height: 319px;
    margin: 0 0 16px;
    aspect-ratio: auto;
    object-fit: cover;
  }
  body.page-home .city-card .btn-row {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
  }
  body.page-home .city-card .btn,
body.page-home .city-card .btn.gold {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
    height: 37px;
    padding: 0 10px;
    font-size: 16px;
  }
  body.page-home .about {
    width: 755px;
    max-width: none;
    margin: 0 0 0 113px;
    padding: 28px 0 8px;
    box-sizing: border-box;
  }
  body.page-home .about h1,
body.page-home .about h1.display,
body.page-home .about.pick-rodeo h2.display {
    width: 600px;
    max-width: 600px;
    margin: 0 auto 18px;
    font-size: 60px;
    line-height: 1.4em;
    padding: 0;
  }
  body.page-home .about p {
    width: 755px;
    max-width: 755px;
    margin: 0 0 16px;
    padding: 0;
    font-size: 16px;
    line-height: 1.4em;
  }
  body.page-home .home-still {
    width: 907px;
    height: 474px;
    margin: 0 0 70px 37px;
  }
  body.page-home .xp-band { padding: 36px 0 104px; }
  body.page-home .xp-band h2 {
    font-size: 40px;
    line-height: 1.4em;
    width: 980px;
    max-width: none;
    margin-left: 0;
  }
  body.page-home .xp-band .xp-cols {
    grid-template-columns: repeat(3, 360px);
    gap: 58px;
    width: 1196px;
    max-width: none;
    margin: 0 0 0 -107px;
    justify-content: start;
  }
  body.page-home .xp-col { align-items: stretch; }
  body.page-home .xp-col img {
    width: 360px;
    max-width: none;
    height: 304px;
    aspect-ratio: auto;
  }
  body.page-home .xp-card {
    min-height: 200px;
    padding: 18px 16px 24px;
  }
  body.page-home .xp-card h3 { font-size: 40px; }
  body.page-home .xp-card .time { font-size: 25px; }
  body.page-home .xp-card p { font-size: 16px; line-height: 1.4; }
  body.page-home .lets-rodeo { width: 980px; max-width: none; margin: 0; }
  body.page-home .lets-rodeo img {
    width: 980px;
    max-width: none;
    height: 702px;
    object-position: center 22%;
  }
  body.page-home .to-top { display: none; }
}

body.page-home .city-card .btn:not(.gold) {
  background: #fff;
  color: var(--brown);
  border-color: transparent;
}
body.page-home .city-card .btn:not(.gold):hover,
body.page-home .city-card .btn:not(.gold):focus-visible {
  background: var(--gold-hover);
  color: #fff;
}

body.page-tampa .bleed-hero.framed img {
  width: 1077px;
  max-width: 1077px;
  height: 605px;
  object-fit: cover;
}
body.page-tampa .night-col {
  padding: 88px 18px 56px 40px;
  text-align: left;
  align-items: flex-start;
}
body.page-tampa .night-col .date {
  font-family: var(--sans);
  font-size: 35px;
  line-height: 49px;
  font-weight: 400;
  text-transform: none;
  text-align: left;
  width: 100%;
  margin: 0;
}
body.page-tampa .night-col .headliner,
body.page-tampa .night-col .support,
body.page-tampa .night-col .note,
body.page-tampa .night-col .upgrade {
  text-align: left;
  width: 100%;
}
body.page-tampa .night-btns {
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}
body.page-tampa .night-col .btn {
  min-width: 172px;
  width: 172px;
  height: 40px;
  font-size: 16px;
}
body.page-tampa .night-col .btn.gold {
  min-width: 195px;
  width: 195px;
  height: 45px;
  font-size: 17px;
}
body.page-tampa .packages-bar,
  body.page-phoenix .sf-apply {
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 30px;
  padding: 22px 0 22px 245px;
}
body.page-tampa .packages-bar .copy,
  body.page-phoenix .sf-apply .copy { width: 700px; max-width: none; }
body.page-tampa .packages-bar .copy p,
  body.page-phoenix .sf-apply .copy p {
  font-size: 28px;
  line-height: 36px;
}
body.page-tampa .packages-bar .copy p.tampa-apply-title,
  body.page-phoenix .sf-apply .copy p.sf-apply-title {
  font-size: 36px;
  line-height: 52px;
}
body.page-tampa .tampa-apply .btn,
  body.page-phoenix .sf-apply .btn { margin-left: -58px; }
body.page-tampa .packages-bar .btn,
  body.page-phoenix .sf-apply .btn {
  width: 261px;
  min-width: 261px;
  height: 40px;
  flex: none;
}
body.page-tampa .xp-band { padding: 28px 0 24px; background: #272827; }
body.page-tampa .xp-band h2 {
  width: 732px;
  max-width: 732px;
  height: 88px;
  margin: 0 auto 20px;
  font-size: 40px;
  line-height: 88px;
  white-space: nowrap;
}
body.page-tampa .xp-band .xp-cols,
body.page-tampa .info-band .xp-cols {
  grid-template-columns: repeat(3, 360px);
  gap: 58px;
  width: 1196px;
  max-width: none;
  margin: 0 auto;
  justify-content: center;
}
body.page-tampa .xp-col img {
  width: 360px;
  max-width: none;
  height: 304px;
  aspect-ratio: auto;
  object-fit: cover;
}
body.page-tampa .xp-band .xp-col:nth-child(3) img { object-position: center 46%; }
body.page-tampa .info-band .xp-col:nth-child(3) img { object-position: center 43%; }
body.page-tampa .xp-card { background: #8E7047; }
body.page-tampa .xp-card h3 { font-size: 40px; line-height: 67px; margin: 0; color: #fff; }
body.page-tampa .xp-card .time { font-size: 25px; line-height: 37px; margin: 0; }
body.page-tampa .xp-card p { font-size: 16px; line-height: 1.45; }
body.page-tampa .info-band { padding: 0 0 136px; background: #272827; }
body.page-tampa .info-band .xp-col > .btn,
body.page-tampa .info-band .xp-col > a.btn {
  width: 220px;
  min-width: 220px;
  height: 37px;
  margin-top: 16px;
}
body.page-tampa .faq-preview { padding: 48px 0 68px; background: #272827; }
body.page-tampa .faq details { padding: 0 0 38px; }
body.page-tampa .faq summary { min-height: 95px; font-size: 22px; }
body.page-tampa .faq-preview .faq-head { margin: 0 auto 28px; }
body.page-tampa .faq-preview .faq-head h2 { font-size: 32px; line-height: 45px; }
body.page-tampa .faq-preview .faq-head h2 a {
  color: inherit;
  text-decoration: none;
}
body.page-tampa .faq-preview .faq { max-width: 916px; padding: 0; }
body.page-tampa .faq-preview .faq-more {
  max-width: 916px;
  margin: 16px auto 0;
  padding: 0;
  text-align: left;
}
body.page-tampa .faq-more-btn {
  width: 237px;
  min-width: 237px;
  height: 55px;
  font-size: 23px;
}
body.page-tampa .tampa-mosaic { background: #111; }
body.page-tampa .tampa-gallery {
  display: block;
  width: 1440px;
  max-width: none;
  height: 398px;
  object-fit: cover;
}
body.page-tampa .tampa-wide {
  display: block;
  width: 1440px;
  max-width: none;
  height: 717px;
  object-fit: cover;
  object-position: center center;
  margin-top: 0;
}
body.page-tampa .tampa-foot { background: #783A2E; }
body.page-tampa .to-top { display: none; }
body.page-tampa .tampa-foot-hero { display: block; background: #111; }
body.page-tampa .tampa-foot-bg {
  display: block;
  width: 1440px;
  max-width: none;
  height: 991px;
  object-fit: cover;
}
body.page-tampa .flat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 160px;
  padding: 38px 156px 40px 200px;
  background: #783A2E;
  box-sizing: border-box;
}
body.page-tampa .flat-foot .logo img {
  width: 154px;
  height: 98px;
  object-fit: contain;
}
body.page-tampa .flat-foot .footer-legal {
  margin: 0;
  text-align: right;
  color: #fff;
  width: 148px;
  max-width: 148px;
  flex: 0 0 148px;
}
body.page-tampa .flat-foot .footer-legal p,
body.page-tampa .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  line-height: 14px;
  margin: 0;
  white-space: nowrap;
}
body.page-tampa .flat-foot .footer-legal a { text-decoration: underline; }
body.page-tampa .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }

/* Tablet ~768: desktop scale, shifted -230 into the 980 frame, viewport clips. */
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-tampa { overflow-x: hidden; }
  body.page-tampa main,
body.page-tampa .tampa-foot,
body.page-tampa .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: -230px;
  }
  
  body.page-tampa .logo img { width: 173px; height: 110px; }
  body.page-tampa .nights { grid-template-columns: 523px 445px 472px; }
  body.page-tampa .night-col .headliner { font-size: 45px; }
  body.page-tampa .night-col .date { font-size: 35px; }
  body.page-tampa .night-col .support { font-size: 25px; }
  body.page-tampa .xp-band h2 { font-size: 40px; line-height: 88px; height: 88px; }
  body.page-tampa .xp-card h3 { font-size: 40px; }
  body.page-tampa .xp-card .time { font-size: 25px; }
  body.page-tampa .xp-card p { font-size: 16px; }
  body.page-tampa .xp-col img {
    width: 360px;
    max-width: none;
    height: 304px;
  }
  body.page-tampa .bleed-hero.framed img {
    width: 1077px;
    max-width: 1077px;
    height: 605px;
  }
  body.page-tampa .faq summary { font-size: 30px; }
  body.page-tampa .faq-head h2 { font-size: 32px; }
  body.page-tampa .tampa-gallery { margin-left: 230px; }
  body.page-tampa .tampa-wide {
    width: 980px;
    height: 717px;
    margin-left: 230px;
  }
  body.page-tampa .tampa-foot-bg {
    width: 980px;
    height: 991px;
    margin-left: 230px;
  }
  
  
}

body.page-tampa .desk-the { display: none; }

/* Live day columns are unequal and the copy shares each column's left inset. */
@media (min-width: 701px) {
  body.page-tampa .nights { grid-template-columns: 523px 445px 472px; }
  body.page-tampa .night-col:nth-child(1) { padding-left: 127px; padding-right: 16px; }
  body.page-tampa .night-col:nth-child(2) { padding-left: 37px; padding-right: 24px; }
  body.page-tampa .night-col:nth-child(3) { padding-left: 61px; padding-right: 20px; }
  body.page-tampa .night-col:nth-child(2) .support br { display: none; }
  body.page-tampa .night-col:nth-child(3) .desk-rest { display: none; }
  body.page-tampa .night-col:nth-child(3) .desk-the { display: inline; }
  body.page-tampa .night-col:nth-child(3) .support {
    font-family: var(--display);
    font-size: 45px;
    line-height: 0.95;
    margin-top: -8px;
    white-space: nowrap;
  }
  body.page-tampa .night-col:nth-child(3) .support br { display: none; }
  body.page-tampa .night-col .upgrade {
    width: 195px;
    max-width: 195px;
    margin-left: 184px;
    text-align: center;
  }
}

@media (max-width: 430px) {
  
  
  body.page-tampa .bleed-hero.framed {
    display: block;
    padding: 0;
    background: transparent;
  }
  body.page-tampa .bleed-hero.framed img {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    aspect-ratio: 1077 / 605;
    object-fit: cover;
  }
  body.page-tampa .packages-bar,
  body.page-phoenix .sf-apply {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px 12px;
  }
  body.page-tampa .packages-bar .copy,
  body.page-phoenix .sf-apply .copy {
    width: auto;
    max-width: 280px;
    text-align: center;
  }
  body.page-tampa .packages-bar .copy p,
  body.page-phoenix .sf-apply .copy p { font-size: 16px; line-height: 21px; }
  body.page-tampa .packages-bar .btn,
  body.page-phoenix .sf-apply .btn {
    width: 131px;
    min-width: 131px;
    height: 34px;
  }
  body.page-tampa .tampa-apply,
  body.page-phoenix .sf-apply {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    gap: 8px;
  }
  body.page-tampa .tampa-apply .copy,
  body.page-phoenix .sf-apply .copy {
    width: 120px;
    max-width: 120px;
    text-align: left;
  }
  body.page-tampa .tampa-apply-title,
  body.page-phoenix .sf-apply-title { font-size: 16px; line-height: 18px; }
  body.page-tampa .tampa-apply .btn,
  body.page-phoenix .sf-apply .btn {
    width: 142px;
    min-width: 142px;
    height: 34px;
    margin-left: 0;
  }
  body.page-tampa .xp-band { padding: 18px 0 24px; }
  body.page-tampa .xp-band h2 {
    width: auto;
    max-width: 280px;
    font-size: 22px;
    line-height: 1.15;
  }
  body.page-tampa .xp-band .xp-cols,
body.page-tampa .info-band .xp-cols {
    grid-template-columns: 1fr;
    width: auto;
    max-width: 280px;
    gap: 18px;
  }
  body.page-tampa .xp-col { align-items: center; }
  body.page-tampa .xp-col img {
    width: 250px;
    max-width: 250px;
    height: 211px;
  }
  body.page-tampa .xp-card h3 { font-size: 26px; line-height: 1.15; }
  body.page-tampa .xp-card .time { font-size: 18px; line-height: 1.2; }
  body.page-tampa .info-band { padding: 8px 0 20px; }
  body.page-tampa .info-band .xp-col > .btn,
body.page-tampa .info-band .xp-col > a.btn {
    width: 240px;
    min-width: 0;
    height: 42px;
  }
  body.page-tampa .night-col {
    padding: 16px 16px 18px 30px;
    gap: 4px;
    align-items: flex-start;
    text-align: left;
  }
  body.page-tampa .night-col .date {
    font-family: var(--sans);
    font-size: 20px;
    line-height: 28px;
    text-transform: none;
    margin: 0 0 2px;
  }
  body.page-tampa .night-col .headliner {
    font-size: 28px;
    line-height: 0.9;
    text-align: left;
  }
  body.page-tampa .night-col .support {
    font-size: 22px;
    line-height: 1.05;
    text-align: left;
    margin: 0 0 6px;
  }
  body.page-tampa .night-col .note,
body.page-tampa .night-col .upgrade {
    text-align: left;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  body.page-tampa .faq-stars { width: 70px; height: 16px; }
  body.page-tampa .faq-preview .faq-head { flex-wrap: nowrap; gap: 6px; }
  body.page-tampa .faq-preview .faq-head h2 { font-size: 16px; line-height: 1.1; white-space: nowrap; }
  body.page-tampa .to-top {
    display: grid;
    place-items: center;
    position: fixed;
    right: 16px;
    bottom: 24px;
    z-index: 90;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 18px;
    cursor: pointer;
  }
  body.page-tampa .night-btns {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 154px;
  }
  body.page-tampa .xp-band h2 {
    height: auto;
    line-height: 1.15;
    white-space: normal;
  }
  body.page-tampa .faq details { padding: 0; }
  body.page-tampa .faq summary { min-height: 0; font-size: 16px; }
  body.page-tampa .faq-preview .faq-more { margin-top: 16px; }
  body.page-tampa .night-col .btn,
body.page-tampa .night-col .btn.gold {
    width: 154px;
    min-width: 154px;
    max-width: 154px;
    align-self: flex-start;
    font-family: var(--display);
    text-transform: uppercase;
  }
  body.page-tampa .night-col .btn {
    height: 30px;
    min-height: 30px;
    font-size: 13px;
  }
  body.page-tampa .night-col .btn.gold {
    height: 33px;
    min-height: 33px;
    font-size: 14px;
  }
  body.page-tampa .tampa-gallery {
    width: 320px;
    height: 301px;
    margin-left: 0;
  }
  body.page-tampa .tampa-wide {
    width: 320px;
    height: 325px;
    margin-top: 0;
    margin-left: 0;
    object-position: center 30%;
  }
  body.page-tampa .faq-preview { padding: 20px 16px 24px; }
  body.page-tampa .faq-preview .faq,
body.page-tampa .faq-preview .faq-more { max-width: 280px; }
  body.page-tampa .faq-more-btn {
    width: 160px;
    min-width: 160px;
    height: 42px;
    font-size: 16px;
  }
  body.page-tampa .tampa-foot-bg {
    width: 320px;
    height: 1023px;
    margin-left: 0;
  }
  body.page-tampa .flat-foot {
    min-height: 110px;
    padding: 18px 20px 22px 31px;
    justify-content: flex-start;
    gap: 16px;
  }
  body.page-tampa .flat-foot .logo img { width: 103px; height: 66px; }
  body.page-tampa .flat-foot .footer-legal {
    width: 146px;
    max-width: 146px;
    flex: 0 0 146px;
    margin-left: auto;
  }
}

body.page-nola { background: #111; overflow-x: hidden; }

body.page-nola .results-bar {
  position: relative;
  height: 95px;
  padding: 0;
  background: #783A2E;
  display: block;
}
body.page-nola .results-link {
  position: absolute;
  top: 25px;
  /* Sit in the gap between the star clusters (left ends at 448, right starts at 989)
     instead of centering in the viewport, which overlaps the right stars when the bar is wider than 1440. */
  left: 448px;
  right: auto;
  width: 541px;
  margin: 0;
  font-size: 35px;
  font-style: normal;
  line-height: 42px;
  text-align: center;
  white-space: nowrap;
}
body.page-nola .faq-stars {
  position: absolute;
  top: 27px;
  width: 190px;
  height: 41px;
  object-fit: fill;
}
body.page-nola .results-bar .faq-stars:first-child { left: 258px; }
body.page-nola .results-bar .faq-stars:last-child { left: 989px; }
body.page-nola .nola-hero {
  height: 885px;
  background: #2B2C26;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 7px;
}
body.page-nola .nola-hero img {
  width: 1393px;
  max-width: 1393px;
  height: 878px;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 50% 50%;
  margin: 0;
}
body.page-nola .nola-arena { background: #000; }
body.page-nola .nola-arena img {
  display: block;
  width: 1440px;
  max-width: none;
  height: 741px;
  object-fit: cover;
}
body.page-nola .nola-floor {
  position: relative;
  height: 687px;
  padding: 0;
  background: #232222;
  text-align: center;
}
body.page-nola .nola-floor h2,
body.page-nola .nola-vip-copy h2,
body.page-nola .nola-street h2,
body.page-nola .nola-foot-hero h2 {
  font-family: var(--display);
  font-weight: 400;
  text-transform: none;
  color: #F4ECDF;
  margin: 0;
}
body.page-nola .nola-floor h2 {
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
  font-size: 60px;
  line-height: 73px;
}
body.page-nola .nola-floor-collage {
  position: absolute;
  left: 0;
  top: 137px;
  width: 1440px;
  height: 339px;
  max-width: none;
  margin: 0;
  display: block;
}
body.page-nola .nola-floor-collage img {
  position: absolute;
  top: 0;
  height: 339px;
  object-fit: cover;
  max-width: none;
}
body.page-nola .nola-floor-collage img:nth-child(1) { left: 820px; width: 600px; z-index: 1; }
body.page-nola .nola-floor-collage img:nth-child(2) { left: 61px; width: 600px; z-index: 2; }
body.page-nola .nola-floor-collage img:nth-child(3) { left: 550px; width: 340px; z-index: 3; }
body.page-nola .nola-floor p {
  position: absolute;
  top: 515px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 640px;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25px;
}
body.page-nola .nola-floor .btn {
  position: absolute;
  top: 596px;
  left: 622px;
  width: 195px;
  min-width: 195px;
  height: 45px;
  font-size: 17px;
}
body.page-nola .nola-vip-tall {
  position: relative;
  height: 909px;
  min-height: 909px;
  padding: 0;
  overflow: hidden;
}
body.page-nola .nola-vip-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-nola .nola-vip-still {
  position: absolute;
  top: 138px;
  left: 252px;
  width: 936px;
  height: 555px;
  object-fit: cover;
  z-index: 1;
}
body.page-nola .nola-vip-copy {
  position: absolute;
  top: 34px;
  left: 0;
  right: 0;
  max-width: none;
  text-align: center;
  z-index: 1;
}
body.page-nola .nola-vip-copy h2 { font-size: 60px; line-height: 73px; }
body.page-nola .nola-vip-copy p {
  position: absolute;
  top: 692px;
  left: 0;
  right: 0;
  width: 1100px;
  margin: 0 auto;
  color: #fff;
  font-family: var(--display);
  font-size: 20px;
  line-height: 27px;
}
body.page-nola .nola-vip-copy .btn {
  position: absolute;
  top: 781px;
  left: 50%;
  margin-left: -98px;
  width: 195px;
  min-width: 195px;
  height: 45px;
}
body.page-nola .nola-logos {
  position: relative;
  height: 129px;
  background: #fff;
}
body.page-nola .nola-logos { overflow: hidden; }
body.page-nola .nola-logos img {
  position: absolute;
  top: 18px;
  left: var(--x);
  width: var(--w);
  height: 93px;
  object-fit: cover;
}
body.page-nola .nola-street {
  position: relative;
  height: 1356px;
  overflow: hidden;
  background: #783A2E;
}
body.page-nola .nola-street-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.38;
}
body.page-nola .nola-street .sf-logo {
  /* Live image fails to paint (naturalWidth 0). Keep the node, hide the box. */
  position: absolute;
  top: 51px;
  left: 603px;
  width: 233px;
  height: 120px;
  margin: 0;
  mix-blend-mode: normal;
  object-fit: contain;
}
body.page-nola .nola-street h2 {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 60px;
  line-height: 73px;
  color: #fff;
}
body.page-nola .nola-street h2:not(.about) { top: 206px; }
body.page-nola .nola-street .meta {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 0;
  text-transform: none;
}
body.page-nola .nola-street .meta:nth-of-type(1) { top: 302px; }
body.page-nola .nola-street .meta:nth-of-type(2) { top: 328px; }
body.page-nola .nola-street .meta:nth-of-type(3) { top: 353px; }
body.page-nola .nola-street .btn.vendor {
  position: absolute;
  top: 419px;
  left: 557px;
  width: 325px;
  min-width: 325px;
  height: 52px;
  min-height: 52px;
  font-size: 17px;
  background: #9C6B23;
  color: #fff;
  border-color: #9C6B23;
  z-index: 1;
}
body.page-nola .nola-mosaic { position: absolute; inset: 0; pointer-events: none; }
body.page-nola .nola-mosaic img {
  position: absolute;
  object-fit: cover;
}
body.page-nola .nola-mosaic img:nth-child(1) { left: 194px; top: 525px; width: 380px; height: 254px; }
body.page-nola .nola-mosaic img:nth-child(2) { left: 194px; top: 784px; width: 187px; height: 125px; }
body.page-nola .nola-mosaic img:nth-child(3) { left: 386px; top: 784px; width: 188px; height: 125px; }
body.page-nola .nola-mosaic img:nth-child(4) { left: 579px; top: 525px; width: 119px; height: 148px; }
body.page-nola .nola-mosaic img:nth-child(5) { left: 703px; top: 525px; width: 222px; height: 148px; }
body.page-nola .nola-mosaic img:nth-child(6) { left: 579px; top: 678px; width: 346px; height: 231px; }
body.page-nola .nola-mosaic img:nth-child(7) { left: 930px; top: 525px; width: 346px; height: 231px; }
body.page-nola .nola-mosaic img:nth-child(8) { left: 930px; top: 761px; width: 223px; height: 148px; }
body.page-nola .nola-mosaic img:nth-child(9) { left: 1158px; top: 761px; width: 118px; height: 148px; }
body.page-nola .nola-street h2.about { top: 952px; padding: 0; }
body.page-nola .nola-street .about-copy {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 24px;
  width: 780px;
}
body.page-nola .nola-street .about-copy.a1 { top: 1047px; width: 720px; }
body.page-nola .nola-street .about-copy.a2 { top: 1118px; width: 900px; }
body.page-nola .nola-street .about-copy.a3 { top: 1237px; width: 780px; }
body.page-nola .nola-foot { background: #783A2E; }
body.page-nola .nola-foot-hero {
  position: relative;
  height: 991px;
  overflow: hidden;
  background: #272827;
}
body.page-nola .nola-foot-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
}
body.page-nola .nola-foot-logo {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 204px;
  height: 131px;
  margin-left: -102px;
  object-fit: contain;
  z-index: 1;
}
body.page-nola .nola-foot-hero h2 {
  color: #fff;
  position: absolute;
  top: 174px;
  left: 0;
  right: 0;
  width: 630px;
  margin: 0 auto;
  text-align: center;
  font-size: 60px;
  line-height: 68px;
  z-index: 1;
}
body.page-nola .flat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 188px;
  padding: 38px 156px 40px 200px;
  background: #783A2E;
  box-sizing: border-box;
}
body.page-nola .flat-foot .logo img { width: 154px; height: 98px; }
body.page-nola .flat-foot .footer-legal {
  margin: 0;
  text-align: right;
  color: #fff;
  width: 148px;
  max-width: 148px;
}
body.page-nola .flat-foot .footer-legal p,
body.page-nola .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  line-height: 14px;
  margin: 0;
}
body.page-nola .flat-foot .footer-legal a { text-decoration: underline; }
body.page-nola .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }

@media (min-width: 701px) and (max-width: 1100px) {
  body.page-nola main,
body.page-nola .nola-foot,
body.page-nola .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: -230px;
  }
  body.page-nola .nola-arena img { width: 980px; margin-left: 230px; }
  body.page-nola .nola-vip-bg,
body.page-nola .nola-street-bg,
body.page-nola .nola-foot-bg {
    width: 980px;
    left: 230px;
    right: auto;
  }
  body.page-nola .nola-logos { margin-left: 230px; }
  
  
}

@media (max-width: 430px) {
  body.page-nola main,
body.page-nola .nola-foot,
body.page-nola .flat-foot {
    width: auto;
    margin-left: 0;
  }
  
  
  
  body.page-nola .results-bar { height: 77px; }
  body.page-nola .results-link {
    top: 30px;
    left: 20px;
    right: auto;
    width: 280px;
    margin: 0;
    font-size: 23px;
    line-height: 28px;
  }
  body.page-nola .results-bar .faq-stars:first-child {
    left: 50%;
    top: 6px;
    width: 74px;
    height: 16px;
    margin-left: -37px;
  }
  body.page-nola .results-bar .faq-stars:last-child { display: none; }
  body.page-nola br.desk { display: none; }
  body.page-nola .nola-hero { height: 327px; padding-top: 0; background: #2B2C26; }
  body.page-nola .nola-hero img { width: 320px; max-width: 320px; height: 327px; }
  body.page-nola .nola-arena img { width: 320px; height: 186px; margin: 20px 0 21px; }
  body.page-nola .nola-floor { height: 497px; }
  body.page-nola .nola-floor h2 { top: 329px; font-size: 25px; line-height: 31px; }
  body.page-nola .nola-floor-collage { top: 0; width: 320px; height: 312px; }
  body.page-nola .nola-floor-collage img:nth-child(2) { left: 4px; top: 0; width: 224px; height: 126px; }
  body.page-nola .nola-floor-collage img:nth-child(3) { left: 186px; top: 0; width: 127px; height: 126px; }
  body.page-nola .nola-floor-collage img:nth-child(1) { left: 4px; top: 137px; width: 310px; height: 175px; }
  body.page-nola .nola-floor p { top: 368px; width: 280px; font-size: 11px; line-height: 16px; }
  body.page-nola .nola-floor .btn { top: 435px; left: 60px; width: 200px; min-width: 200px; height: 42px; min-height: 42px; font-size: 16px; }
  body.page-nola .nola-vip-tall { height: 412px; min-height: 412px; }
  body.page-nola .nola-vip-bg { left: 0; width: 100%; }
  body.page-nola .nola-vip-still { top: 72px; left: 20px; width: 280px; height: 166px; }
  body.page-nola .nola-vip-copy { top: 22px; }
  body.page-nola .nola-vip-copy h2 { font-size: 28px; line-height: 34px; }
  body.page-nola .nola-vip-copy p { top: 226px; width: 280px; font-family: var(--display); font-size: 14px; line-height: 16px; }
  body.page-nola .nola-vip-copy .btn { top: 328px; width: 200px; min-width: 200px; height: 42px; min-height: 42px; margin-left: -100px; font-size: 16px; }
  body.page-nola .nola-logos { height: 58px; margin-left: 0; background: #fff; }
  body.page-nola .nola-logos img { top: 13px; height: 32px; }
  body.page-nola .nola-logos img:nth-child(1) { left: 0; width: 104px; }
  body.page-nola .nola-logos img:nth-child(2) { left: 114px; width: 82px; }
  body.page-nola .nola-logos img:nth-child(3) { left: 206px; width: 173px; }
  body.page-nola .nola-logos img:nth-child(n+4) { display: none; }
  body.page-nola .nola-street { height: 836px; }
  body.page-nola .nola-street-bg { left: 0; width: 100%; opacity: 0.38; }
  body.page-nola .nola-street .sf-logo { top: 20px; left: 111px; width: 97px; height: 50px; }
  body.page-nola .nola-street h2:not(.about) { top: 82px; font-size: 23px; line-height: 28px; }
  body.page-nola .nola-street .meta { font-size: 13px; line-height: 18px; }
  body.page-nola .nola-street .meta:nth-of-type(1) { top: 124px; }
  body.page-nola .nola-street .meta:nth-of-type(2) { top: 143px; }
  body.page-nola .nola-street .meta:nth-of-type(3) { top: 163px; }
  body.page-nola .nola-street .btn.vendor { top: 205px; left: 33px; width: 254px; min-width: 254px; height: 42px; min-height: 42px; font-size: 16px; }
  body.page-nola .nola-mosaic img:nth-child(1) { left: 0; top: 280px; width: 176px; height: 118px; }
  body.page-nola .nola-mosaic img:nth-child(2) { left: 0; top: 403px; width: 85px; height: 57px; }
  body.page-nola .nola-mosaic img:nth-child(3) { left: 90px; top: 403px; width: 86px; height: 57px; }
  body.page-nola .nola-mosaic img:nth-child(4) { left: 181px; top: 280px; width: 54px; height: 68px; }
  body.page-nola .nola-mosaic img:nth-child(5) { left: 240px; top: 280px; width: 101px; height: 68px; }
  body.page-nola .nola-mosaic img:nth-child(6) { left: 181px; top: 353px; width: 160px; height: 107px; }
  body.page-nola .nola-mosaic img:nth-child(7),
body.page-nola .nola-mosaic img:nth-child(8),
body.page-nola .nola-mosaic img:nth-child(9) { display: none; }
  body.page-nola .nola-street h2.about { top: 488px; font-size: 28px; line-height: 34px; white-space: nowrap; }
  body.page-nola .nola-street .about-copy,
body.page-nola .nola-street .about-copy.a1,
body.page-nola .nola-street .about-copy.a2,
body.page-nola .nola-street .about-copy.a3 { width: 280px; font-size: 11px; line-height: 16px; }
  body.page-nola .nola-street .about-copy.a1 { top: 536px; }
  body.page-nola .nola-street .about-copy.a2 { top: 598px; }
  body.page-nola .nola-street .about-copy.a3 { top: 736px; }
  body.page-nola .nola-foot-hero { height: 1023px; }
  body.page-nola .nola-foot-bg { left: 0; width: 100%; }
  body.page-nola .nola-foot-logo { top: 68px; width: 140px; height: 90px; margin-left: -70px; }
  body.page-nola .nola-foot-hero h2 { top: 172px; width: 220px; font-size: 28px; line-height: 32px; }
  body.page-nola .flat-foot {
    min-height: 131px;
    padding: 27px 16px 28px 28px;
    align-items: flex-start;
  }
  body.page-nola .flat-foot .logo img { width: 103px; height: 66px; }
}

body.page-street-hub { background: #272827; overflow-x: hidden; }

body.page-street-hub .sfh {
  position: relative;
  height: 2223px;
  /* Live content fill is a vertical ramp from #272827 to #682707, starting under the header. */
  background-color: #272827;
  background-image: linear-gradient(rgb(39, 40, 39), rgb(104, 39, 7));
  background-repeat: no-repeat;
  background-size: 100% 2067px;
  background-position: 0 156px;
}
body.page-street-hub .sfh-logo {
  position: absolute;
  left: 603px;
  top: 190px;
  width: 233px;
  height: 120px;
  object-fit: contain;
}
body.page-street-hub .sfh-photo {
  position: absolute;
  display: block;
  width: 397px;
  height: 496px;
  top: 450px;
}
body.page-street-hub .sfh-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.page-street-hub .sfh-photo.n1 { left: 69px; }
body.page-street-hub .sfh-photo.n2 { left: 525px; }
body.page-street-hub .sfh-photo.n3 { left: 976px; }
body.page-street-hub .sfh-name,
body.page-street-hub .sfh-about,
body.page-street-hub .sfh-foot-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  color: #fff;
  text-align: center;
}
body.page-street-hub .sfh-name {
  position: absolute;
  top: 365px;
  width: 397px;
  font-size: 40px;
  line-height: 49px;
}
body.page-street-hub .sfh-name.n1 { left: 69px; }
body.page-street-hub .sfh-name.n2 { left: 525px; }
body.page-street-hub .sfh-name.n3 { left: 976px; }
body.page-street-hub .sfh-date {
  position: absolute;
  top: 408px;
  width: 397px;
  margin: 0;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25px;
  color: #fff;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-street-hub .sfh-date.n1 { left: 69px; top: 411px; }
body.page-street-hub .sfh-date.n2 { left: 525px; }
body.page-street-hub .sfh-date.n3 { left: 976px; }
body.page-street-hub .sfh-btn {
  position: absolute;
  top: 968px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 195px;
  height: 45px;
  border-radius: 15px;
  font-family: var(--display);
  font-weight: 400;
  text-decoration: none;
  overflow-wrap: normal;
  white-space: nowrap;
  box-sizing: border-box;
}
body.page-street-hub .sfh-btn.att { background: #fff; color: #682707; font-size: 16px; }
body.page-street-hub .sfh-btn.ven { background: #9C6B23; color: #fff; font-size: 17px; }
body.page-street-hub .sfh-btn.att.n1 { left: 67px; }
body.page-street-hub .sfh-btn.ven.n1 { left: 274px; }
body.page-street-hub .sfh-btn.att.n2 { left: 522px; }
body.page-street-hub .sfh-btn.ven.n2 { left: 728px; }
body.page-street-hub .sfh-btn.att.n3 { left: 973px; }
body.page-street-hub .sfh-btn.ven.n3 { left: 1179px; }
body.page-street-hub .sfh-about {
  position: absolute;
  top: 1065px;
  left: 0;
  right: 0;
  font-size: 60px;
  line-height: 73px;
}
body.page-street-hub .sfh-copy {
  position: absolute;
  top: 1156px;
  left: 370px;
  width: 700px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25.2px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-street-hub br.ph { display: none; }
body.page-street-hub .sfh-video {
  position: absolute;
  left: 279px;
  top: 1275px;
  width: 881px;
  height: 459px;
  object-fit: cover;
  background: #111;
}
body.page-street-hub .sfh-mosaic {
  position: absolute;
  left: 173px;
  top: 1784px;
  width: 1400px;
  height: 400px;
}
body.page-street-hub .sfh-mosaic img {
  position: absolute;
  object-fit: cover;
  display: block;
}
body.page-street-hub .sfh-foot { background: #272827; }
body.page-street-hub .sfh-foot-hero {
  position: relative;
  height: 845px;
  overflow: hidden;
  background: #272827;
}
body.page-street-hub .sfh-foot-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.44;
}
body.page-street-hub .sfh-foot-logo {
  position: absolute;
  top: 46px;
  left: 609px;
  width: 221px;
  height: 114px;
  object-fit: contain;
  z-index: 1;
}
body.page-street-hub .sfh-foot-hero h2 {
  position: absolute;
  top: 174px;
  left: 405px;
  width: 630px;
  font-size: 60px;
  line-height: 68px;
  z-index: 1;
}
body.page-street-hub .sfh-cc {
  position: absolute;
  top: 322px;
  left: 414px;
  width: 611px;
  height: 470px;
  border: 0;
  z-index: 1;
  background: transparent;
}
body.page-street-hub .flat-foot {
  position: relative;
  height: 171px;
  background: #272827;
}
body.page-street-hub .flat-foot img {
  position: absolute;
  left: 138px;
  top: 33px;
  width: 148px;
  height: 94px;
  object-fit: contain;
}
body.page-street-hub .flat-foot .footer-legal {
  position: absolute;
  top: 52px;
  right: 176px;
  width: 160px;
  max-width: none;
  margin: 0;
  text-align: right;
  color: #fff;
  font-size: 10px;
  line-height: 14px;
}
body.page-street-hub .flat-foot .footer-legal p { margin: 0; color: #fff; }
body.page-street-hub .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  text-decoration: underline;
}
body.page-street-hub .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }

@media (min-width: 701px) and (max-width: 1100px) {
  body.page-street-hub main,
body.page-street-hub .sfh-foot,
body.page-street-hub .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: -230px;
  }
  body.page-street-hub .sfh-foot-bg {
    left: 230px;
    width: 980px;
    right: auto;
  }
}

@media (max-width: 430px) {
  
  
  
  
  
  body.page-street-hub .sfh {
    height: 1305px;
    background-size: 100% 1190px;
    background-position: 0 115px;
  }
  body.page-street-hub .sfh-logo { left: 111px; top: 135px; width: 97px; height: 50px; }
  body.page-street-hub .sfh-photo { width: 130px; height: 155px; }
  body.page-street-hub .sfh-photo.n1,
body.page-street-hub .sfh-photo.n2,
body.page-street-hub .sfh-photo.n3 { left: 21px; }
  body.page-street-hub .sfh-photo.n1 { top: 225px; }
  body.page-street-hub .sfh-photo.n2 { top: 403px; }
  body.page-street-hub .sfh-photo.n3 { top: 581px; }
  body.page-street-hub .sfh-name {
    width: 140px;
    text-align: center;
    font-size: 19px;
    line-height: 23px;
  }
  body.page-street-hub .sfh-name.n1,
body.page-street-hub .sfh-name.n2,
body.page-street-hub .sfh-name.n3 { left: 168px; }
  body.page-street-hub .sfh-name.n1 { top: 235px; left: 156px; }
  body.page-street-hub .sfh-name.n2 { top: 415px; font-size: 20px; }
  body.page-street-hub .sfh-name.n3 { top: 598px; font-size: 20px; }
  body.page-street-hub .sfh-date {
    width: 150px;
    font-size: 11px;
    line-height: 16px;
  }
  body.page-street-hub .sfh-date.n1,
body.page-street-hub .sfh-date.n2,
body.page-street-hub .sfh-date.n3 { left: 160px; }
  body.page-street-hub .sfh-date.n1 { top: 263px; left: 151px; }
  body.page-street-hub .sfh-date.n2 { top: 441px; }
  body.page-street-hub .sfh-date.n3 { top: 624px; }
  body.page-street-hub .sfh-btn {
    width: 120px;
    height: 29px;
    min-height: 0;
    border-radius: 10px;
  }
  body.page-street-hub .sfh-btn.att { font-size: 10px; }
  body.page-street-hub .sfh-btn.ven { font-size: 11px; }
  body.page-street-hub .sfh-btn.att.n1,
body.page-street-hub .sfh-btn.ven.n1,
body.page-street-hub .sfh-btn.att.n2,
body.page-street-hub .sfh-btn.ven.n2,
body.page-street-hub .sfh-btn.att.n3,
body.page-street-hub .sfh-btn.ven.n3 { left: 176px; }
  body.page-street-hub .sfh-btn.att.n1 { top: 288px; }
  body.page-street-hub .sfh-btn.ven.n1 { top: 323px; }
  body.page-street-hub .sfh-btn.att.n2 { top: 466px; }
  body.page-street-hub .sfh-btn.ven.n2 { top: 501px; }
  body.page-street-hub .sfh-btn.att.n3 { top: 644px; }
  body.page-street-hub .sfh-btn.ven.n3 { top: 679px; }
  body.page-street-hub .sfh-about {
    top: 984px;
    font-size: 28px;
    line-height: 34px;
  }
  body.page-street-hub .sfh-copy {
    left: 16px;
    top: 1033px;
    width: 288px;
    font-size: 13px;
    line-height: 18px;
  }
  body.page-street-hub br.ph { display: inline; }
  body.page-street-hub br.dk { display: none; }
  body.page-street-hub .sfh-video { left: 20px; top: 1139px; width: 280px; height: 146px; }
  body.page-street-hub .sfh-mosaic {
    left: -2px;
    top: 759px;
    transform: scale(0.528);
    transform-origin: top left;
  }
  body.page-street-hub .sfh-foot-hero { height: 883px; }
  body.page-street-hub .sfh-foot-bg { left: 0; width: 100%; }
  body.page-street-hub .sfh-foot-logo { left: 82px; top: 37px; width: 143px; height: 73px; }
  body.page-street-hub .sfh-foot-hero h2 {
    left: 32px;
    top: 117px;
    width: 256px;
    font-size: 25px;
    line-height: 29px;
  }
  body.page-street-hub .sfh-cc { left: 20px; top: 194px; width: 280px; height: 648px; }
  body.page-street-hub .flat-foot { height: 120px; }
  body.page-street-hub .flat-foot img { left: 29px; top: 22px; width: 120px; height: 76px; }
  body.page-street-hub .flat-foot .footer-legal { top: 27px; right: 16px; width: 150px; }
}

body.page-sfp { background: #272827; overflow-x: hidden; }

body.page-sfp .sfp {
  position: relative;
  height: 1419px;
  background: #272827;
}
body.page-sfp .sfp-bg {
  position: absolute;
  left: 0;
  top: 156px;
  width: 1440px;
  height: 1263px;
  margin: 0;
  display: block;
  z-index: 0;
}
body.page-sfp .sfp-bg img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  display: block;
}
body.page-sfp .sfp-logo,
body.page-sfp h1,
body.page-sfp .sfp-meta,
body.page-sfp .sfp-vendor,
body.page-sfp .sfp-about,
body.page-sfp .sfp-copy {
  position: absolute;
  z-index: 1;
}
body.page-sfp .sfp-logo {
  left: 603px;
  top: 207px;
  width: 233px;
  height: 120px;
  max-width: none;
  object-fit: contain;
}
body.page-sfp h1,
body.page-sfp .sfp-about,
body.page-sfp .sfp-foot-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  color: #fff;
  text-align: center;
}
body.page-sfp h1 {
  top: 369px;
  left: 0;
  width: 1440px;
  font-size: 60px;
  line-height: 73px;
}
body.page-sfp .sfp-meta {
  left: 0;
  width: 1440px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-sfp .sfp-meta.when { top: 460px; }
body.page-sfp .sfp-meta.where { top: 485px; }
body.page-sfp .sfp-meta.hours { top: 512px; }
body.page-sfp .sfp-vendor {
  left: 577px;
  top: 578px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 284px;
  height: 52px;
  min-height: 0;
  border-radius: 15px;
  background: #9C6B23;
  color: #fff;
  font-family: var(--display);
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  box-sizing: border-box;
}
body.page-sfp .sfp-up { display: none; }
body.page-sfp .sfp-about {
  top: 1117px;
  left: 0;
  width: 1440px;
  font-size: 60px;
  line-height: 73px;
}
body.page-sfp .sfp-copy {
  top: 1208px;
  left: 370px;
  width: 700px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25.2px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-sfp br.ph { display: none; }
body.page-sfp .sfp-foot { background: #272827; }
body.page-sfp .sfp-foot-hero {
  position: relative;
  height: 835px;
  overflow: hidden;
  background: #272827;
}
body.page-sfp .sfp-foot-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 0.44;
}
body.page-sfp .sfp-foot-logo {
  position: absolute;
  top: 47px;
  left: 605px;
  width: 228px;
  height: 117px;
  max-width: none;
  object-fit: contain;
  z-index: 1;
}
body.page-sfp .sfp-foot-hero h2 {
  position: absolute;
  top: 174px;
  left: 405px;
  width: 630px;
  font-size: 60px;
  line-height: 68px;
  z-index: 1;
}
body.page-sfp .sfp-cc,
body.page-sft .sfp-cc,
body.page-sfn .sfp-cc {
  position: absolute;
  top: 340px;
  left: 414px;
  width: 611px;
  height: 470px;
  border: 0;
  z-index: 1;
  background: transparent;
}
body.page-sfp .flat-foot {
  position: relative;
  height: 185px;
  background: #272827;
}
body.page-sfp .flat-foot img {
  position: absolute;
  left: 138px;
  top: 33px;
  width: 148px;
  height: 94px;
  max-width: none;
  object-fit: contain;
}
body.page-sfp .flat-foot .footer-legal {
  position: absolute;
  top: 54px;
  right: 162px;
  width: 160px;
  max-width: none;
  margin: 0;
  text-align: right;
  color: #fff;
  font-size: 10px;
  line-height: 14px;
}
body.page-sfp .flat-foot .footer-legal p { margin: 0; color: #fff; }
body.page-sfp .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  text-decoration: underline;
}
body.page-sfp .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }

@media (min-width: 701px) and (max-width: 1100px) {
  body.page-sfp {
    width: 980px;
    overflow-x: hidden;
  }
  body.page-sfp main,
body.page-sfp .sfp-foot,
body.page-sfp .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: -230px;
  }
  body.page-sfp .sfp-bg,
body.page-sfp .sfp-foot-bg {
    left: 230px;
    width: 980px;
    right: auto;
  }
}

@media (max-width: 430px) {
  
  
  
  
  
  body.page-sfp .sfp { height: 959px; }
  body.page-sfp .sfp-bg {
    left: 0;
    top: 115px;
    width: 320px;
    height: 844px;
  }
  body.page-sfp .sfp-logo { left: 111px; top: 135px; width: 97px; height: 50px; }
  body.page-sfp h1 {
    top: 197px;
    width: 320px;
    font-size: 28px;
    line-height: 34px;
  }
  body.page-sfp .sfp-meta {
    width: 320px;
    font-size: 13px;
    line-height: 19px;
  }
  body.page-sfp .sfp-meta.when { top: 246px; }
  body.page-sfp .sfp-meta.where { top: 265px; }
  body.page-sfp .sfp-meta.hours { top: 285px; }
  body.page-sfp .sfp-vendor {
    left: 39px;
    top: 321px;
    width: 241px;
    height: 42px;
    min-height: 0;
    font-size: 16px;
    border-radius: 12px;
  }
  body.page-sfp .sfp-up {
    display: block;
    position: absolute;
    z-index: 3;
    left: 256px;
    top: 616px;
    width: 44px;
    height: 44px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  body.page-sfp .sfp-up svg { display: block; width: 44px; height: 44px; }
  body.page-sfp .sfp-about {
    top: 646px;
    width: 320px;
    font-size: 28px;
    line-height: 34px;
  }
  body.page-sfp .sfp-copy {
    left: 16px;
    top: 695px;
    width: 288px;
    font-size: 13px;
    line-height: 19px;
  }
  body.page-sfp br.ph { display: inline; }
  body.page-sfp br.dk { display: none; }
  body.page-sfp .sfp-foot-hero { height: 869px; }
  body.page-sfp .sfp-foot-bg { left: 0; width: 100%; }
  body.page-sfp .sfp-foot-logo { left: 87px; top: 48px; width: 145px; height: 75px; }
  body.page-sfp .sfp-foot-hero h2 {
    left: 35px;
    top: 140px;
    width: 250px;
    font-size: 24px;
    line-height: 27.5px;
  }
  body.page-sfp .sfp-cc,
  body.page-sft .sfp-cc,
  body.page-sfn .sfp-cc { left: 20px; top: 201px; width: 280px; height: 648px; }
  body.page-sfp .flat-foot { height: 141px; }
  body.page-sfp .flat-foot img { left: 29px; top: 22px; width: 120px; height: 76px; }
  body.page-sfp .flat-foot .footer-legal { top: 36px; right: 16px; width: 150px; }
}

body.page-sft { background: #272827; overflow-x: hidden; }

body.page-sft .sft {
  position: relative;
  height: 1419px;
  background: #272827;
}
body.page-sft .sft-logo,
body.page-sft h1,
body.page-sft .sft-meta,
body.page-sft .sft-vendor,
body.page-sft .sft-about,
body.page-sft .sft-copy {
  position: absolute;
  z-index: 1;
}
body.page-sft .sft-logo {
  left: 603px;
  top: 207px;
  width: 233px;
  height: 120px;
  max-width: none;
  object-fit: contain;
}
body.page-sft h1,
body.page-sft .sft-about,
body.page-sft .sft-foot-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  color: #fff;
  text-align: center;
}
body.page-sft h1 {
  top: 369px;
  left: 0;
  width: 1440px;
  font-size: 60px;
  line-height: 73px;
}
body.page-sft .sft-meta {
  left: 0;
  width: 1440px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 25px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-sft .sft-meta.when { top: 460px; }
body.page-sft .sft-meta.where { top: 485px; }
body.page-sft .sft-meta.hours { top: 510px; }
body.page-sft .sft-vendor {
  left: 577px;
  top: 576px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 284px;
  height: 52px;
  min-height: 0;
  border-radius: 15px;
  background: #9C6B23;
  color: #fff;
  font-family: var(--display);
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  box-sizing: border-box;
}
body.page-sft .sft-up { display: none; }
body.page-sft .sft-about {
  top: 1110px;
  left: 0;
  width: 1440px;
  font-size: 60px;
  line-height: 73px;
}
body.page-sft .sft-copy {
  top: 1205px;
  left: 370px;
  width: 700px;
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 27px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
body.page-sft br.ph { display: none; }
body.page-sft .sft-foot { background: #272827; }
body.page-sft .sft-foot-hero {
  position: relative;
  height: 835px;
  overflow: hidden;
  background: #272827;
}
body.page-sft .sft-foot-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 0.44;
}
body.page-sft .sft-foot-logo {
  position: absolute;
  top: 47px;
  left: 605px;
  width: 228px;
  height: 117px;
  max-width: none;
  object-fit: contain;
  z-index: 1;
}
body.page-sft .sft-foot-hero h2 {
  position: absolute;
  top: 181px;
  left: 405px;
  width: 630px;
  font-size: 60px;
  line-height: 64px;
  z-index: 1;
}
body.page-sft .flat-foot {
  position: relative;
  height: 182px;
  background: #272827;
}
body.page-sft .flat-foot img {
  position: absolute;
  left: 138px;
  top: 33px;
  width: 148px;
  height: 94px;
  max-width: none;
  object-fit: contain;
}
body.page-sft .flat-foot .footer-legal {
  position: absolute;
  top: 57px;
  right: 156px;
  width: 148px;
  max-width: none;
  margin: 0;
  text-align: right;
  color: #fff;
  font-size: 10px;
  line-height: 14px;
}
body.page-sft .flat-foot .footer-legal p { margin: 0; color: #fff; }
body.page-sft .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  text-decoration: underline;
}
body.page-sft .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }

@media (min-width: 701px) and (max-width: 1100px) {
  body.page-sft { width: 980px; overflow-x: hidden; }
  body.page-sft main,
body.page-sft .sft-foot,
body.page-sft .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: -230px;
  }
  body.page-sft .sft-foot-bg {
    left: 230px;
    width: 980px;
    right: auto;
  }
}

@media (max-width: 430px) {
  
  
  
  
  
  body.page-sft .sft { height: 959px; }
  body.page-sft .sft-logo { left: 111px; top: 135px; width: 97px; height: 50px; }
  body.page-sft h1 {
    top: 195px;
    width: 320px;
    font-size: 28px;
    line-height: 34px;
  }
  body.page-sft .sft-meta {
    width: 320px;
    font-size: 13px;
    line-height: 19px;
  }
  body.page-sft .sft-meta.when { top: 246px; }
  body.page-sft .sft-meta.where { top: 265px; }
  body.page-sft .sft-meta.hours { top: 284px; }
  body.page-sft .sft-vendor {
    left: 39px;
    top: 320px;
    width: 241px;
    height: 42px;
    min-height: 0;
    font-size: 16px;
    border-radius: 12px;
  }
  body.page-sft .sft-about {
    top: 643px;
    width: 320px;
    font-size: 28px;
    line-height: 34px;
  }
  body.page-sft .sft-copy {
    left: 20px;
    top: 694px;
    width: 280px;
    font-size: 13px;
    line-height: 19px;
  }
  body.page-sft br.ph { display: inline; }
  body.page-sft br.dk { display: none; }
  body.page-sft .sft-up {
    display: block;
    position: absolute;
    z-index: 3;
    left: 256px;
    top: 616px;
    width: 44px;
    height: 44px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  body.page-sft .sft-up svg { display: block; width: 44px; height: 44px; }
  body.page-sft .sft-foot-hero { height: 869px; }
  body.page-sft .sft-foot-bg { left: 0; width: 100%; }
  body.page-sft .sft-foot-logo { left: 87px; top: 47px; width: 145px; height: 75px; }
  body.page-sft .sft-foot-hero h2 {
    left: 32px;
    top: 142px;
    width: 256px;
    font-size: 24px;
    line-height: 26px;
  }
  body.page-sft .flat-foot { height: 144px; }
  body.page-sft .flat-foot img { left: 20px; top: 20px; width: 120px; height: 76px; }
  body.page-sft .flat-foot .footer-legal { top: 24px; right: 16px; width: 150px; }
}

body.page-sfn { background: #272827; overflow-x: hidden; }

body.page-sfn .sfn { position: relative; height: 1963px; background: #272827; }
body.page-sfn .sfn-plate {
  position: absolute; left: 0; top: 133px; width: 1440px; height: 1330px;
  background: #783A2E; z-index: 0;
}
body.page-sfn .sfn-bg {
  position: absolute; left: 0; top: 133px; width: 1440px; height: 1330px;
  object-fit: cover; object-position: center; opacity: 0.38; z-index: 0;
}
body.page-sfn .sfn-logo,
body.page-sfn h1,
body.page-sfn .sfn-meta,
body.page-sfn .sfn-vendor,
body.page-sfn .sfn-about,
body.page-sfn .sfn-copy,
body.page-sfn .sfn-portraits,
body.page-sfn .sfn-next { position: absolute; z-index: 1; }
body.page-sfn .sfn-logo { left: 603px; top: 184px; width: 233px; height: 120px; object-fit: contain; }
body.page-sfn h1,
body.page-sfn .sfn-about,
body.page-sfn .sfn-foot-hero h2 {
  margin: 0; font-family: var(--display); font-weight: 400; color: #fff; text-align: center;
}
body.page-sfn h1 { top: 344px; left: 0; width: 1440px; font-size: 60px; line-height: 73px; }
body.page-sfn .sfn-meta {
  left: 0; width: 1440px; margin: 0; color: #fff; font-family: var(--sans);
  font-size: 18px; line-height: 25px; text-align: center; text-transform: none;
}
body.page-sfn .sfn-meta.where { top: 435px; }
body.page-sfn .sfn-meta.hours { top: 460px; }
body.page-sfn .sfn-vendor {
  left: 557px; top: 526px; width: 325px; height: 52px; min-height: 0;
  display: flex; align-items: center; justify-content: center;
  background: #9C6B23; color: #fff; border-radius: 15px; font-family: var(--display);
  font-size: 17px; line-height: 24px; text-decoration: none; white-space: nowrap; overflow-wrap: normal;
}
body.page-sfn .sfn-next {
  width: 40px; height: 40px; min-height: 0; padding: 0; border: 0; border-radius: 50%;
  background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer;
}
body.page-sfn .sfn-next svg { width: 23px; height: 39px; transform: scale(0.42735); display: block; }
body.page-sfn .sfn-about { top: 1059px; left: 0; width: 1440px; font-size: 60px; line-height: 73px; }
body.page-sfn .sfn-copy {
  top: 1155px; left: 328px; width: 784px; color: #fff; font-family: var(--sans);
  font-size: 17px; line-height: 1.4; text-align: center;
}
body.page-sfn .sfn-copy p { margin: 0; }
body.page-sfn .sfn-portraits { left: 119px; top: 1481px; width: 1193px; height: 464px; overflow: hidden; }
body.page-sfn .sfn-portraits img { position: absolute; max-width: none; object-fit: cover; }
body.page-sfn .sfn-next.portraits { left: 1272px; top: 1693px; }
body.page-sfn .sfn-up { display: none; }
body.page-sfn .sfn-foot { background: #272827; }
body.page-sfn .sfn-foot-hero { position: relative; height: 840px; overflow: hidden; }
body.page-sfn .sfn-foot-bg {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.44;
}
body.page-sfn .sfn-foot-logo {
  position: absolute; left: 605px; top: 47px; width: 228px; height: 117px; z-index: 1;
}
body.page-sfn .sfn-foot-hero h2 {
  position: absolute; left: 405px; top: 181px; width: 630px; z-index: 1;
  font-size: 60px; line-height: 64px;
}
body.page-sfn .flat-foot { position: relative; height: 182px; background: #272827; }
body.page-sfn .flat-foot img { position: absolute; left: 138px; top: 33px; width: 148px; height: 94px; }
body.page-sfn .flat-foot .footer-legal {
  position: absolute; top: 57px; right: 156px; width: 148px; margin: 0;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-sfn .flat-foot .footer-legal p { margin: 0; color: #fff; }
body.page-sfn .flat-foot .footer-legal a { color: #fff; }
body.page-sfn .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-sfn { width: 980px; overflow-x: hidden; }
  body.page-sfn main,
body.page-sfn .sfn-foot,
body.page-sfn .flat-foot { width: 1440px; margin-left: -230px; }
  body.page-sfn .sfn-plate,
body.page-sfn .sfn-bg { left: 230px; width: 980px; }
  body.page-sfn .sfn-foot-bg { left: 230px; width: 980px; }
}
@media (max-width: 430px) {
  
  
  
  
  body.page-sfn .sfn { height: 1178px; }
  body.page-sfn .sfn-plate,
body.page-sfn .sfn-bg { left: 0; top: 115px; width: 320px; height: 816px; }
  body.page-sfn .sfn-logo { left: 111px; top: 135px; width: 97px; height: 50px; }
  body.page-sfn h1 { top: 195px; left: 20px; width: 280px; font-size: 23px; line-height: 34px; }
  body.page-sfn .sfn-meta { width: 320px; font-size: 13px; line-height: 19px; }
  body.page-sfn .sfn-meta.where { top: 239px; }
  body.page-sfn .sfn-meta.hours { top: 258px; }
  body.page-sfn .sfn-vendor {
    left: 28px; top: 300px; width: 264px; height: 42px; font-size: 15px; border-radius: 12px; min-height: 0;
  }
  body.page-sfn .sfn-about { top: 582px; left: 20px; width: 280px; font-size: 28px; line-height: 39px; }
  body.page-sfn .sfn-copy { left: 20px; top: 633px; width: 280px; font-size: 11px; line-height: 1.4; }
  body.page-sfn .sfn-portraits {
    left: 8px; top: 951px; width: 348px; height: 205px; overflow: hidden; transform: none;
  }
  body.page-sfn .sfn-portraits img { width: 164px !important; height: 205px !important; }
  body.page-sfn .sfn-portraits img:nth-child(1) { left: 0 !important; }
  body.page-sfn .sfn-portraits img:nth-child(2) { left: 174px !important; }
  body.page-sfn .sfn-portraits img:nth-child(n + 3) { left: 400px !important; }
  body.page-sfn .sfn-next.portraits { display: none; }
  body.page-sfn .sfn-up { display: none; }
  body.page-sfn .sfn-foot-hero { height: 1011px; }
  body.page-sfn .sfn-foot-bg { left: 0; width: 100%; }
  body.page-sfn .sfn-foot-logo { left: 91px; top: 200px; width: 137px; height: 70px; }
  body.page-sfn .sfn-foot-hero h2 { left: 20px; top: 286px; width: 280px; font-size: 23px; line-height: 25px; }
  body.page-sfn .flat-foot { height: 143px; }
  body.page-sfn .flat-foot img { left: 32px; top: 22px; width: 120px; height: 76px; }
  body.page-sfn .flat-foot .footer-legal { top: 24px; right: 16px; width: 140px; }
}

.west-foot { background: #272827; position: relative; }
.west-foot-hero { position: relative; height: 840px; overflow: hidden; }
.west-foot-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.44; }
.west-foot-logo { position: absolute; left: 605px; top: 47px; width: 228px; height: 117px; z-index: 1; }
.west-foot-hero h2 {
  position: absolute; left: 405px; top: 181px; width: 630px; z-index: 1; margin: 0;
  font-family: var(--display); font-weight: 400; color: #fff; text-align: center;
  font-size: 60px; line-height: 64px;
}
.west-foot-bar { position: relative; height: 182px; background: #272827; }
.west-foot-bar img { position: absolute; left: 138px; top: 33px; width: 148px; height: 94px; }
.west-foot-bar .footer-legal {
  position: absolute; top: 57px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
.west-foot-bar .footer-legal p { margin: 0; color: #fff; }
.west-foot-bar .footer-legal a { color: #fff; }
.west-foot-bar .footer-legal p.legal-rest { margin-top: 12px; }
.live-board { display: block; width: 1440px; max-width: none; border: 0; background: #fff; }
body.page-results { background: #272827; overflow-x: hidden; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-editorial,
body.page-results { width: 980px; overflow-x: hidden; }
  body.page-editorial main,
body.page-editorial .west-foot,
body.page-results main,
body.page-results .west-foot {
    width: 1440px; margin-left: -230px;
  }
  .west-foot-bg { left: 230px; width: 980px; }
}
@media (max-width: 430px) {
  .west-foot-hero { height: 869px; }
  .west-foot-bg { left: 0; width: 100%; }
  .west-foot-logo { left: 87px; top: 47px; width: 145px; height: 75px; }
  .west-foot-hero h2 { left: 32px; top: 142px; width: 256px; font-size: 24px; line-height: 26px; }
  .west-foot-bar { height: 144px; }
  .west-foot-bar img { left: 20px; top: 20px; width: 120px; height: 76px; }
  .west-foot-bar .footer-legal { top: 24px; right: 16px; width: 150px; }
  .live-board { width: 320px; }
}

body.page-suite { background: #000; overflow-x: hidden; }

body.page-suite .su { position: relative; height: 4039px; background: #000; }
body.page-suite .su-bg {
  position: absolute; left: 0; top: 156px; width: 1440px; height: 621px; object-fit: cover; object-position: center;
}
body.page-suite .su-title,
body.page-suite .su-sub,
body.page-suite .su-h {
  position: absolute; margin: 0; font-family: var(--display); font-weight: 400; color: #fff;
}
body.page-suite .su-title { left: 209px; top: 214px; width: 570px; font-size: 65px; line-height: 91px; }
body.page-suite .su-sub { left: 209px; top: 304px; width: 570px; font-size: 25px; line-height: 35px; }
body.page-suite .su-blurb,
body.page-suite .su-lead,
body.page-suite .su-note,
body.page-suite .su-points,
body.page-suite .su-when {
  position: absolute; margin: 0; color: #fff; font-family: var(--sans); text-transform: none;
}
body.page-suite .su-blurb { left: 209px; top: 377px; width: 536px; font-size: 16px; line-height: 23px; }
body.page-suite .su-when { left: 209px; font-size: 16px; line-height: 23px; white-space: nowrap; }
body.page-suite .su-when.phx { top: 459px; }
body.page-suite .su-when.tpa { top: 502px; }
body.page-suite .su-when {
  display: grid;
  grid-template-columns: 173px 22px 160px 22px 1fr;
  width: 556px;
  height: 25px;
  font-size: 18px;
  line-height: 25px;
}
body.page-suite .su-when .rest { display: contents; }
body.page-suite .su-when .d,
body.page-suite .su-when .v,
body.page-suite .su-when .bar { color: #e09c32; margin: 0; }
body.page-suite .su-req,
body.page-suite .su-btn,
body.page-suite .su-watch {
  position: absolute; display: flex; align-items: center; justify-content: center;
  background: #9F6A18; color: #fff; text-decoration: none; border: 0; border-radius: 0;
  font-family: var(--display); font-weight: 400; cursor: pointer; min-height: 0; padding: 0;
}
body.page-suite .su-req { left: 209px; top: 566px; width: 277px; height: 40px; font-size: 16px; }
body.page-suite .su-video { position: absolute; left: 790px; top: 214px; width: 525px; height: 430px; }
body.page-suite .su-video img { width: 525px; height: 390px; object-fit: cover; object-position: center; display: block; }
body.page-suite .su-play {
  position: absolute; left: 238px; top: 170px; width: 50px; height: 50px; min-height: 0; padding: 0;
  border: 0; border-radius: 50%; background: #fff; cursor: pointer;
}
body.page-suite .su-play::after {
  content: ""; position: absolute; left: 19px; top: 15px;
  border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #222;
}
body.page-suite .su-watch { left: 0; top: 390px; width: 525px; height: 40px; font-size: 20px; }
body.page-suite .su-photo { position: absolute; object-fit: cover; }
body.page-suite .su-photo.tail { left: 239px; top: 834px; width: 328px; height: 328px; box-shadow: 0 0 0 4px #e09c32; }
body.page-suite .su-h.tail { left: 767px; top: 826px; width: 570px; font-size: 52px; line-height: 60px; }
body.page-suite .su-rule {
  position: absolute; margin: 0; text-align: center; color: #e09c32; font-size: 14px; line-height: 18px;
}
body.page-suite .su-rule.tail { left: 801px; top: 910px; width: 420px; }
body.page-suite .su-rule::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: #e09c32;
}
body.page-suite .su-rule span { position: relative; background: #000; padding: 0 8px; }
body.page-suite .su-points p { margin: 0 0 14px; padding-left: 28px; position: relative; font-size: 16px; line-height: 23px; }
body.page-suite .su-points p::before { content: "★"; position: absolute; left: 0; color: #e09c32; }
body.page-suite .su-points.tail { left: 801px; top: 964px; width: 536px; }
body.page-suite .su-btn.single { left: 769px; top: 1124px; width: 222px; height: 40px; font-size: 14px; }
body.page-suite .su-btn.group { left: 1003px; top: 1124px; width: 248px; height: 40px; font-size: 14px; }
body.page-suite .su-photo.floor { left: 92px; top: 1268px; width: 622px; height: 584px; }
body.page-suite .su-h.floor { left: 767px; top: 1270px; width: 570px; font-size: 52px; line-height: 60px; }
body.page-suite .su-lead.floor { left: 769px; top: 1402px; width: 536px; font-size: 16px; line-height: 23px; }
body.page-suite .su-note.floor { left: 767px; top: 1518px; width: 368px; font-size: 16px; line-height: 23px; }
body.page-suite .su-points.floor { left: 806px; top: 1556px; width: 536px; }
body.page-suite .su-h.dia { left: 180px; top: 1997px; width: 570px; font-size: 52px; line-height: 60px; }
body.page-suite .su-lead.dia { left: 180px; top: 2120px; width: 486px; font-size: 16px; line-height: 23px; }
body.page-suite .su-note.dia { left: 180px; top: 2208px; width: 368px; font-size: 16px; line-height: 23px; }
body.page-suite .su-points.dia { left: 217px; top: 2251px; width: 536px; }
body.page-suite .su-photo.dia { left: 701px; top: 1948px; width: 629px; height: 485px; object-fit: cover; }
body.page-suite .su-inquiry { position: absolute; left: 282px; top: 2565px; width: 875px; color: #fff; z-index: 2; }
body.page-suite .su-inquiry h2 {
  margin: 0; font-family: var(--display); font-weight: 400; font-size: 48px; line-height: 56px;
  text-align: center; color: #fff;
}
body.page-suite .su-inq-lead,
body.page-suite .su-inq-mail { margin: 18px 0 0; text-align: center; font-family: var(--sans); font-size: 16px; line-height: 22px; color: #fff; }
body.page-suite .su-inq-mail a { color: #fff; }
body.page-suite .su-inquiry .form { margin-top: 28px; max-width: none; }
body.page-suite .su-inquiry .form.two {
  display: block;
  width: 617px;
  margin-left: 103px;
  margin-right: 0;
  box-sizing: content-box;
  border: 2px solid rgba(224, 156, 50, 0.19);
  padding: 24px;
  gap: 0;
}
body.page-suite .su-inquiry .su-field { margin: 0 0 24px; }
body.page-suite .su-inquiry .su-field > label,
body.page-suite .su-inquiry legend {
  display: block;
  width: 100%;
  float: none;
  margin: 0 0 8px;
  padding: 0;
  color: #fff;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0;
  text-transform: none;
}
body.page-suite .su-inquiry .su-field > input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  height: 38px;
  min-height: 0;
  margin: 0;
  padding: 8px 12px 8px 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #e09c32;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
}
body.page-suite .su-inquiry .vip-phone {
  display: flex;
  align-items: center;
  width: 100%;
  height: 38px;
  min-height: 0;
  margin: 0;
  padding: 0 12px 0 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #e09c32;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
}
body.page-suite .su-inquiry .country-selector {
  display: inline-flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  height: 16px;
  margin: 0 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}
body.page-suite .su-inquiry .country-selector img {
  display: block;
  width: 22px;
  height: 14px;
  object-fit: cover;
}
body.page-suite .su-inquiry .country-selector svg { display: block; flex: 0 0 16px; }
body.page-suite .su-inquiry .vip-phone input {
  display: block;
  flex: 1;
  width: auto;
  min-width: 0;
  height: 36px;
  min-height: 0;
  margin: 0;
  padding: 8px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
}
body.page-suite .su-inquiry fieldset.su-checks {
  border: 0;
  margin: 0 0 24px;
  padding: 0;
  min-inline-size: 0;
}
body.page-suite .su-inquiry .checks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0;
}
body.page-suite .su-inquiry .check,
body.page-suite .su-inquiry .su-sms {
  position: relative;
  display: block;
  min-height: 44px;
  margin: 0;
}
body.page-suite .su-inquiry .su-sms { margin: 0 0 24px; }
body.page-suite .su-inquiry .check label,
body.page-suite .su-inquiry .su-sms label {
  display: block;
  position: relative;
  min-height: 44px;
  margin: 0;
  padding: 10px 0 10px 30px;
  color: #fff;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  cursor: pointer;
}
body.page-suite .su-inquiry .su-sms label {
  padding-top: 0;
  padding-bottom: 0;
}
body.page-suite .su-inquiry .su-box {
  position: absolute;
  left: 0;
  top: 50%;
  display: grid;
  place-content: center;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border: 2px solid #e09c32;
  background: transparent;
  box-sizing: border-box;
  pointer-events: none;
}
body.page-suite .su-inquiry .su-box::before {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid #e09c32;
  border-bottom: 2px solid #e09c32;
  transform: rotate(-45deg) translateY(-1px) scale(0);
}
body.page-suite .su-inquiry .form input[type="checkbox"]:checked + label .su-box::before {
  transform: rotate(-45deg) translateY(-1px) scale(1);
}
body.page-suite .su-inquiry .form input[type="checkbox"]:focus-visible + label .su-box {
  outline: 2px solid #d8a14f;
  outline-offset: 3px;
}
body.page-suite .su-inquiry .form input[type="checkbox"] {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  min-height: 0;
  margin: -22px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  cursor: pointer;
}
body.page-suite .su-inquiry .su-submit { margin: 0; }
body.page-suite .su-inquiry .form-msg {
  height: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
body.page-suite .su-inquiry .form-msg:not(:empty) {
  height: auto;
  min-height: 1.4em;
  margin-top: 10px;
  overflow: visible;
}
body.page-suite .su-inquiry .form button[type="submit"] {
  border: 0;
  border-radius: 100px;
  width: 190px;
  height: 46px;
  min-width: 0;
  min-height: 46px;
  padding: 11px 10px;
  background: #9F6A18;
  box-shadow: none;
  color: #fff;
  font-family: var(--display);
  font-size: 20px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0;
  text-transform: none;
}
body.page-suite .su-inquiry .form button[type="submit"]:hover {
  background: #8A5814;
  color: #fff;
}
body.page-suite .flat-foot { position: relative; height: 188px; background: #783A2E; }
body.page-suite .flat-foot .logo img { position: absolute; left: 200px; top: 29px; width: 154px; height: 98px; }
body.page-suite .flat-foot .footer-legal {
  position: absolute; top: 58px; right: 169px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-suite .flat-foot .footer-legal p { margin: 0; color: #fff; }
body.page-suite .flat-foot .footer-legal a { color: #fff; }
body.page-suite .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-suite { width: 980px; overflow-x: hidden; }
  body.page-suite main,
body.page-suite .flat-foot { width: 1440px; margin-left: -230px; }
  body.page-suite .su-bg { left: 230px; width: 980px; }
}
@media (max-width: 430px) {
  
  
  
  
  body.page-suite .su { height: 4705px; }
  body.page-suite .su-bg { top: 115px; left: 0; width: 320px; height: 609px; }
  body.page-suite .su-title { left: 20px; top: 135px; width: 280px; font-size: 34px; line-height: 48px; }
  body.page-suite .su-sub { left: 20px; top: 196px; width: 280px; font-size: 14px; line-height: 20px; }
  body.page-suite .su-blurb { left: 20px; top: 226px; width: 280px; font-size: 13px; line-height: 16.5px; }
  body.page-suite .su-when { left: 20px; width: 280px; height: auto; font-size: 13px; line-height: 18px; white-space: normal; display: block; grid-template-columns: none; }
  body.page-suite .su-when .d,
body.page-suite .su-when .rest { display: block; }
  body.page-suite .su-inquiry .form.two { width: auto; margin-left: 0; }
  body.page-suite .su-when .bar.desk { display: none; }
  body.page-suite .su-when .rest { white-space: nowrap; }
  body.page-suite .su-when .rest .bar { font-size: 0; padding: 0; white-space: nowrap; }
  body.page-suite .su-when .rest .bar::before { content: " | "; font-size: 13px; color: #e09c32; white-space: pre; }
  body.page-suite .su-when.phx { top: 302px; }
  body.page-suite .su-when.tpa { top: 375px; }
  body.page-suite .su-req { left: 20px; top: 433px; width: 239px; height: 42px; font-size: 15px; }
  body.page-suite .su-video { left: 10px; top: 500px; width: 299px; height: 220px; }
  body.page-suite .su-video img { width: 299px; height: 180px; }
  body.page-suite .su-play { left: 124px; top: 75px; width: 30px; height: 30px; }
  body.page-suite .su-play::after { left: 11px; top: 8px; border-width: 7px 0 7px 11px; }
  body.page-suite .su-watch { top: 180px; width: 299px; height: 36px; font-size: 16px; }
  body.page-suite .su-photo.tail { left: 44px; top: 759px; width: 228px; height: 228px; }
  body.page-suite .su-h.tail { left: 19px; top: 1011px; width: 280px; font-size: 28px; line-height: 34px; }
  body.page-suite .su-rule.tail { left: 40px; top: 1060px; width: 240px; }
  body.page-suite .su-points.tail { left: 20px; top: 1084px; width: 280px; }
  body.page-suite .su-points.tail p { margin-bottom: 12px; }
  body.page-suite .su-btn.single { left: 58px; top: 1272px; width: 200px; height: 36px; }
  body.page-suite .su-btn.group { left: 59px; top: 1317px; width: 200px; height: 36px; }
  body.page-suite .su-photo.floor { left: 14px; top: 1428px; width: 289px; height: 221px; }
  body.page-suite .su-h.floor { left: 20px; top: 1664px; width: 280px; font-size: 28px; line-height: 34px; }
  body.page-suite .su-lead.floor { left: 20px; top: 1737px; width: 280px; font-size: 13px; line-height: 18px; }
  body.page-suite .su-note.floor { left: 20px; top: 1859px; width: 280px; font-size: 13px; }
  body.page-suite .su-points.floor { left: 20px; top: 1892px; width: 280px; }
  body.page-suite .su-points.floor p { margin: 0 0 12px; font-size: 13px; line-height: 18px; }
  body.page-suite .su-h.dia { left: 20px; top: 2445px; width: 280px; font-size: 28px; line-height: 34px; }
  body.page-suite .su-lead.dia { left: 20px; top: 2526px; width: 280px; font-size: 13px; line-height: 18px; }
  body.page-suite .su-note.dia { left: 22px; top: 2606px; width: 280px; font-size: 13px; }
  body.page-suite .su-points.dia { left: 24px; top: 2636px; width: 280px; }
  body.page-suite .su-photo.dia { left: 20px; top: 2218px; width: 285px; height: 201px; z-index: 1; }
  body.page-suite .su-inquiry { left: 20px; top: 2869px; width: 280px; }
  body.page-suite .su-inquiry h2 { font-size: 28px; line-height: 34px; text-align: left; }
  body.page-suite .su-inq-lead,
body.page-suite .su-inq-mail { text-align: left; font-size: 13px; }
  body.page-suite .su-inquiry .form { grid-template-columns: 1fr; }
  body.page-suite .flat-foot { height: 116px; }
  body.page-suite .flat-foot .logo img { left: 10px; top: 10px; width: 130px; height: 83px; }
  body.page-suite .flat-foot .footer-legal { top: 16px; right: 10px; width: 150px; }
}
body.page-suite .su-inquiry .req { color: #fff; }
@media (min-width: 431px) {
  body.page-suite .su-br-desk::before { content: "\A"; white-space: pre; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-suite .su-br-desk::before { content: none; }
  body.page-suite .su-inquiry .form.two { margin-left: 0; }
  body.page-suite .flat-foot .logo img { left: 246px; }
}
@media (max-width: 430px) {
  body.page-suite .su-br-phone::before { content: "\A"; white-space: pre; }
  body.page-suite .su-blurb { letter-spacing: -0.2px; }
  body.page-suite .su-points.tail p { font-size: 15px; line-height: 20px; letter-spacing: -0.2px; }
  body.page-suite .su-inquiry .form button[type="submit"] { width: 100%; }
}
/* Pull the absolutely positioned suite layers up by the empty band
   under the Ride banner (156px from 431px, 115px on phones) and the
   section height above is shorter by the same amount. */
body.page-suite .su > * { margin-top: -156px; }
@media (max-width: 430px) {
  body.page-suite .su > * { margin-top: -115px; }
}
body.page-faq .flat-foot { position: relative; height: 188px; background: #783A2E; }
body.page-faq .flat-foot .logo img { position: absolute; left: 200px; top: 20px; width: 154px; height: 98px; }
body.page-faq .flat-foot .footer-legal {
  position: absolute; top: 48px; right: 169px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-faq .flat-foot .footer-legal p,
body.page-faq .flat-foot .footer-legal a { margin: 0; color: #fff; }
body.page-faq .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
body.page-faq .faq summary { font-size: 30px; }
@media (max-width: 430px) {
  body.page-faq .faq details { min-height: 0; }
  body.page-faq .faq summary {
    min-height: 0; padding: 28px 28px 28px 20px; font-size: 20px; line-height: 28px;
  }
  body.page-faq .faq summary span { display: inline-block; max-width: 229px; }
  body.page-faq .faq summary span.faq-one { max-width: none; white-space: nowrap; }
  
  body.page-faq .flat-foot { height: 116px; }
  body.page-faq .flat-foot .logo img { left: 10px; top: 10px; width: 130px; height: 83px; }
  body.page-faq .flat-foot .footer-legal { top: 16px; right: 10px; width: 150px; }
  body.page-faq .faq-page { padding-bottom: 110px; }
}
body.page-contact { background: #272827; overflow-x: hidden; }

body.page-contact .ct { position: relative; height: 1422px; background: #fff; }
body.page-contact .ct-hero { position: absolute; left: 0; top: 0; width: 100%; height: 434px; object-fit: cover; object-position: center center; }
body.page-contact .ct h1 {
  position: absolute; left: 0; right: 0; top: 174px; margin-inline: auto; width: max-content; max-width: calc(100% - 40px);
  text-align: center;
  font-family: var(--display); font-weight: 400; font-size: 60px; line-height: 84px; color: #fff;
}
body.page-contact .ct-card { position: absolute; color: #272827; }
body.page-contact .ct-card h2 { margin: 0 0 10px; font-family: var(--display); font-weight: 400; font-size: 20px; line-height: 28px; color: #272827; text-transform: none; }
body.page-contact .ct-card p { margin: 0; font-family: var(--sans); font-size: 16px; line-height: 22.4px; color: #272827; }
body.page-contact .ct-card a { color: var(--link-on-light); text-decoration: underline; overflow-wrap: normal; word-break: normal; }
body.page-contact .ct-card.vendor p a { color: var(--gold); }
body.page-contact .ct-card.general { left: calc((100% - 1440px) / 2 + 230px); top: 494px; width: 400px; }
body.page-contact .ct-card.vendor { left: calc((100% - 1440px) / 2 + 230px); top: 604px; width: 520px; }
body.page-contact .ct-card.press { left: calc((100% - 1440px) / 2 + 230px); top: 764px; width: 400px; }
body.page-contact .ct-card.partners { left: calc((100% - 1440px) / 2 + 781px); top: 494px; width: 423px; }
body.page-contact .ct-card.influencer { left: calc((100% - 1440px) / 2 + 781px); top: 644px; width: 430px; }
body.page-contact .ct-card a.ct-reg {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 13px;
  width: 208px; height: 37px; background: #9C6B23; color: #fff; text-decoration: none;
  font-family: var(--display); font-size: 17px; line-height: 24px; min-height: 0; border-radius: 15px;
}
body.page-contact .ct-quote { position: absolute; left: 0; top: 936px; width: 100%; height: 484px; }
body.page-contact .ct-quote img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
body.page-contact .ct-quote .q,
body.page-contact .ct-quote .by {
  position: absolute; left: 0; right: 0; width: min(806px, calc(100% - 40px)); margin-inline: auto; text-align: center; color: #fff; font-family: var(--sans);
}
body.page-contact .ct-quote .q { top: 178px; font-family: var(--display); font-size: 40px; line-height: 56px; color: #fff; }
body.page-contact .ct-quote .by { top: 296px; font-size: 16px; line-height: 22.4px; color: #fff; text-align: right; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-contact { width: auto; overflow-x: hidden; }
  body.page-contact main { width: auto; margin-left: 0; }
}
@media (max-width: 430px) {
  
  
  
  
  body.page-contact .ct { height: 1178px; }
  body.page-contact .ct-hero { left: 0; top: 115px; width: 100%; height: 198px; }
  body.page-contact .ct h1 { left: 0; right: 0; top: 142px; width: min(280px, calc(100% - 40px)); max-width: calc(100% - 40px); margin-inline: auto; text-align: center; font-size: 33px; line-height: 46.2px; }
  body.page-contact .ct-card,
body.page-contact .ct-card.general,
body.page-contact .ct-card.partners,
body.page-contact .ct-card.press,
body.page-contact .ct-card.vendor,
body.page-contact .ct-card.influencer { left: 0; right: 0; width: min(280px, calc(100% - 40px)); margin-inline: auto; }
  body.page-contact .ct-card.general { top: 333px; }
  body.page-contact .ct-card.partners { top: 414px; }
  body.page-contact .ct-card.press { top: 534px; }
  body.page-contact .ct-card.vendor { top: 654px; }
  body.page-contact .ct-card.influencer { top: 795px; }
  body.page-contact .ct-card h2 { font-family: var(--display); font-size: 19px; line-height: 26.6px; margin-bottom: 10px; }
  body.page-contact .ct-card.partners h2 { font-size: 17px; line-height: 23.8px; }
  body.page-contact .ct-card.press h2 { font-size: 18px; line-height: 25.2px; }
  body.page-contact .ct-card p { font-size: 14px; line-height: 19.6px; }
  body.page-contact .ct-card.general p,
body.page-contact .ct-card.influencer p { font-size: 16px; line-height: 22.4px; }
  body.page-contact .ct-card a.ct-reg { width: 203px; height: 35px; margin-top: 10px; font-size: 14px; border-radius: 15px; }
  body.page-contact .ct-quote { left: 0; top: 923px; width: 100%; height: 255px; }
  body.page-contact .ct-quote .q { left: 0; right: 0; width: min(280px, calc(100% - 40px)); margin-inline: auto; top: 78px; font-size: 20px; line-height: 28px; text-align: center; }
  body.page-contact .ct-quote .by { left: 0; right: 0; width: min(280px, calc(100% - 40px)); margin-inline: auto; top: 136px; font-size: 11px; line-height: 15.4px; text-align: center; }
}
@media (min-width: 431px) {
  body.page-subscribe .sub-below { display: none; }
}
@media (min-width: 431px) and (max-width: 999px) {
  body.page-contact .ct { height: auto; }
  body.page-contact .ct-hero { position: relative; top: 0; left: 0; width: 100%; height: 320px; }
  body.page-contact .ct h1 {
    top: 90px; left: 0; right: 0; width: max-content; max-width: calc(100% - 40px);
    margin-inline: auto; text-align: center; font-size: clamp(33px, 6vw, 60px); line-height: 1.15;
  }
  body.page-contact .ct-card,
  body.page-contact .ct-card.general,
  body.page-contact .ct-card.partners,
  body.page-contact .ct-card.press,
  body.page-contact .ct-card.vendor,
  body.page-contact .ct-card.influencer {
    position: relative; left: auto; right: auto; top: auto;
    width: min(520px, calc(100% - 40px));
    margin: 22px auto 0;
  }
  body.page-contact .ct-quote { position: relative; left: 0; top: auto; width: 100%; height: 280px; margin-top: 28px; }
  body.page-contact .ct-quote .q { top: 70px; font-size: clamp(20px, 4vw, 40px); line-height: 1.3; }
  body.page-contact .ct-quote .by { top: auto; bottom: 36px; text-align: center; }
}
body.page-subscribe { background: #272827; overflow-x: hidden; }

body.page-subscribe .sub { position: relative; height: 1348px; }
body.page-subscribe .sub-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
body.page-subscribe .sub-mark {
  position: absolute; left: 0; right: 0; top: 234px; width: min(600px, calc(100% - 40px)); height: 161px;
  margin-inline: auto; object-fit: contain;
}
body.page-subscribe .sub h1 {
  position: absolute; left: 0; right: 0; top: 439px; width: min(980px, calc(100% - 40px)); margin-inline: auto; text-align: center;
  font-family: var(--display); font-weight: 400; font-size: 80px; line-height: 96px; color: #fff;
}
body.page-subscribe .sub-card {
  position: absolute; left: 0; right: 0; top: 610px; width: min(795px, calc(100% - 40px)); margin-inline: auto;
}
body.page-subscribe .sub-card .signup-box {
  width: 100%; margin: 0; border-radius: 0; box-shadow: none; padding: 22px 40px 28px;
}
body.page-subscribe .sub-card .signup-box h2 {
  font-family: Arial, Helvetica, sans-serif; font-size: 28px; font-weight: 700; color: #323232; margin: 0 0 16px;
}
body.page-subscribe .sub-card .signup-disclaimer,
body.page-subscribe .sub-card .signup-disclaimer a { color: #323232; font-size: 11px; line-height: 15px; }
body.page-subscribe .sub .social {
  position: absolute; left: 0; right: 0; top: 1270px; width: min(200px, 100%); margin-inline: auto;
  display: flex; justify-content: center; gap: 5px;
}
body.page-subscribe .sub .social img { width: 25px; height: 25px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-subscribe { width: auto; overflow-x: hidden; }
  body.page-subscribe main { width: auto; margin-left: 0; }
}
@media (max-width: 430px) {
  
  
  
  
  body.page-subscribe .sub { height: 1180px; }
  body.page-subscribe .sub-bg { top: 0; left: 0; width: 100%; height: 100%; }
  body.page-subscribe .sub-mark { left: 0; right: 0; top: 135px; width: min(280px, calc(100% - 40px)); height: 75px; margin-inline: auto; }
  body.page-subscribe .sub h1 { left: 0; right: 0; top: 220px; width: min(280px, calc(100% - 40px)); margin-inline: auto; font-size: 35px; line-height: 42px; }
  body.page-subscribe .sub-card { left: 0; right: 0; top: 275px; width: min(280px, calc(100% - 40px)); margin-inline: auto; }
  body.page-subscribe .sub-card .signup-box { padding: 18px 12px 16px; }
  body.page-subscribe .sub-card .signup-box h2 { font-size: 28px; line-height: 42px; margin: 0 0 18px; }
  body.page-subscribe .sub-card .signup-submit { font-size: 16px; height: 50px; min-height: 50px; }
  body.page-subscribe .sub .social { top: 1120px; left: 0; right: 0; width: min(200px, 100%); margin-inline: auto; }
  body.page-subscribe .sub .social img { width: 23px; height: 23px; }
}
body.page-subscribe .sub-below {
  background: #fff;
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
  padding: 24px;
}
body.page-subscribe .sub-below .signup-box {
  width: min(795px, 100%); margin-inline: auto; padding: 0; border-radius: 0; box-shadow: none; background: transparent;
}
body.page-subscribe .sub-below h2 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px; line-height: 42px; font-weight: 700; color: #323232; margin: 0 0 12px;
}
body.page-subscribe .sub-below .signup-form { gap: 0; }
body.page-subscribe .sub-below .signup-email {
  font-size: 16px; line-height: 16px; color: #323232; font-weight: 700; gap: 12px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.page-subscribe .sub-below .signup-email input {
  height: 46px; min-height: 46px; border: 1px solid #b0b6bb; border-radius: 3px;
  padding: 10px 15px; font-size: 14px; box-sizing: border-box;
}
body.page-subscribe .sub-below .signup-lists { gap: 0; margin: 24px 0 12px; }
body.page-subscribe .sub-below .signup-lists legend {
  font-size: 16px; line-height: 16px; color: #323232; font-weight: 700; margin: 0 0 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.page-subscribe .sub-below .signup-lists label {
  font-size: 16px; line-height: 24px; font-weight: 300; color: #323232; margin: 0 0 6px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.page-subscribe .sub-below .signup-disclaimer,
body.page-subscribe .sub-below .signup-disclaimer a {
  margin: 0 0 24px; font-size: 11px; line-height: 16px; color: #323232;
  font-family: Arial, Helvetica, sans-serif;
}
body.page-subscribe .sub-below .form-msg { min-height: 0; height: 0; margin: 0; overflow: hidden; }
body.page-subscribe .sub-below .signup-submit {
  position: relative; z-index: 2;
  margin-top: 0; height: 50px; min-height: 50px; border-radius: 3px;
  background: #793A2F; font-size: 16px; border: 1px solid #793A2F;
}
@media (min-width: 1101px) {
  body.page-subscribe .sub-below .signup-submit { margin-top: 6px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-subscribe .sub-below .signup-submit { margin-top: 2px; }
}
body.page-subscribe .sub-below { position: relative; z-index: 2; padding-bottom: 45px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-subscribe .sub-below { width: 100%; margin-inline: auto; }
}
@media (max-width: 430px) {
  body.page-subscribe .sub-below { width: 100%; margin-inline: 0; padding-left: 20px; padding-right: 20px; }
  body.page-subscribe .sub-below .signup-disclaimer,
body.page-subscribe .sub-below .signup-disclaimer a { font-size: 11px; line-height: 15px; }
  body.page-subscribe .sub-below .signup-disclaimer { margin-bottom: 8px; }
}
body.page-legal { background: #272827; overflow-x: hidden; }

body.page-legal .section { padding: 0; }
body.page-legal .prose {
  max-width: none; width: 1135px; margin: 0; box-sizing: border-box;
  padding: 27px 0 24px 258px;
}
body.page-legal.page-privacy .prose { width: 1210px; }
body.page-legal .prose h1 {
  margin: 0; width: 600px; font-family: var(--display); font-weight: 400;
  font-size: 60px; line-height: 84px; color: #fff;
}
body.page-legal .prose h2,
body.page-legal .prose h3,
body.page-legal .prose p,
body.page-legal .prose li {
  margin: 0; font-family: Helvetica, Arial, sans-serif; font-weight: 400; font-size: 16px; line-height: 22.4px; color: #fff;
}
body.page-legal .prose p { max-width: none; }
body.page-terms .prose h2 { margin-top: 22.4px; }
body.page-terms .prose h2:first-of-type { margin-top: 0; }
body.page-privacy .prose h2,
body.page-privacy .prose h3 { margin-top: 22.4px; }
body.page-privacy .prose h2:first-of-type { margin-top: 0; }
body.page-legal .prose ul { margin: 0; padding: 0 0 0 29px; }
body.page-legal .prose a { color: #BB9857; overflow-wrap: normal; word-break: normal; }
body.page-legal .flat-foot { position: relative; height: 206px; background: #783A2E; }
body.page-legal .flat-foot .logo img { position: absolute; left: 177px; top: 24px; width: 154px; height: 98px; }
body.page-legal .flat-foot .footer-legal {
  position: absolute; top: 62px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-legal .flat-foot .footer-legal p,
body.page-legal .flat-foot .footer-legal a { margin: 0; color: #fff; }
body.page-legal .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-legal { width: 980px; overflow-x: hidden; }
  body.page-legal main,
body.page-legal .flat-foot { width: 1440px; margin-left: -230px; }
}
@media (max-width: 430px) {
  
  body.page-legal .prose,
body.page-legal.page-privacy .prose { width: 320px; padding: 20px 20px 16px; }
  body.page-legal .prose h1 { width: 280px; font-size: 28px; line-height: 39.2px; }
  body.page-legal .prose h2,
body.page-legal .prose h3,
body.page-legal .prose p,
body.page-legal .prose li { font-size: 14px; line-height: 19.6px; }
  body.page-terms .prose h2 { margin-top: 19.6px; }
  body.page-terms .prose h2:first-of-type { margin-top: 0; }
  body.page-privacy .prose h2,
body.page-privacy .prose h3 { margin-top: 26px; }
  body.page-privacy .prose h2:first-of-type { margin-top: 0; }
  body.page-legal .flat-foot { height: 128px; }
  body.page-legal .flat-foot .logo img { left: 17px; top: 25px; width: 130px; height: 83px; }
  body.page-legal .flat-foot .footer-legal { top: 31px; right: 10px; width: 150px; }
  body.page-terms .tm-br-phone::before { content: "\A"; white-space: pre; }
  body.page-privacy .priv-br-phone::before { content: "\A"; white-space: pre; }
  body.page-terms .prose { padding-bottom: 78px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-privacy .flat-foot { height: 316px; }
}
body.page-press .press-outlets { padding: 54px 0 28px; background: #fff; }
body.page-press .press-outlet-grid {
  display: grid; grid-template-columns: 302px 302px 302px; gap: 37px;
  width: 980px; margin: 0 0 0 230px; max-width: none; justify-content: start;
}
body.page-press .pr-card { width: 302px; text-align: center; }
body.page-press .pr-shot { width: 302px; height: 391px; object-fit: cover; display: block; }
body.page-press .pr-card h3 {
  display: flex; align-items: center; justify-content: center;
  width: 279px; min-height: 56px; margin: 10px auto 27px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px; line-height: 26px; font-weight: 400; color: #272827;
}
body.page-press .pr-more {
  display: inline-flex; align-items: center; justify-content: center;
  width: 142px; height: 40px; min-height: 0; box-sizing: border-box;
  background: #fff; color: #682707; border: 1px solid #682707; border-radius: 0;
  font-family: var(--display); font-size: 16px; line-height: 1; text-decoration: none;
  overflow-wrap: normal;
}
body.page-press .press-outlet-extra { display: none; }
body.page-press .press-media { background: #783A2E; }
body.page-press .flat-foot { position: relative; height: 190px; background: #783A2E; }
body.page-press .flat-foot .logo img { position: absolute; left: 200px; top: 28px; width: 154px; height: 98px; }
body.page-press .flat-foot .footer-legal {
  position: absolute; top: 48px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-press .flat-foot .footer-legal p,
body.page-press .flat-foot .footer-legal a { margin: 0; color: #fff; }
body.page-press .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-press { width: 980px; overflow-x: hidden; }
  body.page-press main { width: 1440px; margin-left: -230px; }
  body.page-press .flat-foot { width: 1440px; margin-left: -230px; }
}
@media (max-width: 430px) {
  body.page-press .press-outlet-grid {
    grid-template-columns: 140px 140px; justify-content: center; gap: 16px;
    width: 320px; margin: 0; max-width: 320px;
  }
  body.page-press .pr-card { width: 140px; }
  body.page-press .pr-card:nth-child(3) { display: none; }
  body.page-press .pr-shot { width: 140px; height: 160px; }
  body.page-press .pr-card h3 { width: 140px; min-height: 32px; margin: 6px auto; font-size: 11px; line-height: 14px; }
  body.page-press .pr-more { width: 98px; height: 26px; min-height: 26px; font-size: 11px; }
  body.page-press .press-excite {
    background: #F4ECDF !important; color: #272827;
    padding: 20px 0 28px !important; text-align: center;
  }
  body.page-press .press-excite h1,
body.page-editorial.page-press .press-excite h1 {
    color: #272827; text-align: center;
    font-size: 28px; line-height: 39px; margin: 0 auto 1px; max-width: 280px;
  }
  body.page-press .press-excite-layout {
    display: flex; flex-direction: column; align-items: center;
    gap: 21px; max-width: 320px; margin: 0 auto;
  }
  body.page-press .press-portrait {
    width: 226px; height: 243px; max-width: none; object-fit: cover; object-position: center;
    border-radius: 5px; border: 2px solid #fff; box-sizing: border-box;
    box-shadow: rgba(0, 0, 0, 0.5) 0 1px 3px 0;
  }
  body.page-press .press-excite blockquote,
body.page-editorial.page-press .press-excite blockquote {
    width: 260px; margin: 0; color: #272827; text-align: left;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px; line-height: 18.2px; font-weight: 400;
  }
  body.page-press .press-excite .meta { display: none; }
  body.page-press .flat-foot { height: 116px; }
  body.page-press .flat-foot .logo img { left: 15px; top: 16px; width: 130px; height: 83px; }
  body.page-press .flat-foot .footer-legal { top: 16px; right: 10px; width: 150px; }
}

body.page-pr { background: #fff; overflow-x: hidden; }
body.page-pr main { overflow: visible; }
body.page-pr .prl { position: relative; height: 2190px; background: #fff; }
body.page-pr .prl-hero {
  position: absolute; left: 0; top: 0; width: 1440px; height: 471px; object-fit: cover;
}
body.page-pr .prl-title {
  position: absolute; left: 352px; top: 287px; width: 736px; margin: 0;
  font-family: var(--display); font-weight: 400; font-size: 60px; line-height: 70px;
  color: #fff; text-align: center;
}
body.page-pr .prl-copy {
  position: absolute; left: 273px; top: 528px; width: 876px;
}
body.page-pr .prl-copy p {
  margin: 0; max-width: none;
  font-family: var(--legal-body); font-size: 16px; line-height: 22.4px;
  letter-spacing: 1px; color: #272827;
}
body.page-pr .prl-copy a { color: #272827; text-decoration: none; overflow-wrap: normal; }
@media (min-width: 431px) {
  body.page-pr .prl-br-desk::before { content: "\A"; white-space: pre; }
}
@media (max-width: 430px) {
  body.page-pr .prl-br-phone::before { content: "\A"; white-space: pre; }
}
body.page-pr .prl-mosaic img { position: absolute; object-fit: cover; display: block; }
body.page-pr .prl-mosaic img:nth-child(1) { left: 164px; top: 1766px; width: 133px; height: 116px; }
body.page-pr .prl-mosaic img:nth-child(2) { left: 302px; top: 1766px; width: 134px; height: 116px; }
body.page-pr .prl-mosaic img:nth-child(3) { left: 164px; top: 1887px; width: 272px; height: 263px; }
body.page-pr .prl-mosaic img:nth-child(4) { left: 441px; top: 1766px; width: 220px; height: 191px; }
body.page-pr .prl-mosaic img:nth-child(5) { left: 441px; top: 1962px; width: 220px; height: 188px; }
body.page-pr .prl-mosaic img:nth-child(6) { left: 666px; top: 1766px; width: 290px; height: 255px; }
body.page-pr .prl-mosaic img:nth-child(7) { left: 666px; top: 2026px; width: 143px; height: 124px; }
body.page-pr .prl-mosaic img:nth-child(8) { left: 814px; top: 2026px; width: 142px; height: 124px; }
body.page-pr .prl-mosaic img:nth-child(9) { left: 961px; top: 1766px; width: 151px; height: 129px; }
body.page-pr .prl-mosaic img:nth-child(10) { left: 1117px; top: 1766px; width: 134px; height: 129px; }
body.page-pr .prl-mosaic img:nth-child(11) { left: 961px; top: 1900px; width: 290px; height: 250px; }
body.page-pr .flat-foot { position: relative; height: 188px; background: #783A2E; }
body.page-pr .flat-foot .logo img { position: absolute; left: 200px; top: 29px; width: 154px; height: 98px; }
body.page-pr .flat-foot .footer-legal {
  position: absolute; top: 57px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-pr .flat-foot .footer-legal p,
body.page-pr .flat-foot .footer-legal a { margin: 0; color: #fff; }
body.page-pr .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-pr .flat-foot { width: 1440px; margin-left: -230px; }
  
  body.page-pr .logo img { width: 173px; height: 110px; }
}
@media (max-width: 430px) {
  body.page-pr .prl { height: 2599px; }
  body.page-pr .prl-hero { width: 320px; height: 166px; }
  body.page-pr .prl-title {
    left: 20px; top: 20px; width: 280px; font-size: 28px; line-height: 33px;
  }
  body.page-pr .prl-copy { left: 20px; top: 186px; width: 280px; }
  body.page-pr .prl-copy p { font-size: 13px; line-height: 18.2px; letter-spacing: 1px; }
  body.page-pr .prl-mosaic img:nth-child(1) { left: 5px; top: 2356px; width: 75px; height: 65px; }
  body.page-pr .prl-mosaic img:nth-child(2) { left: 85px; top: 2356px; width: 76px; height: 65px; }
  body.page-pr .prl-mosaic img:nth-child(3) { left: 5px; top: 2426px; width: 156px; height: 152px; }
  body.page-pr .prl-mosaic img:nth-child(4) { left: 166px; top: 2356px; width: 126px; height: 109px; }
  body.page-pr .prl-mosaic img:nth-child(5) { left: 166px; top: 2470px; width: 126px; height: 108px; }
  body.page-pr .prl-mosaic img:nth-child(6) { left: 297px; top: 2356px; width: 166px; height: 147px; }
  body.page-pr .prl-mosaic img:nth-child(7) { left: 297px; top: 2508px; width: 81px; height: 70px; }
  body.page-pr .prl-mosaic img:nth-child(8) { left: 383px; top: 2508px; width: 80px; height: 70px; }
  body.page-pr .prl-mosaic img:nth-child(n + 9) { display: none; }
  body.page-pr .flat-foot { height: 126px; }
  body.page-pr .flat-foot .logo img { left: 10px; top: 21px; width: 130px; height: 83px; }
  body.page-pr .flat-foot .footer-legal { top: 27px; right: 16px; width: 150px; }
}

body.page-recap { background: #fff; overflow-x: hidden; }
body.page-recap main { overflow: visible; }
body.page-recap .rcp { position: relative; height: 4956px; background: #fff; }
body.page-recap .rcp-hero { position: absolute; left: 0; top: 0; width: 1440px; height: 503px; object-fit: cover; }
body.page-recap .rcp-title {
  position: absolute; left: 352px; top: 359px; width: 736px; margin: 0; z-index: 1;
  font-family: var(--display); font-weight: 400; font-size: 60px; line-height: 84px;
  color: #fff; text-align: center;
}
body.page-recap .rcp-shots img,
body.page-recap .rcp-wide,
body.page-recap .rcp-mosaic img { position: absolute; object-fit: cover; display: block; }
body.page-recap .rcp-shots img { width: 302px; height: 391px; }
body.page-recap .rcp-label {
  position: absolute; width: 279px; min-height: 56px; margin: 0;
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px; line-height: 26px; font-weight: 400; color: #272827;
}
body.page-recap .rcp-long { display: none; }
body.page-recap .rcp-short,
body.page-recap .rcp-long { width: 100%; }
body.page-recap .rcp-label:nth-child(1) { left: 242px; top: 958px; }
body.page-recap .rcp-label:nth-child(2) { left: 581px; top: 958px; }
body.page-recap .rcp-label:nth-child(3) { left: 920px; top: 958px; }
body.page-recap .rcp-label:nth-child(4) { left: 242px; top: 1570px; }
body.page-recap .rcp-label:nth-child(5) { left: 581px; top: 1570px; }
body.page-recap .rcp-label:nth-child(6) { left: 920px; top: 1570px; }
body.page-recap .rcp-shots img:nth-child(1) { left: 230px; top: 557px; }
body.page-recap .rcp-shots img:nth-child(2) { left: 569px; top: 557px; }
body.page-recap .rcp-shots img:nth-child(3) { left: 908px; top: 557px; }
body.page-recap .rcp-shots img:nth-child(4) { left: 230px; top: 1169px; }
body.page-recap .rcp-shots img:nth-child(5) { left: 569px; top: 1169px; }
body.page-recap .rcp-shots img:nth-child(6) { left: 908px; top: 1169px; }
body.page-recap .rcp-more {
  position: absolute; width: 157px; height: 44px; min-height: 0;
  display: flex; align-items: center; justify-content: center;
  background: #9C6B23; color: #fff; text-decoration: none; border-radius: 15px;
  font-family: var(--display); font-size: 17px; line-height: 1;
}
body.page-recap .rcp-more:nth-child(1) { left: 302px; top: 1030px; }
body.page-recap .rcp-more:nth-child(2) { left: 641px; top: 1030px; }
body.page-recap .rcp-more:nth-child(3) { left: 980px; top: 1030px; }
body.page-recap .rcp-more:nth-child(4) { left: 302px; top: 1646px; }
body.page-recap .rcp-more:nth-child(5) { left: 641px; top: 1646px; }
body.page-recap .rcp-more:nth-child(6) { left: 980px; top: 1646px; }
body.page-recap .rcp-wide { left: 0; top: 1776px; width: 1440px; height: 574px; }
body.page-recap .rcp-copy { position: absolute; left: 273px; top: 2407px; width: 876px; }
body.page-recap .rcp-copy p {
  margin: 0; max-width: none;
  font-family: var(--legal-body); font-size: 16px; line-height: 22.4px;
  letter-spacing: 0.8px; color: #272827;
}
body.page-recap .rcp-copy a { color: #272827; text-decoration: none; }
body.page-recap .rcp-spacer { font-size: 38px; line-height: 53px; }
body.page-recap .rcp-copy h2 {
  margin: 0; font-family: var(--display); font-weight: 400; font-size: 30px; line-height: 44px;
  color: #272827; letter-spacing: 0;
}
body.page-recap .rcp-mosaic img:nth-child(1) { left: 164px; top: 4532px; width: 133px; height: 116px; }
body.page-recap .rcp-mosaic img:nth-child(2) { left: 302px; top: 4532px; width: 134px; height: 116px; }
body.page-recap .rcp-mosaic img:nth-child(3) { left: 164px; top: 4653px; width: 272px; height: 263px; }
body.page-recap .rcp-mosaic img:nth-child(4) { left: 441px; top: 4532px; width: 220px; height: 191px; }
body.page-recap .rcp-mosaic img:nth-child(5) { left: 441px; top: 4728px; width: 220px; height: 188px; }
body.page-recap .rcp-mosaic img:nth-child(6) { left: 666px; top: 4532px; width: 290px; height: 255px; }
body.page-recap .rcp-mosaic img:nth-child(7) { left: 666px; top: 4792px; width: 143px; height: 124px; }
body.page-recap .rcp-mosaic img:nth-child(8) { left: 814px; top: 4792px; width: 142px; height: 124px; }
body.page-recap .rcp-mosaic img:nth-child(9) { left: 961px; top: 4532px; width: 151px; height: 129px; }
body.page-recap .rcp-mosaic img:nth-child(10) { left: 1117px; top: 4532px; width: 134px; height: 129px; }
body.page-recap .rcp-mosaic img:nth-child(11) { left: 961px; top: 4666px; width: 290px; height: 250px; }
body.page-recap .flat-foot { position: relative; height: 188px; background: #783A2E; }
body.page-recap .flat-foot .logo img { position: absolute; left: 200px; top: 29px; width: 154px; height: 98px; }
body.page-recap .flat-foot .footer-legal {
  position: absolute; top: 57px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #fff;
}
body.page-recap .flat-foot .footer-legal p,
body.page-recap .flat-foot .footer-legal a { margin: 0; color: #fff; }
body.page-recap .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-recap { width: 980px; overflow-x: hidden; }
  body.page-recap main { width: 1440px; margin-left: -230px; }
  body.page-recap .flat-foot { width: 1440px; margin-left: -230px; }
  
  body.page-recap .logo img { width: 173px; height: 110px; }
}
@media (max-width: 430px) {
  body.page-recap .rcp { height: 4658px; }
  body.page-recap .rcp-hero { width: 320px; height: 169px; }
  body.page-recap .rcp-title { left: 20px; top: 108px; width: 280px; font-size: 28px; line-height: 41px; }
  body.page-recap .rcp-shots img { width: 108px; height: 139px; }
  body.page-recap .rcp-shots img:nth-child(1) { left: 42px; top: 201px; }
  body.page-recap .rcp-shots img:nth-child(2) { left: 180px; top: 201px; }
  body.page-recap .rcp-shots img:nth-child(3) { left: 42px; top: 472px; }
  body.page-recap .rcp-shots img:nth-child(4) { left: 180px; top: 472px; }
  body.page-recap .rcp-shots img:nth-child(5) { left: 39px; top: 748px; }
  body.page-recap .rcp-shots img:nth-child(6) { left: 172px; top: 745px; width: 116px; height: 145px; }
  body.page-recap .rcp-short { display: none; }
  body.page-recap .rcp-long { display: block; }
  body.page-recap .rcp-label {
    display: block; width: 116px; min-height: 0; font-size: 12px; line-height: 16.8px; text-align: center;
  }
  body.page-recap .rcp-label:nth-child(1) { left: 42px; top: 340px; width: 100px; }
  body.page-recap .rcp-label:nth-child(2) { left: 166px; top: 356px; width: 124px; }
  body.page-recap .rcp-label:nth-child(3) { left: 35px; top: 612px; width: 112px; }
  body.page-recap .rcp-label:nth-child(4) { left: 166px; top: 628px; width: 124px; }
  body.page-recap .rcp-label:nth-child(5) { left: 32px; top: 892px; width: 112px; }
  body.page-recap .rcp-label:nth-child(6) { left: 168px; top: 892px; width: 120px; }
  body.page-recap .rcp-more { width: 116px; height: 33px; font-size: 14px; }
  body.page-recap .rcp-more:nth-child(1) { left: 38px; top: 415px; }
  body.page-recap .rcp-more:nth-child(2) { left: 176px; top: 415px; }
  body.page-recap .rcp-more:nth-child(3) { left: 35px; top: 686px; }
  body.page-recap .rcp-more:nth-child(4) { left: 176px; top: 686px; }
  body.page-recap .rcp-more:nth-child(5) { left: 38px; top: 977px; }
  body.page-recap .rcp-more:nth-child(6) { left: 173px; top: 977px; width: 122px; }
  body.page-recap .rcp-wide { width: 320px; height: 193px; top: 1046px; }
  body.page-recap .rcp-copy { left: 20px; top: 1259px; width: 280px; }
  body.page-recap .rcp-copy p { font-size: 13px; line-height: 18.2px; letter-spacing: 0.3px; }
  body.page-recap .rcp-copy h2 { font-size: 22px; line-height: 32px; }
  body.page-recap .rcp-spacer { font-size: 22px; line-height: 28px; }
  body.page-recap .rcp-mosaic img:nth-child(1) { left: 5px; top: 4454px; width: 63px; height: 55px; }
  body.page-recap .rcp-mosaic img:nth-child(2) { left: 73px; top: 4454px; width: 64px; height: 55px; }
  body.page-recap .rcp-mosaic img:nth-child(3) { left: 5px; top: 4514px; width: 132px; height: 128px; }
  body.page-recap .rcp-mosaic img:nth-child(4) { left: 142px; top: 4454px; width: 106px; height: 92px; }
  body.page-recap .rcp-mosaic img:nth-child(5) { left: 142px; top: 4551px; width: 106px; height: 91px; }
  body.page-recap .rcp-mosaic img:nth-child(6) { left: 253px; top: 4454px; width: 141px; height: 124px; }
  body.page-recap .rcp-mosaic img:nth-child(7) { left: 253px; top: 4583px; width: 68px; height: 59px; }
  body.page-recap .rcp-mosaic img:nth-child(8) { left: 326px; top: 4583px; width: 68px; height: 59px; }
  body.page-recap .rcp-mosaic img:nth-child(n + 9) { display: none; }
  body.page-recap .flat-foot { height: 126px; }
  body.page-recap .flat-foot .logo img { left: 10px; top: 21px; width: 130px; height: 83px; }
  body.page-recap .flat-foot .footer-legal { top: 27px; right: 16px; width: 150px; }
}

body.page-results { background: #272827; }
body.page-results .live-board-page { background: transparent; padding: 0; }
body.page-results .live-board {
  width: 980px; height: 9436px; margin: 14px 0 15px 230px;
  background: transparent; border: 0;
}
body.page-results-copy .live-board-spacer { height: 0; background: #272827; }
body.page-results .flat-foot { position: relative; height: 171px; background: #272827; }
body.page-results .flat-foot .logo img { position: absolute; left: 138px; top: 33px; width: 148px; height: 94px; }
body.page-results .flat-foot .footer-legal {
  position: absolute; top: 57px; right: 156px; width: 148px; margin: 0; max-width: none;
  font-size: 10px; line-height: 14px; text-align: right; color: #F1D6A7;
}
body.page-results .flat-foot .footer-legal p,
body.page-results .flat-foot .footer-legal a { margin: 0; color: #F1D6A7; }
body.page-results .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-results .flat-foot { width: 1440px; margin-left: -230px; }
  
  body.page-results .logo img { width: 173px; height: 110px; }
}
@media (max-width: 430px) {
  body.page-results .live-board { width: 320px; height: 15245px; margin: 22px 0 10px -10px; }
  body.page-results-copy .live-board { width: 320px; height: 15116px; margin: 22px 0 0 0; }
  body.page-results-copy .live-board-spacer { height: 0; }
  body.page-results .flat-foot { height: 140px; }
  body.page-results .flat-foot .logo img { left: 20px; top: 22px; width: 120px; height: 76px; }
  body.page-results-copy .flat-foot .logo img { left: 26px; }
  body.page-results .flat-foot .footer-legal { top: 24px; right: 10px; width: 150px; }
}

@media (min-width: 701px) and (max-width: 1100px) {
  body.page-phoenix { width: 980px; overflow-x: hidden; }
  body.page-phoenix main,
body.page-phoenix .site-footer,
body.page-phoenix .flat-foot { width: 1440px; max-width: none; margin-left: -230px; }
  body.page-phoenix .phx-pack { left: 250px; }
  
  body.page-phoenix .logo img { width: 173px; height: 110px; }
  body.page-phoenix .nights { grid-template-columns: repeat(3, 1fr); width: 1500px; }
  body.page-phoenix .phoenix-video,
  body.page-phoenix .info-band .phoenix-video { display: block !important; }
  body.page-phoenix .packages-bar:not(.sf-apply) {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    min-height: 124px;
    margin-top: 49px;
    padding: 0 262px 0 245px;
    background: #B08B48;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy { text-align: left; }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy p { font-size: 25px; line-height: 35px; text-transform: none; }
  body.page-phoenix .xp-band .xp-cols,
body.page-phoenix .info-band .xp-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.page-phoenix .footer-inner { justify-content: flex-start; text-align: left; }
  body.page-phoenix .footer-legal { text-align: right; }
}
@media (max-width: 430px) {
  body.page-phoenix main { display: flex; flex-direction: column; }
  body.page-phoenix main > * { order: 3; }
  body.page-phoenix .phoenix-hero { order: 1; margin-top: 0; }
  body.page-phoenix .packages-bar:not(.sf-apply) { order: 2; }
  body.page-phoenix .phoenix-hero img { width: 320px; max-width: 320px; height: 181px; object-fit: cover; object-position: left center; }
  body.page-phoenix .phx-pack { display: none; }
  body.page-phoenix .nights { width: 100%; max-width: 100%; }
  body.page-phoenix .night-col {
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    padding: 18px 20px 16px;
  }
  body.page-phoenix .night-col:nth-child(2) { background: #282627; }
  body.page-phoenix .night-col .date { font-size: 20px; line-height: 28px; }
  body.page-phoenix .night-col { gap: 0; }
  body.page-phoenix .night-col .headliner { display: block; font-size: 26px; line-height: 28px; margin: 0; white-space: normal; }
  body.page-phoenix .night-col .support { display: block; font-size: 22px; line-height: 26px; min-height: 0; margin: 0 0 10px; white-space: normal; }
  body.page-phoenix .night-col .note { max-width: 230px; }
  body.page-phoenix .night-btns { flex-direction: column; align-items: flex-start; width: auto; gap: 10px; }
  body.page-phoenix .night-col .btn,
body.page-phoenix .night-col .btn.gold {
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    flex: 0 0 auto !important;
    align-self: flex-start;
    height: 30px !important;
    min-height: 30px !important;
  }
  body.page-phoenix .night-col .btn.gold { height: 33px !important; min-height: 33px !important; }
  body.page-phoenix .phx-ticket-pack {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 128px;
    margin: 0;
    background: #8E703A;
    order: 3;
  }
  body.page-phoenix .phx-ticket-pack p {
    margin: 0;
    font-family: var(--display);
    font-size: 26px;
    line-height: 30px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #fff;
  }
  body.page-phoenix .phx-ticket-pack .btn {
    width: 160px;
    min-width: 160px;
    height: 34px;
    min-height: 34px;
    margin: 0;
    border: 0;
    border-radius: 15px;
    background: #fff;
    color: #272827;
    font-family: var(--display);
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) {
    order: 2;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 4px;
    min-height: 0;
    padding: 16px 16px 20px;
    background: #272827;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy { text-align: center; width: 100%; }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy p {
    font-family: var(--display);
    font-size: 28px;
    line-height: 34px;
    color: #F4ECDF;
    text-transform: none;
    font-style: normal;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy .sub {
    font-size: 0;
    line-height: 0;
    font-style: normal;
    font-family: var(--sans);
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy .sub::after {
    content: "Check out our 3-day packages";
    font-family: var(--sans);
    font-size: 14px;
    line-height: 20px;
    font-style: normal;
    color: #fff;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .btn {
    width: 160px;
    min-width: 160px;
    height: 34px;
    min-height: 34px;
    margin: 8px auto 0;
    border-radius: 999px;
    font-size: 15px;
  }
  body.page-phoenix .phoenix-video,
body.page-phoenix .info-band .phoenix-video { width: 300px; max-width: 300px; height: 169px; margin: 16px auto 24px; }
  body.page-phoenix .xp-band { padding: 28px 12px 16px; }
  body.page-phoenix .xp-band h2 { margin-bottom: 18px; }
  body.page-phoenix .xp-band .xp-col img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 360 / 304;
    object-fit: cover;
    object-position: center;
  }
  body.page-phoenix .info-band .xp-col img { height: 168px; }
  body.page-phoenix .xp-band .xp-card { min-height: 0; padding: 12px 12px 14px; }
  body.page-phoenix .sponsors-logos-row { flex-wrap: nowrap; gap: 6px; justify-content: center; }
  body.page-phoenix .sponsors-band-white { min-height: 0; padding: 18px 8px 16px; }
  body.page-phoenix .sponsors-band-white h2 { margin-bottom: 10px; font-size: 28px; }
  body.page-phoenix .sponsors-logos-row img,
body.page-phoenix .sponsors-logos img { height: 32px; max-width: 52px; }
  body.page-phoenix .get-ready-band { min-height: 698px; padding: 28px 12px 20px; }
  body.page-phoenix .get-ready-tag { font-size: 34px; line-height: 36px; }
  body.page-phoenix .get-ready-logo { width: 140px; }
  body.page-phoenix .next-cities { padding: 18px 10px 16px; background: #272827; }
  body.page-phoenix .next-cities h2 { font-size: 28px; line-height: 32px; margin-bottom: 12px; color: #272827; }
  body.page-phoenix .next-cities .city-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
  body.page-phoenix .next-cities .city-card { display: block; max-width: none; }
  body.page-phoenix .next-cities .city-card,
  body.page-phoenix .next-cities .city-card a { overflow: visible; }
  body.page-phoenix .next-cities .city-card img {
    width: 100%;
    height: auto;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
  }
  body.page-phoenix .next-cities .btn-row { flex-direction: column; align-items: stretch; gap: 6px; }
  body.page-phoenix .next-cities .btn,
body.page-phoenix .next-cities .btn.gold { width: 100%; min-width: 0; height: 32px; }
}

.signup-form .turnstile-slot,
.join-sms-form .turnstile-slot {
  width: 100%;
  max-width: 100%;
  min-height: 0;
  overflow: hidden;
}
.signup-form .turnstile-slot:not(:empty) { margin: 12px 0 0; }
.join-sms-form { position: relative; }
.join-sms-form .hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.join-sms-form .turnstile-slot:not(:empty) {
  display: flex;
  justify-content: center;
}
.turnstile-slot:empty { display: none; }
.turnstile-slot iframe { max-width: 100%; }
.join-continue:disabled { opacity: 0.7; cursor: wait; }
body.page-subscribe .sub-card .form-msg:not(:empty),
body.page-subscribe .sub-below .form-msg:not(:empty) {
  display: block;
  height: auto;
  min-height: 1.2em;
  overflow: visible;
  margin: 10px 0 0;
  color: #783A2E;
  font-size: 13px;
  line-height: 1.35;
  font-family: Arial, Helvetica, sans-serif;
}

/* Wide desktop: the 1440 coordinate canvas is left-pinned. Shift it to the
   viewport center once the window is wider than 1440. Below that, max() is 0
   so tablet (980 crop) and phone layouts are unchanged. */
@media (min-width: 1101px) {
  body.page-suite .su > * {
    margin-left: max(0px, calc((100% - 1440px) / 2));
  }
  body.page-suite .su-bg { max-width: none; }
  body.page-suite .flat-foot {
    width: min(100%, 1440px);
    margin-left: auto;
    margin-right: auto;
  }

  body.page-phoenix .nights,
  body.page-tampa .nights {
    width: 1440px;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  body.page-sfp .sfp-bg,
  body.page-sfn .sfn-plate,
  body.page-sfn .sfn-bg {
    left: 0;
    width: 100%;
    max-width: none;
  }
  body.page-sfp .sfp-bg img,
  body.page-sfn .sfn-bg {
    width: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
  }
  body.page-sfp .sfp > *:not(.sfp-bg),
  body.page-sft .sft > *,
  body.page-sfn .sfn > *:not(.sfn-plate):not(.sfn-bg):not(.sfn-bg-shift):not(.sfn-bg-mask),
  body.page-sfp .sfp-foot-logo,
  body.page-sfp .sfp-foot-hero h2,
  body.page-sfp .sfp-cc,
  body.page-sft .sfp-cc,
  body.page-sfn .sfp-cc,
  body.page-sft .sft-foot-logo,
  body.page-sft .sft-foot-hero h2,
  body.page-sfn .sfn-foot-logo,
  body.page-sfn .sfn-foot-hero h2 {
    margin-left: max(0px, calc((100% - 1440px) / 2));
  }

  body.page-subscribe main .sub {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  body.page-subscribe .sub-bg {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: none;
  }
  body.page-subscribe .sub-mark,
  body.page-subscribe .sub h1,
  body.page-subscribe .sub-card {
    left: 0;
    right: 0;
    margin-inline: auto;
  }
  body.page-subscribe .sub .social {
    left: 0;
    right: 0;
    width: min(200px, 100%);
    margin-inline: auto;
  }

  html:has(body.page-contact),
  body.page-contact {
    background: #fff;
  }
  body.page-contact main {
    overflow: visible;
  }
  /* Photos use the viewport. Type stays on the centered 1440 column.
     156px was the old in-canvas header gap above the stadium photo. */
  body.page-contact main .ct {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    height: 1422px;
  }
  body.page-contact .ct-hero {
    top: 0;
    left: 0;
    width: 100%;
    height: 434px;
    max-width: none;
    object-fit: cover;
    object-position: center center;
  }
  body.page-contact .ct h1 {
    top: 174px;
    left: 0;
    right: 0;
    width: max-content;
    max-width: calc(100% - 40px);
    margin-inline: auto;
    text-align: center;
  }
  body.page-contact .ct-card.general {
    top: 494px;
    left: calc((100% - 1440px) / 2 + 230px);
  }
  body.page-contact .ct-card.partners {
    top: 494px;
    left: calc((100% - 1440px) / 2 + 781px);
  }
  body.page-contact .ct-card.vendor {
    top: 604px;
    left: calc((100% - 1440px) / 2 + 230px);
  }
  body.page-contact .ct-card.influencer {
    top: 644px;
    left: calc((100% - 1440px) / 2 + 781px);
  }
  body.page-contact .ct-card.press {
    top: 764px;
    left: calc((100% - 1440px) / 2 + 230px);
  }
  body.page-contact .ct-quote {
    top: 936px;
    left: 0;
    width: 100%;
    overflow: visible;
  }
  body.page-contact .ct-quote img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
  }
  body.page-contact .ct-quote .q,
  body.page-contact .ct-quote .by {
    left: 0;
    right: 0;
    width: min(806px, calc(100% - 40px));
    margin-inline: auto;
  }
}

/* Subscribe form in the western-experience band (same markup as /subscribe/). */
body.page-home .home-foot-hero,
body.page-tampa .tampa-foot-hero {
  position: relative;
}
body.page-home .home-foot-hero {
  display: grid;
  background: #111;
}
body.page-home .home-foot-hero picture,
body.page-tampa .tampa-foot-hero picture {
  display: block;
}
body.page-home .home-foot-hero picture {
  grid-area: 1 / 1;
  align-self: start;
}
body.page-tampa .tampa-foot-hero .signup-box {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  width: min(480px, calc(100% - 32px));
}
/* Card sits a fixed gap under the baked headline. The percent is the headline
   bottom in home-footer-desk.webp (y 300) over the image width (1440), so it
   tracks the photo as it scales. 33.832px resolves to the same card top the
   bottom pin used at 1280. */
body.page-home .home-foot-hero .signup-box {
  grid-area: 1 / 1;
  position: relative;
  z-index: 2;
  align-self: start;
  justify-self: center;
  width: min(480px, calc(100% - 32px));
  margin-top: calc(300 / 1440 * 100% + 33.832px);
  margin-bottom: 28px;
}
@media (max-width: 430px) {
  body.page-home .home-foot-hero .signup-box {
    margin-top: calc(184 / 320 * 100% + 33.832px);
  }
}
body.page-nola .nola-foot-hero .signup-box {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 340px;
  transform: translateX(-50%);
  width: min(480px, calc(100% - 32px));
}
body.page-phoenix .get-ready-band {
  overflow: visible;
}

/* Shared rust legal bar. Subscribe and contact use this same footer. */
body.page-subscribe .flat-foot,
body.page-contact .flat-foot,
body.page-phoenix .flat-foot,
body.page-event:not(.page-home) .flat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 156px;
  padding: 35px max(12px, calc((100% - 980px) * 0.5 + 10px)) 11px max(12px, calc((100% - 980px) * 0.5 - 72px));
  background: #783A2E;
  box-sizing: border-box;
}
body.page-subscribe .flat-foot .logo img,
body.page-contact .flat-foot .logo img,
body.page-phoenix .flat-foot .logo img,
body.page-event:not(.page-home) .flat-foot .logo img {
  width: 173px;
  height: 110px;
  object-fit: contain;
  display: block;
}
body.page-subscribe .flat-foot .logo,
body.page-contact .flat-foot .logo,
body.page-phoenix .flat-foot .logo,
body.page-event:not(.page-home) .flat-foot .logo {
  line-height: 0;
  text-decoration: none;
}
body.page-subscribe .flat-foot .footer-legal a,
body.page-contact .flat-foot .footer-legal a,
body.page-phoenix .flat-foot .footer-legal a {
  color: #fff;
  font-size: 10px;
  text-decoration: underline;
}
body.page-subscribe .flat-foot .footer-legal,
body.page-contact .flat-foot .footer-legal,
body.page-event:not(.page-home) .flat-foot .footer-legal {
  margin: 0;
  text-align: right;
  color: #fff;
}
body.page-subscribe .flat-foot .footer-legal p,
body.page-subscribe .flat-foot .footer-legal a,
body.page-contact .flat-foot .footer-legal p,
body.page-contact .flat-foot .footer-legal a,
body.page-event:not(.page-home) .flat-foot .footer-legal p,
body.page-event:not(.page-home) .flat-foot .footer-legal a {
  margin: 0;
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
}
body.page-subscribe .flat-foot .footer-legal a,
body.page-contact .flat-foot .footer-legal a,
body.page-event:not(.page-home) .flat-foot .footer-legal a { text-decoration: underline; }
  body.page-subscribe .flat-foot .footer-legal p.legal-rest,
body.page-contact .flat-foot .footer-legal p.legal-rest,
body.page-event:not(.page-home) .flat-foot .footer-legal p.legal-rest { margin-top: 12px; }
@media (max-width: 430px) {
  body.page-subscribe .flat-foot,
  body.page-contact .flat-foot,
  body.page-phoenix .flat-foot,
  body.page-event:not(.page-home) .flat-foot {
    min-height: 115px;
    padding: 16px 12px;
  }
  body.page-subscribe .flat-foot .logo img,
  body.page-contact .flat-foot .logo img,
  body.page-phoenix .flat-foot .logo img,
  body.page-event:not(.page-home) .flat-foot .logo img {
    width: 120px;
    height: 76px;
  }
}

/* Phone and tablet centering.
   Every rule below is inside a max-width query, so 1101px and up
   (1280, 1440, 1920) stays on the desktop layout.
   The 1440 canvas shift equals -230px at a 980px viewport. */
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-home {
    width: 100%;
    overflow-x: clip;
  }
  body.page-home .city-row {
    margin-left: calc((100% - 1091px) / 2);
    margin-right: 0;
  }
  body.page-home .about {
    margin-left: calc((100% - 755px) / 2);
    margin-right: 0;
  }
  body.page-home .home-still {
    margin-left: calc((100% - 907px) / 2);
    margin-right: 0;
  }
  body.page-home .xp-band h2 {
    width: min(980px, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-home .xp-band .xp-cols {
    margin-left: calc((100% - 1196px) / 2);
    margin-right: 0;
  }
  body.page-home .lets-rodeo,
  body.page-home .lets-rodeo img {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  body.page-tampa,
  body.page-nola,
  body.page-street-hub,
  body.page-sfp,
  body.page-sft,
  body.page-sfn,
  body.page-editorial,
  body.page-suite,
  body.page-phoenix,
  body.page-results,
  body.page-legal {
    width: 100%;
    max-width: none;
    overflow-x: clip;
  }

  body.page-tampa main,
  body.page-tampa .tampa-foot,
  body.page-tampa .flat-foot,
  body.page-nola main,
  body.page-nola .nola-foot,
  body.page-nola .flat-foot,
  body.page-street-hub main,
  body.page-street-hub .sfh-foot,
  body.page-street-hub .flat-foot,
  body.page-sfp main,
  body.page-sfp .sfp-foot,
  body.page-sfp .flat-foot,
  body.page-sft main,
  body.page-sft .sft-foot,
  body.page-sft .flat-foot,
  body.page-sfn main,
  body.page-sfn .sfn-foot,
  body.page-sfn .flat-foot,
  body.page-phoenix main,
  body.page-phoenix .site-footer,
  body.page-phoenix .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: calc((100% - 1440px) / 2);
    margin-right: 0;
  }
  body.page-tampa main,
  body.page-phoenix main {
    contain: paint;
  }

  /* Text and table pages keep the left edge in view below 980px,
     and center that 980px band once the viewport is wider. */
  body.page-results main,
  body.page-results .west-foot,
  body.page-results .flat-foot,
  body.page-legal main,
  body.page-legal .flat-foot,
  body.page-editorial main,
  body.page-editorial .west-foot,
  body.page-suite main,
  body.page-suite .flat-foot,
  body.page-pr .flat-foot,
  body.page-recap main,
  body.page-recap .flat-foot,
  body.page-press main,
  body.page-press .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: max(-230px, calc((100% - 1440px) / 2));
    margin-right: 0;
  }

  body.page-tampa .tampa-gallery,
  body.page-tampa .tampa-wide,
  body.page-tampa .tampa-foot-bg,
  body.page-nola .nola-arena img,
  body.page-nola .nola-logos {
    margin-left: calc((1440px - 100vw) / 2);
  }
  body.page-tampa .tampa-wide,
  body.page-tampa .tampa-foot-bg,
  body.page-nola .nola-arena img {
    width: 100vw;
  }
  body.page-nola .nola-vip-bg,
  body.page-nola .nola-street-bg,
  body.page-nola .nola-foot-bg,
  body.page-street-hub .sfh-foot-bg,
  body.page-sfp .sfp-bg,
  body.page-sfp .sfp-foot-bg,
  body.page-sft .sft-foot-bg,
  body.page-sfn .sfn-plate,
  body.page-sfn .sfn-bg,
  body.page-sfn .sfn-foot-bg {
    left: calc((1440px - 100vw) / 2);
    width: 100vw;
    right: auto;
  }
  body.page-suite .su-bg,
  body.page-results .west-foot-bg {
    left: min(230px, calc((1440px - 100vw) / 2));
    width: 100vw;
    right: auto;
  }
  body.page-phoenix .phx-pack {
    left: calc((1440px - 100vw) / 2 + 20px);
  }
}

@media (min-width: 431px) and (max-width: 700px) {
  body.page-tampa,
  body.page-nola,
  body.page-street-hub,
  body.page-sfp,
  body.page-sft,
  body.page-sfn,
  body.page-editorial:not(.page-press),
  body.page-suite,
  body.page-phoenix,
  body.page-results,
  body.page-legal {
    width: 100%;
    max-width: none;
    overflow-x: clip;
  }
  body.page-tampa main,
  body.page-tampa .tampa-foot,
  body.page-tampa .flat-foot,
  body.page-nola main,
  body.page-nola .nola-foot,
  body.page-nola .flat-foot,
  body.page-street-hub main,
  body.page-street-hub .sfh-foot,
  body.page-street-hub .flat-foot,
  body.page-sfp main,
  body.page-sfp .sfp-foot,
  body.page-sfp .flat-foot,
  body.page-sft main,
  body.page-sft .sft-foot,
  body.page-sft .flat-foot,
  body.page-sfn main,
  body.page-sfn .sfn-foot,
  body.page-sfn .flat-foot,
  body.page-phoenix main,
  body.page-phoenix .site-footer,
  body.page-phoenix .flat-foot {
    width: 1440px;
    max-width: none;
    margin-left: calc((100% - 1440px) / 2);
    margin-right: 0;
  }
  body.page-tampa main,
  body.page-phoenix main,
  body.page-legal main {
    contain: paint;
  }
  body.page-press {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 700px) {
  body.page-press {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 430px) {
  body.page-suite .su,
  body.page-pr .prl,
  body.page-recap .rcp,
  body.page-sfn .sfn {
    width: 320px;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-street-hub .sfh-logo,
  body.page-street-hub .sfh-photo,
  body.page-street-hub .sfh-name,
  body.page-street-hub .sfh-date,
  body.page-street-hub .sfh-btn,
  body.page-street-hub .sfh-copy,
  body.page-street-hub .sfh-video,
  body.page-street-hub .sfh-foot-logo,
  body.page-street-hub .sfh-foot-hero h2,
  body.page-street-hub .sfh-cc,
  body.page-nola .nola-vip-still,
  body.page-nola .nola-street .sf-logo,
  body.page-nola .nola-street .btn.vendor,
  body.page-nola .nola-mosaic {
    translate: calc((100vw - 320px) / 2) 0;
  }
  body.page-nola .nola-arena img {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Night cards, FAQ, and other readable bands.
   Every rule is inside a max-width query, so 1101px and up stays on the desktop layout.
   A 1440 canvas that has been shifted by (100% - 1440px) / 2 gets a child back
   onto the viewport with margin-left: (1440px - width) / 2. */
@media (min-width: 431px) and (max-width: 1100px) {
  body.page-phoenix .nights,
  body.page-tampa .nights,
  body.page-phoenix .packages-bar:not(.sf-apply),
  body.page-tampa .packages-bar,
  body.page-phoenix .faq-preview,
  body.page-tampa .faq-preview,
  body.page-phoenix .xp-band,
  body.page-tampa .xp-band,
  body.page-phoenix .info-band,
  body.page-tampa .info-band,
  body.page-phoenix .sponsors-band-white,
  body.page-phoenix .military-band-bar,
  body.page-phoenix .get-ready-band,
  body.page-phoenix .next-cities,
  body.page-phoenix .sf-apply {
    box-sizing: border-box;
    width: min(100vw - 32px, 980px);
    max-width: none;
    margin-right: 0;
    margin-left: calc((1440px - min(100vw - 32px, 980px)) / 2);
  }
  body.page-phoenix .nights,
  body.page-tampa .nights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.page-phoenix .night-col,
  body.page-tampa .night-col,
  body.page-tampa .night-col:nth-child(1),
  body.page-tampa .night-col:nth-child(2),
  body.page-tampa .night-col:nth-child(3) {
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
    align-items: center;
    padding: 20px 12px 18px;
  }
  body.page-phoenix .night-col + .night-col {
    border-left: 1px solid rgba(0, 0, 0, 0.22);
  }
  body.page-phoenix .night-col .date,
  body.page-phoenix .night-col .headliner,
  body.page-phoenix .night-col .support,
  body.page-phoenix .night-col .note,
  body.page-tampa .night-col .date,
  body.page-tampa .night-col .headliner,
  body.page-tampa .night-col .support,
  body.page-tampa .night-col .note,
  body.page-tampa .night-col .upgrade {
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    white-space: normal;
  }
  body.page-tampa .night-col:nth-child(3) .support {
    font-size: inherit;
    line-height: 1.05;
    margin-top: 0;
    white-space: normal;
  }
  body.page-phoenix .night-col .headliner,
  body.page-tampa .night-col .headliner,
  body.page-tampa .night-col .support {
    font-size: clamp(18px, 2.2vw, 32px);
    line-height: 1.05;
  }
  body.page-phoenix .night-col .date,
  body.page-tampa .night-col .date {
    font-size: clamp(16px, 2vw, 28px);
    line-height: 1.2;
  }
  body.page-phoenix .night-col .support {
    font-size: clamp(15px, 1.8vw, 22px);
    min-height: 0;
  }
  body.page-phoenix .night-btns,
  body.page-tampa .night-btns {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 8px;
    margin-top: 8px;
  }
  body.page-phoenix .night-col .btn,
  body.page-phoenix .night-col .btn.gold,
  body.page-tampa .night-col .btn,
  body.page-tampa .night-col .btn.gold {
    width: min(180px, 100%);
    min-width: 0;
    max-width: 100%;
    align-self: center;
    box-sizing: border-box;
  }
  body.page-phoenix .phx-pack {
    left: calc((1440px - 464px) / 2);
  }
  body.page-phoenix .packages-bar:not(.sf-apply),
  body.page-tampa .packages-bar,
  body.page-phoenix .sf-apply {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    padding: 18px 16px;
    min-height: 0;
  }
  body.page-phoenix .packages-bar:not(.sf-apply) .copy,
  body.page-tampa .packages-bar .copy,
  body.page-tampa .tampa-apply .copy,
  body.page-phoenix .sf-apply .copy,
  body.page-phoenix .sf-apply .copy {
    width: auto;
    max-width: 100%;
    text-align: center;
  }
  body.page-tampa .tampa-apply .btn,
  body.page-phoenix .packages-bar:not(.sf-apply) .btn,
  body.page-tampa .packages-bar .btn,
  body.page-phoenix .sf-apply .btn,
  body.page-phoenix .sf-apply .btn {
    margin-left: 0;
    width: min(261px, 100%);
    min-width: 0;
  }
  body.page-phoenix .faq-preview .faq-head,
  body.page-tampa .faq-preview .faq-head {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    flex-wrap: wrap;
  }
  body.page-phoenix .faq-preview h2,
  body.page-tampa .faq-preview .faq-head h2 {
    flex: 1 1 100%;
    order: -1;
    white-space: normal;
    text-align: center;
    height: auto;
    width: 100%;
    max-width: 100%;
  }
  body.page-phoenix .faq-preview .faq,
  body.page-tampa .faq-preview .faq,
  body.page-phoenix .faq-more,
  body.page-tampa .faq-preview .faq-more {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
    text-align: center;
  }
  body.page-phoenix .faq-more-btn,
  body.page-tampa .faq-more-btn {
    margin-left: auto;
    margin-right: auto;
  }
  body.page-phoenix .xp-band .xp-cols,
  body.page-phoenix .info-band .xp-cols,
  body.page-tampa .xp-band .xp-cols,
  body.page-tampa .info-band .xp-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    gap: 16px;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-phoenix .xp-col img,
  body.page-tampa .xp-col img,
  body.page-phoenix .info-band .xp-col img,
  body.page-tampa .info-band .xp-col img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 360 / 304;
  }
  /* Experience photos match the home cards: 360/304 cover, centered.
     The base Phoenix rule's fixed 270px height is more specific, so this
     repeats the selector. Desktop (1101+) keeps its own size. */
  body.page-phoenix .xp-band .xp-col img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 360 / 304;
    object-fit: cover;
    object-position: center;
  }
  body.page-phoenix .military-band-bar {
    position: relative;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px 16px !important;
  }
  body.page-phoenix .military-band-bar .military-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.page-phoenix .military-band-bar .military-title {
    width: 100%;
    text-align: center;
  }
  body.page-phoenix .military-band-bar .military-cta {
    position: static !important;
    left: auto !important;
    top: auto !important;
    margin: 12px auto 0 !important;
    align-self: center;
  }
  body.page-phoenix .next-cities h2 {
    width: 100%;
    text-align: center;
  }
  body.page-phoenix .next-cities .city-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-top: 24px !important;
  }
  body.page-phoenix .next-cities .city-card {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.page-phoenix .next-cities .city-card img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 auto 12px !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  body.page-phoenix .next-cities .btn-row {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px;
  }
  body.page-phoenix .next-cities .btn,
  body.page-phoenix .next-cities .btn.gold {
    width: min(180px, 100%) !important;
    min-width: 0 !important;
    max-width: 100%;
  }
  body.page-nola .nola-foot-hero > h2 {
    width: min(630px, calc(100vw - 32px));
    left: calc((1440px - min(630px, calc(100vw - 32px))) / 2);
    right: auto;
    font-size: clamp(28px, 4.6vw, 60px);
    line-height: 1.12;
  }
  body.page-nola .nola-foot-hero .signup-box h2 {
    position: static;
    width: auto;
    left: auto;
    right: auto;
    margin: 0 0 16px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    text-align: left;
  }
  body.page-nola .nola-floor h2,
  body.page-nola .nola-floor p {
    left: calc((1440px - 100vw) / 2);
    width: 100vw;
    right: auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  body.page-nola .nola-floor .btn {
    left: calc((1440px - 195px) / 2);
  }
}

@media (min-width: 431px) and (max-width: 700px) {
  body.page-phoenix .nights,
  body.page-tampa .nights {
    grid-template-columns: 1fr;
    width: min(440px, 100vw - 32px);
    margin-left: calc((1440px - min(440px, 100vw - 32px)) / 2);
  }
  body.page-phoenix .night-col + .night-col {
    border-left: 0;
  }
  body.page-phoenix .xp-band .xp-cols,
  body.page-phoenix .info-band .xp-cols,
  body.page-tampa .xp-band .xp-cols,
  body.page-tampa .info-band .xp-cols {
    grid-template-columns: 1fr;
    max-width: 360px;
  }
}

@media (max-width: 430px) {
  body.page-phoenix .night-col,
  body.page-tampa .night-col {
    text-align: center;
    align-items: center;
    padding: 18px 16px 16px;
    border-left: 0;
  }
  body.page-phoenix .night-col + .night-col,
  body.page-tampa .night-col + .night-col {
    border-left: 0;
  }
  body.page-phoenix .night-col .date,
  body.page-phoenix .night-col .headliner,
  body.page-phoenix .night-col .support,
  body.page-phoenix .night-col .note,
  body.page-tampa .night-col .date,
  body.page-tampa .night-col .headliner,
  body.page-tampa .night-col .support,
  body.page-tampa .night-col .note,
  body.page-tampa .night-col .upgrade {
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  body.page-phoenix .night-btns,
  body.page-tampa .night-btns {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  body.page-phoenix .night-col .btn,
  body.page-phoenix .night-col .btn.gold,
  body.page-tampa .night-col .btn,
  body.page-tampa .night-col .btn.gold {
    align-self: center;
  }
  body.page-phoenix .faq-preview,
  body.page-tampa .faq-preview {
    padding-left: max(16px, calc((100% - 320px) / 2));
    padding-right: max(16px, calc((100% - 320px) / 2));
  }
  body.page-phoenix .faq-preview .faq-head,
  body.page-tampa .faq-preview .faq-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    gap: 6px 10px;
  }
  body.page-phoenix .faq-preview h2,
  body.page-tampa .faq-preview .faq-head h2 {
    flex: 1 1 100%;
    order: -1;
    white-space: normal;
    text-align: center;
    width: 100%;
    height: auto;
    max-width: 100%;
    line-height: 1.15;
  }
  body.page-phoenix .faq-preview .faq,
  body.page-tampa .faq-preview .faq,
  body.page-phoenix .faq-more,
  body.page-tampa .faq-preview .faq-more {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  body.page-phoenix .faq-preview .faq,
  body.page-tampa .faq-preview .faq {
    text-align: left;
  }
  body.page-phoenix .faq-more,
  body.page-tampa .faq-preview .faq-more {
    text-align: center;
  }
  body.page-tampa .faq-more-btn,
  body.page-phoenix .faq-more-btn {
    display: inline-flex;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-tampa .faq-preview .faq-head {
    flex-wrap: wrap;
  }
  body.page-faq .faq-head {
    justify-content: center;
    width: 100%;
    max-width: 320px;
  }
  body.page-tampa .packages-bar,
  body.page-tampa .tampa-apply,
  body.page-phoenix .sf-apply,
  body.page-phoenix .sf-apply {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  body.page-tampa .tampa-apply .copy,
  body.page-tampa .packages-bar .copy,
  body.page-phoenix .sf-apply .copy,
  body.page-phoenix .sf-apply .copy {
    width: auto;
    max-width: 100%;
    text-align: center;
  }
  body.page-tampa .packages-bar .btn,
  body.page-tampa .tampa-apply .btn,
  body.page-phoenix .sf-apply .btn,
  body.page-phoenix .sf-apply .btn {
    margin-left: auto;
    margin-right: auto;
  }
  body.page-sfp .sfp,
  body.page-sfp .sfp-foot-hero,
  body.page-sft .sft,
  body.page-sft .sft-foot-hero,
  body.page-sfn .sfn-foot-hero {
    width: 320px;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-subscribe .sub-below .signup-disclaimer {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  body.page-phoenix .phoenix-hotels {
    padding-left: max(8px, calc((100% - 320px) / 2));
    padding-right: max(8px, calc((100% - 320px) / 2));
  }
  body.page-phoenix .phoenix-hotels h2 {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-nola .nola-street h2.about {
    left: 0;
    right: 0;
    width: min(320px, calc(100% - 16px));
    margin-left: auto;
    margin-right: auto;
  }
}

/* Phoenix is page-city, so it never gets the 12px .legal-rest gap used on
   page-event footers. The two legal links overlap. Inline padding grows
   each border box away from the other link and does not move the line box. */
body.page-phoenix .flat-foot .footer-legal a[href$="terms-conditions/"] {
  padding-top: 16px;
  padding-bottom: 0;
}
body.page-phoenix .flat-foot .footer-legal a[href$="privacypolicy/"] {
  padding-top: 0;
  padding-bottom: 16px;
}

/* Home city posters are a fixed 1091px track through 1100px, so from 701px
   to 1099px the row hangs off both edges. Same for the 1196px experience
   row, the 907px still, and the 755px about block near the bottom of that
   band. Stop at 1099px so 1100px and the desktop layout are unchanged.
   701–739px: two posters with the third centered (three across would put
   each poster under ~220px). 740–1099px: one fluid row of three. */
@media (min-width: 701px) and (max-width: 1099px) {
  body.page-home .city-row {
    width: 100%;
    max-width: 100%;
    margin: 71px auto 10px;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;
  }
  body.page-home .city-card {
    display: block;
    width: 100%;
    max-width: 330px;
    justify-self: center;
  }
  body.page-home .city-card > a { display: block; }
  body.page-home .city-card img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 327 / 319;
    margin: 0 0 16px;
    object-fit: cover;
  }
  body.page-home .city-card .btn-row {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }
  body.page-home .city-card .btn,
  body.page-home .city-card .btn.gold {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
    height: 37px;
    padding: 0 8px;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
  }

  body.page-home .home-still {
    width: min(907px, 100%);
    max-width: 100%;
    height: 474px;
    margin: 0 auto 70px;
  }

  body.page-home .xp-band .xp-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 3vw, 58px);
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: stretch;
  }
  body.page-home .xp-col { min-width: 0; max-width: 100%; }
  body.page-home .xp-col > a { display: block; max-width: 100%; }
  body.page-home .xp-col img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 360 / 304;
    object-fit: cover;
  }
  body.page-home .xp-card,
  body.page-home .xp-card h3,
  body.page-home .xp-card .time,
  body.page-home .xp-card p {
    max-width: 100%;
    overflow-wrap: break-word;
  }
}

@media (min-width: 701px) and (max-width: 739px) {
  body.page-home .city-row {
    grid-template-columns: repeat(2, minmax(0, 330px));
    column-gap: 16px;
    row-gap: 28px;
  }
  body.page-home .city-card:nth-child(3) {
    grid-column: 1 / -1;
    width: min(330px, calc((100% - 16px) / 2));
  }
}

@media (min-width: 740px) and (max-width: 1099px) {
  body.page-home .city-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 28px;
  }
}

@media (min-width: 701px) and (max-width: 786px) {
  body.page-home .about {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 28px 16px 8px;
    box-sizing: border-box;
  }
  body.page-home .about h1,
  body.page-home .about h1.display,
  body.page-home .about.pick-rodeo h2.display {
    width: min(600px, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-home .about p {
    width: min(755px, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
}

/* Shared Street Fest gallery. Markup is injected once by the Worker.
   Height follows the grid so the About block keeps its original gap. */
body.page-sfp,
body.page-sft,
body.page-sfn {
  --sf-gap: 12px;
  --sf-w: 1104px;
  --sf-old-h: 384px;
  --sf-h: round(nearest, calc(4 / 9 * (var(--sf-w) - 2 * var(--sf-gap)) + var(--sf-gap)), 1px);
  --sf-shift: round(nearest, calc(var(--sf-h) - var(--sf-old-h)), 1px);
}
.sf-gallery {
  position: absolute;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: var(--sf-gap);
  width: var(--sf-w);
  height: var(--sf-h);
  left: calc((1440px - var(--sf-w)) / 2);
  margin: 0;
  padding: 0;
}
.sf-gallery img {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  display: block;
}
.sf-gallery img:nth-child(1) { object-position: center 32%; }
.sf-gallery img:nth-child(3) { object-position: center 38%; }
body.page-sfp .sf-gallery { top: 686px; }
body.page-sft .sf-gallery { top: 684px; }
body.page-sfn .sf-gallery { top: 632px; }

@media (min-width: 431px) {
  body.page-sfp .sfp { height: calc(1419px + var(--sf-shift)); }
  body.page-sfp .sfp-about { top: calc(1117px + var(--sf-shift)); }
  body.page-sfp .sfp-copy { top: calc(1208px + var(--sf-shift)); }
  body.page-sft .sft { height: calc(1419px + var(--sf-shift)); }
  body.page-sft .sft-about { top: calc(1110px + var(--sf-shift)); }
  body.page-sft .sft-copy { top: calc(1205px + var(--sf-shift)); }
  body.page-sfn .sfn { height: calc(1963px + var(--sf-shift)); }
  body.page-sfn .sfn-about { top: calc(1059px + var(--sf-shift)); }
  body.page-sfn .sfn-copy { top: calc(1155px + var(--sf-shift)); }
  body.page-sfn .sfn-portraits { top: calc(1481px + var(--sf-shift)); }
  body.page-sfn .sfn-next.portraits { top: calc(1693px + var(--sf-shift)); }
  body.page-sfn .sfn-plate { height: calc(1330px + var(--sf-shift)); }
}

/* The photo under the shifted copy moves with it. The original image is unchanged
   above the gallery, so that band stays pixel-identical. */
body.page-sfp .sfp::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(156px + var(--sf-shift));
  width: 1440px;
  height: 1263px;
  background: url("/media/sfp-bg-desk.webp") center / 100% 100% no-repeat;
  z-index: 0;
  pointer-events: none;
  clip-path: inset(914px 0 0 0);
}
body.page-sfn .sfn-bg-shift {
  position: absolute;
  left: 0;
  top: calc(133px + var(--sf-shift));
  width: 1440px;
  height: 1330px;
  object-fit: cover;
  object-position: center;
  opacity: 0.38;
  z-index: 0;
  pointer-events: none;
  clip-path: inset(883px 0 0 0);
}
body.page-sfn .sfn-bg-mask {
  position: absolute;
  left: 0;
  top: calc(1016px + var(--sf-shift));
  width: 1440px;
  height: 447px;
  background: #783A2E;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 1101px) {
  body.page-sfp .sfp::after {
    width: 100%;
    background-size: cover;
    background-position: center center;
  }
  body.page-sfn .sfn-bg-shift,
  body.page-sfn .sfn-bg-mask { width: 100%; }
}
@media (min-width: 1101px) and (max-width: 1287px) {
  /* The 1440 canvas is left-pinned, so the vendor button and About heading
     sit on x=720. A full-bleed grid would miss that line. Size the grid so
     its center stays on 720 and its right edge keeps a 16px gutter. */
  body.page-sfp,
  body.page-sft,
  body.page-sfn {
    --sf-w: min(1104px, calc(2 * (100vw - 736px)));
  }
  body.page-sfp .sfp > .sf-gallery,
  body.page-sft .sft > .sf-gallery,
  body.page-sfn .sfn > .sf-gallery {
    left: calc((1440px - var(--sf-w)) / 2);
    margin-left: 0;
  }
}
@media (max-width: 1100px) {
  body.page-sfp,
  body.page-sft,
  body.page-sfn {
    --sf-w: min(1104px, calc(100vw - 32px));
    --sf-h: round(nearest, calc(var(--sf-w) + var(--sf-gap)), 1px);
  }
  .sf-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  body.page-sfp .sfp::after {
    left: calc((1440px - 100vw) / 2);
    width: 100vw;
    background-image: url("/media/sfp-bg-tablet.webp");
    background-size: 100% 100%;
  }
  body.page-sfn .sfn-bg-shift,
  body.page-sfn .sfn-bg-mask {
    left: calc((1440px - 100vw) / 2);
    width: 100vw;
  }
}
@media (max-width: 430px) {
  body.page-sfp,
  body.page-sft {
    --sf-w: 296px;
    --sf-h: 308px;
    --sf-shift: 79px;
  }
  body.page-sfn {
    --sf-w: 296px;
    --sf-h: 308px;
    --sf-shift: 127px;
  }
  .sf-gallery { left: 12px; }
  body.page-sfp .sf-gallery { top: 386px; }
  body.page-sft .sf-gallery { top: 385px; }
  body.page-sfn .sf-gallery { top: 376px; }
  body.page-sfp .sfp { height: calc(959px + var(--sf-shift)); }
  body.page-sfp .sfp-about { top: calc(646px + var(--sf-shift)); }
  body.page-sfp .sfp-copy { top: calc(695px + var(--sf-shift)); }
  body.page-sfp .sfp-up { top: calc(616px + var(--sf-shift)); }
  body.page-sft .sft { height: calc(959px + var(--sf-shift)); }
  body.page-sft .sft-about { top: calc(643px + var(--sf-shift)); }
  body.page-sft .sft-copy { top: calc(694px + var(--sf-shift)); }
  body.page-sft .sft-up { top: calc(616px + var(--sf-shift)); }
  body.page-sfn .sfn { height: calc(1178px + var(--sf-shift)); }
  body.page-sfn .sfn-about { top: calc(582px + var(--sf-shift)); }
  body.page-sfn .sfn-copy { top: calc(633px + var(--sf-shift)); }
  body.page-sfn .sfn-portraits { top: calc(951px + var(--sf-shift)); }
  body.page-sfn .sfn-plate { height: calc(816px + var(--sf-shift)); }
  body.page-sfp .sfp::after {
    left: 0;
    top: calc(115px + var(--sf-shift));
    width: 320px;
    height: 844px;
    background-image: url("/media/sfp-bg-phone.webp");
    background-size: 100% 100%;
    clip-path: inset(500px 0 0 0);
  }
  body.page-sfn .sfn-bg-shift {
    left: 0;
    top: calc(115px + var(--sf-shift));
    width: 320px;
    height: 816px;
    clip-path: inset(441.864px 0 0 0);
  }
  body.page-sfn .sfn-bg-mask {
    left: 0;
    top: calc(556.864px + var(--sf-shift));
    width: 320px;
    height: 374.136px;
  }
}

/* Pull street-fest heroes up so the logo sits 28px under the Ride banner.
   Negative margin shifts absolute children without touching their left/width.
   Section height drops by the same amount so the footer follows. */
body.page-sfp,
body.page-sft {
  --sf-lift: 179px;
}
body.page-sfn {
  --sf-lift: 156px;
}
body.page-street-hub {
  --sf-hub-lift: 162px;
}
body.page-sfp .sfp,
body.page-sft .sft,
body.page-sfn .sfn,
body.page-street-hub .sfh {
  overflow: hidden;
}
body.page-sfp .sfp > *,
body.page-sft .sft > *,
body.page-sfn .sfn > *,
body.page-sfp .sfp::after,
body.page-sfn .sfn-bg-shift,
body.page-sfn .sfn-bg-mask {
  margin-top: calc(-1 * var(--sf-lift));
}
body.page-street-hub .sfh > * {
  margin-top: calc(-1 * var(--sf-hub-lift));
}
body.page-street-hub .sfh {
  height: calc(2223px - var(--sf-hub-lift));
  background-position: 0 calc(156px - var(--sf-hub-lift));
}
@media (min-width: 431px) {
  body.page-sfp .sfp,
  body.page-sft .sft {
    height: calc(1419px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-sfn .sfn {
    height: calc(1963px + var(--sf-shift) - var(--sf-lift));
  }
}
@media (max-width: 430px) {
  body.page-sfp,
  body.page-sft,
  body.page-sfn {
    --sf-lift: 107px;
  }
  body.page-street-hub {
    --sf-hub-lift: 107px;
  }
  body.page-sfp .sfp,
  body.page-sft .sft {
    height: calc(959px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-sfn .sfn {
    height: calc(1178px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-street-hub .sfh {
    height: calc(1305px - var(--sf-hub-lift));
    background-size: 100% 1190px;
    background-position: 0 calc(115px - var(--sf-hub-lift));
  }
}

/* 431–700 only: close the black band above Diamond Club Suites. */
@media (min-width: 431px) and (max-width: 700px) {
  body.page-suite .su-photo.dia,
  body.page-suite .su-h.dia,
  body.page-suite .su-lead.dia,
  body.page-suite .su-note.dia,
  body.page-suite .su-points.dia,
  body.page-suite .su-inquiry {
    margin-top: -269px;
  }
  body.page-suite .su {
    height: calc(4039px - 113px);
  }
}

/* Results chart, phone and tablet. The ProBullStats frame is cross-origin
   and its table needs 365px (WebKit lays it out a few pixels wider), so
   below that the frame is laid out at 384px and scaled to the viewport.
   Desktop (1101+) keeps the 980px frame. */
@media (max-width: 1100px) {
  body.page-results .live-board-page {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  body.page-results .live-board-scale {
    width: 100%;
    max-width: none;
    margin: 14px 0 48px;
    overflow: hidden;
  }
  body.page-results .live-board {
    width: 100%;
    max-width: none;
    height: 9436px;
    margin: 0;
  }
}
@media (max-width: 430px) {
  body.page-results .live-board-scale { margin: 22px 0 32px; }
  body.page-results .live-board { height: 15245px; }
  body.page-results-copy .live-board { height: 15116px; }
}
@media (max-width: 364px) {
  body.page-results .live-board-scale {
    container-type: inline-size;
    height: calc(15245px * 100cqi / 384px);
  }
  body.page-results-copy .live-board-scale {
    height: calc(15116px * 100cqi / 384px);
  }
  body.page-results .live-board {
    width: 384px;
    max-width: none;
    transform: scale(calc(100cqi / 384px));
    transform-origin: top left;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-results .live-board-scale {
    width: 100vw;
    margin-left: min(230px, calc((1440px - 100vw) / 2));
    margin-right: 0;
  }
}

/* Tampa phone and tablet. Desktop (1101+) keeps the baked collage
   and the 1440 stadium / Get Ready frames. */
body.page-tampa .tampa-phone-collage { display: none; }

@media (max-width: 1100px) {
  body.page-tampa .tampa-mosaic > picture { display: none; }
  body.page-tampa .tampa-phone-collage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body.page-tampa .tampa-phone-collage img {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-width: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0;
  }
  body.page-tampa .tampa-phone-collage img:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 3 / 2;
  }
  /* Tablet source is nearly square. Anchor the top so the baked
     logo and headline stay in frame and on the viewport center. */
  body.page-tampa .tampa-foot-bg {
    object-position: center top;
  }
}

@media (max-width: 430px) {
  body.page-tampa .tampa-wide {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 320 / 325;
    margin-left: 0;
    margin-right: 0;
    object-fit: cover;
    object-position: center 30%;
  }
  body.page-tampa .tampa-foot-bg {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 320 / 1023;
    margin-left: 0;
    margin-right: 0;
    object-fit: cover;
    object-position: center center;
  }
}

@media (min-width: 431px) and (max-width: 700px) {
  body.page-tampa .tampa-foot-bg {
    width: 100vw;
    max-width: none;
    height: 991px;
    margin-left: calc((1440px - 100vw) / 2);
    margin-right: 0;
    object-fit: cover;
    object-position: center top;
  }
}

/* Street fest footer photo and vendor form.
   The phone hero was a 320px box, so a wider phone showed dark strips.
   The photo now fills the viewport. Logo, headline, and form stay centered.
   Tampa's About copy sits 32/40/48px above the footer photo. New Orleans
   keeps its portrait row and closes the empty space above those portraits
   by the same targets, moving the portraits and the footer up together.
   Phoenix keeps its current About gap. */
@media (max-width: 430px) {
  body.page-sfp .sfp-foot-hero,
  body.page-sft .sft-foot-hero,
  body.page-sfn .sfn-foot-hero {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  body.page-sfp .sfp-foot-logo,
  body.page-sft .sft-foot-logo,
  body.page-sfn .sfn-foot-logo,
  body.page-sfp .sfp-foot-hero h2,
  body.page-sft .sft-foot-hero h2,
  body.page-sfn .sfn-foot-hero h2,
  body.page-sfp .sfp-cc,
  body.page-sft .sfp-cc,
  body.page-sfn .sfp-cc {
    left: 50%;
    transform: translateX(-50%);
  }
  body.page-sfn .sfp-cc { top: 342px; }
  body.page-sft .sft { height: auto; padding-bottom: 32px; }
  body.page-sft .sft > .sft-copy {
    position: relative;
    top: auto;
    margin-top: calc(694px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-sfn .sfn { height: auto; padding-bottom: 22px; }
  body.page-sfn .sfn > .sfn-copy {
    position: relative;
    top: auto;
    margin-top: calc(633px + var(--sf-shift) - var(--sf-lift));
    margin-bottom: 32px;
  }
  body.page-sfn .sfn > .sfn-portraits {
    position: relative;
    top: auto;
    margin-top: 0;
  }
}
@media (min-width: 431px) {
  body.page-sft .sft { height: auto; }
  body.page-sft .sft > .sft-copy {
    position: relative;
    top: auto;
    margin-top: calc(1205px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-sfn .sfn { height: auto; padding-bottom: 18px; }
  body.page-sfn .sfn > .sfn-copy {
    position: relative;
    top: auto;
    margin-top: calc(1155px + var(--sf-shift) - var(--sf-lift));
  }
  body.page-sfn .sfn > .sfn-portraits {
    position: relative;
    top: auto;
    margin-top: 0;
  }
  body.page-sfn .sfn-next.portraits {
    left: auto;
    right: 0;
    top: 50%;
    margin-top: 0;
    transform: translateY(-50%);
  }
}
@media (min-width: 431px) and (max-width: 1100px) {
  body.page-sft .sft { padding-bottom: 40px; }
  body.page-sfn .sfn > .sfn-copy { margin-bottom: 40px; }
}
@media (min-width: 1101px) {
  body.page-sft .sft { padding-bottom: 48px; }
  body.page-sfn .sfn > .sfn-copy { margin-bottom: 48px; }
}

/* Experience cards on Home, Phoenix, and Tampa share one set of rules
   through 1100px, so the phone stack and the tablet row cannot drift.
   Info-band cards are a different section and stay on their own rules.
   Nothing here applies at 1101px or wider. */
@media (max-width: 700px) {
  body.page-home .xp-band .xp-cols,
  body.page-phoenix .xp-band .xp-cols,
  body.page-tampa .xp-band .xp-cols {
    grid-template-columns: 1fr;
    gap: 18px;
    width: auto;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    justify-content: center;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-col,
  body.page-phoenix .xp-band .xp-col,
  body.page-tampa .xp-band .xp-col {
    align-items: center;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  body.page-home .xp-band .xp-col img,
  body.page-phoenix .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col:nth-child(3) img {
    display: block;
    width: 250px;
    max-width: 250px;
    height: 211px;
    aspect-ratio: 360 / 304;
    object-fit: cover;
    object-position: center;
    margin-left: auto;
    margin-right: auto;
  }
  body.page-home .xp-band .xp-card,
  body.page-phoenix .xp-band .xp-card,
  body.page-tampa .xp-band .xp-card {
    width: 100%;
    box-sizing: border-box;
    align-self: stretch;
  }
}

@media (max-width: 430px) {
  body.page-home .xp-band .xp-card,
  body.page-phoenix .xp-band .xp-card,
  body.page-tampa .xp-band .xp-card {
    min-height: 0;
    padding: 12px 10px 14px;
  }
  body.page-home .xp-band .xp-card h3,
  body.page-phoenix .xp-band .xp-card h3,
  body.page-tampa .xp-band .xp-card h3 {
    font-size: 26px;
    line-height: 1.05;
    margin: 0 0 6px;
    text-transform: none;
    letter-spacing: 0;
  }
  body.page-home .xp-band .xp-card .time,
  body.page-phoenix .xp-band .xp-card .time,
  body.page-tampa .xp-band .xp-card .time {
    font-size: 18px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  body.page-home .xp-band .xp-card p,
  body.page-phoenix .xp-band .xp-card p,
  body.page-tampa .xp-band .xp-card p {
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
  }
}

@media (min-width: 431px) and (max-width: 700px) {
  body.page-home .xp-band .xp-card,
  body.page-phoenix .xp-band .xp-card,
  body.page-tampa .xp-band .xp-card {
    min-height: 200px;
    padding: 18px 16px 24px;
  }
  body.page-home .xp-band .xp-card h3,
  body.page-phoenix .xp-band .xp-card h3,
  body.page-tampa .xp-band .xp-card h3 {
    font-size: 24px;
    line-height: 1.05;
    margin: 0 0 6px;
    text-transform: none;
    letter-spacing: 0;
  }
  body.page-home .xp-band .xp-card .time,
  body.page-phoenix .xp-band .xp-card .time,
  body.page-tampa .xp-band .xp-card .time {
    font-size: 25px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  body.page-home .xp-band .xp-card p,
  body.page-phoenix .xp-band .xp-card p,
  body.page-tampa .xp-band .xp-card p {
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
  }
}

@media (min-width: 701px) and (max-width: 1099px) {
  body.page-phoenix .xp-band,
  body.page-tampa .xp-band {
    width: 100vw;
    max-width: none;
    margin-left: calc((1440px - 100vw) / 2);
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-cols,
  body.page-phoenix .xp-band .xp-cols,
  body.page-tampa .xp-band .xp-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 3vw, 58px);
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: stretch;
  }
  body.page-home .xp-band .xp-col,
  body.page-phoenix .xp-band .xp-col,
  body.page-tampa .xp-band .xp-col {
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
    width: auto;
  }
  body.page-home .xp-band .xp-col img,
  body.page-phoenix .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col:nth-child(3) img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 360 / 304;
    object-fit: cover;
    object-position: center;
    margin: 0;
  }
  body.page-home .xp-band .xp-card,
  body.page-phoenix .xp-band .xp-card,
  body.page-tampa .xp-band .xp-card {
    width: auto;
    max-width: 100%;
    min-height: 200px;
    padding: 18px 16px 24px;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-card h3,
  body.page-phoenix .xp-band .xp-card h3,
  body.page-tampa .xp-band .xp-card h3,
  body.page-home .xp-band .xp-card .time,
  body.page-phoenix .xp-band .xp-card .time,
  body.page-tampa .xp-band .xp-card .time,
  body.page-home .xp-band .xp-card p,
  body.page-phoenix .xp-band .xp-card p,
  body.page-tampa .xp-band .xp-card p {
    max-width: 100%;
    overflow-wrap: break-word;
  }
  body.page-home .xp-band .xp-card h3,
  body.page-phoenix .xp-band .xp-card h3,
  body.page-tampa .xp-band .xp-card h3 {
    font-size: 40px;
    line-height: 1.05;
    margin: 0 0 6px;
    text-transform: none;
    letter-spacing: 0;
  }
  body.page-home .xp-band .xp-card .time,
  body.page-phoenix .xp-band .xp-card .time,
  body.page-tampa .xp-band .xp-card .time {
    font-size: 25px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  body.page-home .xp-band .xp-card p,
  body.page-phoenix .xp-band .xp-card p,
  body.page-tampa .xp-band .xp-card p {
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
  }
}

@media (min-width: 1100px) and (max-width: 1100px) {
  body.page-phoenix .xp-band,
  body.page-tampa .xp-band {
    width: 1440px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-cols,
  body.page-phoenix .xp-band .xp-cols,
  body.page-tampa .xp-band .xp-cols {
    grid-template-columns: repeat(3, 360px);
    gap: 58px;
    width: 1196px;
    max-width: none;
    padding: 0;
    justify-content: start;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-cols {
    margin-left: calc((100% - 1196px) / 2);
    margin-right: 0;
  }
  body.page-phoenix .xp-band .xp-cols,
  body.page-tampa .xp-band .xp-cols {
    margin-left: calc((1440px - 1196px) / 2);
    margin-right: 0;
  }
  body.page-home .xp-band .xp-col,
  body.page-phoenix .xp-band .xp-col,
  body.page-tampa .xp-band .xp-col {
    align-items: stretch;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  body.page-home .xp-band .xp-col img,
  body.page-phoenix .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col img,
  body.page-tampa .xp-band .xp-col:nth-child(3) img {
    display: block;
    width: 360px;
    max-width: none;
    height: 304px;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    margin: 0;
  }
  body.page-home .xp-band .xp-card,
  body.page-phoenix .xp-band .xp-card,
  body.page-tampa .xp-band .xp-card {
    width: auto;
    min-height: 200px;
    padding: 18px 16px 24px;
    box-sizing: border-box;
  }
  body.page-home .xp-band .xp-card h3,
  body.page-phoenix .xp-band .xp-card h3,
  body.page-tampa .xp-band .xp-card h3 {
    font-size: 40px;
    line-height: 1.05;
    margin: 0 0 6px;
    text-transform: none;
    letter-spacing: 0;
  }
  body.page-home .xp-band .xp-card .time,
  body.page-phoenix .xp-band .xp-card .time,
  body.page-tampa .xp-band .xp-card .time {
    font-size: 25px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  body.page-home .xp-band .xp-card p,
  body.page-phoenix .xp-band .xp-card p,
  body.page-tampa .xp-band .xp-card p {
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
  }
}

@media (max-width: 1100px) {
  body.page-phoenix .xp-band .xp-br-phone::before,
  body.page-phoenix .xp-band .xp-br-tab::before {
    content: none;
  }
}

/* Phone and tablet: the signup card sits 34px under the Get Ready headline.
   Tampa's headline is baked into the photo, so the offset is that line's
   bottom (phone y 231 of 320, tablet y 300 while the cover scale is 1,
   then 300/980 once the tablet frame is wider than the source).
   New Orleans has a real heading, so the card follows it.
   The hero keeps its photo and grows only when the card needs more room.
   Nothing here applies at 1101px or wider. */
@media (max-width: 1100px) {
  body.page-tampa .tampa-foot-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    /* Photo edge is #161a1e. Match it if a tall card grows the hero. */
    background-color: #161a1e;
  }
  body.page-tampa .tampa-foot-hero picture {
    grid-area: 1 / 1;
    align-self: start;
    justify-self: stretch;
    min-width: 0;
    min-height: 0;
  }
  body.page-tampa .tampa-foot-hero .signup-box {
    grid-area: 1 / 1;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
    align-self: start;
    justify-self: center;
    z-index: 2;
    width: min(480px, calc(100% - 32px));
    margin-bottom: 28px;
  }
}
/* Tablet photo is a fixed 991px cover. A tall signup card still has to sit
   on the photo, so the margin under the card is dropped and, once the
   frame is wider than the source, the same picture continues behind the
   card instead of leaving the #111 hero color. */
@media (max-width: 430px) {
  body.page-tampa .tampa-foot-hero {
    /* The phone photo is fully shown. If the card is taller than that
       frame, this cover layer fills the side gutters so they stay photo. */
    background-image: url("/media/tampa-footer-phone.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
  }
  body.page-tampa .tampa-foot-hero .signup-box {
    margin-top: calc(231 / 320 * 100% + 34px);
    margin-bottom: 0;
  }
  body.page-nola .nola-foot-hero {
    height: auto;
    min-height: 1023px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 172px;
    padding-bottom: 28px;
  }
  body.page-nola .nola-foot-hero > h2 {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: 220px;
    margin: 0;
  }
  body.page-nola .nola-foot-hero .signup-box {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    margin-top: 34px;
    width: min(480px, calc(100% - 32px));
  }
}
@media (min-width: 431px) and (max-width: 980px) {
  body.page-tampa .tampa-foot-hero .signup-box {
    margin-top: 334px;
    margin-bottom: 0;
  }
}
@media (min-width: 981px) and (max-width: 1100px) {
  body.page-tampa .tampa-foot-hero {
    background-image: url("/media/tampa-footer-tablet.webp");
    background-repeat: no-repeat;
    background-position: calc((1440px - 100vw) / 2) 0;
    background-size: 100vw auto;
  }
  body.page-tampa .tampa-foot-hero .signup-box {
    margin-top: calc(300 / 980 * 100vw + 34px);
    margin-bottom: 0;
  }
}
@media (min-width: 431px) and (max-width: 1100px) {
  body.page-nola .nola-foot-hero {
    height: auto;
    min-height: 991px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 174px;
    padding-bottom: 28px;
  }
  body.page-nola .nola-foot-hero > h2 {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin: 0;
  }
  body.page-nola .nola-foot-hero .signup-box {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    margin-top: 34px;
    width: min(480px, calc(100% - 32px));
  }
}

/* New Orleans street fest, phone and tablet only.
   The two lineup posters sit inside the About plate with 16px of plate
   around them. The plate and its rust mask grow to the section bottom.
   The footer logo sits 30px under the photo on phones and 40px on tablet,
   and the headline and vendor form keep their current gaps.
   Nothing here applies at 1101px or wider. */
@media (max-width: 1100px) {
  body.page-sfn .sfn {
    padding-bottom: 16px;
  }
  body.page-sfn .sfn-plate,
  body.page-sfn .sfn-bg-mask {
    height: auto;
    bottom: 0;
  }
  body.page-sfn .sfn > .sfn-portraits {
    position: relative;
    top: auto;
    left: auto;
    height: auto;
    margin: 0 16px;
    width: auto;
    max-width: none;
    overflow: visible;
    transform: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
  }
  body.page-sfn .sfn > .sfn-portraits img:nth-child(n) {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    min-width: 0;
    aspect-ratio: 371 / 464;
    object-fit: cover;
    display: block;
  }
  body.page-sfn .sfn > .sfn-portraits img:nth-child(n + 3),
  body.page-sfn .sfn-next.portraits {
    display: none !important;
  }
}
@media (min-width: 431px) and (max-width: 1100px) {
  body.page-sfn .sfn > .sfn-portraits {
    margin: 0;
    margin-left: calc((1440px - 100vw) / 2 + 16px);
    width: calc(100vw - 32px);
  }
  body.page-sfn .sfn-foot-logo { top: 40px; }
  body.page-sfn .sfn-foot-hero h2 { top: 174px; }
  body.page-sfn .sfp-cc { top: 333px; }
  body.page-sfn .sfn-foot-hero { height: 833px; }
}
@media (max-width: 430px) {
  body.page-sfn .sfn-foot-logo { top: 30px; }
  body.page-sfn .sfn-foot-hero h2 { top: 116px; }
  body.page-sfn .sfp-cc { top: 172px; }
  body.page-sfn .sfn-foot-hero { height: 841px; }
}

/* One complete photo per slide.
   Phoenix collage and the home champion row clip a photo at every audited
   width, so both are a filmstrip everywhere. New Orleans street-fest
   portraits are the two-poster plate at every width. */
body.page-phoenix .phoenix-collage-mosaic {
  height: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden;
  contain: inline-size;
}
body.page-phoenix .phoenix-collage-track {
  display: block;
  height: auto !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  container-type: inline-size;
  -webkit-overflow-scrolling: touch;
}
body.page-phoenix .phoenix-collage-track::-webkit-scrollbar { display: none; }
body.page-phoenix .phoenix-collage-canvas {
  display: flex !important;
  width: max-content !important;
  height: auto !important;
  transform: none !important;
}
body.page-phoenix .phoenix-collage-canvas .gallery-item {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 100cqi;
  width: 100cqi !important;
  height: min(520px, 68vw) !important;
  margin: 0;
  padding: 8px 56px;
  box-sizing: border-box;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #232222;
}
body.page-phoenix .phoenix-collage-canvas .gallery-item img,
body.page-phoenix .phoenix-collage-mosaic .gallery-item img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center;
}
body.page-home .champ-carousel {
  max-width: 100%;
  contain: inline-size;
}
body.page-home .champ-track {
  width: 100%;
  max-width: 100%;
  gap: 0 !important;
  padding: 0 !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
body.page-home .champ-card {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}
body.page-home .champ-card img {
  width: auto !important;
  height: min(411px, 62vh) !important;
  max-width: calc(100% - 96px) !important;
  flex: none !important;
  flex-basis: auto !important;
  object-fit: contain !important;
  object-position: center top;
}
/* Desktop (1101+, above the 430px phone canvas and the 1100px tablet
   ceiling). Same two lineup posters as the phone plate: side by side,
   centered, arrows hidden, rust plate grown to the section bottom so the
   row sits between the About copy and the footer logo. */
@media (min-width: 1101px) {
  body.page-sfn .sfn {
    padding-bottom: 16px;
  }
  body.page-sfn .sfn-plate,
  body.page-sfn .sfn-bg-mask {
    height: auto;
    bottom: 0;
  }
  body.page-sfn .sfn > .sfn-portraits {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    width: min(1193px, calc(100vw - 32px));
    max-width: min(1193px, calc(100vw - 32px));
    margin-top: 0;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible;
    transform: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    scroll-snap-type: none;
  }
  body.page-sfn .sfn > .sfn-portraits img:nth-child(n) {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    min-width: 0;
    aspect-ratio: 371 / 464;
    object-fit: cover;
    object-position: center;
    display: block;
    flex: none;
  }
  body.page-sfn .sfn > .sfn-portraits img:nth-child(n + 3),
  body.page-sfn .sfn-next.portraits {
    display: none !important;
  }
}

/* Home: Phoenix layered city card (Chase Field + live lineup text) */
body.page-home .city-card a.phx-card {
  position: relative; display: block; width: 100%; aspect-ratio: 1 / 1;
  overflow: hidden; border-radius: 10px; margin: 0 0 16px;
  container-type: inline-size; color: #fff; text-decoration: none;
  box-shadow: 0 0 28px 6px rgba(109, 50, 24, .75);
  transition: transform .25s ease, box-shadow .25s ease;
  -webkit-tap-highlight-color: transparent;
}
body.page-home .city-card a.phx-card:hover,
body.page-home .city-card a.phx-card:focus-visible { transform: scale(1.03); }
body.page-home .city-card a.phx-card:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  body.page-home .city-card a.phx-card { transition: none; }
  body.page-home .city-card a.phx-card:hover,
  body.page-home .city-card a.phx-card:focus-visible { transform: none; }
}
@media (max-width: 700px) { body.page-home .city-card a.phx-card { margin: 0; } }
body.page-home .city-card a.phx-card img.phx-card-img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
  margin: 0; object-fit: cover; object-position: 50% 50%; display: block;
}
.phx-card-shade {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,0) 40%),
    linear-gradient(to bottom, rgba(0,0,0,0) 58%, rgba(0,0,0,.94) 100%);
}
.phx-card-text {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  justify-content: space-between; padding: 4.2cqw 4cqw 4.6cqw;
  font-family: var(--display); line-height: 1.12; letter-spacing: 0;
}
.phx-lineup { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.phx-night {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  min-width: 0; padding: 0 .8cqw; gap: .5cqw;
}
.phx-night + .phx-night { border-left: 1px solid rgba(212, 175, 55, .85); }
.phx-day { color: #d4af37; font-size: 3.3cqw; white-space: nowrap; }
.phx-head { color: #fff; font-size: 3.95cqw; font-weight: 700; white-space: nowrap; }
.phx-open { color: rgba(255,255,255,.88); font-family: var(--sans); font-size: 2.05cqw; font-weight: 300; letter-spacing: -.01em; white-space: nowrap; }
.phx-foot { display: flex; flex-direction: column; align-items: flex-start; gap: 1.6cqw; }
.phx-city { color: #fff; font-size: 13cqw; font-weight: 700; line-height: .95; letter-spacing: .01em; }
.phx-when { color: #d4af37; font-size: 4cqw; white-space: nowrap; }
.phx-cta {
  color: #fff; font-size: 3.6cqw; white-space: nowrap; margin-top: .6cqw;
  border: max(1px, .35cqw) solid #d4af37; border-radius: 1cqw; padding: 1.3cqw 3cqw;
}
/* Square Phoenix card is a few px taller than its 327:319 neighbours; pull the
   button row back up so the row height (and everything below) is unchanged. */
@media (min-width: 701px) and (max-width: 1099px) {
  body.page-home .city-card a.phx-card { margin-bottom: calc(16px - 100% * 8 / 327); }
}
@media (min-width: 1100px) {
  body.page-home .city-card a.phx-card { margin-bottom: calc(16px + 319px - 100%); }
}
/* Home: Tampa layered card reuses the Phoenix card classes; longer lines get smaller type. */
.tpa-card .phx-open { font-size: 1.75cqw; letter-spacing: -.02em; }
.tpa-card .phx-when { font-size: 3.15cqw; }
/* Phoenix sponsors: single wide Valley Chevy Dealers lockup (≈7.4:1). */
body.page-phoenix .sponsors-logos-row img.sponsor-wide {
  height: auto !important;
  max-height: 52px !important;
  width: 340px !important;
  max-width: 100% !important;
  flex: 0 1 340px !important;
  min-width: 0;
}
@media (max-width: 700px) {
  body.page-phoenix .sponsors-logos-row img.sponsor-wide { width: 280px !important; flex-basis: 100% !important; max-height: 40px !important; }
}
/* Home: New Orleans layered card — Superdome band on near-black, lineup TBA. */
body.page-home .city-card a.phx-card.nola-card { background: #0c0a08; }
body.page-home .city-card a.phx-card.nola-card img.phx-card-img {
  inset: auto 0 auto 0; top: 29%; height: auto; aspect-ratio: 1080 / 491;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 16%, #000 80%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 16%, #000 80%, transparent 100%);
}
.nola-top { display: flex; flex-direction: column; align-items: center; gap: 1cqw; padding-top: 2.2cqw; }
.nola-card .nola-top .phx-day { font-size: 3.4cqw; }
.nola-soon { color: #fff; font-size: 7cqw; line-height: 1; white-space: nowrap; }
.nola-card .phx-city { font-size: 12cqw; white-space: nowrap; }
.nola-card .phx-when { font-size: 3.4cqw; }
/* Home: bigger lineup block on the Phoenix + Tampa layered cards (NOLA unchanged). */
.phx-card:not(.nola-card) .phx-card-shade { background:
    linear-gradient(to bottom, rgba(0,0,0,.92) 0%, rgba(0,0,0,.75) 30%, rgba(0,0,0,0) 52%),
    linear-gradient(to bottom, rgba(0,0,0,0) 58%, rgba(0,0,0,.94) 100%); }
.phx-card:not(.nola-card) .phx-night { gap: 1cqw; padding: 0 1cqw; }
.phx-card:not(.nola-card) .phx-day { font-size: 4.4cqw; }
.phx-card:not(.nola-card) .phx-head { font-size: 6.2cqw; line-height: 1.02; white-space: normal; overflow-wrap: anywhere; }
.phx-card:not(.nola-card) .phx-open { font-size: 3.1cqw; letter-spacing: 0; white-space: normal; line-height: 1.15; }
/* Phoenix sponsors, desktop: keep the single Wix-style row but scale logo
   heights with the viewport so the whole row fits inside the content width. */
@media (min-width: 1101px) {
  body.page-phoenix .sponsors-band-white .sponsors-logos.sponsors-logos-row {
    --sp-h: min(95px, calc((100vw - 260px) / 14.6), calc((var(--phoenix-rail) - 200px) / 14.6));
    min-height: 95px;
    align-items: center !important;
    width: min(calc(100% - 64px), var(--phoenix-rail)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: space-evenly !important;
    gap: 0 24px !important;
  }
  body.page-phoenix .sponsors-band-white .sponsors-logos.sponsors-logos-row img {
    flex: 0 0 auto !important;
    height: var(--sp-h) !important;
    max-height: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
  body.page-phoenix .sponsors-band-white .sponsors-logos.sponsors-logos-row img.sponsor-wide {
    height: calc(var(--sp-h) * .5) !important;
  }
}
/* Home: New Orleans card — larger stacked "COMING / SOON" lineup teaser. */
.nola-card .nola-top .phx-day { font-size: 4.25cqw; }
.nola-card .nola-soon { font-size: 11cqw; white-space: normal; text-align: center; line-height: .95; }
/* Home: lineup v3 on the Phoenix + Tampa cards (bigger headliners/openers, longer fade). */
.phx-card:not(.nola-card) .phx-card-shade { background:
    linear-gradient(to bottom, rgba(0,0,0,.92) 0%, rgba(0,0,0,.8) 42%, rgba(0,0,0,0) 62%),
    linear-gradient(to bottom, rgba(0,0,0,0) 58%, rgba(0,0,0,.94) 100%); }
.phx-card:not(.nola-card) .phx-night { padding: 0; }
.phx-card:not(.nola-card) .phx-head { font-size: 7.44cqw; overflow-wrap: normal; letter-spacing: -.03em; }
.phx-card:not(.nola-card) .phx-open { font-size: 4.65cqw; overflow-wrap: normal; letter-spacing: -.03em; }
/* Constant Contact inline signup form inside the existing white signup card. */
.signup-box.cc-signup-box { padding: 0 !important; overflow: hidden; min-height: 480px; }
.cc-signup-box .ctct-inline-form .ctct-form-defaults { padding: 24px 24px 28px !important; border-radius: inherit; }
.cc-signup-box .ctct-inline-form .ctct-form-header { margin-top: 0 !important; }
/* New Orleans: the hero heading rules (.nola-foot-hero h2) must not reach the CC form's headings. */
body.page-nola .nola-foot-hero .cc-signup-box h2 {
  position: static !important; top: auto !important; left: auto !important; right: auto !important;
  width: auto !important; text-align: left !important;
}
/* Home Tampa card: Sunday opener (The Red Clay Strays) set in the headliner style. */
.tpa-card .phx-open.phx-open-head { color: #fff; font-family: var(--display); font-size: 7.44cqw; font-weight: 700; line-height: 1.02; letter-spacing: -.03em; white-space: normal; overflow-wrap: normal; }
/* The headliner-size opener adds 2 × (7.44×1.02 − 4.65×1.15) cqw; hand it back so the lineup row (and everything else) keeps its height. */
.tpa-card .phx-night:nth-child(3) .phx-head,
.tpa-card .phx-night:nth-child(3) .phx-open.phx-open-head { font-size: 5.786cqw; line-height: 1.02; }
.tpa-card .phx-night:nth-child(3) .phx-open.phx-open-head { max-width: 16.8cqw; }
/* Hold the lineup row at its previous height (old 25.8726cqw − new 23.6069cqw block) so the Fri|Sat divider keeps its length. */
.tpa-card .phx-night:nth-child(3) { padding-bottom: 2.2657cqw; }
/* Home: city poster cards (plain poster image per city; copper glow + hover grow kept from .phx-card). */
body.page-home .city-card a.phx-card.poster-card { aspect-ratio: auto; height: auto; container-type: normal; }
body.page-home .city-card a.phx-card.poster-card img.poster-img {
  position: static; display: block; width: 100%; max-width: none; height: auto;
  aspect-ratio: auto; object-fit: fill; margin: 0; border-radius: 0;
}
body.page-home .city-card:has(> a.poster-card) { display: flex; flex-direction: column; }
body.page-home .city-card > a.poster-card + .btn-row { margin-top: auto; }
/* Tablet + phone: one poster per row at full usable width (max 560px), buttons beneath. */
@media (max-width: 1099px) {
  body.page-home .city-row {
    display: grid; grid-template-columns: minmax(0, 560px); justify-content: center;
    row-gap: 48px; column-gap: 0; width: 100%; max-width: none; margin-left: 0; margin-right: 0;
    padding-left: 20px; padding-right: 20px; box-sizing: border-box;
  }
  body.page-home .city-card { width: 100%; max-width: none; margin: 0; gap: 16px; }
  body.page-home .city-card > a.phx-card.poster-card { width: 100%; margin: 0; }
  body.page-home .city-card > a.poster-card + .btn-row {
    display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: stretch; gap: 12px; margin: 0;
  }
  body.page-home .city-card > a.poster-card + .btn-row .btn { flex: 1 1 0; width: auto; min-width: 0; max-width: none; margin: 0; }
}
@media (max-width: 1099px) {
  body.page-home .city-card:nth-child(3) { grid-column: auto; width: 100%; }
}

/* Home: PICK YOUR RODEO label above the city posters (reuses .about + .display.lg). */
body.page-home .about.pick-rodeo { padding-bottom: 8px; margin: 0; }
body.page-home .about.pick-rodeo h2.display { margin-bottom: 0; }
/* Center CHOOSE YOUR RODEO over the posters on phone + tablet (About keeps its own layout). */
@media (max-width: 1100px) {
  body.page-home .about.pick-rodeo { width: 100%; max-width: none; margin: 0; padding-left: 0; padding-right: 0; box-sizing: border-box; }
  body.page-home .about.pick-rodeo h2.display { width: auto; max-width: 100%; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; }
}
/* Stacked posters (<1100px): Learn More + Get Updates span exactly the poster width, single-line pills. */
@media (max-width: 1099px) {
  body.page-home .city-card > a.poster-card + .btn-row {
    align-self: stretch; width: 100%; max-width: none; box-sizing: border-box;
    display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 12px; padding: 0; margin: 0;
  }
  body.page-home .city-card > a.poster-card + .btn-row .btn,
  body.page-home .city-card > a.poster-card + .btn-row .btn.gold {
    flex: 1 1 0; width: auto; min-width: 0; max-width: none; margin: 0;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 10px; font-size: 16px; line-height: 1; white-space: nowrap; box-sizing: border-box;
  }
}
/* Phone: tuck the posters up under CHOOSE YOUR RODEO so it reads as their label. */
@media (max-width: 700px) {
  body.page-home .about.pick-rodeo + .city-row { margin-top: 4px; }
}
/* Home: one continuous, faint sunset behind CHOOSE YOUR RODEO, the city posters and ABOUT HONDO RODEO.
   Dark-dominant with a gentle warm peak; opaque until the last stretch, then fades to transparent so it
   hands off to the red glow at the bottom of main::before (the home background image) near the video. */
body.page-home .home-sunset {
  background: linear-gradient(180deg,
    #120c0a 0%,
    #1d0e0b 18%,
    #2e150e 36%,
    #4a2414 56%,
    #3c1d11 72%,
    #2a120e 84%,
    rgba(42, 18, 14, .6) 93%,
    rgba(17, 17, 17, 0) 100%);
}
/* Home city posters + buttons: offset drop shadow so they read as clickable (copper glow kept). */
body.page-home .city-card a.phx-card.poster-card {
  box-shadow: 0 0 28px 6px rgba(109, 50, 24, .75), 0 8px 18px rgba(0, 0, 0, .55);
  transition: transform .25s ease, box-shadow .25s ease;
}
body.page-home .city-card > a.poster-card + .btn-row .btn {
  box-shadow: 0 6px 14px rgba(0, 0, 0, .5);
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
/* Mouse/trackpad only: brighter warm halo behind the hovered poster, gentle lift on buttons. */
@media (hover: hover) and (pointer: fine) {
  body.page-home .city-card a.phx-card.poster-card:hover,
  body.page-home .city-card a.phx-card.poster-card:focus-visible {
    box-shadow: 0 0 44px 12px rgba(224, 122, 46, .85), 0 0 28px 6px rgba(109, 50, 24, .75), 0 12px 24px rgba(0, 0, 0, .55);
  }
  body.page-home .city-card > a.poster-card + .btn-row .btn:hover,
  body.page-home .city-card > a.poster-card + .btn-row .btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 0 14px 2px rgba(224, 122, 46, .55), 0 9px 18px rgba(0, 0, 0, .55);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .city-card > a.poster-card + .btn-row .btn { transition: none; }
  body.page-home .city-card > a.poster-card + .btn-row .btn:hover { transform: none; }
}
/* Desktop (posters side by side): tighten "Choose your rodeo" -> posters gap to ~22px. */
@media (min-width: 1100px) {
  body.page-home .about.pick-rodeo + .city-row { margin-top: 14px; }
}
/* Phone: tighten button row -> next poster gap (48px -> 22px). */
@media (max-width: 700px) {
  body.page-home .home-sunset .city-row { row-gap: 22px; }
}

/* Home champion detail. Closed carousel rules above are unchanged.
   The panel is display:none until a card opens it. */
body.page-home .champ-detail[hidden] { display: none !important; }
body.page-home .champ-detail {
  background: #fff;
  color: #272827;
  padding: 12px 32px 40px;
}
body.page-home .champs.is-open { padding-bottom: 0; }
body.page-home .champs.is-open .champ-track,
body.page-home .champs.is-open .champ-nav { display: none !important; }
body.page-home .champ-detail-back {
  appearance: none;
  background: transparent;
  border: 0;
  color: #272827;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1;
  min-height: 44px;
  padding: 8px 2px;
  margin: 0 0 12px;
}
body.page-home .champ-detail-back:focus-visible {
  outline: 2px solid #272827;
  outline-offset: 3px;
}
body.page-home .champ-detail-body {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(220px, 1fr);
  gap: 36px 48px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
body.page-home .champ-detail-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
body.page-home .champ-detail img {
  width: auto;
  height: auto;
  max-width: min(460px, 42vw);
  max-height: min(68vh, 620px);
  object-fit: contain;
  object-position: center top;
}
body.page-home .champ-detail-copy h3 {
  font-family: var(--display);
  font-weight: 400;
  font-size: 40px;
  line-height: 1.15;
  color: #272827;
  margin: 0 0 12px;
  letter-spacing: 0;
  text-transform: none;
}
body.page-home .champ-detail-copy p {
  margin: 0;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.4;
  color: #5D5E5D;
}
@media (max-width: 700px) {
  body.page-home .champ-detail { padding: 8px 16px 96px; }
  body.page-home .champ-detail-body {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 16px;
  }
  body.page-home .champ-detail img {
    max-width: min(100%, 420px);
    max-height: min(58vh, 480px);
  }
  body.page-home .champ-detail-copy h3 { font-size: 28px; }
}

/* Phoenix hero on short landscape screens (e.g. Tesla in-car browser ~1180x620).
   The 1440px fixed layout centres a 1304x629 hero, so any viewport narrower than 1304px crops
   the art on both sides, and the packages pop (top:500px, 218px tall) hangs below the fold.
   Here the hero scales to fit both the viewport width and the height left under the header,
   and the pop is scaled and pinned inside the hero's bottom-left corner. */
@media (min-width: 701px) and (max-height: 760px) and (min-aspect-ratio: 3/2) {
  body.page-phoenix .phoenix-hero {
    --phx-hw: min(1304px, 100vw, calc((100vh - 112px) * 1304 / 629));
    --phx-s: calc(var(--phx-hw) / 1304px);
  }
  body.page-phoenix .phoenix-hero img {
    width: var(--phx-hw);
    max-width: var(--phx-hw);
    height: auto;
    aspect-ratio: 1304 / 629;
    object-fit: contain;
  }
  body.page-phoenix .phoenix-hero .phx-pack {
    left: calc(50% - var(--phx-hw) / 2 + 12px);
    top: auto;
    bottom: 10px;
    transform: scale(min(1, calc(var(--phx-hw) / 1304px * 1.15)));
    transform-origin: left bottom;
    max-height: calc(100vh - 24px);
  }
}

/* Phoenix phone (<=430px layout): lineup hero spans the full dark panel uncropped;
   host-hotel banners nearly full width (6px sides) so their text reads larger. */
@media (max-width: 430px) {
  body.page-phoenix .phoenix-hero img {
    width: 100%;
    max-width: 100%;
    height: round(down, calc(100vw * 629 / 1304), 1px);
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }
  body.page-phoenix .phoenix-hotels .hotel-stack {
    width: calc(100vw - 12px) !important;
    max-width: none !important;
    margin-left: calc((100% - 100vw + 12px) / 2) !important;
    margin-right: 0 !important;
    padding: 0 !important;
    align-self: flex-start;
  }
  body.page-phoenix .phoenix-hotels .hotel-stack a { width: 100% !important; padding: 0 !important; margin: 0 !important; }
  body.page-phoenix .phoenix-hotels .hotel-stack img.ac,
  body.page-phoenix .phoenix-hotels .hotel-stack img.hilton {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
  }
  /* whole-pixel heights so nothing below shifts by a sub-pixel */
  body.page-phoenix .phoenix-hotels .hotel-stack img.ac { height: round(down, calc((100vw - 12px) * 235 / 825), 1px) !important; }
  body.page-phoenix .phoenix-hotels .hotel-stack img.hilton { height: round(down, calc((100vw - 12px) * 305 / 814), 1px) !important; }
}

/* Phoenix 2026 sponsors: auto-rotating logo carousel (13 brands, duplicated once for a seamless loop).
   2 visible on phone, 3 on small tablet, 4 on tablet, 5 on desktop. Pauses on hover / keyboard focus;
   with reduced motion it becomes a swipeable, snapping row with no animation. */
body.page-phoenix .phx-spx {
  --spx-n: 5;
  --spx-w: calc(min(100vw - 32px, 1240px) / var(--spx-n));
  width: min(100vw - 32px, 1240px);
  margin: 0 auto;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
body.page-phoenix .phx-spx-track {
  display: flex;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: phx-spx-roll 45s linear infinite;
}
body.page-phoenix .phx-spx:hover .phx-spx-track,
body.page-phoenix .phx-spx:focus-within .phx-spx-track { animation-play-state: paused; }
body.page-phoenix .phx-spx-track li { flex: 0 0 var(--spx-w); width: var(--spx-w); margin: 0; padding: 0; }
body.page-phoenix .phx-spx-track a {
  display: flex; align-items: center; justify-content: center;
  height: 100px; padding: 0 18px; box-sizing: border-box;
  border-radius: 6px;
}
body.page-phoenix .phx-spx-track a:focus-visible { outline: 2px solid var(--brown, #5a2e1a); outline-offset: -2px; }
body.page-phoenix .phx-spx-track img {
  display: block; width: auto; height: auto;
  max-width: 100%; max-height: 72px;
  object-fit: contain;
}
@keyframes phx-spx-roll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 1100px) { body.page-phoenix .phx-spx { --spx-n: 4; } }
@media (max-width: 700px) {
  body.page-phoenix .phx-spx { --spx-n: 3; }
  body.page-phoenix .phx-spx-track a { height: 84px; padding: 0 12px; }
  body.page-phoenix .phx-spx-track img { max-height: 58px; }
}
@media (max-width: 480px) { body.page-phoenix .phx-spx { --spx-n: 2; } }
@media (prefers-reduced-motion: reduce) {
  body.page-phoenix .phx-spx { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-mask-image: none; mask-image: none; }
  body.page-phoenix .phx-spx-track { animation: none; }
  body.page-phoenix .phx-spx-track li { scroll-snap-align: start; }
  body.page-phoenix .phx-spx-track li[aria-hidden="true"] { display: none; }
}

/* Phoenix 2026 athletes: text-only carousel of rodeo events (above Host Hotels).
   1 slide on phone, 2 on tablet, 3 on desktop. Native swipe via scroll-snap; arrows + autoplay in page JS. */
body.page-phoenix .phx-athletes {
  background: #272827;
  color: var(--cream);
  padding: 44px 0 52px;
  text-align: center;
}
body.page-phoenix .phx-athletes > h2 {
  margin: 0 0 24px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: .02em;
  color: var(--cream);
  text-transform: uppercase;
}
body.page-phoenix .ath-carousel {
  --ath-n: 3;
  --ath-gap: 20px;
  --ath-cw: min(100vw - 120px, 1200px);
  --ath-w: calc((var(--ath-cw) - (var(--ath-n) - 1) * var(--ath-gap)) / var(--ath-n));
  position: relative;
  width: var(--ath-cw);
  margin: 0 auto;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
/* Continuous marquee like the sponsors carousel: the slide list is cloned once in JS,
   and the track rolls by exactly half its width for a seamless loop. */
body.page-phoenix .ath-track {
  display: flex;
  width: max-content;
  margin: 0; padding: 0; list-style: none;
  animation: phx-ath-roll var(--ath-dur, 64s) linear infinite;
}
body.page-phoenix .ath-carousel:hover .ath-track,
body.page-phoenix .ath-carousel:focus-within .ath-track,
body.page-phoenix .ath-carousel.is-paused .ath-track { animation-play-state: paused; }
body.page-phoenix .ath-track:focus-visible { outline: 2px solid #d8a14f; outline-offset: -2px; }
@keyframes phx-ath-roll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
body.page-phoenix .ath-slide { flex: 0 0 var(--ath-w); width: var(--ath-w); margin: 0 var(--ath-gap) 0 0; display: flex; }
body.page-phoenix .ath-card {
  flex: 1;
  background: var(--brown);
  border: 1px solid rgba(244, 236, 223, .25);
  border-radius: 6px;
  padding: 22px 18px 24px;
  box-sizing: border-box;
}
body.page-phoenix .ath-card h3 {
  margin: 0 0 14px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: .03em;
  color: #fff;
  text-transform: uppercase;
}
body.page-phoenix .ath-card h4 {
  margin: 0 0 8px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 18px;
  letter-spacing: .06em;
  color: #e7b56a;
}
body.page-phoenix .ath-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.page-phoenix .ath-names {
  margin: 0; padding: 0; list-style: none;
  font-family: var(--sans, "Gotham Medium", Helvetica, sans-serif);
  font-size: 16px;
  line-height: 1.55;
  color: var(--cream);
}
body.page-phoenix .ath-groups .ath-names { font-size: 14px; }
body.page-phoenix .ath-graphic { display: block; width: 100%; height: auto; }
body.page-phoenix .ath-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(244, 236, 223, .5);
  background: rgba(0, 0, 0, .35); color: var(--cream);
  font-size: 28px; line-height: 1; cursor: pointer; padding: 0 0 4px;
}
body.page-phoenix .ath-nav.prev { left: -52px; }
body.page-phoenix .ath-nav.next { right: -52px; }
body.page-phoenix .ath-nav:hover, body.page-phoenix .ath-nav:focus-visible { background: var(--brown); outline: none; border-color: #d8a14f; }
@media (max-width: 1100px) { body.page-phoenix .ath-carousel { --ath-n: 2; } }
@media (max-width: 700px) {
  body.page-phoenix .phx-athletes { padding: 32px 0 36px; }
  body.page-phoenix .phx-athletes > h2 { font-size: 32px; margin-bottom: 18px; }
  body.page-phoenix .ath-carousel { --ath-n: 1.15; --ath-gap: 14px; --ath-cw: calc(100vw - 24px); }
  body.page-phoenix .ath-card h3 { font-size: 24px; }
  body.page-phoenix .ath-card { padding: 20px 10px 22px; }
  body.page-phoenix .ath-groups { gap: 6px; }
  body.page-phoenix .ath-groups .ath-names { font-size: 12.5px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-phoenix .ath-carousel { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-mask-image: none; mask-image: none; }
  body.page-phoenix .ath-track { animation: none; }
  body.page-phoenix .ath-slide { scroll-snap-align: start; }
  body.page-phoenix .ath-slide[aria-hidden="true"] { display: none; }
}

/* /streetfest/ hub: no photo gallery under the video. The section ends 39px under
   the video (desktop/tablet); on phone About moves up into the old mosaic slot. */
body.page-street-hub .sfh { height: 1611px; }
@media (max-width: 430px) {
  body.page-street-hub .sfh { height: 973px; }
  body.page-street-hub .sfh-about { top: 759px; }
  body.page-street-hub .sfh-copy { top: 808px; }
  body.page-street-hub .sfh-video { top: 914px; }
}

/* Phoenix phone: military band follows the 3-day packages bar (both moved up under the hero). */
@media (max-width: 430px) {
  body.page-phoenix .military-band-bar { order: 2; }
}

/* Phoenix: military band reads as a second row of the 3-day packages bar. */
@media (min-width: 1101px) {
  body.page-phoenix .military-band.military-band-bar {
    padding: 6px 262px 27px 245px !important;
    min-height: 0 !important;
    width: 100%;
    max-width: none;
    margin: 0 !important;
  }
  body.page-phoenix .military-band-bar .military-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 24px;
  }
  body.page-phoenix .military-band-bar .military-title { font-size: 28px; line-height: 35px; gap: 0; }
  body.page-phoenix .military-band-bar .military-cta {
    width: 261px !important;
    min-width: 261px !important;
    height: 40px;
    padding: 0 16px;
    font-size: 16px;
    color: #682707;
    box-shadow: none !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.page-phoenix .military-band.military-band-bar { padding-top: 0 !important; padding-bottom: 24px !important; min-height: 0 !important; }
  body.page-phoenix .military-band-bar .military-inner { gap: 14px; }
  body.page-phoenix .military-band-bar .military-title { line-height: 35px; gap: 0; }
  body.page-phoenix .military-band-bar .military-cta { font-size: 16px; color: #682707; box-shadow: none !important; }
}
@media (max-width: 430px) {
  body.page-phoenix .military-band.military-band-bar { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  body.page-phoenix .military-band-bar .military-inner { width: 288px; max-width: 100%; margin: 0 auto; }
}

/* Phoenix: the video is no longer followed by cards, so drop its 90px/24px bottom margin. */
body.page-phoenix .info-band:not(.phx-xp2) .phoenix-video { margin-bottom: 0 !important; }

/* Phone: keep the street fest vendor title on two lines inside the 350px copy box. */
@media (max-width: 400px) {
  body.page-tampa .packages-bar .copy p.tampa-apply-title,
  body.page-phoenix .sf-apply .copy p.sf-apply-title { font-size: 33px; }
}
