
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Outfit:wght@400;500;600;700&display=swap');
:root{
  --ink:#0c1218; --night:#121a24; --foam:#e8eef5; --mute:#9aabbc; --sea:#3d8fd1;
  --amber:#e0a35a; --teal:#2f8f8a; --card:#182230; --hair:rgba(232,238,245,.12);
  --display:'Fraunces',Georgia,serif; --sans:'Outfit',system-ui,sans-serif;
  --pad:clamp(1rem,3.6vw,1.4rem); --safe-b:env(safe-area-inset-bottom,0px); --safe-r:env(safe-area-inset-right,0px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:
  radial-gradient(ellipse 58% 38% at 10% -8%,rgba(61,143,209,.18),transparent 55%),
  radial-gradient(ellipse 40% 28% at 92% 6%,rgba(224,163,90,.10),transparent 50%),
  linear-gradient(168deg,#080c12 0%,#121a24 48%,#0c1218 100%);
  color:var(--foam);font-family:var(--sans);line-height:1.64;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea)} a:hover{color:#7eb8e8}
.mast{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(8,12,18,.94);border-bottom:1px solid var(--hair)}
.mast-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem var(--pad);gap:.75rem;width:min(980px,100%);margin:0 auto}
.brand{font-family:var(--display);font-size:clamp(1.35rem,3.8vw,1.7rem);font-weight:700;color:var(--foam);text-decoration:none}
.brand em{font-style:normal;color:var(--amber);font-weight:700}
.mast-nav{display:flex;gap:.55rem;align-items:center}
.mast-nav a{color:var(--mute);text-decoration:none;font-size:.82rem;font-weight:600}
.mast-nav a:hover{color:var(--foam)}
.pill-go,.dock-go,.air-go{background:linear-gradient(135deg,var(--sea),var(--amber));color:#0a1016!important;font-weight:700;text-decoration:none;border-radius:.2rem;box-shadow:0 10px 26px rgba(61,143,209,.22)}
.pill-go{padding:.48rem 1rem;font-size:.82rem}
.stage{position:relative;min-height:clamp(270px,54vw,430px);display:grid;align-items:end;isolation:isolate;border-bottom:1px solid var(--hair)}
.stage-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.stage-bg img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(1.05) contrast(1.07)}
.stage::after{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(8,12,18,.2) 0%,rgba(8,12,18,.58) 48%,rgba(8,12,18,.96) 100%),
  linear-gradient(90deg,rgba(61,143,209,.12),transparent 58%)}
.stage-ink{position:relative;z-index:2;padding:1.5rem var(--pad) 1.25rem;width:min(980px,100%);margin:0 auto}
.kicker{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);font-weight:700;margin:0 0 .35rem}
.stage h1{font-family:var(--display);font-size:clamp(2rem,6vw,3.05rem);line-height:.98;margin:0 0 .45rem;color:#fff;font-weight:700}
.blurb{font-size:clamp(.95rem,2.5vw,1.05rem);color:rgba(232,238,245,.88);margin:0 0 .85rem;max-width:34rem}
.acts{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.air-go{padding:.72rem 1.2rem;font-size:.92rem;display:inline-flex}
.ghost{color:var(--foam);font-weight:650;text-decoration:none;border-bottom:1px dashed rgba(232,238,245,.35);padding:.15rem 0}
.fine{font-size:.74rem;color:rgba(154,171,188,.92);margin:.6rem 0 0;max-width:36rem}
.faerge{padding:.45rem 0 .7rem;overflow:hidden;background:rgba(0,0,0,.28);border-bottom:1px solid var(--hair)}
.faerge-track{display:flex;gap:.5rem;overflow-x:auto;padding:.55rem var(--pad) .85rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.faerge-track::-webkit-scrollbar{display:none}
.billet{flex:0 0 auto;scroll-snap-align:start;text-decoration:none;color:var(--foam);
  background:linear-gradient(180deg,#1e2a38,#141c28);border:1px solid rgba(61,143,209,.35);
  border-radius:.25rem;min-width:9.6rem;padding:.55rem .75rem .6rem;box-shadow:0 8px 0 rgba(0,0,0,.3);
  display:grid;gap:.1rem;position:relative}
.billet::before{content:"";position:absolute;left:-1px;top:42%;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 1px rgba(232,238,245,.15)}
.billet::after{content:"";position:absolute;right:-1px;top:42%;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 1px rgba(232,238,245,.15)}
.billet .code{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-weight:800}
.billet .lab{font-size:.88rem;font-weight:700;white-space:nowrap}
.billet.is-here,.billet:hover{border-color:var(--sea);transform:translateY(-1px);color:#fff}
.kai{padding:.15rem 0 calc(5.4rem + var(--safe-b));width:min(980px,100%);margin:0 auto}
.ticket{padding:1.05rem var(--pad);border-bottom:1px solid var(--hair)}
.ticket-card{background:var(--card);border:1px solid var(--hair);border-radius:.2rem;padding:1rem 1.05rem;margin:.5rem 0;box-shadow:0 14px 30px rgba(0,0,0,.28);position:relative}
.ticket-card::before{content:"";position:absolute;left:0;top:.7rem;bottom:.7rem;width:3px;background:linear-gradient(180deg,var(--sea),var(--amber));border-radius:2px}
.ticket h2{font-family:var(--display);font-size:clamp(1.35rem,3.8vw,1.75rem);margin:0 0 .4rem;color:#fff;font-weight:700}
.ticket h3{font-size:1.02rem;margin:.8rem 0 .28rem;color:var(--amber);font-weight:650}
.ticket p{color:var(--mute);margin:0 0 .65rem}
.ticket .lede{font-size:1.05rem;color:var(--foam);margin:0 0 .7rem;max-width:42rem}
.ticket ul,.ticket ol{padding-left:1.15rem;color:var(--mute)}
.ticket li{margin:.22rem 0}
.ticket blockquote{margin:.9rem 0;padding:.85rem 1rem;border-left:3px solid var(--amber);background:rgba(61,143,209,.08);font-family:var(--display);font-size:1.22rem;color:#fff;border-radius:0 .2rem .2rem 0;font-style:italic}
.ticket details{border:1px solid var(--hair);border-radius:.2rem;padding:.5rem .7rem;margin:.45rem 0;background:rgba(255,255,255,.03)}
.ticket summary{cursor:pointer;font-weight:700;color:#fff}
.ticket table{width:100%;border-collapse:collapse;margin:.9rem 0;font-size:.88rem;background:rgba(0,0,0,.22);border-radius:.15rem;overflow:hidden}
.ticket th,.ticket td{border:1px solid var(--hair);padding:.48rem .55rem;text-align:left}
.ticket th{background:rgba(61,143,209,.12);color:#fff}
.chiprow{list-style:none;padding:0;margin:.55rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.chiprow li{background:rgba(61,143,209,.08);border:1px solid rgba(61,143,209,.28);border-radius:.15rem;padding:.32rem .7rem;font-size:.8rem;color:var(--foam);font-weight:600}
.invite{background:linear-gradient(105deg,rgba(61,143,209,.14),rgba(224,163,90,.08));border-top:1px solid rgba(61,143,209,.28);border-bottom:1px solid rgba(224,163,90,.18)}
.invite p{color:#fff;font-weight:700;margin:0 0 .65rem}
.foot{border-top:1px solid var(--hair);padding:1.1rem var(--pad) calc(5rem + var(--safe-b));color:var(--mute);font-size:.8rem;width:min(980px,100%);margin:0 auto}
.foot nav{display:flex;flex-wrap:wrap;gap:.45rem .8rem;margin-bottom:.5rem}
.foot a{color:var(--mute);text-decoration:none;font-weight:600}
.dock-go{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.95rem 1.1rem calc(.95rem + var(--safe-b));font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.45rem;border-radius:0;text-align:center;animation:dockPulse 2.4s ease-in-out infinite}
@keyframes dockPulse{0%,100%{box-shadow:0 -8px 28px rgba(61,143,209,.18)}50%{box-shadow:0 -10px 36px rgba(224,163,90,.3)}}
@media(min-width:900px){
  .stage{min-height:410px}
  .faerge-track{padding-left:0;padding-right:0;width:min(980px,100%);margin:0 auto}
}
@media(max-width:899px){
  .mast-nav a:not(.pill-go):not(.mob){display:none}
}
