/* Safety - The Musical: the purchase page and the SMS terms page. Small on purpose: the main page's two fonts
   (Brygada 1918 + Ysabeau Office since 2026-10-06, self-hosted, font-display swap; metric-matched Georgia / Arial
   until they arrive), one small city picture (a neutral disc until it exists), no motion beyond a focus ring. Dark
   night world, amber accents (site.css colours). */

/* the fonts (2026-10-06, same as james.com, docs: james-site-redesign/docs/fonts-1006): Brygada 1918 (--serif) +
   Ysabeau Office (--sans), SIL OFL 1.1, self-hosted in assets/fonts/ (licenses beside them); size-adjust keeps the
   visual size the px values were tuned for; --display = the hero title, sized to the old title's width */
@font-face { font-family: "Brygada 1918"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 94%; src: url(../assets/fonts/brygada1918-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Brygada 1918"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 94%; src: url(../assets/fonts/brygada1918-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Brygada 1918"; font-style: italic; font-weight: 400 700; font-display: swap; size-adjust: 94%; src: url(../assets/fonts/brygada1918-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Brygada 1918"; font-style: italic; font-weight: 400 700; font-display: swap; size-adjust: 94%; src: url(../assets/fonts/brygada1918-italic-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Brygada 1918 Display"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 85%; src: url(../assets/fonts/brygada1918-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Brygada 1918 Display"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 85%; src: url(../assets/fonts/brygada1918-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Ysabeau Office"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 116.2%; src: url(../assets/fonts/ysabeau-office-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Ysabeau Office"; font-style: normal; font-weight: 400 700; font-display: swap; size-adjust: 116.2%; src: url(../assets/fonts/ysabeau-office-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Ysabeau Office"; font-style: italic; font-weight: 400 700; font-display: swap; size-adjust: 116.2%; src: url(../assets/fonts/ysabeau-office-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Ysabeau Office"; font-style: italic; font-weight: 400 700; font-display: swap; size-adjust: 116.2%; src: url(../assets/fonts/ysabeau-office-italic-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* metric-matched local fallbacks (Georgia / Arial matched to the faces above; fallback_metrics.js) */
@font-face { font-family: "Brygada Fallback"; src: local("Georgia"); font-weight: 400 500; size-adjust: 96.9%; ascent-override: 88.7%; descent-override: 24.8%; line-gap-override: 0%; }
@font-face { font-family: "Brygada Fallback"; src: local("Georgia Bold"), local("Georgia-Bold"); font-weight: 600 700; size-adjust: 84.8%; ascent-override: 101.4%; descent-override: 28.3%; line-gap-override: 0%; }
@font-face { font-family: "Brygada Fallback"; src: local("Georgia Italic"), local("Georgia-Italic"); font-style: italic; font-weight: 400 500; size-adjust: 91.6%; ascent-override: 93.9%; descent-override: 26.2%; line-gap-override: 0%; }
@font-face { font-family: "Brygada Fallback"; src: local("Georgia Bold Italic"), local("Georgia-BoldItalic"); font-style: italic; font-weight: 600 700; size-adjust: 80.3%; ascent-override: 107.1%; descent-override: 29.9%; line-gap-override: 0%; }
@font-face { font-family: "Brygada Display Fallback"; src: local("Georgia"); font-weight: 400 500; size-adjust: 87.6%; ascent-override: 88.7%; descent-override: 24.8%; line-gap-override: 0%; }
@font-face { font-family: "Brygada Display Fallback"; src: local("Georgia Bold"), local("Georgia-Bold"); font-weight: 600 700; size-adjust: 76.7%; ascent-override: 101.4%; descent-override: 28.3%; line-gap-override: 0%; }
@font-face { font-family: "Ysabeau Fallback"; src: local("Arial"), local("ArialMT"); font-weight: 400 500; size-adjust: 109.3%; ascent-override: 111.6%; descent-override: 31.1%; line-gap-override: 0%; }
@font-face { font-family: "Ysabeau Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"); font-weight: 600 700; size-adjust: 103.9%; ascent-override: 117.5%; descent-override: 32.7%; line-gap-override: 0%; }
:root {
  --bg: #060b17;
  --card: #0f1a31;
  --line: rgba(242, 201, 135, 0.18);
  --line-2: rgba(243, 233, 210, 0.1);
  --amber: #e0a458;
  --amber-hi: #f2c987;
  --cream: #f3e9d2;
  --ink: #ece3cd;
  --muted: #aab2c5;
  --muted-2: #8590a8;
  --ok: #9fd3a8;
  --bad: #f0a3a3;
  --serif: "Brygada 1918", "Brygada Fallback", Georgia, "Times New Roman", serif;
  --sans: "Ysabeau Office", "Ysabeau Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: radial-gradient(90% 50% at 50% 0%, #13213d 0%, var(--bg) 70%) no-repeat, var(--bg); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
a { color: var(--amber-hi); text-underline-offset: 3px; }
a:hover { color: var(--cream); }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--amber-hi); outline-offset: 3px; }
button, input, select { font: inherit; color: inherit; }
.b-top, .b-main, .b-foot { width: 100%; max-width: 640px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.b-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; padding-bottom: 8px; }
.b-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--cream); font-family: var(--serif); font-size: 18px; text-decoration: none; }
.b-moon { width: 18px; height: 18px; border-radius: 50%; background: radial-gradient(circle at 38% 36%, #fffaf0, var(--cream) 50%, #d6bf93); box-shadow: 0 0 16px rgba(243, 233, 210, 0.5); }
.b-back { font-size: 14px; font-weight: 600; text-decoration: none; padding: 10px 0; }
.b-main { padding-top: 8px; padding-bottom: 24px; }
.b-show { padding: 12px 0 6px; }
.b-kicker { margin: 0 0 6px; color: var(--amber); font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
/* fonts-1006 check: at 0.2em the show kicker is 1.4px too wide for a 360px phone and "MUSICAL" fell to a line alone */
@media (max-width: 380px) { .b-kicker { letter-spacing: 0.17em; } }
.b-head { display: flex; align-items: center; gap: 14px; }
.cimg.b-cimg { width: 58px; height: 58px; }
@media (max-width: 380px) { .cimg.b-cimg { width: 48px; height: 48px; } }
.b-city { margin: 0; font-family: var(--serif); font-size: clamp(32px, 8vw, 46px); font-weight: 600; line-height: 1.05; color: var(--cream); }
.b-date { margin: 8px 0 0; font-size: 19px; font-weight: 600; color: var(--cream); }
.b-venue { margin: 2px 0 0; color: var(--ink); }
.b-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.b-facts li { padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 13px; }
.b-card { margin: 16px 0 0; padding: 20px; border-radius: 18px; border: 1px solid var(--line-2); background: var(--card); }
.b-card h2 { margin: 0 0 8px; font-family: var(--serif); font-size: 26px; font-weight: 600; line-height: 1.15; color: var(--cream); }
.b-card p { margin: 0 0 8px; }
.b-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.b-amt { font-family: var(--serif); font-size: 52px; font-weight: 600; line-height: 1; color: var(--amber-hi); }
.b-per { color: var(--muted); font-size: 14px; max-width: 32ch; }
.b-tier { margin: 12px 0 16px !important; color: var(--cream); }
.b-tier strong { color: var(--amber-hi); }
.b-label { display: block; margin: 0 0 6px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.b-select, .b-input { width: 100%; min-height: 54px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(243, 233, 210, 0.22); background: #081124; color: var(--cream); font-size: 18px; }
.b-select:focus, .b-input:focus { outline: none; border-color: var(--amber-hi); box-shadow: 0 0 0 3px rgba(242, 201, 135, 0.2); }
.b-total { display: flex; justify-content: space-between; align-items: baseline; margin: 16px 0 4px !important; padding-top: 12px; border-top: 1px solid var(--line-2); }
.b-total span { color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.b-total strong { font-family: var(--serif); font-size: 38px; font-weight: 600; color: var(--amber-hi); }
.b-split { color: var(--muted); font-size: 13px; }
.b-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border-radius: 999px; border: 0; background: linear-gradient(180deg, #f6d79f 0%, var(--amber) 55%, #c98a3f 100%); color: #1b1206; font-weight: 800; letter-spacing: 0.03em; text-decoration: none; cursor: pointer; }
.b-btn:hover { color: #1b1206; filter: brightness(1.05); }
.b-btn[disabled] { opacity: 0.6; cursor: wait; }
.b-go { width: 100%; min-height: 60px; margin-top: 12px; font-size: 18px; }
.b-btn-2 { width: 100%; margin-top: 12px; }
.b-secure, .b-note { color: var(--muted-2); font-size: 13px; }
.b-secure { margin-top: 10px !important; text-align: center; }
.b-msg { min-height: 1.4em; margin: 8px 0 0 !important; color: var(--amber-hi); font-size: 14px; font-weight: 600; }
.b-msg.is-bad { color: var(--bad); }
.b-msg.is-ok { color: var(--ok); }
.b-flash { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); font-weight: 600; }
.b-flash.is-bad { border-color: rgba(240, 163, 163, 0.5); color: var(--bad); }
.b-flash.is-ok { border-color: rgba(159, 211, 168, 0.5); color: var(--ok); }
.b-flash.is-info { color: var(--amber-hi); }
.b-perks ul { margin: 0; padding: 0 0 0 18px; }
.b-perks li { margin: 0 0 8px; color: var(--ink); }
.b-perks li::marker { color: var(--amber); }
.b-code { padding: 1px 8px; border-radius: 6px; border: 1px dashed var(--amber); color: var(--amber-hi); font-weight: 700; letter-spacing: 0.06em; }
.b-cd { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 4px 0 10px !important; color: var(--muted); font-size: 14px; }
.b-cd b { display: block; font-family: var(--serif); font-size: 40px; line-height: 1; color: var(--cream); font-variant-numeric: tabular-nums; }
.b-consent { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin: 14px 0 0; padding: 12px; border-radius: 12px; border: 1px solid var(--line-2); color: var(--muted); font-size: 12.5px; line-height: 1.5; cursor: pointer; }
.b-consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--amber); }
.b-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.b-all { margin: 20px 0 0; text-align: center; font-weight: 600; }
.b-all a { display: inline-block; padding: 10px 0; }
.b-foot { padding-top: 8px; padding-bottom: 28px; color: var(--muted-2); font-size: 12.5px; text-align: center; }
.b-foot p { margin: 0 0 6px; }
.b-foot a { color: var(--ink); text-decoration: none; display: inline-block; padding: 6px 0; }
/* the SMS terms page */
.b-doc h1 { margin: 6px 0 12px; font-family: var(--serif); font-size: clamp(30px, 7vw, 42px); line-height: 1.1; color: var(--cream); }
.b-doc h2 { margin: 26px 0 8px; font-family: var(--serif); font-size: 24px; color: var(--cream); }
.b-doc p, .b-doc li { color: var(--ink); }
/* fonts-1006 check: "help" was left alone under "How to stop, and how to get" on a 360px phone */
.b-doc h1, .b-doc h2 { text-wrap: balance; }
.b-doc p, .b-doc li { text-wrap-style: pretty; }
.b-doc ul { padding-left: 20px; }
.b-doc .b-note { margin-top: 24px; }

/* cities:begin (generated by tests/gen_city_css.py; the same block is in buy.css) */
.cimg {
  display: inline-block;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #1a2a4a;
  background-image: radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 0 0 1px rgba(242, 201, 135, 0.4), 0 6px 18px -8px rgba(0, 0, 0, 0.9);
}
.ci-all {
  background-image: url("../assets/cities/all.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/all.webp?v=1") 1x, url("../assets/cities/all@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/all.webp?v=1") 1x, url("../assets/cities/all@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-albuquerque {
  background-image: url("../assets/cities/albuquerque.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/albuquerque.webp?v=1") 1x, url("../assets/cities/albuquerque@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/albuquerque.webp?v=1") 1x, url("../assets/cities/albuquerque@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-atlanta {
  background-image: url("../assets/cities/atlanta.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/atlanta.webp?v=1") 1x, url("../assets/cities/atlanta@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/atlanta.webp?v=1") 1x, url("../assets/cities/atlanta@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-austin {
  background-image: url("../assets/cities/austin.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/austin.webp?v=1") 1x, url("../assets/cities/austin@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/austin.webp?v=1") 1x, url("../assets/cities/austin@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-baltimore {
  background-image: url("../assets/cities/baltimore.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/baltimore.webp?v=1") 1x, url("../assets/cities/baltimore@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/baltimore.webp?v=1") 1x, url("../assets/cities/baltimore@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-boston {
  background-image: url("../assets/cities/boston.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/boston.webp?v=1") 1x, url("../assets/cities/boston@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/boston.webp?v=1") 1x, url("../assets/cities/boston@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-chicago {
  background-image: url("../assets/cities/chicago.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/chicago.webp?v=1") 1x, url("../assets/cities/chicago@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/chicago.webp?v=1") 1x, url("../assets/cities/chicago@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-cleveland {
  background-image: url("../assets/cities/cleveland.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/cleveland.webp?v=1") 1x, url("../assets/cities/cleveland@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/cleveland.webp?v=1") 1x, url("../assets/cities/cleveland@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-los-angeles {
  background-image: url("../assets/cities/los-angeles.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/los-angeles.webp?v=1") 1x, url("../assets/cities/los-angeles@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/los-angeles.webp?v=1") 1x, url("../assets/cities/los-angeles@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-new-orleans {
  background-image: url("../assets/cities/new-orleans.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/new-orleans.webp?v=1") 1x, url("../assets/cities/new-orleans@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/new-orleans.webp?v=1") 1x, url("../assets/cities/new-orleans@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-new-york {
  background-image: url("../assets/cities/new-york.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/new-york.webp?v=1") 1x, url("../assets/cities/new-york@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/new-york.webp?v=1") 1x, url("../assets/cities/new-york@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-philadelphia {
  background-image: url("../assets/cities/philadelphia.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/philadelphia.webp?v=1") 1x, url("../assets/cities/philadelphia@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/philadelphia.webp?v=1") 1x, url("../assets/cities/philadelphia@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-portland {
  background-image: url("../assets/cities/portland.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/portland.webp?v=1") 1x, url("../assets/cities/portland@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/portland.webp?v=1") 1x, url("../assets/cities/portland@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-raleigh {
  background-image: url("../assets/cities/raleigh.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/raleigh.webp?v=1") 1x, url("../assets/cities/raleigh@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/raleigh.webp?v=1") 1x, url("../assets/cities/raleigh@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-richmond {
  background-image: url("../assets/cities/richmond.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/richmond.webp?v=1") 1x, url("../assets/cities/richmond@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/richmond.webp?v=1") 1x, url("../assets/cities/richmond@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-sacramento {
  background-image: url("../assets/cities/sacramento.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/sacramento.webp?v=1") 1x, url("../assets/cities/sacramento@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/sacramento.webp?v=1") 1x, url("../assets/cities/sacramento@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-san-francisco {
  background-image: url("../assets/cities/san-francisco.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/san-francisco.webp?v=1") 1x, url("../assets/cities/san-francisco@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/san-francisco.webp?v=1") 1x, url("../assets/cities/san-francisco@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-seattle {
  background-image: url("../assets/cities/seattle.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/seattle.webp?v=1") 1x, url("../assets/cities/seattle@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/seattle.webp?v=1") 1x, url("../assets/cities/seattle@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
.ci-virginia-beach {
  background-image: url("../assets/cities/virginia-beach.webp?v=1"), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: -webkit-image-set(url("../assets/cities/virginia-beach.webp?v=1") 1x, url("../assets/cities/virginia-beach@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
  background-image: image-set(url("../assets/cities/virginia-beach.webp?v=1") 1x, url("../assets/cities/virginia-beach@2x.webp?v=1") 2x), radial-gradient(circle at 34% 30%, #fff6e0 0%, #ecdcb6 13%, rgba(200, 161, 101, 0.55) 29%, rgba(26, 42, 74, 0.96) 60%, #0b1426 100%);
}
/* cities:end */
.b-foot p > span[aria-hidden] { margin: 0 6px; }
/* phones: "Continue to secure checkout" stays in view at the bottom of the screen while the buy card is on it
   (sticky inside the form, so it rests in place once the form scrolls past; no markup, works without JS) */
@media (max-width: 600px) {
  .b-go { position: -webkit-sticky; position: sticky; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 5; box-shadow: 0 10px 30px -6px rgba(0, 0, 0, 0.8), 0 0 0 4px rgba(6, 11, 23, 0.55); }
  .b-show { padding-top: 4px; }
  .b-city { font-size: clamp(30px, 8.6vw, 40px); }
  .b-facts { margin-top: 10px; }
  .b-card { padding: 18px 16px; }
}

/* how tickets arrive (TICKETS-DESIGN.md H.4) and the "Your tickets" link for a returning buyer (no key in it, C.1) */
.b-deliver { margin: 10px 0 0 !important; padding-top: 10px; border-top: 1px solid var(--line-2); color: var(--muted); font-size: 13px; text-align: center; }
.b-mytix { width: 100%; max-width: 640px; margin: 0 auto; padding: 0 16px; }
.b-mytix a { display: block; padding: 12px 16px; border-radius: 14px; border: 1px solid rgba(242, 201, 135, 0.45); background: rgba(242, 201, 135, 0.1); color: var(--amber-hi); font-weight: 700; text-decoration: none; }
.b-mytix a:hover { background: rgba(242, 201, 135, 0.18); color: var(--cream); }
