/* ==========================================================================
   UPSHOT Tampa – Tickets page
   Everything is scoped under .ups so it won't clash with the WordPress theme.
   Fonts: Barlow + Barlow Condensed (Google Fonts, loaded in the page <head>).
   ========================================================================== */

.ups {
  --ups-ink: #1B1716;
  --ups-ink-deep: #0F0C0B;
  --ups-orange: #F1623B;
  --ups-cream: #F5F0EA;
  --ups-white: #FFFFFF;
  --ups-line: #E3DAD2;
  --ups-muted: #5E5652;
  --ups-muted-dark: #CFC7C1;
  --ups-label-dark: #A79D97;
  --ups-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --ups-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ups-gutter: 80px;

  font-family: var(--ups-body);
  color: var(--ups-ink);
  background: var(--ups-white);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
.ups *, .ups *::before, .ups *::after { box-sizing: border-box; }
.ups img { max-width: 100%; display: block; }
:where(.ups) a { color: inherit; text-decoration: none; }
:where(.ups) h1, :where(.ups) h2, :where(.ups) h3, :where(.ups) h4, :where(.ups) p { margin: 0; }
.ups :focus-visible { outline: 3px solid var(--ups-orange); outline-offset: 3px; }

.ups-wrap { max-width: 1440px; margin: 0 auto; padding: 0 var(--ups-gutter); }

/* ---------- Type ---------- */
.ups-display {
  font-family: var(--ups-display); font-style: italic; font-weight: 900;
  text-transform: uppercase; letter-spacing: -1px; line-height: .88;
}
.ups-h2 { font-size: clamp(52px, 6.7vw, 96px); }
.ups-eyebrow {
  display: flex; align-items: center; gap: 14px;
  font-family: var(--ups-display); font-weight: 700; font-size: 18px;
  letter-spacing: 3px; text-transform: uppercase; color: var(--ups-muted);
}
.ups-eyebrow--accent { color: var(--ups-orange); }
.ups-eyebrow--rule::before { content: ""; width: 40px; height: 3px; background: currentColor; }
.ups-lead { font-size: 18px; line-height: 1.55; color: var(--ups-muted); }
.ups-dark .ups-lead { color: var(--ups-muted-dark); }
.ups-accent { color: var(--ups-orange); }

/* ---------- Buttons ---------- */
.ups-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 56px; padding: 0 28px; border: 2px solid transparent;
  font-family: var(--ups-display); font-weight: 800; font-size: 18px;
  letter-spacing: 1.4px; text-transform: uppercase; cursor: pointer;
  white-space: nowrap; text-align: center;
  transition: background-color .15s, color .15s, border-color .15s;
}
.ups-btn svg { width: 20px; height: 20px; }
.ups-btn--primary { background: var(--ups-orange); color: var(--ups-ink); }
.ups-btn--primary:hover { background: #FF7A52; color: var(--ups-ink); }
.ups-btn--dark { background: var(--ups-ink); color: var(--ups-white); }
.ups-btn--dark:hover { background: #3A3230; color: var(--ups-white); }
.ups-btn--ghost-light { border-color: var(--ups-white); color: var(--ups-white); }
.ups-btn--ghost-light:hover { background: var(--ups-white); color: var(--ups-ink); }
.ups-btn--ghost-dark { border-color: var(--ups-ink); color: var(--ups-ink); }
.ups-btn--ghost-dark:hover { background: var(--ups-ink); color: var(--ups-white); }
.ups-btn--outline { border-color: var(--ups-orange); color: var(--ups-orange); }
.ups-btn--outline:hover { background: var(--ups-orange); color: var(--ups-ink); }
.ups-btn { border-radius: 4px; }
/* Payment buttons are form posts (Authorize.net Simple Checkout); make the <button> lay out and look like the <a> buttons */
.ups-pay { display: contents; }
button.ups-btn { -webkit-appearance: none; appearance: none; line-height: inherit; }
/* Zawyer's Formstack embeds: keep their fields, match the site's type and primary button.
   Formstack's own class names (fs*) are stable; the hashed styled-component classes are not. */
.ups-fs .fsform-container, .ups-fs .fsform-container * { font-family: var(--ups-body); }
.ups-fs .fsSubmitButton {
  width: 100%; min-height: 56px; padding: 0 28px; border: 0; border-radius: 4px;
  background: var(--ups-orange); color: var(--ups-ink); cursor: pointer;
  font-family: var(--ups-display); font-weight: 800; font-size: 18px;
  letter-spacing: 1.4px; text-transform: uppercase;
}
.ups-fs .fsSubmitButton:hover { background: #FF7A52; }

/* Pre-launch countdown (countdown.html). Reuses the photo hero; one screen, no nav. */
.ups-cd { position: relative; min-height: 100vh; overflow: hidden; background: var(--ups-ink-deep); color: var(--ups-white); display: flex; align-items: center; }
.ups-cd-inner { position: relative; z-index: 2; width: 100%; min-width: 0; padding-top: 64px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 28px; }
.ups-cd-logo { width: 200px; height: auto; }
.ups-cd h1 { font-size: clamp(56px, 9vw, 136px); line-height: .86; letter-spacing: -2px; margin: 0; }
.ups-cd-clock { display: flex; gap: 12px; flex-wrap: wrap; }
.ups-cd-unit { min-width: 108px; padding: 16px 18px 12px; background: rgba(15, 12, 11, .78); border-top: 4px solid var(--ups-orange); border-radius: 4px; text-align: center; }
.ups-cd-unit span { display: block; font-family: var(--ups-display); font-weight: 900; font-style: italic; font-size: clamp(44px, 6vw, 72px); line-height: 1; font-variant-numeric: tabular-nums; }
.ups-cd-unit small { display: block; margin-top: 6px; font-family: var(--ups-display); font-weight: 700; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: var(--ups-orange); }
.ups-cd-live { font-family: var(--ups-display); font-weight: 800; font-size: 24px; text-transform: uppercase; letter-spacing: 1px; color: var(--ups-orange); margin: 0; }
/* Signup popup (<dialog>) on the countdown */
.ups-cd-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-top: 6px solid var(--ups-orange); border-radius: 6px; background: var(--ups-white); color: var(--ups-ink); overflow: auto; }
.ups-cd-dialog::backdrop { background: rgba(15, 12, 11, .82); }
.ups-cd-dialog-body { position: relative; padding: 36px 32px 24px; }
.ups-cd-dialog-title { font-size: clamp(34px, 6vw, 48px); line-height: .9; margin: 0 48px 10px 0; color: var(--ups-ink); }
.ups-cd-dialog-lead { margin: 0 0 8px; font-size: 16px; color: #5A5250; }
.ups-cd-close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--ups-ink); cursor: pointer; }
.ups-cd-close:hover { background: #F5F0EA; }
.ups-cd-close svg { width: 22px; height: 22px; }
@media (max-width: 640px) { .ups-cd-dialog-body { padding: 32px 20px 20px; } }
/* Formstack embeds must never set the column width (they overflowed phones) */
.ups-fs, .ups-fs .fsform-container, .ups-fs form { max-width: 100%; min-width: 0; }
.ups-cd-follow { margin: 0; font-size: 16px; color: rgba(255, 255, 255, .78); }
.ups-cd-follow a { color: var(--ups-white); font-weight: 600; }
@media (max-width: 640px) {
  .ups-cd-unit { min-width: 0; flex: 1 1 calc(50% - 6px); }
  .ups-cd .ups-hero-photo { width: 100%; opacity: .35; }
  .ups-cd .ups-eyebrow { flex-wrap: wrap; font-size: 15px; letter-spacing: 2px; }
}
.ups-btn-row { display: flex; flex-wrap: wrap; gap: 16px; }

.ups-link {
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
  font-family: var(--ups-display); font-weight: 800; font-size: 18px;
  letter-spacing: 1.4px; text-transform: uppercase;
  border-bottom: 2px solid currentColor; padding-bottom: 6px;
}
.ups-link svg { width: 18px; height: 18px; transition: transform .15s; }
a:hover > .ups-link svg, .ups-link:hover svg { transform: translateX(4px); }

/* Photo placeholder – swap for an <img> when photos are ready */
.ups-ph {
  background: repeating-linear-gradient(135deg, #231E1C 0 14px, #1E1918 14px 28px);
  color: #8F8580; font: 500 12px/1.4 ui-monospace, Menlo, monospace;
}

/* ---------- Promo strip ---------- */
.ups-promo {
  background: var(--ups-orange); color: var(--ups-ink);
  min-height: 40px; padding: 8px 16px;
  display: flex; align-items: center; justify-content: center; gap: 16px; text-align: center;
  font-family: var(--ups-display); font-weight: 700; font-size: 15px;
  letter-spacing: 1.5px; text-transform: uppercase;
}
.ups-promo a { text-decoration: underline; text-underline-offset: 3px; }
.ups-promo .ups-dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }

/* ---------- Header / nav ---------- */
.ups-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--ups-ink-deep); border-bottom: 1px solid rgba(255,255,255,.08);
}
.ups-header .ups-wrap { height: 88px; display: flex; align-items: center; gap: 44px; }
.ups-logo { flex: 0 0 auto; }
.ups-logo img { height: 50px; width: auto; }
.ups-nav { display: flex; gap: 36px; margin-left: auto; }
.ups-nav a {
  position: relative; padding: 32px 0;
  font-family: var(--ups-body); font-weight: 500; font-size: 16px; color: var(--ups-white);
}
.ups-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 24px; height: 2px;
  background: var(--ups-orange); transform: scaleX(0); transition: transform .15s;
}
.ups-nav a:hover { color: var(--ups-orange); }
.ups-nav a[aria-current="page"]::after { transform: scaleX(1); }
.ups-nav .ups-nav-extra { display: none; }
.ups-header-actions { display: flex; align-items: center; gap: 14px; }
.ups-header-actions .ups-btn { min-height: 44px; padding: 0 20px; font-size: 17px; gap: 10px; }
.ups-header-actions .ups-btn svg { width: 18px; height: 18px; }
.ups-menu-btn {
  display: none; width: 48px; height: 48px; background: none; border: 0;
  color: var(--ups-white); cursor: pointer; align-items: center; justify-content: center;
}
.ups-menu-btn svg { width: 26px; height: 26px; }

/* ---------- Hero ---------- */
.ups-hero { position: relative; overflow: hidden; background: var(--ups-ink); color: var(--ups-white); }
.ups-hero .ups-wrap { position: relative; padding-top: 96px; }
.ups-hero-bgword {
  position: absolute; left: 40px; bottom: -70px; pointer-events: none;
  font-family: var(--ups-display); font-style: italic; font-weight: 900;
  font-size: 400px; line-height: 1; letter-spacing: -6px; white-space: nowrap;
  color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.06);
}
.ups-hero-court { position: absolute; right: -20px; bottom: 0; width: 620px; height: auto; opacity: .55; pointer-events: none; }
.ups-hero-copy { position: relative; max-width: 900px; display: flex; flex-direction: column; gap: 32px; }
.ups-hero h1 { font-size: clamp(76px, 12.8vw, 184px); line-height: .84; letter-spacing: -2px; }
.ups-hero .ups-lead { max-width: 580px; font-size: 21px; color: var(--ups-muted-dark); }
.ups-hero .ups-btn { min-height: 60px; font-size: 20px; padding: 0 32px; }
.ups-stats {
  position: relative; margin-top: 96px;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.14);
}
.ups-stat { padding: 32px 0 36px; display: flex; flex-direction: column; gap: 4px; }
.ups-stat + .ups-stat { border-left: 1px solid rgba(255,255,255,.14); padding-left: 40px; }
.ups-stat strong {
  font-family: var(--ups-display); font-style: italic; font-weight: 800;
  font-size: 40px; line-height: 1; text-transform: uppercase;
}
.ups-stat span { font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ups-label-dark); }

/* ---------- Sponsor banner ---------- */
.ups-ad { padding: 56px 0; }
.ups-ad-label {
  display: flex; justify-content: space-between; margin-bottom: 10px;
  font: 500 11px/1 ui-monospace, Menlo, monospace; letter-spacing: 1px; text-transform: uppercase; color: #6F6662;
}
.ups-ad-slot { display: block; }
.ups-ad-slot img { width: 100%; height: auto; }
.ups-ad-placeholder {
  height: 200px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 24px;
  background: repeating-linear-gradient(135deg, #F2EDE7 0 14px, #EAE3DC 14px 28px);
  border: 1px solid var(--ups-line);
  font-family: var(--ups-display); font-weight: 800; font-size: 28px; letter-spacing: 3px;
  text-transform: uppercase; color: #8A807B;
}

/* ---------- Campaign ---------- */
.ups-campaign { background: var(--ups-ink-deep); color: var(--ups-white); padding: 80px 0; }
.ups-campaign .ups-wrap { display: flex; align-items: center; gap: 80px; }
.ups-campaign-img { flex: 0 0 auto; width: min(640px, 48%); }
.ups-campaign-img img { width: 100%; height: auto; }
.ups-campaign-copy { display: flex; flex-direction: column; gap: 28px; }
.ups-campaign h2 { font-size: clamp(52px, 6vw, 86px); line-height: .9; }
.ups-campaign .ups-lead { max-width: 500px; font-size: 19px; }

/* ---------- Section shells ---------- */
.ups-section { padding: 112px 0; }
.ups-section--white { background: var(--ups-white); }
.ups-section--cream { background: var(--ups-cream); }
.ups-section--ink { background: var(--ups-ink); color: var(--ups-white); }
.ups-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 56px; }
.ups-section-head > div { display: flex; flex-direction: column; gap: 16px; }
.ups-section-head .ups-lead { max-width: 400px; }

/* ---------- Ticket options ---------- */
.ups-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ups-card { display: flex; flex-direction: column; gap: 20px; }
.ups-card-media {
  position: relative; aspect-ratio: 302 / 380; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between; overflow: hidden;
}
.ups-card-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ups-card-top { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ups-card-num {
  font-family: var(--ups-display); font-style: italic; font-weight: 900; font-size: 72px; line-height: .8;
  color: transparent; -webkit-text-stroke: 1.5px var(--ups-orange);
}
.ups-tag {
  background: var(--ups-orange); color: var(--ups-ink); padding: 6px 10px;
  font-family: var(--ups-display); font-weight: 800; font-size: 14px; letter-spacing: 1.2px; text-transform: uppercase;
}
.ups-card h3 {
  margin: 0; font-family: var(--ups-display); font-style: italic; font-weight: 800;
  font-size: 40px; line-height: 1; text-transform: uppercase;
}
.ups-card p { font-size: 17px; color: var(--ups-muted); }
.ups-card:hover h3 { color: var(--ups-orange); }

/* ---------- Video ---------- */
.ups-video-frame {
  position: relative; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(135deg, #2A2422 0 14px, #241F1D 14px 28px);
}
.ups-video-frame iframe, .ups-video-frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ups-play {
  width: 120px; height: 120px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--ups-orange); color: var(--ups-ink);
  display: flex; align-items: center; justify-content: center; transition: transform .15s;
}
.ups-play:hover { transform: scale(1.06); }
.ups-play svg { width: 40px; height: 40px; }
.ups-video-note { position: absolute; left: 28px; bottom: 24px; }

/* ---------- Name the Team ---------- */
.ups-ntt { background: var(--ups-orange); color: var(--ups-ink); padding: 112px 0; }
.ups-ntt .ups-wrap { display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.ups-ntt-copy { max-width: 640px; display: flex; flex-direction: column; gap: 28px; }
.ups-ntt .ups-eyebrow { color: var(--ups-ink); font-weight: 800; }
.ups-ntt h2 { font-size: clamp(60px, 8.3vw, 120px); line-height: .86; }
.ups-ntt .ups-lead { color: var(--ups-ink); font-size: 19px; max-width: 540px; }
.ups-ntt-card { flex: 0 0 520px; background: var(--ups-ink); color: var(--ups-white); padding: 40px; display: flex; flex-direction: column; gap: 24px; }
.ups-ntt-title { display: flex; align-items: flex-end; gap: 14px; font-size: 56px; line-height: 1; }
.ups-ntt-title::after { content: ""; flex: 1; height: 4px; background: var(--ups-orange); margin-bottom: 8px; }
.ups-ntt-reveal {
  display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.14); padding-top: 18px;
  font-size: 14px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ups-label-dark);
}
.ups-ntt-reveal strong { color: var(--ups-white); }

/* ---------- Forms (shared) ---------- */
.ups-form { display: flex; flex-direction: column; gap: 10px; }
.ups-form label {
  font-family: var(--ups-display); font-weight: 700; font-size: 15px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--ups-label-dark);
}
.ups-form label + input { margin-bottom: 6px; }
.ups-form input {
  height: 60px; padding: 0 18px; width: 100%;
  background: transparent; border: 2px solid rgba(255,255,255,.3); border-radius: 0;
  color: var(--ups-white); font: 400 18px var(--ups-body);
}
.ups-form input::placeholder { color: #8F8580; }
.ups-form input:focus { outline: none; border-color: var(--ups-orange); }
.ups-form .ups-btn { min-height: 60px; font-size: 20px; margin-top: 4px; }

/* ---------- Founding Memberships ---------- */
.ups-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ups-tier {
  position: relative; min-height: 440px; padding: 32px;
  background: var(--ups-white); border: 1px solid var(--ups-line);
  display: flex; flex-direction: column; justify-content: space-between; gap: 32px;
}
.ups-tier-top { display: flex; flex-direction: column; gap: 20px; }
.ups-tier-name {
  font-family: var(--ups-display); font-weight: 700; font-size: 16px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--ups-muted);
}
.ups-tier-price { font-size: 88px; line-height: .9; letter-spacing: 0; }
.ups-tier-sub { font-size: 14px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ups-label-dark); margin-top: -12px; }
.ups-tier hr { border: 0; height: 1px; background: var(--ups-line); margin: 0; }
.ups-tier ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 16px; color: #3D3633; }
.ups-tier .ups-btn { min-height: 52px; width: 100%; }
.ups-tier--featured { background: var(--ups-ink); border-color: var(--ups-ink); color: var(--ups-white); }
.ups-tier--featured::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--ups-orange); }
.ups-tier--featured .ups-tier-name { color: var(--ups-orange); }
.ups-tier--featured hr { background: rgba(255,255,255,.16); }
.ups-tier--featured ul { color: var(--ups-muted-dark); }

/* ---------- Venue ---------- */
.ups-venue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--ups-ink); color: var(--ups-white); min-height: 640px; }
.ups-venue-media { position: relative; display: flex; align-items: flex-end; padding: 32px var(--ups-gutter); min-height: 320px; }
.ups-venue-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ups-venue-copy { padding: 80px var(--ups-gutter); display: flex; flex-direction: column; justify-content: center; gap: 28px; }
.ups-venue-copy .ups-lead { max-width: 480px; font-size: 19px; }

/* ---------- Groups band ---------- */
.ups-groups { background: var(--ups-orange); color: var(--ups-ink); padding: 112px 0; }
.ups-groups .ups-wrap { display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.ups-groups-copy { display: flex; flex-direction: column; gap: 28px; }
.ups-groups h2 { font-size: clamp(60px, 8.3vw, 120px); line-height: .86; }
.ups-groups-contact { flex: 0 0 380px; border-left: 2px solid var(--ups-ink); padding-left: 40px; display: flex; flex-direction: column; gap: 18px; font-size: 18px; }
.ups-groups-contact .ups-kicker { font-family: var(--ups-display); font-weight: 800; font-size: 18px; letter-spacing: 2px; text-transform: uppercase; }
.ups-groups-contact .ups-phone { font-family: var(--ups-display); font-style: italic; font-weight: 800; font-size: 36px; line-height: 1; }
.ups-groups-contact .ups-email { font-weight: 600; }

/* ---------- FAQ ---------- */
.ups-faq .ups-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; }
.ups-faq-intro { display: flex; flex-direction: column; gap: 24px; }
.ups-faq-intro a { color: var(--ups-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ups-faq-list { border-top: 2px solid var(--ups-ink); }
.ups-faq details { border-bottom: 1px solid var(--ups-line); padding: 28px 0; }
.ups-faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;
  font-family: var(--ups-display); font-weight: 800; font-size: 26px; line-height: 1.15; text-transform: uppercase;
}
.ups-faq summary::-webkit-details-marker { display: none; }
.ups-faq summary::after { content: "+"; font-size: 32px; font-weight: 600; line-height: .9; }
.ups-faq details[open] summary::after { content: "–"; color: var(--ups-orange); }
.ups-faq summary:hover { color: #C2451F; }
.ups-faq details p { margin-top: 14px; font-size: 17px; color: var(--ups-muted); max-width: 520px; }

/* ---------- Newsletter ---------- */
.ups-news { background: var(--ups-ink); color: var(--ups-white); padding: 72px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.ups-news .ups-wrap { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.ups-news h2 { font-size: clamp(44px, 4.5vw, 64px); line-height: .9; }
.ups-news p { margin-top: 12px; font-size: 18px; color: var(--ups-muted-dark); }
.ups-news .ups-form { flex: 0 1 560px; }
.ups-news-row { display: flex; }
.ups-news-row input { border-right: 0; }
.ups-news-row .ups-btn { margin-top: 0; flex: 0 0 auto; }

/* ---------- Footer ---------- */
.ups-footer { background: var(--ups-ink); color: var(--ups-white); padding-top: 72px; }
.ups-footer-top { display: flex; justify-content: space-between; gap: 48px; padding-bottom: 72px; }
.ups-footer-brand { display: flex; flex-direction: column; gap: 24px; }
.ups-footer-brand img { height: 64px; width: auto; }
.ups-social { display: flex; gap: 10px; }
.ups-social a { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; }
.ups-social a:hover { border-color: var(--ups-orange); color: var(--ups-orange); }
.ups-social svg { width: 20px; height: 20px; }
.ups-footer-cols { display: flex; gap: 96px; }
.ups-footer-col { display: flex; flex-direction: column; gap: 14px; font-size: 16px; color: var(--ups-muted-dark); }
.ups-footer-col h4 {
  margin: 0 0 6px; font-family: var(--ups-display); font-weight: 800; font-size: 18px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--ups-white);
}
.ups-footer-col a:hover, .ups-footer-bottom a:hover { color: var(--ups-orange); }
.ups-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.12); min-height: 88px; padding: 24px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--ups-label-dark);
}
.ups-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.ups-footer-bottom nav a { white-space: nowrap; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
  .ups { --ups-gutter: 48px; }
  .ups-nav { gap: 24px; }
  .ups-cards, .ups-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ups-ntt-card { flex-basis: 440px; }
  .ups-hero-court { width: 480px; }
}

@media (max-width: 1024px) {
  .ups-header .ups-wrap { height: 72px; }
  .ups-logo img { height: 42px; }
  .ups-menu-btn { display: flex; }
  .ups-header-actions { margin-left: auto; gap: 10px; }
  .ups-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 0; background: var(--ups-ink);
    border-bottom: 1px solid rgba(255,255,255,.1); padding: 8px var(--ups-gutter) 24px;
  }
  .ups-nav.is-open { display: flex; }
  .ups-nav a { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 20px; font-weight: 600; }
  .ups-nav a::after { display: none; }
  .ups-nav a[aria-current="page"] { color: var(--ups-orange); }
  .ups-nav .ups-nav-extra { display: block; }

  .ups-campaign .ups-wrap, .ups-ntt .ups-wrap, .ups-groups .ups-wrap, .ups-news .ups-wrap { flex-direction: column; align-items: stretch; }
  .ups-campaign-img { width: 100%; max-width: 640px; }
  .ups-ntt-card { flex-basis: auto; }
  .ups-groups-contact { flex-basis: auto; border-left: 0; border-top: 2px solid var(--ups-ink); padding: 20px 0 0; }
  .ups-news .ups-form { flex-basis: auto; }
  .ups-venue { grid-template-columns: 1fr; }
  .ups-venue-media { min-height: 360px; }
  .ups-faq .ups-wrap { grid-template-columns: 1fr; gap: 40px; }
  .ups-footer-top { flex-direction: column; }
}

@media (max-width: 720px) {
  .ups { --ups-gutter: 20px; }
  .ups-promo .ups-dot, .ups-promo .ups-promo-lead { display: none; }
  .ups-header-actions .ups-btn { min-height: 44px; padding: 0 16px; font-size: 16px; }
  .ups-header-actions .ups-btn--outline { display: none; }
  .ups-eyebrow { font-size: 15px; letter-spacing: 2.5px; }
  .ups-eyebrow--rule::before { width: 28px; }

  .ups-hero .ups-wrap { padding-top: 56px; }
  .ups-hero-court { width: 420px; right: -150px; top: 20px; bottom: auto; opacity: .3; }
  .ups-hero-bgword { display: none; }
  .ups-hero-copy { gap: 24px; }
  .ups-hero .ups-lead { font-size: 17px; }
  .ups-hero .ups-btn-row, .ups-btn-row { flex-direction: column; }
  .ups-btn-row .ups-btn { width: 100%; }
  .ups-hero .ups-btn { font-size: 18px; min-height: 56px; }
  .ups-stats { grid-template-columns: 1fr; margin-top: 40px; }
  .ups-stat { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .ups-stat:last-child { border-bottom: 0; }
  .ups-stat + .ups-stat { border-left: 0; padding-left: 0; }
  .ups-stat strong { font-size: 30px; }
  .ups-stat span { font-size: 13px; }

  .ups-ad { padding: 36px 0; }
  .ups-ad-placeholder { height: 220px; font-size: 20px; }
  .ups-campaign { padding: 0 0 56px; }
  .ups-campaign .ups-wrap { padding: 0; gap: 32px; }
  .ups-campaign-copy { padding: 0 var(--ups-gutter); gap: 18px; }
  .ups-campaign .ups-lead { font-size: 17px; }

  .ups-section, .ups-ntt, .ups-groups { padding: 64px 0; }
  .ups-news { padding: 56px 0; }
  .ups-section-head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 36px; }
  .ups-lead { font-size: 17px; }

  .ups-cards { grid-template-columns: 1fr; gap: 44px; }
  .ups-card { gap: 16px; }
  .ups-card-media { aspect-ratio: auto; height: 220px; padding: 18px; }
  .ups-card-num { font-size: 56px; }
  .ups-tag { font-size: 13px; padding: 5px 8px; }
  .ups-card h3 { font-size: 34px; }
  .ups-card p { font-size: 16px; }

  .ups-play { width: 72px; height: 72px; }
  .ups-play svg { width: 28px; height: 28px; }
  .ups-video-note { left: 12px; bottom: 10px; font-size: 10px; }

  .ups-ntt-card { padding: 24px 20px; }
  .ups-ntt-title { font-size: 40px; }
  .ups-form input, .ups-form .ups-btn { height: 56px; min-height: 56px; font-size: 17px; }
  .ups-form .ups-btn { font-size: 18px; }

  .ups-tiers { gap: 12px; }
  .ups-tier { min-height: 210px; padding: 18px; gap: 16px; }
  .ups-tier-top { gap: 8px; }
  .ups-tier-name { font-size: 13px; letter-spacing: 1.5px; }
  .ups-tier-price { font-size: 56px; }
  .ups-tier-sub { font-size: 11px; margin-top: 0; }
  .ups-tier hr, .ups-tier ul { display: none; }
  .ups-tier .ups-btn { min-height: 44px; font-size: 15px; padding: 0 8px; white-space: nowrap; letter-spacing: 1px; }

  .ups-venue-media { min-height: 260px; padding: 16px var(--ups-gutter); }
  .ups-venue-copy { padding: 44px var(--ups-gutter) 56px; gap: 18px; }

  .ups-faq summary { font-size: 22px; }
  .ups-faq details { padding: 22px 0; }
  .ups-news-row { flex-direction: column; gap: 10px; }
  .ups-news-row input { border-right: 2px solid rgba(255,255,255,.3); }

  .ups-footer { padding-top: 48px; }
  .ups-footer-top { padding-bottom: 36px; gap: 36px; }
  .ups-footer-brand img { height: 52px; }
  .ups-footer-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
  .ups-footer-bottom { flex-direction: column; align-items: flex-start; font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .ups * { transition: none !important; }
}

/* ==========================================================================
   Shared additions
   ========================================================================== */
.ups [hidden] { display: none !important; }
/* Keep anchored sections clear of the sticky header */
.ups section[id] { scroll-margin-top: 88px; }
@media (max-width: 1024px) { .ups section[id] { scroll-margin-top: 72px; } }

/* ==========================================================================
   Name the Team page
   ========================================================================== */
.ups-ntt--page { padding: 96px 0 112px; }
.ups-ntt--page .ups-wrap { align-items: flex-start; }
.ups-ntt h1 { font-size: clamp(68px, 10vw, 150px); line-height: .84; letter-spacing: -2px; }

/* Live name preview: the typed name fills the line after "Tampa" */
.ups-ntt--page .ups-ntt-title { flex-wrap: wrap; row-gap: 4px; }
.ups-ntt--page .ups-ntt-title::after { content: none; }
.ups-ntt-preview {
  flex: 1 1 120px; min-width: 120px; min-height: 1em;
  border-bottom: 4px solid var(--ups-orange); padding-bottom: 2px;
  color: var(--ups-orange); overflow-wrap: anywhere;
}

.ups-form textarea {
  width: 100%; min-height: 96px; padding: 14px 18px; margin-bottom: 6px; resize: vertical;
  background: transparent; border: 2px solid rgba(255,255,255,.3); border-radius: 0;
  color: var(--ups-white); font: 400 18px/1.4 var(--ups-body);
}
.ups-form textarea::placeholder { color: #8F8580; }
.ups-form textarea:focus { outline: none; border-color: var(--ups-orange); }
.ups-optional {
  margin-left: 6px; font-family: var(--ups-body); font-weight: 500; font-size: 13px;
  letter-spacing: .5px; text-transform: none; color: #8F8580;
}
.ups-form-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 6px; }
.ups-form-pair > div { display: flex; flex-direction: column; gap: 10px; }
.ups-form-pair input { margin-bottom: 0; }
.ups-form .ups-check {
  display: flex; align-items: flex-start; gap: 12px; margin: 4px 0;
  font-family: var(--ups-body); font-weight: 400; font-size: 15px; line-height: 1.45;
  letter-spacing: 0; text-transform: none; color: var(--ups-muted-dark); cursor: pointer;
}
.ups-form .ups-check input { width: 20px; height: 20px; flex: 0 0 20px; margin: 1px 0 0; padding: 0; accent-color: var(--ups-orange); }

.ups-ntt-thanks { display: flex; flex-direction: column; gap: 16px; padding: 8px 0; }
.ups-ntt-thanks strong { font-size: 64px; line-height: .9; color: var(--ups-orange); outline: none; }
.ups-ntt-thanks p { font-size: 18px; color: var(--ups-muted-dark); }
.ups-ntt-thanks p span { color: var(--ups-white); font-weight: 700; }
.ups-ntt-thanks .ups-link { background: none; border: 0; border-bottom: 2px solid currentColor; color: var(--ups-white); cursor: pointer; padding: 0 0 6px; }

.ups-ntt-dates { background: var(--ups-ink); color: var(--ups-white); }
.ups-ntt-dates .ups-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ups-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; border-top: 2px solid var(--ups-ink); }
.ups-steps li { padding-top: 36px; display: flex; flex-direction: column; gap: 18px; }
.ups-steps h3 { margin: 0; font-family: var(--ups-display); font-style: italic; font-weight: 800; font-size: 40px; line-height: 1; text-transform: uppercase; }
.ups-steps p { font-size: 17px; color: var(--ups-muted); max-width: 380px; }

.ups-tips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ups-tip { background: var(--ups-white); border: 1px solid var(--ups-line); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.ups-tip h3 { margin: 0; font-family: var(--ups-display); font-style: italic; font-weight: 800; font-size: 30px; line-height: 1; text-transform: uppercase; }
.ups-tip p { font-size: 17px; color: var(--ups-muted); }

@media (max-width: 1180px) {
  .ups-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ups-ntt--page { padding: 56px 0 64px; }
  .ups-ntt-dates .ups-wrap { grid-template-columns: 1fr; }
  .ups-form-pair { grid-template-columns: 1fr; gap: 10px; }
  .ups-form textarea { font-size: 17px; }
  .ups-ntt-thanks strong { font-size: 48px; }
  .ups-steps { grid-template-columns: 1fr; gap: 0; }
  .ups-steps li { padding: 28px 0; gap: 12px; border-bottom: 1px solid var(--ups-line); }
  .ups-steps h3 { font-size: 32px; }
  .ups-tips { grid-template-columns: 1fr; gap: 12px; }
  .ups-tip { padding: 24px 20px; }
  .ups-tip h3 { font-size: 26px; }
}

/* ==========================================================================
   Header-redesign additions: rounded controls, ticket option cards,
   deposit flow, founding membership page
   ========================================================================== */
.ups-form input, .ups-form textarea { border-radius: 4px; }
.ups-news-row input { border-radius: 4px 0 0 4px; }
.ups-news-row .ups-btn { border-radius: 0 4px 4px 0; }
.ups-tier, .ups-tip { border-radius: 6px; }
.ups-tier--featured { overflow: hidden; }
.ups-section--deep { background: var(--ups-ink-deep); color: var(--ups-white); }

/* Ticket option cards */
.ups-opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ups-opt {
  position: relative; min-height: 320px; padding: 32px 28px;
  display: flex; flex-direction: column; gap: 14px;
  background: linear-gradient(180deg, #231D1B 0%, #171211 100%);
  border: 1px solid rgba(255,255,255,.1); border-radius: 6px;
  transition: border-color .15s;
}
.ups-opt:hover { border-color: var(--ups-orange); }
.ups-opt--featured { border-color: rgba(241,98,59,.55); }
.ups-opt .ups-tag { position: absolute; top: 24px; right: 24px; border-radius: 3px; }
.ups-opt-icon { width: 46px; height: 46px; color: var(--ups-orange); flex: 0 0 auto; }
.ups-opt h3 {
  margin: 10px 0 0; font-family: var(--ups-display); font-weight: 800;
  font-size: 34px; line-height: .95; text-transform: uppercase; color: var(--ups-white);
}
.ups-opt p { font-size: 16px; color: var(--ups-muted-dark); }
.ups-opt-link {
  margin-top: auto; padding-top: 12px; display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ups-display); font-weight: 800; font-size: 17px;
  letter-spacing: 1.2px; text-transform: uppercase; color: var(--ups-orange);
}
.ups-opt-link svg { width: 18px; height: 18px; transition: transform .15s; }
.ups-opt:hover .ups-opt-link svg { transform: translateX(4px); }

/* Two-step founding flow (Tickets page) */
.ups-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ups-flow-step {
  padding: 40px; border-radius: 6px; background: var(--ups-white); border: 1px solid var(--ups-line);
  display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
}
.ups-flow-step--now { background: var(--ups-ink); border-color: var(--ups-ink); color: var(--ups-white); }
.ups-flow-price { font-size: 96px; line-height: .9; letter-spacing: 0; margin-top: 8px; }
.ups-flow-step--now .ups-flow-price { color: var(--ups-orange); }
.ups-flow-step h3 { margin: 0; font-family: var(--ups-display); font-style: italic; font-weight: 800; font-size: 34px; line-height: 1; text-transform: uppercase; }
.ups-flow-step p { font-size: 17px; color: var(--ups-muted); max-width: 440px; }
.ups-flow-step--now p { color: var(--ups-muted-dark); }
.ups-flow-step .ups-btn { margin-top: 10px; }

/* Step indicator */
.ups-progress { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ups-progress li {
  display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px;
  border: 1px solid rgba(255,255,255,.2); border-radius: 999px;
  font-family: var(--ups-display); font-weight: 700; font-size: 16px; letter-spacing: 1.2px;
  text-transform: uppercase; color: var(--ups-label-dark);
}
.ups-progress li span {
  width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.1); color: var(--ups-white); font-size: 15px;
}
.ups-progress li span svg { width: 16px; height: 16px; }
.ups-progress li[aria-current="step"] { border-color: var(--ups-orange); color: var(--ups-white); }
.ups-progress li[aria-current="step"] span { background: var(--ups-orange); color: var(--ups-ink); }
.ups-progress li.is-done span { background: rgba(241,98,59,.2); color: var(--ups-orange); }

/* Deposit page */
.ups-deposit { background: var(--ups-ink); color: var(--ups-white); padding: 96px 0 112px; }
.ups-deposit .ups-wrap { display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.ups-deposit-copy { max-width: 640px; display: flex; flex-direction: column; gap: 28px; }
.ups-deposit h1 { font-size: clamp(68px, 10vw, 150px); line-height: .84; letter-spacing: -2px; }
.ups-deposit .ups-lead { font-size: 20px; max-width: 540px; }
.ups-deposit-card {
  flex: 0 0 460px; padding: 40px; border-radius: 6px;
  background: var(--ups-white); color: var(--ups-ink);
  border-top: 8px solid var(--ups-orange);
  display: flex; flex-direction: column; gap: 22px;
}
.ups-deposit-label { font-family: var(--ups-display); font-weight: 800; font-size: 18px; letter-spacing: 2px; text-transform: uppercase; color: var(--ups-muted); }
.ups-deposit-price { font-size: 140px; line-height: .8; letter-spacing: -2px; margin-top: -6px; }
.ups-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 17px; }
.ups-checks li { display: flex; gap: 12px; align-items: flex-start; }
.ups-checks svg { width: 22px; height: 22px; flex: 0 0 22px; color: var(--ups-orange); margin-top: 1px; }
.ups-deposit-card .ups-btn { width: 100%; min-height: 60px; font-size: 20px; }
.ups-deposit-fine { font-size: 14px; color: var(--ups-muted); text-align: center; }
.ups-deposit-fine a { color: var(--ups-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Founding Members page */
.ups-banner { background: var(--ups-orange); color: var(--ups-ink); }
.ups-banner .ups-wrap { display: flex; align-items: center; gap: 14px; padding-top: 18px; padding-bottom: 18px; }
.ups-banner svg { width: 28px; height: 28px; flex: 0 0 28px; }
.ups-banner p { font-size: 18px; font-weight: 600; }
.ups-fm-hero { background: var(--ups-ink); color: var(--ups-white); padding: 80px 0 88px; }
.ups-fm-hero .ups-wrap { display: flex; flex-direction: column; gap: 28px; }
.ups-fm-hero h1 { font-size: clamp(60px, 8.3vw, 120px); line-height: .86; letter-spacing: -1.5px; }
.ups-fm-hero .ups-lead { max-width: 620px; font-size: 20px; }
.ups-fm-note { margin-top: 36px; font-size: 17px; color: var(--ups-muted); }
.ups-fm-note a { color: var(--ups-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1180px) {
  .ups-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ups-deposit-card { flex-basis: 400px; }
}
@media (max-width: 1024px) {
  .ups-deposit .ups-wrap { flex-direction: column; align-items: stretch; }
  .ups-deposit-card { flex-basis: auto; max-width: 560px; }
}
@media (max-width: 720px) {
  .ups-opts { grid-template-columns: 1fr; gap: 14px; }
  .ups-opt { min-height: 0; padding: 24px 20px; }
  .ups-opt h3 { font-size: 30px; }
  .ups-flow { grid-template-columns: 1fr; gap: 14px; }
  .ups-flow-step { padding: 28px 22px; }
  .ups-flow-price { font-size: 72px; }
  .ups-flow-step .ups-btn { width: 100%; }
  .ups-progress li { font-size: 14px; padding-right: 12px; }
  .ups-deposit { padding: 48px 0 56px; }
  .ups-deposit .ups-lead, .ups-fm-hero .ups-lead { font-size: 17px; }
  .ups-deposit-card { padding: 28px 22px; }
  .ups-deposit-price { font-size: 110px; }
  .ups-fm-hero { padding: 48px 0 56px; }
  .ups-banner p { font-size: 16px; }
  .ups-news-row input, .ups-news-row .ups-btn { border-radius: 4px; }
}

/* ==========================================================================
   Mockup match: photo hero, overlapping ticket cards, launch video band
   ========================================================================== */
.ups-hero--photo { min-height: 660px; display: flex; align-items: center; background: var(--ups-ink-deep); }
.ups-hero--photo .ups-wrap { position: relative; z-index: 2; width: 100%; padding-top: 72px; padding-bottom: 190px; }
.ups-hero-photo { position: absolute; top: 0; right: 0; bottom: 0; width: 66%; }
.ups-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 25%; }
.ups-hero-photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, var(--ups-ink-deep) 0%, rgba(15,12,11,.55) 20%, rgba(15,12,11,0) 45%),
    linear-gradient(0deg, var(--ups-ink-deep) 0%, rgba(15,12,11,0) 40%);
}
.ups-hero--photo .ups-hero-copy { gap: 24px; max-width: 640px; }
.ups-eyebrow--light { color: var(--ups-white); font-weight: 600; font-size: 16px; letter-spacing: 5px; }
.ups-hero--photo h1 { font-size: clamp(64px, 9.2vw, 136px); line-height: .86; }
.ups-hero-tag { font-size: 21px; line-height: 1.4; font-weight: 500; color: var(--ups-white); }

.ups-opts-band {
  position: relative; z-index: 2; margin-top: -150px; padding-bottom: 96px;
  background: linear-gradient(180deg, transparent 0 150px, var(--ups-ink-deep) 150px);
}
.ups-opts-band .ups-opt {
  background: rgba(22,18,17,.82); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}

.ups-launch {
  position: relative; overflow: hidden; display: flex; align-items: center; min-height: 440px;
  background: var(--ups-ink-deep); color: var(--ups-white); border-top: 1px solid rgba(255,255,255,.08);
}
.ups-launch-bg { position: absolute; top: 0; right: 0; bottom: 0; width: 72%; }
.ups-launch-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 45%; }
.ups-launch-bg::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, var(--ups-ink-deep) 0%, rgba(15,12,11,.5) 22%, rgba(15,12,11,0) 50%);
}
.ups-launch .ups-wrap { position: relative; z-index: 2; width: 100%; padding-top: 80px; padding-bottom: 80px; }
.ups-launch-copy { max-width: 580px; display: flex; flex-direction: column; gap: 20px; }
.ups-launch h2 { display: flex; flex-direction: column; font-size: clamp(56px, 7vw, 104px); line-height: .9; }
.ups-launch-kicker { font-size: .4em; letter-spacing: 6px; line-height: 1; margin-bottom: 8px; color: var(--ups-white); }
.ups-launch p { font-size: 19px; color: var(--ups-muted-dark); }
.ups-launch-play {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 16px; margin-top: 8px;
  font-family: var(--ups-display); font-weight: 800; font-size: 18px; letter-spacing: 2px; text-transform: uppercase;
}
.ups-launch-icon {
  width: 64px; height: 64px; border-radius: 50%; border: 2px solid var(--ups-white);
  display: flex; align-items: center; justify-content: center; transition: background-color .15s, border-color .15s, color .15s;
}
.ups-launch-icon svg { width: 24px; height: 24px; margin-left: 3px; }
.ups-launch-play:hover .ups-launch-icon { background: var(--ups-orange); border-color: var(--ups-orange); color: var(--ups-ink); }

@media (max-width: 1024px) {
  .ups-hero-photo { width: 85%; }
  .ups-launch-bg { width: 100%; }
  .ups-launch-bg::before { background: linear-gradient(90deg, var(--ups-ink-deep) 0%, rgba(15,12,11,.6) 45%, rgba(15,12,11,.2) 100%); }
}
@media (max-width: 720px) {
  .ups-hero--photo { min-height: 0; align-items: flex-end; }
  .ups-hero--photo .ups-wrap { padding-top: 300px; padding-bottom: 120px; }
  .ups-hero-photo { width: 100%; bottom: auto; height: 460px; }
  .ups-hero-photo img { object-position: 35% 20%; }
  .ups-hero-photo::before { background: linear-gradient(0deg, var(--ups-ink-deep) 8%, rgba(15,12,11,.35) 55%, rgba(15,12,11,.1) 100%); }
  .ups-eyebrow--light { font-size: 13px; letter-spacing: 3.5px; }
  .ups-hero-tag { font-size: 18px; }
  .ups-opts-band { margin-top: -80px; padding-bottom: 64px; background: linear-gradient(180deg, transparent 0 80px, var(--ups-ink-deep) 80px); }
  .ups-launch { min-height: 380px; }
  .ups-launch .ups-wrap { padding-top: 64px; padding-bottom: 64px; }
  .ups-launch p { font-size: 17px; }
}

/* ==========================================================================
   Founding membership package cards
   ========================================================================== */
.ups-fm-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.ups-fm-tier {
  display: flex; flex-direction: column; overflow: hidden; border-radius: 8px;
  background: #1C1918; color: var(--ups-white); box-shadow: 0 18px 40px rgba(27,23,22,.18);
}
.ups-fm-tier-head { background: var(--ups-orange); color: var(--ups-ink); text-align: center; padding: 22px 20px 20px; }
.ups-fm-tier-head h2 {
  margin: 0; font-family: var(--ups-display); font-weight: 800; font-size: 40px; line-height: 1;
  letter-spacing: .5px; text-transform: uppercase;
}
.ups-fm-tier-head p { margin-top: 6px; font-size: 17px; font-weight: 500; line-height: 1.3; }
.ups-fm-tier-body { flex: 1; display: flex; flex-direction: column; padding: 28px; }
.ups-fm-price-wrap { text-align: center; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.14); }
.ups-fm-price-note { margin-top: 8px; font-size: 15px; color: var(--ups-label-dark); }
/* A deposit holder's view: full price struck through, an orange "-$50 deposit" tag (upshot-founding.js). */
.ups-fm-was { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 4px; }
.ups-fm-was[hidden] { display: none; }
.ups-fm-was s { font-family: var(--ups-display); font-weight: 700; font-size: 30px; line-height: 1; color: var(--ups-label-dark); text-decoration-thickness: 2px; }
.ups-fm-chip {
  padding: 5px 9px 4px; border-radius: 3px; background: var(--ups-orange); color: var(--ups-ink);
  font-family: var(--ups-display); font-weight: 800; font-size: 15px; line-height: 1; letter-spacing: 1px; text-transform: uppercase;
}
.ups-fm-tiers.is-credited .ups-fm-price-note { color: var(--ups-orange); font-weight: 600; }
.ups-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ups-fm-price {
  text-align: center;
  font-family: var(--ups-display); font-weight: 800; font-size: 104px; line-height: 1; letter-spacing: -1px;
}
.ups-fm-price sup { position: relative; top: .3em; margin-right: 4px; vertical-align: top; font-size: .28em; font-weight: 600; }
.ups-fm-perks { list-style: none; margin: 0 0 28px; padding: 0; flex: 1; }
.ups-fm-perks li {
  position: relative; padding: 14px 0 14px 30px; border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 17px; line-height: 1.4; color: #EDE7E2;
}
.ups-fm-perks li:last-child { border-bottom: 0; }
.ups-fm-perks li::before {
  content: ""; position: absolute; left: 4px; top: 21px; width: 10px; height: 10px; border-radius: 50%;
  background: var(--ups-orange);
}
.ups-fm-perks li.is-lead { font-weight: 700; color: var(--ups-white); }
.ups-fm-tier .ups-btn {
  width: 100%; min-height: 76px; padding: 12px 24px; border-radius: 8px;
  font-size: 22px; line-height: 1.1; white-space: normal;
}
.ups-fm-tier .ups-btn svg { flex: 0 0 22px; width: 22px; height: 22px; }

@media (max-width: 1180px) {
  .ups-fm-tiers { gap: 16px; }
  .ups-fm-tier-head h2 { font-size: 32px; }
  .ups-fm-tier-head p { font-size: 15px; }
  .ups-fm-tier-body { padding: 24px 20px; }
  .ups-fm-price { font-size: 80px; }
  .ups-fm-perks li { font-size: 16px; }
  .ups-fm-tier .ups-btn { font-size: 19px; }
}
@media (max-width: 1024px) {
  .ups-fm-tiers { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; gap: 24px; }
  .ups-fm-tier-head h2 { font-size: 36px; }
  .ups-fm-price { font-size: 92px; }
}
@media (max-width: 720px) {
  .ups-fm-tier-head { padding: 18px 16px; }
  .ups-fm-tier-head h2 { font-size: 32px; }
  .ups-fm-price { font-size: 84px; }
  .ups-fm-tier .ups-btn { min-height: 64px; font-size: 19px; }
}
.ups-hero-tag strong { font-weight: 700; }

/* ==========================================================================
   News page
   ========================================================================== */
.ups-news-hero { background: var(--ups-ink); color: var(--ups-white); padding: 88px 0 80px; }
.ups-news-hero .ups-wrap { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.ups-news-hero-copy { display: flex; flex-direction: column; gap: 24px; }
.ups-news-hero h1 { font-size: clamp(64px, 9vw, 132px); line-height: .86; letter-spacing: -1.5px; }
.ups-news-hero .ups-lead { max-width: 520px; font-size: 20px; }

.ups-posts-section { padding-top: 80px; }
.ups-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ups-post {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: var(--ups-white); border: 1px solid var(--ups-line); border-radius: 6px;
  transition: border-color .15s;
}
.ups-post:hover { border-color: var(--ups-orange); }
.ups-post:focus-within { outline: 3px solid var(--ups-orange); outline-offset: 3px; }
.ups-post-media { aspect-ratio: 16 / 11; overflow: hidden; background: var(--ups-ink); }
.ups-post-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.ups-post:hover .ups-post-media img { transform: scale(1.03); }
.ups-post-body { flex: 1; display: flex; flex-direction: column; gap: 14px; padding: 28px; }
.ups-post-date {
  font-family: var(--ups-display); font-weight: 700; font-size: 15px;
  letter-spacing: 2px; text-transform: uppercase; color: #C2451F;
}
.ups-post-title {
  margin: 0; font-family: var(--ups-display); font-weight: 800; font-size: 28px;
  line-height: 1.02; text-transform: uppercase; color: var(--ups-ink); transition: color .15s;
}
.ups-post-title a::after { content: ""; position: absolute; inset: 0; }
.ups-post-title a:focus-visible { outline: none; }
.ups-post:hover .ups-post-title { color: #C2451F; }
.ups-post-excerpt {
  font-size: 16px; line-height: 1.55; color: var(--ups-muted);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.ups-post-link {
  margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ups-display); font-weight: 800; font-size: 16px; letter-spacing: 1.4px;
  text-transform: uppercase; color: var(--ups-ink);
}
.ups-post-link svg { width: 18px; height: 18px; color: var(--ups-orange); transition: transform .15s; }
.ups-post:hover .ups-post-link svg { transform: translateX(4px); }

.ups-pager { margin-top: 56px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ups-pager .page-numbers {
  min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ups-line); border-radius: 4px; background: var(--ups-white);
  font-family: var(--ups-display); font-weight: 700; font-size: 17px; letter-spacing: 1px; text-transform: uppercase;
}
.ups-pager a.page-numbers:hover { border-color: var(--ups-orange); }
.ups-pager .current { background: var(--ups-ink); border-color: var(--ups-ink); color: var(--ups-white); }

@media (max-width: 1024px) {
  .ups-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .ups-news-hero .ups-wrap { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
  .ups-news-hero { padding: 56px 0 48px; }
  .ups-news-hero .ups-lead { font-size: 17px; }
  .ups-news-hero .ups-btn { width: 100%; }
  .ups-posts-section { padding-top: 48px; }
  .ups-posts { grid-template-columns: 1fr; gap: 16px; }
  .ups-post-body { padding: 22px 20px; }
  .ups-post-title { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .ups-post-media img { transition: none; }
}

/* ==========================================================================
   News story (single post)
   ========================================================================== */
.ups-story-hero { background: var(--ups-ink); color: var(--ups-white); padding: 56px 0 80px; }
.ups-story--media .ups-story-hero { padding-bottom: 200px; }
.ups-story-hero .ups-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ups-story-back {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px;
  font-family: var(--ups-display); font-weight: 700; font-size: 16px; letter-spacing: 1.4px;
  text-transform: uppercase; color: var(--ups-muted-dark);
}
.ups-story-back svg { width: 18px; height: 18px; transition: transform .15s; }
.ups-story-back:hover { color: var(--ups-orange); }
.ups-story-back:hover svg { transform: translateX(-4px); }
.ups-story-hero .ups-post-date { color: var(--ups-orange); }
.ups-story-hero h1 { max-width: 1040px; font-size: clamp(40px, 5.4vw, 76px); line-height: .95; letter-spacing: -.5px; }
.ups-story-byline { font-size: 16px; color: var(--ups-label-dark); }

.ups-story-media { margin-top: -150px; position: relative; }
.ups-story-media img {
  display: block; width: 100%; max-width: 1040px; height: auto; max-height: 620px; object-fit: cover;
  border-radius: 6px; box-shadow: 0 24px 60px rgba(15,12,11,.35); background: var(--ups-ink);
}
.ups-story-body { background: var(--ups-white); padding: 64px 0 96px; }
.ups-story-media + .ups-story-body { padding-top: 56px; }
.ups-prose { max-width: 720px; font-size: 19px; line-height: 1.7; color: #2E2826; }
.ups-prose > * + * { margin-top: 1.15em; }
.ups-prose > p:first-child { font-size: 22px; line-height: 1.5; font-weight: 500; color: var(--ups-ink); }
.ups-prose strong { color: var(--ups-ink); font-weight: 700; }
.ups-prose a { color: #C2451F; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ups-prose h2, .ups-prose h3 {
  margin-top: 1.8em; font-family: var(--ups-display); font-weight: 800; line-height: 1;
  text-transform: uppercase; color: var(--ups-ink);
}
.ups-prose h2 { font-size: 36px; }
.ups-prose h3 { font-size: 26px; letter-spacing: .5px; }
.ups-prose blockquote {
  margin: 1.6em 0; padding: 4px 0 4px 28px; border-left: 4px solid var(--ups-orange);
  font-size: 22px; line-height: 1.5; color: var(--ups-ink);
}
.ups-prose blockquote p { margin: 0; }
.ups-prose img { height: auto; border-radius: 6px; }
.ups-prose ul, .ups-prose ol { padding-left: 1.3em; }
.ups-prose li + li { margin-top: .4em; }

.ups-more-news .ups-section-head { align-items: flex-end; }

.ups-story-cta { background: var(--ups-ink-deep); color: var(--ups-white); padding: 72px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.ups-story-cta .ups-wrap { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ups-story-cta h2 { font-size: clamp(44px, 5vw, 72px); line-height: .9; }

@media (max-width: 720px) {
  .ups-story-hero { padding: 36px 0 56px; }
  .ups-story--media .ups-story-hero { padding-bottom: 110px; }
  .ups-story-back { margin-bottom: 8px; }
  .ups-story-media { margin-top: -80px; }
  .ups-story-body { padding: 44px 0 64px; }
  .ups-story-media + .ups-story-body { padding-top: 40px; }
  .ups-prose { font-size: 17px; }
  .ups-prose > p:first-child { font-size: 19px; }
  .ups-prose blockquote { font-size: 19px; padding-left: 18px; }
  .ups-story-cta { padding: 56px 0; }
  .ups-story-cta .ups-wrap { flex-direction: column; align-items: stretch; }
  .ups-more-news .ups-section-head .ups-link { align-self: flex-start; }
}
@media (max-width: 720px) {
  .ups-launch-bg::before { background: linear-gradient(90deg, rgba(15,12,11,.85) 0%, rgba(15,12,11,.55) 100%); }
}

/* ==========================================================================
   Nav dropdown (Community)
   ========================================================================== */
.ups-nav-drop { position: relative; display: flex; }
.ups-nav-toggle {
  position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 32px 0;
  background: none; border: 0; cursor: pointer;
  font-family: var(--ups-body); font-weight: 500; font-size: 16px; color: var(--ups-white);
}
.ups-nav-toggle svg { width: 14px; height: 14px; transition: transform .15s; }
.ups-nav-toggle:hover { color: var(--ups-orange); }
.ups-nav-toggle::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 24px; height: 2px;
  background: var(--ups-orange); transform: scaleX(0); transition: transform .15s;
}
.ups-nav-toggle.is-current::after { transform: scaleX(1); }
.ups-nav-drop.is-open .ups-nav-toggle svg { transform: rotate(180deg); }
.ups-nav-menu {
  position: absolute; top: calc(100% - 14px); left: -18px; z-index: 60; min-width: 240px;
  display: none; flex-direction: column; padding: 8px;
  background: var(--ups-ink); border: 1px solid rgba(255,255,255,.12); border-radius: 6px;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.ups-nav-drop.is-open .ups-nav-menu { display: flex; }
.ups-nav .ups-nav-menu a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px; border-radius: 4px; font-size: 16px;
}
.ups-nav .ups-nav-menu a::after { display: none; }
.ups-nav .ups-nav-menu a:hover { background: rgba(255,255,255,.06); color: var(--ups-orange); }
.ups-nav-menu a svg { width: 14px; height: 14px; opacity: .7; }
@media (min-width: 1025px) {
  .ups-nav-drop:hover .ups-nav-menu, .ups-nav-drop:focus-within .ups-nav-menu { display: flex; }
  .ups-nav-drop:hover .ups-nav-toggle svg { transform: rotate(180deg); }
}
@media (max-width: 1024px) {
  .ups-nav-drop { flex-direction: column; }
  .ups-nav-toggle {
    justify-content: space-between; width: 100%; padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,.08); font-size: 20px; font-weight: 600;
  }
  .ups-nav-toggle::after { display: none; }
  .ups-nav-toggle.is-current { color: var(--ups-orange); }
  .ups-nav-toggle svg { width: 18px; height: 18px; }
  .ups-nav-menu { position: static; min-width: 0; padding: 4px 0 8px 16px; background: none; border: 0; border-radius: 0; box-shadow: none; }
  .ups-nav .ups-nav-menu a { padding: 12px 0; font-size: 18px; border-bottom: 0; border-radius: 0; }
  .ups-nav .ups-nav-menu a:hover { background: none; }
}

/* ==========================================================================
   About page
   ========================================================================== */
.ups-about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 80px; align-items: start; }
.ups-about-stats { border-top: 2px solid var(--ups-ink); }
.ups-about-stat { display: flex; align-items: baseline; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--ups-line); }
.ups-about-stat strong {
  flex: 0 0 180px; font-family: var(--ups-display); font-style: italic; font-weight: 900;
  font-size: 84px; line-height: .85; letter-spacing: -1px; color: var(--ups-orange);
}
.ups-about-stat span { font-family: var(--ups-display); font-weight: 700; font-size: 20px; letter-spacing: 1.5px; text-transform: uppercase; }
.ups-about-copy { display: flex; flex-direction: column; gap: 36px; }
.ups-about-copy p { font-size: 23px; line-height: 1.55; color: #2E2826; }

/* ==========================================================================
   Partnerships page
   ========================================================================== */
.ups-tips--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ups-partner .ups-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 80px; align-items: start; }
.ups-partner-copy { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 120px; }
.ups-partner-card { border-radius: 6px; }
.ups-form select {
  height: 60px; width: 100%; padding: 0 44px 0 18px; margin-bottom: 6px; border-radius: 4px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23F1623B' stroke-width='2.5'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center / 18px;
  border: 2px solid rgba(255,255,255,.3); color: var(--ups-white); font: 400 18px var(--ups-body);
  -webkit-appearance: none; appearance: none;
}
.ups-form select:focus { outline: none; border-color: var(--ups-orange); }
.ups-form select option { color: var(--ups-ink); }

@media (max-width: 1024px) {
  .ups-about-grid, .ups-partner .ups-wrap { grid-template-columns: 1fr; gap: 48px; }
  .ups-partner-copy { position: static; }
  .ups-tips--3 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ups-about-stat { gap: 16px; padding: 18px 0; }
  .ups-about-stat strong { flex-basis: 110px; font-size: 60px; }
  .ups-about-stat span { font-size: 16px; }
  .ups-about-copy p { font-size: 19px; }
  .ups-form select { height: 56px; font-size: 17px; }
}

/* ==========================================================================
   Contact page
   ========================================================================== */
.ups-contact-info { gap: 16px; }
.ups-contact-item {
  display: flex; align-items: center; gap: 18px; padding: 22px 24px;
  border: 1px solid var(--ups-line); border-radius: 6px; transition: border-color .15s;
}
.ups-contact-item:hover { border-color: var(--ups-orange); }
.ups-contact-icon {
  flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; background: var(--ups-orange); color: var(--ups-ink);
}
.ups-contact-icon svg { width: 24px; height: 24px; }
.ups-contact-label {
  display: block; font-family: var(--ups-display); font-weight: 700; font-size: 14px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--ups-muted);
}
.ups-contact-item strong { font-size: 20px; font-weight: 600; overflow-wrap: anywhere; }
.ups-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 20px; }
.ups-contact-links p { font-size: 17px; color: var(--ups-muted); }
.ups-partner-card .ups-ntt-title { font-size: 44px; }
@media (max-width: 720px) {
  .ups-contact-item { padding: 18px; gap: 14px; }
  .ups-contact-item strong { font-size: 17px; }
  .ups-partner-card .ups-ntt-title { font-size: 34px; }
}

/* Founding Fan / sponsor banner */
.ups-ad { background: var(--ups-ink-deep); padding: 48px 0; }
.ups-ad-slot { display: block; border-radius: 6px; overflow: hidden; transition: box-shadow .15s; }
.ups-ad-slot img { display: block; width: 100%; height: auto; }
.ups-ad-slot:hover { box-shadow: 0 0 0 2px var(--ups-orange); }
@media (max-width: 720px) { .ups-ad { padding: 24px 0; } }

/* Launch video popup (index.html) */
.ups-video-dialog { width: min(1100px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 6px; background: #000; overflow: visible; }
.ups-video-dialog::backdrop { background: rgba(15, 12, 11, .9); }
.ups-video-frame { aspect-ratio: 16 / 9; }
.ups-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 6px; }
.ups-video-close { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--ups-white); cursor: pointer; }
.ups-video-close svg { width: 26px; height: 26px; }

/* Zawyer's dark textured background (their homepage hero) in place of the AI photos: full width, no fade needed on the right */
.ups-hero-photo--texture, .ups-launch-bg--texture { width: 100%; }
.ups-hero-photo--texture img, .ups-launch-bg--texture img { object-position: center; }
.ups-cd .ups-hero-photo--texture { opacity: 1; }

/* Adam's "She sees it" arena hero (2026-10-02): keep the headline baked into the photo's right side in view */
.ups-hero-photo--she img { object-position: 100% 50%; }
/* Zawyer art inside sections and as banner bands */
.ups-section-img { display: block; width: 100%; max-width: 560px; height: auto; border-radius: 6px; margin-top: 12px; }
.ups-band-img { display: block; width: 100%; height: auto; border-radius: 6px; }
.ups-band-img--wide { max-width: 960px; margin: 0 auto; }
/* Mid-size screens: the photo's baked-in headline would collide with ours, so give the photo the right half only */
@media (min-width: 641px) and (max-width: 1279px) {
  .ups-hero-photo--she { width: 50%; }
}
@media (min-width: 641px) and (max-width: 1279px) {
  .ups-cd h1 { font-size: clamp(56px, 7.2vw, 136px); }
  .ups-cd .ups-eyebrow { flex-wrap: wrap; max-width: 44vw; }
  .ups-cd .ups-hero-photo--she { width: 46%; }
}
@media (min-width: 641px) {
  /* short fade so the photo's own headline stays crisp at its left edge */
  .ups-hero-photo--she::before {
    background:
      linear-gradient(90deg, var(--ups-ink-deep) 0%, rgba(15,12,11,.35) 8%, rgba(15,12,11,0) 18%),
      linear-gradient(0deg, var(--ups-ink-deep) 0%, rgba(15,12,11,0) 40%);
  }
}
@media (min-width: 641px) and (max-width: 1279px) {
  .ups-cd .ups-hero-photo--she { width: 52%; }
}
@media (max-width: 640px) {
  /* phone countdown: the photo sits faded behind the text, so center it on the girls and crop its headline out */
  .ups-cd .ups-hero-photo--she img { object-position: 30% 50%; }
}

/* Tickets page Name the Team teaser: copy + button left, Zawyer's art right (the full form lives on /name-the-team/) */
.ups-ntt-media { flex: 0 1 600px; min-width: 0; }
.ups-ntt-media img { display: block; width: 100%; height: auto; border-radius: 6px; }
@media (max-width: 900px) { .ups-ntt .ups-wrap { flex-direction: column; align-items: stretch; } .ups-ntt-media { flex: none; } }
/* YouTube IFrame API swaps the #ups-launch-player div for its iframe */
.ups-video-frame > div, .ups-video-frame > iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 6px; }
/* Tickets page on phones: the Season Memberships square is the tappable banner, so the campaign section doesn't repeat it */
@media (max-width: 720px) { .ups-campaign--no-img-phone .ups-campaign-img { display: none; } }
