/* Ticket shop, ticket view and crew pages. Builds on fireside.css tokens.
   The site's three type styles (fireside.css POSTER TYPE), nothing else:
   A display  Archivo 800 expanded. Page title, and one sub size for box heads and the total
   B body     Archivo 300 (the site's body weight), 17px. Everything people read, buttons inside .tk included
   C label    Space Mono Bold caps, 13px. Field labels, ticket codes, stock and "+ GST"
   Emphasis is colour only. Nothing on a phone is under 13px. */

/* Site chrome keeps the site's styles, only bumped to phone-readable sizes */
.nav .btn--sm, .foot__h{ font-size:13px; }
.foot__brand p, .foot__col p:not(.foot__h), .foot__base p{ font-size:16px; letter-spacing:0; }

.tk{ max-width:640px; margin:0 auto; padding:132px var(--gut) 96px; font-family:var(--body); font-weight:300; font-size:17px; line-height:1.55; }
.tk p{ margin:0 0 1rem; }
.tk h1{ font-family:var(--display); font-weight:800; font-stretch:112%; letter-spacing:-.01em; font-size:clamp(2.4rem,9vw,4rem); line-height:.95; margin:0 0 .4em; }
.tk h2, .tk__total b{ font-family:var(--display); font-weight:800; font-stretch:112%; letter-spacing:-.01em; font-size:1.5rem; line-height:1.15; }
.tk .lede{ font-size:17px; margin:0 0 2rem; }
.tk__label, .tk__state, .tk__gst, .tk__code p{ font-family:var(--mono); font-weight:700; font-size:13px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.tk__label{ display:block; margin:0 0 .6rem; }
.tk__note{ border:1px solid var(--hair); padding:14px 16px; margin:0 0 1.6rem; color:var(--paper); }
.tk__note--hot{ border-color:var(--hair-hot); }
.tk .btn{ width:100%; justify-content:center; font-family:var(--body); font-weight:300; font-size:17px; letter-spacing:0; text-transform:none; padding:14px 22px; }

.tk__group{ margin:0 0 1.6rem; }
.tk__opt{ display:grid; grid-template-columns:1fr auto; gap:4px 16px; align-items:start;
  padding:16px 18px; border:1px solid var(--hair); margin:0 0 8px; transition:border-color .15s var(--ease), background .15s var(--ease); }
.tk__opt.is-in{ border-color:var(--ember); background:rgba(252,72,24,.06); }
.tk__name{ color:var(--paper); }
.tk__price{ color:var(--paper); text-align:right; }
.tk__gst{ display:block; }
.tk__meta{ grid-column:1 / -1; color:var(--muted); }
.tk__opt.is-off{ opacity:.45; }
.tk__state--low{ color:var(--amber); }

/* − n + on every ticket */
.tk__foot{ grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin-top:8px; }
.tk__step{ display:flex; align-items:center; border:1px solid var(--amber); }
.tk__opt.is-in .tk__step{ border-color:var(--ember); }
.tk__step button{ width:48px; height:48px; border:0; font:inherit; font-size:24px; line-height:1; color:var(--paper); background:none; cursor:pointer; }
.tk__step button:hover:not(:disabled){ background:rgba(252,180,84,.1); }
.tk__step button:disabled{ opacity:.3; cursor:default; }
.tk__step output{ min-width:36px; text-align:center; }

/* Your order */
.tk__cart{ border:1px solid var(--hair); padding:22px; margin:1.6rem 0 0; scroll-margin-top:96px; }
.tk__cart h2{ margin:0 0 .8rem; }
.tk__lines{ list-style:none; margin:0; padding:0; }
.tk__lines li{ display:flex; justify-content:space-between; gap:16px; padding:6px 0; }
.tk__names{ display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
@media (max-width:420px){ .tk__names{ grid-template-columns:1fr; } }

/* Checkout bar while the order form is off screen */
.tk__dock{ position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom)); background:rgba(12,10,10,.96); border-top:1px solid var(--hair-hot); }
.tk__dock[hidden]{ display:none; }
.tk .tk__dock .btn{ width:auto; flex:0 0 auto; }

.tk__field{ margin:0 0 1rem; }
.tk__field input{ width:100%; height:52px; padding:0 16px; background:transparent; border:1px solid var(--hair); color:var(--paper);
  font:inherit; font-size:17px; border-radius:0; }
.tk__field input:focus{ outline:none; border-color:var(--amber); }
.tk__total{ display:flex; justify-content:space-between; align-items:baseline; margin:1.4rem 0 1rem; padding-top:1rem; border-top:1px solid var(--hair); }
.tk__fine{ color:var(--muted); margin:.9rem 0 0; }
.tk__msg{ min-height:1.4em; margin:.8rem 0 0; color:var(--amber); }

/* Ticket view */
.tk__codes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin:0 0 2rem; }
.tk__code{ border:1px solid var(--hair); padding:16px; text-align:center; }
.tk__code img{ display:block; width:100%; max-width:260px; margin:0 auto 10px; background:#fff; aspect-ratio:1; }
.tk__code p{ margin:0; }
.tk__code.is-void{ opacity:.35; }

/* Crew box: two styles only, the sub-display head and body */
.tk__crew{ border:1px solid var(--hair-hot); padding:22px; margin:0 0 2rem; }
.tk__crew h2{ margin:0 0 .6rem; }
.tk__tier{ display:flex; gap:10px; align-items:center; padding:4px 0; color:var(--paper); }
.tk__tier::before{ content:''; flex:0 0 12px; height:12px; border:1px solid var(--amber); border-radius:50%; }
.tk__tier.is-done{ color:var(--amber); }
.tk__tier.is-done::before{ background:var(--amber); }
.tk__bar{ height:6px; background:var(--ash); margin:1rem 0 .5rem; }
.tk__bar span{ display:block; height:100%; background:var(--ember); width:0; transition:width .4s var(--ease); }
.tk__progress{ color:var(--muted); }
.tk__link{ display:flex; gap:8px; margin:1rem 0 .8rem; }
.tk__link input{ flex:1; min-width:0; height:50px; padding:0 12px; background:transparent; border:1px solid var(--hair); color:var(--paper); font:inherit; font-size:17px; }
.tk__link .btn{ width:auto; flex:0 0 auto; }

/* Privacy and ticket terms pages. Same three styles: h1, h2 sub-display, body */
.tk--legal h2{ margin:2.4rem 0 .8rem; }
.tk--legal ul{ margin:0 0 1rem; padding-left:1.2em; }
.tk--legal li{ margin:0 0 .5rem; }
.tk--legal a{ color:var(--paper); }
.tk__todo{ color:var(--amber); }

/* Day cards, ticket groups, GA vs VIP. Same three styles: sub-display h2, body, mono label */
.tk__days{ display:grid; grid-template-columns:1fr; gap:12px; margin:0 0 2.4rem; }
@media (min-width:600px){ .tk__days{ grid-template-columns:1fr 1fr; } }
.tk__day{ border:1px solid var(--hair); padding:20px; }
.tk__day h2{ margin:0 0 .3rem; }
.tk__day .tk__label{ margin:0 0 1rem; }
.tk__when{ list-style:none; margin:0 0 1rem; padding:0; }
.tk__when li{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--hair); color:var(--paper); }
.tk__when li:last-child{ border-bottom:1px solid var(--hair); }
.tk__when li span:last-child{ color:var(--amber); }
.tk__day p:not(.tk__label){ color:var(--muted); }
.tk__drop{ margin:0 !important; }
.tk__drop a, .tk__fine a{ color:var(--paper); }
.tk__set{ margin:0 0 2rem; }
.tk__set h2{ margin:0 0 .3rem; }
.tk__set .tk__fine{ margin:0 0 .9rem; }
.tk__vip{ margin:2.4rem 0 0; }
.tk__vip h2{ margin:0 0 .8rem; }
.tk__cmp{ width:100%; border-collapse:collapse; margin:0 0 .4rem; }
.tk__cmp th, .tk__cmp td{ padding:10px 0; border-bottom:1px solid var(--hair); text-align:left; font-weight:300; }
.tk__cmp thead th{ color:var(--paper); }
.tk__cmp td{ width:56px; text-align:center; color:var(--amber); }
.tk__cmp thead th:not(:first-child){ text-align:center; }
.tk__cmp tbody th{ color:var(--paper); padding-right:12px; }
.tk__sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ═══════════ /tickets, the art version (11-05) ═══════════
   Same three styles as the landing page. Display = .h2 / day names / prices,
   body = Archivo 300, label = Space Mono Bold caps (.tx-label).
   Fire = main stage, aurora = The Wardrobe. Saturday runs amber (day) to ember (night). */
.tx{ font-size:17px; line-height:1.6; }
:where(.tx) p{ margin:0 0 1rem; }
.tx-label{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); line-height:1.5; margin:0 0 .7rem; }
.tx-label i{ display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--ember); vertical-align:middle; margin:0 .7em; position:relative; top:-1px; }
.tx .emoji{ font-size:.8em; line-height:1; display:inline-block; vertical-align:.02em; }
.tx-narrow{ max-width:760px; }
.tx-sec{ padding-block:clamp(72px,9vw,140px); position:relative; }

/* Hero */
.tx-hero{ position:relative; min-height:min(72svh,760px); display:flex; align-items:flex-end; overflow:hidden; padding:140px 0 clamp(40px,6vw,80px); }
.tx-hero__photo{ position:absolute; inset:0; }
.tx-hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.tx-hero__photo::after{ content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,10,10,.6) 0%, rgba(12,10,10,.45) 30%, rgba(12,10,10,.8) 64%, var(--black) 100%); }
.tx-hero__inner{ position:relative; }
.tx-hero__h{ font-size:clamp(2.6rem,7.4vw,6rem); line-height:.98; margin:0 0 1.2rem; max-width:13ch; }
.tx-hero__when{ color:var(--cream); margin:0 0 2rem; }
.tx-hero__drop{ color:var(--muted); margin:1.6rem 0 0; }
.tx-hero__drop a, .tx .tk__fine a{ color:var(--paper); }

/* Pick your night, 3 big doors */
.tx-pick{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:1040px; }
.tx-pick__go{ display:grid; gap:2px; padding:18px 20px 16px; text-decoration:none; color:var(--paper);
  background:rgba(12,10,10,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--hair); border-top:3px solid var(--c, var(--ember));
  transition:transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease); }
.tx-pick__go:hover{ transform:translateY(-3px); border-color:var(--c); background:rgba(12,10,10,.9); }
.tx-pick__go--wk{ --c:var(--cream); }
.tx-pick__go--fri{ --c:var(--ember); }
.tx-pick__go--sat{ --c:var(--amber); }
.tx-pick__name{ font-family:var(--display); font-weight:800; font-stretch:112%; font-size:1.3rem; line-height:1.15; color:var(--c); }
.tx-pick__sub{ color:var(--muted); font-size:15px; }
.tx-pick__from{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); margin-top:10px; min-height:1.5em; }
.tx-pick__from::after{ content:'  \2192'; color:var(--c); }
@media (max-width:860px){ .tx-pick{ grid-template-columns:1fr; } .tx-pick__go{ padding-right:96px; } }

/* Ticket cards, inside each section */
.tx-tix{ display:grid; gap:10px; margin-top:2rem; }
.tx-tix:empty{ display:none; }
.tx-tk{ display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; gap:6px 18px; align-items:start; padding:20px 22px;
  background:var(--coal); border:1px solid var(--hair); position:relative;
  transition:border-color .2s var(--ease), background .2s var(--ease); }
.tx-tk--vip{ border-color:rgba(252,180,84,.42); background:linear-gradient(135deg, rgba(252,180,84,.08), rgba(20,16,16,1) 55%); }
.tx-tk.is-in{ border-color:var(--ember); background:rgba(252,72,24,.08); }
.tx-tk.is-off{ opacity:.45; }
.tx-tk__name{ font-family:var(--display); font-weight:800; font-stretch:112%; font-size:1.35rem; line-height:1.1; color:var(--cream); margin:0; }
.tx-tk--vip .tx-tk__name{ color:var(--amber); }
.tx-tk__tier{ margin:0; }
.tx-tk__price{ font-family:var(--display); font-weight:800; font-stretch:112%; font-size:1.7rem; line-height:1; color:var(--paper); text-align:right; margin:0; white-space:nowrap; }
.tx-tk__price small{ display:block; font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; color:var(--muted); margin-top:6px; }
.tx-tk__what{ grid-column:1 / -1; color:var(--muted); margin:2px 0 0 !important; font-size:16px; }
.tx-tk__what a{ color:var(--paper); }
.tx-tk__foot{ grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.tx-tk__left{ margin:0 !important; }
.tx-tk .tk__step{ border-color:var(--hair); background:var(--black); }
.tx-tk.is-in .tk__step{ border-color:var(--ember); }
.tx-save{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--black); background:var(--amber); display:inline-block; padding:6px 12px; margin:0 !important; }
.tx-save[hidden]{ display:none; }

/* Weekend */
.tx-wk__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
.tx-wk__art{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tx-wk__art figure{ margin:0; position:relative; aspect-ratio:3/4; overflow:hidden; border:1px solid var(--hair); }
.tx-wk__b{ transform:translateY(36px); }
.tx-wk__art img{ width:100%; height:100%; object-fit:cover; }
.tx-wk__art .tx-label{ position:absolute; left:12px; bottom:4px; margin:0 0 8px; color:var(--cream); background:rgba(12,10,10,.75); padding:4px 10px; }
.tx-wk__copy > p:not(.tx-save){ color:var(--muted); }
.tx-wk .h2{ margin-bottom:.6em; }
@media (max-width:860px){ .tx-wk__grid{ grid-template-columns:1fr; } .tx-wk__art{ max-width:520px; } .tx-wk__b{ transform:translateY(24px); } .tx-wk__art{ margin-bottom:24px; } }

/* Day sections */
.tx-day{ padding-top:0; }
.tx-day--fri{ --day:var(--ember); }
.tx-day--sat{ --day:var(--amber); }
.tx-day__banner{ position:relative; height:clamp(380px,62vh,640px); overflow:hidden; }
.tx-day__banner img{ width:100%; height:100%; object-fit:cover; }
.tx-day--sat .tx-day__banner img{ object-position:50% 62%; }
.tx-day--fri .tx-day__banner img{ object-position:50% 35%; }
.tx-day__banner::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,10,10,.1) 30%, rgba(12,10,10,.6) 70%, var(--black) 100%); }
.tx-day__over{ position:absolute; left:0; right:0; bottom:0; z-index:1; }
.tx-day__name{ font-family:var(--display); font-weight:800; font-stretch:118%; letter-spacing:-.02em; color:var(--day);
  font-size:clamp(3.4rem,11vw,9.5rem); line-height:.86; margin:0 0 1rem !important; }
.tx-day__name > span{ display:block; color:var(--cream); font-size:.48em; line-height:1; margin-top:.12em; }
.tx-day__over .tx-label{ color:var(--cream); }
.tx-day__body{ padding-top:clamp(28px,4vw,56px); }
.tx-day__copy{ max-width:760px; }
.tx-day__lede{ font-size:clamp(1.25rem,2.1vw,1.6rem); line-height:1.4; color:var(--cream); font-weight:300; }
.tx-day__copy p:not(.tx-day__lede){ color:var(--muted); }
.tx-day__copy .tags{ margin:1.4rem 0 0; }
.tx-day .tx-tix{ grid-template-columns:1fr 1fr; align-items:stretch; }
@media (max-width:760px){ .tx-day .tx-tix{ grid-template-columns:1fr; } }
.tx-tk{ align-content:start; }
.tx-tk__foot{ align-self:end; }

/* Main stage vs The Wardrobe */
.tx-stages{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:2.4rem; }
.tx-stage{ padding:26px 24px 10px; border:1px solid var(--hair); position:relative; overflow:hidden; }
.tx-stage--main{ background:radial-gradient(120% 90% at 0% 0%, rgba(252,72,24,.22), rgba(20,16,16,1) 62%); border-color:var(--hair-hot); }
.tx-stage--wd{ background:radial-gradient(120% 90% at 100% 0%, rgba(124,92,214,.26), rgba(63,208,201,.06) 45%, rgba(20,16,16,1) 75%); border-color:rgba(124,92,214,.4); }
.tx-stage--main .tx-label{ color:var(--flame); }
.tx-stage--wd .tx-label{ color:var(--aurora-a); }
.tx-stage--wd .tx-label i{ background:var(--aurora-b); }
.tx-stage__h{ font-family:var(--display); font-weight:800; font-stretch:112%; font-size:1.5rem; line-height:1.1; color:var(--cream); margin:0 0 .6rem; }
.tx-stage p:not(.tx-label){ color:var(--muted); }
@media (max-width:640px){ .tx-stages{ grid-template-columns:1fr; } }

/* Saturday arc, day into night */
.tx-arc{ list-style:none; margin:2.4rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative; }
.tx-arc::before{ content:''; position:absolute; left:0; right:0; top:0; height:4px;
  background:linear-gradient(90deg, var(--cream) 0%, var(--amber) 30%, var(--ember) 62%, var(--aurora-b) 100%); }
.tx-arc__step{ padding:30px 24px 0 0; position:relative; }
.tx-arc__step::before{ content:''; position:absolute; left:0; top:-6px; width:16px; height:16px; border-radius:50%; background:var(--black); border:3px solid var(--dot); }
.tx-arc__step--day{ --dot:var(--amber); }
.tx-arc__step--night{ --dot:var(--ember); }
.tx-arc__step--end{ --dot:var(--aurora-b); }
.tx-arc__step .tx-label{ color:var(--dot); }
.tx-arc__step--end .tx-label{ color:#A994F0; }
.tx-arc__step p:not(.tx-label){ color:var(--muted); }
@media (max-width:760px){
  .tx-arc{ grid-template-columns:1fr; padding-left:28px; }
  .tx-arc::before{ left:6px; right:auto; top:8px; bottom:8px; width:4px; height:auto; background:linear-gradient(180deg, var(--cream), var(--amber) 30%, var(--ember) 62%, var(--aurora-b)); }
  .tx-arc__step{ padding:0 0 22px; }
  .tx-arc__step::before{ left:-28px; top:2px; }
}
.tx-sat__pair{ display:grid; grid-template-columns:minmax(200px,300px) 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:2.6rem; }
.tx-sat__pair .tx-stages{ margin-top:0; }
.tx-sat__photo{ margin:0; }
.tx-sat__photo img{ aspect-ratio:4/5; object-fit:cover; }
.tx-sat__photo figcaption{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--black); padding:10px 2px 0; }
@media (max-width:860px){ .tx-sat__pair{ grid-template-columns:1fr; } .tx-sat__photo{ max-width:280px; margin:0 auto 8px; } }

/* GA or VIP */
.tx-vip{ background:var(--soot); border-block:1px solid var(--hair); }
.tx-cmp{ width:100%; border-collapse:collapse; margin:0 0 1rem; }
.tx-cmp th, .tx-cmp td{ padding:15px 0; border-bottom:1px solid var(--hair); text-align:left; font-weight:300; }
.tx-cmp thead th{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); border-bottom-color:var(--hair); }
.tx-cmp td, .tx-cmp thead th:not(:first-child){ width:84px; text-align:center; }
.tx-cmp .is-vip{ background:rgba(252,180,84,.08); }
.tx-cmp thead th.is-vip{ color:var(--black); background:var(--amber); }
.tx-cmp tbody th{ color:var(--paper); padding-right:12px; }
.tx-yes{ display:inline-block; width:12px; height:20px; border:solid var(--amber); border-width:0 3px 3px 0; transform:rotate(45deg) translate(-2px,-3px); }
.tx-cmp td:not(.is-vip) .tx-yes{ border-color:var(--paper); }

/* Order + good to know */
.tk.tx-order{ padding-top:clamp(56px,7vw,96px); max-width:760px; }
.tx-order .tk__cart{ margin:0 0 2.4rem; background:var(--coal); border-color:var(--hair-hot); }
.tx-know{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; }
.tx-know p:not(.tx-label){ color:var(--muted); margin:0; }
.tx-know .tx-label{ margin-bottom:.3rem; }
@media (max-width:560px){ .tx-know{ grid-template-columns:1fr; } }
.tx #shopNote:not(:empty){ padding-top:32px; }
.tx .nw{ white-space:nowrap; }
.tx-tk--kid{ border-color:rgba(252,240,192,.3); background:linear-gradient(135deg, rgba(252,240,192,.07), rgba(20,16,16,1) 55%); }
.tx-tk--kid .tx-tk__name, .tx-tk--kid .tx-tk__price{ color:var(--cream); }
.tx-tk__hint{ color:var(--amber) !important; }
.tx-tk__hint[hidden]{ display:none; }
.tx-wk__grid--solo{ grid-template-columns:1fr; max-width:var(--maxw); }
.tx-wk__grid--solo .tx-wk__copy{ max-width:980px; }
.tx-wk__grid--solo .tx-wk__copy > p:not(.tx-save){ max-width:760px; }
.tx-wk .tx-tix{ grid-template-columns:1fr 1fr; }
@media (max-width:760px){ .tx-wk .tx-tix{ grid-template-columns:1fr; } }

/* Best value box sticker on the weekend door */
.tx-pick__go--wk{ position:relative; }
.tx-sticker{ position:absolute; top:-16px; right:-10px; z-index:2; pointer-events:none;
  font-family:var(--display); font-weight:800; font-stretch:118%; font-size:15px; line-height:1; letter-spacing:.01em; text-transform:uppercase;
  color:var(--cream); background:var(--black); border:2px solid var(--paper); border-radius:3px; padding:8px 12px 7px;
  transform:rotate(-6deg); box-shadow:0 6px 14px rgba(0,0,0,.55); transition:transform .3s var(--ease); }
.tx-pick__go--wk:hover .tx-sticker{ transform:rotate(-3deg) scale(1.05); }
@media (max-width:860px){ .tx-sticker{ top:-14px; right:-4px; font-size:13px; padding:7px 10px 6px; } .tx-pick__go{ padding-right:20px; } }
/* All fees included, the big band right under the hero */
.tx-fee{ background:var(--ember); color:var(--black); padding:clamp(40px,6vw,80px) 0; position:relative; }
.tx-fee__h{ font-family:var(--display); font-weight:800; font-stretch:118%; letter-spacing:-.02em; text-transform:uppercase;
  font-size:clamp(2.3rem,7.6vw,6.4rem); line-height:.92; margin:0 0 .35em; color:var(--paper); text-wrap:balance; }
.tx-fee__h span{ display:block; color:var(--black); }
.tx-fee__sub{ font-size:clamp(17px,1.6vw,20px); line-height:1.5; color:var(--black); margin:0 !important; max-width:44ch; font-weight:400; }

/* Phones: labels break into 2 clean lines, never a stray dot */
@media (max-width:560px){
  .tx-label .brk{ display:block; }
  .tx-label .brk > i{ display:none; }
  .tx-tk{ padding:18px 16px; gap:4px 12px; }
  .tx-tk__name{ font-size:1.18rem; }
  .tx-tk__price{ font-size:1.5rem; }
  .tx-hero{ padding-top:110px; }
  .tx-day__banner{ height:clamp(340px,56svh,520px); }
  .tx-stage{ padding:22px 18px 6px; }
}

/* Pick your night, right under the fees band */
.tx-doors{ padding:clamp(64px,7vw,96px) 0 0; }
.tx-doors .tx-pick__go{ background:var(--coal); backdrop-filter:none; -webkit-backdrop-filter:none; }
.tx-doors .tx-pick{ max-width:none; margin-top:clamp(28px,3vw,40px); }
.tx-doors .h2{ margin-bottom:.3em; }
.tx-doors__sub{ color:var(--muted); margin:0 !important; }
.tx-doors .h2{ margin-bottom:0; }
.tx-zoom{ display:block; overflow:hidden; aspect-ratio:4/5; }
.tx-zoom img{ width:100%; height:100%; object-fit:cover; transform:scale(1.35); transform-origin:46% 24%; }

/* FAQ, native details dropdowns */
.tx-faq{ border-top:1px solid var(--hair); }
.tx-faq .h2{ margin-bottom:.6em; }
.tx-faq__list{ border-top:1px solid var(--hair); }
.tx-faq__item{ border-bottom:1px solid var(--hair); }
.tx-faq__item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:64px; padding:18px 0; font-family:var(--display); font-weight:800; font-stretch:112%; font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.25; color:var(--cream); }
.tx-faq__item summary::-webkit-details-marker{ display:none; }
.tx-faq__item summary::after{ content:''; flex:0 0 14px; height:14px; margin-right:4px;
  border:solid var(--ember); border-width:0 3px 3px 0; transform:rotate(45deg) translate(-3px,-3px); transition:transform .25s var(--ease); }
.tx-faq__item[open] summary::after{ transform:rotate(-135deg) translate(-3px,-3px); }
.tx-faq__item summary:hover{ color:var(--amber); }
.tx-faq__a p{ color:var(--muted); margin:0 0 22px !important; max-width:62ch; }
.tx-faq__a a{ color:var(--paper); }

/* ═══ No outlined containers (Aaron 11-05: bordered boxes read as AI) ═══
   Open layout instead. Colour rules on top, hairline dividers between rows. */

/* Pick doors, open columns with a colour rule on top */
.tx-pick{ gap:0 clamp(24px,3vw,48px); }
.tx-pick__go, .tx-doors .tx-pick__go{ background:none; border:0; border-top:3px solid var(--c); padding:20px 0 6px; backdrop-filter:none; -webkit-backdrop-filter:none; }
.tx-pick__go:hover{ background:none; transform:none; }
.tx-pick__go:hover .tx-pick__name{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
@media (max-width:860px){ .tx-pick__go, .tx-doors .tx-pick__go{ padding:18px 96px 18px 0; } .tx-pick__go--wk{ padding-right:110px !important; } }
.tx-sticker{ top:-14px; right:0; }

/* Tickets, a price list. Rows split by hairlines, no boxes */
.tx-tix{ gap:0; border-top:1px solid var(--hair); }
.tx-day .tx-tix, .tx-wk .tx-tix{ grid-template-columns:1fr; }
.tx-tk, .tx-tk--vip, .tx-tk--kid{ background:none; border:0; border-bottom:1px solid var(--hair); padding:22px 0; }
.tx-tk.is-in{ background:none; border-color:var(--hair); }
.tx-tk.is-in .tx-tk__name{ color:var(--ember); }
.tx-tk.is-in .tx-tk__price{ color:var(--ember); }
.tx-tk .tk__step{ border:0; background:none; gap:6px; }
.tx-tk .tk__step button{ width:44px; height:44px; border-radius:50%; background:var(--ash); }
.tx-tk.is-in .tk__step button:not(:disabled){ background:var(--ember); color:#fff; }
.tx-tk .tk__step button:disabled{ opacity:.35; }

/* Main stage vs The Wardrobe, open columns with a coloured rule */
.tx-stages{ gap:0 clamp(24px,4vw,64px); }
.tx-stage, .tx-stage--main, .tx-stage--wd{ background:none; border:0; border-top:3px solid; padding:20px 0 4px; }
.tx-stage--main{ border-top-color:var(--ember); }
.tx-stage--wd{ border-top-color:var(--aurora-b); }
@media (max-width:640px){ .tx-stage + .tx-stage{ margin-top:12px; } }

/* Order, open with a rule on top */
.tx-order .tk__cart{ background:none; border:0; border-top:3px solid var(--ember); padding:24px 0 0; }

/* Notes */
.tx .tk__note{ border:0; border-left:0; padding:0; color:var(--amber); }

/* ═══ De-AI pass 2 (11-05): no chips, no purple, no rainbow gradient, no round buttons, no shadows, no hover motion ═══ */
/* Genre tags as a plain mono line, dot separated */
.tx .tags{ display:block; }
.tx .tags li{ display:inline; border:0; padding:0; font-size:13px; letter-spacing:.12em; color:var(--amber); }
.tx .tags li + li::before{ content:'\00B7'; margin:0 .7em; color:var(--muted); }

/* The Wardrobe goes cream, fire stays with the main stage */
.tx-stage--wd{ border-top-color:var(--cream); }
.tx-stage--wd .tx-label{ color:var(--cream); }
.tx-stage--wd .tx-label i{ background:var(--cream); }

/* Saturday arc, plain line with coloured stops */
.tx-arc::before{ background:var(--hair) !important; height:2px; }
@media (max-width:760px){ .tx-arc::before{ width:2px !important; height:auto; } }
.tx-arc__step--end{ --dot:var(--cream); }
.tx-arc__step--end .tx-label{ color:var(--cream); }
.tx-arc__step::before{ border-radius:0; width:12px; height:12px; top:-5px; background:var(--dot); border:0; }
@media (max-width:760px){ .tx-arc__step::before{ left:-27px; top:4px; } }

/* Square steppers */
.tx-tk .tk__step button{ border-radius:0; }

/* Sticker, flat, no shadow, no motion */
.tx-sticker{ box-shadow:none; border-radius:0; transition:none; }
.tx-pick__go--wk:hover .tx-sticker{ transform:rotate(-6deg); }
.tx-pick__go:hover{ transform:none; }
/* Inputs, underline only */
.tx-order .tk__field input{ border:0; border-bottom:2px solid var(--hair); padding:0 2px; height:48px; }
.tx-order .tk__field input:focus{ border-bottom-color:var(--ember); }

/* Door blurbs, at a glance (11-06) */
.tx-pick__blurb{ color:var(--paper); opacity:.82; font-size:15px; line-height:1.45; margin-top:8px; max-width:34ch; }

/* Lineup Tease (11-06) */
.tx-tease{ margin-top:clamp(28px,3vw,40px); padding-top:18px; border-top:3px solid var(--ember); max-width:40rem; }
.tx-tease__list{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.tx-tease__list li{ font-family:var(--display); font-weight:800; font-stretch:112%; font-size:clamp(1.5rem,3.2vw,2.3rem); line-height:1.12; color:var(--cream); text-transform:uppercase; letter-spacing:-.01em; }
.tx-tease__list a{ color:inherit; text-decoration:underline; text-decoration-color:var(--ember); text-decoration-thickness:3px; text-underline-offset:.14em; }
.tx-tease__list a:hover{ color:var(--amber); }
.tx-tease__b2b{ color:var(--ember); }
.tx-tease__list .tx-tease__sp{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.12em; color:var(--paper); vertical-align:middle; margin-left:10px; text-decoration-color:#1DB954; }
.tx-tease__more{ color:var(--muted); margin:14px 0 0 !important; }
.tx-tease__more a{ color:var(--paper); }
.tx-hero__drop a{ color:var(--paper); }

/* Post-purchase Instagram block (11-06) */
.tk__ig{ margin:2rem 0; padding-top:18px; border-top:3px solid var(--ember); }
.tk__ig h2{ margin:0 0 .6rem; }
.tk__ig p{ margin:0 0 1.2rem; color:var(--muted); max-width:46ch; }

/* Venue line under the hero label (11-06) */
.tx-hero__when{ margin-bottom:.5rem; }
.tx-hero__where{ margin:0 0 2rem; font-size:16px; }
.tx-hero__where a{ color:var(--paper); text-decoration:underline; text-decoration-color:var(--ember); text-underline-offset:.18em; }
