
:root{
  --accent:#0563ff;--page-bg:#ff7300;--bg-image:url('assets/cartel 2.jpg');--bg-opacity:.43;--bg-size:122% auto;
  --ui-font:Arial,Helvetica,sans-serif;--title-font:Trebuchet MS,Arial,sans-serif;--title-weight:900;--pad:clamp(18px,3vw,44px);
  --ticket-bg:#0563ff;--ticket-text:#ffffff;--ticket-radius:3px;--ticket-tilt:0deg;--ticket-shadow:0 10px 28px rgba(5,99,255,.22);
  --soldout-color:#ff2d55;--soldout-blur:2px;--soldout-opacity:.62;--soldout-rotation:-4deg;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#111;font-family:var(--ui-font);min-height:100vh;background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.35),transparent 28%),radial-gradient(circle at 78% 70%,rgba(255,255,255,.22),transparent 25%),var(--page-bg)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.18;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--bg-image);background-size:var(--bg-size);background-position:right center;background-repeat:repeat;opacity:var(--bg-opacity);mix-blend-mode:multiply}
.interior-header,.tour-shell{position:relative;z-index:1}.tour-shell{max-width:1260px;margin:0 auto;padding:28px var(--pad) 90px}.tour-section{padding:24px 0 20px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head h1{margin:0;font-family:var(--title-font);font-weight:var(--title-weight);letter-spacing:-.06em;line-height:.86;color:var(--accent);font-size:clamp(76px,11vw,164px)}
.tour-list{border-top:1.5px solid var(--accent)}.tour-row{display:grid;grid-template-columns:110px 1.2fr 1fr 80px auto;align-items:center;gap:20px;min-height:112px;border-bottom:1.5px solid var(--accent);position:relative;transition:background .2s ease,transform .2s ease}.tour-row:hover{background:rgba(5,99,255,.055)}.date{display:flex;align-items:flex-end;gap:7px;color:var(--accent)}.day{font:900 clamp(38px,5vw,58px)/.78 var(--title-font);letter-spacing:-.06em}.month{font:900 10px/1 var(--ui-font);letter-spacing:.12em;padding-bottom:3px}.city{font:900 clamp(25px,3.1vw,44px)/.9 var(--title-font);letter-spacing:-.04em;color:var(--accent)}.venue,.meta{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.ticket-button{position:relative;display:grid;grid-template-columns:minmax(118px,1fr) 56px;align-items:stretch;min-width:192px;height:66px;color:var(--ticket-text);text-decoration:none;border-radius:7px;overflow:hidden;isolation:isolate;transform:rotate(var(--ticket-tilt));transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;background:linear-gradient(135deg,rgba(7,98,255,.95) 0%,rgba(20,130,255,.92) 45%,rgba(38,196,255,.90) 100%);border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 10px 26px rgba(5,99,255,.18),0 0 22px rgba(5,99,255,.16);backdrop-filter:blur(6px)}
.ticket-button::before,.ticket-button::after{content:"";position:absolute;right:47px;width:16px;height:16px;border-radius:50%;background:var(--page-bg);z-index:5;box-shadow:0 0 0 1px rgba(255,255,255,.06)}.ticket-button::before{top:-8px}.ticket-button::after{bottom:-8px}
.ticket-button .ticket-main,.ticket-button .ticket-stub{position:relative;z-index:2}
.ticket-button .ticket-main::before{content:"";position:absolute;left:10px;right:10px;top:8px;bottom:8px;border:1px solid rgba(255,255,255,.14);border-radius:4px;opacity:.55;pointer-events:none}
.ticket-button::marker{display:none}
.ticket-main{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 17px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0))}.ticket-main small{font:800 7px/1 var(--ui-font);letter-spacing:.19em;opacity:.78;text-shadow:0 0 8px rgba(255,255,255,.12)}.ticket-main strong{font:900 11px/1 var(--ui-font);letter-spacing:.17em;color:#bff3ff;text-shadow:0 0 6px rgba(191,243,255,.55),0 0 14px rgba(94,228,255,.58),0 0 24px rgba(5,99,255,.28)}.ticket-main::after{content:"";position:absolute;right:0;top:7px;bottom:7px;border-right:1px dashed rgba(255,255,255,.72)}
.ticket-stub{display:grid;grid-template-rows:1fr auto;place-items:center;padding:8px 7px 7px;gap:3px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03))}.barcode{width:30px;height:24px;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 3px,currentColor 3px 5px,transparent 5px 7px);opacity:.82}.ticket-arrow{font-size:18px;line-height:1;filter:drop-shadow(0 0 8px rgba(255,255,255,.18))}
.ticket-button:hover{transform:translateY(-2px) rotate(calc(var(--ticket-tilt) - .7deg));box-shadow:0 0 0 1px rgba(255,255,255,.09) inset,0 14px 30px rgba(5,99,255,.24),0 0 28px rgba(42,188,255,.20);filter:saturate(1.04)}
.is-soldout .date,.is-soldout .city,.is-soldout .venue,.is-soldout .meta{filter:blur(var(--soldout-blur));opacity:var(--soldout-opacity)}.soldout{justify-self:end;position:relative;font:900 11px/1 var(--ui-font);letter-spacing:.13em;color:var(--soldout-color);border:2px solid currentColor;padding:15px 17px;transform:rotate(var(--soldout-rotation));box-shadow:0 0 0 4px rgba(255,255,255,.08),0 0 22px color-mix(in srgb,var(--soldout-color) 34%,transparent);background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}.soldout::before{content:"";position:absolute;inset:5px;border:1px dashed currentColor;opacity:.58;pointer-events:none}
@media(max-width:900px){.tour-row{grid-template-columns:90px 1fr 1fr auto}.meta{display:none}}
@media(max-width:650px){.tour-shell{padding-top:12px}.tour-row{grid-template-columns:72px 1fr;gap:10px 14px;padding:18px 0}.venue{grid-column:2}.ticket-button,.soldout{grid-column:2;justify-self:start}.ticket-button{margin-top:6px}.section-head h1{font-size:clamp(70px,23vw,116px)}}
