@import url("https://fonts.googleapis.com/css2?family=Anton&family=Archivo+Black&family=Space+Mono:wght@400;700&display=swap");
/* ==========================================================================
   TM360 Tickets — shared design system  ("frosted editorial glass")
   Loaded by every public page. Presentation only: no behaviour, no API calls.
   ========================================================================== */

:root{
  /* brand ground — deep photographic blue */
  --brand:#0a0a0a;
  --bg:#0a0a0a;

  /* frosted glass surfaces, layered over the photographic background */
  --glass:rgba(245,241,227,.10);
  --glass-strong:rgba(245,241,227,.17);
  --glass-solid:rgba(10,10,10,.82);
  --line:rgba(245,241,227,.18);
  --line-strong:rgba(245,241,227,.30);

  /* type over the photograph */
  --text:#f5f1e3;
  --muted:rgba(245,241,227,.86);
  --dim:rgba(245,241,227,.68);
  --ink:#0a0a0a;

  /* accents */
  --gold:#ef803b;
  --gold-soft:rgba(239,128,59,.16);
  --accent:var(--gold);
  --accent-ink:var(--ink);
  --accent2:var(--gold);

  /* states */
  --good:#ef803b;
  --warn:#ef803b;
  --orange:#ef803b;
  --bad:#d1291d;

  /* system — square edges, editorial */
  --max:1160px;
  --r-sm:2px;
  --r:2px;
  --r-lg:3px;
  --r-xl:3px;
  --blur:blur(20px) saturate(135%);
  --shadow:0 30px 70px -30px rgba(0,0,0,.8);
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-sans:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* full-bleed photographic ground + gradient scrim, fixed behind everything */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background-image:url("hero.jpg");
  background-size:cover;background-position:center 28%;
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;
  background:linear-gradient(to bottom,
    rgba(10,10,10,.82) 0%,
    rgba(10,10,10,.72) 34%,
    rgba(10,10,10,.94) 72%,
    rgba(10,10,10,.99) 100%);
}

a{color:inherit}
img{max-width:100%}

.wrap{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.hidden{display:none!important}
.tm-muted{color:var(--muted)}
.tm-center{text-align:center}

/* --- typography ---------------------------------------------------------- */
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.018em;line-height:1.04}
h1{font-size:clamp(2.5rem,6.4vw,4.4rem);margin:.18em 0;text-wrap:balance}
h2{font-size:clamp(1.55rem,3vw,2.3rem);margin:0 0 .4em}
h3{font-size:1.15rem;margin:0}

.eyebrow{
  font-family:var(--font-sans);
  color:var(--muted);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.eyebrow.gold{color:var(--gold)}

.lead{color:var(--muted);font-size:clamp(1rem,1.5vw,1.14rem);max-width:58ch}

/* --- header / nav -------------------------------------------------------- */
.tm-header{
  position:sticky;top:0;z-index:40;
  background:rgba(10,10,10,.55);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);
  border-bottom:1px solid var(--line);
}
.tm-nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{
  display:inline-flex;align-items:center;gap:0;
  text-decoration:none;font-family:var(--font-display);
  font-weight:500;font-size:1.2rem;letter-spacing:-.02em;
}
.brand::before{
  content:"360";
  display:grid;place-items:center;
  width:36px;height:36px;flex:none;margin-right:11px;
  border:1px solid var(--line);
  background:var(--glass);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:.78rem;font-weight:600;letter-spacing:0;
}
.brand{display:inline-grid;grid-template-columns:auto auto;align-items:center;column-gap:11px;line-height:1}
.brand::before{grid-row:1 / 3;margin-right:0!important}
.brand-mark{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--text)}
.brand-mark sup{font-size:.62em;vertical-align:top;position:relative;top:-.05em;margin-left:1px;color:var(--gold)}
.brand-sub{display:block;margin-top:3px;font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.brand-mark{align-self:end;justify-self:center;text-align:center}.brand-sub{align-self:start;justify-self:center;text-align:center;padding-left:.32em}
.navlinks a.nav-cta{color:var(--gold);border-color:rgba(239,128,59,.45);margin-left:6px}
.navlinks a.nav-cta:hover,.navlinks a.nav-cta[aria-current="page"]{background:var(--gold-soft);color:var(--gold);border-color:var(--gold)}
.promo-strip{display:block;text-align:center;text-decoration:none;padding:9px 16px;font-size:.84rem;color:var(--ink);background:var(--gold);line-height:1.4}
.promo-strip span{font-weight:700}
.promo-strip b{white-space:nowrap;margin-left:6px;text-decoration:underline;text-underline-offset:3px}
.promo-strip:hover{background:#ef803b}
.navlinks{display:flex;align-items:center;gap:2px;flex:none}
.navlinks a{
  text-decoration:none;color:var(--muted);white-space:nowrap;
  font-size:.9rem;font-weight:500;
  padding:9px 14px;
  border:1px solid transparent;
  transition:color .18s ease,background .18s ease,border-color .18s ease;
}
.navlinks a:hover{color:var(--text);background:var(--glass)}
.navlinks a[aria-current="page"]{color:var(--text);background:var(--glass);border-color:var(--line)}

/* --- footer -------------------------------------------------------------- */
.tm-footer{
  border-top:1px solid var(--line);
  margin-top:80px;padding:34px 0;
  color:var(--dim);font-size:.87rem;
  background:rgba(10,10,10,.55);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
}
.tm-footer a{color:var(--muted);text-decoration:none}
.tm-footer a:hover{color:var(--text)}
.foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}

/* --- glass panels -------------------------------------------------------- */
.panel{
  background:var(--glass);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:clamp(20px,3vw,30px);
}
.panel+.panel{margin-top:18px}
.panel h2{margin-top:0}

/* --- buttons ------------------------------------------------------------- */
.btn,.button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 22px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:var(--glass);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:.93rem;font-weight:600;
  text-decoration:none;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .16s ease,opacity .16s ease;
}
.btn:hover,.button:hover{background:var(--glass-strong);border-color:var(--line-strong)}
.btn:active,.button:active{transform:translateY(1px)}
/* primary = solid light, the highest-contrast action over the photograph */
.btn.primary,.button.primary,.btn:where(.primary){
  background:#f5f1e3;border-color:#f5f1e3;color:var(--ink);
}
.btn.primary:hover,.button.primary:hover{background:#f5f1e3;border-color:#f5f1e3}
.btn.secondary,.button.secondary{background:var(--glass);color:var(--text)}
.btn.ghost{background:transparent;border-color:var(--line)}
.button:disabled,.btn:disabled,.button.disabled,.btn.disabled{
  opacity:.42;cursor:not-allowed;pointer-events:none;
}
.btn-block{width:100%}

.pill{
  display:inline-flex;align-items:center;
  padding:9px 15px;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--glass);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  text-decoration:none;font-size:.86rem;font-weight:600;
  transition:background .16s ease;
}
.pill:hover{background:var(--glass-strong)}
.pill[aria-pressed="true"]{background:#f5f1e3;border-color:#f5f1e3;color:var(--ink)}

/* --- forms --------------------------------------------------------------- */
label{display:block;margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
input,select,textarea{
  width:100%;padding:13px 15px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(10,10,10,.55);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--text);
  font-family:var(--font-sans);font-size:.96rem;
  transition:border-color .16s ease,box-shadow .16s ease;
}
input::placeholder{color:var(--dim)}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--line-strong);
  box-shadow:0 0 0 3px rgba(245,241,227,.13);
}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 51%,calc(100% - 13px) 51%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}

:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* --- breadcrumb ---------------------------------------------------------- */
.breadcrumb{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  color:var(--dim);font-size:.84rem;margin-bottom:22px;
}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--text)}

/* --- availability -------------------------------------------------------- */
.availability{display:flex;align-items:center;gap:10px}
.availability-dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.availability-label{font-weight:600;font-size:.94rem}
.availability-bar{height:5px;background:rgba(245,241,227,.14);border-radius:999px;overflow:hidden;margin-top:11px}
.availability-fill{height:100%;border-radius:999px;background:currentColor;transition:width .4s ease}
.good{color:var(--good)}
.fair{color:var(--warn)}
.poor{color:var(--orange)}
.last{color:var(--bad)}
.none{color:var(--dim)}

/* status chips used on event cards */
.chip{
  display:inline-flex;align-items:center;
  padding:3px 9px;border:1px solid var(--line);
  background:var(--glass);
  font-size:.68rem;font-weight:600;letter-spacing:.04em;
}
.chip.ok{color:var(--good);border-color:rgba(239,128,59,.36);background:rgba(239,128,59,.14)}
.chip.low{color:var(--gold);border-color:rgba(239,128,59,.44);background:var(--gold-soft)}
.chip.out{color:var(--dim)}

/* --- status / feedback --------------------------------------------------- */
.loading{
  background:var(--glass);border:1px solid var(--line);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border-radius:var(--r-lg);padding:26px;color:var(--muted);
}
.error,.error-box{
  background:rgba(209,41,29,.10);
  border:1px solid rgba(209,41,29,.32);
  border-radius:var(--r);padding:16px 18px;color:var(--bad);
  font-size:.93rem;
}
.empty{
  padding:30px;background:var(--glass);border:1px dashed var(--line-strong);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border-radius:var(--r-lg);text-align:center;color:var(--muted);
}

/* --- entrance motion ----------------------------------------------------- */
@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.rise{animation:rise .5s ease both}
.rise:nth-child(2){animation-delay:.05s}
.rise:nth-child(3){animation-delay:.1s}
.rise:nth-child(4){animation-delay:.15s}

/* --- reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* --- small screens ------------------------------------------------------- */
@media(max-width:700px){
  .wrap{width:min(var(--max),calc(100% - 26px))}
  .tm-nav{gap:10px;min-height:62px}
  .brand{font-size:1.02rem}
  .brand::before{width:31px;height:31px;font-size:.7rem;margin-right:9px}
  .brand{flex:none}
  .navlinks{gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;max-width:100%;flex:1 1 auto;min-width:0}
  .navlinks::-webkit-scrollbar{display:none}
  .navlinks a{padding:7px 10px;font-size:.83rem}
  /* the fixed photo backdrop is expensive on mobile — keep it, drop the blur cost */
  body::before{background-position:center 32%}
}
@media(max-width:400px){
  .brand-sub{font-size:.55rem;letter-spacing:.26em}
  .navlinks a{padding:6px 8px;font-size:.79rem}
}

/* --- supplied TM360 ticket logo --- */
.brand::before{content:none!important;display:none!important}
.brand{display:block!important;width:112px;height:56px;flex:none;padding:0;border:0;background:url("brand/tm360-tickets.webp") center/contain no-repeat;overflow:hidden;text-indent:-9999px;filter:drop-shadow(0 0 6px rgba(239,128,59,.4))}
.brand>*{display:none!important}
@media(max-width:700px){.brand{width:92px;height:46px}}

/* --- logo branding across the site: gold-framed navy, like the TM360 badge --- */
.btn.primary,.button.primary,.btn:where(.primary){background:rgba(10,10,10,.72);border:1px solid var(--gold);color:var(--gold);letter-spacing:.04em}
.btn.primary:hover,.button.primary:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.pill[aria-pressed="true"]{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}
.navlinks a[aria-current="page"]{border-color:var(--gold);color:var(--gold)}
.panel h2 em,.gold{color:var(--gold)}
/* supplied purchase badge is the event purchase control */
.buy-badge{min-width:154px;min-height:76px;padding:0;border:0!important;background:transparent url("brand/buy-tickets.webp") center/contain no-repeat!important;color:transparent!important;filter:drop-shadow(0 7px 12px rgba(0,0,0,.28))}
.buy-badge:hover{transform:translateY(-2px);filter:brightness(1.08) drop-shadow(0 9px 14px rgba(0,0,0,.34))}
.buy-badge:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.buy-badge:disabled{filter:grayscale(1);opacity:.44}

/* --- marketability pass: mobile menu, no-fee badges, calmer surfaces --- */
.menu-toggle,.nav-quick{display:none}
@media(max-width:760px){
  html.has-menu:not(.is-app) .tm-nav{position:relative;flex-wrap:nowrap}
  html.has-menu:not(.is-app) .nav-quick{display:inline-flex;margin-left:auto;align-items:center;padding:8px 12px;border:1px solid var(--gold);color:var(--gold);font-size:.84rem;font-weight:600;text-decoration:none;white-space:nowrap}
  html.has-menu:not(.is-app) .menu-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--glass);border:1px solid var(--line-strong);color:var(--text);font:600 .84rem var(--font-sans);cursor:pointer;border-radius:var(--r)}
  .menu-toggle i{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}
  html.has-menu:not(.is-app) .navlinks{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;flex-direction:column;align-items:stretch;gap:0;max-width:none;overflow:visible;padding:8px;background:#0a0a0a;border:1px solid var(--line-strong);box-shadow:0 18px 40px rgba(0,0,0,.5)}
  html.has-menu:not(.is-app) .tm-nav.open .navlinks{display:flex}
  html.has-menu:not(.is-app) .navlinks a{padding:14px 14px;font-size:1rem;border-bottom:1px solid var(--line);margin:0}
  html.has-menu:not(.is-app) .navlinks a:last-child{border-bottom:0}
}
.nofee-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid rgba(239,128,59,.55);background:var(--gold-soft);color:var(--gold);font:700 .7rem var(--font-sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.nofee-tag::before{content:"";width:6px;height:6px;background:var(--gold)}

/* TM360 signature gold glow — cards, boxes, buttons and menu items */
:root{--tm-glow:0 0 10px rgba(239,128,59,.28);--tm-glow-strong:0 0 16px rgba(239,128,59,.5)}
.panel,.error-box,.promo-strip,.price-card,.availability-box,.ticket-panel,.modal-card,.ks-card,.card,.event-card,[class$="-card"],[class*="-card "]{box-shadow:var(--tm-glow)!important;transition:box-shadow .2s ease}
.promo-strip:hover,.price-card:hover,.card:hover,.event-card:hover,a[class$="-card"]:hover{box-shadow:var(--tm-glow-strong)!important}
.btn,.button,.pill,.chip,.nofee-tag,.navlinks a,.menu-toggle{box-shadow:var(--tm-glow);transition:box-shadow .2s ease,background .2s,color .2s}
.btn:hover,.button:hover,.pill:hover,.pill[aria-pressed="true"],.navlinks a:hover,.navlinks a[aria-current="page"],.menu-toggle:hover{box-shadow:var(--tm-glow-strong)}
.btn:disabled,.button:disabled,.btn.disabled,.button.disabled{box-shadow:none}
.buy-badge{filter:drop-shadow(0 0 6px rgba(239,128,59,.4))}
.buy-badge:hover{filter:drop-shadow(0 0 12px rgba(239,128,59,.6))}

/* ==========================================================================
   GRITS theme (test branch) — black, cream, safety orange, logo red
   ========================================================================== */
:root{
  --brand:#0a0a0a;--bg:#0a0a0a;
  --glass:rgba(247,244,236,.07);--glass-strong:rgba(247,244,236,.13);--glass-solid:rgba(20,20,20,.9);
  --line:rgba(247,244,236,.2);--line-strong:rgba(247,244,236,.34);
  --text:#f5f1e3;--muted:rgba(247,244,236,.76);--dim:rgba(247,244,236,.56);--ink:#0a0a0a;
  --gold:#ee7a2f;--gold-soft:rgba(239,128,59,.16);--red:#d6322a;
  --tm-glow:0 0 10px rgba(239,128,59,.25);--tm-glow-strong:0 0 16px rgba(239,128,59,.48);
  --font-display:"Anton","Archivo",Impact,sans-serif;
  --r-sm:2px;--r:2px;--r-lg:3px;--r-xl:3px;
}
body::before{filter:grayscale(1) contrast(1.1)}
body::after{background:linear-gradient(to bottom,rgba(10,10,10,.78) 0%,rgba(10,10,10,.7) 34%,rgba(10,10,10,.93) 72%,rgba(14,14,14,.99) 100%)}
h1,h2,h3{font-weight:400;letter-spacing:.005em;text-transform:uppercase;line-height:1.02}
.tm-header{background:rgba(10,10,10,.82)}
.tm-footer{background:rgba(14,14,14,.8)}
.brand{width:118px!important;height:70px!important;background-image:url("brand/grits-tickets.webp")!important;filter:drop-shadow(0 0 6px rgba(239,128,59,.35))!important}
@media(max-width:700px){.brand{width:94px!important;height:56px!important}}
.promo-strip{background:var(--gold);color:var(--ink)}
.btn.primary,.button.primary,.btn:where(.primary){background:var(--gold);border-color:var(--gold);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}
.btn.primary:hover,.button.primary:hover{background:#f5f1e3;border-color:#f5f1e3;color:var(--ink)}
.pill[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.nofee-tag{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:rotate(-2deg)}
.nofee-tag::before{background:var(--red)}
input,select,textarea{background:rgba(247,244,236,.94);color:var(--ink);border-color:transparent}
input::placeholder{color:rgba(10,10,10,.5)}
.buy-badge{background:var(--gold)!important;color:var(--ink)!important;font:400 1.25rem var(--font-display)!important;text-transform:uppercase;letter-spacing:.05em;border:3px solid var(--ink)!important;outline:2px solid var(--gold);min-height:60px}
.eyebrow.gold,.brand-sub{color:var(--gold)}
.pill{color:var(--text)}
.pill[aria-pressed="true"]{color:var(--ink)}
a.promo-strip{background:var(--gold)!important;color:var(--ink)!important}
.searchbar{background:#f5f1e3!important;border-color:#f5f1e3!important;color:var(--ink)}
.searchbar input{color:var(--ink)!important;background:transparent!important}
.strip>div,.trust div{background:rgba(22,22,22,.72)!important}
.brand{height:62px!important;width:104px!important}
@media(max-width:700px){.brand{width:84px!important;height:50px!important}}

/* --- GRITS v2: match the approved mockup ------------------------------- */
:root{--font-display:"Archivo Black","Anton",Impact,sans-serif;--font-mono:"Space Mono",ui-monospace,monospace}
body::before{left:38%;-webkit-mask-image:linear-gradient(to right,transparent,#000 35%);mask-image:linear-gradient(to right,transparent,#000 35%)}
body::after{background:linear-gradient(to right,#0a0a0a 0%,rgba(10,10,10,.92) 38%,rgba(10,10,10,.35) 75%,rgba(10,10,10,.25) 100%),linear-gradient(to bottom,transparent 45%,#0a0a0a 85%)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.3rem)!important;max-width:15ch;line-height:1.02}
.lead,.hero-promise,.navlinks a,.eyebrow,.count,.tm-footer{font-family:var(--font-mono)!important}
.tm-header{background:#0a0a0a!important;border-bottom:1px solid rgba(247,244,236,.1)}
.navlinks a,.navlinks a:hover,.navlinks a[aria-current="page"]{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--text)}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--gold)!important}
.navlinks a.nav-cta{border:1.5px solid var(--gold)!important;color:var(--gold)!important;border-radius:6px;margin-left:14px}
.searchbar{border-radius:5px!important;box-shadow:none!important;max-width:700px}
.filters .pill{border-radius:999px!important;border:1.5px solid var(--text)!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;padding:9px 20px;font-family:var(--font-mono)}
.filters .pill[aria-pressed="true"]{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--ink)!important}

/* gig cards as cream ticket stubs with perforated edges */
.cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important;gap:22px!important}
.cards>.loading,.cards>.error,.cards>.empty{grid-column:1/-1}
.card{display:flex!important;flex-direction:column;gap:0!important;padding:14px 14px 18px!important;background:#f5f1e3!important;color:var(--ink)!important;border:0!important;box-shadow:0 14px 30px -18px rgba(0,0,0,.9)!important;
  -webkit-mask:radial-gradient(circle 7px at 0 14px,transparent 98%,#000) 0 0/51% 28px repeat-y,radial-gradient(circle 7px at 100% 14px,transparent 98%,#000) 100% 0/51% 28px repeat-y;
  mask:radial-gradient(circle 7px at 0 14px,transparent 98%,#000) 0 0/51% 28px repeat-y,radial-gradient(circle 7px at 100% 14px,transparent 98%,#000) 100% 0/51% 28px repeat-y}
.card:hover{transform:translateY(-3px) rotate(-.4deg)}
.card .shot{width:100%!important;height:auto!important;aspect-ratio:4/3;filter:grayscale(.15) contrast(1.05)}
.card .body{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto auto!important;gap:4px 10px!important;padding:14px 4px 0;border-top:0}
.card h3{grid-column:1/-1!important;grid-row:1!important;color:var(--ink)!important;font-size:1.3rem!important;white-space:normal!important}
.card .venue{grid-column:1!important;grid-row:2!important;color:rgba(10,10,10,.7)!important;font-family:var(--font-mono);font-size:.82rem!important;text-transform:uppercase}
.card .top{grid-column:1!important;grid-row:3!important}
.card .when{color:var(--ink)!important;font-family:var(--font-mono);font-size:.8rem!important}
.card .foot{grid-column:2!important;grid-row:2/4!important;align-items:flex-end}
.card .cta{display:none}
.card .nofee-tag{background:var(--gold)!important;color:var(--ink)!important;border:0!important;font:400 .95rem/1.05 var(--font-display)!important;padding:8px 12px!important;transform:rotate(-4deg);box-shadow:none!important;white-space:normal;width:90px;text-align:center;justify-content:center}
.card .nofee-tag::before{display:none}
.card .chip{box-shadow:none!important;background:transparent;color:var(--ink);border-color:rgba(10,10,10,.3)}
.strip>div,.trust div,.ethos li{background:#0a0a0a!important;backdrop-filter:none!important}
.tm-footer{background:#0a0a0a!important;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}

.card .nofee-tag{width:104px!important;font-size:.82rem!important;letter-spacing:.02em!important}
.hero{padding-top:clamp(36px,6vw,72px)!important}

/* --- GRITS v3: raw gig-poster / ticket-stub look (mockup) --------------- */
:root{--tm-glow:none!important;--tm-glow-strong:none!important;--font-display:"Anton","Archivo Black",Impact,sans-serif}
*,*::before,*::after{text-shadow:none}
.panel,.card,.btn,.button,.navlinks a,.pill,.strip>div,.trust div,.ethos li,.searchbar{box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.brand{filter:none!important}
h1,h2,h3{text-transform:uppercase;letter-spacing:.015em}
.hero h1{color:#f5f1e3;line-height:.98}
/* stamp-edge perforation on all four sides */
.card{padding:16px 16px 20px!important;background:#f5f1e3!important;
  -webkit-mask:radial-gradient(circle 6px,#0000 96%,#000) -10px -10px/20px 20px round,linear-gradient(#000 0 0) content-box;
  mask:radial-gradient(circle 6px,#0000 96%,#000) -10px -10px/20px 20px round,linear-gradient(#000 0 0) content-box}
.card:hover{transform:translateY(-3px) rotate(-.5deg)}
.card .shot{border:3px solid #0a0a0a;filter:grayscale(.2) contrast(1.1)}
.card h3{font-size:1.45rem!important;letter-spacing:.02em}
.card .nofee-tag{font-family:var(--font-display)!important;font-size:1.05rem!important;text-transform:uppercase;border:2px solid #0a0a0a!important;transform:rotate(-6deg)!important}
.card .body{border-top:2px dashed rgba(10,10,10,.35)!important;margin-top:12px;padding-top:12px!important}
/* perforated tear lines between sections */
.tm-header{border-bottom:0!important;background-image:radial-gradient(circle 3px,#f5f1e3 95%,transparent) !important;background-size:14px 6px!important;background-repeat:repeat-x!important;background-position:bottom left!important;background-color:#0a0a0a!important}
.strip,.trust,.tm-footer{border-top:2px dashed rgba(243,238,226,.35)!important}
.strip>div,.trust div,.ethos li,.panel{background:#f5f1e3!important;color:#0a0a0a!important;border:0!important;
  -webkit-mask:radial-gradient(circle 7px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 7px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat}
.strip>div *,.trust div *,.ethos li *{color:#0a0a0a}
.btn.primary,.button.primary{font-family:var(--font-display);font-size:1.05rem;border:2px solid #0a0a0a!important}


/* --- GRITS v4: orange perforated ticket cards everywhere ---------------- */
.tm-header{background-color:#0a0a0a!important}
.card,.panel,.strip>div,.trust div,.ethos li,.table-wrap{
  background:var(--gold)!important;color:#0a0a0a!important;border:0!important;box-shadow:none!important;
  -webkit-mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 5px at 0 50%,#0000 95%,#000) left/10px 16px repeat-y,radial-gradient(circle 5px at 100% 50%,#0000 95%,#000) right/10px 16px repeat-y,linear-gradient(#000 0 0) center/calc(100% - 18px) calc(100% - 18px) no-repeat;
  mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 5px at 0 50%,#0000 95%,#000) left/10px 16px repeat-y,radial-gradient(circle 5px at 100% 50%,#0000 95%,#000) right/10px 16px repeat-y,linear-gradient(#000 0 0) center/calc(100% - 18px) calc(100% - 18px) no-repeat}
.card *,.panel *,.strip>div *,.trust div *,.ethos li *,.table-wrap *{color:#0a0a0a!important}
.panel,.strip>div,.trust div{padding:24px 26px!important}
.strip{gap:18px!important;background:transparent!important;border:0!important}
.table-wrap{padding:10px!important}
.compare td,.compare th{border-bottom:2px dashed rgba(10,10,10,.3)!important;background:transparent!important}
.compare td.us{background:rgba(10,10,10,.1)!important;font-weight:700}
.compare th{font-weight:700;color:#0a0a0a!important}
.card .body{border-top:2px dashed rgba(10,10,10,.4)!important}
.card .nofee-tag{background:#0a0a0a!important;color:#f5f1e3!important;border-color:#0a0a0a!important}
.card .nofee-tag *{color:#f5f1e3!important}
.card .shot{border-color:#0a0a0a}
.panel .btn,.panel .button{background:#0a0a0a!important;color:#f5f1e3!important;border-color:#0a0a0a!important}
.panel .btn *{color:#f5f1e3!important}
.panel .tag{background:#0a0a0a!important;color:#f5f1e3!important}
.hero-p,main>.hero{padding-top:clamp(40px,7vw,80px)!important}


/* --- GRITS v5: charcoal cards with orange wash + ticket-stub buttons ---- */
.card,.panel,.strip>div,.trust div,.ethos li,.table-wrap,.event-row{
  background:linear-gradient(rgba(239,128,59,.13),rgba(239,128,59,.13)),#1c1c1c!important;color:#f5f1e3!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  -webkit-mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,linear-gradient(#000 0 0) center/100% calc(100% - 20px) no-repeat;
  mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,linear-gradient(#000 0 0) center/100% calc(100% - 20px) no-repeat;
  outline:1.5px dashed rgba(239,128,59,.55);outline-offset:-8px}
.card *,.panel *,.strip>div *,.trust div *,.ethos li *,.table-wrap *,.event-row *{color:#f5f1e3!important}
.card .venue,.event-row .meta,.event-row .date small{color:rgba(247,244,236,.7)!important}
.card h3,.panel h2,.panel h3,.strip strong,.event-row .title{color:#f5f1e3!important}
.card .body,.compare td,.compare th{border-color:rgba(239,128,59,.35)!important}
.compare td.us{background:rgba(239,128,59,.18)!important}
.card .nofee-tag,.panel .tag{background:var(--gold)!important;color:#0a0a0a!important}
.card .nofee-tag *{color:#0a0a0a!important}
.card .shot,.event-row img{border:2px solid rgba(239,128,59,.6)!important;border-radius:0!important}
.event-row:hover{transform:translateY(-2px) rotate(-.25deg)}
/* ticket-stub buttons */
.event-row .action .btn,.panel .btn.primary,.btn.primary,.button.primary{
  background:var(--gold)!important;color:#0a0a0a!important;border:0!important;border-radius:0!important;
  padding:14px 26px!important;position:relative;
  -webkit-mask:radial-gradient(circle 8px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 8px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
  outline:1.5px dashed rgba(10,10,10,.55);outline-offset:-6px}
.btn.primary *,.button.primary *{color:#0a0a0a!important}
.btn.primary:hover,.button.primary:hover{background:#f39150!important;transform:rotate(-1deg)}
.event-row .date{position:relative}

/* --- GRITS v6: Electric Flame & Soft Peach palette ---------------------- */
:root{--bg:#0a0a0a;--brand:#0a0a0a;--text:#f5f1e3;--muted:rgba(245,241,227,.78);--dim:rgba(245,241,227,.58);--ink:#0a0a0a;--gold:#ef803b;--gold-soft:rgba(239,128,59,.16);--copper:#d1291d}
body{background:#0a0a0a;color:#f5f1e3}
body::after{background:linear-gradient(to right,#0a0a0a 0%,rgba(14,14,14,.92) 38%,rgba(14,14,14,.35) 75%,rgba(14,14,14,.25) 100%),linear-gradient(to bottom,transparent 45%,#0a0a0a 85%)}
.tm-header,.tm-footer{background-color:#0a0a0a!important}
.card,.panel,.strip>div,.trust div,.ethos li,.table-wrap,.event-row{background:#0a0a0a!important;color:#f5f1e3!important;outline-color:rgba(239,128,59,.6)!important}
.card *,.panel *,.strip>div *,.trust div *,.ethos li *,.table-wrap *,.event-row *{color:#f5f1e3!important}
.card .body,.compare td,.compare th{border-color:rgba(239,128,59,.35)!important}
.compare td.us{background:rgba(239,128,59,.12)!important}
.card .nofee-tag,.panel .tag{background:#d1291d!important;color:#f5f1e3!important;border-color:#d1291d!important}
.card .nofee-tag *,.panel .tag *{color:#f5f1e3!important}
.card .shot,.event-row img{border-color:rgba(239,128,59,.6)!important}
.btn.primary,.button.primary{background:#ef803b!important;color:#0a0a0a!important}
.btn.primary *,.button.primary *,.card .btn.primary,.panel .btn.primary,.card .btn.primary *,.panel .btn.primary *{color:#0a0a0a!important}
.pill{border-color:#d1291d!important}
.pill[aria-pressed="true"]{background:#ef803b!important;border-color:#ef803b!important;color:#0a0a0a!important}
.eyebrow.gold,.brand span{color:#ef803b}
.strip,.trust,.tm-footer{border-top-color:rgba(194,65,12,.6)!important}

/* --- GRITS v7: Buy Now = torn gig ticket with GRITS logo stub ------------ */
.button.buy-badge,.btn.buy-badge{display:inline-flex!important;align-items:stretch;gap:0;padding:0!important;min-width:250px;min-height:78px;border:0!important;outline:0!important;background:transparent!important;color:#0a0a0a!important;box-shadow:none!important;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));transform:rotate(-1.5deg);transition:transform .18s ease,filter .18s ease;
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 9px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat}
.buy-badge .bb-stub{display:grid;place-items:center;width:92px;flex:none;background:#f5f1e3;padding:8px 8px 8px 14px;border-right:3px dotted #0a0a0a;position:relative}
.buy-badge .bb-stub img{width:100%;height:auto;display:block}
.buy-badge .bb-buy{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 22px 8px 16px;background:#ef803b;font:400 1.9rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:#0a0a0a!important;position:relative;
  background-image:repeating-linear-gradient(-45deg,rgba(14,14,14,.05) 0 2px,transparent 2px 6px)}
.buy-badge .bb-buy::after{content:"\2192";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.6rem;transition:transform .18s ease}
.buy-badge .bb-buy small{display:block;margin-top:5px;font:700 .62rem/1.2 var(--font-mono,monospace);letter-spacing:.14em;color:#0a0a0a!important;max-width:15ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.button.buy-badge:hover{transform:rotate(0) translateY(-3px) scale(1.03);filter:drop-shadow(0 12px 18px rgba(239,128,59,.35))}
.button.buy-badge:hover .bb-buy::after{transform:translate(5px,-50%)}
.button.buy-badge:active{transform:rotate(0) scale(.98)}
.button.buy-badge:disabled{transform:none;filter:grayscale(1);opacity:.5;background:#0a0a0a!important;color:#f5f1e3!important;font:400 1.2rem var(--font-display)!important;text-transform:uppercase;justify-content:center;align-items:center}
@media(max-width:520px){.button.buy-badge{min-width:0;width:100%}.buy-badge .bb-buy{font-size:1.6rem}}

/* v8 GRITS logo palette only: black, ivory, orange, red */
:root{--bg:#0a0a0a;--brand:#0a0a0a;--ink:#0a0a0a;--text:#f5f1e3;--muted:rgba(245,241,227,.8);--dim:rgba(245,241,227,.62);--gold:#ef803b;--gold-soft:rgba(239,128,59,.16);--copper:#d1291d;--red:#d1291d}
.site-header .brand img,.brand img{filter:none!important}

/* v9 logo-style ivory ticket panels */
.card,.panel,.strip>div,.trust div,.trust li,.ethos li,.table-wrap,.tablewrap,.event-row,.compare,.rate,.calc-out,.ticket,.availability-box,.key-details,.empty,.error,.loading{background:#f5f1e3!important;color:#0a0a0a!important;border:6px solid #ef803b!important;outline:2px solid #0a0a0a;outline-offset:-12px;box-shadow:0 0 0 1px #0a0a0a,0 10px 30px rgba(0,0,0,.6)!important;backdrop-filter:none!important}
.table-wrap .table-wrap,.panel .table-wrap,.panel .tablewrap,.panel .rate,.panel .compare,.panel .ticket,.panel .availability-box{border:0!important;outline:0;box-shadow:none!important}
.card h1,.card h2,.card h3,.card h4,.card p,.card li,.card td,.card th,.card label,.card span:not(.tag):not(.nofee-tag),.card strong,.card small,.card dt,.card dd,.card b,.card em,.card .meta,.card .venue,.card .date,.card .title,.card .price,.panel h1,.panel h2,.panel h3,.panel h4,.panel p,.panel li,.panel td,.panel th,.panel label,.panel span:not(.tag):not(.nofee-tag),.panel strong,.panel small,.panel dt,.panel dd,.panel b,.panel em,.panel .meta,.panel .venue,.panel .date,.panel .title,.panel .price,.strip>div h1,.strip>div h2,.strip>div h3,.strip>div h4,.strip>div p,.strip>div li,.strip>div td,.strip>div th,.strip>div label,.strip>div span:not(.tag):not(.nofee-tag),.strip>div strong,.strip>div small,.strip>div dt,.strip>div dd,.strip>div b,.strip>div em,.strip>div .meta,.strip>div .venue,.strip>div .date,.strip>div .title,.strip>div .price,.trust div h1,.trust div h2,.trust div h3,.trust div h4,.trust div p,.trust div li,.trust div td,.trust div th,.trust div label,.trust div span:not(.tag):not(.nofee-tag),.trust div strong,.trust div small,.trust div dt,.trust div dd,.trust div b,.trust div em,.trust div .meta,.trust div .venue,.trust div .date,.trust div .title,.trust div .price,.trust li h1,.trust li h2,.trust li h3,.trust li h4,.trust li p,.trust li li,.trust li td,.trust li th,.trust li label,.trust li span:not(.tag):not(.nofee-tag),.trust li strong,.trust li small,.trust li dt,.trust li dd,.trust li b,.trust li em,.trust li .meta,.trust li .venue,.trust li .date,.trust li .title,.trust li .price,.ethos li h1,.ethos li h2,.ethos li h3,.ethos li h4,.ethos li p,.ethos li li,.ethos li td,.ethos li th,.ethos li label,.ethos li span:not(.tag):not(.nofee-tag),.ethos li strong,.ethos li small,.ethos li dt,.ethos li dd,.ethos li b,.ethos li em,.ethos li .meta,.ethos li .venue,.ethos li .date,.ethos li .title,.ethos li .price,.table-wrap h1,.table-wrap h2,.table-wrap h3,.table-wrap h4,.table-wrap p,.table-wrap li,.table-wrap td,.table-wrap th,.table-wrap label,.table-wrap span:not(.tag):not(.nofee-tag),.table-wrap strong,.table-wrap small,.table-wrap dt,.table-wrap dd,.table-wrap b,.table-wrap em,.table-wrap .meta,.table-wrap .venue,.table-wrap .date,.table-wrap .title,.table-wrap .price,.tablewrap h1,.tablewrap h2,.tablewrap h3,.tablewrap h4,.tablewrap p,.tablewrap li,.tablewrap td,.tablewrap th,.tablewrap label,.tablewrap span:not(.tag):not(.nofee-tag),.tablewrap strong,.tablewrap small,.tablewrap dt,.tablewrap dd,.tablewrap b,.tablewrap em,.tablewrap .meta,.tablewrap .venue,.tablewrap .date,.tablewrap .title,.tablewrap .price,.event-row h1,.event-row h2,.event-row h3,.event-row h4,.event-row p,.event-row li,.event-row td,.event-row th,.event-row label,.event-row span:not(.tag):not(.nofee-tag),.event-row strong,.event-row small,.event-row dt,.event-row dd,.event-row b,.event-row em,.event-row .meta,.event-row .venue,.event-row .date,.event-row .title,.event-row .price,.compare h1,.compare h2,.compare h3,.compare h4,.compare p,.compare li,.compare td,.compare th,.compare label,.compare span:not(.tag):not(.nofee-tag),.compare strong,.compare small,.compare dt,.compare dd,.compare b,.compare em,.compare .meta,.compare .venue,.compare .date,.compare .title,.compare .price,.rate h1,.rate h2,.rate h3,.rate h4,.rate p,.rate li,.rate td,.rate th,.rate label,.rate span:not(.tag):not(.nofee-tag),.rate strong,.rate small,.rate dt,.rate dd,.rate b,.rate em,.rate .meta,.rate .venue,.rate .date,.rate .title,.rate .price,.calc-out h1,.calc-out h2,.calc-out h3,.calc-out h4,.calc-out p,.calc-out li,.calc-out td,.calc-out th,.calc-out label,.calc-out span:not(.tag):not(.nofee-tag),.calc-out strong,.calc-out small,.calc-out dt,.calc-out dd,.calc-out b,.calc-out em,.calc-out .meta,.calc-out .venue,.calc-out .date,.calc-out .title,.calc-out .price,.ticket h1,.ticket h2,.ticket h3,.ticket h4,.ticket p,.ticket li,.ticket td,.ticket th,.ticket label,.ticket span:not(.tag):not(.nofee-tag),.ticket strong,.ticket small,.ticket dt,.ticket dd,.ticket b,.ticket em,.ticket .meta,.ticket .venue,.ticket .date,.ticket .title,.ticket .price,.availability-box h1,.availability-box h2,.availability-box h3,.availability-box h4,.availability-box p,.availability-box li,.availability-box td,.availability-box th,.availability-box label,.availability-box span:not(.tag):not(.nofee-tag),.availability-box strong,.availability-box small,.availability-box dt,.availability-box dd,.availability-box b,.availability-box em,.availability-box .meta,.availability-box .venue,.availability-box .date,.availability-box .title,.availability-box .price,.key-details h1,.key-details h2,.key-details h3,.key-details h4,.key-details p,.key-details li,.key-details td,.key-details th,.key-details label,.key-details span:not(.tag):not(.nofee-tag),.key-details strong,.key-details small,.key-details dt,.key-details dd,.key-details b,.key-details em,.key-details .meta,.key-details .venue,.key-details .date,.key-details .title,.key-details .price,.empty h1,.empty h2,.empty h3,.empty h4,.empty p,.empty li,.empty td,.empty th,.empty label,.empty span:not(.tag):not(.nofee-tag),.empty strong,.empty small,.empty dt,.empty dd,.empty b,.empty em,.empty .meta,.empty .venue,.empty .date,.empty .title,.empty .price,.error h1,.error h2,.error h3,.error h4,.error p,.error li,.error td,.error th,.error label,.error span:not(.tag):not(.nofee-tag),.error strong,.error small,.error dt,.error dd,.error b,.error em,.error .meta,.error .venue,.error .date,.error .title,.error .price,.loading h1,.loading h2,.loading h3,.loading h4,.loading p,.loading li,.loading td,.loading th,.loading label,.loading span:not(.tag):not(.nofee-tag),.loading strong,.loading small,.loading dt,.loading dd,.loading b,.loading em,.loading .meta,.loading .venue,.loading .date,.loading .title,.loading .price{color:#0a0a0a!important}
.card a:not(.btn):not(.button),.panel a:not(.btn):not(.button),.event-row a:not(.btn):not(.button){color:#d1291d!important}
.panel table,.panel td,.panel th,.table-wrap td,.table-wrap th,.compare td,.compare th{background:transparent!important;border-color:rgba(10,10,10,.25)!important}
.compare td:last-child,.compare th:last-child,.table-wrap td:last-child{background:rgba(239,128,59,.18)!important}
.panel .tag,.card .nofee-tag{background:#d1291d!important;color:#f5f1e3!important}
.panel input,.panel select,.panel textarea{background:#fff8!important;background:#ffffff!important;color:#0a0a0a!important;border:2px solid #0a0a0a!important}
.panel .switch button,.panel .switch a{background:transparent!important;color:#0a0a0a!important;border:2px solid #0a0a0a!important}
.panel .switch [aria-selected="true"],.panel .switch .active{background:#0a0a0a!important;color:#f5f1e3!important}
.panel .btn:not(.primary),.panel .button:not(.primary),.card .btn:not(.primary){color:#0a0a0a!important;border-color:#0a0a0a!important}


/* v10 event ticket list on ivory + flush logo */
.brand{background-size:contain!important;background-position:left center!important;padding:0!important;border:0!important;box-shadow:none!important;outline:0!important;width:130px!important;height:64px!important}
@media(max-width:700px){.brand{width:100px!important;height:50px!important}}
#tickets,.panel #tickets,.panel .ticket,.panel .ticket-head,.panel .ticket-row{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important}
.panel .ticket{padding:16px 0!important;border-bottom:2px dashed rgba(10,10,10,.3)!important}
.panel .ticket:last-child{border-bottom:0!important}
.panel .ticket h3,.panel .ticket .price{color:#0a0a0a!important}
.panel .ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.panel .ticket .nofee{display:block;margin-top:6px;background:#d1291d!important;color:#f5f1e3!important;border:0!important;padding:4px 8px;font-size:.62rem!important;letter-spacing:.12em}
.panel .ticket-row{display:flex;gap:12px;align-items:center;margin-top:12px}
.panel .ticket-row select{width:78px!important;min-height:64px;background:#f5f1e3!important;color:#0a0a0a!important;border:3px solid #0a0a0a!important;font:400 1.4rem var(--font-display)!important;text-align:center}
.panel .ticket-row .buy-badge{flex:1}
.buy-badge .bb-stub{width:96px!important;padding:6px!important;background:#f5f1e3!important}
.buy-badge .bb-stub img{width:100%!important;height:auto!important}
.buy-badge .bb-buy small{max-width:none!important;font-size:.7rem!important}
.panel button:not(.buy-badge):not(.pill),.panel .btn:not(.buy-badge){background:#0a0a0a!important;color:#f5f1e3!important;font-family:var(--font-display)!important;text-transform:uppercase}

/* --- GRITS v11: logo-style notch, lighter button type, polished sign-in --- */
.card,.panel,.strip>div,.trust div,.trust li,.ethos li,.table-wrap,.tablewrap,.event-row,.compare,.rate,.calc-out,.availability-box,.key-details{
  -webkit-mask:radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 18px at 50% 0,#0000 96%,#000) top/100% calc(100% - 10px) no-repeat!important;
  mask:radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 18px at 50% 0,#0000 96%,#000) top/100% calc(100% - 10px) no-repeat!important}
.button:not(.buy-badge),.btn:not(.buy-badge),.panel button:not(.buy-badge):not(.pill),.switch button,.linkish{
  font-family:"Archivo",system-ui,sans-serif!important;font-weight:600!important;font-size:.85rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-stretch:normal!important}
/* sign-in */
.intro{margin-top:28px!important}
main:has(#signInForm) .panel{max-width:500px;margin-inline:auto!important;padding:44px 40px 36px!important}
.switch{display:grid!important;grid-template-columns:1fr 1fr;gap:0!important;border:2px solid #0a0a0a!important;margin-bottom:26px!important;background:transparent!important;padding:0!important}
.switch button{background:transparent!important;color:#0a0a0a!important;border:0!important;padding:13px 8px!important;-webkit-mask:none!important;mask:none!important;box-shadow:none!important}
.switch button[aria-selected="true"]{background:#0a0a0a!important;color:#f5f1e3!important}
#signInForm .row,#createForm .row{margin-bottom:18px}
#signInForm input,#createForm input{background:#fff!important;border:2px solid #0a0a0a!important;padding:13px 14px!important}
#signInForm input:focus,#createForm input:focus{border-color:#ef803b!important;box-shadow:0 0 0 3px rgba(239,128,59,.25)!important}
#signInForm .button,#createForm .button{width:100%;margin-top:6px;background:#0a0a0a!important;color:#f5f1e3!important;padding:15px!important}
#signInForm .button:hover,#createForm .button:hover{background:#ef803b!important;color:#0a0a0a!important}
.panel .alt{margin-top:22px!important;padding-top:18px;border-top:2px dashed rgba(10,10,10,.25);text-align:center;color:#0a0a0a!important;font-size:.9rem}
.panel .linkish{background:none!important;border:0!important;padding:0!important;color:#d1291d!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer;-webkit-mask:none!important;mask:none!important;font-size:.78rem!important}
.panel .msg:empty{display:none}


/* --- GRITS v12: real buttons, smaller top notch --- */
html body .button:not(.buy-badge),html body .btn:not(.buy-badge),html body .panel button:not(.buy-badge):not(.pill):not(.linkish):not([role="tab"]){
  font-family:"Space Mono",ui-monospace,monospace!important;font-weight:700!important;font-size:.88rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  background:#ef803b!important;color:#0a0a0a!important;border:2px solid #0a0a0a!important;border-radius:6px!important;
  padding:13px 24px!important;box-shadow:4px 4px 0 #0a0a0a!important;-webkit-mask:none!important;mask:none!important;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease!important}
html body .button:not(.buy-badge)::before,html body .button:not(.buy-badge)::after,html body .btn:not(.buy-badge)::before,html body .btn:not(.buy-badge)::after{content:none!important}
html body .button:not(.buy-badge):hover,html body .btn:not(.buy-badge):hover,html body .panel button:not(.buy-badge):not(.pill):not(.linkish):not([role="tab"]):hover{
  background:#f5f1e3!important;transform:translate(-2px,-2px);box-shadow:6px 6px 0 #0a0a0a!important}
html body .button:not(.buy-badge):active,html body .btn:not(.buy-badge):active{transform:translate(3px,3px);box-shadow:1px 1px 0 #0a0a0a!important}
html body .btn.secondary,html body .button.secondary,html body .btn.ghost{background:#f5f1e3!important}
.switch button{font-family:"Space Mono",ui-monospace,monospace!important;font-weight:700!important;letter-spacing:.06em!important}
.card,.panel,.strip>div,.trust div,.trust li,.ethos li,.table-wrap,.tablewrap,.event-row,.compare,.rate,.calc-out,.availability-box,.key-details{
  -webkit-mask:radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 11px at 50% 0,#0000 96%,#000) top/100% calc(100% - 10px) no-repeat!important;
  mask:radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 11px at 50% 0,#0000 96%,#000) top/100% calc(100% - 10px) no-repeat!important}

/* ===== v13: Canva mockup layouts (events rows, ticket box, licence form, talk strip) ===== */
/* Events list: ticket rows */
#events{display:grid;gap:14px}
html body .event-row{display:grid!important;grid-template-columns:150px 1.1fr 1fr 1fr auto!important;align-items:center!important;gap:0!important;padding:14px 22px 20px 14px!important;border:4px solid #ef803b!important;box-shadow:inset 0 0 0 2px #f5f1e3,inset 0 0 0 3px #ef803b!important}
.event-row>div{padding:0 22px;min-width:0}
.event-row>div:first-child{padding:0}
.event-row>div:nth-child(n+3):not(.action){border-left:2px dashed #ef803b}
.event-row img,.event-row .placeholder{width:150px;height:92px;object-fit:cover;border:3px solid #0a0a0a;display:block;border-radius:0}
.event-row .title,.event-row .venue,.event-row .date{font-family:var(--font-display)!important;text-transform:none;font-size:1.15rem!important;line-height:1.2!important;color:#0a0a0a!important;letter-spacing:0!important}
.event-row .date small,.event-row .nofee-tag{display:none!important}
.event-row .action{padding-right:0;border-left:2px dashed #ef803b;padding-left:22px}
.event-row .action .btn{font-size:.72rem!important;letter-spacing:.18em!important;padding:11px 20px!important;white-space:nowrap}
@media(max-width:760px){html body .event-row{grid-template-columns:110px 1fr!important;row-gap:10px!important}.event-row img,.event-row .placeholder{width:110px;height:70px}.event-row>div{border-left:0!important;padding:0 0 0 14px}.event-row .venue,.event-row .date,.event-row .action{grid-column:2}.event-row .action{padding-left:14px}}

/* Ticket box on show page */
.ticket-panel h2{margin-bottom:14px}
.ticket-panel .promo{grid-template-columns:1fr auto!important;gap:10px!important;align-items:stretch}
.ticket-panel .promo input{background:#fff!important;border:2px solid #0a0a0a!important;border-radius:0!important;color:#0a0a0a!important;font-style:italic}
html body .ticket-panel .promo button{background:#ef803b!important;color:#0a0a0a!important}
.ticket-panel .ticket{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-mask:none!important;mask:none!important;padding:16px 0!important;margin:0!important;border-bottom:2px dashed rgba(10,10,10,.35)!important}
.ticket-panel .ticket:last-child{border-bottom:0!important}
.ticket-panel .ticket-head{display:flex!important;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 10px!important}
.ticket-panel .ticket-head h3{font-family:var(--font-display)!important;font-size:1.05rem!important;letter-spacing:.04em!important;text-transform:uppercase;margin:0!important;color:#0a0a0a!important}
.ticket-panel .price{font-family:var(--font-display)!important;font-size:1.7rem!important;line-height:1!important;color:#0a0a0a!important;text-align:right}
.ticket-panel .price .nofee{display:none!important}
.ticket-panel .ticket-row{display:grid!important;grid-template-columns:70px 1fr!important;gap:8px!important;margin:0!important;align-items:stretch}
.ticket-panel .ticket-row select{height:66px!important;border:2px solid #0a0a0a!important;background:#f5f1e3!important;color:#0a0a0a!important;font:400 1.5rem var(--font-display)!important;border-radius:0!important;padding:0 10px!important}
html body .ticket-panel .button.buy-badge{height:66px!important;min-width:0!important;width:100%!important;max-width:290px;transform:none!important;display:flex!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible}
.ticket-panel .buy-badge .bb-stub{width:88px!important;flex:none;padding:5px!important;background:#0a0a0a!important;border-right:0!important}
.ticket-panel .buy-badge .bb-stub img{width:100%!important;height:100%!important;object-fit:contain}
.ticket-panel .buy-badge .bb-buy{font-size:1.45rem!important;padding:6px 44px 6px 14px!important;-webkit-mask:radial-gradient(circle 8px at 100% 50%,#0000 96%,#000)!important;mask:radial-gradient(circle 8px at 100% 50%,#0000 96%,#000)!important;border-left:2px dashed #0a0a0a}
.ticket-panel .buy-badge .bb-buy small{font-size:.58rem!important;margin-top:4px!important}
.ticket-panel .buy-badge .bb-buy::after{right:22px!important;font-size:1.3rem!important}
html body .ticket-panel .button.buy-badge:hover{transform:translateY(-2px)!important;filter:drop-shadow(3px 3px 0 #0a0a0a)}
html body .ticket-panel .button.buy-badge:disabled{height:66px!important;justify-content:center;align-items:center}

/* Licence form: side notches, perforated top & bottom */
html body .panel.signup{max-width:600px;margin:0 auto;padding:34px 30px 36px!important;
  -webkit-mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 12px at 0 50%,#0000 96%,#000) left/51% calc(100% - 20px) no-repeat,radial-gradient(circle 12px at 100% 50%,#0000 96%,#000) right/51% calc(100% - 20px) no-repeat!important;
  mask:radial-gradient(circle 5px at 50% 0,#0000 95%,#000) top/16px 10px repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 95%,#000) bottom/16px 10px repeat-x,radial-gradient(circle 12px at 0 50%,#0000 96%,#000) left/51% calc(100% - 20px) no-repeat,radial-gradient(circle 12px at 100% 50%,#0000 96%,#000) right/51% calc(100% - 20px) no-repeat!important}
.signup .eyebrow{color:#ef803b!important}
.signup h2{font-size:clamp(2rem,4vw,2.8rem)!important;color:#0a0a0a!important}
.signup .steps{list-style:none;counter-reset:s;padding:0;margin:16px 0 20px}
.signup .steps li{counter-increment:s;display:flex;gap:18px;align-items:center;padding:5px 0;font-size:.85rem}
.signup .steps li::before{content:counter(s);font:400 1.3rem var(--font-display);color:#ef803b;width:22px;text-align:center}
.signup label{font:700 .72rem var(--font-mono,monospace)!important;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a!important}
.signup input:not([type=checkbox]),.signup select,.card input:not([type=checkbox]),.card select,.panel input:not([type=checkbox]):not(#promo),.panel select:not([id^=quantity]),.panel textarea{background:#fff!important;border:2px solid #0a0a0a!important;border-radius:0!important;color:#0a0a0a!important}
.signup .agree span{font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:400}
.signup .agree a{color:#ef803b!important}

/* "Rather talk first?" strip: black ticket with orange frame + side notches */
html body .cta-final{display:grid;grid-template-columns:1fr auto;gap:8px 30px;align-items:center;text-align:left!important;background:#0a0a0a!important;border:2px solid #ef803b!important;padding:26px 40px!important;margin-top:40px;position:relative;
  -webkit-mask:radial-gradient(circle 14px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 14px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat}
.cta-final>*{grid-column:1;margin-left:0!important}
.cta-final .eyebrow{color:#ef803b!important;margin:0}
.cta-final h2{color:#ef803b!important;margin:0!important}
.cta-final .lead{color:#f5f1e3!important;max-width:46ch;font-size:.9rem}
.cta-final>p:nth-of-type(3){grid-column:2;grid-row:1/4;margin:0!important;display:flex;gap:12px;flex-wrap:wrap}
.cta-final>p:nth-of-type(4),.cta-final .fineprint{grid-column:1/-1}
.cta-final .fineprint{color:rgba(245,241,227,.7)!important}
.cta-final .fineprint a{color:#ef803b!important}
@media(max-width:760px){html body .cta-final{grid-template-columns:1fr;padding:24px!important}.cta-final>p:nth-of-type(3){grid-column:1;grid-row:auto}}

/* v14: no-booking-fee labels back (key USP) + chat icon on talk strip */
.event-row .date .nofee-tag{display:inline-block!important;margin-top:8px!important;background:#d1291d!important;color:#f5f1e3!important;font:700 .62rem/1 var(--font-mono,monospace)!important;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px!important;transform:rotate(-3deg);border:0!important}
.ticket-panel .price .nofee{display:block!important;margin-top:6px;background:#d1291d!important;color:#f5f1e3!important;font:700 .58rem/1 var(--font-mono,monospace)!important;letter-spacing:.12em;text-transform:uppercase;padding:5px 7px!important;text-align:center}
html body .cta-final{background:#0a0a0a url(/assets/brand/talk.webp) no-repeat 34px center/96px auto!important;padding-left:160px!important}
@media(max-width:760px){html body .cta-final{background-position:24px 22px!important;background-size:60px auto!important;padding-left:24px!important;padding-top:96px!important}}

/* v13 promoter steps, dropdown options, checkout */
.signup .steps li::before{counter-increment:none!important}
.signup .steps li{counter-increment:s!important}
.signup{padding-top:clamp(40px,6vw,64px)!important}
select option,select optgroup{background:#fff!important;color:#0a0a0a!important}
html body .summary{background:#f5f1e3!important;border:6px solid #ef803b!important;color:#0a0a0a!important}
html body .summary h1,html body .summary .meta,html body .summary .line,html body .summary .line *,html body .summary li,html body .summary .eyebrow{color:#0a0a0a!important}
html body .summary .lines,html body .summary .line.total{border-color:#0a0a0a!important}
html body .summary .direct,html body .summary .seller{background:#fff!important;color:#0a0a0a!important;border:2px solid #0a0a0a!important}
html body .summary .nofee-tag{background:#d1291d!important;color:#f5f1e3!important}
html body .pay{background:#0a0a0a!important;border:2px solid #ef803b!important;color:#f5f1e3!important}
html body .pay *:not(a):not(iframe){color:#f5f1e3!important}
html body .pay a{color:#ef803b!important}
html body .pay .pay-head,html body .pay .agree,html body .pay .pay-terms{background:#0a0a0a!important;opacity:1!important}
html body.has-art::after{background:linear-gradient(rgba(10,10,10,.85),rgba(10,10,10,.97))!important}

/* v14 checkout readability */
html body main .panel.pay .agree,html body main .panel.pay .agree *:not(a):not(input),html body main .panel.pay .pay-foot,html body main .panel.pay .pay-foot *:not(a),html body main .panel.pay .pay-terms,html body main .panel.pay .pay-terms *:not(a){color:#f5f1e3!important;opacity:1!important}
html body main .panel.pay .pay-foot{background:#0a0a0a!important}
html body main .panel.summary *:not(.nofee-tag):not(a){color:#0a0a0a!important}
html body main .panel.summary .seller,html body main .panel.summary .direct{padding:16px 18px!important;margin-top:18px!important}
html body main .panel.summary .seller strong,html body main .panel.summary .seller b{display:inline!important;font:inherit!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}
html body main .panel.summary .seller p{margin:0 0 10px!important}
html body main .panel.summary .seller .eyebrow{display:block!important;margin-bottom:8px!important}
html body main .panel.summary ul{padding-left:18px!important}
