/* Vivid Arena: ochre at night. Left rail with a live section index, content scrolls beside it. */
:root {
  --ground: #0d0a07; --surface: #17120c; --raise: #221a11; --line: rgba(243, 234, 219, .12);
  --ink: #f3eadb; --muted: #ab9c86; --ochre: #e3a33b; --ochre-d: #b97a1d; --violet: #a493ff; --ember: #f2643d;
  --rail: 280px; --top: 48px; --r: 4px; --ease: cubic-bezier(.2, .7, .2, 1);
  --mono: 'Major Mono Display', ui-monospace, monospace; --body: 'Atkinson Hyperlegible', system-ui, sans-serif;
  color-scheme: dark;
}
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .35s; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 120px; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 400 1rem/1.62 var(--body); overflow-x: hidden; }
@media (min-width: 1100px) { body { font-size: 1.0625rem; } }
img { max-width: 100%; display: block; }
a { color: inherit; }
p a, li a, dd a, .lnk { color: var(--ochre); text-underline-offset: 3px; }
h1, h2, h3, .mono { font-family: var(--mono); font-weight: 400; letter-spacing: -.01em; line-height: 1.12; margin: 0 0 .5em; }
h1 { font-size: clamp(2.1rem, 5.4vw, 4.7rem); }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.7rem); }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.4rem); }
h4 { font: 700 1.05rem/1.3 var(--body); margin: 0 0 .4em; }
p { margin: 0 0 1em; }
.skip { position: absolute; left: 8px; top: 56px; z-index: 100; background: var(--ochre); color: var(--ground); padding: 10px 16px; transform: translateY(-200%); }
.skip:focus { transform: none; }
:focus-visible { outline: 2px solid var(--ochre); outline-offset: 3px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.eyebrow { font: 700 .78rem/1.3 var(--body); letter-spacing: .16em; text-transform: uppercase; color: var(--ochre); margin: 0 0 .9em; }
.lede { font-size: 1.15rem; color: #e3d8c6; max-width: 62ch; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }
.note { font-size: .85rem; color: var(--muted); }

/* rail */
.rail { position: fixed; z-index: 40; top: var(--top); left: 0; bottom: 0; width: var(--rail); background: var(--surface); border-right: 1px solid var(--line); display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; view-transition-name: rail; scrollbar-width: thin; }
.rail-top { padding: 22px 22px 16px; border-bottom: 1px solid var(--line); transition: padding .3s var(--ease); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand svg { width: 42px; height: 42px; flex: none; transition: width .3s, height .3s; }
.brand b { font: 400 1.18rem/1 var(--mono); display: block; }
.brand small { display: block; color: var(--muted); font-size: .78rem; margin-top: 5px; letter-spacing: .04em; }
.scrolled .rail-top { padding: 14px 22px 12px; }
.scrolled .brand svg { width: 32px; height: 32px; }
.rail nav { padding: 12px 12px 6px; }
.rail nav ul { list-style: none; margin: 0; padding: 0; }
.rail nav a { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: var(--r); text-decoration: none; color: #e7dccb; font-size: .95rem; min-height: 38px; }
.rail nav a svg { width: 18px; height: 18px; color: var(--muted); flex: none; }
.rail nav a:hover { background: var(--raise); }
.rail nav a[aria-current="page"] { background: var(--raise); color: var(--ochre); }
.rail nav a[aria-current="page"] svg { color: var(--ochre); }
.rail details { padding: 0 12px; }
.rail summary { cursor: pointer; padding: 8px 10px; color: var(--muted); font-size: .88rem; list-style: none; min-height: 38px; display: flex; align-items: center; justify-content: space-between; }
.rail summary::-webkit-details-marker { display: none; }
.rail summary::after { content: '+'; font-family: var(--mono); }
.rail details[open] summary::after { content: '-'; }
.ix { padding: 14px 22px 18px; border-top: 1px solid var(--line); margin-top: 8px; flex: 1; }
.ix-h { font: 700 .72rem/1 var(--body); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; display: flex; justify-content: space-between; }
.ix-h span:last-child { font-family: var(--mono); color: var(--ochre); letter-spacing: 0; }
.ix ol { list-style: none; margin: 0; padding: 0 0 0 14px; position: relative; }
.ix ol::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 2px; background: var(--line); }
.ix ol::after { content: ''; position: absolute; left: 0; top: 4px; width: 2px; height: calc((100% - 8px) * var(--p, 0)); background: linear-gradient(var(--ochre), var(--ember)); box-shadow: 0 0 12px rgba(227, 163, 59, .6); }
.ix a { display: grid; grid-template-columns: 30px 1fr; gap: 6px; align-items: baseline; padding: 6px 0; text-decoration: none; color: var(--muted); font-size: .9rem; min-height: 34px; transition: color .2s; }
.ix a span { font: .78rem var(--mono); }
.ix a.on { color: var(--ink); }
.ix a.on span { color: var(--ochre); }
.rail-foot { padding: 14px 22px 20px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.rail-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lang { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .82rem; color: var(--muted); }
.lang button { background: none; border: 1px solid var(--line); color: var(--ink); border-radius: 999px; padding: 5px 12px; font: inherit; cursor: pointer; min-height: 32px; }
.lang button[aria-pressed="true"] { background: var(--ochre); color: var(--ground); border-color: var(--ochre); }
.lang small { width: 100%; font-size: .74rem; }

/* phone top bar, section chips, bottom bar */
.topbar, .chips-ix, .bottombar { display: none; }
.col { margin-left: var(--rail); min-width: 0; }
@media (max-width: 1023px) {
  .col { margin-left: 0; }
  .rail { top: var(--top); width: min(88vw, 340px); transform: translateX(-102%); transition: transform .35s var(--ease); box-shadow: 0 0 60px rgba(0, 0, 0, .6); z-index: 70; }
  .rail.open { transform: none; }
  .rail nav a, .rail summary, .ix a { min-height: 44px; }
  .scrim { position: fixed; inset: var(--top) 0 0 0; background: rgba(0, 0, 0, .55); z-index: 65; opacity: 0; pointer-events: none; transition: opacity .3s; }
  .scrim.on { opacity: 1; pointer-events: auto; }
  .topbar { display: flex; position: sticky; top: var(--top); z-index: 50; height: 58px; align-items: center; justify-content: space-between; padding: 0 12px 0 16px; background: rgba(13, 10, 7, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
  .topbar .brand svg { width: 32px; height: 32px; }
  .topbar .brand b { font-size: 1rem; }
  .topbar-acts { display: flex; gap: 6px; }
  .chips-ix { display: block; position: sticky; top: calc(var(--top) + 58px); z-index: 45; background: rgba(13, 10, 7, .94); border-bottom: 1px solid var(--line); overflow-x: auto; white-space: nowrap; scrollbar-width: none; padding: 8px 12px; }
  .chips-ix::-webkit-scrollbar { display: none; }
  .chips-ix a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; margin-right: 6px; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; color: var(--muted); text-decoration: none; min-height: 36px; }
  .chips-ix a span { font: .72rem var(--mono); }
  .chips-ix a.on { color: var(--ground); background: var(--ochre); border-color: var(--ochre); }
  .bottombar { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: rgba(23, 18, 12, .97); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
  .bottombar a, .bottombar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 58px; color: var(--ink); text-decoration: none; background: none; border: 0; font: 700 .72rem/1 var(--body); letter-spacing: .04em; cursor: pointer; }
  .bottombar svg { width: 22px; height: 22px; color: var(--ochre); }
  body { padding-bottom: 60px; }
  html { scroll-padding-top: 170px; }
}
.icon-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 10px; background: var(--raise); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r); cursor: pointer; font: 700 .85rem var(--body); text-decoration: none; }
.icon-btn svg { width: 20px; height: 20px; }
.count { min-width: 20px; height: 20px; border-radius: 10px; background: var(--ochre); color: var(--ground); font-size: .72rem; display: inline-grid; place-items: center; padding: 0 5px; }

/* live strip */
.live { display: flex; align-items: center; gap: 18px; padding: 9px clamp(16px, 4vw, 48px); background: #120e09; border-bottom: 1px solid var(--line); font-size: .86rem; overflow: hidden; }
.live-tag { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ochre); white-space: nowrap; letter-spacing: .08em; text-transform: uppercase; font-size: .74rem; }
.live-tag i { width: 8px; height: 8px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 0 rgba(242, 100, 61, .7); animation: pulse 1.8s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(242, 100, 61, 0); } 100% { box-shadow: 0 0 0 0 rgba(242, 100, 61, 0); } }
.live-items { display: flex; gap: 22px; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.live-items::-webkit-scrollbar { display: none; }
.live-items b { color: var(--ink); font-variant-numeric: tabular-nums; }
.live-items span { color: var(--muted); }
.live-src { color: var(--muted); font-size: .74rem; white-space: nowrap; }
@media (max-width: 760px) { .live { flex-wrap: wrap; gap: 6px 14px; } .live-src { width: 100%; order: 3; } }

/* layout */
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 56px); }
.sec { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.sec + .sec { border-top: 1px solid var(--line); }
.sec.tight { padding: clamp(44px, 6vw, 72px) 0; }
.sec-head { display: grid; grid-template-columns: 74px 1fr; gap: 0 18px; margin-bottom: clamp(28px, 4vw, 48px); max-width: 900px; }
.sec-no { font: 1.05rem var(--mono); color: var(--ochre); padding-top: .4em; border-top: 2px solid var(--ochre); width: 52px; }
.sec-head > div > :last-child { margin-bottom: 0; }
@media (max-width: 640px) { .sec-head { grid-template-columns: 1fr; } .sec-no { margin-bottom: 14px; padding-top: 6px; } }
.grid { display: grid; gap: clamp(14px, 2vw, 24px); }
.g2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.g3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); }
.g4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.split { display: grid; gap: clamp(24px, 4vw, 64px); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 900px) { .split { grid-template-columns: 1.05fr .95fr; } .split.rev > :first-child { order: 2; } }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: clamp(18px, 2.4vw, 28px); position: relative; }
.card h3 { margin-bottom: .4em; }
.card p:last-child { margin-bottom: 0; }
.card .ico { width: 40px; height: 40px; color: var(--ochre); margin-bottom: 14px; }
.ph { position: relative; aspect-ratio: var(--ar, 4/3); background: linear-gradient(135deg, #2a1f13, #17120c 60%, #221a2f); border-radius: var(--r); overflow: hidden; margin: 0; }
.ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ph figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 16px 12px; font-size: .82rem; background: linear-gradient(transparent, rgba(8, 6, 4, .88)); color: #efe4d2; }
.ph.duo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(227, 163, 59, .28), rgba(70, 40, 120, .35)); mix-blend-mode: color; pointer-events: none; }
a:hover .ph img, .ph:hover img { transform: scale(1.04); }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; background: var(--ochre); color: #1a1206; border: 1px solid var(--ochre); border-radius: var(--r); font: 700 1rem var(--body); text-decoration: none; cursor: pointer; transition: background .2s, transform .2s var(--ease), box-shadow .2s; will-change: transform; }
.btn:hover { background: #f0b555; box-shadow: 0 8px 30px rgba(227, 163, 59, .28); }
.btn svg { width: 18px; height: 18px; }
.btn.ghost { background: transparent; color: var(--ink); border-color: rgba(243, 234, 219, .35); }
.btn.ghost:hover { border-color: var(--ochre); color: var(--ochre); box-shadow: none; }
.btn.sm { min-height: 44px; padding: 0 16px; font-size: .92rem; }
.btn.block { width: 100%; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.acts { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: 700 .88rem var(--body); cursor: pointer; }
.chip[aria-pressed="true"], .chip.on { background: var(--ink); color: var(--ground); border-color: var(--ink); }
.chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--c, var(--ochre)); }

/* home hero */
.hero { position: relative; height: calc(100svh - var(--top) - 38px); min-height: 600px; max-height: 980px; overflow: hidden; isolation: isolate; background: #0b0806; }
@media (max-width: 1023px) { .hero { height: auto; min-height: calc(100svh - 150px); } }
.hero-stage { position: absolute; inset: 0; z-index: -1; }
.hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.2s ease; }
.hero-stage.is-live .hero-canvas { opacity: 1; }
.hero-stage.is-live .still { opacity: 0; }
.still { position: absolute; inset: 0; transition: opacity 1.2s; background: radial-gradient(60% 40% at 50% 22%, rgba(245, 196, 106, .32), transparent 70%), radial-gradient(80% 50% at 50% 30%, rgba(142, 120, 255, .16), transparent 70%), #0b0806; overflow: hidden; }
.still .beam { position: absolute; top: -6%; width: 46%; height: 115%; transform-origin: 50% 0; background: conic-gradient(from 168deg at 50% 0, transparent 0deg, var(--bc, rgba(245, 196, 106, .42)) 12deg, transparent 24deg); filter: blur(2px); mix-blend-mode: screen; animation: sway 9s ease-in-out infinite alternate; }
.still .beam:nth-child(1) { left: -6%; --rot: -18deg; animation-delay: -2s; }
.still .beam:nth-child(2) { left: 10%; --rot: 10deg; --bc: rgba(164, 147, 255, .38); animation-delay: -5s; }
.still .beam:nth-child(3) { left: 27%; --rot: -6deg; }
.still .beam:nth-child(4) { left: 44%; --rot: 14deg; --bc: rgba(164, 147, 255, .34); animation-delay: -1s; }
.still .beam:nth-child(5) { left: 60%; --rot: -12deg; animation-delay: -7s; }
@keyframes sway { from { transform: rotate(var(--rot)); } to { transform: rotate(calc(var(--rot) * -1)); } }
.still svg.crowd { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 46%; }
.cue-violet .still .beam { --bc: rgba(164, 147, 255, .42); }
.cue-house .still { background: radial-gradient(80% 60% at 50% 30%, rgba(255, 230, 184, .28), transparent 75%), #18120c; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(11, 8, 6, .2) 0%, rgba(11, 8, 6, 0) 30%, rgba(11, 8, 6, .55) 68%, rgba(11, 8, 6, .95) 100%), linear-gradient(90deg, rgba(11, 8, 6, .75), rgba(11, 8, 6, 0) 60%); }
.hero-in { height: 100%; display: grid; grid-template-columns: 1fr; align-content: end; gap: 28px; padding: clamp(28px, 5vw, 60px) clamp(16px, 4vw, 56px) clamp(24px, 4vw, 44px); max-width: 1320px; margin: 0 auto; }
@media (min-width: 1024px) { .hero-in { padding-bottom: 96px; } }
@media (min-width: 1100px) { .hero-in { grid-template-columns: 1fr 360px; align-items: end; } }
.hero h1 { font-size: clamp(2rem, 4.2vw, 4.1rem); max-width: 16ch; view-transition-name: hero-title; text-shadow: 0 2px 30px rgba(0, 0, 0, .6); }
.hero .lede { text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
.desk { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 22px; }
.desk-l { font: 700 .72rem var(--body); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-right: 6px; width: 100%; }
@media (min-width: 640px) { .desk-l { width: auto; } }
.desk .chip { background: rgba(23, 18, 12, .72); backdrop-filter: blur(6px); min-height: 40px; }
.desk .chip[aria-pressed="true"] { background: var(--ochre); color: var(--ground); border-color: var(--ochre); }

/* ticket stub */
.stub { --n: 14px; position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; display: grid; grid-template-columns: 1fr auto; -webkit-mask: radial-gradient(circle var(--n) at calc(100% - 118px) 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--n) at calc(100% - 118px) 100%, #0000 98%, #000) bottom / 100% 51% no-repeat; mask: radial-gradient(circle var(--n) at calc(100% - 118px) 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--n) at calc(100% - 118px) 100%, #0000 98%, #000) bottom / 100% 51% no-repeat; }
.stub-main { padding: 20px 22px; min-width: 0; }
.stub-side { width: 118px; border-left: 2px dashed rgba(243, 234, 219, .2); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 14px 8px; gap: 2px; }
.stub-side b { font: 1.9rem/1 var(--mono); color: var(--ochre); }
.stub-side span { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.stub { text-decoration: none; color: inherit; }
.hero .stub { background: rgba(23, 18, 12, .86); backdrop-filter: blur(10px); }
.stub h3 { font-size: 1.15rem; margin: .2em 0 .3em; }
.cd { display: flex; gap: 14px; font-variant-numeric: tabular-nums; margin: 10px 0 14px; }
.cd div { text-align: center; }
.cd b { display: block; font: 1.4rem var(--mono); }
.cd span { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }

/* event rows */
.evlist { display: grid; gap: 14px; }
.ev { display: grid; grid-template-columns: 96px 200px 1fr auto; gap: 0; align-items: stretch; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; text-decoration: none; overflow: hidden; transition: border-color .25s, transform .3s var(--ease); }
.ev:hover { border-color: rgba(227, 163, 59, .55); }
.ev-date { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 2px dashed rgba(243, 234, 219, .16); padding: 14px 8px; }
.ev-date b { font: 2rem/1 var(--mono); color: var(--ochre); }
.ev-date span { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-top: 6px; text-align: center; }
.ev .ph { border-radius: 0; aspect-ratio: auto; height: 100%; min-height: 140px; }
.ev-body { padding: 18px 22px; min-width: 0; }
.ev-body h3 { margin: .15em 0 .35em; }
.ev-body p { margin: 0; color: var(--muted); font-size: .95rem; }
.ev-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.tag { font: 700 .7rem/1 var(--body); letter-spacing: .1em; text-transform: uppercase; padding: 5px 8px; border-radius: 3px; background: var(--raise); color: var(--muted); }
.tag.hot { background: rgba(242, 100, 61, .16); color: #ff9b7f; }
.tag.ok { background: rgba(227, 163, 59, .14); color: var(--ochre); }
.ev-price { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding: 18px 22px; gap: 8px; border-left: 1px solid var(--line); min-width: 170px; }
.ev-price b { font-size: 1.15rem; }
.ev-price small { color: var(--muted); }
@media (max-width: 860px) { .ev { grid-template-columns: 78px 1fr; } .ev .ph { display: none; } .ev-price { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; border-left: 0; border-top: 1px dashed rgba(243, 234, 219, .16); padding: 12px 16px; } .ev-body { padding: 14px 16px; } .ev-date b { font-size: 1.6rem; } }

/* marquee */
.marquee { overflow: hidden; border-block: 1px solid var(--line); padding: 22px 0; background: #100c08; }
.marquee-t { display: flex; gap: 48px; width: max-content; animation: mq 38s linear infinite; font: clamp(1.6rem, 3.4vw, 2.8rem) var(--mono); color: #4a3d2c; }
.marquee-t span:nth-child(3n+1) { color: var(--ochre); }
.marquee:hover .marquee-t { animation-play-state: paused; }
@keyframes mq { to { transform: translateX(-50%); } }

/* bento */
.bento { display: grid; gap: 14px; grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(150px, auto); }
.bento > * { grid-column: span 6; }
@media (min-width: 760px) { .bento .b2 { grid-column: span 2; } .bento .b3 { grid-column: span 3; } .bento .b4 { grid-column: span 4; } .bento .tall { grid-row: span 2; } }
.bento .card { display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.bento .ph { position: absolute; inset: 0; aspect-ratio: auto; border-radius: 0; }
.bento .ph + div { position: relative; }
.bento .card.photo { padding: 0; min-height: 240px; }
.bento .card.photo > div:last-child { position: relative; padding: 22px; background: linear-gradient(transparent, rgba(8, 6, 4, .92) 45%); padding-top: 70px; }
.big { font: clamp(2.2rem, 4vw, 3.4rem)/1 var(--mono); color: var(--ochre); display: block; margin-bottom: 8px; font-variant-numeric: tabular-nums; }

/* stats */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); border: 1px solid var(--line); border-radius: var(--r); }
.stats > div { padding: 26px 24px; border-right: 1px solid var(--line); }
.stats > div:last-child { border-right: 0; }
@media (max-width: 760px) { .stats > div { border-right: 0; border-bottom: 1px solid var(--line); } }
.stats p { margin: 0; color: var(--muted); font-size: .92rem; }

/* timeline */
.tl { position: relative; list-style: none; margin: 0; padding: 0 0 0 36px; }
.tl svg.tl-line { position: absolute; left: 9px; top: 6px; height: calc(100% - 12px); width: 4px; overflow: visible; }
.tl li { position: relative; padding: 0 0 30px; }
.tl li:last-child { padding-bottom: 0; }
.tl li::before { content: ''; position: absolute; left: -33px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--ground); border: 2px solid var(--ochre); }
.tl time { font: .95rem var(--mono); color: var(--ochre); display: block; margin-bottom: 4px; }
.tl h4 { margin-bottom: 4px; }
.tl p { margin: 0; color: var(--muted); }

/* numbered list */
.nlist { list-style: none; counter-reset: n; margin: 0; padding: 0; display: grid; gap: 0; }
.nlist li { counter-increment: n; display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line); }
.nlist li::before { content: counter(n, decimal-leading-zero); font: 1.6rem var(--mono); color: var(--ochre); }
.nlist h4 { margin-bottom: 4px; }
.nlist p { margin: 0; color: var(--muted); }

/* quote */
.quote { margin: 0; padding: clamp(28px, 4vw, 48px); background: var(--surface); border-left: 3px solid var(--ochre); border-radius: var(--r); }
.quote p { font: clamp(1.25rem, 2.2vw, 1.7rem)/1.35 var(--mono); margin-bottom: .8em; }
.quote cite { font-style: normal; color: var(--muted); font-size: .92rem; }
.quotes { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.quotes .quote p { font-size: 1.12rem; font-family: var(--body); line-height: 1.55; }
.stars { color: var(--ochre); letter-spacing: 3px; font-size: .95rem; margin-bottom: 8px; display: block; }

/* tables */
.tbl { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); -webkit-overflow-scrolling: touch; }
.tbl table { width: 100%; border-collapse: collapse; min-width: 640px; }
.tbl th, .tbl td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.tbl th { font: 700 .78rem var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); background: var(--surface); }
.tbl tr:last-child td { border-bottom: 0; }
.tbl td.y { color: var(--ochre); }
.tbl caption { text-align: left; padding: 12px 16px; color: var(--muted); font-size: .85rem; caption-side: bottom; }

/* tiers */
.tiers { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.tier { display: flex; flex-direction: column; gap: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 24px; position: relative; overflow: hidden; }
.tier::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--tc, var(--ochre)); }
.tier .price { font: 1.9rem var(--mono); }
.tier ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: .94rem; flex: 1; }
.tier .left { font-size: .82rem; color: var(--ochre); }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--r); }
.qty button { width: 44px; height: 44px; background: none; border: 0; color: var(--ink); font-size: 1.2rem; cursor: pointer; }
.qty output { min-width: 34px; text-align: center; font-variant-numeric: tabular-nums; }

/* faq */
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 18px 44px 18px 0; font-weight: 700; position: relative; list-style: none; min-height: 44px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 6px; top: 14px; font: 1.4rem var(--mono); color: var(--ochre); transition: transform .3s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div { padding: 0 0 18px; color: #d9cdb9; max-width: 72ch; }

/* forms */
form .row { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.fld { display: grid; gap: 6px; margin-bottom: 14px; }
.fld label, .fld legend { font-weight: 700; font-size: .92rem; }
.fld input, .fld select, .fld textarea { width: 100%; min-height: 48px; padding: 12px 14px; background: var(--ground); color: var(--ink); border: 1px solid rgba(243, 234, 219, .24); border-radius: var(--r); font: inherit; font-size: 1rem; }
.fld textarea { min-height: 120px; resize: vertical; }
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color: var(--ochre); outline: none; box-shadow: 0 0 0 3px rgba(227, 163, 59, .25); }
.fld .err { color: #ff9b7f; font-size: .85rem; min-height: 0; }
.fld.bad input, .fld.bad select, .fld.bad textarea { border-color: #ff9b7f; }
fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.opts { display: flex; flex-wrap: wrap; gap: 8px; }
.opts label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--r); cursor: pointer; font-weight: 400; }
.opts input { accent-color: var(--ochre); width: 18px; height: 18px; min-height: 0; }
.opts label:has(input:checked) { border-color: var(--ochre); background: rgba(227, 163, 59, .1); }
.thanks { display: none; padding: 28px; border: 1px solid var(--ochre); border-radius: 6px; background: rgba(227, 163, 59, .08); }
.thanks.on { display: block; }
.thanks h3 { color: var(--ochre); }
form.done > :not(.thanks) { display: none; }
input[type=range] { accent-color: var(--ochre); width: 100%; min-height: 44px; }

/* page hero (inner pages) */
.phero { position: relative; padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 6vw, 72px); overflow: hidden; border-bottom: 1px solid var(--line); }
.phero::before { content: ''; position: absolute; inset: -20% -10% auto auto; width: 70%; height: 140%; background: conic-gradient(from 200deg at 80% 0, transparent, rgba(227, 163, 59, .14) 14deg, transparent 30deg, rgba(164, 147, 255, .1) 44deg, transparent 60deg); pointer-events: none; }
.phero .wrap { position: relative; display: grid; gap: clamp(24px, 4vw, 56px); }
@media (min-width: 980px) { .phero .wrap.has-ph { grid-template-columns: 1.1fr .9fr; align-items: end; } }
.phero h1 { view-transition-name: hero-title; max-width: 16ch; }
.crumb { font-size: .85rem; color: var(--muted); margin-bottom: 18px; }
.crumb a { color: var(--muted); }
.phero .ph { --ar: 5/4; }
.facts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 18px 0 24px; padding: 0; list-style: none; }
.facts li { display: flex; align-items: center; gap: 8px; color: #e3d8c6; }
.facts svg { width: 20px; height: 20px; color: var(--ochre); }

/* gallery */
.gal { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gal > * { min-width: 0; }
@media (min-width: 760px) { .gal { grid-template-columns: repeat(4, minmax(0, 1fr)); } .gal .w2 { grid-column: span 2; } .gal .h2 { grid-row: span 2; } }
.gal button { padding: 0; border: 0; background: none; cursor: zoom-in; display: block; width: 100%; height: 100%; border-radius: var(--r); }
.gal .ph { height: 100%; --ar: 1; }
.gal .h2 .ph { --ar: 1/2; }
.gal .w2 .ph { --ar: 2/1; }
.gal .w2.h2 .ph { --ar: 1; }
.lb { position: fixed; inset: 0; z-index: 200; background: rgba(5, 4, 3, .94); display: none; place-items: center; padding: 70px 16px 24px; }
.lb.on { display: grid; }
.lb figure { margin: 0; max-width: 1100px; width: 100%; }
.lb .ph { --ar: 3/2; }
.lb figcaption { padding: 12px 0; color: var(--muted); }
.lb-x, .lb-p, .lb-n { position: absolute; background: var(--raise); color: var(--ink); border: 1px solid var(--line); width: 48px; height: 48px; border-radius: 50%; cursor: pointer; font-size: 1.2rem; }
.lb-x { top: 64px; right: 16px; } .lb-p { left: 16px; top: 50%; } .lb-n { right: 16px; top: 50%; }

/* seat map */
.seatmap { display: grid; gap: 24px; }
@media (min-width: 1000px) { .seatmap { grid-template-columns: 1.3fr .7fr; align-items: start; } }
.seatmap svg { width: 100%; height: auto; background: #110d09; border: 1px solid var(--line); border-radius: 6px; }
.seatmap [data-sec] { cursor: pointer; transition: fill .2s, opacity .2s; }
.seatmap [data-sec]:hover, .seatmap [data-sec]:focus { opacity: .85; outline: none; stroke: #fff; stroke-width: 2; }
.seatmap [data-sec].sel { stroke: #fff; stroke-width: 3; }
.seatpanel { position: sticky; top: 80px; }
.legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: .85rem; color: var(--muted); margin-top: 10px; }
.legend i { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }

/* wizard */
.wiz-steps { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 22px; counter-reset: s; flex-wrap: wrap; }
.wiz-steps li { counter-increment: s; flex: 1; min-width: 120px; padding: 10px 12px; border-top: 3px solid var(--line); color: var(--muted); font-size: .85rem; }
.wiz-steps li::before { content: counter(s, decimal-leading-zero) ' '; font-family: var(--mono); }
.wiz-steps li.on { border-color: var(--ochre); color: var(--ink); }
.wiz-steps li.done { border-color: var(--ochre-d); }
.wiz-p { display: none; }
.wiz-p.on { display: block; }
.sum { background: var(--raise); border-radius: var(--r); padding: 18px; }
.sum dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 0; }
.sum dt { color: var(--muted); }
.sum dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.sum .tot { border-top: 1px solid var(--line); padding-top: 10px; font-weight: 700; color: var(--ink); }

/* drawer */
.drawer { position: fixed; z-index: 120; top: var(--top); right: 0; bottom: 0; width: min(420px, 100vw); background: var(--surface); border-left: 1px solid var(--line); transform: translateX(102%); transition: transform .35s var(--ease); display: flex; flex-direction: column; }
.drawer.on { transform: none; box-shadow: -30px 0 80px rgba(0, 0, 0, .5); }
.drawer header { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.drawer header h2 { font-size: 1.3rem; margin: 0; }
.drawer .items { flex: 1; overflow-y: auto; padding: 8px 20px; }
.drawer .it { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.drawer .it small { color: var(--muted); }
.drawer .it button { background: none; border: 0; color: var(--muted); cursor: pointer; text-decoration: underline; padding: 0; min-height: 32px; text-align: left; }
.drawer footer { padding: 18px 20px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.empty { color: var(--muted); padding: 30px 0; text-align: center; }

/* cta band */
.cta { position: relative; overflow: hidden; border-radius: 8px; padding: clamp(36px, 6vw, 80px); background: radial-gradient(70% 120% at 85% 0%, rgba(227, 163, 59, .3), transparent 60%), radial-gradient(60% 100% at 10% 100%, rgba(164, 147, 255, .18), transparent 60%), var(--surface); border: 1px solid var(--line); }
.cta h2 { max-width: 20ch; }

/* ai line card */
.ailine { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; padding: 22px; border-radius: 8px; background: linear-gradient(120deg, #241a0e, #17120c); border: 1px solid rgba(227, 163, 59, .35); }
.ailine .wave { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--ochre); color: var(--ground); }
.ailine .wave svg { width: 30px; height: 30px; }
.ailine b { display: block; font-size: 1.05rem; }
.ailine a { font: 1.2rem var(--mono); color: var(--ochre); text-decoration: none; display: inline-block; margin-top: 4px; }
.bars { display: inline-flex; gap: 3px; align-items: end; height: 16px; margin-left: 8px; vertical-align: middle; }
.bars i { width: 3px; background: var(--ochre); animation: eq 1s ease-in-out infinite; height: 40%; }
.bars i:nth-child(2) { animation-delay: -.3s; } .bars i:nth-child(3) { animation-delay: -.6s; } .bars i:nth-child(4) { animation-delay: -.15s; }
@keyframes eq { 50% { height: 100%; } }

/* map placeholder */
.map { position: relative; aspect-ratio: 16/10; border-radius: 6px; overflow: hidden; background: #120e09; border: 1px solid var(--line); }
.map svg { width: 100%; height: 100%; }

/* footer */
.foot { background: #090705; border-top: 1px solid var(--line); padding: 56px 0 28px; margin-top: 0; }
.foot-g { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.foot h3 { font-size: 1rem; margin-bottom: 12px; color: var(--ochre); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.foot ul a { color: #d8ccb8; text-decoration: none; display: inline-flex; min-height: 34px; align-items: center; }
.foot ul a:hover { color: var(--ochre); }
.foot-b { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: center; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); font-size: .85rem; color: var(--muted); }
.toggle { display: inline-flex; align-items: center; gap: 10px; background: none; border: 1px solid var(--line); color: var(--ink); border-radius: 999px; padding: 6px 14px 6px 6px; cursor: pointer; font: inherit; min-height: 44px; }
.toggle i { width: 36px; height: 22px; border-radius: 11px; background: var(--raise); position: relative; transition: background .2s; }
.toggle i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--muted); transition: transform .2s, background .2s; }
.toggle[aria-pressed="true"] i { background: var(--ochre-d); }
.toggle[aria-pressed="true"] i::after { transform: translateX(14px); background: var(--ink); }

/* chat widget */
.vb-launch { position: fixed; right: 20px; bottom: 20px; z-index: 90; display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px 0 8px; border-radius: 999px; background: var(--ink); color: var(--ground); border: 0; cursor: pointer; font: 700 .95rem var(--body); box-shadow: 0 12px 40px rgba(0, 0, 0, .5); }
.vb-launch span.av { width: 42px; height: 42px; border-radius: 50%; background: var(--ochre); display: grid; place-items: center; }
.vb-launch svg { width: 22px; height: 22px; }
@media (max-width: 1023px) { .vb-launch { display: none; } }
.vb { position: fixed; right: 20px; bottom: 20px; z-index: 130; width: min(400px, calc(100vw - 24px)); height: min(640px, calc(100svh - 90px)); background: var(--surface); border: 1px solid var(--line); border-radius: 12px; display: none; flex-direction: column; box-shadow: 0 30px 90px rgba(0, 0, 0, .6); overflow: hidden; }
.vb.on { display: flex; }
@media (max-width: 1023px) { .vb { right: 12px; left: 12px; width: auto; bottom: 70px; height: calc(100svh - 140px); } }
.vb header { padding: 14px 16px; background: var(--raise); display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.vb header b { display: block; font-size: .98rem; }
.vb header small { color: var(--muted); font-size: .78rem; }
.vb header button { margin-left: auto; }
.vb .log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.msg { max-width: 86%; padding: 10px 14px; border-radius: 14px; font-size: .95rem; line-height: 1.45; }
.msg.bot { background: var(--raise); border-bottom-left-radius: 4px; }
.msg.me { background: var(--ochre); color: #1a1206; align-self: flex-end; border-bottom-right-radius: 4px; }
.msg .rc { margin-top: 8px; padding: 10px; border: 1px dashed rgba(243, 234, 219, .3); border-radius: 8px; font-size: .88rem; }
.vb .chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 10px; }
.vb .chips button { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(227, 163, 59, .5); background: none; color: var(--ochre); cursor: pointer; font: 700 .85rem var(--body); }
.vb form { display: flex; gap: 8px; padding: 12px 16px 16px; border-top: 1px solid var(--line); }
.vb form input { flex: 1; min-height: 44px; padding: 0 12px; background: var(--ground); border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); font: inherit; }
.typing { display: inline-flex; gap: 4px; } .typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); animation: eq 1s infinite; }

/* Receivly modal (Receivly's own neutral look) */
.rv { position: fixed; inset: 0; z-index: 300; background: rgba(5, 4, 3, .78); display: none; place-items: center; padding: 60px 12px 12px; }
.rv.on { display: grid; }
.rv-box { width: min(440px, 100%); max-height: calc(100svh - 72px); overflow-y: auto; background: #fbfaf7; color: #17140f; border-radius: 14px; box-shadow: 0 40px 100px rgba(0, 0, 0, .6); font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; }
.rv-hd { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #e8e4dc; }
.rv-logo { display: flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: -.01em; }
.rv-logo i { width: 26px; height: 26px; border-radius: 7px; background: #0f6b5c; display: grid; place-items: center; color: #fff; font-style: normal; font-size: .85rem; }
.rv-hd button { background: none; border: 0; font-size: 1.4rem; cursor: pointer; color: #555; width: 44px; height: 44px; }
.rv-bd { padding: 18px 20px 22px; }
.rv-amt { font-size: 1.9rem; font-weight: 800; margin: 2px 0 2px; }
.rv-for { color: #5d574d; font-size: .9rem; margin-bottom: 16px; }
.rv-tabs { display: grid; grid-template-columns: 1fr 1fr; background: #efece5; border-radius: 10px; padding: 4px; margin-bottom: 16px; }
.rv-tabs button { min-height: 42px; border: 0; background: none; border-radius: 8px; font: 600 .92rem system-ui, sans-serif; cursor: pointer; color: #3d382f; }
.rv-tabs button[aria-selected="true"] { background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .12); color: #0f6b5c; }
.rv label { display: block; font-size: .8rem; font-weight: 600; color: #5d574d; margin: 10px 0 4px; }
.rv input { width: 100%; min-height: 46px; border: 1px solid #d6d1c6; border-radius: 8px; padding: 0 12px; font: 1rem system-ui, sans-serif; background: #fff; color: #17140f; }
.rv .r2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rv-bank { background: #f2efe8; border-radius: 10px; padding: 14px; font-size: .92rem; line-height: 1.7; }
.rv-bank b { font-size: 1.1rem; letter-spacing: .04em; }
.rv-go { width: 100%; min-height: 50px; margin-top: 16px; border: 0; border-radius: 10px; background: #0f6b5c; color: #fff; font: 700 1rem system-ui, sans-serif; cursor: pointer; }
.rv-go:hover { background: #0b5549; }
.rv-ft { font-size: .76rem; color: #6b6457; text-align: center; margin-top: 12px; }
.rv-spin { width: 46px; height: 46px; border: 4px solid #d9e9e5; border-top-color: #0f6b5c; border-radius: 50%; margin: 28px auto 14px; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.rv-ok { width: 56px; height: 56px; border-radius: 50%; background: #0f6b5c; color: #fff; display: grid; place-items: center; margin: 8px auto 12px; font-size: 1.6rem; }
.rv-rc { border: 1px dashed #cfc8ba; border-radius: 10px; padding: 14px; font-size: .9rem; }
.rv-rc div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.rv-rc div span:first-child { color: #6b6457; }
.rv a.rv-dl { display: block; text-align: center; margin-top: 12px; color: #0f6b5c; font-weight: 700; }

/* account */
.acct-grid { display: grid; gap: 18px; }
@media (min-width: 1000px) { .acct-grid { grid-template-columns: 1fr 1fr; } .acct-grid .wide { grid-column: 1 / -1; } }
.tix { display: grid; gap: 12px; }
.tk { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--ground); align-items: center; }
.tk svg.qr { width: 72px; height: 72px; background: #f3eadb; padding: 4px; border-radius: 4px; }
.st { display: inline-block; font: 700 .72rem/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 3px; }
.st.ok { background: rgba(120, 200, 140, .14); color: #8fe0a4; }
.st.due { background: rgba(242, 100, 61, .16); color: #ff9b7f; }
.st.up { background: rgba(227, 163, 59, .14); color: var(--ochre); }
.st.past { background: var(--raise); color: var(--muted); }
.tl.small li { padding-bottom: 18px; }
.msgs { display: grid; gap: 10px; }
.msgs .m { padding: 12px 14px; background: var(--ground); border: 1px solid var(--line); border-radius: 6px; }
.msgs .m small { color: var(--muted); display: block; margin-bottom: 4px; }

/* charts */
.chart { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 20px; }
.chart svg { width: 100%; height: auto; overflow: visible; }
.chart .ln { fill: none; stroke: var(--ochre); stroke-width: 2.5; stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: draw 2.2s var(--ease) forwards .3s; }
.chart .ln.v { stroke: var(--violet); }
@keyframes draw { to { stroke-dashoffset: 0; } }
.chart text { fill: var(--muted); font: 11px var(--body); }
.chart .grid line { stroke: rgba(243, 234, 219, .08); }
.chart .bar { fill: var(--ochre); transform-origin: bottom; transform-box: fill-box; animation: grow 1.2s var(--ease) both; }
.chart .bar.v { fill: var(--violet); }
@keyframes grow { from { transform: scaleY(0); } }

/* article */
.prose { max-width: 70ch; }
.prose h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin-top: 1.6em; }
.prose p, .prose li { color: #e1d6c4; }
.prose blockquote { margin: 1.6em 0; padding-left: 20px; border-left: 3px solid var(--ochre); font: 1.25rem/1.4 var(--mono); }

/* low data and reduced motion */
.lowdata .marquee-t, .lowdata .still .beam, .lowdata .bars i, .lowdata .live-tag i { animation: none; }
.lowdata .hero-canvas { display: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
  .chart .ln { stroke-dashoffset: 0; }
}
@media print { .rail, .topbar, .chips-ix, .bottombar, .vb, .vb-launch, .live, .foot, #covorn-ribbon, #covorn-ribbon-space { display: none !important; } .col { margin: 0; } body { background: #fff; color: #000; } }

/* calendar */
.cal-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cal-bar h3 { margin: 0; }
#cal-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal-h { font: 700 .72rem var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 6px 4px; }
.cal-d { min-height: 92px; background: var(--surface); border: 1px solid var(--line); border-radius: 3px; padding: 6px; font-size: .8rem; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cal-d span { color: var(--muted); font-family: var(--mono); }
.cal-d.has { border-color: rgba(227, 163, 59, .6); background: linear-gradient(160deg, rgba(227, 163, 59, .14), var(--surface)); }
.cal-d a { color: var(--ink); font-weight: 700; text-decoration: none; line-height: 1.25; overflow-wrap: anywhere; }
.cal-d a:hover { color: var(--ochre); }
.cal-d.priv small { color: var(--violet); }
@media (max-width: 640px) { .cal-d { min-height: 64px; padding: 4px; font-size: .68rem; } .cal-d a { font-size: .68rem; } }
.toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 20px; }
.toolbar .fld { margin: 0; flex: 1 1 240px; }
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.seg button { min-height: 44px; padding: 0 16px; background: none; border: 0; color: var(--muted); font: 700 .88rem var(--body); cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--raise); color: var(--ochre); }
.menu-list { display: grid; gap: 0; }
.menu-it { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; padding: 18px 0; border-bottom: 1px dashed rgba(243, 234, 219, .18); }
.menu-it h4 { margin: 0; }
.menu-it p { margin: 0; color: var(--muted); font-size: .94rem; grid-column: 1; }
.menu-it .pr { font: 1.05rem var(--mono); color: var(--ochre); text-align: right; }
.menu-it button { grid-column: 2; grid-row: 2; justify-self: end; }
.iconset { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 12px; }
.iconset div { padding: 18px; border: 1px solid var(--line); border-radius: var(--r); text-align: center; font-size: .88rem; color: var(--muted); }
.iconset svg { width: 44px; height: 44px; color: var(--ochre); margin: 0 auto 10px; display: block; }
.person { display: grid; gap: 10px; }
.person .ph { --ar: 4/5; }
.person b { display: block; }
.receipt-card { background: #fbfaf7; color: #17140f; border-radius: 10px; padding: clamp(22px, 4vw, 40px); max-width: 640px; }
.receipt-card h2 { color: #17140f; }
.receipt-card dl { display: grid; grid-template-columns: 1fr auto; gap: 10px 20px; margin: 18px 0; }
.receipt-card dt { color: #6b6457; }
.receipt-card dd { margin: 0; text-align: right; font-weight: 700; }
.split > *, .grid > *, .bento > *, .phero .wrap > *, .seatmap > *, .acct-grid > * { min-width: 0; }
.count[hidden] { display: none; }
.ph img { color: transparent; }
[hidden] { display: none !important; }
